Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 455.99 KB | None | 0 0
  1. [15:02:50] Initialized Wii U memory space. Base: 0x1b3fe280000
  2. [15:02:50] ------- Init Cemu 1.15.12b -------
  3. [15:02:50] mlc01 path: C:\Users\tony\Documents\My Games\Cemu\DATA\EMULATORS\Cemu\BIN\mlc01\
  4. [15:02:50] Cemuhook version: 0.5.7.3
  5. [15:02:50] CPU: Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
  6. [15:02:50] RAM: 8124MB
  7. [15:02:50] Used CPU extensions: SSSE3, SSE4.1, AVX2, AES-NI
  8. [15:02:51] Loading U-King.rpx
  9. [15:02:51] Creating OpenGL canvas
  10. [15:02:52] Loaded RPL module u-king (checksum 0x6267BFD0)
  11. [15:02:52] Thread quantum set to 100000
  12. [15:02:52] ------- Loaded title -------
  13. [15:02:52] TitleId: 00050000-101c9500
  14. [15:02:52] TitleVersion: v208
  15. [15:02:52] Update path: <mlc01>\usr\title\00050000\101C9500\
  16. [15:02:52] AOC path: <mlc01>\usr\title\00050000\101C9500\aoc\
  17. [15:02:52] Save path: <mlc01>\usr\save\00050000\101C9500\user\
  18. [15:02:52] shaderCache name: dcac9927
  19. [15:02:52] gameprofile path: gameProfiles\00050000101c9500.ini
  20. [15:02:52] RPX hash: fb7911ad
  21. [15:02:52] Loaded module 'u-king' with checksum 0x6267bfd0
  22. [15:02:52] RPL link time: 109ms
  23. [15:02:52] HLE scan time: 78ms
  24. [15:02:52] ------- Active settings -------
  25. [15:02:52] CPU-Mode: Triple-core recompiler (gameprofile)
  26. [15:02:52] Load shared libraries: true (gameprofile)
  27. [15:02:52] GPUBufferCacheAccuracy: low (gameprofile)
  28. [15:02:52] Use precompiled shaders: true (gameprofile)
  29. [15:02:52] Full sync at GX2DrawDone: true
  30. [15:02:52] ------- Init OpenGL graphics backend -------
  31. [15:02:52] GL_VENDOR: NVIDIA Corporation
  32. [15:02:52] GL_RENDERER: GeForce RTX 2060/PCIe/SSE2
  33. [15:02:52] GL_VERSION: 4.6.0 NVIDIA 436.30
  34. [15:02:52] Using precompiled shaders: true
  35. [15:02:52] OpenGL extensions:
  36. [15:02:52] ARB_clip_control: available
  37. [15:02:52] ARB_get_program_binary: available
  38. [15:02:52] ARB_clear_texture: available
  39. [15:02:52] ARB_copy_image: available
  40. [15:02:52] NV_depth_buffer_float: available
  41. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/No Ambient Occlusion
  42. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/No Depth of Field
  43. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Anti-Aliasing [Preset: Alternative FXAA (Nvidia's implementation)]
  44. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Kakariko Torch Shadows
  45. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/LWZX Crash
  46. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds/Nvidia: Explosion Smoke
  47. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Clouds
  48. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Resolution [Preset: 1920x1080 (16:9)]
  49. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Dynamic Gamespeed (Required) [Preset: 32 Frames Averaged]
  50. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Fence Method (Required) [Preset: Performance Fence]
  51. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required) [Preset: 120FPS (ideal for 240/120/60Hz displays)]
  52. [15:02:52] Set vsync frequency to 120 (graphic pack The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required))
  53. [15:02:52] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/NPC Stutter Fix (CPU Occlusion Query)
  54. [15:02:52] ------- Init Audio backend -------
  55. [15:02:52] DirectSound: available
  56. [15:02:52] XAudio 2.8: available
  57. [15:02:52] ------- Run title -------
  58. [15:03:03] Link error in shader. Log:
  59. [15:03:03] Vertex info
  60. -----------
  61. Internal error: assembly compile error for vertex shader at offset 2115:
  62. -- error message --
  63. line 44, column 45: error: invalid vertex attribute reference
  64. line 78, column 25: error: invalid vertex attribute reference
  65. line 79, column 25: error: invalid vertex attribute reference
  66. line 81, column 25: error: invalid vertex attribute reference
  67. line 85, column 25: error: invalid vertex attribute reference
  68. -- internal assembly text --
  69. !!NVvp5.0
  70. OPTION NV_internal;
  71. OPTION NV_gpu_program_fp64;
  72. OPTION NV_bindless_texture;
  73. # cgc version 3.4.0001, build date Sep 5 2019
  74. # command line args:
  75. #vendor NVIDIA Corporation
  76. #version 3.4.0.1 COP Build Date Sep 5 2019
  77. #profile gp5vp
  78. #program main
  79. #semantic textureUnitVS13 : TEXUNIT[0]
  80. #semantic uf_remappedVS
  81. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  82. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  83. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  84. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  85. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  86. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  87. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 1
  88. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  89. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  90. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  91. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 0
  92. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 0
  93. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 0
  94. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  95. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  96. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  97. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  98. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  99. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  100. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  101. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  102. #var float4 passParameterSem11 : $vout.ATTR6 : ATTR6 : -1 : 1
  103. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  104. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  105. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  106. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  107. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  108. #var ulong textureUnitVS13 : TEXUNIT[0] : c[51] : -1 : 1
  109. #var int4 uf_remappedVS[0] : : c[0], 51 : -1 : 1
  110. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  111. PARAM c[52] = { program.local[0..51] };
  112. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  113. OUTPUT result_attrib[] = { result.attrib[0..7] };
  114. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30;
  115. LONG TEMP D0;
  116. TEMP T;
  117. TEMP RC;
  118. SHORT TEMP HC;
  119. SHR.U R1, vertex.attrib[11], {8, 0, 0, 0}.x;
  120. SHL.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  121. AND.U R1, R1, {65280, 0, 0, 0}.x;
  122. SHR.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  123. OR.U R2, R2, R1;
  124. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  125. OR.U R1, R2, R1;
  126. SHL.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  127. OR.U R3, R1, R0;
  128. SHR.U R1, vertex.attrib[14], {8, 0, 0, 0}.x;
  129. SHL.U R0, vertex.attrib[14], {8, 0, 0, 0}.x;
  130. AND.U R1, R1, {65280, 0, 0, 0}.x;
  131. SHR.U R2, vertex.attrib[14], {24, 0, 0, 0}.x;
  132. OR.U R2, R2, R1;
  133. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  134. OR.U R1, R2, R1;
  135. SHL.U R0, vertex.attrib[14], {24, 0, 0, 0}.x;
  136. OR.U R4, R1, R0;
  137. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  138. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  139. AND.U R1, R1, {65280, 0, 0, 0}.x;
  140. SHR.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  141. OR.U R2, R2, R1;
  142. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  143. OR.U R1, R2, R1;
  144. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  145. OR.U R21, R1, R0;
  146. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  147. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  148. AND.U R1, R1, {65280, 0, 0, 0}.x;
  149. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  150. OR.U R2, R2, R1;
  151. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  152. OR.U R1, R2, R1;
  153. SHL.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  154. OR.U R5, R1, R0;
  155. MOV.U R0.y, R21.w;
  156. MOV.F R0.x, c[0];
  157. ADD.F32 R7.x, -R0.y, R0;
  158. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  159. MOV.S R13.w, R7.x;
  160. SGT.F32 R7.x, {0, 0, 0, 0}, R7;
  161. TRUNC.U R18.w, R7.x;
  162. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  163. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  164. AND.U R0, R0, {65280, 0, 0, 0}.x;
  165. OR.U R0, R2, R0;
  166. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  167. OR.U R0, R0, R2;
  168. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  169. OR.U R16, R0, R1;
  170. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  171. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  172. SHR.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  173. AND.U R1, R1, {65280, 0, 0, 0}.x;
  174. OR.U R1, R2, R1;
  175. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  176. OR.U R1, R1, R2;
  177. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  178. OR.U R9, R1, R0;
  179. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  180. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  181. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  182. AND.U R1, R1, {65280, 0, 0, 0}.x;
  183. OR.U R1, R2, R1;
  184. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  185. OR.U R1, R1, R2;
  186. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  187. OR.U R6, R1, R0;
  188. SHR.U R1, vertex.attrib[1], {8, 0, 0, 0}.x;
  189. SHL.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  190. SHR.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  191. AND.U R1, R1, {65280, 0, 0, 0}.x;
  192. OR.U R1, R2, R1;
  193. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  194. OR.U R1, R1, R2;
  195. SHL.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  196. OR.U R11, R1, R0;
  197. SHR.U R1, vertex.attrib[2], {8, 0, 0, 0}.x;
  198. SHL.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  199. SHR.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  200. AND.U R1, R1, {65280, 0, 0, 0}.x;
  201. OR.U R1, R2, R1;
  202. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  203. OR.U R1, R1, R2;
  204. SHL.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  205. OR.U R14, R1, R0;
  206. SHR.U R1.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  207. SHL.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  208. SHR.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  209. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  210. OR.U R1.xyz, R2, R1;
  211. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  212. OR.U R1.xyz, R1, R2;
  213. SHL.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  214. OR.U R19.xyz, R1, R0;
  215. SEQ.U R0.x, R18.w, {1, 0, 0, 0};
  216. MOV.U R0.y, R19.x;
  217. SEQ.U R24.x, -R0, {1, 0, 0, 0};
  218. MOV.F R0.w, R0.y;
  219. SHR.U R1.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  220. MOV.U.CC RC.x, -R24;
  221. SHL.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  222. SHR.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  223. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  224. OR.U R1.xyz, R2, R1;
  225. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  226. OR.U R1.xyz, R1, R2;
  227. SHL.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  228. OR.U R20.xyz, R1, R0;
  229. ADD.F32 R0.x, -R0.w, {1, 0, 0, 0};
  230. MOV.U R0.y, R19;
  231. MOV.F R0.w, R0.y;
  232. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  233. MOV.S R19.w, R0.x;
  234. SHR.U R1.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  235. SHL.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  236. SHR.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  237. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  238. OR.U R1.xyz, R2, R1;
  239. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  240. OR.U R1.xyz, R1, R2;
  241. SHL.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  242. OR.U R13.xyz, R1, R0;
  243. SHR.U R1.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  244. SHL.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  245. SHR.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  246. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  247. OR.U R1.xyz, R2, R1;
  248. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  249. OR.U R1.xyz, R1, R2;
  250. SHL.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  251. OR.U R15.xyz, R1, R0;
  252. MOV.S R27.y, R0.w;
  253. MOV.S R10, {0, 0, 0, 0}.x;
  254. MOV.S R12, {0, 0, 0, 0}.x;
  255. MOV.S R8, {0, 0, 0, 0}.x;
  256. MOV.S R1, {0, 0, 0, 0}.x;
  257. MOV.S R0, {0, 0, 0, 0}.x;
  258. MOV.S R2, {0, 0, 0, 0}.x;
  259. MOV.S R7, {0, 0, 0, 0}.x;
  260. MOV.S R23.xyz, {0, 0, 0, 0}.x;
  261. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  262. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  263. MOV.S R17.yzw, {0, 0, 0, 0};
  264. MOV.S R17.x, vertex.id;
  265. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  266. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  267. IF NE.x;
  268. MOV.F R0.z, c[1].y;
  269. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  270. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  271. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  272. MOV.S R0.z, R0;
  273. MOV.S R21.w, {1065353216, 0, 0, 0}.x;
  274. ENDIF;
  275. SEQ.U R18.w, R18, {0, 0, 0, 0}.x;
  276. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  277. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  278. MOV.U.CC RC.x, -R18.w;
  279. IF NE.x;
  280. MOV.S R21.w, {0, 0, 0, 0}.x;
  281. ENDIF;
  282. SEQ.S R18.w, R21, {0, 0, 0, 0}.x;
  283. SEQ.U R24.y, -R18.w, {1, 0, 0, 0}.x;
  284. MOV.U R24.x, -R18.w;
  285. SEQ.U R18.w, -R24.y, {1, 0, 0, 0}.x;
  286. MOV.U.CC RC.x, -R18.w;
  287. MOV.U R24.z, -R24.y;
  288. IF NE.x;
  289. MOV.F R17.x, R16.w;
  290. TRUNC.S R17.x, R17;
  291. I2F.S R24.y, R17.x;
  292. MOV.F R17.x, R13.w;
  293. SGE.F32 R17.x, R17, R24.y;
  294. TRUNC.U R18.w, R17.x;
  295. SEQ.U R17.x, R24.z, {1, 0, 0, 0};
  296. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  297. AND.U R18.w, -R18, -R17.x;
  298. MOV.S R17.x, R24.y;
  299. ELSE;
  300. MOV.U R18.w, {0, 0, 0, 0}.x;
  301. ENDIF;
  302. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  303. MOV.U.CC RC.x, -R18.w;
  304. IF NE.x;
  305. MOV.F R0.x, c[1].y;
  306. MUL.F32 R0.z, R0.x, {5, 0, 0, 0}.x;
  307. MOV.S R0.xy, {0, 0, 0, 0};
  308. MOV.S R0.z, R0;
  309. MOV.S R18.x, {0, 0, 0, 0};
  310. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  311. ENDIF;
  312. SEQ.U R24.x, R24, {1, 0, 0, 0};
  313. SEQ.U R18.w, -R24.x, {1, 0, 0, 0}.x;
  314. MOV.U.CC RC.x, -R18.w;
  315. MOV.U R24.z, -R24.x;
  316. IF NE.x;
  317. SEQ.S R24.x, R17.w, {0, 0, 0, 0};
  318. SEQ.U R18.w, R24.z, {1, 0, 0, 0}.x;
  319. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  320. AND.U R18.w, -R24.x, -R18;
  321. ELSE;
  322. MOV.U R18.w, {0, 0, 0, 0}.x;
  323. ENDIF;
  324. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  325. MOV.U.CC RC.x, -R24;
  326. IF NE.x;
  327. MOV.F R4.x, R9;
  328. MAX.F R4.x, R4, {0, 0, 0, 0};
  329. MOV.S R19.z, R4.x;
  330. MOV.F R4.x, c[4];
  331. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  332. TRUNC.U.CC HC.x, R4;
  333. MOV.F R4.y, c[3].z;
  334. MOV.F R4.z, R13.w;
  335. ADD.F32 R4.y, R4.z, R4;
  336. MOV.S R25.w, R4.y;
  337. AND.S R24.y, c[2].x, {4, 0, 0, 0}.x;
  338. AND.S R24.x, c[2], {2, 0, 0, 0};
  339. AND.S R29.z, c[2].x, {1, 0, 0, 0}.x;
  340. IF NE.x;
  341. MOV.F R10.y, {1, 0, 0, 0}.x;
  342. ELSE;
  343. MOV.F R10.y, {0, 0, 0, 0}.x;
  344. ENDIF;
  345. MOV.F R4.y, R9.x;
  346. MOV.F R4.z, c[5].y;
  347. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  348. MUL.F32 R10.x, R4.y, R4.z;
  349. TRUNC.U R4.y, R4.x;
  350. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  351. MOV.F R4.z, R10.y;
  352. TRUNC.U R4.x, R4;
  353. AND.U.CC HC.x, R4.y, R4;
  354. MOV.S R30.x, R4.z;
  355. IF NE.x;
  356. MOV.F R4.y, R10.x;
  357. ELSE;
  358. MOV.F R4.y, {0, 0, 0, 0}.x;
  359. ENDIF;
  360. MOV.F R4.x, c[4];
  361. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  362. TRUNC.U.CC HC.x, R4;
  363. MOV.S R28.y, R4;
  364. IF NE.x;
  365. MOV.F R10.x, {1, 0, 0, 0};
  366. ELSE;
  367. MOV.F R10.x, {0, 0, 0, 0};
  368. ENDIF;
  369. I2F.S R4.z, R29;
  370. MOV.F R4.x, R19.z;
  371. MIN.F R4.y, R4.x, {0, 0, 0, 0}.x;
  372. MOV.F R4.x, R13;
  373. ADD.F32 R4.y, R4.x, R4;
  374. MOV.F R4.x, R30;
  375. ADD.F32 R4.x, R4, -R10;
  376. MOV.S R17.y, R4.x;
  377. SGT.F32 R4.x, R4.z, {0, 0, 0, 0};
  378. TRUNC.U.CC HC.x, R4;
  379. MOV.S R27.z, R4;
  380. MOV.S R13.x, R4.y;
  381. IF NE.x;
  382. MOV.F R4.y, {1, 0, 0, 0}.x;
  383. ELSE;
  384. MOV.F R4.y, {0, 0, 0, 0}.x;
  385. ENDIF;
  386. MOV.F R4.x, R27.z;
  387. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  388. TRUNC.U.CC HC.x, R4;
  389. MOV.S R29.z, R4.y;
  390. IF NE.x;
  391. MOV.F R4.y, {1, 0, 0, 0}.x;
  392. ELSE;
  393. MOV.F R4.y, {0, 0, 0, 0}.x;
  394. ENDIF;
  395. I2F.S R4.x, R24;
  396. MOV.S R19.z, R4.x;
  397. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  398. TRUNC.U.CC HC.x, R4;
  399. MOV.S R29.w, R4.y;
  400. IF NE.x;
  401. MOV.F R10.x, {1, 0, 0, 0};
  402. ELSE;
  403. MOV.F R10.x, {0, 0, 0, 0};
  404. ENDIF;
  405. MOV.F R4.x, R17.y;
  406. ADD.F32 R4.x, -R4, {1, 0, 0, 0};
  407. MOV.S R26.y, R4.x;
  408. MOV.F R4.x, R19.z;
  409. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  410. TRUNC.U.CC HC.x, R4;
  411. MOV.F R4.y, R29.w;
  412. MOV.F R4.z, R29;
  413. ADD.F32 R4.y, R4.z, -R4;
  414. MOV.S R30.z, R4.y;
  415. MOV.F R4.y, R10.x;
  416. MOV.S R30.x, R4.y;
  417. IF NE.x;
  418. MOV.F R4.y, {1, 0, 0, 0}.x;
  419. ELSE;
  420. MOV.F R4.y, {0, 0, 0, 0}.x;
  421. ENDIF;
  422. I2F.S R4.x, R24.y;
  423. MOV.S R27.z, R4.x;
  424. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  425. TRUNC.U.CC HC.x, R4;
  426. MOV.S R30.w, R4.y;
  427. IF NE.x;
  428. MOV.F R4.y, {1, 0, 0, 0}.x;
  429. ELSE;
  430. MOV.F R4.y, {0, 0, 0, 0}.x;
  431. ENDIF;
  432. MOV.F R4.x, R27.z;
  433. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  434. TRUNC.U.CC HC.x, R4;
  435. MOV.S R29.x, R4.y;
  436. IF NE.x;
  437. MOV.F R10.x, {1, 0, 0, 0};
  438. ELSE;
  439. MOV.F R10.x, {0, 0, 0, 0};
  440. ENDIF;
  441. MOV.F R4.z, R29.x;
  442. ADD.F32 R4.z, R10.x, -R4;
  443. TRUNC.S R4.z, R4;
  444. MOV.F R4.y, R30.w;
  445. MOV.F R4.x, R30;
  446. ADD.F32 R4.x, R4.y, -R4;
  447. TRUNC.S R4.y, R4.x;
  448. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  449. MAX.S R4.x, R4.y, R4;
  450. I2F.S R4.x, R4;
  451. MOV.S R21.y, R4.x;
  452. MOV.F R4.x, R30.z;
  453. TRUNC.S R4.y, R4.x;
  454. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  455. MAX.S R4.x, R4.y, R4;
  456. ADD.S R4.y, -R4.z, {0, 0, 0, 0}.x;
  457. MAX.S R4.y, R4.z, R4;
  458. I2F.S R4.x, R4;
  459. MOV.S R25.x, R4;
  460. I2F.S R4.x, R4.y;
  461. MOV.F R4.z, R25.w;
  462. MOV.F R4.y, c[8].z;
  463. DIV.F32 R4.y, R4.z, R4.y;
  464. MOV.S R30.y, R4;
  465. MOV.F R4.y, R9.x;
  466. MOV.F R4.z, c[3].x;
  467. MOV.S R28.z, R4.x;
  468. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  469. MUL.F32 R10.z, R4.y, R4;
  470. TRUNC.U R4.y, R4.x;
  471. MOV.F R4.x, c[7].z;
  472. MOV.F R10.x, c[6].z;
  473. ADD.F32 R10.y, -R10.x, R4.x;
  474. MOV.F R10.x, c[6];
  475. MOV.F R4.x, c[7];
  476. ADD.F32 R4.x, -R10, R4;
  477. MOV.S R24.w, R4.x;
  478. MOV.F R4.x, c[7].y;
  479. MOV.F R10.x, c[6].y;
  480. MOV.S R24.z, R10.y;
  481. ADD.F32 R10.y, -R10.x, R4.x;
  482. MOV.F R10.x, c[6].w;
  483. MOV.F R4.x, c[7].w;
  484. ADD.F32 R4.x, -R10, R4;
  485. MOV.S R25.y, R4.x;
  486. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  487. MOV.F R10.x, c[4];
  488. RCP.F32 R4.z, R10.x;
  489. TRUNC.U R4.x, R4;
  490. AND.U.CC HC.x, R4.y, R4;
  491. MOV.S R24.y, R10;
  492. MOV.S R27.z, R4;
  493. IF NE.x;
  494. MOV.F R10.x, R10.z;
  495. ELSE;
  496. MOV.F R10.x, {0, 0, 0, 0};
  497. ENDIF;
  498. MOV.F R4.y, R13.w;
  499. MOV.F R4.x, R27.z;
  500. MUL.F32 R4.x, R4.y, R4;
  501. MOV.F R4.z, R28.y;
  502. MOV.S R4.x, R4;
  503. ADD.F32 R4.x, R4.z, R4;
  504. FRC.F32 R4.x, R4;
  505. MOV.F R4.z, R30.y;
  506. ADD.F32 R4.z, R10.x, R4;
  507. MOV.S R29.y, R4.x;
  508. MOV.F R4.x, R17;
  509. DIV.F32 R4.x, R4.y, R4.x;
  510. ADD.F32 R4.y, R4.z, {0.5, 0, 0, 0}.x;
  511. MOV.S R10.z, R4.x;
  512. MOV.F R4.x, R25.y;
  513. RCP.F32 R4.x, R4.x;
  514. FRC.F32 R4.z, R4;
  515. MOV.S R30.y, R4;
  516. ADD.F32 R4.y, R4.z, {-0.5, 0, 0, 0}.x;
  517. MOV.S R29.x, R4.y;
  518. MOV.S R28.w, R4.x;
  519. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  520. MOV.F R4.y, c[8].x;
  521. MUL.F32 R4.z, R4, -R4.y;
  522. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  523. TRUNC.U R4.x, R4;
  524. TRUNC.U R4.y, R4;
  525. AND.U.CC HC.x, R4.y, R4;
  526. MOV.S R10.xyw, {0, 0, 0, 0}.x;
  527. IF NE.x;
  528. MOV.F R12.y, R4.z;
  529. ELSE;
  530. MOV.F R12.y, {0, 0, 0, 0}.x;
  531. ENDIF;
  532. MOV.F R4.z, R26.y;
  533. MOV.F R4.x, R10.z;
  534. MUL.F32 R12.x, R4, R4.z;
  535. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  536. TRUNC.U R4.y, R4.x;
  537. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  538. ADD.F32 R4.z, R12.y, {1, 0, 0, 0}.x;
  539. TRUNC.U R4.x, R4;
  540. AND.U.CC HC.x, R4.y, R4;
  541. MOV.S R30.z, R4;
  542. IF NE.x;
  543. ELSE;
  544. MOV.F R12.x, {0, 0, 0, 0};
  545. ENDIF;
  546. MOV.F R4.x, R29.y;
  547. MOV.F R4.y, R17;
  548. MUL.F32 R4.z, R4.y, R4.x;
  549. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  550. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  551. TRUNC.U R4.y, R4;
  552. TRUNC.U R4.x, R4;
  553. AND.U.CC HC.x, R4.y, R4;
  554. MOV.S R25.w, R12.x;
  555. IF NE.x;
  556. ELSE;
  557. MOV.F R4.z, {0, 0, 0, 0}.x;
  558. ENDIF;
  559. MOV.F R4.y, R30;
  560. MOV.F R4.x, R30.z;
  561. MAX.F R4.x, R4, -R4;
  562. FRC.F32 R4.y, R4;
  563. MOV.S R25.z, R4.x;
  564. MOV.F R4.x, R29;
  565. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  566. TRUNC.U.CC HC.x, R4;
  567. MOV.S R30.y, R4;
  568. MOV.S R30.x, R4.z;
  569. IF NE.x;
  570. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  571. ELSE;
  572. MOV.S R12.z, {0, 0, 0, 0}.x;
  573. ENDIF;
  574. MOV.F R12.y, R28.w;
  575. MOV.F R4.x, R24.z;
  576. MUL.F32 R4.y, R4.x, R12;
  577. MOV.F R4.x, R24.y;
  578. MOV.F R4.z, R24.w;
  579. MUL.F32 R12.x, R4.z, R12.y;
  580. MOV.S R24.y, R4;
  581. MOV.F R4.z, R25.w;
  582. MUL.F32 R4.x, R12.y, R4;
  583. MOV.F R4.y, R30.x;
  584. ADD.F32 R4.y, R4.z, R4;
  585. MOV.S R21.z, R4.y;
  586. MOV.F R4.y, R30;
  587. MAD.F32 R4.y, R4, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  588. MOV.S R29.x, R4.y;
  589. MOV.F R4.z, R12;
  590. MOV.S R25.w, R4.x;
  591. ADD.F32 R4.x, -R4.z, {1, 0, 0, 0};
  592. MOV.F R4.y, c[8].x;
  593. MOV.S R24.x, R12;
  594. MUL.F32 R12.x, -R4.y, R4;
  595. SNE.F32 R4.x, -R4.z, {-1, 0, 0, 0};
  596. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  597. TRUNC.U R4.x, R4;
  598. TRUNC.U R4.y, R4;
  599. AND.U.CC HC.x, R4.y, R4;
  600. IF NE.x;
  601. MOV.F R12.z, R12.x;
  602. ELSE;
  603. MOV.F R12.z, {0, 0, 0, 0}.x;
  604. ENDIF;
  605. MOV.F R4.z, R25.w;
  606. MOV.F R4.y, R21.z;
  607. MOV.F R4.x, c[6].w;
  608. ADD.F32 R4.x, R4.y, -R4;
  609. MOV.S R12.x, R4;
  610. MOV.S R4.x, R12;
  611. MUL.F32 R12.y, R4.x, R4.z;
  612. MOV.F R4.y, R29.x;
  613. MUL.F32 R4.y, R4, {0.159154937, 0, 0, 0}.x;
  614. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  615. MOV.S R30.w, R4.y;
  616. TRUNC.U R4.y, R4.x;
  617. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  618. ADD.F32 R4.z, R12, {1, 0, 0, 0}.x;
  619. TRUNC.U R4.x, R4;
  620. AND.U.CC HC.x, R4.y, R4;
  621. MOV.S R26.y, R12.x;
  622. MOV.S R30.x, R4.z;
  623. IF NE.x;
  624. MOV.F R12.x, R12.y;
  625. ELSE;
  626. MOV.F R12.x, {0, 0, 0, 0};
  627. ENDIF;
  628. MOV.F R4.x, R24.y;
  629. MOV.F R4.y, R26;
  630. MUL.F32 R4.z, R4.y, R4.x;
  631. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  632. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  633. TRUNC.U R4.y, R4;
  634. TRUNC.U R4.x, R4;
  635. AND.U.CC HC.x, R4.y, R4;
  636. MOV.S R29.x, R12;
  637. IF NE.x;
  638. MOV.F R12.y, R4.z;
  639. ELSE;
  640. MOV.F R12.y, {0, 0, 0, 0}.x;
  641. ENDIF;
  642. MOV.F R4.z, R30.x;
  643. MAX.F R4.z, R4, -R4;
  644. MOV.F R4.x, R24;
  645. MOV.F R4.y, R26;
  646. MUL.F32 R12.x, R4.y, R4;
  647. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  648. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  649. TRUNC.U R4.y, R4;
  650. TRUNC.U R4.x, R4;
  651. AND.U.CC HC.x, R4.y, R4;
  652. MOV.S R24.z, R4;
  653. MOV.S R29.y, R12;
  654. IF NE.x;
  655. MOV.F R12.y, R12.x;
  656. ELSE;
  657. MOV.F R12.y, {0, 0, 0, 0}.x;
  658. ENDIF;
  659. MOV.F R4.x, R30.w;
  660. MUL.F32 R4.x, R4, {6.28318548, 0, 0, 0};
  661. COS.F32 R4.x, R4.x;
  662. ADD.F32 R4.x, R4, {1, 0, 0, 0};
  663. MOV.S R4.x, R4;
  664. MOV.S R4.z, R4.x;
  665. MOV.F R4.y, c[6].z;
  666. MOV.F R4.x, R29.y;
  667. ADD.F32 R4.x, R4.y, R4;
  668. MOV.F R4.y, R4.z;
  669. MUL.F32 R4.z, R4.y, {0.5, 0, 0, 0}.x;
  670. MOV.S R22.z, R4.x;
  671. MOV.F R4.y, c[6];
  672. MOV.F R4.x, R29;
  673. ADD.F32 R4.x, R4.y, R4;
  674. MOV.S R4.y, R4.z;
  675. MOV.S R21.w, R4.x;
  676. MOV.S R4.x, R4.y;
  677. MOV.F R4.y, c[8].x;
  678. MUL.F32 R12.x, -R4.y, R4;
  679. MOV.F R4.z, c[6].x;
  680. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  681. ADD.F32 R4.z, R4, R12.y;
  682. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  683. TRUNC.U R4.x, R4;
  684. TRUNC.U R4.y, R4;
  685. AND.U.CC HC.x, R4.y, R4;
  686. MOV.S R23.x, R4.z;
  687. MOV.S R22.xy, {0, 0, 0, 0}.x;
  688. IF NE.x;
  689. MOV.F R4.x, R12;
  690. ELSE;
  691. MOV.F R4.x, {0, 0, 0, 0};
  692. ENDIF;
  693. MOV.F R4.z, c[7].w;
  694. MOV.F R12.x, R25;
  695. MOV.F R12.y, R21;
  696. MOV.F R12.z, R28;
  697. MOV.F R12.w, {-0, 0, 0, 0}.x;
  698. MOV.F R17.y, R25.z;
  699. MOV.F R17.z, R24;
  700. MOV.F R17.w, {0, 0, 0, 0}.x;
  701. ADD.F32 R17.x, R4, {1, 0, 0, 0};
  702. DP4.F32 R4.x, R12, R17;
  703. MOV.F R12.x, R21.z;
  704. ADD.F32 R4.y, R12.x, -R4.z;
  705. MOV.S R12.z, R4.x;
  706. SGE.F32 R4.x, R12, R4.z;
  707. MOV.S R26.z, R4.y;
  708. TRUNC.U.CC HC.x, R4;
  709. MOV.F R4.y, c[9].x;
  710. MOV.F R4.z, c[7].x;
  711. ADD.F32 R4.y, -R4.z, R4;
  712. MOV.S R12.xyw, {0, 0, 0, 0}.x;
  713. MOV.S R24.y, R4;
  714. IF NE.x;
  715. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  716. ELSE;
  717. MOV.S R4.z, {0, 0, 0, 0}.x;
  718. ENDIF;
  719. MOV.F R4.x, R26.y;
  720. SGE.F32 R4.y, R4.x, {0, 0, 0, 0}.x;
  721. TRUNC.U.CC HC.x, R4.y;
  722. MOV.S R4.x, R4.z;
  723. IF NE.x;
  724. MOV.S R17.z, {1065353216, 0, 0, 0}.x;
  725. ELSE;
  726. MOV.S R17.z, {0, 0, 0, 0}.x;
  727. ENDIF;
  728. MOV.F R15.w, c[9];
  729. MOV.F R4.z, R21;
  730. ADD.F32 R4.y, R4.z, -R15.w;
  731. MOV.S R21.y, R4;
  732. SGE.F32 R4.y, R4.z, R15.w;
  733. TRUNC.U.CC HC.x, R4.y;
  734. MOV.F R17.x, c[7].z;
  735. MOV.F R4.z, c[9];
  736. ADD.F32 R4.z, -R17.x, R4;
  737. MOV.S R25.x, R4.z;
  738. MOV.F R4.z, c[7].w;
  739. ADD.F32 R4.z, R15.w, -R4;
  740. MOV.F R17.x, c[9].y;
  741. MOV.F R17.y, c[7];
  742. ADD.F32 R17.x, -R17.y, R17;
  743. MOV.S R25.w, R17.x;
  744. MOV.S R30.z, R4;
  745. MOV.S R23.y, R17.z;
  746. IF NE.x;
  747. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  748. ELSE;
  749. MOV.S R4.y, {0, 0, 0, 0}.x;
  750. ENDIF;
  751. MOV.F R17.x, R30.z;
  752. MOV.F R4.z, R24.y;
  753. DIV.F32 R15.w, R4.z, R17.x;
  754. MOV.F R4.z, R25.w;
  755. DIV.F32 R4.z, R4, R17.x;
  756. MOV.S R30.w, R15;
  757. MOV.F R15.w, R25.x;
  758. MOV.S R30.x, R4.z;
  759. DIV.F32 R4.z, R15.w, R17.x;
  760. SNE.F32 R15.w, R4.z, {0, 0, 0, 0}.x;
  761. MOV.F R17.x, R26.z;
  762. MUL.F32 R4.z, R17.x, R4;
  763. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  764. MOV.F R17.y, c[10];
  765. MOV.F R17.z, c[9].y;
  766. ADD.F32 R17.w, -R17.z, R17.y;
  767. MOV.F R17.z, c[9];
  768. MOV.F R17.y, c[10].z;
  769. ADD.F32 R17.y, -R17.z, R17;
  770. MOV.S R24.y, R17;
  771. MOV.F R17.y, c[10].x;
  772. MOV.F R17.z, c[9].x;
  773. MOV.S R26.y, R17.w;
  774. ADD.F32 R17.w, -R17.z, R17.y;
  775. TRUNC.U R15.w, R15;
  776. TRUNC.U R17.x, R17;
  777. AND.U.CC HC.x, R17, R15.w;
  778. MOV.F R17.y, c[10].w;
  779. MOV.F R17.z, c[9].w;
  780. ADD.F32 R17.y, -R17.z, R17;
  781. MOV.S R24.z, R17.w;
  782. MOV.S R27.z, R17.y;
  783. MOV.S R21.x, R4.y;
  784. IF NE.x;
  785. MOV.F R17.x, R4.z;
  786. ELSE;
  787. MOV.F R17.x, {0, 0, 0, 0};
  788. ENDIF;
  789. MOV.F R4.y, R30.w;
  790. MOV.F R4.z, R26;
  791. MUL.F32 R15.w, R4.z, R4.y;
  792. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  793. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  794. TRUNC.U R4.z, R4;
  795. TRUNC.U R4.y, R4;
  796. AND.U.CC HC.x, R4.z, R4.y;
  797. MOV.S R29.x, R17;
  798. IF NE.x;
  799. MOV.F R17.z, R15.w;
  800. ELSE;
  801. MOV.F R17.z, {0, 0, 0, 0}.x;
  802. ENDIF;
  803. MOV.F R4.y, R30.x;
  804. MOV.F R15.w, R26.z;
  805. MUL.F32 R17.y, R15.w, R4;
  806. SNE.F32 R15.w, R15, {0, 0, 0, 0}.x;
  807. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  808. MOV.F R4.z, c[10].w;
  809. MOV.F R17.x, R21.z;
  810. ADD.F32 R4.z, R17.x, -R4;
  811. TRUNC.U R15.w, R15;
  812. TRUNC.U R4.y, R4;
  813. AND.U.CC HC.x, R15.w, R4.y;
  814. MOV.S R4.z, R4;
  815. MOV.S R29.y, R17.z;
  816. IF NE.x;
  817. MOV.F R4.y, R17;
  818. ELSE;
  819. MOV.F R4.y, {0, 0, 0, 0}.x;
  820. ENDIF;
  821. MOV.F R24.x, R27.z;
  822. MOV.F R15.w, R26.y;
  823. DIV.F32 R17.z, R15.w, R24.x;
  824. MOV.F R17.x, R24.z;
  825. DIV.F32 R17.w, R17.x, R24.x;
  826. MOV.F R17.x, R21.y;
  827. MUL.F32 R17.y, R17.x, R17.z;
  828. MOV.S R30.x, R17.w;
  829. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  830. MOV.F R15.w, R29.y;
  831. MOV.F R17.w, c[7].x;
  832. ADD.F32 R19.z, R17.w, R15.w;
  833. MOV.F R17.w, c[7].z;
  834. MOV.F R15.w, R29.x;
  835. ADD.F32 R15.w, R17, R15;
  836. MOV.F R17.w, R24.y;
  837. MOV.S R23.z, R19;
  838. DIV.F32 R19.z, R17.w, R24.x;
  839. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  840. MOV.S R17.x, R19.z;
  841. MOV.F R19.z, c[7].y;
  842. ADD.F32 R4.y, R19.z, R4;
  843. TRUNC.U R17.w, R17;
  844. TRUNC.U R17.z, R17;
  845. AND.U.CC HC.x, R17.w, R17.z;
  846. MOV.S R15.w, R15;
  847. MOV.S R4.y, R4;
  848. IF NE.x;
  849. MOV.F R24.x, R17.y;
  850. ELSE;
  851. MOV.F R24.x, {0, 0, 0, 0};
  852. ENDIF;
  853. MOV.F R17.y, R30.x;
  854. MOV.F R17.z, R21.y;
  855. MUL.F32 R19.z, R17, R17.y;
  856. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  857. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  858. TRUNC.U R17.w, R17.z;
  859. TRUNC.U R17.z, R17.y;
  860. AND.U.CC HC.x, R17.w, R17.z;
  861. MOV.S R17.y, R24.x;
  862. IF NE.x;
  863. MOV.F R24.x, R19.z;
  864. ELSE;
  865. MOV.F R24.x, {0, 0, 0, 0};
  866. ENDIF;
  867. MOV.F R17.z, c[11].x;
  868. MOV.F R17.w, c[10].x;
  869. ADD.F32 R19.z, -R17.w, R17;
  870. MOV.F R17.w, c[10].y;
  871. MOV.F R17.z, c[11].y;
  872. ADD.F32 R17.z, -R17.w, R17;
  873. MOV.S R17.w, R19.z;
  874. MOV.S R19.z, R17;
  875. MOV.S R17.z, R24.x;
  876. ENDIF;
  877. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  878. MOV.U.CC RC.x, -R24;
  879. IF NE.x;
  880. MOV.F R16.w, R4.z;
  881. SGE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  882. TRUNC.U.CC HC.x, R16.w;
  883. MOV.F R22.x, R17.z;
  884. MOV.F R24.x, c[9];
  885. ADD.F32 R22.x, R24, R22;
  886. MOV.S R25.x, R22;
  887. IF NE.x;
  888. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  889. ELSE;
  890. MOV.S R16.w, {0, 0, 0, 0}.x;
  891. ENDIF;
  892. MOV.F R24.x, c[9].y;
  893. MOV.F R22.x, R17.y;
  894. ADD.F32 R22.x, R24, R22;
  895. MUL.F32 R24.x, R21.y, R17;
  896. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  897. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  898. TRUNC.U R17.x, R17;
  899. TRUNC.U R21.y, R21;
  900. AND.U.CC HC.x, R21.y, R17;
  901. MOV.S R26.z, R22.x;
  902. IF NE.x;
  903. MOV.F R22.x, R24;
  904. ELSE;
  905. MOV.F R22.x, {0, 0, 0, 0};
  906. ENDIF;
  907. MOV.F R21.y, R21.z;
  908. MOV.S R21.z, R22.x;
  909. MOV.F R17.x, R21;
  910. ADD.F32 R17.x, -R17, {1, 0, 0, 0};
  911. MOV.S R25.z, R17.x;
  912. MOV.F R17.x, c[11].w;
  913. SGE.F32 R17.x, R21.y, R17;
  914. MOV.S R21.y, R21.z;
  915. MOV.F R21.z, c[9];
  916. ADD.F32 R21.y, R21.z, R21;
  917. MOV.F R22.x, R16.w;
  918. ADD.F32 R21.z, -R22.x, {1, 0, 0, 0}.x;
  919. TRUNC.U.CC HC.x, R17;
  920. MOV.S R25.y, R21;
  921. MOV.S R30.x, R21.z;
  922. IF NE.x;
  923. MOV.S R17.x, {1065353216, 0, 0, 0};
  924. ELSE;
  925. MOV.S R17.x, {0, 0, 0, 0};
  926. ENDIF;
  927. MOV.F R21.y, R4.x;
  928. ADD.F32 R21.y, -R21, {1, 0, 0, 0}.x;
  929. MOV.S R28.y, R21;
  930. MOV.F R21.y, R17.x;
  931. MOV.F R21.z, c[11];
  932. MUL.F32 R22.x, R21.z, R21.y;
  933. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  934. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  935. TRUNC.U R21.y, R21;
  936. TRUNC.U R21.z, R21;
  937. AND.U.CC HC.x, R21.z, R21.y;
  938. IF NE.x;
  939. MOV.F R21.y, R22.x;
  940. ELSE;
  941. MOV.F R21.y, {0, 0, 0, 0}.x;
  942. ENDIF;
  943. MOV.F R21.z, R21.x;
  944. MOV.F R22.x, R30;
  945. MUL.F32 R21.x, R21.z, R22;
  946. SNE.F32 R22.x, R22, {0, 0, 0, 0};
  947. TRUNC.U R24.x, R22;
  948. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  949. TRUNC.U R21.z, R21;
  950. AND.U.CC HC.x, R21.z, R24;
  951. MOV.F R24.y, c[10].z;
  952. MOV.F R22.x, c[11].z;
  953. ADD.F32 R22.x, -R24.y, R22;
  954. MOV.S R26.y, R22.x;
  955. MOV.F R24.y, c[10].w;
  956. MOV.F R22.x, c[11].w;
  957. ADD.F32 R22.x, -R24.y, R22;
  958. MOV.F R24.y, R17.x;
  959. MOV.S R29.w, R22.x;
  960. ADD.F32 R24.y, -R24, {1, 0, 0, 0}.x;
  961. MOV.S R22.x, R21.y;
  962. MOV.S R29.z, R24.y;
  963. IF NE.x;
  964. MOV.F R24.y, R21.x;
  965. ELSE;
  966. MOV.F R24.y, {0, 0, 0, 0}.x;
  967. ENDIF;
  968. MOV.F R21.x, R29.z;
  969. MOV.F R21.z, R16.w;
  970. SNE.F32 R16.w, R21.x, {0, 0, 0, 0}.x;
  971. MUL.F32 R24.x, R21.z, R21;
  972. SNE.F32 R21.x, R21.z, {0, 0, 0, 0};
  973. TRUNC.U R16.w, R16;
  974. TRUNC.U R21.x, R21;
  975. AND.U.CC HC.x, R21, R16.w;
  976. MOV.S R21.y, R25.x;
  977. MOV.S R24.z, R24.y;
  978. IF NE.x;
  979. ELSE;
  980. MOV.F R24.x, {0, 0, 0, 0};
  981. ENDIF;
  982. MOV.F R16.w, R17.x;
  983. MOV.F R21.x, c[11];
  984. MUL.F32 R21.z, R21.x, R16.w;
  985. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  986. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  987. TRUNC.U R16.w, R16;
  988. TRUNC.U R21.x, R21;
  989. AND.U.CC HC.x, R21, R16.w;
  990. MOV.S R25.x, R24;
  991. IF NE.x;
  992. ELSE;
  993. MOV.F R21.z, {0, 0, 0, 0}.x;
  994. ENDIF;
  995. MOV.F R16.w, R17.x;
  996. MOV.F R17.x, c[11].y;
  997. MUL.F32 R21.x, R17, R16.w;
  998. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  999. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  1000. TRUNC.U R16.w, R16;
  1001. TRUNC.U R17.x, R17;
  1002. AND.U.CC HC.x, R17, R16.w;
  1003. MOV.S R24.y, R21.z;
  1004. IF NE.x;
  1005. MOV.F R21.z, R21.x;
  1006. ELSE;
  1007. MOV.F R21.z, {0, 0, 0, 0}.x;
  1008. ENDIF;
  1009. MOV.F R17.x, R24.z;
  1010. MOV.F R21.x, R21.y;
  1011. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  1012. MUL.F32 R21.y, R21.x, R17.x;
  1013. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  1014. TRUNC.U R16.w, R16;
  1015. TRUNC.U R17.x, R17;
  1016. AND.U.CC HC.x, R17, R16.w;
  1017. MOV.S R28.z, R21;
  1018. IF NE.x;
  1019. MOV.F R16.w, R21.y;
  1020. ELSE;
  1021. MOV.F R16.w, {0, 0, 0, 0}.x;
  1022. ENDIF;
  1023. MOV.F R21.z, R29.w;
  1024. RCP.F32 R21.z, R21.z;
  1025. MOV.F R21.x, R24.z;
  1026. MOV.F R21.y, R26.z;
  1027. MUL.F32 R17.x, R21.y, R21;
  1028. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  1029. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  1030. TRUNC.U R21.y, R21;
  1031. TRUNC.U R21.x, R21;
  1032. AND.U.CC HC.x, R21.y, R21;
  1033. MOV.S R27.z, R21;
  1034. MOV.S R24.w, R16;
  1035. IF NE.x;
  1036. MOV.F R16.w, R17.x;
  1037. ELSE;
  1038. MOV.F R16.w, {0, 0, 0, 0}.x;
  1039. ENDIF;
  1040. MOV.F R21.x, R24.z;
  1041. MOV.F R21.y, R25;
  1042. MOV.F R24.x, R27.z;
  1043. MOV.F R21.z, R26.y;
  1044. MUL.F32 R21.z, R21, R24.x;
  1045. MOV.S R29.w, R21.z;
  1046. MOV.F R21.z, R19;
  1047. MUL.F32 R19.z, R24.x, R17.w;
  1048. MUL.F32 R17.w, R24.x, R21.z;
  1049. MOV.S R29.z, R19;
  1050. MOV.S R29.y, R17.w;
  1051. SNE.F32 R17.w, R21.x, {0, 0, 0, 0}.x;
  1052. MUL.F32 R17.x, R21.y, R21;
  1053. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  1054. TRUNC.U R19.z, R19;
  1055. TRUNC.U R17.w, R17;
  1056. AND.U.CC HC.x, R19.z, R17.w;
  1057. MOV.S R21.x, R16.w;
  1058. IF NE.x;
  1059. MOV.F R21.y, R17.x;
  1060. ELSE;
  1061. MOV.F R21.y, {0, 0, 0, 0}.x;
  1062. ENDIF;
  1063. MOV.F R16.w, R29.z;
  1064. MOV.F R17.x, R4.z;
  1065. MUL.F32 R19.z, R17.x, R16.w;
  1066. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  1067. TRUNC.U R17.w, R17.x;
  1068. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1069. TRUNC.U R16.w, R16;
  1070. AND.U.CC HC.x, R17.w, R16.w;
  1071. MOV.S R17.x, R21.y;
  1072. IF NE.x;
  1073. MOV.F R21.y, R19.z;
  1074. ELSE;
  1075. MOV.F R21.y, {0, 0, 0, 0}.x;
  1076. ENDIF;
  1077. MOV.F R16.w, R29;
  1078. MOV.F R17.w, R4.z;
  1079. MUL.F32 R19.z, R17.w, R16.w;
  1080. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1081. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1082. TRUNC.U R17.w, R17;
  1083. TRUNC.U R16.w, R16;
  1084. AND.U.CC HC.x, R17.w, R16.w;
  1085. MOV.S R30.x, R21.y;
  1086. IF NE.x;
  1087. MOV.F R21.y, R19.z;
  1088. ELSE;
  1089. MOV.F R21.y, {0, 0, 0, 0}.x;
  1090. ENDIF;
  1091. MOV.F R16.w, R29.y;
  1092. MOV.F R17.w, R4.z;
  1093. MUL.F32 R19.z, R17.w, R16.w;
  1094. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1095. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1096. TRUNC.U R17.w, R17;
  1097. TRUNC.U R16.w, R16;
  1098. AND.U.CC HC.x, R17.w, R16.w;
  1099. MOV.S R30.y, R21;
  1100. IF NE.x;
  1101. MOV.F R21.y, R19.z;
  1102. ELSE;
  1103. MOV.F R21.y, {0, 0, 0, 0}.x;
  1104. ENDIF;
  1105. MOV.F R16.w, R25.z;
  1106. MOV.F R17.w, R4.x;
  1107. MUL.F32 R19.z, R17.w, R16.w;
  1108. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1109. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1110. TRUNC.U R17.w, R17;
  1111. TRUNC.U R16.w, R16;
  1112. AND.U.CC HC.x, R17.w, R16.w;
  1113. MOV.S R30.z, R21.y;
  1114. IF NE.x;
  1115. MOV.F R21.y, R19.z;
  1116. ELSE;
  1117. MOV.F R21.y, {0, 0, 0, 0}.x;
  1118. ENDIF;
  1119. MOV.F R16.w, R28.y;
  1120. MOV.F R17.w, R23.y;
  1121. MUL.F32 R19.z, R17.w, R16.w;
  1122. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1123. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1124. TRUNC.U R16.w, R16;
  1125. TRUNC.U R17.w, R17;
  1126. AND.U.CC HC.x, R17.w, R16.w;
  1127. MOV.S R25.w, R21.y;
  1128. IF NE.x;
  1129. MOV.F R16.w, R19.z;
  1130. ELSE;
  1131. MOV.F R16.w, {0, 0, 0, 0}.x;
  1132. ENDIF;
  1133. MOV.F R19.z, c[10].y;
  1134. MOV.F R17.w, R30.z;
  1135. ADD.F32 R17.w, R19.z, R17;
  1136. MOV.S R29.x, R17.w;
  1137. MOV.F R17.w, R25;
  1138. MOV.F R19.z, R23;
  1139. MUL.F32 R21.y, R19.z, R17.w;
  1140. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1141. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1142. TRUNC.U R17.w, R17;
  1143. TRUNC.U R19.z, R19;
  1144. AND.U.CC HC.x, R19.z, R17.w;
  1145. MOV.S R28.w, R16;
  1146. IF NE.x;
  1147. MOV.F R17.w, R21.y;
  1148. ELSE;
  1149. MOV.F R17.w, {0, 0, 0, 0}.x;
  1150. ENDIF;
  1151. MOV.F R19.z, R25.w;
  1152. MOV.F R21.y, R4;
  1153. MUL.F32 R16.w, R21.y, R19.z;
  1154. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  1155. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1156. MOV.F R21.z, R30.x;
  1157. MOV.F R23.z, c[10].x;
  1158. ADD.F32 R23.z, R23, R21;
  1159. MOV.F R21.z, R30.y;
  1160. MOV.F R24.x, c[10].z;
  1161. ADD.F32 R21.z, R24.x, R21;
  1162. TRUNC.U R21.y, R21;
  1163. TRUNC.U R19.z, R19;
  1164. AND.U.CC HC.x, R21.y, R19.z;
  1165. MOV.S R29.w, R23.z;
  1166. MOV.S R29.z, R21;
  1167. MOV.S R28.y, R17.w;
  1168. IF NE.x;
  1169. MOV.F R21.y, R16.w;
  1170. ELSE;
  1171. MOV.F R21.y, {0, 0, 0, 0}.x;
  1172. ENDIF;
  1173. MOV.F R16.w, R25;
  1174. MOV.F R17.w, R15;
  1175. MUL.F32 R19.z, R17.w, R16.w;
  1176. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1177. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1178. TRUNC.U R17.w, R17;
  1179. TRUNC.U R16.w, R16;
  1180. AND.U.CC HC.x, R17.w, R16.w;
  1181. MOV.S R28.x, R21.y;
  1182. IF NE.x;
  1183. MOV.F R21.y, R19.z;
  1184. ELSE;
  1185. MOV.F R21.y, {0, 0, 0, 0}.x;
  1186. ENDIF;
  1187. MOV.F R16.w, R25.x;
  1188. MOV.F R17.w, R29.x;
  1189. MUL.F32 R19.z, R17.w, R16.w;
  1190. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1191. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1192. TRUNC.U R17.w, R17;
  1193. TRUNC.U R16.w, R16;
  1194. AND.U.CC HC.x, R17.w, R16.w;
  1195. MOV.S R26.x, R21.y;
  1196. IF NE.x;
  1197. MOV.F R21.y, R19.z;
  1198. ELSE;
  1199. MOV.F R21.y, {0, 0, 0, 0}.x;
  1200. ENDIF;
  1201. MOV.F R16.w, R25.x;
  1202. MOV.F R17.w, R29;
  1203. MUL.F32 R19.z, R17.w, R16.w;
  1204. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1205. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1206. TRUNC.U R17.w, R17;
  1207. TRUNC.U R16.w, R16;
  1208. AND.U.CC HC.x, R17.w, R16.w;
  1209. MOV.S R26.y, R21;
  1210. IF NE.x;
  1211. MOV.F R21.y, R19.z;
  1212. ELSE;
  1213. MOV.F R21.y, {0, 0, 0, 0}.x;
  1214. ENDIF;
  1215. MOV.F R16.w, R25.x;
  1216. MOV.F R17.w, R29.z;
  1217. MUL.F32 R19.z, R17.w, R16.w;
  1218. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1219. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1220. TRUNC.U R17.w, R17;
  1221. TRUNC.U R16.w, R16;
  1222. AND.U.CC HC.x, R17.w, R16.w;
  1223. MOV.S R24.z, R21.y;
  1224. IF NE.x;
  1225. MOV.F R21.y, R19.z;
  1226. ELSE;
  1227. MOV.F R21.y, {0, 0, 0, 0}.x;
  1228. ENDIF;
  1229. MOV.F R16.w, R28;
  1230. MOV.F R17.w, R23.x;
  1231. MUL.F32 R19.z, R17.w, R16.w;
  1232. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1233. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1234. TRUNC.U R16.w, R16;
  1235. TRUNC.U R17.w, R17;
  1236. AND.U.CC HC.x, R17.w, R16.w;
  1237. MOV.S R25.w, R21.y;
  1238. IF NE.x;
  1239. MOV.F R16.w, R19.z;
  1240. ELSE;
  1241. MOV.F R16.w, {0, 0, 0, 0}.x;
  1242. ENDIF;
  1243. MOV.F R19.z, R9.x;
  1244. MOV.F R17.w, R9.y;
  1245. ADD.F32 R17.w, R19.z, R17;
  1246. MOV.S R24.x, R17.w;
  1247. MOV.F R17.w, R28;
  1248. MOV.F R19.z, R22;
  1249. MUL.F32 R21.y, R19.z, R17.w;
  1250. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1251. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1252. TRUNC.U R17.w, R17;
  1253. TRUNC.U R19.z, R19;
  1254. AND.U.CC HC.x, R19.z, R17.w;
  1255. MOV.S R25.x, R16.w;
  1256. IF NE.x;
  1257. ELSE;
  1258. MOV.F R21.y, {0, 0, 0, 0}.x;
  1259. ENDIF;
  1260. MOV.F R16.w, R28;
  1261. MOV.F R17.w, R21;
  1262. MUL.F32 R19.z, R17.w, R16.w;
  1263. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  1264. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  1265. TRUNC.U R17.w, R17;
  1266. TRUNC.U R16.w, R16;
  1267. AND.U.CC HC.x, R17.w, R16.w;
  1268. MOV.S R25.y, R21;
  1269. IF NE.x;
  1270. MOV.F R16.w, R19.z;
  1271. ELSE;
  1272. MOV.F R16.w, {0, 0, 0, 0}.x;
  1273. ENDIF;
  1274. MOV.F R29, R6;
  1275. MOV.F R6.w, R23.y;
  1276. ADD.F32 R19.z, -R6.w, {1, 0, 0, 0}.x;
  1277. SNE.F32 R6.w, -R6, {-1, 0, 0, 0}.x;
  1278. MOV.F R17.w, c[6].x;
  1279. MOV.S R28.w, R19.z;
  1280. MOV.S R25.z, R16.w;
  1281. SNE.F32 R16.w, R17, {0, 0, 0, 0}.x;
  1282. MUL.F32 R19.z, R19, R17.w;
  1283. MOV.F R30.w, {1, 0, 0, 0}.x;
  1284. MOV.F R30.xyz, R16;
  1285. DP4.F32 R6.z, R29, R30;
  1286. TRUNC.U R6.w, R6;
  1287. TRUNC.U R16.w, R16;
  1288. AND.U.CC HC.x, R16.w, R6.w;
  1289. MOV.S R6.z, R6;
  1290. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  1291. IF NE.x;
  1292. MOV.F R6.w, R19.z;
  1293. ELSE;
  1294. MOV.F R6.w, {0, 0, 0, 0}.x;
  1295. ENDIF;
  1296. MOV.F R29.xyz, R16;
  1297. MOV.F R16.z, R25.x;
  1298. MOV.F R30, R11;
  1299. MOV.F R29.w, {1, 0, 0, 0}.x;
  1300. DP4.F32 R11.w, R29, R14;
  1301. DP4.F32 R11.y, R30, R29;
  1302. MOV.F R14.x, R28.y;
  1303. ADD.F32 R6.w, R16.z, R6;
  1304. ADD.F32 R6.w, R14.x, R6;
  1305. MOV.S R14.x, R11.w;
  1306. MOV.S R27.z, R6.w;
  1307. MOV.F R6.w, R28;
  1308. MOV.F R11.w, c[6].y;
  1309. MUL.F32 R14.y, R11.w, R6.w;
  1310. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1311. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  1312. TRUNC.U R6.w, R6;
  1313. TRUNC.U R11.w, R11;
  1314. AND.U.CC HC.x, R11.w, R6.w;
  1315. MOV.S R11.y, R11;
  1316. IF NE.x;
  1317. MOV.F R14.w, R14.y;
  1318. ELSE;
  1319. MOV.F R14.w, {0, 0, 0, 0}.x;
  1320. ENDIF;
  1321. MOV.F R11.w, R28;
  1322. MOV.F R14.y, c[6].z;
  1323. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  1324. MUL.F32 R14.z, R14.y, R11.w;
  1325. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  1326. TRUNC.U R6.w, R6;
  1327. TRUNC.U R11.w, R11;
  1328. AND.U.CC HC.x, R11.w, R6.w;
  1329. MOV.S R29.x, R14.w;
  1330. IF NE.x;
  1331. MOV.F R14.w, R14.z;
  1332. ELSE;
  1333. MOV.F R14.w, {0, 0, 0, 0}.x;
  1334. ENDIF;
  1335. MOV.F R6.w, R9.z;
  1336. MOV.F R11.w, R9.x;
  1337. ADD.F32 R11.w, R11, R6;
  1338. MUL.F32 R11.w, R11, {0.5, 0, 0, 0}.x;
  1339. MOV.S R29.z, R11.w;
  1340. MOV.F R14.y, R29.x;
  1341. MOV.F R14.z, R25;
  1342. ADD.F32 R14.y, R14.z, R14;
  1343. MOV.F R14.z, R28.x;
  1344. ADD.F32 R14.y, R14.z, R14;
  1345. MOV.F R14.z, R9.y;
  1346. ADD.F32 R6.w, R14.z, R6;
  1347. MOV.F R14.z, R24.y;
  1348. MOV.F R11.w, R25.y;
  1349. MOV.S R29.w, R14.y;
  1350. ADD.F32 R14.y, R11.w, R14.w;
  1351. MOV.F R11.w, R26.x;
  1352. ADD.F32 R11.w, R11, R14.y;
  1353. MOV.S R29.x, R11.w;
  1354. MUL.F32 R11.w, R6, {0.5, 0, 0, 0}.x;
  1355. MOV.F R6.w, R24.x;
  1356. MOV.S R28.w, R11;
  1357. MAD.F32 R6.w, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  1358. MOV.F R11.w, R27.z;
  1359. MOV.F R14.y, R24.w;
  1360. ADD.F32 R14.y, R14, R11.w;
  1361. MOV.F R11.w, R24.z;
  1362. ADD.F32 R14.w, R11, R14.y;
  1363. MOV.F R11.w, R13.x;
  1364. MOV.S R6.w, R6;
  1365. MOV.F R13.x, R6.w;
  1366. ADD.F32 R14.y, R14.z, R14.w;
  1367. MUL.F32 R14.y, R11.w, R14;
  1368. SNE.F32 R6.w, R14.z, -R14;
  1369. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  1370. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  1371. TRUNC.U R6.w, R6;
  1372. TRUNC.U R11.w, R11;
  1373. AND.U.CC HC.x, R11.w, R6.w;
  1374. MOV.S R24.y, R13.x;
  1375. IF NE.x;
  1376. ELSE;
  1377. MOV.F R14.y, {0, 0, 0, 0}.x;
  1378. ENDIF;
  1379. MOV.F R11.w, R17.x;
  1380. MOV.F R6.w, R29.x;
  1381. ADD.F32 R6.w, R11, R6;
  1382. MOV.S R30.w, R6;
  1383. MOV.F R6.w, R29;
  1384. MOV.F R11.w, R21.x;
  1385. ADD.F32 R11.w, R11, R6;
  1386. MOV.F R6.w, R28;
  1387. MOV.S R30.y, R11.w;
  1388. ADD.F32 R11.w, R6, {-0.5, 0, 0, 0}.x;
  1389. MUL.F32 R11.w, R11, {2, 0, 0, 0}.x;
  1390. MOV.F R6.w, R29.z;
  1391. ADD.F32 R6.w, R6, {-0.5, 0, 0, 0}.x;
  1392. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  1393. MOV.S R24.z, R11.w;
  1394. MOV.S R28.w, R6;
  1395. MOV.F R6.w, c[12].y;
  1396. MUL.F32 R13.x, R14.y, R6.w;
  1397. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1398. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  1399. TRUNC.U R6.w, R6;
  1400. TRUNC.U R11.w, R11;
  1401. AND.U.CC HC.x, R11.w, R6.w;
  1402. MOV.S R30.x, R14.y;
  1403. IF NE.x;
  1404. MOV.F R14.y, R13.x;
  1405. ELSE;
  1406. MOV.F R14.y, {0, 0, 0, 0}.x;
  1407. ENDIF;
  1408. MOV.F R6.w, R30.y;
  1409. MOV.F R11.w, R26.y;
  1410. ADD.F32 R11.w, R11, R6;
  1411. MOV.S R29.z, R11.w;
  1412. MOV.F R13.x, R25.w;
  1413. MOV.F R6.w, R30;
  1414. ADD.F32 R6.w, R13.x, R6;
  1415. MOV.S R29.y, R6.w;
  1416. MOV.F R6.w, c[12].y;
  1417. MOV.F R11.w, R30.x;
  1418. MUL.F32 R13.x, R11.w, R6.w;
  1419. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  1420. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1421. TRUNC.U R11.w, R11;
  1422. TRUNC.U R6.w, R6;
  1423. AND.U.CC HC.x, R11.w, R6.w;
  1424. MOV.S R17.x, R14.y;
  1425. IF NE.x;
  1426. MOV.F R6.w, R13.x;
  1427. ELSE;
  1428. MOV.F R6.w, {0, 0, 0, 0}.x;
  1429. ENDIF;
  1430. MOV.F R13.x, R28.z;
  1431. MOV.F R11.w, R29.z;
  1432. ADD.F32 R11.w, R13.x, R11;
  1433. MOV.S R30.x, R11.w;
  1434. MOV.F R11.w, R9.x;
  1435. ADD.F32 R14.y, R11.w, {-0.5, 0, 0, 0}.x;
  1436. MOV.S R25.z, R14.y;
  1437. MOV.F R14.y, R9;
  1438. MOV.F R13.x, R22;
  1439. MOV.F R11.w, R29.y;
  1440. ADD.F32 R11.w, R13.x, R11;
  1441. MOV.S R30.z, R11.w;
  1442. MOV.F R11.w, R9.z;
  1443. ADD.F32 R11.w, R11, {-0.5, 0, 0, 0}.x;
  1444. MOV.S R14.w, R11;
  1445. MOV.F R13.x, R24.y;
  1446. ADD.F32 R14.y, R14, {-0.5, 0, 0, 0}.x;
  1447. MOV.F R11.w, c[13].x;
  1448. MUL.F32 R14.z, R13.x, R11.w;
  1449. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1450. MOV.S R24.y, R14;
  1451. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  1452. TRUNC.U R14.y, R13.x;
  1453. TRUNC.U R13.x, R11.w;
  1454. AND.U.CC HC.x, R14.y, R13;
  1455. MOV.S R11.w, R6;
  1456. IF NE.x;
  1457. MOV.F R14.y, R14.z;
  1458. ELSE;
  1459. MOV.F R14.y, {0, 0, 0, 0}.x;
  1460. ENDIF;
  1461. MOV.F R13.x, R13.z;
  1462. MOV.F R6.w, R30.z;
  1463. MUL.F32 R13.z, R13.x, R6.w;
  1464. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1465. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1466. TRUNC.U R13.x, R13;
  1467. TRUNC.U R6.w, R6;
  1468. AND.U.CC HC.x, R13, R6.w;
  1469. MOV.S R27.z, R14.y;
  1470. IF NE.x;
  1471. MOV.F R14.y, R13.z;
  1472. ELSE;
  1473. MOV.F R14.y, {0, 0, 0, 0}.x;
  1474. ENDIF;
  1475. MOV.F R6.w, c[13].y;
  1476. MOV.F R13.x, R24.z;
  1477. MUL.F32 R13.z, R13.x, R6.w;
  1478. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1479. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1480. TRUNC.U R13.x, R13;
  1481. TRUNC.U R6.w, R6;
  1482. AND.U.CC HC.x, R13, R6.w;
  1483. MOV.S R29.x, R14.y;
  1484. IF NE.x;
  1485. MOV.F R16.z, R13;
  1486. ELSE;
  1487. MOV.F R16.z, {0, 0, 0, 0}.x;
  1488. ENDIF;
  1489. MOV.F R6.w, R13.y;
  1490. MOV.F R13.z, R30.x;
  1491. MUL.F32 R14.y, R6.w, R13.z;
  1492. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1493. TRUNC.U R13.x, R6.w;
  1494. SNE.F32 R6.w, R13.z, {0, 0, 0, 0}.x;
  1495. TRUNC.U R6.w, R6;
  1496. AND.U.CC HC.x, R13, R6.w;
  1497. MOV.F R13.y, c[14].x;
  1498. MOV.F R13.z, R27;
  1499. ADD.F32 R13.y, R13.z, R13;
  1500. MOV.S R14.z, R13.y;
  1501. MOV.S R29.y, R16.z;
  1502. IF NE.x;
  1503. MOV.F R13.z, R14.y;
  1504. ELSE;
  1505. MOV.F R13.z, {0, 0, 0, 0}.x;
  1506. ENDIF;
  1507. MOV.F R6.w, R9.y;
  1508. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  1509. MOV.S R19.z, R6.w;
  1510. MOV.F R6.w, c[12];
  1511. MOV.F R13.x, R29;
  1512. MUL.F32 R13.y, R13.x, R6.w;
  1513. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1514. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1515. TRUNC.U R13.x, R13;
  1516. TRUNC.U R6.w, R6;
  1517. AND.U.CC HC.x, R13, R6.w;
  1518. MOV.S R29.w, R13.z;
  1519. IF NE.x;
  1520. MOV.F R13.z, R13.y;
  1521. ELSE;
  1522. MOV.F R13.z, {0, 0, 0, 0}.x;
  1523. ENDIF;
  1524. MOV.S R21.x, R13.z;
  1525. MOV.F R13.y, c[12].z;
  1526. MOV.F R13.x, c[14].y;
  1527. MOV.F R6.w, R29.y;
  1528. ADD.F32 R6.w, R13.x, R6;
  1529. MOV.F R13.x, R29.w;
  1530. MOV.S R14.y, R6.w;
  1531. SNE.F32 R6.w, R13.x, {0, 0, 0, 0}.x;
  1532. MUL.F32 R16.z, R13.x, R13.y;
  1533. TRUNC.U R13.x, R6.w;
  1534. SNE.F32 R6.w, R13.y, {0, 0, 0, 0}.x;
  1535. MOV.F R13.z, R19;
  1536. FLR.F R13.y, R13.z;
  1537. TRUNC.U R6.w, R6;
  1538. AND.U.CC HC.x, R13, R6.w;
  1539. MOV.S R30.z, R13.y;
  1540. IF NE.x;
  1541. MOV.F R13.y, R16.z;
  1542. ELSE;
  1543. MOV.F R13.y, {0, 0, 0, 0}.x;
  1544. ENDIF;
  1545. MOV.F R6.w, R9.z;
  1546. MUL.F32 R13.x, R6.w, {2, 0, 0, 0};
  1547. MOV.F R6.w, R30.z;
  1548. MOV.S R27.z, R13.x;
  1549. SGT.F32 R13.x, R6.w, {0, 0, 0, 0};
  1550. TRUNC.U.CC HC.x, R13;
  1551. MOV.S R6.w, R13.y;
  1552. IF NE.x;
  1553. MOV.F R13.y, {1, 0, 0, 0}.x;
  1554. ELSE;
  1555. MOV.F R13.y, {0, 0, 0, 0}.x;
  1556. ENDIF;
  1557. MOV.F R13.x, R30.z;
  1558. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  1559. TRUNC.U.CC HC.x, R13;
  1560. MOV.S R29.x, R13.y;
  1561. IF NE.x;
  1562. MOV.F R19.z, {1, 0, 0, 0}.x;
  1563. ELSE;
  1564. MOV.F R19.z, {0, 0, 0, 0}.x;
  1565. ENDIF;
  1566. MOV.F R13.y, R27.z;
  1567. FLR.F R16.z, R13.y;
  1568. MOV.F R13.z, c[13];
  1569. MOV.F R13.x, R28.w;
  1570. MUL.F32 R16.w, R13.x, R13.z;
  1571. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1572. TRUNC.U R13.y, R13.x;
  1573. SNE.F32 R13.x, R13.z, {0, 0, 0, 0};
  1574. MOV.F R13.z, R19;
  1575. TRUNC.U R13.x, R13;
  1576. AND.U.CC HC.x, R13.y, R13;
  1577. MOV.S R29.z, R16;
  1578. MOV.S R29.y, R13.z;
  1579. IF NE.x;
  1580. MOV.F R13.z, R16.w;
  1581. ELSE;
  1582. MOV.F R13.z, {0, 0, 0, 0}.x;
  1583. ENDIF;
  1584. MOV.F R13.x, R9;
  1585. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  1586. MOV.S R19.z, R13.x;
  1587. MOV.F R13.x, R29.z;
  1588. MOV.F R13.y, c[14].z;
  1589. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  1590. ADD.F32 R13.y, R13, R13.z;
  1591. TRUNC.U.CC HC.x, R13;
  1592. MOV.S R22.x, R13.y;
  1593. IF NE.x;
  1594. MOV.F R16.z, {1, 0, 0, 0}.x;
  1595. ELSE;
  1596. MOV.F R16.z, {0, 0, 0, 0}.x;
  1597. ENDIF;
  1598. MOV.F R13.y, R29.x;
  1599. MOV.F R13.x, R29.y;
  1600. ADD.F32 R13.x, R13.y, -R13;
  1601. MOV.S R13.z, R13.x;
  1602. MOV.F R13.x, R29.z;
  1603. MOV.F R13.y, R16.z;
  1604. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  1605. TRUNC.U.CC HC.x, R13;
  1606. MOV.S R30.y, R13;
  1607. IF NE.x;
  1608. MOV.F R13.y, {1, 0, 0, 0}.x;
  1609. ELSE;
  1610. MOV.F R13.y, {0, 0, 0, 0}.x;
  1611. ENDIF;
  1612. MOV.F R16.z, R13.y;
  1613. MOV.F R13.x, R19.z;
  1614. FLR.F R13.y, R13.x;
  1615. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  1616. TRUNC.U.CC HC.x, R13;
  1617. MOV.S R30.w, R16.z;
  1618. MOV.S R27.z, R13.y;
  1619. IF NE.x;
  1620. MOV.F R16.z, {1, 0, 0, 0}.x;
  1621. ELSE;
  1622. MOV.F R16.z, {0, 0, 0, 0}.x;
  1623. ENDIF;
  1624. MOV.F R13.y, R30.w;
  1625. MOV.F R13.x, R30.y;
  1626. ADD.F32 R13.x, R13.y, -R13;
  1627. MOV.S R13.y, R13.x;
  1628. MOV.F R13.x, R27.z;
  1629. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  1630. TRUNC.U.CC HC.x, R13;
  1631. MOV.S R29.x, R16.z;
  1632. IF NE.x;
  1633. MOV.F R21.y, {1, 0, 0, 0}.x;
  1634. ELSE;
  1635. MOV.F R21.y, {0, 0, 0, 0}.x;
  1636. ENDIF;
  1637. MOV.F R16.z, R25;
  1638. MOV.F R16.w, c[15].x;
  1639. SNE.F32 R13.x, R16.z, {0, 0, 0, 0};
  1640. MUL.F32 R19.z, R16, R16.w;
  1641. TRUNC.U R16.z, R13.x;
  1642. SNE.F32 R13.x, R16.w, {0, 0, 0, 0};
  1643. MOV.F R16.w, R21.y;
  1644. TRUNC.U R13.x, R13;
  1645. AND.U.CC HC.x, R16.z, R13;
  1646. MOV.S R29.z, R16.w;
  1647. IF NE.x;
  1648. MOV.F R16.w, R19.z;
  1649. ELSE;
  1650. MOV.F R16.w, {0, 0, 0, 0}.x;
  1651. ENDIF;
  1652. MOV.F R13.x, c[15].y;
  1653. MOV.F R16.z, R24.y;
  1654. MUL.F32 R19.z, R16, R13.x;
  1655. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  1656. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  1657. TRUNC.U R16.z, R16;
  1658. TRUNC.U R13.x, R13;
  1659. AND.U.CC HC.x, R16.z, R13;
  1660. MOV.S R16.w, R16;
  1661. IF NE.x;
  1662. ELSE;
  1663. MOV.F R19.z, {0, 0, 0, 0}.x;
  1664. ENDIF;
  1665. MOV.F R16.z, R29;
  1666. MOV.F R13.x, R29;
  1667. ADD.F32 R13.x, R16.z, -R13;
  1668. MOV.S R13.x, R13;
  1669. MOV.S R16.z, R19;
  1670. ENDIF;
  1671. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  1672. MOV.U.CC RC.x, -R19.z;
  1673. IF NE.x;
  1674. MOV.F R21.y, R14.w;
  1675. MOV.F R21.z, c[15];
  1676. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  1677. MUL.F32 R23.x, R21.y, R21.z;
  1678. TRUNC.U R21.y, R19.z;
  1679. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  1680. AND.S R22.z, c[2].x, {65536, 0, 0, 0}.x;
  1681. I2F.S R21.z, R22;
  1682. TRUNC.U R19.z, R19;
  1683. AND.U.CC HC.x, R21.y, R19.z;
  1684. AND.S R28.w, c[2].x, {262144, 0, 0, 0}.x;
  1685. AND.S R28.x, c[2], {131072, 0, 0, 0};
  1686. MOV.S R27.z, R21;
  1687. IF NE.x;
  1688. MOV.F R21.y, R23.x;
  1689. ELSE;
  1690. MOV.F R21.y, {0, 0, 0, 0}.x;
  1691. ENDIF;
  1692. MOV.F R19.z, R27;
  1693. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  1694. TRUNC.U.CC HC.x, R19.z;
  1695. MOV.S R26.x, R21.y;
  1696. IF NE.x;
  1697. MOV.F R21.y, {1, 0, 0, 0}.x;
  1698. ELSE;
  1699. MOV.F R21.y, {0, 0, 0, 0}.x;
  1700. ENDIF;
  1701. MOV.F R19.z, R27;
  1702. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1703. TRUNC.U.CC HC.x, R19.z;
  1704. MOV.S R29.z, R21.y;
  1705. IF NE.x;
  1706. MOV.F R21.z, {1, 0, 0, 0}.x;
  1707. ELSE;
  1708. MOV.F R21.z, {0, 0, 0, 0}.x;
  1709. ENDIF;
  1710. I2F.S R21.y, R28.x;
  1711. MOV.S R19.z, R21.y;
  1712. SGT.F32 R21.y, {0, 0, 0, 0}.x, R21;
  1713. TRUNC.U.CC HC.x, R21.y;
  1714. MOV.S R29.w, R21.z;
  1715. IF NE.x;
  1716. MOV.F R22.z, {1, 0, 0, 0}.x;
  1717. ELSE;
  1718. MOV.F R22.z, {0, 0, 0, 0}.x;
  1719. ENDIF;
  1720. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1721. TRUNC.U.CC HC.x, R19.z;
  1722. MOV.F R21.y, R29.z;
  1723. MOV.F R21.z, R29.w;
  1724. ADD.F32 R21.y, R21.z, -R21;
  1725. MOV.S R30.y, R21;
  1726. MOV.F R21.y, R22.z;
  1727. MOV.S R30.x, R21.y;
  1728. IF NE.x;
  1729. MOV.F R21.y, {1, 0, 0, 0}.x;
  1730. ELSE;
  1731. MOV.F R21.y, {0, 0, 0, 0}.x;
  1732. ENDIF;
  1733. I2F.S R21.z, R28.w;
  1734. MOV.F R19.z, R30.x;
  1735. ADD.F32 R21.y, R21, -R19.z;
  1736. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  1737. TRUNC.U.CC HC.x, R19.z;
  1738. MOV.S R27.z, R21;
  1739. MOV.S R29.x, R21.y;
  1740. IF NE.x;
  1741. MOV.F R21.y, {1, 0, 0, 0}.x;
  1742. ELSE;
  1743. MOV.F R21.y, {0, 0, 0, 0}.x;
  1744. ENDIF;
  1745. MOV.F R19.z, R27;
  1746. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  1747. TRUNC.U.CC HC.x, R19.z;
  1748. MOV.S R29.y, R21;
  1749. IF NE.x;
  1750. MOV.F R22.z, {1, 0, 0, 0}.x;
  1751. ELSE;
  1752. MOV.F R22.z, {0, 0, 0, 0}.x;
  1753. ENDIF;
  1754. MOV.F R19.z, R30.y;
  1755. TRUNC.S R21.y, R19.z;
  1756. ADD.S R19.z, -R21.y, {0, 0, 0, 0}.x;
  1757. MAX.S R29.z, R21.y, R19;
  1758. MOV.F R21.z, R29.x;
  1759. TRUNC.S R21.z, R21;
  1760. MOV.F R21.y, R29;
  1761. MOV.F R19.z, c[14].w;
  1762. ADD.F32 R21.y, R21, -R22.z;
  1763. SEQ.F R19.z, R19, {1, 0, 0, 0}.x;
  1764. TRUNC.U.CC HC.x, R19.z;
  1765. ADD.S R29.x, -R21.z, {0, 0, 0, 0};
  1766. MOV.S R28.w, R21.z;
  1767. MOV.S R30.w, R21.y;
  1768. IF NE.x;
  1769. MOV.S R21.y, {-1, 0, 0, 0}.x;
  1770. ELSE;
  1771. MOV.S R21.y, {0, 0, 0, 0}.x;
  1772. ENDIF;
  1773. MOV.F R19.z, R30.w;
  1774. TRUNC.S R22.z, R19;
  1775. ADD.S R21.z, -R22, {0, 0, 0, 0}.x;
  1776. MAX.S R30.y, R28.w, R29.x;
  1777. MAX.S R29.x, R22.z, R21.z;
  1778. I2F.S R19.z, R29;
  1779. MUL.F32 R21.z, R19, {2, 0, 0, 0}.x;
  1780. MOV.F R22.z, R13;
  1781. SNE.F32 R19.z, -R21, {0, 0, 0, 0}.x;
  1782. MUL.F32 R23.z, -R21, R22;
  1783. TRUNC.U R21.z, R19;
  1784. SNE.F32 R19.z, R22, {0, 0, 0, 0}.x;
  1785. MOV.F R23.x, c[14].w;
  1786. ADD.F32 R22.z, -R23.x, {1, 0, 0, 0}.x;
  1787. TRUNC.U R19.z, R19;
  1788. AND.U.CC HC.x, R21.z, R19.z;
  1789. MOV.S R24.y, R22.z;
  1790. IF NE.x;
  1791. ELSE;
  1792. MOV.F R23.z, {0, 0, 0, 0}.x;
  1793. ENDIF;
  1794. MOV.F R21.z, R14;
  1795. SNE.F32 R22.z, R21, {0, 0, 0, 0}.x;
  1796. I2F.S R19.z, R30.y;
  1797. MUL.F32 R19.z, R19, {2, 0, 0, 0}.x;
  1798. MUL.F32 R23.x, R23.z, R21.z;
  1799. SNE.F32 R21.z, R23, {0, 0, 0, 0}.x;
  1800. TRUNC.U R22.z, R22;
  1801. TRUNC.U R21.z, R21;
  1802. AND.U.CC HC.x, R22.z, R21.z;
  1803. MOV.S R19.z, R19;
  1804. MOV.S R29.w, R23.z;
  1805. IF NE.x;
  1806. MOV.F R23.z, R23.x;
  1807. ELSE;
  1808. MOV.F R23.z, {0, 0, 0, 0}.x;
  1809. ENDIF;
  1810. MOV.F R21.z, R29.w;
  1811. MOV.F R22.z, R15.x;
  1812. MUL.F32 R23.x, R22.z, R21.z;
  1813. SNE.F32 R22.z, R22, {0, 0, 0, 0}.x;
  1814. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  1815. TRUNC.U R22.z, R22;
  1816. TRUNC.U R21.z, R21;
  1817. AND.U.CC HC.x, R22.z, R21.z;
  1818. MOV.S R30.x, R23.z;
  1819. IF NE.x;
  1820. MOV.F R23.z, R23.x;
  1821. ELSE;
  1822. MOV.F R23.z, {0, 0, 0, 0}.x;
  1823. ENDIF;
  1824. MOV.F R21.z, R13.y;
  1825. MOV.F R22.z, R19;
  1826. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  1827. MUL.F32 R23.x, -R22.z, R21.z;
  1828. SNE.F32 R21.z, -R22, {0, 0, 0, 0}.x;
  1829. TRUNC.U R19.z, R19;
  1830. TRUNC.U R21.z, R21;
  1831. AND.U.CC HC.x, R21.z, R19.z;
  1832. MOV.S R30.y, R23.z;
  1833. IF NE.x;
  1834. ELSE;
  1835. MOV.F R23.x, {0, 0, 0, 0};
  1836. ENDIF;
  1837. I2F.S R21.z, R29.x;
  1838. MOV.F R19.z, R13.x;
  1839. MUL.F32 R21.z, R21, {2, 0, 0, 0}.x;
  1840. MUL.F32 R22.z, -R21, R19;
  1841. SNE.F32 R21.z, -R21, {0, 0, 0, 0}.x;
  1842. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1843. TRUNC.U R21.z, R21;
  1844. TRUNC.U R19.z, R19;
  1845. AND.U.CC HC.x, R21.z, R19.z;
  1846. MOV.S R30.z, R23.x;
  1847. IF NE.x;
  1848. MOV.F R23.x, R22.z;
  1849. ELSE;
  1850. MOV.F R23.x, {0, 0, 0, 0};
  1851. ENDIF;
  1852. MOV.F R21.z, R14;
  1853. MOV.F R19.z, R30.x;
  1854. ADD.F32 R19.z, R21, R19;
  1855. MOV.S R26.y, R19.z;
  1856. MOV.F R19.z, R30;
  1857. MOV.F R21.z, R14.y;
  1858. MUL.F32 R22.z, R21, R19;
  1859. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  1860. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1861. TRUNC.U R21.z, R21;
  1862. TRUNC.U R19.z, R19;
  1863. AND.U.CC HC.x, R21.z, R19.z;
  1864. MOV.S R29.x, R23;
  1865. IF NE.x;
  1866. ELSE;
  1867. MOV.F R22.z, {0, 0, 0, 0}.x;
  1868. ENDIF;
  1869. MOV.F R19.z, R30.y;
  1870. ADD.F32 R15.x, R15, R19.z;
  1871. MOV.S R29.w, R15.x;
  1872. MOV.F R15.x, R30.z;
  1873. MOV.F R19.z, R15.y;
  1874. MUL.F32 R21.z, R19, R15.x;
  1875. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  1876. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1877. TRUNC.U R19.z, R19;
  1878. TRUNC.U R15.x, R15;
  1879. AND.U.CC HC.x, R19.z, R15;
  1880. MOV.S R29.z, R22;
  1881. IF NE.x;
  1882. MOV.F R19.z, R21;
  1883. ELSE;
  1884. MOV.F R19.z, {0, 0, 0, 0}.x;
  1885. ENDIF;
  1886. MOV.F R15.x, R29.z;
  1887. ADD.F32 R14.y, R14, R15.x;
  1888. MOV.S R28.x, R14.y;
  1889. MOV.F R14.y, R29.x;
  1890. MOV.F R15.x, R22;
  1891. MUL.F32 R21.z, R15.x, R14.y;
  1892. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  1893. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1894. TRUNC.U R14.y, R14;
  1895. TRUNC.U R15.x, R15;
  1896. AND.U.CC HC.x, R15, R14.y;
  1897. MOV.S R19.z, R19;
  1898. IF NE.x;
  1899. MOV.F R14.y, R21.z;
  1900. ELSE;
  1901. MOV.F R14.y, {0, 0, 0, 0}.x;
  1902. ENDIF;
  1903. MOV.F R15.x, R16.w;
  1904. MOV.F R16.w, R29;
  1905. ADD.F32 R15.x, R16.w, R15;
  1906. MOV.S R24.w, R15.x;
  1907. MOV.F R15.x, R19.z;
  1908. ADD.F32 R16.w, R15.y, R15.x;
  1909. MOV.F R15.x, R29;
  1910. MOV.F R15.y, R15.z;
  1911. MUL.F32 R19.z, R15.y, R15.x;
  1912. SNE.F32 R15.y, R15, {0, 0, 0, 0}.x;
  1913. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1914. TRUNC.U R15.y, R15;
  1915. TRUNC.U R15.x, R15;
  1916. AND.U.CC HC.x, R15.y, R15;
  1917. MOV.S R30.z, R16.w;
  1918. MOV.S R30.y, R14;
  1919. IF NE.x;
  1920. MOV.F R15.y, R19.z;
  1921. ELSE;
  1922. MOV.F R15.y, {0, 0, 0, 0}.x;
  1923. ENDIF;
  1924. MOV.F R14.y, R16.z;
  1925. MOV.F R15.x, R30.z;
  1926. ADD.F32 R15.x, R15, R14.y;
  1927. MOV.F R14.y, R15.z;
  1928. ADD.F32 R14.y, R14, R15;
  1929. MOV.S R24.x, R15;
  1930. MOV.S R29.y, R14;
  1931. MOV.F R14.y, c[14].w;
  1932. MAX.F R14.y, R14, {0, 0, 0, 0}.x;
  1933. LG2.F32 R16.w, R14.y;
  1934. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  1935. MOV.F R15.x, R30.y;
  1936. MOV.F R15.y, R22.x;
  1937. ADD.F32 R15.y, R15, R15.x;
  1938. MUL.F32 R15.x, R16.w, {2, 0, 0, 0};
  1939. SEQ.F R15.x, R16.w, R15;
  1940. TRUNC.U R14.y, R14;
  1941. TRUNC.U R15.x, R15;
  1942. AND.U R14.y, R15.x, R14;
  1943. SEQ.U R14.y, R14, {1, 0, 0, 0}.x;
  1944. MOV.U.CC RC.x, -R14.y;
  1945. MOV.S R28.w, R15.y;
  1946. IF NE.x;
  1947. MOV.F R16.w, {-3.40282347e+38, 0, 0, 0}.x;
  1948. ENDIF;
  1949. MOV.F R15.x, R13.w;
  1950. MUL.F32 R15.y, R15.x, R16.w;
  1951. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  1952. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1953. TRUNC.U R14.y, R14;
  1954. TRUNC.U R15.x, R15;
  1955. AND.U.CC HC.x, R15, R14.y;
  1956. IF NE.x;
  1957. MOV.F R14.y, R15;
  1958. ELSE;
  1959. MOV.F R14.y, {0, 0, 0, 0}.x;
  1960. ENDIF;
  1961. MOV.S R14.y, R14;
  1962. MOV.F R15.y, R14;
  1963. MOV.F R15.x, R29.y;
  1964. MOV.F R14.y, R26.x;
  1965. ADD.F32 R14.y, R15.x, R14;
  1966. EX2.F32 R15.y, R15.y;
  1967. ADD.F32 R15.x, -R15.y, {1, 0, 0, 0};
  1968. MOV.S R26.w, R14.y;
  1969. MOV.S R14.y, R15.x;
  1970. MOV.F R15.x, R24.y;
  1971. DIV.F32 R15.x, R14.y, R15.x;
  1972. SEQ.S R14.y, R21, {0, 0, 0, 0}.x;
  1973. MOV.U.CC RC.x, -R14.y;
  1974. MOV.S R29.w, R15.x;
  1975. IF NE.x;
  1976. MOV.S R19.z, R29.w;
  1977. ELSE;
  1978. MOV.S R19.z, R13.w;
  1979. ENDIF;
  1980. MOV.F R14.y, R19.z;
  1981. MOV.F R15.x, R28;
  1982. MUL.F32 R15.y, R15.x, R14;
  1983. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  1984. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1985. TRUNC.U R14.y, R14;
  1986. TRUNC.U R15.x, R15;
  1987. AND.U.CC HC.x, R15, R14.y;
  1988. IF NE.x;
  1989. MOV.F R16.w, R15.y;
  1990. ELSE;
  1991. MOV.F R16.w, {0, 0, 0, 0}.x;
  1992. ENDIF;
  1993. MOV.F R14.y, R19.z;
  1994. MOV.F R15.x, R26.y;
  1995. MUL.F32 R15.y, R15.x, R14;
  1996. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  1997. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  1998. TRUNC.U R15.x, R15;
  1999. TRUNC.U R14.y, R14;
  2000. AND.U.CC HC.x, R15, R14.y;
  2001. MOV.S R29.x, R16.w;
  2002. IF NE.x;
  2003. MOV.F R16.w, R15.y;
  2004. ELSE;
  2005. MOV.F R16.w, {0, 0, 0, 0}.x;
  2006. ENDIF;
  2007. MOV.F R14.y, R19.z;
  2008. MOV.F R15.x, R28.w;
  2009. MUL.F32 R15.y, R15.x, R14;
  2010. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  2011. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  2012. TRUNC.U R15.x, R15;
  2013. TRUNC.U R14.y, R14;
  2014. AND.U.CC HC.x, R15, R14.y;
  2015. MOV.S R29.y, R16.w;
  2016. IF NE.x;
  2017. MOV.F R21.y, R15;
  2018. ELSE;
  2019. MOV.F R21.y, {0, 0, 0, 0}.x;
  2020. ENDIF;
  2021. MOV.F R15.x, R24.w;
  2022. MOV.F R14.y, R29;
  2023. ADD.F32 R14.y, R15.x, R14;
  2024. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  2025. FRC.F32 R14.y, R14;
  2026. MAD.F32 R14.y, R14, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  2027. MUL.F32 R14.y, R14, {0.159154937, 0, 0, 0}.x;
  2028. MOV.S R14.y, R14;
  2029. MOV.F R15.y, R24.x;
  2030. MOV.F R15.x, R29;
  2031. ADD.F32 R15.x, R15.y, R15;
  2032. MOV.S R16.w, R15.x;
  2033. MOV.F R15.x, R14.y;
  2034. MUL.F32 R19.z, R15.x, {6.28318548, 0, 0, 0}.x;
  2035. SIN.F32 R15.x, R19.z;
  2036. MOV.F R14.y, R26.w;
  2037. ADD.F32 R14.y, R14, R21;
  2038. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  2039. MOV.S R15.y, R15.x;
  2040. FRC.F32 R15.x, R14.y;
  2041. COS.F32 R14.y, R19.z;
  2042. MAD.F32 R19.z, R15.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  2043. MOV.S R22.x, R14.y;
  2044. MUL.F32 R14.y, R19.z, {0.159154937, 0, 0, 0}.x;
  2045. MOV.S R15.x, R14.y;
  2046. SIN.F32 R14.y, R19.z;
  2047. MOV.S R14.y, R14;
  2048. ENDIF;
  2049. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  2050. MOV.U.CC RC.x, -R19.z;
  2051. IF NE.x;
  2052. MOV.F R11.z, R6;
  2053. MOV.F R3.w, c[16].x;
  2054. ADD.F32 R3.w, -R11.z, R3;
  2055. MOV.S R11.z, R3.w;
  2056. MOV.S R3.w, R11.z;
  2057. SGT.F32 R3.w, -R3, {0, 0, 0, 0}.x;
  2058. TRUNC.U.CC HC.x, R3.w;
  2059. MOV.F R13.x, c[16].z;
  2060. MOV.F R13.y, R14.x;
  2061. ADD.F32 R13.x, -R13.y, R13;
  2062. MOV.S R24.x, R13;
  2063. MOV.S R26.y, R11.z;
  2064. IF NE.x;
  2065. MOV.F R11.z, {1, 0, 0, 0}.x;
  2066. ELSE;
  2067. MOV.F R11.z, {0, 0, 0, 0}.x;
  2068. ENDIF;
  2069. MOV.F R3.w, R26.y;
  2070. SEQ.F R3.w, -R3, {0, 0, 0, 0}.x;
  2071. TRUNC.U.CC HC.x, R3.w;
  2072. MOV.S R30.x, R11.z;
  2073. IF NE.x;
  2074. MOV.S R11.z, {-1, 0, 0, 0}.x;
  2075. ELSE;
  2076. MOV.S R11.z, {0, 0, 0, 0}.x;
  2077. ENDIF;
  2078. MOV.F R3.w, R24.x;
  2079. SEQ.F R3.w, R3, {0, 0, 0, 0}.x;
  2080. TRUNC.U.CC HC.x, R3.w;
  2081. IF NE.x;
  2082. MOV.S R3.w, {-1, 0, 0, 0}.x;
  2083. ELSE;
  2084. MOV.S R3.w, {0, 0, 0, 0}.x;
  2085. ENDIF;
  2086. MOV.F R13.x, R26.y;
  2087. SGT.F32 R13.x, {0, 0, 0, 0}, -R13;
  2088. TRUNC.U.CC HC.x, R13;
  2089. IF NE.x;
  2090. MOV.F R13.z, {1, 0, 0, 0}.x;
  2091. ELSE;
  2092. MOV.F R13.z, {0, 0, 0, 0}.x;
  2093. ENDIF;
  2094. MOV.F R13.y, R24.x;
  2095. MOV.F R13.x, R26.y;
  2096. DIV.F32 R13.x, -R13, R13.y;
  2097. MOV.S R29.x, R13;
  2098. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  2099. TRUNC.U.CC HC.x, R13;
  2100. MOV.S R30.w, R13.z;
  2101. IF NE.x;
  2102. MOV.S R14.z, {-1, 0, 0, 0}.x;
  2103. ELSE;
  2104. MOV.S R14.z, {0, 0, 0, 0}.x;
  2105. ENDIF;
  2106. MOV.F R13.y, R30.x;
  2107. MOV.F R13.x, R30.w;
  2108. ADD.F32 R13.x, R13.y, -R13;
  2109. MOV.F R13.y, R15.x;
  2110. MOV.S R28.z, R13.x;
  2111. MUL.F32 R13.y, R13, {6.28318548, 0, 0, 0}.x;
  2112. MOV.F R13.x, R29;
  2113. COS.F32 R13.y, R13.y;
  2114. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  2115. TRUNC.U.CC HC.x, R13;
  2116. MOV.S R28.x, R13.y;
  2117. IF NE.x;
  2118. MOV.F R13.y, {1, 0, 0, 0}.x;
  2119. ELSE;
  2120. MOV.F R13.y, {0, 0, 0, 0}.x;
  2121. ENDIF;
  2122. MOV.F R13.x, R29;
  2123. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  2124. TRUNC.U.CC HC.x, R13;
  2125. MOV.S R30.x, R13.y;
  2126. IF NE.x;
  2127. MOV.F R13.y, {1, 0, 0, 0}.x;
  2128. ELSE;
  2129. MOV.F R13.y, {0, 0, 0, 0}.x;
  2130. ENDIF;
  2131. MOV.F R13.z, R13.y;
  2132. MOV.F R13.x, R29;
  2133. MAX.F R13.x, R13, -R13;
  2134. MOV.S R25.z, R13.x;
  2135. MOV.F R13.x, R14.z;
  2136. MOV.F R13.y, R11.z;
  2137. SNE.F32 R11.z, R13.x, {0, 0, 0, 0}.x;
  2138. MUL.F32 R14.z, R13.y, R13.x;
  2139. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  2140. TRUNC.U R11.z, R11;
  2141. TRUNC.U R13.x, R13;
  2142. AND.U.CC HC.x, R13, R11.z;
  2143. MOV.S R30.y, R13.z;
  2144. IF NE.x;
  2145. MOV.F R13.x, R14.z;
  2146. ELSE;
  2147. MOV.F R13.x, {0, 0, 0, 0};
  2148. ENDIF;
  2149. MOV.F R11.z, R28;
  2150. MUL.F32 R11.z, R11, {1.57079637, 0, 0, 0}.x;
  2151. MOV.S R15.z, R11;
  2152. MOV.F R11.z, R25;
  2153. SGT.F32 R11.z, R11, {1, 0, 0, 0}.x;
  2154. TRUNC.U.CC HC.x, R11.z;
  2155. MOV.S R26.w, R13.x;
  2156. IF NE.x;
  2157. MOV.S R13.y, {-1, 0, 0, 0}.x;
  2158. ELSE;
  2159. MOV.S R13.y, {0, 0, 0, 0}.x;
  2160. ENDIF;
  2161. MOV.F R11.z, R30.x;
  2162. MOV.F R13.x, R30.y;
  2163. ADD.F32 R13.x, R13, -R11.z;
  2164. MOV.F R11.z, R25;
  2165. MOV.S R29.w, R13.x;
  2166. RCP.F32 R13.x, R11.z;
  2167. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  2168. MOV.U.CC RC.x, -R11.z;
  2169. MOV.S R19.z, R13.x;
  2170. IF NE.x;
  2171. MOV.S R14.w, R25.z;
  2172. ELSE;
  2173. MOV.S R14.w, R19.z;
  2174. ENDIF;
  2175. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  2176. MOV.U.CC RC.x, -R11.z;
  2177. IF NE.x;
  2178. MOV.F R13.x, R29.w;
  2179. [15:03:07] Link error in shader. Log:
  2180. [15:03:07] Vertex info
  2181. -----------
  2182. Internal error: assembly compile error for vertex shader at offset 2332:
  2183. -- error message --
  2184. line 48, column 45: error: invalid vertex attribute reference
  2185. line 55, column 25: error: invalid vertex attribute reference
  2186. line 57, column 25: error: invalid vertex attribute reference
  2187. line 59, column 25: error: invalid vertex attribute reference
  2188. line 62, column 25: error: invalid vertex attribute reference
  2189. -- internal assembly text --
  2190. !!NVvp5.0
  2191. OPTION NV_internal;
  2192. OPTION NV_gpu_program_fp64;
  2193. OPTION NV_bindless_texture;
  2194. # cgc version 3.4.0001, build date Sep 5 2019
  2195. # command line args:
  2196. #vendor NVIDIA Corporation
  2197. #version 3.4.0.1 COP Build Date Sep 5 2019
  2198. #profile gp5vp
  2199. #program main
  2200. #semantic textureUnitVS13 : TEXUNIT[1]
  2201. #semantic textureUnitVS8 : TEXUNIT[0]
  2202. #semantic uf_remappedVS
  2203. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  2204. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  2205. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  2206. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  2207. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  2208. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  2209. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  2210. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  2211. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  2212. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  2213. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  2214. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  2215. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  2216. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  2217. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  2218. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  2219. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  2220. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  2221. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  2222. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  2223. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  2224. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  2225. #var float4 passParameterSem15 : $vout.ATTR8 : ATTR8 : -1 : 1
  2226. #var float4 passParameterSem16 : $vout.ATTR9 : ATTR9 : -1 : 1
  2227. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  2228. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  2229. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  2230. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  2231. #var float4 passParameterSem9 : $vout.ATTR6 : ATTR6 : -1 : 1
  2232. #var ulong textureUnitVS13 : TEXUNIT[1] : c[65] : -1 : 1
  2233. #var ulong textureUnitVS8 : TEXUNIT[0] : c[66] : -1 : 1
  2234. #var int4 uf_remappedVS[0] : : c[0], 65 : -1 : 1
  2235. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  2236. PARAM c[67] = { program.local[0..66] };
  2237. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  2238. OUTPUT result_attrib[] = { result.attrib[0..9] };
  2239. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34;
  2240. LONG TEMP D0;
  2241. TEMP T;
  2242. TEMP RC;
  2243. SHORT TEMP HC;
  2244. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  2245. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2246. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  2247. OR.U R0, R0, R1;
  2248. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  2249. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2250. OR.U R0, R0, R1;
  2251. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  2252. OR.U R9, R0, R2;
  2253. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  2254. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2255. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  2256. OR.U R0, R0, R1;
  2257. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  2258. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2259. OR.U R0, R0, R1;
  2260. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  2261. OR.U R27, R0, R2;
  2262. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  2263. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2264. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  2265. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  2266. OR.U R1, R1, R2;
  2267. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  2268. OR.U R0, R1, R0;
  2269. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  2270. OR.U R10, R0, R2;
  2271. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  2272. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2273. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  2274. OR.U R1, R1, R2;
  2275. MOV.U R0.x, R27.w;
  2276. MOV.F R0.y, c[0].x;
  2277. ADD.F32 R3.x, -R0, R0.y;
  2278. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  2279. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  2280. OR.U R1, R1, R2;
  2281. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  2282. OR.U R12, R1, R0;
  2283. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  2284. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2285. MOV.S R13.w, R3.x;
  2286. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  2287. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  2288. TRUNC.U R19.x, R3;
  2289. SEQ.U R3.x, R19, {1, 0, 0, 0};
  2290. SEQ.U R19.y, -R3.x, {1, 0, 0, 0}.x;
  2291. MOV.U.CC RC.x, -R19.y;
  2292. OR.U R0, R0, R1;
  2293. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  2294. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2295. OR.U R0, R0, R1;
  2296. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  2297. OR.U R14, R0, R2;
  2298. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  2299. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2300. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  2301. OR.U R0, R0, R1;
  2302. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  2303. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2304. OR.U R0, R0, R1;
  2305. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  2306. OR.U R15, R0, R2;
  2307. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  2308. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2309. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  2310. OR.U R0, R0, R1;
  2311. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  2312. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2313. OR.U R0, R0, R1;
  2314. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  2315. OR.U R16, R0, R2;
  2316. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  2317. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2318. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  2319. OR.U R0, R0, R1;
  2320. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  2321. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2322. OR.U R0, R0, R1;
  2323. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  2324. OR.U R18, R0, R2;
  2325. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2326. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2327. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2328. OR.U R0.xyz, R0, R1;
  2329. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2330. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2331. OR.U R0.xyz, R0, R1;
  2332. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2333. OR.U R32.xyz, R0, R2;
  2334. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  2335. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2336. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  2337. OR.U R0.xyz, R0, R1;
  2338. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  2339. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2340. OR.U R0.xyz, R0, R1;
  2341. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  2342. OR.U R28.xyz, R0, R2;
  2343. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2344. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2345. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2346. OR.U R0.xyz, R0, R1;
  2347. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2348. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2349. OR.U R0.xyz, R0, R1;
  2350. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2351. OR.U R11.xyz, R0, R2;
  2352. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2353. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2354. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2355. OR.U R0.xyz, R0, R1;
  2356. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2357. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2358. OR.U R0.xyz, R0, R1;
  2359. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2360. OR.U R30.xyz, R0, R2;
  2361. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2362. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2363. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2364. OR.U R0.xyz, R0, R1;
  2365. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2366. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2367. OR.U R0.xyz, R0, R1;
  2368. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2369. OR.U R13.xyz, R0, R2;
  2370. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2371. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2372. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2373. OR.U R0.xyz, R0, R1;
  2374. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2375. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2376. OR.U R0.xyz, R0, R1;
  2377. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2378. OR.U R25.xyz, R0, R2;
  2379. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2380. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2381. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2382. OR.U R0.xyz, R0, R1;
  2383. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2384. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2385. OR.U R0.xyz, R0, R1;
  2386. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2387. OR.U R17.xyz, R0, R2;
  2388. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2389. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  2390. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2391. OR.U R1.xy, R1, R1.zwzw;
  2392. SHL.U R8.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2393. AND.U R1.zw, R8.xyxy, {16711680, 0, 0, 0}.x;
  2394. SHL.U R8.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2395. OR.U R1.xy, R1, R1.zwzw;
  2396. OR.U R29.xy, R1, R8;
  2397. MOV.U R8.x, R29;
  2398. MOV.F R8.z, R8.x;
  2399. MOV.U R8.y, R29;
  2400. ADD.F32 R8.x, -R8.y, {1, 0, 0, 0};
  2401. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  2402. MOV.S R29.z, R8.x;
  2403. MOV.S R11.w, R8.y;
  2404. MOV.S R2, {0, 0, 0, 0}.x;
  2405. MOV.S R0, {0, 0, 0, 0}.x;
  2406. MOV.S R3, {0, 0, 0, 0}.x;
  2407. MOV.S R4, {0, 0, 0, 0}.x;
  2408. MOV.S R5, {0, 0, 0, 0}.x;
  2409. MOV.S R6, {0, 0, 0, 0}.x;
  2410. MOV.S R7, {0, 0, 0, 0}.x;
  2411. MOV.S R1, {0, 0, 0, 0}.x;
  2412. MOV.S R31.xyz, {0, 0, 0, 0}.x;
  2413. MOV.S R33.xy, {0, 0, 0, 0}.x;
  2414. MOV.S R8.yz, {0, 0, 0, 0};
  2415. MOV.S R8.x, vertex.id;
  2416. MOV.S R8.w, vertex.instance.x;
  2417. MOV.S R25.w, {0, 0, 0, 0}.x;
  2418. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  2419. IF NE.x;
  2420. MOV.F R3.z, c[1].y;
  2421. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2422. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  2423. MOV.S R33.xy, {0, 0, 0, 0}.x;
  2424. MOV.S R3.z, R3;
  2425. MOV.S R18.w, {1065353216, 0, 0, 0}.x;
  2426. ENDIF;
  2427. SEQ.U R19.x, R19, {0, 0, 0, 0};
  2428. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2429. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2430. MOV.U.CC RC.x, -R19;
  2431. IF NE.x;
  2432. MOV.S R18.w, {0, 0, 0, 0}.x;
  2433. ENDIF;
  2434. SEQ.S R19.x, R18.w, {0, 0, 0, 0};
  2435. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  2436. SEQ.U R19.z, -R19.y, {1, 0, 0, 0}.x;
  2437. MOV.U.CC RC.x, -R19.z;
  2438. MOV.U R19.x, -R19;
  2439. MOV.U R34.x, -R19.y;
  2440. IF NE.x;
  2441. MOV.F R19.y, R10.w;
  2442. TRUNC.S R19.y, R19;
  2443. I2F.S R19.y, R19;
  2444. MOV.F R19.z, R13.w;
  2445. SGE.F32 R19.z, R19, R19.y;
  2446. TRUNC.U R19.z, R19;
  2447. SEQ.U R19.w, R34.x, {1, 0, 0, 0}.x;
  2448. SEQ.U R19.z, R19, {1, 0, 0, 0}.x;
  2449. AND.U R27.w, -R19.z, -R19;
  2450. MOV.S R31.x, R19.y;
  2451. MOV.S R31.yz, {0, 0, 0, 0}.x;
  2452. ELSE;
  2453. MOV.U R27.w, {0, 0, 0, 0}.x;
  2454. ENDIF;
  2455. SEQ.U R19.y, R27.w, {1, 0, 0, 0}.x;
  2456. MOV.U.CC RC.x, -R19.y;
  2457. IF NE.x;
  2458. MOV.F R3.z, c[1].y;
  2459. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2460. MOV.S R3.xy, {0, 0, 0, 0};
  2461. MOV.S R3.z, R3;
  2462. MOV.S R33.x, {0, 0, 0, 0};
  2463. MOV.S R25.w, {1065353216, 0, 0, 0}.x;
  2464. ENDIF;
  2465. SEQ.U R19.x, R19, {1, 0, 0, 0};
  2466. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  2467. MOV.U.CC RC.x, -R19.y;
  2468. MOV.U R34.x, -R19;
  2469. IF NE.x;
  2470. SEQ.S R19.x, R25.w, {0, 0, 0, 0};
  2471. MOV.U R34.y, -R19.x;
  2472. SEQ.U R19.y, R34.x, {1, 0, 0, 0}.x;
  2473. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2474. AND.U R27.w, -R19.x, -R19.y;
  2475. ELSE;
  2476. MOV.U R34.y, {0, 0, 0, 0}.x;
  2477. MOV.U R27.w, {0, 0, 0, 0}.x;
  2478. ENDIF;
  2479. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  2480. MOV.U.CC RC.x, -R19;
  2481. IF NE.x;
  2482. MOV.F R8.x, R12.y;
  2483. MOV.F R8.y, R12.z;
  2484. ADD.F32 R8.z, R8.x, R8.y;
  2485. MOV.F R8.w, R12.x;
  2486. ADD.F32 R8.y, R8, R8.w;
  2487. MOV.S R19.z, R8;
  2488. ADD.F32 R8.z, R8.x, R8.w;
  2489. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  2490. MUL.F32 R8.z, R8, {0.5, 0, 0, 0}.x;
  2491. MOV.S R20.x, R8.y;
  2492. MUL.F32 R8.y, R8.w, {2, 0, 0, 0}.x;
  2493. MOV.S R22.w, R8.x;
  2494. AND.S R8.x, c[2], {65536, 0, 0, 0};
  2495. I2F.S R8.x, R8;
  2496. MOV.S R20.y, R8;
  2497. SGT.F32 R8.y, R8.x, {0, 0, 0, 0}.x;
  2498. TRUNC.U.CC HC.x, R8.y;
  2499. MOV.S R21.x, R8.z;
  2500. AND.S R19.y, c[2].x, {131072, 0, 0, 0}.x;
  2501. AND.S R19.x, c[2], {262144, 0, 0, 0};
  2502. MOV.S R23.z, R8.x;
  2503. IF NE.x;
  2504. MOV.F R8.x, {1, 0, 0, 0};
  2505. ELSE;
  2506. MOV.F R8.x, {0, 0, 0, 0};
  2507. ENDIF;
  2508. MOV.F R8.y, R20.x;
  2509. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  2510. MOV.F R8.z, R22.w;
  2511. MOV.S R21.y, R8;
  2512. FLR.F R8.y, R8.z;
  2513. MOV.S R20.z, R8.y;
  2514. MOV.F R8.y, R23.z;
  2515. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2516. TRUNC.U.CC HC.x, R8.y;
  2517. MOV.S R24.x, R8;
  2518. IF NE.x;
  2519. MOV.F R8.x, {1, 0, 0, 0};
  2520. ELSE;
  2521. MOV.F R8.x, {0, 0, 0, 0};
  2522. ENDIF;
  2523. I2F.S R8.y, R19.x;
  2524. MOV.F R8.z, R24.x;
  2525. MOV.S R22.w, R8.y;
  2526. ADD.F32 R8.x, R8.z, -R8;
  2527. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2528. TRUNC.U.CC HC.x, R8.y;
  2529. MOV.S R22.x, R8;
  2530. IF NE.x;
  2531. MOV.F R8.x, {1, 0, 0, 0};
  2532. ELSE;
  2533. MOV.F R8.x, {0, 0, 0, 0};
  2534. ENDIF;
  2535. MOV.F R8.y, R22.w;
  2536. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2537. TRUNC.U.CC HC.x, R8.y;
  2538. MOV.S R22.y, R8.x;
  2539. IF NE.x;
  2540. MOV.F R8.x, {1, 0, 0, 0};
  2541. ELSE;
  2542. MOV.F R8.x, {0, 0, 0, 0};
  2543. ENDIF;
  2544. MOV.F R8.z, R22.y;
  2545. ADD.F32 R8.x, R8, -R8.z;
  2546. MOV.F R8.y, R12.z;
  2547. MUL.F32 R8.y, R8, {2, 0, 0, 0}.x;
  2548. MOV.S R20.w, R8.y;
  2549. I2F.S R8.y, R19;
  2550. MOV.S R23.z, R8.y;
  2551. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2552. TRUNC.U.CC HC.x, R8.y;
  2553. MOV.F R8.z, R20.y;
  2554. MOV.S R24.x, R8;
  2555. FLR.F R8.x, R8.z;
  2556. MOV.S R23.y, R8.x;
  2557. IF NE.x;
  2558. MOV.F R8.x, {1, 0, 0, 0};
  2559. ELSE;
  2560. MOV.F R8.x, {0, 0, 0, 0};
  2561. ENDIF;
  2562. MOV.F R8.y, R23.z;
  2563. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2564. TRUNC.U.CC HC.x, R8.y;
  2565. MOV.S R24.z, R8.x;
  2566. IF NE.x;
  2567. MOV.F R8.x, {1, 0, 0, 0};
  2568. ELSE;
  2569. MOV.F R8.x, {0, 0, 0, 0};
  2570. ENDIF;
  2571. MOV.F R8.y, R22.x;
  2572. TRUNC.S R8.y, R8;
  2573. MOV.F R8.z, R24;
  2574. ADD.F32 R8.x, R8, -R8.z;
  2575. MOV.S R20.y, R8;
  2576. ADD.S R22.x, -R8.y, {0, 0, 0, 0};
  2577. MOV.F R8.y, c[3].x;
  2578. MOV.S R19.y, R8.x;
  2579. SGT.F32 R8.x, R8.y, {0, 0, 0, 0};
  2580. TRUNC.U.CC HC.x, R8;
  2581. IF NE.x;
  2582. MOV.F R8.x, {1, 0, 0, 0};
  2583. ELSE;
  2584. MOV.F R8.x, {0, 0, 0, 0};
  2585. ENDIF;
  2586. MOV.F R8.y, c[3].x;
  2587. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2588. TRUNC.U.CC HC.x, R8.y;
  2589. MOV.S R21.z, R8.x;
  2590. IF NE.x;
  2591. MOV.F R8.x, {1, 0, 0, 0};
  2592. ELSE;
  2593. MOV.F R8.x, {0, 0, 0, 0};
  2594. ENDIF;
  2595. MOV.F R8.y, R24.x;
  2596. TRUNC.S R19.w, R8.y;
  2597. MOV.F R8.y, R19.z;
  2598. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  2599. MOV.S R20.x, R8.y;
  2600. MOV.F R8.y, R12.x;
  2601. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  2602. MOV.F R8.z, c[4].y;
  2603. MUL.F32 R8.y, R8, R8.z;
  2604. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  2605. TRUNC.U R8.w, R8;
  2606. TRUNC.U R8.z, R8;
  2607. AND.U.CC HC.x, R8.w, R8.z;
  2608. MOV.S R34.w, R20.y;
  2609. MOV.S R21.w, R8.x;
  2610. IF NE.x;
  2611. MOV.F R8.x, R8.y;
  2612. ELSE;
  2613. MOV.F R8.x, {0, 0, 0, 0};
  2614. ENDIF;
  2615. MOV.F R8.z, R21.y;
  2616. ADD.S R8.y, -R19.w, {0, 0, 0, 0}.x;
  2617. MAX.S R21.y, R19.w, R8;
  2618. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2619. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  2620. MOV.F R8.y, R20.z;
  2621. MOV.S R23.x, R8.z;
  2622. MOV.F R8.z, R21.x;
  2623. MOV.F R8.w, R19.y;
  2624. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2625. MUL.F32 R10.w, R8.z, {2, 0, 0, 0}.x;
  2626. TRUNC.S R21.x, R8.w;
  2627. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2628. TRUNC.U.CC HC.x, R8.y;
  2629. MOV.F R8.z, c[3].x;
  2630. MOV.F R8.w, R13;
  2631. DIV.F32 R8.z, R8.w, R8.z;
  2632. MAX.S R23.w, R34, R22.x;
  2633. MOV.S R19.w, R8.z;
  2634. MOV.S R19.z, R10.w;
  2635. MOV.S R20.y, R8.x;
  2636. IF NE.x;
  2637. MOV.F R8.x, {1, 0, 0, 0};
  2638. ELSE;
  2639. MOV.F R8.x, {0, 0, 0, 0};
  2640. ENDIF;
  2641. MOV.F R8.y, R20.z;
  2642. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2643. TRUNC.U.CC HC.x, R8.y;
  2644. MOV.S R19.x, R8;
  2645. IF NE.x;
  2646. MOV.F R8.y, {1, 0, 0, 0}.x;
  2647. ELSE;
  2648. MOV.F R8.y, {0, 0, 0, 0}.x;
  2649. ENDIF;
  2650. MOV.F R8.x, R20.w;
  2651. FLR.F R8.x, R8;
  2652. MOV.F R8.z, c[5].w;
  2653. MAX.F R8.z, R8, {0, 0, 0, 0}.x;
  2654. MOV.S R20.z, R8.x;
  2655. LG2.F32 R8.x, R8.z;
  2656. MUL.F32 R8.z, R8.x, {2, 0, 0, 0}.x;
  2657. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  2658. SEQ.F R8.z, R8.x, R8;
  2659. TRUNC.U R8.w, R8;
  2660. TRUNC.U R8.z, R8;
  2661. AND.U R8.z, R8, R8.w;
  2662. SEQ.U R8.z, R8, {1, 0, 0, 0}.x;
  2663. MOV.U.CC RC.x, -R8.z;
  2664. ADD.S R20.w, -R21.x, {0, 0, 0, 0}.x;
  2665. MOV.S R19.y, R8;
  2666. IF NE.x;
  2667. MOV.F R8.x, {-3.40282347e+38, 0, 0, 0};
  2668. ENDIF;
  2669. MOV.F R8.z, R13.w;
  2670. MUL.F32 R8.y, R8.z, R8.x;
  2671. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  2672. SNE.F32 R8.x, R8.z, {0, 0, 0, 0};
  2673. TRUNC.U R8.z, R8.w;
  2674. TRUNC.U R8.x, R8;
  2675. AND.U.CC HC.x, R8, R8.z;
  2676. MOV.S R34.w, R23.y;
  2677. IF NE.x;
  2678. MOV.F R8.x, R8.y;
  2679. ELSE;
  2680. MOV.F R8.x, {0, 0, 0, 0};
  2681. ENDIF;
  2682. MOV.F R8.z, R21.w;
  2683. MOV.F R8.y, R21.z;
  2684. ADD.F32 R8.y, R8, -R8.z;
  2685. MOV.S R23.y, R8;
  2686. MOV.F R8.y, R34.w;
  2687. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2688. TRUNC.U.CC HC.x, R8.y;
  2689. MOV.S R8.x, R8;
  2690. IF NE.x;
  2691. MOV.F R8.y, {1, 0, 0, 0}.x;
  2692. ELSE;
  2693. MOV.F R8.y, {0, 0, 0, 0}.x;
  2694. ENDIF;
  2695. MOV.F R8.z, R34.w;
  2696. SGT.F32 R8.z, R8, {0, 0, 0, 0}.x;
  2697. TRUNC.U.CC HC.x, R8.z;
  2698. MOV.S R22.z, R8.y;
  2699. IF NE.x;
  2700. MOV.F R8.z, {1, 0, 0, 0}.x;
  2701. ELSE;
  2702. MOV.F R8.z, {0, 0, 0, 0}.x;
  2703. ENDIF;
  2704. MOV.F R8.w, R19;
  2705. MOV.F R8.y, R20;
  2706. ADD.F32 R8.y, R8, R8.w;
  2707. MOV.S R21.z, R8.y;
  2708. MOV.F R8.w, R19.z;
  2709. MOV.S R8.y, R19;
  2710. SNE.F32 R19.y, R8.w, {0, 0, 0, 0}.x;
  2711. MOV.F R10.w, c[6].x;
  2712. MUL.F32 R8.w, R8, R10;
  2713. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2714. TRUNC.U R19.y, R19;
  2715. TRUNC.U R10.w, R10;
  2716. AND.U.CC HC.x, R19.y, R10.w;
  2717. MOV.S R34.w, R21.x;
  2718. MOV.S R22.w, R8.z;
  2719. IF NE.x;
  2720. MOV.F R8.z, R8.w;
  2721. ELSE;
  2722. MOV.F R8.z, {0, 0, 0, 0}.x;
  2723. ENDIF;
  2724. MAX.S R19.z, R34.w, R20.w;
  2725. MOV.F R10.w, R22.z;
  2726. MOV.F R8.w, R22;
  2727. ADD.F32 R8.w, R8, -R10;
  2728. MOV.S R19.y, R8.w;
  2729. MOV.F R8.w, R19.x;
  2730. ADD.F32 R8.y, R8, -R8.w;
  2731. MOV.F R8.w, R23.x;
  2732. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  2733. MOV.F R10.w, c[6].z;
  2734. MOV.S R20.w, R8.y;
  2735. MUL.F32 R8.y, R8.w, R10.w;
  2736. MOV.F R8.w, R31.x;
  2737. TRUNC.U R19.w, R19.x;
  2738. RCP.F32 R8.w, R8.w;
  2739. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2740. MOV.S R19.x, R8.w;
  2741. TRUNC.U R8.w, R10;
  2742. AND.U.CC HC.x, R19.w, R8.w;
  2743. MOV.S R34.w, R20.x;
  2744. MOV.S R21.x, R8.z;
  2745. IF NE.x;
  2746. ELSE;
  2747. MOV.F R8.y, {0, 0, 0, 0}.x;
  2748. ENDIF;
  2749. MOV.F R8.z, R34.w;
  2750. MOV.F R8.w, R20.z;
  2751. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2752. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  2753. SGT.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2754. TRUNC.U.CC HC.x, R8.w;
  2755. MOV.S R20.y, R8.z;
  2756. MOV.S R20.x, R8.y;
  2757. IF NE.x;
  2758. MOV.F R8.y, {1, 0, 0, 0}.x;
  2759. ELSE;
  2760. MOV.F R8.y, {0, 0, 0, 0}.x;
  2761. ENDIF;
  2762. MOV.F R8.z, R20;
  2763. SGT.F32 R8.z, {0, 0, 0, 0}.x, R8;
  2764. TRUNC.U.CC HC.x, R8.z;
  2765. MOV.S R22.z, R8.y;
  2766. IF NE.x;
  2767. MOV.F R8.y, {1, 0, 0, 0}.x;
  2768. ELSE;
  2769. MOV.F R8.y, {0, 0, 0, 0}.x;
  2770. ENDIF;
  2771. I2F.S R8.z, R23.w;
  2772. MOV.F R10.w, R22.z;
  2773. ADD.F32 R10.w, R10, -R8.y;
  2774. MUL.F32 R8.w, R8.z, {2, 0, 0, 0}.x;
  2775. MOV.F R19.w, R20;
  2776. MUL.F32 R8.z, -R8.w, R19.w;
  2777. MOV.S R23.x, R10.w;
  2778. SNE.F32 R10.w, R19, {0, 0, 0, 0}.x;
  2779. SNE.F32 R8.w, -R8, {0, 0, 0, 0}.x;
  2780. TRUNC.U R10.w, R10;
  2781. TRUNC.U R8.w, R8;
  2782. AND.U.CC HC.x, R8.w, R10.w;
  2783. MOV.S R34.w, R21.z;
  2784. MOV.S R8.y, R21;
  2785. IF NE.x;
  2786. ELSE;
  2787. MOV.F R8.z, {0, 0, 0, 0}.x;
  2788. ENDIF;
  2789. MOV.F R19.w, R19.y;
  2790. MOV.F R8.w, R23.y;
  2791. ADD.F32 R8.w, -R8, {1, 0, 0, 0}.x;
  2792. MOV.S R22.x, R8.w;
  2793. MOV.F R10.w, c[5].x;
  2794. MOV.F R8.w, R21.x;
  2795. ADD.F32 R8.w, R8, R10;
  2796. I2F.S R8.y, R8;
  2797. MUL.F32 R10.w, R8.y, {2, 0, 0, 0}.x;
  2798. MUL.F32 R8.y, -R10.w, R19.w;
  2799. MOV.S R19.y, R8.w;
  2800. MOV.F R8.w, c[5];
  2801. SNE.F32 R20.z, R19.w, {0, 0, 0, 0}.x;
  2802. ADD.F32 R19.w, -R8, {1, 0, 0, 0}.x;
  2803. MOV.S R21.z, R19.w;
  2804. TRUNC.U R8.w, R20.z;
  2805. MOV.F R19.w, R34;
  2806. MOV.S R21.y, R8.z;
  2807. FRC.F32 R8.z, R19.w;
  2808. SNE.F32 R10.w, -R10, {0, 0, 0, 0}.x;
  2809. MOV.S R20.w, R8.z;
  2810. TRUNC.U R8.z, R10.w;
  2811. AND.U.CC HC.x, R8.z, R8.w;
  2812. IF NE.x;
  2813. MOV.F R8.z, R8.y;
  2814. ELSE;
  2815. MOV.F R8.z, {0, 0, 0, 0}.x;
  2816. ENDIF;
  2817. MOV.F R8.w, R19.x;
  2818. MOV.F R8.y, R13.w;
  2819. MUL.F32 R8.y, R8, R8.w;
  2820. MOV.F R19.x, R22;
  2821. MUL.F32 R8.w, R8.y, R19.x;
  2822. MOV.S R10.w, R8.y;
  2823. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2824. TRUNC.U R19.w, R8.y;
  2825. EX2.F32 R8.x, R8.x;
  2826. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2827. TRUNC.U R19.x, R19;
  2828. AND.U.CC HC.x, R19.w, R19;
  2829. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  2830. MOV.S R8.y, R20.x;
  2831. MOV.S R20.x, R8;
  2832. MOV.S R34.w, R20.y;
  2833. MOV.S R8.x, R19.z;
  2834. MOV.S R20.z, R8;
  2835. IF NE.x;
  2836. MOV.F R8.z, R8.w;
  2837. ELSE;
  2838. MOV.F R8.z, {0, 0, 0, 0}.x;
  2839. ENDIF;
  2840. MOV.F R19.x, R34.w;
  2841. MOV.F R19.z, c[6].y;
  2842. MUL.F32 R8.w, R19.x, R19.z;
  2843. MOV.S R20.y, R8.z;
  2844. SNE.F32 R8.z, R19.x, {0, 0, 0, 0}.x;
  2845. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  2846. TRUNC.U R19.x, R19.z;
  2847. TRUNC.U R8.z, R8;
  2848. AND.U.CC HC.x, R8.z, R19;
  2849. IF NE.x;
  2850. ELSE;
  2851. MOV.F R8.w, {0, 0, 0, 0}.x;
  2852. ENDIF;
  2853. MOV.F R19.z, R20.w;
  2854. MOV.F R19.x, R23.y;
  2855. MUL.F32 R8.z, R19.x, R19;
  2856. SNE.F32 R20.w, R19.z, {0, 0, 0, 0}.x;
  2857. MOV.F R19.w, R8.y;
  2858. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2859. MOV.F R19.z, c[5];
  2860. ADD.F32 R19.z, R19, R19.w;
  2861. I2F.S R8.x, R8;
  2862. MOV.S R23.w, R19.z;
  2863. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  2864. TRUNC.U R19.x, R19;
  2865. TRUNC.U R20.w, R20;
  2866. AND.U.CC HC.x, R19, R20.w;
  2867. MOV.S R34.w, R23.x;
  2868. MOV.S R8.y, R21.z;
  2869. MOV.S R19.z, R8.w;
  2870. MOV.S R22.w, R8.x;
  2871. IF NE.x;
  2872. MOV.F R8.x, R8.z;
  2873. ELSE;
  2874. MOV.F R8.x, {0, 0, 0, 0};
  2875. ENDIF;
  2876. MOV.F R8.z, R12.x;
  2877. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2878. MOV.F R8.w, R12.z;
  2879. MOV.S R23.y, R8.z;
  2880. ADD.F32 R8.z, R8.w, {-0.5, 0, 0, 0}.x;
  2881. MOV.F R8.w, R22;
  2882. MOV.S R23.x, R8;
  2883. SNE.F32 R8.x, -R8.w, {0, 0, 0, 0};
  2884. MOV.F R19.x, R34.w;
  2885. MOV.S R21.z, R8;
  2886. MUL.F32 R8.z, -R8.w, R19.x;
  2887. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2888. TRUNC.U R8.w, R19.x;
  2889. TRUNC.U R8.x, R8;
  2890. AND.U.CC HC.x, R8, R8.w;
  2891. IF NE.x;
  2892. MOV.F R8.x, R8.z;
  2893. ELSE;
  2894. MOV.F R8.x, {0, 0, 0, 0};
  2895. ENDIF;
  2896. MOV.F R8.z, R8.y;
  2897. MOV.F R8.y, R20.x;
  2898. DIV.F32 R8.y, R8, R8.z;
  2899. MOV.S R20.x, R8.y;
  2900. MOV.F R19.x, R13;
  2901. MOV.F R19.w, R21.y;
  2902. MOV.F R8.w, R19.z;
  2903. MOV.F R8.y, c[5];
  2904. ADD.F32 R8.y, R8, R8.w;
  2905. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  2906. MUL.F32 R8.z, R19.x, R19.w;
  2907. SNE.F32 R19.x, R19.w, {0, 0, 0, 0};
  2908. TRUNC.U R8.w, R8;
  2909. TRUNC.U R19.x, R19;
  2910. AND.U.CC HC.x, R8.w, R19;
  2911. MOV.S R8.y, R8;
  2912. MOV.S R20.w, R8.x;
  2913. IF NE.x;
  2914. MOV.F R8.x, R8.z;
  2915. ELSE;
  2916. MOV.F R8.x, {0, 0, 0, 0};
  2917. ENDIF;
  2918. MOV.F R19.x, R21.y;
  2919. MOV.F R8.w, R19.y;
  2920. MUL.F32 R8.z, R8.w, R19.x;
  2921. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2922. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2923. TRUNC.U R8.w, R8;
  2924. TRUNC.U R19.x, R19;
  2925. AND.U.CC HC.x, R8.w, R19;
  2926. MOV.S R24.z, R8.x;
  2927. IF NE.x;
  2928. MOV.F R8.x, R8.z;
  2929. ELSE;
  2930. MOV.F R8.x, {0, 0, 0, 0};
  2931. ENDIF;
  2932. MOV.F R19.x, R20.z;
  2933. MOV.F R8.w, R23;
  2934. MUL.F32 R8.z, R8.w, R19.x;
  2935. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2936. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2937. TRUNC.U R8.w, R8;
  2938. TRUNC.U R19.x, R19;
  2939. AND.U.CC HC.x, R8.w, R19;
  2940. MOV.S R24.w, R8.x;
  2941. IF NE.x;
  2942. MOV.F R8.x, R8.z;
  2943. ELSE;
  2944. MOV.F R8.x, {0, 0, 0, 0};
  2945. ENDIF;
  2946. MOV.F R8.z, c[5].w;
  2947. SEQ.F R8.z, R8, {1, 0, 0, 0}.x;
  2948. TRUNC.U.CC HC.x, R8.z;
  2949. MOV.S R34.w, R19.y;
  2950. MOV.S R21.y, R8.x;
  2951. IF NE.x;
  2952. MOV.S R8.x, {-1, 0, 0, 0};
  2953. ELSE;
  2954. MOV.S R8.x, {0, 0, 0, 0};
  2955. ENDIF;
  2956. MOV.F R19.x, R13.z;
  2957. MOV.F R8.w, R23.x;
  2958. MOV.F R8.z, R20.y;
  2959. ADD.F32 R8.z, R8, R8.w;
  2960. MOV.S R19.y, R8.z;
  2961. MOV.F R8.z, R34.w;
  2962. MOV.F R8.w, R24;
  2963. ADD.F32 R8.w, R8.z, R8;
  2964. MOV.F R19.z, R20;
  2965. MUL.F32 R8.z, R19.x, R19;
  2966. MOV.S R23.z, R8.w;
  2967. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  2968. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  2969. TRUNC.U R19.x, R19.z;
  2970. TRUNC.U R8.w, R8;
  2971. AND.U.CC HC.x, R8.w, R19;
  2972. IF NE.x;
  2973. ELSE;
  2974. MOV.F R8.z, {0, 0, 0, 0}.x;
  2975. ENDIF;
  2976. MOV.F R8.w, R13.x;
  2977. MOV.F R19.x, R24.z;
  2978. ADD.F32 R8.w, R8, R19.x;
  2979. MOV.S R23.x, R8.w;
  2980. SEQ.S R8.x, R8, {0, 0, 0, 0};
  2981. MOV.U.CC RC.x, -R8;
  2982. MOV.S R8.z, R8;
  2983. MOV.F R13.x, R21.y;
  2984. MOV.F R8.w, R23;
  2985. ADD.F32 R8.w, R8, R13.x;
  2986. MOV.S R34.w, R20.x;
  2987. MOV.S R20.x, R8.w;
  2988. MOV.F R8.w, R8.z;
  2989. MOV.F R8.z, R13;
  2990. ADD.F32 R8.z, R8, R8.w;
  2991. MOV.S R20.z, R8;
  2992. MOV.F R8.w, c[8];
  2993. MOV.F R8.z, c[7].w;
  2994. ADD.F32 R8.z, -R8, R8.w;
  2995. MOV.S R24.y, R8.z;
  2996. IF NE.x;
  2997. MOV.S R8.x, R34.w;
  2998. ELSE;
  2999. MOV.S R8.x, R13.w;
  3000. ENDIF;
  3001. MOV.F R8.z, R12.y;
  3002. ADD.F32 R8.w, R8.z, {-0.5, 0, 0, 0}.x;
  3003. MOV.F R13.x, R13.y;
  3004. MOV.F R13.z, R20.w;
  3005. MUL.F32 R8.z, R13.x, R13;
  3006. MOV.S R19.z, R8.w;
  3007. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  3008. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3009. TRUNC.U R13.x, R13.z;
  3010. TRUNC.U R8.w, R8;
  3011. AND.U.CC HC.x, R8.w, R13;
  3012. IF NE.x;
  3013. ELSE;
  3014. MOV.F R8.z, {0, 0, 0, 0}.x;
  3015. ENDIF;
  3016. MOV.F R13.z, c[9].x;
  3017. MOV.F R13.x, R23.y;
  3018. MUL.F32 R8.w, R13.x, R13.z;
  3019. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3020. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3021. TRUNC.U R13.x, R13;
  3022. TRUNC.U R13.z, R13;
  3023. AND.U.CC HC.x, R13, R13.z;
  3024. MOV.S R22.x, R8.z;
  3025. IF NE.x;
  3026. MOV.F R8.z, R8.w;
  3027. ELSE;
  3028. MOV.F R8.z, {0, 0, 0, 0}.x;
  3029. ENDIF;
  3030. MOV.F R13.z, R20.w;
  3031. MOV.F R13.x, R8.y;
  3032. MUL.F32 R8.w, R13.x, R13.z;
  3033. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3034. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3035. TRUNC.U R13.x, R13;
  3036. TRUNC.U R13.z, R13;
  3037. AND.U.CC HC.x, R13, R13.z;
  3038. MOV.S R22.y, R8.z;
  3039. IF NE.x;
  3040. MOV.F R8.z, R8.w;
  3041. ELSE;
  3042. MOV.F R8.z, {0, 0, 0, 0}.x;
  3043. ENDIF;
  3044. MOV.F R13.z, c[9];
  3045. MOV.F R13.x, R21.z;
  3046. MUL.F32 R8.w, R13.x, R13.z;
  3047. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3048. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3049. TRUNC.U R13.x, R13;
  3050. TRUNC.U R13.z, R13;
  3051. AND.U.CC HC.x, R13, R13.z;
  3052. MOV.S R22.z, R8;
  3053. IF NE.x;
  3054. MOV.F R8.z, R8.w;
  3055. ELSE;
  3056. MOV.F R8.z, {0, 0, 0, 0}.x;
  3057. ENDIF;
  3058. MOV.F R8.w, R22.z;
  3059. ADD.F32 R13.x, R8.y, R8.w;
  3060. MOV.F R8.w, R22.y;
  3061. MOV.F R8.y, R23.x;
  3062. ADD.F32 R8.y, R8, R8.w;
  3063. MOV.S R23.x, R8.y;
  3064. MOV.F R8.y, R13;
  3065. MOV.F R8.w, R22.x;
  3066. ADD.F32 R8.w, R8.y, R8;
  3067. MOV.F R8.y, R24;
  3068. RCP.F32 R8.y, R8.y;
  3069. MOV.S R20.w, R8;
  3070. MOV.F R8.w, R20.z;
  3071. MOV.S R27.y, R8;
  3072. ADD.F32 R8.y, R8.w, R8.z;
  3073. MOV.F R8.z, R8.x;
  3074. MOV.S R20.z, R8.y;
  3075. MOV.F R8.y, R23.z;
  3076. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  3077. MOV.S R23.y, R13.x;
  3078. TRUNC.U R13.x, R8.w;
  3079. SNE.F32 R13.y, R8.z, {0, 0, 0, 0}.x;
  3080. MUL.F32 R8.y, R8, R8.z;
  3081. MOV.F R8.w, c[8].z;
  3082. MOV.F R8.z, c[7];
  3083. ADD.F32 R8.z, -R8, R8.w;
  3084. TRUNC.U R8.w, R13.y;
  3085. AND.U.CC HC.x, R13, R8.w;
  3086. MOV.S R22.w, R8.z;
  3087. IF NE.x;
  3088. ELSE;
  3089. MOV.F R8.y, {0, 0, 0, 0}.x;
  3090. ENDIF;
  3091. MOV.F R13.x, R8;
  3092. MOV.F R8.w, R20.x;
  3093. MUL.F32 R8.z, R8.w, R13.x;
  3094. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  3095. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3096. TRUNC.U R8.w, R8;
  3097. TRUNC.U R13.x, R13;
  3098. AND.U.CC HC.x, R8.w, R13;
  3099. MOV.S R22.x, R8.y;
  3100. IF NE.x;
  3101. MOV.F R8.y, R8.z;
  3102. ELSE;
  3103. MOV.F R8.y, {0, 0, 0, 0}.x;
  3104. ENDIF;
  3105. MOV.F R8.w, c[8];
  3106. MOV.F R8.z, R19.y;
  3107. ADD.F32 R8.z, R8, -R8.w;
  3108. MOV.F R13.x, c[9].y;
  3109. MOV.F R8.w, R19.z;
  3110. MOV.S R22.z, R8;
  3111. MUL.F32 R8.z, R8.w, R13.x;
  3112. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  3113. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3114. TRUNC.U R8.w, R8;
  3115. TRUNC.U R13.x, R13;
  3116. AND.U.CC HC.x, R8.w, R13;
  3117. MOV.S R22.y, R8;
  3118. IF NE.x;
  3119. MOV.F R8.y, R8.z;
  3120. ELSE;
  3121. MOV.F R8.y, {0, 0, 0, 0}.x;
  3122. ENDIF;
  3123. MOV.F R8.w, R22.y;
  3124. MOV.F R8.z, R20;
  3125. ADD.F32 R8.z, R8, R8.w;
  3126. MOV.S R13.y, R8.z;
  3127. MOV.F R8.w, R22.x;
  3128. MOV.F R8.z, R23.x;
  3129. ADD.F32 R13.x, R8.z, R8.w;
  3130. MOV.F R8.w, R27.y;
  3131. MOV.F R8.z, R22.w;
  3132. MUL.F32 R8.z, R8, R8.w;
  3133. MOV.S R19.z, R8;
  3134. MOV.F R8.w, c[7];
  3135. MOV.F R8.z, R19.y;
  3136. ADD.F32 R8.z, R8, -R8.w;
  3137. MOV.F R8.w, R20;
  3138. ADD.F32 R8.y, R8.w, R8;
  3139. MOV.S R13.z, R8.y;
  3140. MOV.F R8.y, R22.z;
  3141. SGE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  3142. TRUNC.U.CC HC.x, R8.y;
  3143. MOV.S R25.w, R13.x;
  3144. MOV.S R27.x, R8.z;
  3145. IF NE.x;
  3146. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  3147. ELSE;
  3148. MOV.S R8.y, {0, 0, 0, 0}.x;
  3149. ENDIF;
  3150. MOV.F R8.z, R23.y;
  3151. MOV.F R13.x, R8;
  3152. SNE.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  3153. MUL.F32 R8.x, R8.z, R13;
  3154. TRUNC.U R19.x, R8.w;
  3155. MOV.F R8.w, c[8].x;
  3156. MOV.F R8.z, c[7].x;
  3157. ADD.F32 R8.z, -R8, R8.w;
  3158. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  3159. MOV.S R13.x, R8.z;
  3160. TRUNC.U R8.z, R8.w;
  3161. AND.U.CC HC.x, R19, R8.z;
  3162. MOV.S R31.y, R8;
  3163. IF NE.x;
  3164. ELSE;
  3165. MOV.F R8.x, {0, 0, 0, 0};
  3166. ENDIF;
  3167. MOV.F R8.w, R19.z;
  3168. MOV.F R8.y, R27.x;
  3169. MUL.F32 R8.z, R8.y, R8.w;
  3170. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  3171. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  3172. TRUNC.U R8.w, R8.y;
  3173. TRUNC.U R19.x, R19;
  3174. AND.U.CC HC.x, R8.w, R19;
  3175. MOV.S R8.y, R8.x;
  3176. IF NE.x;
  3177. MOV.F R8.x, R8.z;
  3178. ELSE;
  3179. MOV.F R8.x, {0, 0, 0, 0};
  3180. ENDIF;
  3181. MOV.F R19.x, R27;
  3182. SGE.F32 R19.x, R19, {0, 0, 0, 0};
  3183. TRUNC.U.CC HC.x, R19;
  3184. MOV.F R8.w, c[8].y;
  3185. MOV.F R8.z, c[7].y;
  3186. ADD.F32 R8.z, -R8, R8.w;
  3187. MOV.S R8.w, R8.z;
  3188. MOV.S R8.z, R8.x;
  3189. IF NE.x;
  3190. MOV.S R8.x, {1065353216, 0, 0, 0};
  3191. ELSE;
  3192. MOV.S R8.x, {0, 0, 0, 0};
  3193. ENDIF;
  3194. ENDIF;
  3195. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  3196. MOV.U.CC RC.x, -R19;
  3197. IF NE.x;
  3198. MOV.F R2.y, R27;
  3199. MOV.F R2.x, R8.w;
  3200. MUL.F32 R2.x, R2, R2.y;
  3201. MOV.F R2.w, R13.x;
  3202. MUL.F32 R2.y, R2, R2.w;
  3203. MOV.S R24.x, R2;
  3204. MOV.S R20.w, R2.y;
  3205. MOV.F R2.z, R8.y;
  3206. MOV.F R2.x, R13.z;
  3207. ADD.F32 R2.x, R2, R2.z;
  3208. MOV.S R19.z, R2.x;
  3209. MOV.F R2.z, R8.x;
  3210. MOV.F R2.x, c[7].z;
  3211. MOV.F R2.y, R8.z;
  3212. ADD.F32 R2.y, R2.x, R2;
  3213. MOV.F R2.x, R25.w;
  3214. MAD.F32 R2.x, R2, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3215. MOV.S R23.y, R2;
  3216. MOV.F R2.y, R13;
  3217. MOV.S R23.w, R2.x;
  3218. MAD.F32 R2.x, R2.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3219. MOV.F R2.y, R31;
  3220. MOV.S R26.x, R2;
  3221. ADD.F32 R2.x, -R2.y, {1, 0, 0, 0};
  3222. SNE.F32 R2.w, -R2.y, {-1, 0, 0, 0}.x;
  3223. SNE.F32 R2.y, R2.z, {0, 0, 0, 0}.x;
  3224. MUL.F32 R2.x, R2.z, R2;
  3225. TRUNC.U R2.z, R2.w;
  3226. TRUNC.U R2.y, R2;
  3227. AND.U.CC HC.x, R2.y, R2.z;
  3228. IF NE.x;
  3229. ELSE;
  3230. MOV.F R2.x, {0, 0, 0, 0};
  3231. ENDIF;
  3232. MOV.F R2.w, R24.x;
  3233. MOV.F R2.z, R27.x;
  3234. MUL.F32 R2.y, R2.z, R2.w;
  3235. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3236. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3237. TRUNC.U R2.z, R2;
  3238. TRUNC.U R2.w, R2;
  3239. AND.U.CC HC.x, R2.z, R2.w;
  3240. MOV.S R23.z, R2.x;
  3241. IF NE.x;
  3242. MOV.F R2.x, R2.y;
  3243. ELSE;
  3244. MOV.F R2.x, {0, 0, 0, 0};
  3245. ENDIF;
  3246. MOV.F R2.z, R8.x;
  3247. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  3248. MOV.F R8.y, R20.w;
  3249. MOV.F R8.x, R27;
  3250. MOV.F R2.w, R26.x;
  3251. MOV.S R19.w, R2.z;
  3252. FRC.F32 R2.z, R2.w;
  3253. MOV.S R24.x, R2.z;
  3254. SNE.F32 R2.z, R8.x, {0, 0, 0, 0}.x;
  3255. SNE.F32 R2.w, R8.y, {0, 0, 0, 0}.x;
  3256. TRUNC.U R2.z, R2;
  3257. TRUNC.U R2.w, R2;
  3258. AND.U.CC HC.x, R2.z, R2.w;
  3259. MUL.F32 R2.y, R8.x, R8;
  3260. MOV.S R22.w, R2.x;
  3261. IF NE.x;
  3262. MOV.F R2.x, R2.y;
  3263. ELSE;
  3264. MOV.F R2.x, {0, 0, 0, 0};
  3265. ENDIF;
  3266. MOV.F R2.w, R19;
  3267. MOV.F R2.y, R19.z;
  3268. MAD.F32 R2.y, R2, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  3269. MOV.F R2.z, R23.w;
  3270. FRC.F32 R2.z, R2;
  3271. MOV.S R26.z, R2.y;
  3272. MOV.S R24.w, R2.z;
  3273. MOV.F R2.z, R22.w;
  3274. MOV.F R2.y, c[7];
  3275. ADD.F32 R2.y, R2, R2.z;
  3276. MOV.F R2.z, c[7];
  3277. MOV.S R21.y, R2;
  3278. MUL.F32 R2.y, R2.z, R2.w;
  3279. SNE.F32 R8.x, R2.w, {0, 0, 0, 0};
  3280. TRUNC.U R2.w, R8.x;
  3281. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3282. MOV.S R19.y, R2.x;
  3283. TRUNC.U R2.x, R2.z;
  3284. AND.U.CC HC.x, R2, R2.w;
  3285. IF NE.x;
  3286. MOV.F R2.x, R2.y;
  3287. ELSE;
  3288. MOV.F R2.x, {0, 0, 0, 0};
  3289. ENDIF;
  3290. MOV.F R2.w, R23.z;
  3291. MOV.F R2.z, R23.y;
  3292. MUL.F32 R2.y, R2.z, R2.w;
  3293. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3294. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3295. TRUNC.U R2.z, R2;
  3296. TRUNC.U R2.w, R2;
  3297. AND.U.CC HC.x, R2.z, R2.w;
  3298. MOV.S R22.x, R2;
  3299. IF NE.x;
  3300. MOV.F R2.x, R2.y;
  3301. ELSE;
  3302. MOV.F R2.x, {0, 0, 0, 0};
  3303. ENDIF;
  3304. MOV.F R2.y, R24.w;
  3305. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3306. MOV.S R19.z, R2.y;
  3307. MOV.F R2.y, R24.x;
  3308. MAD.F32 R2.z, R2.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  3309. MOV.F R2.y, R26.z;
  3310. FRC.F32 R2.y, R2;
  3311. MOV.S R20.z, R2;
  3312. MOV.S R20.w, R2.y;
  3313. MOV.F R2.w, R19.y;
  3314. MOV.F R2.z, c[7].x;
  3315. ADD.F32 R2.z, R2, R2.w;
  3316. MOV.F R2.y, R31;
  3317. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3318. MOV.S R23.x, R2.z;
  3319. MOV.F R2.z, c[8];
  3320. MUL.F32 R2.y, R2.z, R2;
  3321. TRUNC.U R2.w, R2;
  3322. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3323. MOV.S R22.y, R2.x;
  3324. TRUNC.U R2.x, R2.z;
  3325. AND.U.CC HC.x, R2, R2.w;
  3326. IF NE.x;
  3327. MOV.F R2.x, R2.y;
  3328. ELSE;
  3329. MOV.F R2.x, {0, 0, 0, 0};
  3330. ENDIF;
  3331. MOV.F R2.z, R22.x;
  3332. MOV.F R2.y, R22;
  3333. ADD.F32 R2.y, R2, R2.z;
  3334. MOV.F R2.w, R23.z;
  3335. MOV.F R2.z, R21.y;
  3336. MOV.S R24.z, R2.y;
  3337. MUL.F32 R2.y, R2.z, R2.w;
  3338. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3339. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3340. TRUNC.U R2.z, R2;
  3341. TRUNC.U R2.w, R2;
  3342. AND.U.CC HC.x, R2.z, R2.w;
  3343. MOV.S R24.y, R2.x;
  3344. IF NE.x;
  3345. MOV.F R2.x, R2.y;
  3346. ELSE;
  3347. MOV.F R2.x, {0, 0, 0, 0};
  3348. ENDIF;
  3349. MOV.F R2.y, R19.w;
  3350. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3351. MOV.F R2.z, c[7].y;
  3352. MUL.F32 R2.y, R2.z, R2;
  3353. TRUNC.U R2.w, R2;
  3354. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3355. MOV.S R24.w, R2.x;
  3356. TRUNC.U R2.x, R2.z;
  3357. AND.U.CC HC.x, R2, R2.w;
  3358. IF NE.x;
  3359. MOV.F R2.x, R2.y;
  3360. ELSE;
  3361. MOV.F R2.x, {0, 0, 0, 0};
  3362. ENDIF;
  3363. MOV.F R2.z, R24;
  3364. MOV.F R2.y, R24;
  3365. ADD.F32 R2.y, R2, R2.z;
  3366. MOV.F R2.z, R24.w;
  3367. ADD.F32 R2.x, R2.z, R2;
  3368. MOV.S R19.x, R2.y;
  3369. MOV.F R2.y, R20.w;
  3370. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3371. MOV.S R20.w, R2.x;
  3372. MOV.F R2.x, R19.z;
  3373. MUL.F32 R2.x, R2, {0.159154937, 0, 0, 0};
  3374. MOV.S R20.x, R2.y;
  3375. MOV.F R2.y, R20.z;
  3376. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  3377. MOV.S R19.z, R2.y;
  3378. MOV.F R2.z, R31.y;
  3379. MOV.F R2.y, c[8];
  3380. MOV.S R19.y, R2.x;
  3381. MUL.F32 R2.x, R2.y, R2.z;
  3382. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3383. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  3384. TRUNC.U R2.z, R2;
  3385. TRUNC.U R2.y, R2;
  3386. AND.U.CC HC.x, R2.y, R2.z;
  3387. IF NE.x;
  3388. ELSE;
  3389. MOV.F R2.x, {0, 0, 0, 0};
  3390. ENDIF;
  3391. MOV.F R2.w, R23.z;
  3392. MOV.F R2.z, R23.x;
  3393. MUL.F32 R2.y, R2.z, R2.w;
  3394. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3395. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3396. TRUNC.U R2.z, R2;
  3397. TRUNC.U R2.w, R2;
  3398. AND.U.CC HC.x, R2.z, R2.w;
  3399. MOV.S R24.x, R2;
  3400. IF NE.x;
  3401. MOV.F R2.x, R2.y;
  3402. ELSE;
  3403. MOV.F R2.x, {0, 0, 0, 0};
  3404. ENDIF;
  3405. MOV.F R2.y, R12.x;
  3406. MAX.F R2.y, R2, {0, 0, 0, 0}.x;
  3407. MOV.S R23.z, R2.y;
  3408. MOV.F R2.y, R19.w;
  3409. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3410. MOV.F R2.z, c[7].x;
  3411. MUL.F32 R2.y, R2.z, R2;
  3412. TRUNC.U R2.w, R2;
  3413. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3414. MOV.S R24.y, R2.x;
  3415. TRUNC.U R2.x, R2.z;
  3416. AND.U.CC HC.x, R2, R2.w;
  3417. IF NE.x;
  3418. MOV.F R2.x, R2.y;
  3419. ELSE;
  3420. MOV.F R2.x, {0, 0, 0, 0};
  3421. ENDIF;
  3422. MOV.F R2.y, R19;
  3423. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3424. COS.F32 R2.y, R2.y;
  3425. MOV.S R23.w, R2.y;
  3426. MOV.F R2.y, R24;
  3427. ADD.F32 R2.x, R2.y, R2;
  3428. MOV.F R2.y, R30.z;
  3429. MOV.F R2.w, R20;
  3430. MOV.F R2.z, R24.x;
  3431. ADD.F32 R2.z, R2, R2.w;
  3432. MOV.S R22.y, R2.z;
  3433. MOV.F R2.z, R19.x;
  3434. MOV.S R19.x, R2;
  3435. MUL.F32 R2.x, R2.y, R2.z;
  3436. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3437. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  3438. TRUNC.U R2.z, R2;
  3439. TRUNC.U R2.y, R2;
  3440. AND.U.CC HC.x, R2.y, R2.z;
  3441. IF NE.x;
  3442. ELSE;
  3443. MOV.F R2.x, {0, 0, 0, 0};
  3444. ENDIF;
  3445. MOV.F R2.z, R19;
  3446. MOV.F R2.y, R20.x;
  3447. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  3448. MUL.F32 R2.z, R2, {6.28318548, 0, 0, 0}.x;
  3449. SIN.F32 R2.z, R2.z;
  3450. MOV.S R21.x, R2.z;
  3451. MOV.F R2.w, R22.y;
  3452. MOV.F R2.z, R30.y;
  3453. MOV.S R20.w, R2.y;
  3454. MUL.F32 R2.y, R2.z, R2.w;
  3455. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3456. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3457. TRUNC.U R2.w, R2;
  3458. TRUNC.U R2.z, R2;
  3459. AND.U.CC HC.x, R2.z, R2.w;
  3460. MOV.S R34.w, R19.z;
  3461. MOV.S R20.z, R2.x;
  3462. IF NE.x;
  3463. MOV.F R2.x, R2.y;
  3464. ELSE;
  3465. MOV.F R2.x, {0, 0, 0, 0};
  3466. ENDIF;
  3467. MOV.F R2.z, R23;
  3468. MIN.F R2.z, R2, {0, 0, 0, 0}.x;
  3469. MOV.F R2.w, R23;
  3470. MOV.F R8.x, R21;
  3471. MOV.S R24.y, R2.z;
  3472. SNE.F32 R2.z, R2.w, {0, 0, 0, 0}.x;
  3473. MUL.F32 R2.y, R2.w, R8.x;
  3474. SNE.F32 R2.w, R8.x, {0, 0, 0, 0}.x;
  3475. TRUNC.U R2.z, R2;
  3476. TRUNC.U R2.w, R2;
  3477. AND.U.CC HC.x, R2.z, R2.w;
  3478. MOV.S R20.x, R2;
  3479. IF NE.x;
  3480. MOV.F R2.x, R2.y;
  3481. ELSE;
  3482. MOV.F R2.x, {0, 0, 0, 0};
  3483. ENDIF;
  3484. MOV.F R2.y, R31;
  3485. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3486. MOV.F R2.z, c[8].x;
  3487. MUL.F32 R2.y, R2.z, R2;
  3488. TRUNC.U R2.w, R2;
  3489. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3490. MOV.S R19.z, R2.x;
  3491. TRUNC.U R2.x, R2.z;
  3492. AND.U.CC HC.x, R2, R2.w;
  3493. IF NE.x;
  3494. MOV.F R2.x, R2.y;
  3495. ELSE;
  3496. MOV.F R2.x, {0, 0, 0, 0};
  3497. ENDIF;
  3498. MOV.F R2.y, R34.w;
  3499. MOV.F R2.w, R24.y;
  3500. MOV.F R2.z, R30.x;
  3501. ADD.F32 R2.z, R2, R2.w;
  3502. MOV.F R2.w, R23;
  3503. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  3504. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3505. MOV.S R8.x, R2.z;
  3506. COS.F32 R2.z, R2.y;
  3507. MUL.F32 R2.y, R2.z, R2.w;
  3508. TRUNC.U R2.w, R8.y;
  3509. SNE.F32 R8.y, R2.z, {0, 0, 0, 0}.x;
  3510. MOV.S R24.w, R2.x;
  3511. TRUNC.U R2.x, R8.y;
  3512. AND.U.CC HC.x, R2.w, R2;
  3513. MOV.S R34.w, R19.y;
  3514. MOV.S R21.w, R2.z;
  3515. IF NE.x;
  3516. MOV.F R2.x, R2.y;
  3517. ELSE;
  3518. MOV.F R2.x, {0, 0, 0, 0};
  3519. ENDIF;
  3520. MOV.F R2.z, R19.x;
  3521. MOV.F R2.y, R24.w;
  3522. ADD.F32 R2.y, R2, R2.z;
  3523. MOV.F R2.w, c[10];
  3524. MOV.F R2.z, R20;
  3525. MOV.S R22.z, R2.y;
  3526. MUL.F32 R2.y, R2.z, R2.w;
  3527. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3528. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3529. TRUNC.U R2.z, R2;
  3530. TRUNC.U R2.w, R2;
  3531. AND.U.CC HC.x, R2.z, R2.w;
  3532. MOV.S R19.y, R2.x;
  3533. IF NE.x;
  3534. MOV.F R2.x, R2.y;
  3535. ELSE;
  3536. MOV.F R2.x, {0, 0, 0, 0};
  3537. ENDIF;
  3538. MOV.F R2.w, R21.x;
  3539. MOV.F R2.y, R34.w;
  3540. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3541. SIN.F32 R2.z, R2.y;
  3542. MOV.S R22.w, R2.x;
  3543. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  3544. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  3545. MUL.F32 R2.y, R2.z, R2.w;
  3546. TRUNC.U R2.w, R8.y;
  3547. TRUNC.U R2.x, R2;
  3548. AND.U.CC HC.x, R2, R2.w;
  3549. MOV.S R23.x, R2.z;
  3550. IF NE.x;
  3551. MOV.F R2.x, R2.y;
  3552. ELSE;
  3553. MOV.F R2.x, {0, 0, 0, 0};
  3554. ENDIF;
  3555. MOV.F R2.w, R22;
  3556. MOV.F R2.z, R32;
  3557. MUL.F32 R2.y, R2.z, R2.w;
  3558. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3559. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3560. TRUNC.U R2.w, R2;
  3561. TRUNC.U R2.z, R2;
  3562. AND.U.CC HC.x, R2.z, R2.w;
  3563. MOV.S R19.x, R2;
  3564. IF NE.x;
  3565. MOV.F R2.x, R2.y;
  3566. ELSE;
  3567. MOV.F R2.x, {0, 0, 0, 0};
  3568. ENDIF;
  3569. MOV.F R2.w, R22.z;
  3570. MOV.F R2.z, R8.x;
  3571. MUL.F32 R2.y, R2.z, R2.w;
  3572. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3573. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3574. TRUNC.U R2.z, R2;
  3575. TRUNC.U R2.w, R2;
  3576. AND.U.CC HC.x, R2.z, R2.w;
  3577. MOV.S R21.y, R2.x;
  3578. IF NE.x;
  3579. MOV.F R2.x, R2.y;
  3580. ELSE;
  3581. MOV.F R2.x, {0, 0, 0, 0};
  3582. ENDIF;
  3583. MOV.F R2.w, R21;
  3584. MOV.F R2.z, R23.x;
  3585. MUL.F32 R2.y, R2.z, R2.w;
  3586. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3587. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3588. TRUNC.U R2.z, R2;
  3589. TRUNC.U R2.w, R2;
  3590. AND.U.CC HC.x, R2.z, R2.w;
  3591. MOV.S R20.z, R2.x;
  3592. IF NE.x;
  3593. MOV.F R2.x, R2.y;
  3594. ELSE;
  3595. MOV.F R2.x, {0, 0, 0, 0};
  3596. ENDIF;
  3597. MOV.F R2.y, R20.w;
  3598. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3599. SIN.F32 R2.z, R2.y;
  3600. MOV.F R2.w, R19.z;
  3601. MUL.F32 R2.y, R2.z, R2.w;
  3602. MOV.S R23.z, R2;
  3603. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3604. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3605. TRUNC.U R2.z, R2;
  3606. TRUNC.U R2.w, R2;
  3607. AND.U.CC HC.x, R2.z, R2.w;
  3608. MOV.S R19.w, R2.x;
  3609. IF NE.x;
  3610. MOV.F R2.x, R2.y;
  3611. ELSE;
  3612. MOV.F R2.x, {0, 0, 0, 0};
  3613. ENDIF;
  3614. MOV.F R2.w, c[10].z;
  3615. MOV.F R2.z, R20.x;
  3616. MUL.F32 R2.y, R2.z, R2.w;
  3617. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3618. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3619. TRUNC.U R2.z, R2;
  3620. TRUNC.U R2.w, R2;
  3621. AND.U.CC HC.x, R2.z, R2.w;
  3622. MOV.S R22.x, R2;
  3623. IF NE.x;
  3624. MOV.F R2.x, R2.y;
  3625. ELSE;
  3626. MOV.F R2.x, {0, 0, 0, 0};
  3627. ENDIF;
  3628. MOV.F R2.w, R19.y;
  3629. MOV.F R2.z, R23;
  3630. MUL.F32 R2.y, R2.z, R2.w;
  3631. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3632. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3633. TRUNC.U R2.z, R2;
  3634. TRUNC.U R2.w, R2;
  3635. AND.U.CC HC.x, R2.z, R2.w;
  3636. MOV.S R31.y, R2.x;
  3637. IF NE.x;
  3638. MOV.F R2.x, R2.y;
  3639. ELSE;
  3640. MOV.F R2.x, {0, 0, 0, 0};
  3641. ENDIF;
  3642. MOV.F R2.w, R19;
  3643. MOV.F R2.z, R23;
  3644. MUL.F32 R2.y, R2.z, R2.w;
  3645. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3646. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3647. TRUNC.U R2.z, R2;
  3648. TRUNC.U R2.w, R2;
  3649. AND.U.CC HC.x, R2.z, R2.w;
  3650. MOV.S R22.z, R2.x;
  3651. IF NE.x;
  3652. MOV.F R2.x, R2.y;
  3653. ELSE;
  3654. MOV.F R2.x, {0, 0, 0, 0};
  3655. ENDIF;
  3656. MOV.F R2.w, R19.x;
  3657. MOV.F R2.y, R22.z;
  3658. ADD.F32 R2.y, R2.w, R2;
  3659. MOV.S R8.x, R2.y;
  3660. MOV.F R2.y, R20.w;
  3661. MUL.F32 R2.z, R2.y, {6.28318548, 0, 0, 0}.x;
  3662. MOV.F R8.y, R23.z;
  3663. COS.F32 R2.z, R2.z;
  3664. MUL.F32 R2.y, R2.w, R8;
  3665. MOV.S R23.y, R2.z;
  3666. SNE.F32 R2.z, R8.y, {0, 0, 0, 0}.x;
  3667. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3668. TRUNC.U R2.z, R2;
  3669. TRUNC.U R2.w, R2;
  3670. AND.U.CC HC.x, R2.z, R2.w;
  3671. MOV.S R22.w, R2.x;
  3672. IF NE.x;
  3673. MOV.F R2.x, R2.y;
  3674. ELSE;
  3675. MOV.F R2.x, {0, 0, 0, 0};
  3676. ENDIF;
  3677. MOV.F R2.w, R23.y;
  3678. MOV.F R2.z, R23.w;
  3679. MUL.F32 R2.y, R2.z, R2.w;
  3680. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3681. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3682. TRUNC.U R2.z, R2;
  3683. TRUNC.U R2.w, R2;
  3684. AND.U.CC HC.x, R2.z, R2.w;
  3685. MOV.S R24.y, R2.x;
  3686. IF NE.x;
  3687. MOV.F R2.x, R2.y;
  3688. ELSE;
  3689. MOV.F R2.x, {0, 0, 0, 0};
  3690. ENDIF;
  3691. MOV.F R2.z, R24.y;
  3692. MOV.F R2.y, R19;
  3693. ADD.F32 R2.y, R2, R2.z;
  3694. MOV.S R27.x, R2.y;
  3695. MOV.F R2.z, R22.x;
  3696. MOV.F R2.y, R19.w;
  3697. ADD.F32 R2.y, -R2, R2.z;
  3698. MOV.S R17.w, R2.y;
  3699. MOV.F R2.w, R22;
  3700. MOV.F R2.z, R19;
  3701. ADD.F32 R2.z, -R2, R2.w;
  3702. MOV.F R2.y, R20.z;
  3703. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3704. MOV.S R31.z, R2;
  3705. MOV.F R2.z, c[10].y;
  3706. MUL.F32 R2.y, R2, R2.z;
  3707. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3708. TRUNC.U R2.w, R2;
  3709. TRUNC.U R2.z, R2;
  3710. AND.U.CC HC.x, R2.w, R2.z;
  3711. MOV.S R27.z, R2.x;
  3712. IF NE.x;
  3713. MOV.F R2.x, R2.y;
  3714. ELSE;
  3715. MOV.F R2.x, {0, 0, 0, 0};
  3716. ENDIF;
  3717. MOV.F R2.w, R21.y;
  3718. MOV.F R2.z, R8.x;
  3719. MUL.F32 R2.y, R2.z, R2.w;
  3720. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3721. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3722. TRUNC.U R2.z, R2;
  3723. TRUNC.U R2.w, R2;
  3724. AND.U.CC HC.x, R2.z, R2.w;
  3725. MOV.S R13.y, R2.x;
  3726. IF NE.x;
  3727. MOV.F R2.x, R2.y;
  3728. ELSE;
  3729. MOV.F R2.x, {0, 0, 0, 0};
  3730. ENDIF;
  3731. MOV.F R2.w, R23.y;
  3732. MOV.F R2.z, R23.x;
  3733. MUL.F32 R2.y, R2.z, R2.w;
  3734. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3735. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3736. TRUNC.U R2.z, R2;
  3737. TRUNC.U R2.w, R2;
  3738. AND.U.CC HC.x, R2.z, R2.w;
  3739. MOV.S R8.z, R2.x;
  3740. IF NE.x;
  3741. MOV.F R2.x, R2.y;
  3742. ELSE;
  3743. MOV.F R2.x, {0, 0, 0, 0};
  3744. ENDIF;
  3745. MOV.F R2.w, R21.y;
  3746. MOV.F R2.z, R17.w;
  3747. MUL.F32 R2.y, R2.z, R2.w;
  3748. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3749. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3750. TRUNC.U R2.z, R2;
  3751. TRUNC.U R2.w, R2;
  3752. AND.U.CC HC.x, R2.z, R2.w;
  3753. MOV.S R25.w, R2.x;
  3754. IF NE.x;
  3755. MOV.F R2.x, R2.y;
  3756. ELSE;
  3757. MOV.F R2.x, {0, 0, 0, 0};
  3758. ENDIF;
  3759. MOV.F R2.w, R21.x;
  3760. MOV.F R2.z, R23.y;
  3761. MUL.F32 R2.y, R2.z, R2.w;
  3762. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3763. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3764. TRUNC.U R2.z, R2;
  3765. TRUNC.U R2.w, R2;
  3766. AND.U.CC HC.x, R2.z, R2.w;
  3767. MOV.S R13.z, R2.x;
  3768. IF NE.x;
  3769. MOV.F R2.x, R2.y;
  3770. ELSE;
  3771. MOV.F R2.x, {0, 0, 0, 0};
  3772. ENDIF;
  3773. MOV.F R2.w, R21.y;
  3774. MOV.F R2.z, R27;
  3775. MUL.F32 R2.y, R2.z, R2.w;
  3776. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3777. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3778. TRUNC.U R2.z, R2;
  3779. TRUNC.U R2.w, R2;
  3780. AND.U.CC HC.x, R2.z, R2.w;
  3781. MOV.S R13.x, R2;
  3782. IF NE.x;
  3783. MOV.F R2.x, R2.y;
  3784. ELSE;
  3785. MOV.F R2.x, {0, 0, 0, 0};
  3786. ENDIF;
  3787. MOV.F R2.w, R21;
  3788. MOV.F R2.z, R23.y;
  3789. MUL.F32 R2.y, R2.z, R2.w;
  3790. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3791. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3792. TRUNC.U R2.z, R2;
  3793. TRUNC.U R2.w, R2;
  3794. AND.U.CC HC.x, R2.z, R2.w;
  3795. MOV.S R8.y, R2.x;
  3796. IF NE.x;
  3797. MOV.F R8.w, R2.y;
  3798. ELSE;
  3799. MOV.F R8.w, {0, 0, 0, 0}.x;
  3800. ENDIF;
  3801. MOV.F R2.x, R23.z;
  3802. MOV.F R2.w, -R2.x;
  3803. MOV.F R2.xyz, R12.zyxw;
  3804. ADD.F32 R2.xyz, R2, {1, 0, 0, 0}.x;
  3805. MOV.S R30.xyz, R2;
  3806. MOV.F R2.x, R13.w;
  3807. SEQ.F R19.x, R2, {0, 0, 0, 0};
  3808. MOV.S R18.w, R2;
  3809. MOV.S R2.z, R8.w;
  3810. TRUNC.U.CC HC.x, R19;
  3811. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  3812. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  3813. IF NE.x;
  3814. MOV.S R21.x, {-1, 0, 0, 0};
  3815. ELSE;
  3816. MOV.S R21.x, {0, 0, 0, 0};
  3817. ENDIF;
  3818. MOV.F R20, R14;
  3819. SEQ.S R14.y, R21.x, {0, 0, 0, 0}.x;
  3820. MOV.U.CC RC.x, -R14.y;
  3821. MOV.F R19.w, {1, 0, 0, 0}.x;
  3822. MOV.F R19.xyz, R10;
  3823. DP4.F32 R14.x, R20, R19;
  3824. MOV.S R14.x, R14;
  3825. IF NE.x;
  3826. MOV.S R14.z, R13.w;
  3827. ELSE;
  3828. MOV.S R14.z, {1065353216, 0, 0, 0}.x;
  3829. ENDIF;
  3830. MOV.F R20, R15;
  3831. MOV.F R19.xyz, R10;
  3832. MOV.F R19.w, {1, 0, 0, 0}.x;
  3833. DP4.F32 R10.x, R20, R19;
  3834. MOV.F R21.xyz, R11;
  3835. MOV.F R21.w, {0, 0, 0, 0}.x;
  3836. MOV.F R20.xyz, R17;
  3837. MOV.F R20.w, {-0, 0, 0, 0}.x;
  3838. MOV.S R14.y, R10.x;
  3839. DP4.F32 R10.x, R20, R21;
  3840. MOV.F R20.xyz, R18;
  3841. MOV.F R20.w, {-0, 0, 0, 0}.x;
  3842. DP4.F32 R10.y, R21, R20;
  3843. MOV.S R15.y, R10.x;
  3844. MOV.S R10.x, R10.y;
  3845. MOV.S R10.y, R10.x;
  3846. MOV.F R20, R16;
  3847. DP4.F32 R10.x, R19, R20;
  3848. ADD.F32 R10.y, R10, {9.99999997e-07, 0, 0, 0}.x;
  3849. MOV.S R15.z, R10.x;
  3850. MOV.F R19.w, {-0, 0, 0, 0}.x;
  3851. MOV.F R19.xyz, R25;
  3852. DP4.F32 R10.x, R21, R19;
  3853. MOV.S R18.z, R10.y;
  3854. MOV.S R18.x, R10;
  3855. ENDIF;
  3856. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  3857. MOV.U.CC RC.x, -R10;
  3858. IF NE.x;
  3859. MOV.F R10.y, c[11].x;
  3860. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  3861. MOV.S R24.y, R10;
  3862. MOV.F R10.y, c[11];
  3863. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  3864. MOV.F R11.x, c[12];
  3865. MOV.F R10.z, R30;
  3866. MUL.F32 R10.x, R10.z, R11;
  3867. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3868. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3869. TRUNC.U R10.z, R10;
  3870. TRUNC.U R11.x, R11;
  3871. AND.U.CC HC.x, R10.z, R11;
  3872. MOV.S R24.x, R10.y;
  3873. IF NE.x;
  3874. ELSE;
  3875. MOV.F R10.x, {0, 0, 0, 0};
  3876. ENDIF;
  3877. MOV.F R11.x, c[12];
  3878. MOV.F R10.z, R30.y;
  3879. MUL.F32 R10.y, R10.z, R11.x;
  3880. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3881. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3882. TRUNC.U R10.z, R10;
  3883. TRUNC.U R11.x, R11;
  3884. AND.U.CC HC.x, R10.z, R11;
  3885. MOV.S R30.z, R10.x;
  3886. IF NE.x;
  3887. MOV.F R10.x, R10.y;
  3888. ELSE;
  3889. MOV.F R10.x, {0, 0, 0, 0};
  3890. ENDIF;
  3891. MOV.F R11.x, c[12];
  3892. MOV.F R10.z, R30.x;
  3893. MUL.F32 R10.y, R10.z, R11.x;
  3894. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3895. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3896. TRUNC.U R10.z, R10;
  3897. TRUNC.U R11.x, R11;
  3898. AND.U.CC HC.x, R10.z, R11;
  3899. MOV.S R16.w, R10.x;
  3900. IF NE.x;
  3901. MOV.F R10.x, R10.y;
  3902. ELSE;
  3903. MOV.F R10.x, {0, 0, 0, 0};
  3904. ENDIF;
  3905. MOV.F R11.x, c[13].w;
  3906. MOV.F R10.z, R31.x;
  3907. MUL.F32 R10.y, R10.z, R11.x;
  3908. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3909. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3910. TRUNC.U R10.z, R10;
  3911. TRUNC.U R11.x, R11;
  3912. AND.U.CC HC.x, R10.z, R11;
  3913. MOV.S R30.y, R10.x;
  3914. IF NE.x;
  3915. MOV.F R10.x, R10.y;
  3916. ELSE;
  3917. MOV.F R10.x, {0, 0, 0, 0};
  3918. ENDIF;
  3919. MOV.F R10.z, R24.y;
  3920. MOV.F R10.y, R32.x;
  3921. ADD.F32 R10.y, R10, R10.z;
  3922. MOV.F R10.z, R32.y;
  3923. MOV.F R11.x, R24;
  3924. MOV.S R22.w, R10.y;
  3925. ADD.F32 R10.y, R10.z, R11.x;
  3926. MOV.F R11.y, R31;
  3927. SNE.F32 R11.x, R10.z, -R11;
  3928. SNE.F32 R10.z, R11.y, {0, 0, 0, 0}.x;
  3929. TRUNC.U R11.x, R11;
  3930. TRUNC.U R10.z, R10;
  3931. AND.U.CC HC.x, R10.z, R11;
  3932. MUL.F32 R10.y, R11, R10;
  3933. MOV.S R22.y, R10.x;
  3934. IF NE.x;
  3935. MOV.F R10.x, R10.y;
  3936. ELSE;
  3937. MOV.F R10.x, {0, 0, 0, 0};
  3938. ENDIF;
  3939. MOV.F R11.x, R22.w;
  3940. MOV.F R10.z, R13.y;
  3941. MUL.F32 R10.y, R10.z, R11.x;
  3942. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3943. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3944. TRUNC.U R10.z, R10;
  3945. TRUNC.U R11.x, R11;
  3946. AND.U.CC HC.x, R10.z, R11;
  3947. MOV.S R24.x, R10;
  3948. IF NE.x;
  3949. MOV.F R10.x, R10.y;
  3950. ELSE;
  3951. MOV.F R10.x, {0, 0, 0, 0};
  3952. ENDIF;
  3953. MOV.F R10.y, R22;
  3954. RCP.F32 R10.y, R10.y;
  3955. MOV.F R11.x, R31.z;
  3956. MOV.F R10.z, R24.x;
  3957. MOV.S R21.x, R10.y;
  3958. MUL.F32 R10.y, R10.z, R11.x;
  3959. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3960. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3961. TRUNC.U R10.z, R10;
  3962. TRUNC.U R11.x, R11;
  3963. AND.U.CC HC.x, R10.z, R11;
  3964. MOV.S R21.y, R10.x;
  3965. IF NE.x;
  3966. MOV.F R10.x, R10.y;
  3967. ELSE;
  3968. MOV.F R10.x, {0, 0, 0, 0};
  3969. ENDIF;
  3970. MOV.F R10.y, R8.z;
  3971. ADD.F32 R10.y, R10.x, R10;
  3972. MOV.F R10.z, R24.x;
  3973. MOV.F R11.x, R25.w;
  3974. MUL.F32 R10.x, R10.z, R11;
  3975. MOV.S R26.x, R10.y;
  3976. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  3977. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3978. TRUNC.U R10.z, R11.x;
  3979. TRUNC.U R10.y, R10;
  3980. AND.U.CC HC.x, R10.y, R10.z;
  3981. IF NE.x;
  3982. ELSE;
  3983. MOV.F R10.x, {0, 0, 0, 0};
  3984. ENDIF;
  3985. ADD.F32 R10.x, R10, R8.y;
  3986. MOV.F R10.y, R24.x;
  3987. MOV.F R10.z, R27.x;
  3988. MUL.F32 R8.y, R10, R10.z;
  3989. MOV.S R26.z, R10.x;
  3990. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  3991. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3992. TRUNC.U R10.y, R10.z;
  3993. TRUNC.U R10.x, R10;
  3994. AND.U.CC HC.x, R10, R10.y;
  3995. IF NE.x;
  3996. ELSE;
  3997. MOV.F R8.y, {0, 0, 0, 0}.x;
  3998. ENDIF;
  3999. MOV.F R10.x, R13.z;
  4000. ADD.F32 R10.x, R8.y, R10;
  4001. MOV.F R10.y, R21;
  4002. MOV.F R10.z, R2;
  4003. MUL.F32 R8.y, R10, R10.z;
  4004. MOV.S R26.w, R10.x;
  4005. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  4006. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4007. TRUNC.U R10.y, R10.z;
  4008. TRUNC.U R10.x, R10;
  4009. AND.U.CC HC.x, R10, R10.y;
  4010. MOV.S R34.w, R14.z;
  4011. IF NE.x;
  4012. ELSE;
  4013. MOV.F R8.y, {0, 0, 0, 0}.x;
  4014. ENDIF;
  4015. MOV.F R10.x, R26;
  4016. ADD.F32 R10.x, R8.y, R10;
  4017. MOV.F R10.y, R21;
  4018. MOV.F R10.z, R13.x;
  4019. MUL.F32 R8.y, R10, R10.z;
  4020. MOV.S R32.x, R10;
  4021. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  4022. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4023. TRUNC.U R10.y, R10.z;
  4024. TRUNC.U R10.x, R10;
  4025. AND.U.CC HC.x, R10, R10.y;
  4026. IF NE.x;
  4027. ELSE;
  4028. MOV.F R8.y, {0, 0, 0, 0}.x;
  4029. ENDIF;
  4030. MOV.F R10.x, R26.w;
  4031. ADD.F32 R8.y, R8, R10.x;
  4032. MOV.F R10.z, R18.w;
  4033. MOV.F R10.y, R21;
  4034. MUL.F32 R10.x, R10.y, R10.z;
  4035. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4036. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4037. TRUNC.U R10.z, R10;
  4038. TRUNC.U R10.y, R10;
  4039. AND.U.CC HC.x, R10.y, R10.z;
  4040. MOV.S R8.y, R8;
  4041. IF NE.x;
  4042. ELSE;
  4043. MOV.F R10.x, {0, 0, 0, 0};
  4044. ENDIF;
  4045. MOV.F R10.y, R26.z;
  4046. ADD.F32 R10.x, R10, R10.y;
  4047. MOV.F R11.x, R21;
  4048. MOV.F R10.z, R34.w;
  4049. MUL.F32 R10.z, R10, R11.x;
  4050. MOV.S R14.w, R10.z;
  4051. MOV.S R14.z, R10.x;
  4052. REP.S ;
  4053. SEQ.U.CC HC.x, {1, 0, 0, 0}, {0, 0, 0, 0};
  4054. BRK (NE.x);
  4055. SEQ.S R10.x, R14.w, {2147483647, 0, 0, 0};
  4056. MOV.U.CC RC.x, -R10;
  4057. IF NE.x;
  4058. MOV.U.CC RC.x, {1, 0, 0, 0};
  4059. MOV.S R26.y, {1065353216, 0, 0, 0}.x;
  4060. BRK (NE.x);
  4061. ELSE;
  4062. SEQ.S R10.x, R14.w, {-1, 0, 0, 0};
  4063. MOV.U.CC RC.x, -R10;
  4064. IF NE.x;
  4065. MOV.U.CC RC.x, {1, 0, 0, 0};
  4066. MOV.S R26.y, {0, 0, 0, 0}.x;
  4067. BRK (NE.x);
  4068. ENDIF;
  4069. ENDIF;
  4070. MOV.F.SAT R10.x, R14.w;
  4071. MOV.U.CC RC.x, {1, 0, 0, 0};
  4072. MOV.S R26.y, R10.x;
  4073. BRK (NE.x);
  4074. ENDREP;
  4075. MOV.S R14.w, R26.y;
  4076. ENDIF;
  4077. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  4078. MOV.U.CC RC.x, -R10;
  4079. IF NE.x;
  4080. MOV.F R8.z, R14.x;
  4081. MOV.F R20, c[14];
  4082. MOV.F R19.z, R14;
  4083. MOV.F R19.yw, R8;
  4084. MOV.F R19.x, R32;
  4085. DP4.F32 R10.x, R20, R19;
  4086. ADD.F32 R10.x, R10, R8.z;
  4087. MOV.F R20, c[15];
  4088. MOV.F R10.y, R14;
  4089. DP4.F32 R8.z, R19, R20;
  4090. ADD.F32 R8.z, R10.y, R8;
  4091. MOV.F R10.y, c[14].z;
  4092. MOV.S R15.x, R10;
  4093. MOV.F R10.z, R30;
  4094. ADD.F32 R10.x, R10, R10.z;
  4095. MOV.S R21.w, R10.x;
  4096. MOV.F R10.x, R27.z;
  4097. MOV.S R16.y, R8.z;
  4098. MUL.F32 R8.z, R10.x, R10.y;
  4099. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4100. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4101. TRUNC.U R10.y, R10;
  4102. TRUNC.U R10.x, R10;
  4103. AND.U.CC HC.x, R10, R10.y;
  4104. IF NE.x;
  4105. MOV.F R10.x, R8.z;
  4106. ELSE;
  4107. MOV.F R10.x, {0, 0, 0, 0};
  4108. ENDIF;
  4109. MOV.F R8.z, R15;
  4110. MOV.F R10.z, c[15];
  4111. MOV.F R19, c[16];
  4112. MOV.F R20.z, R14;
  4113. MOV.F R20.yw, R8;
  4114. MOV.F R20.x, R32;
  4115. DP4.F32 R8.y, R19, R20;
  4116. ADD.F32 R10.y, R8.z, R8;
  4117. MOV.F R8.z, R16.w;
  4118. MOV.F R8.y, R16;
  4119. ADD.F32 R8.y, R8, R8.z;
  4120. MOV.F R8.z, R21.w;
  4121. ADD.F32 R8.y, R8.z, R8;
  4122. MOV.S R8.z, R10.y;
  4123. MOV.F R10.y, R27.z;
  4124. MOV.S R21.y, R8;
  4125. MUL.F32 R8.y, R10, R10.z;
  4126. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4127. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4128. TRUNC.U R10.y, R10;
  4129. TRUNC.U R10.z, R10;
  4130. AND.U.CC HC.x, R10.y, R10.z;
  4131. MOV.S R23.z, R10.x;
  4132. IF NE.x;
  4133. ELSE;
  4134. MOV.F R8.y, {0, 0, 0, 0}.x;
  4135. ENDIF;
  4136. MOV.F R10.y, R30;
  4137. MOV.F R10.x, R8.z;
  4138. ADD.F32 R10.x, R10, R10.y;
  4139. MOV.F R10.y, R21;
  4140. MOV.S R10.x, R10;
  4141. ADD.F32 R10.x, R10, R10.y;
  4142. MOV.F R10.z, c[14];
  4143. MOV.F R10.y, R25.w;
  4144. MOV.S R16.x, R10;
  4145. MUL.F32 R10.x, R10.y, R10.z;
  4146. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4147. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4148. TRUNC.U R10.y, R10;
  4149. TRUNC.U R10.z, R10;
  4150. AND.U.CC HC.x, R10.y, R10.z;
  4151. MOV.S R23.y, R8;
  4152. IF NE.x;
  4153. MOV.F R8.y, R10.x;
  4154. ELSE;
  4155. MOV.F R8.y, {0, 0, 0, 0}.x;
  4156. ENDIF;
  4157. MOV.F R10.z, c[15];
  4158. MOV.F R10.y, R25.w;
  4159. MUL.F32 R10.x, R10.y, R10.z;
  4160. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4161. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4162. TRUNC.U R10.y, R10;
  4163. TRUNC.U R10.z, R10;
  4164. AND.U.CC HC.x, R10.y, R10.z;
  4165. MOV.S R24.z, R8.y;
  4166. IF NE.x;
  4167. MOV.F R8.y, R10.x;
  4168. ELSE;
  4169. MOV.F R8.y, {0, 0, 0, 0}.x;
  4170. ENDIF;
  4171. MOV.F R10.z, c[14].y;
  4172. MOV.F R10.y, R17.w;
  4173. MUL.F32 R10.x, R10.y, R10.z;
  4174. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4175. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4176. TRUNC.U R10.y, R10;
  4177. TRUNC.U R10.z, R10;
  4178. AND.U.CC HC.x, R10.y, R10.z;
  4179. MOV.S R34.w, R23.y;
  4180. MOV.S R24.w, R8.y;
  4181. IF NE.x;
  4182. MOV.F R8.y, R10.x;
  4183. ELSE;
  4184. MOV.F R8.y, {0, 0, 0, 0}.x;
  4185. ENDIF;
  4186. MOV.F R10.x, R23.z;
  4187. ADD.F32 R8.y, R8, R10.x;
  4188. MOV.F R10.y, c[15];
  4189. MOV.F R10.x, R17.w;
  4190. MOV.S R19.x, R8.y;
  4191. MUL.F32 R8.y, R10.x, R10;
  4192. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4193. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4194. TRUNC.U R10.y, R10;
  4195. TRUNC.U R10.x, R10;
  4196. AND.U.CC HC.x, R10, R10.y;
  4197. IF NE.x;
  4198. ELSE;
  4199. MOV.F R8.y, {0, 0, 0, 0}.x;
  4200. ENDIF;
  4201. MOV.F R10.x, R27;
  4202. SNE.F32 R10.y, R10.x, {0, 0, 0, 0}.x;
  4203. MOV.F R10.z, c[14].y;
  4204. TRUNC.U R11.x, R10.y;
  4205. MOV.F R10.y, R34.w;
  4206. ADD.F32 R8.y, R8, R10;
  4207. MUL.F32 R10.x, R10, R10.z;
  4208. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4209. TRUNC.U R10.y, R10.z;
  4210. AND.U.CC HC.x, R11, R10.y;
  4211. MOV.S R23.z, R8.y;
  4212. IF NE.x;
  4213. MOV.F R8.y, R10.x;
  4214. ELSE;
  4215. MOV.F R8.y, {0, 0, 0, 0}.x;
  4216. ENDIF;
  4217. MOV.F R10.x, R24.z;
  4218. ADD.F32 R8.y, R8, R10.x;
  4219. MOV.F R10.y, c[15];
  4220. MOV.F R10.x, R27;
  4221. MOV.S R21.w, R8.y;
  4222. MUL.F32 R8.y, R10.x, R10;
  4223. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4224. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4225. TRUNC.U R10.y, R10;
  4226. TRUNC.U R10.x, R10;
  4227. AND.U.CC HC.x, R10, R10.y;
  4228. IF NE.x;
  4229. ELSE;
  4230. MOV.F R8.y, {0, 0, 0, 0}.x;
  4231. ENDIF;
  4232. MOV.F R10.x, R24.w;
  4233. ADD.F32 R8.y, R8, R10.x;
  4234. MOV.F R10.z, c[15];
  4235. MOV.F R10.y, R18.w;
  4236. MUL.F32 R10.x, R10.y, R10.z;
  4237. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4238. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4239. TRUNC.U R10.z, R10;
  4240. TRUNC.U R10.y, R10;
  4241. AND.U.CC HC.x, R10.y, R10.z;
  4242. MOV.S R8.y, R8;
  4243. IF NE.x;
  4244. ELSE;
  4245. MOV.F R10.x, {0, 0, 0, 0};
  4246. ENDIF;
  4247. MOV.F R11.x, c[14].z;
  4248. MOV.F R10.z, R18.w;
  4249. MUL.F32 R10.y, R10.z, R11.x;
  4250. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4251. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4252. TRUNC.U R10.z, R10;
  4253. TRUNC.U R11.x, R11;
  4254. AND.U.CC HC.x, R10.z, R11;
  4255. MOV.S R21.x, R10;
  4256. IF NE.x;
  4257. MOV.F R10.x, R10.y;
  4258. ELSE;
  4259. MOV.F R10.x, {0, 0, 0, 0};
  4260. ENDIF;
  4261. MOV.F R11.x, c[15];
  4262. MOV.F R10.z, R31;
  4263. MUL.F32 R10.y, R10.z, R11.x;
  4264. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4265. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4266. TRUNC.U R10.z, R10;
  4267. TRUNC.U R11.x, R11;
  4268. AND.U.CC HC.x, R10.z, R11;
  4269. MOV.S R21.y, R10.x;
  4270. IF NE.x;
  4271. MOV.F R10.x, R10.y;
  4272. ELSE;
  4273. MOV.F R10.x, {0, 0, 0, 0};
  4274. ENDIF;
  4275. MOV.F R10.y, R8.x;
  4276. SNE.F32 R11.x, R10.y, {0, 0, 0, 0};
  4277. MOV.F R10.z, c[15].x;
  4278. ADD.F32 R8.y, R10.x, R8;
  4279. MUL.F32 R10.y, R10, R10.z;
  4280. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4281. TRUNC.U R11.x, R11;
  4282. TRUNC.U R10.x, R10.z;
  4283. AND.U.CC HC.x, R11, R10;
  4284. MOV.S R34.w, R19.x;
  4285. MOV.S R20.w, R8.y;
  4286. IF NE.x;
  4287. MOV.F R8.y, R10;
  4288. ELSE;
  4289. MOV.F R8.y, {0, 0, 0, 0}.x;
  4290. ENDIF;
  4291. MOV.F R10.x, R23.z;
  4292. ADD.F32 R8.y, R8, R10.x;
  4293. MOV.F R10.y, c[14].x;
  4294. MOV.F R10.x, R31.z;
  4295. MOV.S R19.x, R8.y;
  4296. MUL.F32 R8.y, R10.x, R10;
  4297. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4298. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4299. TRUNC.U R10.y, R10;
  4300. TRUNC.U R10.x, R10;
  4301. AND.U.CC HC.x, R10, R10.y;
  4302. IF NE.x;
  4303. ELSE;
  4304. MOV.F R8.y, {0, 0, 0, 0}.x;
  4305. ENDIF;
  4306. MOV.F R10.x, R21.w;
  4307. ADD.F32 R8.y, R8, R10.x;
  4308. MOV.S R20.y, R8;
  4309. MOV.F R8.y, R8.x;
  4310. MOV.F R10.x, c[14];
  4311. MUL.F32 R8.x, R8.y, R10;
  4312. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4313. SNE.F32
  4314. [15:03:17] Link error in shader. Log:
  4315. [15:03:17] Vertex info
  4316. -----------
  4317. Internal error: assembly compile error for vertex shader at offset 1806:
  4318. -- error message --
  4319. line 38, column 45: error: invalid vertex attribute reference
  4320. line 44, column 25: error: invalid vertex attribute reference
  4321. line 48, column 25: error: invalid vertex attribute reference
  4322. line 51, column 25: error: invalid vertex attribute reference
  4323. line 54, column 25: error: invalid vertex attribute reference
  4324. -- internal assembly text --
  4325. !!NVvp5.0
  4326. OPTION NV_internal;
  4327. OPTION NV_bindless_texture;
  4328. # cgc version 3.4.0001, build date Sep 5 2019
  4329. # command line args:
  4330. #vendor NVIDIA Corporation
  4331. #version 3.4.0.1 COP Build Date Sep 5 2019
  4332. #profile gp5vp
  4333. #program main
  4334. #semantic uf_remappedVS
  4335. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  4336. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  4337. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  4338. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  4339. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  4340. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  4341. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  4342. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  4343. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  4344. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  4345. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  4346. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  4347. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  4348. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  4349. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  4350. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  4351. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  4352. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  4353. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  4354. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  4355. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  4356. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  4357. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  4358. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  4359. #var int4 uf_remappedVS[0] : : c[0], 39 : -1 : 1
  4360. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  4361. PARAM c[39] = { program.local[0..38] };
  4362. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  4363. OUTPUT result_attrib[] = { result.attrib[0..4] };
  4364. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23;
  4365. TEMP T;
  4366. TEMP RC;
  4367. SHORT TEMP HC;
  4368. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  4369. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4370. SHR.U R3.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  4371. AND.U R3.zw, R3.xyxy, {65280, 0, 0, 0}.x;
  4372. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  4373. SHR.U R3.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  4374. OR.U R0, R0, R1;
  4375. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  4376. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4377. OR.U R0, R0, R1;
  4378. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  4379. OR.U R4, R0, R2;
  4380. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  4381. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4382. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  4383. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  4384. OR.U R1, R1, R2;
  4385. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4386. OR.U R0, R1, R0;
  4387. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  4388. OR.U R5, R0, R2;
  4389. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  4390. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4391. SHR.U R1, vertex.attrib[0], {24, 0, 0, 0}.x;
  4392. OR.U R1, R1, R2;
  4393. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  4394. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  4395. OR.U R1, R1, R2;
  4396. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  4397. OR.U R15, R1, R0;
  4398. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  4399. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4400. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  4401. OR.U R0, R0, R1;
  4402. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  4403. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4404. OR.U R0, R0, R1;
  4405. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  4406. OR.U R6, R0, R2;
  4407. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  4408. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4409. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  4410. OR.U R0, R0, R1;
  4411. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  4412. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4413. OR.U R0, R0, R1;
  4414. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  4415. OR.U R7, R0, R2;
  4416. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  4417. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4418. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  4419. OR.U R0, R0, R1;
  4420. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  4421. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4422. OR.U R0, R0, R1;
  4423. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  4424. OR.U R9, R0, R2;
  4425. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4426. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4427. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4428. OR.U R0.xyz, R0, R1;
  4429. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4430. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4431. OR.U R0.xyz, R0, R1;
  4432. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4433. OR.U R17.xyz, R0, R2;
  4434. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4435. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4436. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4437. OR.U R0.xyz, R0, R1;
  4438. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4439. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4440. OR.U R0.xyz, R0, R1;
  4441. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4442. OR.U R21.xyz, R0, R2;
  4443. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4444. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4445. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4446. OR.U R0.xyz, R0, R1;
  4447. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4448. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4449. OR.U R0.xyz, R0, R1;
  4450. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4451. OR.U R20.xyz, R0, R2;
  4452. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4453. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4454. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4455. OR.U R0.xyz, R0, R1;
  4456. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4457. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4458. OR.U R0.xyz, R0, R1;
  4459. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4460. OR.U R18.xyz, R0, R2;
  4461. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4462. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4463. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4464. OR.U R0.xyz, R0, R1;
  4465. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4466. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4467. OR.U R0.xyz, R0, R1;
  4468. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4469. OR.U R8.xyz, R0, R2;
  4470. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4471. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4472. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4473. OR.U R0.xyz, R0, R1;
  4474. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4475. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4476. OR.U R0.xyz, R0, R1;
  4477. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4478. OR.U R19.xyz, R0, R2;
  4479. SHR.U R1.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  4480. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  4481. SHR.U R1.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  4482. OR.U R1.xy, R1, R1.zwzw;
  4483. SHL.U R2.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  4484. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  4485. SHL.U R2.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  4486. OR.U R1.xy, R1, R1.zwzw;
  4487. OR.U R10.zw, R1.xyxy, R2.xyxy;
  4488. MOV.U R2.x, R10.w;
  4489. MOV.F R2.y, c[0].x;
  4490. ADD.F32 R8.w, -R2.x, R2.y;
  4491. OR.U R3.xy, R3, R3.zwzw;
  4492. SHL.U R10.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  4493. AND.U R3.zw, R10.xyxy, {16711680, 0, 0, 0}.x;
  4494. OR.U R3.xy, R3, R3.zwzw;
  4495. SHL.U R10.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  4496. OR.U R22.zw, R3.xyxy, R10.xyxy;
  4497. SGT.F32 R10.w, {0, 0, 0, 0}.x, R8;
  4498. TRUNC.U R10.x, R10.w;
  4499. SEQ.U R3.x, R10, {1, 0, 0, 0};
  4500. SEQ.U R10.y, -R3.x, {1, 0, 0, 0}.x;
  4501. MOV.S R23.x, R8.w;
  4502. MOV.U.CC RC.x, -R10.y;
  4503. MOV.S R0, {0, 0, 0, 0}.x;
  4504. MOV.S R1, {0, 0, 0, 0}.x;
  4505. MOV.S R2, {0, 0, 0, 0}.x;
  4506. MOV.S R23.y, R10.z;
  4507. MOV.S R16.xyz, {0, 0, 0, 0}.x;
  4508. MOV.S R22.xy, {0, 0, 0, 0}.x;
  4509. MOV.S R3.yz, {0, 0, 0, 0};
  4510. MOV.S R3.x, vertex.id;
  4511. MOV.S R3.w, vertex.instance.x;
  4512. MOV.S R8.w, {0, 0, 0, 0}.x;
  4513. IF NE.x;
  4514. MOV.F R0.z, c[1].y;
  4515. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  4516. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  4517. MOV.S R22.xy, {0, 0, 0, 0}.x;
  4518. MOV.S R0.z, R0;
  4519. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  4520. ENDIF;
  4521. SEQ.U R10.x, R10, {0, 0, 0, 0};
  4522. SEQ.U R10.x, -R10, {1, 0, 0, 0};
  4523. SEQ.U R10.x, -R10, {1, 0, 0, 0};
  4524. MOV.U.CC RC.x, -R10;
  4525. IF NE.x;
  4526. MOV.S R9.w, {0, 0, 0, 0}.x;
  4527. ENDIF;
  4528. SEQ.S R9.w, R9, {0, 0, 0, 0}.x;
  4529. SEQ.U R10.x, -R9.w, {1, 0, 0, 0};
  4530. SEQ.U R10.y, -R10.x, {1, 0, 0, 0}.x;
  4531. MOV.U.CC RC.x, -R10.y;
  4532. MOV.U R9.w, -R9;
  4533. MOV.U R10.x, -R10;
  4534. IF NE.x;
  4535. MOV.F R10.y, R5.w;
  4536. TRUNC.S R10.y, R10;
  4537. I2F.S R10.y, R10;
  4538. MOV.F R10.z, R23.x;
  4539. SGE.F32 R10.z, R10, R10.y;
  4540. MOV.S R23.y, R10;
  4541. TRUNC.U R10.y, R10.z;
  4542. SEQ.U R10.z, R10.x, {1, 0, 0, 0}.x;
  4543. SEQ.U R10.x, R10.y, {1, 0, 0, 0};
  4544. AND.U R16.w, -R10.x, -R10.z;
  4545. ELSE;
  4546. MOV.U R16.w, {0, 0, 0, 0}.x;
  4547. ENDIF;
  4548. SEQ.U R10.x, R16.w, {1, 0, 0, 0};
  4549. MOV.U.CC RC.x, -R10;
  4550. IF NE.x;
  4551. MOV.F R0.z, c[1].y;
  4552. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  4553. MOV.S R0.xy, {0, 0, 0, 0};
  4554. MOV.S R0.z, R0;
  4555. MOV.S R22.x, {0, 0, 0, 0};
  4556. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  4557. ENDIF;
  4558. SEQ.U R9.w, R9, {1, 0, 0, 0}.x;
  4559. SEQ.U R10.y, -R9.w, {1, 0, 0, 0}.x;
  4560. MOV.U.CC RC.x, -R10.y;
  4561. MOV.U R10.x, -R9.w;
  4562. IF NE.x;
  4563. SEQ.S R9.w, R8, {0, 0, 0, 0}.x;
  4564. SEQ.U R10.x, R10, {1, 0, 0, 0};
  4565. SEQ.U R9.w, -R9, {1, 0, 0, 0}.x;
  4566. AND.U R16.w, -R9, -R10.x;
  4567. ELSE;
  4568. MOV.U R16.w, {0, 0, 0, 0}.x;
  4569. ENDIF;
  4570. SEQ.U R9.w, R16, {1, 0, 0, 0}.x;
  4571. MOV.U.CC RC.x, -R9.w;
  4572. IF NE.x;
  4573. MOV.F R3.x, c[2];
  4574. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  4575. TRUNC.U.CC HC.x, R3;
  4576. IF NE.x;
  4577. MOV.F R3.x, {1, 0, 0, 0};
  4578. ELSE;
  4579. MOV.F R3.x, {0, 0, 0, 0};
  4580. ENDIF;
  4581. MOV.F R3.y, R20.x;
  4582. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  4583. MOV.S R12.y, R3;
  4584. MOV.F R3.y, c[2].x;
  4585. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  4586. TRUNC.U.CC HC.x, R3.y;
  4587. MOV.S R12.x, R3;
  4588. IF NE.x;
  4589. MOV.F R3.y, {1, 0, 0, 0}.x;
  4590. ELSE;
  4591. MOV.F R3.y, {0, 0, 0, 0}.x;
  4592. ENDIF;
  4593. MOV.F R3.x, R20;
  4594. SNE.F32 R3.w, R3.x, {0, 0, 0, 0}.x;
  4595. MOV.F R3.z, c[3].y;
  4596. MUL.F32 R3.x, R3, R3.z;
  4597. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  4598. TRUNC.U R3.w, R3;
  4599. TRUNC.U R3.z, R3;
  4600. AND.U.CC HC.x, R3.w, R3.z;
  4601. MOV.S R12.z, R3.y;
  4602. IF NE.x;
  4603. MOV.F R3.y, R3.x;
  4604. ELSE;
  4605. MOV.F R3.y, {0, 0, 0, 0}.x;
  4606. ENDIF;
  4607. MOV.F R8.w, R23.x;
  4608. MOV.F R3.z, R12.x;
  4609. MOV.F R3.x, R12.z;
  4610. ADD.F32 R3.x, R3, -R3.z;
  4611. MOV.F R3.z, R23.y;
  4612. DIV.F32 R9.w, R8, R3.z;
  4613. SNE.F32 R3.z, -R3.x, {-1, 0, 0, 0}.x;
  4614. ADD.F32 R3.w, -R3.x, {1, 0, 0, 0}.x;
  4615. MOV.S R13.x, R3;
  4616. MOV.F R3.x, R12.y;
  4617. TRUNC.U R5.w, R3.z;
  4618. MIN.F R3.z, R3.x, {0, 0, 0, 0}.x;
  4619. MOV.F R3.x, R21;
  4620. ADD.F32 R3.x, R3, R3.z;
  4621. MOV.F R3.z, c[2].x;
  4622. RCP.F32 R10.x, R3.z;
  4623. MAD.F32 R3.y, R8.w, R10.x, R3;
  4624. SNE.F32 R8.w, R9, {0, 0, 0, 0}.x;
  4625. MOV.S R12.y, R3;
  4626. TRUNC.U R3.y, R8.w;
  4627. AND.U.CC HC.x, R3.y, R5.w;
  4628. MUL.F32 R3.w, R9, R3;
  4629. MOV.S R3.z, R9.w;
  4630. MOV.F R9.w, c[5].x;
  4631. MOV.F R8.w, c[4].x;
  4632. ADD.F32 R8.w, -R8, R9;
  4633. MOV.F R10.x, c[5].y;
  4634. MOV.F R9.w, c[4].y;
  4635. ADD.F32 R9.w, -R9, R10.x;
  4636. MOV.S R3.x, R3;
  4637. MOV.S R11.z, R8.w;
  4638. MOV.S R14.z, R9.w;
  4639. IF NE.x;
  4640. MOV.F R3.y, R3.w;
  4641. ELSE;
  4642. MOV.F R3.y, {0, 0, 0, 0}.x;
  4643. ENDIF;
  4644. MOV.F R3.w, R12.y;
  4645. FRC.F32 R3.w, R3;
  4646. MOV.S R3.w, R3;
  4647. MOV.F R10.xyz, R5;
  4648. MOV.F R8.w, R3;
  4649. MOV.F R12, R15;
  4650. MOV.F R10.w, {1, 0, 0, 0}.x;
  4651. DP4.F32 R5.w, R12, R10;
  4652. MOV.S R15.w, R5;
  4653. MOV.F R5.w, R13.x;
  4654. MUL.F32 R3.w, R5, R8;
  4655. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4656. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  4657. MOV.F R10.x, c[5].z;
  4658. MOV.F R9.w, c[4].z;
  4659. ADD.F32 R9.w, -R9, R10.x;
  4660. TRUNC.U R5.w, R5;
  4661. TRUNC.U R8.w, R8;
  4662. AND.U.CC HC.x, R5.w, R8.w;
  4663. MOV.F R10.y, c[5].w;
  4664. MOV.F R10.x, c[4].w;
  4665. ADD.F32 R10.x, -R10, R10.y;
  4666. MOV.S R11.y, R9.w;
  4667. MOV.S R13.z, R10.x;
  4668. MOV.S R11.x, R3.y;
  4669. IF NE.x;
  4670. MOV.F R3.y, R3.w;
  4671. ELSE;
  4672. MOV.F R3.y, {0, 0, 0, 0}.x;
  4673. ENDIF;
  4674. MOV.F R10, R6;
  4675. MOV.F R5.w, {1, 0, 0, 0}.x;
  4676. DP4.F32 R3.w, R10, R5;
  4677. DP4.F32 R5.x, R5, R7;
  4678. MOV.S R8.w, R3;
  4679. MOV.S R3.w, R5.x;
  4680. MOV.F R5.x, R11;
  4681. ADD.F32 R3.y, R5.x, R3;
  4682. MOV.F R5.y, c[4].w;
  4683. ADD.F32 R5.x, R3.y, -R5.y;
  4684. MOV.S R11.x, R5;
  4685. MOV.F R5.x, c[5].w;
  4686. ADD.F32 R5.x, R3.y, -R5;
  4687. SGE.F32 R3.y, R3, R5;
  4688. TRUNC.U.CC HC.x, R3.y;
  4689. MOV.S R7.w, R13.z;
  4690. MOV.S R10.x, R5;
  4691. IF NE.x;
  4692. MOV.S R3.y, {1065353216, 0, 0, 0}.x;
  4693. ELSE;
  4694. MOV.S R3.y, {0, 0, 0, 0}.x;
  4695. ENDIF;
  4696. MOV.F R5.z, R20.x;
  4697. MOV.F R5.x, R20.y;
  4698. MOV.F R5.y, R20.z;
  4699. ADD.F32 R5.y, R5.x, R5;
  4700. ADD.F32 R5.x, R5, R5.z;
  4701. MOV.S R13.z, R5.y;
  4702. MOV.S R11.w, R5.x;
  4703. MOV.F R5.x, R7.w;
  4704. MOV.F R5.z, R14;
  4705. DIV.F32 R5.z, R5, R5.x;
  4706. MOV.F R5.y, R11.z;
  4707. DIV.F32 R5.y, R5, R5.x;
  4708. MOV.S R12.z, R5.y;
  4709. MOV.F R5.y, R11;
  4710. DIV.F32 R5.x, R5.y, R5.x;
  4711. MOV.S R12.y, R5.z;
  4712. MOV.F R5.z, R10.x;
  4713. SGE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  4714. TRUNC.U.CC HC.x, R5.y;
  4715. MOV.S R12.x, R5;
  4716. IF NE.x;
  4717. MOV.S R5.x, {1065353216, 0, 0, 0};
  4718. ELSE;
  4719. MOV.S R5.x, {0, 0, 0, 0};
  4720. ENDIF;
  4721. MOV.F R5.y, R3;
  4722. ADD.F32 R5.z, -R5.y, {1, 0, 0, 0}.x;
  4723. MOV.F R5.w, c[5].x;
  4724. MOV.F R6.x, R5;
  4725. MUL.F32 R5.y, R5.w, R6.x;
  4726. MOV.S R14.z, R5;
  4727. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  4728. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4729. TRUNC.U R5.w, R6.x;
  4730. TRUNC.U R5.z, R5;
  4731. AND.U.CC HC.x, R5.z, R5.w;
  4732. IF NE.x;
  4733. ELSE;
  4734. MOV.F R5.y, {0, 0, 0, 0}.x;
  4735. ENDIF;
  4736. MOV.F R6.x, R12;
  4737. MOV.F R5.w, R11.x;
  4738. MUL.F32 R5.z, R5.w, R6.x;
  4739. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4740. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4741. TRUNC.U R5.w, R5;
  4742. TRUNC.U R6.x, R6;
  4743. AND.U.CC HC.x, R5.w, R6;
  4744. MOV.S R13.x, R5.y;
  4745. IF NE.x;
  4746. MOV.F R5.y, R5.z;
  4747. ELSE;
  4748. MOV.F R5.y, {0, 0, 0, 0}.x;
  4749. ENDIF;
  4750. MOV.F R6.x, R12.y;
  4751. MOV.F R5.w, R11.x;
  4752. MUL.F32 R5.z, R5.w, R6.x;
  4753. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4754. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4755. TRUNC.U R5.w, R5;
  4756. TRUNC.U R6.x, R6;
  4757. AND.U.CC HC.x, R5.w, R6;
  4758. MOV.S R10.y, R5;
  4759. IF NE.x;
  4760. MOV.F R5.y, R5.z;
  4761. ELSE;
  4762. MOV.F R5.y, {0, 0, 0, 0}.x;
  4763. ENDIF;
  4764. MOV.F R6.x, R12.z;
  4765. MOV.F R5.w, R11.x;
  4766. MUL.F32 R5.z, R5.w, R6.x;
  4767. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4768. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4769. TRUNC.U R5.w, R5;
  4770. TRUNC.U R6.x, R6;
  4771. AND.U.CC HC.x, R5.w, R6;
  4772. MOV.S R10.z, R5.y;
  4773. IF NE.x;
  4774. MOV.F R5.y, R5.z;
  4775. ELSE;
  4776. MOV.F R5.y, {0, 0, 0, 0}.x;
  4777. ENDIF;
  4778. MOV.F R5.w, c[5].y;
  4779. MOV.F R6.x, R5;
  4780. MUL.F32 R5.z, R5.w, R6.x;
  4781. MOV.S R10.w, R5.y;
  4782. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  4783. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4784. TRUNC.U R5.w, R6.x;
  4785. TRUNC.U R5.y, R5;
  4786. AND.U.CC HC.x, R5.y, R5.w;
  4787. IF NE.x;
  4788. MOV.F R5.y, R5.z;
  4789. ELSE;
  4790. MOV.F R5.y, {0, 0, 0, 0}.x;
  4791. ENDIF;
  4792. MOV.F R6.y, R14.z;
  4793. MOV.F R5.w, R10.z;
  4794. MOV.F R5.z, c[4].y;
  4795. ADD.F32 R5.z, R5, R5.w;
  4796. MOV.S R14.w, R5.z;
  4797. MOV.F R5.w, R10.y;
  4798. MOV.F R5.z, c[4];
  4799. ADD.F32 R6.x, R5.z, R5.w;
  4800. MOV.S R11.z, R6.x;
  4801. MOV.F R5.w, c[4].x;
  4802. MOV.F R5.z, R10.w;
  4803. ADD.F32 R5.z, R5.w, R5;
  4804. MOV.S R11.x, R5.z;
  4805. MUL.F32 R5.z, R5.w, R6.y;
  4806. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  4807. TRUNC.U R6.y, R6.x;
  4808. MOV.F R6.x, R5;
  4809. MOV.S R14.y, R5;
  4810. ADD.F32 R5.y, -R6.x, {1, 0, 0, 0}.x;
  4811. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4812. MOV.S R12.y, R5;
  4813. TRUNC.U R5.y, R5.w;
  4814. AND.U.CC HC.x, R5.y, R6.y;
  4815. IF NE.x;
  4816. MOV.F R5.y, R5.z;
  4817. ELSE;
  4818. MOV.F R5.y, {0, 0, 0, 0}.x;
  4819. ENDIF;
  4820. MOV.F R5.w, R5.x;
  4821. MOV.F R5.z, c[5];
  4822. MUL.F32 R5.x, R5.z, R5.w;
  4823. MOV.S R11.y, R5;
  4824. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  4825. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4826. TRUNC.U R5.z, R5.w;
  4827. TRUNC.U R5.y, R5;
  4828. AND.U.CC HC.x, R5.y, R5.z;
  4829. IF NE.x;
  4830. ELSE;
  4831. MOV.F R5.x, {0, 0, 0, 0};
  4832. ENDIF;
  4833. MOV.F R5.y, R14.z;
  4834. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  4835. MOV.F R5.z, c[4].y;
  4836. MUL.F32 R5.y, R5.z, R5;
  4837. TRUNC.U R5.w, R5;
  4838. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4839. MOV.S R14.x, R5;
  4840. TRUNC.U R5.x, R5.z;
  4841. AND.U.CC HC.x, R5, R5.w;
  4842. IF NE.x;
  4843. MOV.F R5.x, R5.y;
  4844. ELSE;
  4845. MOV.F R5.x, {0, 0, 0, 0};
  4846. ENDIF;
  4847. MOV.F R5.z, R12.y;
  4848. MOV.F R5.y, R3;
  4849. MUL.F32 R3.y, R5, R5.z;
  4850. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  4851. TRUNC.U R5.z, R5.w;
  4852. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4853. MOV.S R13.y, R5.x;
  4854. TRUNC.U R5.x, R5.y;
  4855. AND.U.CC HC.x, R5, R5.z;
  4856. IF NE.x;
  4857. ELSE;
  4858. MOV.F R3.y, {0, 0, 0, 0}.x;
  4859. ENDIF;
  4860. MOV.F R5.x, R13.z;
  4861. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  4862. MOV.F R5.x, R11.w;
  4863. MOV.S R13.z, R5.y;
  4864. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  4865. MOV.S R5.x, R3.y;
  4866. MOV.S R3.y, R5.x;
  4867. MOV.S R13.w, R5.y;
  4868. MOV.F R5.z, R3.y;
  4869. MOV.F R5.y, R14.w;
  4870. MUL.F32 R3.y, R5, R5.z;
  4871. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4872. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4873. TRUNC.U R5.y, R5;
  4874. TRUNC.U R5.z, R5;
  4875. AND.U.CC HC.x, R5.y, R5.z;
  4876. MOV.S R10.z, R5.x;
  4877. IF NE.x;
  4878. ELSE;
  4879. MOV.F R3.y, {0, 0, 0, 0}.x;
  4880. ENDIF;
  4881. MOV.F R5.z, R10;
  4882. MOV.F R5.y, R11.x;
  4883. MUL.F32 R5.x, R5.y, R5.z;
  4884. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4885. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4886. TRUNC.U R5.y, R5;
  4887. TRUNC.U R5.z, R5;
  4888. AND.U.CC HC.x, R5.y, R5.z;
  4889. MOV.S R12.x, R3.y;
  4890. IF NE.x;
  4891. MOV.F R3.y, R5.x;
  4892. ELSE;
  4893. MOV.F R3.y, {0, 0, 0, 0}.x;
  4894. ENDIF;
  4895. MOV.F R5.x, R14.z;
  4896. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  4897. MOV.F R5.y, c[4].z;
  4898. MUL.F32 R5.x, R5.y, R5;
  4899. TRUNC.U R5.z, R5;
  4900. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4901. MOV.S R12.y, R3;
  4902. TRUNC.U R3.y, R5;
  4903. AND.U.CC HC.x, R3.y, R5.z;
  4904. IF NE.x;
  4905. MOV.F R3.y, R5.x;
  4906. ELSE;
  4907. MOV.F R3.y, {0, 0, 0, 0}.x;
  4908. ENDIF;
  4909. MOV.F R5.z, R10;
  4910. MOV.F R5.y, R11.z;
  4911. MUL.F32 R5.x, R5.y, R5.z;
  4912. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4913. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4914. TRUNC.U R5.y, R5;
  4915. TRUNC.U R5.z, R5;
  4916. AND.U.CC HC.x, R5.y, R5.z;
  4917. MOV.S R12.z, R3.y;
  4918. IF NE.x;
  4919. MOV.F R3.y, R5.x;
  4920. ELSE;
  4921. MOV.F R3.y, {0, 0, 0, 0}.x;
  4922. ENDIF;
  4923. MOV.F R5.w, R13;
  4924. MOV.F R5.y, R13;
  4925. MOV.F R5.x, R12;
  4926. ADD.F32 R5.x, R5, R5.y;
  4927. MOV.F R5.y, R12.z;
  4928. MOV.F R5.z, R14.y;
  4929. ADD.F32 R5.x, R5.z, R5;
  4930. MOV.S R12.z, R5.x;
  4931. ADD.F32 R3.y, R3, R5;
  4932. MOV.F R5.x, R14;
  4933. ADD.F32 R5.y, R5.x, R3;
  4934. MOV.F R3.y, R12;
  4935. MOV.F R5.x, R11.y;
  4936. ADD.F32 R5.z, R3.y, R5.x;
  4937. MOV.S R12.y, R5;
  4938. MOV.F R5.y, R13.x;
  4939. ADD.F32 R3.y, R5, R5.z;
  4940. SNE.F32 R5.z, R5.y, -R5;
  4941. ADD.F32 R5.y, R5.w, {-0.5, 0, 0, 0}.x;
  4942. MUL.F32 R5.w, R5.y, {2, 0, 0, 0}.x;
  4943. MOV.F R5.x, R3;
  4944. TRUNC.U R6.x, R5.z;
  4945. MUL.F32 R3.y, R5.x, R3;
  4946. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  4947. TRUNC.U R5.x, R5;
  4948. AND.U.CC HC.x, R5, R6;
  4949. MOV.F R5.z, R20;
  4950. MOV.F R5.y, R20.x;
  4951. ADD.F32 R5.y, R5, R5.z;
  4952. MAD.F32 R5.z, R5.y, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  4953. MOV.F R5.y, R13.z;
  4954. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  4955. ADD.F32 R5.y, R5, {-0.5, 0, 0, 0}.x;
  4956. MUL.F32 R5.y, R5, {2, 0, 0, 0}.x;
  4957. MOV.S R11.x, R5.w;
  4958. MOV.S R13.w, R5.z;
  4959. MOV.S R13.x, R5.y;
  4960. IF NE.x;
  4961. MOV.F R5.x, R3.y;
  4962. ELSE;
  4963. MOV.F R5.x, {0, 0, 0, 0};
  4964. ENDIF;
  4965. MOV.F R3.y, R12;
  4966. MOV.F R5.z, R21;
  4967. MUL.F32 R5.y, R5.z, R3;
  4968. SNE.F32 R5.w, R3.y, {0, 0, 0, 0}.x;
  4969. MOV.F R3.y, R20.x;
  4970. ADD.F32 R3.y, R3, {-0.5, 0, 0, 0}.x;
  4971. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4972. TRUNC.U R5.w, R5;
  4973. TRUNC.U R5.z, R5;
  4974. AND.U.CC HC.x, R5.z, R5.w;
  4975. MOV.S R3.y, R3;
  4976. MOV.S R7.x, R5;
  4977. IF NE.x;
  4978. MOV.F R5.x, R5.y;
  4979. ELSE;
  4980. MOV.F R5.x, {0, 0, 0, 0};
  4981. ENDIF;
  4982. MOV.F R5.w, R12.z;
  4983. MOV.F R5.z, R21.y;
  4984. MUL.F32 R5.y, R5.z, R5.w;
  4985. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4986. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4987. TRUNC.U R5.w, R5;
  4988. TRUNC.U R5.z, R5;
  4989. AND.U.CC HC.x, R5.z, R5.w;
  4990. MOV.S R21.z, R5.x;
  4991. IF NE.x;
  4992. ELSE;
  4993. MOV.F R5.y, {0, 0, 0, 0}.x;
  4994. ENDIF;
  4995. MOV.F R5.x, R13;
  4996. MOV.F R5.w, c[6].y;
  4997. MUL.F32 R5.z, R5.x, R5.w;
  4998. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  4999. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5000. TRUNC.U R6.y, R5.w;
  5001. MOV.F R5.x, R20.y;
  5002. TRUNC.U R6.x, R6;
  5003. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  5004. AND.U.CC HC.x, R6, R6.y;
  5005. MOV.S R5.x, R5;
  5006. MOV.S R5.w, R5.y;
  5007. IF NE.x;
  5008. MOV.F R5.y, R5.z;
  5009. ELSE;
  5010. MOV.F R5.y, {0, 0, 0, 0}.x;
  5011. ENDIF;
  5012. MOV.F R6.y, c[6].z;
  5013. MOV.F R6.x, R13.w;
  5014. MUL.F32 R5.z, R6.x, R6.y;
  5015. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5016. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5017. TRUNC.U R6.x, R6;
  5018. TRUNC.U R6.y, R6;
  5019. AND.U.CC HC.x, R6, R6.y;
  5020. MOV.S R12.x, R5.y;
  5021. IF NE.x;
  5022. MOV.F R5.y, R5.z;
  5023. ELSE;
  5024. MOV.F R5.y, {0, 0, 0, 0}.x;
  5025. ENDIF;
  5026. MOV.F R5.z, R11.x;
  5027. MOV.F R6.y, c[6].x;
  5028. MUL.F32 R6.x, R5.z, R6.y;
  5029. SNE.F32 R6.z, R5, {0, 0, 0, 0}.x;
  5030. MOV.F R5.z, R20;
  5031. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  5032. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5033. TRUNC.U R6.z, R6;
  5034. TRUNC.U R6.y, R6;
  5035. AND.U.CC HC.x, R6.z, R6.y;
  5036. MOV.S R5.z, R5;
  5037. MOV.S R12.y, R5;
  5038. IF NE.x;
  5039. MOV.F R5.y, R6.x;
  5040. ELSE;
  5041. MOV.F R5.y, {0, 0, 0, 0}.x;
  5042. ENDIF;
  5043. MOV.F R6.z, R12.x;
  5044. MOV.F R6.y, R12;
  5045. MOV.F R6.x, c[7].z;
  5046. ADD.F32 R6.x, R6, R6.y;
  5047. MOV.F R6.y, c[7];
  5048. ADD.F32 R6.z, R6.y, R6;
  5049. MOV.F R6.y, R20;
  5050. MOV.S R7.z, R6;
  5051. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  5052. FLR.F R6.y, R6;
  5053. MOV.S R6.y, R6;
  5054. MOV.F R6.z, R20;
  5055. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  5056. MOV.S R13.x, R6.z;
  5057. MOV.S R6.z, R6.y;
  5058. MOV.S R10.w, R6.y;
  5059. MOV.F R6.y, c[7].x;
  5060. ADD.F32 R5.y, R5, R6;
  5061. SGT.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  5062. TRUNC.U.CC HC.x, R6.y;
  5063. MOV.S R6.x, R6;
  5064. MOV.S R15.y, R5;
  5065. AND.S R12.x, c[8], {65536, 0, 0, 0};
  5066. IF NE.x;
  5067. MOV.F R5.y, {1, 0, 0, 0}.x;
  5068. ELSE;
  5069. MOV.F R5.y, {0, 0, 0, 0}.x;
  5070. ENDIF;
  5071. MOV.F R6.y, R10.w;
  5072. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  5073. TRUNC.U.CC HC.x, R6.y;
  5074. MOV.S R12.y, R5;
  5075. AND.S R13.w, c[8].x, {262144, 0, 0, 0}.x;
  5076. AND.S R13.z, c[8].x, {131072, 0, 0, 0}.x;
  5077. IF NE.x;
  5078. MOV.F R5.y, {1, 0, 0, 0}.x;
  5079. ELSE;
  5080. MOV.F R5.y, {0, 0, 0, 0}.x;
  5081. ENDIF;
  5082. MOV.F R6.y, R12;
  5083. ADD.F32 R5.y, R6, -R5;
  5084. MOV.F R6.z, R13.x;
  5085. FLR.F R6.y, R6.z;
  5086. MOV.S R7.y, R5;
  5087. MOV.S R5.y, R6;
  5088. MOV.S R6.y, R5;
  5089. MOV.S R10.z, R5.y;
  5090. I2F.S R5.y, R12.x;
  5091. SGT.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5092. TRUNC.U.CC HC.x, R6.y;
  5093. MOV.S R6.z, R5.y;
  5094. IF NE.x;
  5095. MOV.F R5.y, {1, 0, 0, 0}.x;
  5096. ELSE;
  5097. MOV.F R5.y, {0, 0, 0, 0}.x;
  5098. ENDIF;
  5099. MOV.F R6.y, R6.z;
  5100. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  5101. TRUNC.U.CC HC.x, R6.y;
  5102. MOV.S R12.x, R5.y;
  5103. IF NE.x;
  5104. MOV.F R5.y, {1, 0, 0, 0}.x;
  5105. ELSE;
  5106. MOV.F R5.y, {0, 0, 0, 0}.x;
  5107. ENDIF;
  5108. MOV.F R6.y, R10.z;
  5109. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  5110. TRUNC.U.CC HC.x, R6.y;
  5111. MOV.S R12.y, R5;
  5112. IF NE.x;
  5113. MOV.F R5.y, {1, 0, 0, 0}.x;
  5114. ELSE;
  5115. MOV.F R5.y, {0, 0, 0, 0}.x;
  5116. ENDIF;
  5117. MOV.F R6.y, R6.z;
  5118. SGT.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5119. TRUNC.U.CC HC.x, R6.y;
  5120. MOV.S R12.z, R5.y;
  5121. IF NE.x;
  5122. MOV.F R5.y, {1, 0, 0, 0}.x;
  5123. ELSE;
  5124. MOV.F R5.y, {0, 0, 0, 0}.x;
  5125. ENDIF;
  5126. MOV.F R6.z, R12;
  5127. MOV.F R6.y, R12.x;
  5128. ADD.F32 R6.y, R6, -R6.z;
  5129. MOV.F R6.z, R12.y;
  5130. ADD.F32 R5.y, R5, -R6.z;
  5131. I2F.S R7.w, R13.z;
  5132. MOV.S R10.x, R5.y;
  5133. SGT.F32 R5.y, R7.w, {0, 0, 0, 0}.x;
  5134. TRUNC.U.CC HC.x, R5.y;
  5135. MOV.S R6.y, R6;
  5136. MOV.S R6.z, R7.w;
  5137. IF NE.x;
  5138. MOV.F R5.y, {1, 0, 0, 0}.x;
  5139. ELSE;
  5140. MOV.F R5.y, {0, 0, 0, 0}.x;
  5141. ENDIF;
  5142. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  5143. TRUNC.U.CC HC.x, R6.z;
  5144. MOV.S R10.z, R5.y;
  5145. IF NE.x;
  5146. MOV.F R5.y, {1, 0, 0, 0}.x;
  5147. ELSE;
  5148. MOV.F R5.y, {0, 0, 0, 0}.x;
  5149. ENDIF;
  5150. I2F.S R7.w, R13;
  5151. MOV.S R6.z, R7.w;
  5152. SGT.F32 R7.w, R7, {0, 0, 0, 0}.x;
  5153. TRUNC.U.CC HC.x, R7.w;
  5154. MOV.S R10.w, R5.y;
  5155. IF NE.x;
  5156. MOV.F R5.y, {1, 0, 0, 0}.x;
  5157. ELSE;
  5158. MOV.F R5.y, {0, 0, 0, 0}.x;
  5159. ENDIF;
  5160. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  5161. TRUNC.U.CC HC.x, R6.z;
  5162. MOV.S R12.x, R5.y;
  5163. IF NE.x;
  5164. MOV.F R5.y, {1, 0, 0, 0}.x;
  5165. ELSE;
  5166. MOV.F R5.y, {0, 0, 0, 0}.x;
  5167. ENDIF;
  5168. MOV.F R9.w, R10.x;
  5169. MOV.F R7.w, R10;
  5170. MOV.F R6.z, R10;
  5171. ADD.F32 R6.z, R6, -R7.w;
  5172. TRUNC.S R10.x, R6.z;
  5173. TRUNC.S R9.w, R9;
  5174. ADD.S R6.z, -R9.w, {0, 0, 0, 0}.x;
  5175. MAX.S R21.y, R9.w, R6.z;
  5176. MOV.F R6.z, R12.x;
  5177. ADD.F32 R5.y, R6.z, -R5;
  5178. MOV.S R7.w, R10.x;
  5179. ADD.S R21.x, -R10, {0, 0, 0, 0};
  5180. TRUNC.S R5.y, R5;
  5181. ENDIF;
  5182. SEQ.U R6.z, R16.w, {1, 0, 0, 0}.x;
  5183. MOV.U.CC RC.x, -R6.z;
  5184. IF NE.x;
  5185. MOV.F R6.z, R7.x;
  5186. SNE.F32 R9.w, R6.z, {0, 0, 0, 0}.x;
  5187. MAX.S R12.x, R21, R7.w;
  5188. MOV.F R7.w, c[9].y;
  5189. MUL.F32 R6.w, R6.z, R7;
  5190. SNE.F32 R6.z, R7.w, {0, 0, 0, 0}.x;
  5191. TRUNC.U R10.x, R6.z;
  5192. TRUNC.U R9.w, R9;
  5193. AND.U.CC HC.x, R9.w, R10;
  5194. MOV.S R7.w, R21.z;
  5195. MOV.S R6.z, R21.y;
  5196. IF NE.x;
  5197. ELSE;
  5198. MOV.F R6.w, {0, 0, 0, 0}.x;
  5199. ENDIF;
  5200. MOV.F R9.w, R5;
  5201. MOV.F R10.x, c[9].z;
  5202. MUL.F32 R5.w, R9, R10.x;
  5203. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  5204. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  5205. TRUNC.U R9.w, R9;
  5206. TRUNC.U R10.x, R10;
  5207. AND.U.CC HC.x, R9.w, R10;
  5208. MOV.S R21.y, R6.w;
  5209. IF NE.x;
  5210. ELSE;
  5211. MOV.F R5.w, {0, 0, 0, 0}.x;
  5212. ENDIF;
  5213. MOV.F R9.w, c[9];
  5214. MUL.F32 R6.w, R7, R9;
  5215. MOV.S R21.z, R5.w;
  5216. SNE.F32 R5.w, R7, {0, 0, 0, 0}.x;
  5217. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  5218. TRUNC.U R7.w, R9;
  5219. TRUNC.U R5.w, R5;
  5220. AND.U.CC HC.x, R5.w, R7.w;
  5221. IF NE.x;
  5222. MOV.F R5.w, R6;
  5223. ELSE;
  5224. MOV.F R5.w, {0, 0, 0, 0}.x;
  5225. ENDIF;
  5226. MOV.F R6.w, R17.z;
  5227. SNE.F32 R7.w, R6, {0, 0, 0, 0}.x;
  5228. SNE.F32 R9.w, R5, {0, 0, 0, 0}.x;
  5229. I2F.S R6.z, R6;
  5230. MUL.F32 R6.w, R6, R5;
  5231. MUL.F32 R5.w, R6.z, {2, 0, 0, 0}.x;
  5232. TRUNC.U R7.w, R7;
  5233. TRUNC.U R9.w, R9;
  5234. AND.U.CC HC.x, R7.w, R9.w;
  5235. MOV.S R6.z, R5.w;
  5236. IF NE.x;
  5237. MOV.F R5.w, R6;
  5238. ELSE;
  5239. MOV.F R5.w, {0, 0, 0, 0}.x;
  5240. ENDIF;
  5241. MOV.F R7.w, R7.y;
  5242. MOV.F R7.y, R6.z;
  5243. MUL.F32 R6.z, -R7.y, R7.w;
  5244. MOV.F R6.w, R20.x;
  5245. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  5246. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  5247. MOV.S R10.z, R6.w;
  5248. TRUNC.U R7.w, R7;
  5249. SNE.F32 R6.w, -R7.y, {0, 0, 0, 0}.x;
  5250. MOV.S R21.x, R5.w;
  5251. TRUNC.U R5.w, R6;
  5252. AND.U.CC HC.x, R5.w, R7.w;
  5253. ADD.S R10.y, -R5, {0, 0, 0, 0}.x;
  5254. IF NE.x;
  5255. MOV.F R5.w, R6.z;
  5256. ELSE;
  5257. MOV.F R5.w, {0, 0, 0, 0}.x;
  5258. ENDIF;
  5259. MOV.F R7.y, R15;
  5260. I2F.S R6.z, R12.x;
  5261. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  5262. MUL.F32 R6.w, R5, R7.y;
  5263. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5264. SNE.F32 R7.w, R5, {0, 0, 0, 0}.x;
  5265. TRUNC.U R7.y, R7;
  5266. TRUNC.U R7.w, R7;
  5267. AND.U.CC HC.x, R7.y, R7.w;
  5268. MOV.S R6.z, R6;
  5269. MOV.S R10.w, R5;
  5270. IF NE.x;
  5271. MOV.F R5.w, R6;
  5272. ELSE;
  5273. MOV.F R5.w, {0, 0, 0, 0}.x;
  5274. ENDIF;
  5275. SNE.F32 R6.w, R6.y, {0, 0, 0, 0}.x;
  5276. MUL.F32 R6.y, -R6.z, R6;
  5277. TRUNC.U R6.w, R6;
  5278. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  5279. MOV.S R12.x, R5.w;
  5280. TRUNC.U R5.w, R6.z;
  5281. AND.U.CC HC.x, R5.w, R6.w;
  5282. IF NE.x;
  5283. MOV.F R5.w, R6.y;
  5284. ELSE;
  5285. MOV.F R5.w, {0, 0, 0, 0}.x;
  5286. ENDIF;
  5287. MOV.F R6.y, R10.z;
  5288. FLR.F R6.y, R6;
  5289. MOV.S R12.w, R6.y;
  5290. MOV.F R6.z, R10.w;
  5291. MOV.F R6.y, R18.x;
  5292. MAX.S R12.z, R10.y, R5.y;
  5293. MUL.F32 R5.y, R6, R6.z;
  5294. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5295. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5296. TRUNC.U R6.z, R6;
  5297. TRUNC.U R6.y, R6;
  5298. AND.U.CC HC.x, R6.y, R6.z;
  5299. MOV.S R14.y, R5.w;
  5300. IF NE.x;
  5301. ELSE;
  5302. MOV.F R5.y, {0, 0, 0, 0}.x;
  5303. ENDIF;
  5304. MOV.F R6.y, R12.x;
  5305. MOV.F R5.w, R15.y;
  5306. ADD.F32 R5.w, R5, R6.y;
  5307. MOV.F R6.y, R12.w;
  5308. MOV.S R13.x, R5.w;
  5309. SGT.F32 R5.w, R6.y, {0, 0, 0, 0}.x;
  5310. TRUNC.U.CC HC.x, R5.w;
  5311. MOV.S R6.z, R5.y;
  5312. IF NE.x;
  5313. MOV.F R5.y, {1, 0, 0, 0}.x;
  5314. ELSE;
  5315. MOV.F R5.y, {0, 0, 0, 0}.x;
  5316. ENDIF;
  5317. MOV.F R5.w, R12;
  5318. SGT.F32 R5.w, {0, 0, 0, 0}.x, R5;
  5319. TRUNC.U.CC HC.x, R5.w;
  5320. MOV.S R10.y, R5;
  5321. IF NE.x;
  5322. MOV.F R5.w, {1, 0, 0, 0}.x;
  5323. ELSE;
  5324. MOV.F R5.w, {0, 0, 0, 0}.x;
  5325. ENDIF;
  5326. I2F.S R6.y, R12.z;
  5327. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  5328. MOV.F R7.y, R14;
  5329. MOV.F R6.w, R7.z;
  5330. MOV.S R13.w, R6.y;
  5331. SNE.F32 R6.y, R6.w, {0, 0, 0, 0}.x;
  5332. MUL.F32 R5.y, R6.w, R7;
  5333. SNE.F32 R6.w, R7.y, {0, 0, 0, 0}.x;
  5334. TRUNC.U R7.y, R6.w;
  5335. MOV.F R6.w, R6.z;
  5336. TRUNC.U R6.y, R6;
  5337. MOV.F R6.z, R18.x;
  5338. ADD.F32 R6.z, R6, R6.w;
  5339. AND.U.CC HC.x, R6.y, R7.y;
  5340. MOV.S R14.w, R6.z;
  5341. MOV.S R10.z, R5.w;
  5342. IF NE.x;
  5343. ELSE;
  5344. MOV.F R5.y, {0, 0, 0, 0}.x;
  5345. ENDIF;
  5346. MOV.F R5.w, R3.y;
  5347. MOV.F R6.y, c[10].x;
  5348. MUL.F32 R3.y, R5.w, R6;
  5349. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5350. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5351. TRUNC.U R5.w, R5;
  5352. TRUNC.U R6.y, R6;
  5353. AND.U.CC HC.x, R5.w, R6.y;
  5354. MOV.S R12.x, R5.y;
  5355. IF NE.x;
  5356. ELSE;
  5357. MOV.F R3.y, {0, 0, 0, 0}.x;
  5358. ENDIF;
  5359. MOV.F R5.w, R10.z;
  5360. MOV.F R5.y, R10;
  5361. ADD.F32 R5.y, R5, -R5.w;
  5362. MOV.F R6.y, R14;
  5363. MOV.F R5.w, R18.y;
  5364. MOV.S R12.z, R5.y;
  5365. MUL.F32 R5.y, R5.w, R6;
  5366. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5367. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5368. TRUNC.U R6.y, R6;
  5369. TRUNC.U R5.w, R5;
  5370. AND.U.CC HC.x, R5.w, R6.y;
  5371. MOV.S R12.y, R3;
  5372. IF NE.x;
  5373. MOV.F R3.y, R5;
  5374. ELSE;
  5375. MOV.F R3.y, {0, 0, 0, 0}.x;
  5376. ENDIF;
  5377. MOV.F R5.y, R5.x;
  5378. MOV.F R5.w, c[10].y;
  5379. MUL.F32 R5.x, R5.y, R5.w;
  5380. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5381. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5382. TRUNC.U R5.y, R5;
  5383. TRUNC.U R5.w, R5;
  5384. AND.U.CC HC.x, R5.y, R5.w;
  5385. MOV.S R12.w, R3.y;
  5386. IF NE.x;
  5387. MOV.F R3.y, R5.x;
  5388. ELSE;
  5389. MOV.F R3.y, {0, 0, 0, 0}.x;
  5390. ENDIF;
  5391. MOV.F R5.w, R12.z;
  5392. MOV.F R5.y, R13.w;
  5393. MUL.F32 R5.x, -R5.y, R5.w;
  5394. SNE.F32 R5.y, -R5, {0, 0, 0, 0}.x;
  5395. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5396. TRUNC.U R5.y, R5;
  5397. TRUNC.U R5.w, R5;
  5398. AND.U.CC HC.x, R5.y, R5.w;
  5399. MOV.S R14.y, R3;
  5400. IF NE.x;
  5401. MOV.F R3.y, R5.x;
  5402. ELSE;
  5403. MOV.F R3.y, {0, 0, 0, 0}.x;
  5404. ENDIF;
  5405. MOV.F R5.y, R12.x;
  5406. MOV.F R5.x, R7.z;
  5407. ADD.F32 R5.x, R5, R5.y;
  5408. MOV.S R14.z, R5.x;
  5409. MOV.F R5.y, R12;
  5410. MOV.F R5.x, R14.w;
  5411. ADD.F32 R5.w, R5.x, R5.y;
  5412. MOV.S R11.w, R5;
  5413. MOV.F R5.y, R12.w;
  5414. MOV.F R5.x, R18.y;
  5415. ADD.F32 R5.x, R5, R5.y;
  5416. MOV.F R5.y, R5.z;
  5417. MOV.F R5.w, c[10].z;
  5418. MOV.S R10.y, R5.x;
  5419. MUL.F32 R5.x, R5.y, R5.w;
  5420. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5421. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  5422. TRUNC.U R5.y, R5;
  5423. TRUNC.U R5.z, R5;
  5424. AND.U.CC HC.x, R5.y, R5.z;
  5425. MOV.S R10.x, R3.y;
  5426. IF NE.x;
  5427. MOV.F R3.y, R5.x;
  5428. ELSE;
  5429. MOV.F R3.y, {0, 0, 0, 0}.x;
  5430. ENDIF;
  5431. MOV.F R5.y, R14;
  5432. MOV.F R5.x, R10.y;
  5433. ADD.F32 R5.x, R5, R5.y;
  5434. MOV.F R5.z, R10.x;
  5435. MOV.F R5.y, R18.z;
  5436. MOV.S R11.x, R5;
  5437. MUL.F32 R5.x, R5.y, R5.z;
  5438. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5439. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5440. TRUNC.U R5.z, R5;
  5441. TRUNC.U R5.y, R5;
  5442. AND.U.CC HC.x, R5.y, R5.z;
  5443. MOV.S R13.z, R3.y;
  5444. IF NE.x;
  5445. MOV.F R3.y, R5.x;
  5446. ELSE;
  5447. MOV.F R3.y, {0, 0, 0, 0}.x;
  5448. ENDIF;
  5449. MOV.F R5.z, R10.x;
  5450. MOV.F R5.y, R6.x;
  5451. MUL.F32 R5.x, R5.y, R5.z;
  5452. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5453. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5454. TRUNC.U R5.y, R5;
  5455. TRUNC.U R5.z, R5;
  5456. AND.U.CC HC.x, R5.y, R5.z;
  5457. MOV.S R12.y, R3;
  5458. IF NE.x;
  5459. MOV.F R3.y, R5.x;
  5460. ELSE;
  5461. MOV.F R3.y, {0, 0, 0, 0}.x;
  5462. ENDIF;
  5463. MOV.F R5.x, c[7].w;
  5464. SEQ.F R5.x, R5, {1, 0, 0, 0};
  5465. TRUNC.U.CC HC.x, R5;
  5466. MOV.S R12.z, R3.y;
  5467. IF NE.x;
  5468. MOV.S R3.y, {-1, 0, 0, 0}.x;
  5469. ELSE;
  5470. MOV.S R3.y, {0, 0, 0, 0}.x;
  5471. ENDIF;
  5472. MOV.F R5.x, c[7].w;
  5473. MAX.F R5.x, R5, {0, 0, 0, 0};
  5474. LG2.F32 R5.x, R5.x;
  5475. MUL.F32 R5.y, R5.x, {2, 0, 0, 0}.x;
  5476. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  5477. SEQ.F R5.y, R5.x, R5;
  5478. TRUNC.U R5.z, R5;
  5479. TRUNC.U R5.y, R5;
  5480. AND.U R5.y, R5, R5.z;
  5481. SEQ.U R5.y, R5, {1, 0, 0, 0}.x;
  5482. MOV.U.CC RC.x, -R5.y;
  5483. IF NE.x;
  5484. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  5485. ENDIF;
  5486. MOV.F R5.z, R12.y;
  5487. MOV.F R5.y, R18.z;
  5488. ADD.F32 R5.y, R5, R5.z;
  5489. MOV.F R5.z, R23.x;
  5490. MOV.S R10.x, R5.y;
  5491. MUL.F32 R5.y, R5.z, R5.x;
  5492. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  5493. SNE.F32 R5.x, R5.z, {0, 0, 0, 0};
  5494. TRUNC.U R5.z, R5.w;
  5495. TRUNC.U R5.x, R5;
  5496. AND.U.CC HC.x, R5, R5.z;
  5497. IF NE.x;
  5498. MOV.F R5.x, R5.y;
  5499. ELSE;
  5500. MOV.F R5.x, {0, 0, 0, 0};
  5501. ENDIF;
  5502. EX2.F32 R5.x, R5.x;
  5503. ADD.F32 R5.x, -R5, {1, 0, 0, 0};
  5504. SEQ.S R3.y, R3, {0, 0, 0, 0}.x;
  5505. MOV.U.CC RC.x, -R3.y;
  5506. MOV.F R5.z, R12;
  5507. MOV.F R5.y, R6.x;
  5508. ADD.F32 R5.y, R5, R5.z;
  5509. MOV.S R14.w, R5.y;
  5510. MOV.F R5.y, c[7].w;
  5511. MOV.F R5.w, R13.z;
  5512. MOV.F R5.z, R10.x;
  5513. ADD.F32 R5.z, R5, R5.w;
  5514. MOV.S R5.x, R5;
  5515. ADD.F32 R5.y, -R5, {1, 0, 0, 0}.x;
  5516. DIV.F32 R5.x, R5, R5.y;
  5517. MOV.S R21.w, R5.z;
  5518. MOV.S R12.w, R5.x;
  5519. IF NE.x;
  5520. MOV.S R3.y, R12.w;
  5521. ELSE;
  5522. MOV.S R3.y, R23.x;
  5523. ENDIF;
  5524. MOV.F R5.z, R3.y;
  5525. MOV.F R5.y, R13.x;
  5526. MUL.F32 R5.x, R5.y, R5.z;
  5527. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5528. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5529. TRUNC.U R5.z, R5;
  5530. TRUNC.U R5.y, R5;
  5531. AND.U.CC HC.x, R5.y, R5.z;
  5532. IF NE.x;
  5533. ELSE;
  5534. MOV.F R5.x, {0, 0, 0, 0};
  5535. ENDIF;
  5536. MOV.F R5.w, R3.y;
  5537. MOV.F R5.z, R14;
  5538. MUL.F32 R5.y, R5.z, R5.w;
  5539. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5540. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5541. TRUNC.U R5.z, R5;
  5542. TRUNC.U R5.w, R5;
  5543. AND.U.CC HC.x, R5.z, R5.w;
  5544. MOV.S R12.x, R5;
  5545. IF NE.x;
  5546. MOV.F R5.x, R5.y;
  5547. ELSE;
  5548. MOV.F R5.x, {0, 0, 0, 0};
  5549. ENDIF;
  5550. MOV.F R5.z, R3.y;
  5551. MOV.F R5.y, R14.w;
  5552. MUL.F32 R3.y, R5, R5.z;
  5553. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5554. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5555. TRUNC.U R5.y, R5;
  5556. TRUNC.U R5.z, R5;
  5557. AND.U.CC HC.x, R5.y, R5.z;
  5558. MOV.S R12.z, R5.x;
  5559. IF NE.x;
  5560. ELSE;
  5561. MOV.F R3.y, {0, 0, 0, 0}.x;
  5562. ENDIF;
  5563. MOV.F R5.y, R12.z;
  5564. MOV.F R5.x, R11;
  5565. ADD.F32 R5.x, R5, R5.y;
  5566. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  5567. MOV.F R5.z, R12.x;
  5568. MOV.F R5.y, R11.w;
  5569. ADD.F32 R5.y, R5, R5.z;
  5570. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  5571. FRC.F32 R5.z, R5.y;
  5572. MAD.F32 R5.w, R5.z, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5573. FRC.F32 R5.x, R5;
  5574. MAD.F32 R5.y, R5.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  5575. SIN.F32 R6.y, R5.y;
  5576. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  5577. SIN.F32 R6.x, R5.w;
  5578. MOV.F R5.y, R21.w;
  5579. ADD.F32 R3.y, R5, R3;
  5580. MOV.S R14.y, R5.z;
  5581. COS.F32 R5.z, R5.w;
  5582. MOV.S R13.y, R5.z;
  5583. MAD.F32 R3.y, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  5584. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  5585. FRC.F32 R3.y, R3;
  5586. MAD.F32 R3.y, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  5587. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  5588. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  5589. TRUNC.U R5.y, R5;
  5590. TRUNC.U R5.z, R5;
  5591. AND.U.CC HC.x, R5.y, R5.z;
  5592. MUL.F32 R5.x, R6, R6.y;
  5593. MOV.S R21.w, R6.x;
  5594. MOV.S R13.x, R6.y;
  5595. MOV.S R11.x, R3.y;
  5596. IF NE.x;
  5597. MOV.F R3.y, R5.x;
  5598. ELSE;
  5599. MOV.F R3.y, {0, 0, 0, 0}.x;
  5600. ENDIF;
  5601. MOV.F R5.z, R13.x;
  5602. MOV.F R5.y, R13;
  5603. MUL.F32 R5.x, R5.y, R5.z;
  5604. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5605. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5606. TRUNC.U R5.y, R5;
  5607. TRUNC.U R5.z, R5;
  5608. AND.U.CC HC.x, R5.y, R5.z;
  5609. MOV.S R14.x, R3.y;
  5610. IF NE.x;
  5611. MOV.F R3.y, R5.x;
  5612. ELSE;
  5613. MOV.F R3.y, {0, 0, 0, 0}.x;
  5614. ENDIF;
  5615. MOV.F R5.x, R14.y;
  5616. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  5617. COS.F32 R5.y, R5.x;
  5618. MOV.F R5.z, R13.y;
  5619. MUL.F32 R5.x, R5.y, R5.z;
  5620. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5621. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  5622. MOV.S R14.z, R5.y;
  5623. TRUNC.U R5.y, R5.z;
  5624. TRUNC.U R5.z, R5.w;
  5625. AND.U.CC HC.x, R5.y, R5.z;
  5626. MOV.S R11.z, R3.y;
  5627. IF NE.x;
  5628. MOV.F R3.y, R5.x;
  5629. ELSE;
  5630. MOV.F R3.y, {0, 0, 0, 0}.x;
  5631. ENDIF;
  5632. MOV.F R5.z, R14;
  5633. MOV.F R5.y, R21.w;
  5634. MUL.F32 R5.x, R5.y, R5.z;
  5635. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5636. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5637. TRUNC.U R5.y, R5;
  5638. TRUNC.U R5.z, R5;
  5639. AND.U.CC HC.x, R5.y, R5.z;
  5640. MOV.S R11.y, R3;
  5641. IF NE.x;
  5642. MOV.F R3.y, R5.x;
  5643. ELSE;
  5644. MOV.F R3.y, {0, 0, 0, 0}.x;
  5645. ENDIF;
  5646. MOV.F R5.x, R11;
  5647. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  5648. SIN.F32 R5.x, R5.x;
  5649. MOV.F R5.y, -R5.x;
  5650. MOV.S R6.x, R5.y;
  5651. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  5652. MOV.S R14.w, R5.x;
  5653. MUL.F32 R5.x, R3.y, R5;
  5654. TRUNC.U R5.y, R5;
  5655. SNE.F32 R5.z, R3.y, {0, 0, 0, 0}.x;
  5656. MOV.S R11.w, R3.y;
  5657. TRUNC.U R3.y, R5.z;
  5658. AND.U.CC HC.x, R5.y, R3.y;
  5659. MOV.S R6.w, {1065353216, 0, 0, 0}.x;
  5660. IF NE.x;
  5661. MOV.F R3.y, R5.x;
  5662. ELSE;
  5663. MOV.F R3.y, {0, 0, 0, 0}.x;
  5664. ENDIF;
  5665. MOV.F R5.z, R11.y;
  5666. MOV.F R5.y, R14.w;
  5667. MUL.F32 R5.x, R5.y, R5.z;
  5668. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5669. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5670. TRUNC.U R5.y, R5;
  5671. TRUNC.U R5.z, R5;
  5672. AND.U.CC HC.x, R5.y, R5.z;
  5673. MOV.S R10.y, R3;
  5674. IF NE.x;
  5675. MOV.F R3.y, R5.x;
  5676. ELSE;
  5677. MOV.F R3.y, {0, 0, 0, 0}.x;
  5678. ENDIF;
  5679. MOV.F R5.z, R11;
  5680. MOV.F R5.y, R14.w;
  5681. MUL.F32 R5.x, R5.y, R5.z;
  5682. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5683. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5684. TRUNC.U R5.y, R5;
  5685. TRUNC.U R5.z, R5;
  5686. AND.U.CC HC.x, R5.y, R5.z;
  5687. MOV.S R10.z, R3.y;
  5688. IF NE.x;
  5689. MOV.F R3.y, R5.x;
  5690. ELSE;
  5691. MOV.F R3.y, {0, 0, 0, 0}.x;
  5692. ENDIF;
  5693. MOV.F R5.x, R11;
  5694. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  5695. COS.F32 R5.y, R5.x;
  5696. MOV.F R5.z, R14;
  5697. MUL.F32 R5.x, R5.y, R5.z;
  5698. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5699. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  5700. MOV.S R14.y, R5;
  5701. TRUNC.U R5.y, R5.z;
  5702. TRUNC.U R5.z, R5.w;
  5703. AND.U.CC HC.x, R5.y, R5.z;
  5704. MOV.S R10.w, R3.y;
  5705. IF NE.x;
  5706. ELSE;
  5707. MOV.F R5.x, {0, 0, 0, 0};
  5708. ENDIF;
  5709. MOV.F R5.y, R10.z;
  5710. MOV.F R3.y, R14.x;
  5711. ADD.F32 R3.y, R3, R5;
  5712. MOV.F R5.z, R10.y;
  5713. MOV.F R5.y, R11.z;
  5714. ADD.F32 R5.y, -R5, R5.z;
  5715. MOV.F R5.w, R10;
  5716. MOV.F R5.z, R11.w;
  5717. ADD.F32 R5.z, -R5, R5.w;
  5718. MOV.F R5.w, R14.y;
  5719. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  5720. MOV.S R12.w, R5.z;
  5721. MOV.F R5.z, R13.y;
  5722. MOV.S R7.z, R5.y;
  5723. MUL.F32 R5.y, R5.z, R5.w;
  5724. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5725. TRUNC.U R5.w, R5.z;
  5726. TRUNC.U R6.y, R6;
  5727. AND.U.CC HC.x, R5.w, R6.y;
  5728. MOV.S R3.y, R3;
  5729. MOV.S R5.x, R5;
  5730. MOV.S R5.z, {1065353216, 0, 0, 0}.x;
  5731. IF NE.x;
  5732. ELSE;
  5733. MOV.F R5.y, {0, 0, 0, 0}.x;
  5734. ENDIF;
  5735. MOV.F R6.z, R14.y;
  5736. MOV.F R6.y, R13.x;
  5737. MUL.F32 R5.w, R6.y, R6.z;
  5738. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5739. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5740. TRUNC.U R6.y, R6;
  5741. TRUNC.U R6.z, R6;
  5742. AND.U.CC HC.x, R6.y, R6.z;
  5743. MOV.S R7.w, R5.y;
  5744. IF NE.x;
  5745. MOV.F R5.y, R5.w;
  5746. ELSE;
  5747. MOV.F R5.y, {0, 0, 0, 0}.x;
  5748. ENDIF;
  5749. MOV.F R6.z, R14.y;
  5750. MOV.F R6.y, R21.w;
  5751. MUL.F32 R5.w, R6.y, R6.z;
  5752. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5753. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5754. TRUNC.U R6.y, R6;
  5755. TRUNC.U R6.z, R6;
  5756. AND.U.CC HC.x, R6.y, R6.z;
  5757. MOV.S R10.x, R5.y;
  5758. IF NE.x;
  5759. MOV.F R5.y, R5.w;
  5760. ELSE;
  5761. MOV.F R5.y, {0, 0, 0, 0}.x;
  5762. ENDIF;
  5763. MOV.F R6.z, R14.x;
  5764. MOV.F R6.y, R14.w;
  5765. MUL.F32 R5.w, R6.y, R6.z;
  5766. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5767. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5768. TRUNC.U R6.y, R6;
  5769. TRUNC.U R6.z, R6;
  5770. AND.U.CC HC.x, R6.y, R6.z;
  5771. MOV.S R18.y, R5;
  5772. IF NE.x;
  5773. MOV.F R5.y, R5.w;
  5774. ELSE;
  5775. MOV.F R5.y, {0, 0, 0, 0}.x;
  5776. ENDIF;
  5777. MOV.F R6.z, R21.x;
  5778. MOV.F R6.y, R12.w;
  5779. MUL.F32 R5.w, R6.y, R6.z;
  5780. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5781. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5782. TRUNC.U R6.y, R6;
  5783. TRUNC.U R6.z, R6;
  5784. AND.U.CC HC.x, R6.y, R6.z;
  5785. MOV.S R10.z, R5.y;
  5786. IF NE.x;
  5787. MOV.F R5.y, R5.w;
  5788. ELSE;
  5789. MOV.F R5.y, {0, 0, 0, 0}.x;
  5790. ENDIF;
  5791. MOV.F R6.z, R21.x;
  5792. SNE.F32 R7.y, R6.z, {0, 0, 0, 0}.x;
  5793. MOV.F R6.y, R10.z;
  5794. MOV.F R5.w, R11.y;
  5795. ADD.F32 R5.w, R5, R6.y;
  5796. MOV.S R12.x, R5.w;
  5797. MOV.F R5.w, R10.x;
  5798. MUL.F32 R6.y, R5.w, R6.z;
  5799. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5800. TRUNC.U R6.z, R5.w;
  5801. TRUNC.U R7.y, R7;
  5802. AND.U.CC HC.x, R6.z, R7.y;
  5803. MOV.S R5.w, R5.y;
  5804. IF NE.x;
  5805. MOV.F R5.y, R6;
  5806. ELSE;
  5807. MOV.F R5.y, {0, 0, 0, 0}.x;
  5808. ENDIF;
  5809. MOV.F R7.y, R21.x;
  5810. MOV.F R6.z, R12.x;
  5811. MUL.F32 R6.y, R6.z, R7;
  5812. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5813. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5814. TRUNC.U R6.z, R6;
  5815. TRUNC.U R7.y, R7;
  5816. AND.U.CC HC.x, R6.z, R7.y;
  5817. MOV.S R18.z, R5.y;
  5818. IF NE.x;
  5819. MOV.F R5.y, R6;
  5820. ELSE;
  5821. MOV.F R5.y, {0, 0, 0, 0}.x;
  5822. ENDIF;
  5823. MOV.S R18.x, R5.y;
  5824. ENDIF;
  5825. SEQ.U R5.y, R16.w, {1, 0, 0, 0}.x;
  5826. MOV.U.CC RC.x, -R5.y;
  5827. IF NE.x;
  5828. MOV.F R6.y, R17.x;
  5829. MOV.F R5.y, c[12].x;
  5830. MAD.F32 R6.z, R5.y, {0.5, 0, 0, 0}.x, R6.y;
  5831. MOV.F R6.y, R17;
  5832. MOV.F R5.y, c[12];
  5833. MAD.F32 R5.y, R5, {0.5, 0, 0, 0}.x, R6;
  5834. MOV.S R10.x, R5.y;
  5835. MOV.F R5.y, c[13];
  5836. SGT.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5837. TRUNC.U.CC HC.x, R5.y;
  5838. MOV.S R10.y, R6.z;
  5839. MOV.S R7.x, c[11];
  5840. MOV.S R15.y, c[11];
  5841. MOV.S R17.z, c[11];
  5842. IF NE.x;
  5843. MOV.F R5.y, {1, 0, 0, 0}.x;
  5844. ELSE;
  5845. MOV.F R5.y, {0, 0, 0, 0}.x;
  5846. ENDIF;
  5847. MOV.F R6.y, c[13];
  5848. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  5849. TRUNC.U.CC HC.x, R6.y;
  5850. MOV.S R10.w, R5.y;
  5851. IF NE.x;
  5852. MOV.F R5.y, {1, 0, 0, 0}.x;
  5853. ELSE;
  5854. MOV.F R5.y, {0, 0, 0, 0}.x;
  5855. ENDIF;
  5856. MOV.F R6.y, R10.w;
  5857. ADD.F32 R5.y, R6, -R5;
  5858. MOV.F R6.z, R10.x;
  5859. MOV.F R6.y, R21.z;
  5860. MOV.S R21.x, R5.y;
  5861. MUL.F32 R5.y, R6, R6.z;
  5862. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5863. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5864. TRUNC.U R6.z, R6;
  5865. TRUNC.U R6.y, R6;
  5866. AND.U.CC HC.x, R6.y, R6.z;
  5867. IF NE.x;
  5868. ELSE;
  5869. MOV.F R5.y, {0, 0, 0, 0}.x;
  5870. ENDIF;
  5871. MOV.F R7.y, R10;
  5872. MOV.F R6.z, R21.y;
  5873. MUL.F32 R6.y, R6.z, R7;
  5874. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5875. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5876. TRUNC.U R7.y, R7;
  5877. TRUNC.U R6.z, R6;
  5878. AND.U.CC HC.x, R6.z, R7.y;
  5879. MOV.S R12.y, R5;
  5880. IF NE.x;
  5881. MOV.F R5.y, R6;
  5882. ELSE;
  5883. MOV.F R5.y, {0, 0, 0, 0}.x;
  5884. ENDIF;
  5885. MOV.F R6.z, R18.y;
  5886. MOV.F R6.y, R12;
  5887. SNE.F32 R7.y, R6, {0, 0, 0, 0}.x;
  5888. SNE.F32 R9.w, R6.z, {0, 0, 0, 0}.x;
  5889. MUL.F32 R6.y, R6, R6.z;
  5890. MOV.F R6.z, c[13].y;
  5891. RCP.F32 R6.z, R6.z;
  5892. TRUNC.U R7.y, R7;
  5893. TRUNC.U R9.w, R9;
  5894. AND.U.CC HC.x, R7.y, R9.w;
  5895. MOV.S R11.z, R5.y;
  5896. MOV.S R6.z, R6;
  5897. IF NE.x;
  5898. MOV.F R5.y, R6;
  5899. ELSE;
  5900. MOV.F R5.y, {0, 0, 0, 0}.x;
  5901. ENDIF;
  5902. MOV.F R6.y, R12;
  5903. MOV.F R7.y, R6.x;
  5904. SNE.F32 R9.w, R6.y, {0, 0, 0, 0}.x;
  5905. MUL.F32 R6.x, R6.y, R7.y;
  5906. MOV.F R6.y, R18.x;
  5907. ADD.F32 R5.y, R5, R6;
  5908. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5909. MOV.F R6.y, R23.x;
  5910. MUL.F32 R6.y, R6, R6.z;
  5911. TRUNC.U R9.w, R9;
  5912. TRUNC.U R7.y, R7;
  5913. AND.U.CC HC.x, R9.w, R7.y;
  5914. MOV.S R18.x, R5.y;
  5915. MOV.S R10.y, R6;
  5916. IF NE.x;
  5917. MOV.F R5.y, R6.x;
  5918. ELSE;
  5919. MOV.F R5.y, {0, 0, 0, 0}.x;
  5920. ENDIF;
  5921. MOV.F R6.z, R7.w;
  5922. MOV.F R6.y, R12;
  5923. MUL.F32 R6.x, R6.y, R6.z;
  5924. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5925. TRUNC.U R7.y, R6;
  5926. MOV.F R6.y, R18.z;
  5927. ADD.F32 R5.y, R5, R6;
  5928. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5929. TRUNC.U R6.y, R6.z;
  5930. AND.U.CC HC.x, R7.y, R6.y;
  5931. MOV.S R18.z, R5.y;
  5932. IF NE.x;
  5933. MOV.F R5.y, R6.x;
  5934. ELSE;
  5935. MOV.F R5.y, {0, 0, 0, 0}.x;
  5936. ENDIF;
  5937. ADD.F32 R5.y, R5, R5.w;
  5938. MOV.F R6.y, R5.x;
  5939. MOV.F R6.x, R11.z;
  5940. MOV.F R5.w, R21.x;
  5941. MOV.S R18.w, R5.y;
  5942. ADD.F32 R5.y, -R5.w, {1, 0, 0, 0}.x;
  5943. MOV.S R14.x, R5.y;
  5944. SNE.F32 R5.w, R6.y, {0, 0, 0, 0}.x;
  5945. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  5946. TRUNC.U R5.w, R5;
  5947. TRUNC.U R5.y, R5;
  5948. AND.U.CC HC.x, R5.y, R5.w;
  5949. MUL.F32 R5.x, R6, R6.y;
  5950. IF NE.x;
  5951. ELSE;
  5952. MOV.F R5.x, {0, 0, 0, 0};
  5953. ENDIF;
  5954. MOV.F R5.y, R18.z;
  5955. ADD.F32 R5.y, R5.x, R5;
  5956. MOV.F R5.w, R11.z;
  5957. MOV.F R6.x, R3.y;
  5958. MUL.F32 R5.x, R5.w, R6;
  5959. MOV.S R13.x, R5.y;
  5960. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  5961. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5962. TRUNC.U R5.w, R6.x;
  5963. TRUNC.U R5.y, R5;
  5964. AND.U.CC HC.x, R5.y, R5.w;
  5965. IF NE.x;
  5966. ELSE;
  5967. MOV.F R5.x, {0, 0, 0, 0};
  5968. ENDIF;
  5969. MOV.F R5.y, R18.w;
  5970. ADD.F32 R5.y, R5.x, R5;
  5971. MOV.F R5.w, R11.z;
  5972. MOV.F R6.x, R7.z;
  5973. MUL.F32 R5.x, R5.w, R6;
  5974. MOV.S R11.y, R5;
  5975. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  5976. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5977. TRUNC.U R5.w, R6.x;
  5978. TRUNC.U R5.y, R5;
  5979. AND.U.CC HC.x, R5.y, R5.w;
  5980. IF NE.x;
  5981. ELSE;
  5982. MOV.F R5.x, {0, 0, 0, 0};
  5983. ENDIF;
  5984. MOV.F R5.y, R18.x;
  5985. ADD.F32 R5.x, R5, R5.y;
  5986. MOV.F R5.w, c[2].z;
  5987. MOV.F R5.y, R20.x;
  5988. MOV.S R11.z, R5.x;
  5989. MUL.F32 R5.x, R5.y, R5.w;
  5990. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5991. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5992. TRUNC.U R5.w, R5;
  5993. TRUNC.U R5.y, R5;
  5994. AND.U.CC HC.x, R5.y, R5.w;
  5995. IF NE.x;
  5996. ELSE;
  5997. MOV.F R5.x, {0, 0, 0, 0};
  5998. ENDIF;
  5999. MOV.F R5.y, R10;
  6000. ADD.F32 R5.x, R5, R5.y;
  6001. MOV.F R12.xyz, R8;
  6002. MOV.F R5.w, R21.x;
  6003. MOV.F R12.w, R15;
  6004. MOV.F R10.x, R13;
  6005. MOV.F R10.w, R6;
  6006. MOV.F R10.yz, R11;
  6007. DP4.F32 R5.y, R12, R10;
  6008. MOV.S R5.x, R5;
  6009. MOV.F R12.xyz, R19;
  6010. MOV.S R8.x, R5.y;
  6011. MOV.F R12.w, R8;
  6012. DP4.F32 R5.y, R10, R12;
  6013. MOV.S R19.y, R5;
  6014. FRC.F32 R5.y, R5.x;
  6015. MUL.F32 R5.x, R5.w, R5.y;
  6016. SNE.F32 R6.x, R5.y, {0, 0, 0, 0};
  6017. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  6018. TRUNC.U R5.w, R6.x;
  6019. TRUNC.U R5.y, R5;
  6020. AND.U.CC HC.x, R5.y, R5.w;
  6021. IF NE.x;
  6022. ELSE;
  6023. MOV.F R5.x, {0, 0, 0, 0};
  6024. ENDIF;
  6025. MOV.F R6.x, R13;
  6026. MOV.F R6.yz, R11;
  6027. MOV.F R9.w, R3;
  6028. DP4.F32 R5.y, R9, R6;
  6029. MOV.F R6.x, R14;
  6030. MOV.F R5.w, R3.z;
  6031. MOV.S R9.z, R5.y;
  6032. MUL.F32 R5.y, R5.w, R6.x;
  6033. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  6034. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6035. TRUNC.U R5.w, R5;
  6036. TRUNC.U R6.x, R6;
  6037. AND.U.CC HC.x, R5.w, R6;
  6038. MOV.S R6.z, R5.x;
  6039. IF NE.x;
  6040. MOV.F R5.x, R5.y;
  6041. ELSE;
  6042. MOV.F R5.x, {0, 0, 0, 0};
  6043. ENDIF;
  6044. MOV.F R5.y, R6.z;
  6045. ADD.F32 R5.x, R5, R5.y;
  6046. MOV.F R5.y, c[14].w;
  6047. ADD.F32 R5.w, R5.x, -R5.y;
  6048. MOV.F R6.x, c[15].w;
  6049. ADD.F32 R5.y, -R5, R6.x;
  6050. MOV.S R11.y, R5.w;
  6051. MOV.S R12.w, R5.y;
  6052. SGE.F32 R5.x, R5, R6;
  6053. TRUNC.U.CC HC.x, R5;
  6054. MOV.F R5.w, c[15].x;
  6055. MOV.F R5.y, c[14].x;
  6056. ADD.F32 R5.y, -R5, R5.w;
  6057. MOV.S R10.x, R5.y;
  6058. IF NE.x;
  6059. MOV.S R5.x, {1065353216, 0, 0, 0};
  6060. ELSE;
  6061. MOV.S R5.x, {0, 0, 0, 0};
  6062. ENDIF;
  6063. MOV.F R5.y, R11;
  6064. SGE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6065. TRUNC.U.CC HC.x, R5.y;
  6066. IF NE.x;
  6067. MOV.S R5.y, {1065353216, 0, 0, 0}.x;
  6068. ELSE;
  6069. MOV.S R5.y, {0, 0, 0, 0}.x;
  6070. ENDIF;
  6071. MOV.F R6.y, R11;
  6072. MOV.F R5.w, R10.x;
  6073. MOV.F R6.x, R12.w;
  6074. DIV.F32 R6.x, R5.w, R6.x;
  6075. SNE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  6076. MUL.F32 R5.w, R6.y, R6.x;
  6077. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  6078. TRUNC.U R6.w, R6.z;
  6079. TRUNC.U R6.z, R6.x;
  6080. MOV.F R6.x, R5.y;
  6081. MOV.F R6.y, R5.x;
  6082. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  6083. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  6084. AND.U.CC HC.x, R6.z, R6.w;
  6085. MOV.S R12.z, R6.x;
  6086. MOV.S R12.x, R6.y;
  6087. IF NE.x;
  6088. ELSE;
  6089. MOV.F R5.w, {0, 0, 0, 0}.x;
  6090. ENDIF;
  6091. MOV.F R6.y, c[14].x;
  6092. ADD.F32 R5.w, R5, R6.y;
  6093. MOV.F R6.x, R12.z;
  6094. SNE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  6095. MUL.F32 R6.x, R6.y, R6;
  6096. TRUNC.U R6.z, R6;
  6097. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6098. MOV.S R18.x, R5.w;
  6099. TRUNC.U R5.w, R6.y;
  6100. AND.U.CC HC.x, R5.w, R6.z;
  6101. IF NE.x;
  6102. MOV.F R5.w, R6.x;
  6103. ELSE;
  6104. MOV.F R5.w, {0, 0, 0, 0}.x;
  6105. ENDIF;
  6106. MOV.F R6.y, R12.x;
  6107. MOV.F R6.x, R5.y;
  6108. MUL.F32 R5.y, R6.x, R6;
  6109. SNE.F32 R6.z, R6.y, {0, 0, 0, 0}.x;
  6110. TRUNC.U R6.y, R6.z;
  6111. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6112. MOV.S R10.y, R5.w;
  6113. TRUNC.U R5.w, R6.x;
  6114. AND.U.CC HC.x, R5.w, R6.y;
  6115. IF NE.x;
  6116. ELSE;
  6117. MOV.F R5.y, {0, 0, 0, 0}.x;
  6118. ENDIF;
  6119. MOV.F R6.x, R18;
  6120. MUL.F32 R5.w, R6.x, R5.y;
  6121. SNE.F32 R6.y, R5, {0, 0, 0, 0}.x;
  6122. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  6123. TRUNC.U R6.x, R6.y;
  6124. TRUNC.U R5.y, R5;
  6125. AND.U.CC HC.x, R5.y, R6;
  6126. IF NE.x;
  6127. MOV.F R5.y, R5.w;
  6128. ELSE;
  6129. MOV.F R5.y, {0, 0, 0, 0}.x;
  6130. ENDIF;
  6131. MOV.F R5.w, R10.y;
  6132. ADD.F32 R5.y, R5, R5.w;
  6133. MOV.S R18.x, R5.y;
  6134. MOV.F R5.w, R5.x;
  6135. MOV.F R5.y, c[15].x;
  6136. MUL.F32 R5.x, R5.y, R5.w;
  6137. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  6138. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6139. TRUNC.U R5.w, R5;
  6140. TRUNC.U R5.y, R5;
  6141. AND.U.CC HC.x, R5.y, R5.w;
  6142. IF NE.x;
  6143. ELSE;
  6144. MOV.F R5.x, {0, 0, 0, 0};
  6145. ENDIF;
  6146. MOV.F R5.y, R18.x;
  6147. ADD.F32 R5.x, R5, R5.y;
  6148. MOV.S R6.w, R5.x;
  6149. ENDIF;
  6150. SEQ.U R5.x, R16.w, {1, 0, 0, 0};
  6151. MOV.U.CC RC.x, -R5;
  6152. IF NE.x;
  6153. MOV.F R1.x, R8;
  6154. MOV.F R1.z, R9;
  6155. MOV.F R1.w, R5.z;
  6156. MOV.F R1.y, R19;
  6157. MOV.F R0, c[18];
  6158. DP4.F32 R0.z, R0, R1;
  6159. MOV.F R10, c[17];
  6160. DP4.F32 R0.x, R10, R1;
  6161. MOV.S R0.w, R0.z;
  6162. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  6163. MOV.F R10, c[16];
  6164. MOV.S R0.y, R0.x;
  6165. DP4.F32 R0.x, R1, R10;
  6166. MOV.F R10, c[19];
  6167. DP4.F32 R5.x, R1, R10;
  6168. MOV.F R10, c[21];
  6169. MOV.S R14.x, R5;
  6170. DP4.F32 R5.x, R1, R10;
  6171. MOV.S R11.y, R5.x;
  6172. MOV.S R11.w, R0.z;
  6173. MOV.F R10, c[20];
  6174. DP4.F32 R0.z, R1, R10;
  6175. MOV.F R5.x, R20;
  6176. SGT.F32 R1.x, R5, {0.5, 0, 0, 0};
  6177. TRUNC.U.CC HC.x, R1;
  6178. MOV.S R0.x, R0;
  6179. MOV.S R13.y, R0.z;
  6180. IF NE.x;
  6181. MOV.S R6.x, {-1, 0, 0, 0};
  6182. ELSE;
  6183. MOV.S R6.x, {0, 0, 0, 0};
  6184. ENDIF;
  6185. MOV.F R1.w, R5.z;
  6186. MOV.F R1.x, R8;
  6187. MOV.F R1.z, R9;
  6188. MOV.F R1.y, R19;
  6189. MOV.F R5, c[22];
  6190. DP4.F32 R0.z, R1, R5;
  6191. MOV.F R1.x, R22.z;
  6192. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  6193. MOV.S R6.z, R1.x;
  6194. SEQ.S R1.x, R6, {0, 0, 0, 0};
  6195. MOV.U.CC RC.x, -R1;
  6196. MOV.F R1.z, R11.y;
  6197. MOV.F R1.y, c[12].z;
  6198. ADD.F32 R1.y, R1, R1.z;
  6199. MOV.S R0.z, R0;
  6200. MOV.S R21.x, R1.y;
  6201. AND.S R10.y, c[8].x, {524288, 0, 0, 0}.x;
  6202. IF NE.x;
  6203. MOV.S R6.x, R22.z;
  6204. ELSE;
  6205. MOV.S R6.x, R6.z;
  6206. ENDIF;
  6207. MOV.F R1.x, R14;
  6208. MOV.F R1.y, R13;
  6209. MOV.F R1.z, R21.x;
  6210. MOV.F R5, c[23];
  6211. MOV.F R1.w, R0.z;
  6212. DP4.F32 R1.x, R1, R5;
  6213. MOV.S R11.x, R1;
  6214. SEQ.S R1.x, R10.y, {524288, 0, 0, 0};
  6215. MOV.U.CC RC.x, -R1;
  6216. AND.S R14.w, c[8].x, {1048576, 0, 0, 0}.x;
  6217. IF NE.x;
  6218. MOV.S R1.x, {-1, 0, 0, 0};
  6219. ELSE;
  6220. MOV.S R1.x, {0, 0, 0, 0};
  6221. ENDIF;
  6222. SEQ.S R1.y, R14.w, {1048576, 0, 0, 0}.x;
  6223. MOV.U.CC RC.x, -R1.y;
  6224. IF NE.x;
  6225. MOV.S R1.y, {-1, 0, 0, 0}.x;
  6226. ELSE;
  6227. MOV.S R1.y, {0, 0, 0, 0}.x;
  6228. ENDIF;
  6229. MOV.F R1.z, R22.w;
  6230. MOV.F R1.w, R20.y;
  6231. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  6232. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  6233. TRUNC.U.CC HC.x, R1.w;
  6234. MOV.S R10.y, R1.z;
  6235. IF NE.x;
  6236. MOV.S R1.z, {-1, 0, 0, 0}.x;
  6237. ELSE;
  6238. MOV.S R1.z, {0, 0, 0, 0}.x;
  6239. ENDIF;
  6240. SEQ.S R1.x, R1, {0, 0, 0, 0};
  6241. MOV.U.CC RC.x, -R1;
  6242. IF NE.x;
  6243. MOV.S R1.x, R22.z;
  6244. ELSE;
  6245. MOV.S R1.x, R6;
  6246. ENDIF;
  6247. SEQ.S R1.z, R1, {0, 0, 0, 0}.x;
  6248. MOV.U.CC RC.x, -R1.z;
  6249. MOV.S R7.w, R1.x;
  6250. IF NE.x;
  6251. MOV.S R1.x, R22.w;
  6252. ELSE;
  6253. MOV.S R1.x, R10.y;
  6254. ENDIF;
  6255. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  6256. MOV.U.CC RC.x, -R1.y;
  6257. IF NE.x;
  6258. MOV.S R6.x, R22.w;
  6259. ELSE;
  6260. MOV.S R6.x, R1;
  6261. ENDIF;
  6262. MOV.F R1.w, R0.z;
  6263. MOV.F R1.y, R13;
  6264. MOV.F R0.z, R11.x;
  6265. MOV.F R1.x, R14;
  6266. MOV.F R1.z, R21.x;
  6267. MOV.F R5, c[24];
  6268. DP4.F32 R1.x, R1, R5;
  6269. DIV.F32 R1.y, R0.z, R1.x;
  6270. MOV.F R1.x, R0.w;
  6271. MUL.F32 R0.z, R1.x, R1.y;
  6272. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  6273. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  6274. TRUNC.U R1.y, R1;
  6275. TRUNC.U R1.x, R1;
  6276. AND.U.CC HC.x, R1, R1.y;
  6277. MOV.S R22.z, R6.x;
  6278. IF NE.x;
  6279. ELSE;
  6280. MOV.F R0.z, {0, 0, 0, 0}.x;
  6281. ENDIF;
  6282. MOV.F R1.z, R11.w;
  6283. MOV.F R1.x, R0;
  6284. MAD.F32 R1.x, R1, {0.5, 0, 0, 0}, R1.z;
  6285. MOV.F R1.y, R0;
  6286. MAD.F32 R1.y, R1, {-0.5, 0, 0, 0}.x, R1.z;
  6287. MAD.F32 R1.z, R0, {0.5, 0, 0, 0}.x, R1;
  6288. MOV.S R1.y, R1;
  6289. MOV.S R1.x, R1;
  6290. MOV.S R1.w, R0;
  6291. MOV.S R1.z, R1;
  6292. MOV.S R0.z, R0;
  6293. ENDIF;
  6294. SEQ.U R5.x, R16.w, {1, 0, 0, 0};
  6295. MOV.U.CC RC.x, -R5;
  6296. IF NE.x;
  6297. MOV.F R2.z, c[25].x;
  6298. MOV.F R2.y, R7.x;
  6299. MUL.F32 R2.x, R2.y, R2.z;
  6300. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6301. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6302. TRUNC.U R2.z, R2;
  6303. TRUNC.U R2.y, R2;
  6304. AND.U.CC HC.x, R2.y, R2.z;
  6305. IF NE.x;
  6306. ELSE;
  6307. MOV.F R2.x, {0, 0, 0, 0};
  6308. ENDIF;
  6309. MOV.F R2.w, c[25].y;
  6310. MOV.F R2.z, R15.y;
  6311. MUL.F32 R2.y, R2.z, R2.w;
  6312. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6313. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6314. TRUNC.U R2.z, R2;
  6315. TRUNC.U R2.w, R2;
  6316. AND.U.CC HC.x, R2.z, R2.w;
  6317. MOV.S R3.x, R2;
  6318. IF NE.x;
  6319. MOV.F R2.x, R2.y;
  6320. ELSE;
  6321. MOV.F R2.x, {0, 0, 0, 0};
  6322. ENDIF;
  6323. MOV.F R2.w, c[25].z;
  6324. MOV.F R2.z, R17;
  6325. MUL.F32 R2.y, R2.z, R2.w;
  6326. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6327. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6328. TRUNC.U R2.z, R2;
  6329. TRUNC.U R2.w, R2;
  6330. AND.U.CC HC.x, R2.z, R2.w;
  6331. MOV.S R3.y, R2.x;
  6332. IF NE.x;
  6333. MOV.F R2.x, R2.y;
  6334. ELSE;
  6335. MOV.F R2.x, {0, 0, 0, 0};
  6336. ENDIF;
  6337. MOV.F R2.w, c[25];
  6338. MOV.F R2.z, R6.w;
  6339. MUL.F32 R2.y, R2.z, R2.w;
  6340. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6341. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6342. TRUNC.U R2.z, R2;
  6343. TRUNC.U R2.w, R2;
  6344. AND.U.CC HC.x, R2.z, R2.w;
  6345. MOV.S R15.z, R2.x;
  6346. IF NE.x;
  6347. MOV.F R2.x, R2.y;
  6348. ELSE;
  6349. MOV.F R2.x, {0, 0, 0, 0};
  6350. ENDIF;
  6351. MOV.F R2.w, c[26].x;
  6352. MOV.F R2.z, R3.x;
  6353. MUL.F32 R2.y, R2.z, R2.w;
  6354. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6355. TRUNC.U R5.x, R2.w;
  6356. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6357. TRUNC.U R2.z, R2;
  6358. AND.U.CC HC.x, R2.z, R5;
  6359. MOV.S R2.w, R2.x;
  6360. IF NE.x;
  6361. MOV.F R2.x, R2.y;
  6362. ELSE;
  6363. MOV.F R2.x, {0, 0, 0, 0};
  6364. ENDIF;
  6365. MOV.F R5.x, c[26];
  6366. MOV.F R2.z, R3.y;
  6367. MUL.F32 R2.y, R2.z, R5.x;
  6368. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6369. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  6370. TRUNC.U R2.z, R2;
  6371. TRUNC.U R5.x, R5;
  6372. AND.U.CC HC.x, R2.z, R5;
  6373. MOV.S R2.x, R2;
  6374. IF NE.x;
  6375. ELSE;
  6376. MOV.F R2.y, {0, 0, 0, 0}.x;
  6377. ENDIF;
  6378. MOV.F R5.y, c[26].x;
  6379. MOV.F R5.x, R15.z;
  6380. MUL.F32 R2.z, R5.x, R5.y;
  6381. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  6382. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6383. TRUNC.U R5.x, R5;
  6384. TRUNC.U R5.y, R5;
  6385. AND.U.CC HC.x, R5, R5.y;
  6386. MOV.S R2.y, R2;
  6387. IF NE.x;
  6388. ELSE;
  6389. MOV.F R2.z, {0, 0, 0, 0}.x;
  6390. ENDIF;
  6391. MOV.F R5.x, R20.y;
  6392. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  6393. MOV.F R5.z, c[29].y;
  6394. TRUNC.U R6.y, R5;
  6395. MOV.F R5.y, c[28].w;
  6396. ADD.F32 R5.y, R5, R5.z;
  6397. MUL.F32 R5.x, R5.z, R5;
  6398. MOV.S R12.x, R5.y;
  6399. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6400. MOV.F R5.y, c[27].z;
  6401. TRUNC.U R5.z, R5;
  6402. AND.U.CC HC.x, R6.y, R5.z;
  6403. MOV.F R6.x, c[29];
  6404. MOV.F R5.w, c[28].z;
  6405. ADD.F32 R5.w, R5, R6.x;
  6406. MOV.S R12.y, R5.w;
  6407. MOV.S R2.z, R2;
  6408. TRUNC.S R6.z, R5.y;
  6409. IF NE.x;
  6410. ELSE;
  6411. MOV.F R5.x, {0, 0, 0, 0};
  6412. ENDIF;
  6413. MOV.F R5.y, R20.x;
  6414. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  6415. MOV.F R5.z, c[29].x;
  6416. MUL.F32 R5.y, R5, R5.z;
  6417. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6418. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  6419. TRUNC.U R5.w, R5;
  6420. TRUNC.U R5.z, R5;
  6421. AND.U.CC HC.x, R5.w, R5.z;
  6422. MOV.S R12.z, R5.x;
  6423. IF NE.x;
  6424. MOV.F R5.x, R5.y;
  6425. ELSE;
  6426. MOV.F R5.x, {0, 0, 0, 0};
  6427. ENDIF;
  6428. MOV.F R5.z, R12.x;
  6429. MOV.F R5.y, R12.z;
  6430. ADD.F32 R5.y, -R5, R5.z;
  6431. MOV.S R10.y, R5;
  6432. I2F.S R5.y, R6.z;
  6433. MOV.S R5.y, R5;
  6434. MOV.F R5.z, R12.y;
  6435. MAD.F32 R5.z, -R5.x, {2, 0, 0, 0}.x, R5;
  6436. MOV.S R5.x, R5.y;
  6437. MOV.S R11.w, R5.y;
  6438. MOV.F R5.y, -|R5.x|;
  6439. SGE.F32 R5.x, {0, 0, 0, 0}, |R5|;
  6440. TRUNC.U.CC HC.x, R5;
  6441. MOV.S R10.x, R5.z;
  6442. MOV.S R10.z, R5.y;
  6443. IF NE.x;
  6444. MOV.F R5.x, {1, 0, 0, 0};
  6445. ELSE;
  6446. MOV.F R5.x, {0, 0, 0, 0};
  6447. ENDIF;
  6448. MOV.F R5.y, R23.x;
  6449. SNE.F32 R5.w, -R5.y, {0, 0, 0, 0}.x;
  6450. MOV.F R5.z, c[28].x;
  6451. MUL.F32 R5.y, -R5, R5.z;
  6452. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6453. TRUNC.U R5.w, R5;
  6454. TRUNC.U R5.z, R5;
  6455. AND.U.CC HC.x, R5.w, R5.z;
  6456. MOV.S R10.w, R5.x;
  6457. IF NE.x;
  6458. MOV.F R5.x, R5.y;
  6459. ELSE;
  6460. MOV.F R5.x, {0, 0, 0, 0};
  6461. ENDIF;
  6462. MOV.F R5.y, R10.x;
  6463. ADD.F32 R5.x, R5, -R5.y;
  6464. MOV.F R5.y, R10.w;
  6465. MOV.S R11.x, R5;
  6466. SEQ.F R5.x, R5.y, {0, 0, 0, 0};
  6467. TRUNC.U.CC HC.x, R5;
  6468. IF NE.x;
  6469. MOV.S R5.x, {0, 0, 0, 0};
  6470. ELSE;
  6471. MOV.S R5.x, R10.z;
  6472. ENDIF;
  6473. MOV.F R5.w, c[28].y;
  6474. MOV.F R5.z, R23.x;
  6475. MUL.F32 R5.y, R5.z, R5.w;
  6476. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  6477. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6478. TRUNC.U R5.w, R5;
  6479. TRUNC.U R5.z, R5;
  6480. AND.U.CC HC.x, R5.z, R5.w;
  6481. IF NE.x;
  6482. ELSE;
  6483. MOV.F R5.y, {0, 0, 0, 0}.x;
  6484. ENDIF;
  6485. MOV.F R5.z, R10.y;
  6486. ADD.F32 R5.y, R5, R5.z;
  6487. MOV.S R21.w, R5.y;
  6488. MOV.F R5.y, c[27].z;
  6489. RCP.F32 R5.z, R5.y;
  6490. MOV.F R5.w, c[27].x;
  6491. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  6492. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  6493. DIV.F32 R5.y, R5.w, R5.y;
  6494. TRUNC.U R5.w, R6.x;
  6495. TRUNC.U R5.z, R5;
  6496. AND.U.CC HC.x, R5.z, R5.w;
  6497. IF NE.x;
  6498. ELSE;
  6499. MOV.F R5.y, {0, 0, 0, 0}.x;
  6500. ENDIF;
  6501. MOV.F R5.z, R11.w;
  6502. MOV.F R5.w, R5.x;
  6503. ADD.F32 R5.w, |R5.z|, R5;
  6504. MOV.S R5.z, R5.y;
  6505. MOV.S R5.y, R5.z;
  6506. MOV.S R10.w, R5;
  6507. MOV.F R5.w, R7;
  6508. MOV.F R6.x, R5.y;
  6509. MUL.F32 R5.y, R5.w, R6.x;
  6510. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  6511. MOV.S R13.y, R5.z;
  6512. MOV.F R5.z, c[27].w;
  6513. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6514. RCP.F32 R5.z, R5.z;
  6515. TRUNC.U R5.w, R6.y;
  6516. TRUNC.U R6.
  6517. [15:03:17] Link error in shader. Log:
  6518. [15:03:17] Vertex info
  6519. -----------
  6520. Internal error: assembly compile error for vertex shader at offset 1806:
  6521. -- error message --
  6522. line 38, column 45: error: invalid vertex attribute reference
  6523. line 53, column 25: error: invalid vertex attribute reference
  6524. line 55, column 25: error: invalid vertex attribute reference
  6525. line 61, column 25: error: invalid vertex attribute reference
  6526. line 64, column 25: error: invalid vertex attribute reference
  6527. -- internal assembly text --
  6528. !!NVvp5.0
  6529. OPTION NV_internal;
  6530. OPTION NV_bindless_texture;
  6531. # cgc version 3.4.0001, build date Sep 5 2019
  6532. # command line args:
  6533. #vendor NVIDIA Corporation
  6534. #version 3.4.0.1 COP Build Date Sep 5 2019
  6535. #profile gp5vp
  6536. #program main
  6537. #semantic uf_remappedVS
  6538. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  6539. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  6540. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  6541. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  6542. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  6543. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  6544. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  6545. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  6546. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  6547. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  6548. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  6549. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  6550. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  6551. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  6552. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  6553. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  6554. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  6555. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  6556. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 0
  6557. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  6558. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  6559. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  6560. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  6561. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  6562. #var int4 uf_remappedVS[0] : : c[0], 35 : -1 : 1
  6563. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  6564. PARAM c[35] = { program.local[0..34] };
  6565. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  6566. OUTPUT result_attrib[] = { result.attrib[0..4] };
  6567. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24;
  6568. TEMP T;
  6569. TEMP RC;
  6570. SHORT TEMP HC;
  6571. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  6572. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6573. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  6574. OR.U R0, R0, R1;
  6575. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  6576. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6577. OR.U R0, R0, R1;
  6578. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  6579. OR.U R19, R0, R2;
  6580. SHR.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  6581. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6582. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  6583. OR.U R2, R2, R3;
  6584. MOV.U R0.x, R19.w;
  6585. MOV.F R0.y, c[0].x;
  6586. ADD.F32 R1.x, -R0, R0.y;
  6587. MOV.S R1.y, R1.x;
  6588. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  6589. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6590. OR.U R0, R2, R0;
  6591. SHL.U R3, vertex.attrib[16], {24, 0, 0, 0}.x;
  6592. OR.U R5, R0, R3;
  6593. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  6594. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6595. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  6596. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  6597. TRUNC.U R1.x, R1;
  6598. SEQ.U R1.z, R1.x, {1, 0, 0, 0}.x;
  6599. SEQ.U R12.x, -R1.z, {1, 0, 0, 0};
  6600. SHR.U R1.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  6601. AND.U R11.xy, R1.zwzw, {65280, 0, 0, 0}.x;
  6602. SHR.U R1.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  6603. MOV.U.CC RC.x, -R12;
  6604. OR.U R2, R2, R3;
  6605. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  6606. AND.U R3, R0, {16711680, 0, 0, 0}.x;
  6607. OR.U R2, R2, R3;
  6608. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  6609. OR.U R6, R2, R0;
  6610. SHR.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  6611. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6612. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  6613. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  6614. OR.U R2, R2, R3;
  6615. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6616. OR.U R0, R2, R0;
  6617. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  6618. OR.U R7, R0, R3;
  6619. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  6620. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6621. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  6622. OR.U R0, R0, R2;
  6623. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  6624. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6625. OR.U R0, R0, R2;
  6626. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  6627. OR.U R8, R0, R3;
  6628. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  6629. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6630. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  6631. OR.U R0, R0, R2;
  6632. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  6633. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6634. OR.U R0, R0, R2;
  6635. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  6636. OR.U R9, R0, R3;
  6637. SHR.U R0, vertex.attrib[4], {8, 0, 0, 0}.x;
  6638. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6639. SHR.U R0, vertex.attrib[4], {24, 0, 0, 0}.x;
  6640. OR.U R0, R0, R2;
  6641. SHL.U R3, vertex.attrib[4], {8, 0, 0, 0}.x;
  6642. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6643. OR.U R0, R0, R2;
  6644. SHL.U R3, vertex.attrib[4], {24, 0, 0, 0}.x;
  6645. OR.U R16, R0, R3;
  6646. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6647. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6648. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6649. OR.U R0.xyz, R0, R2;
  6650. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6651. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6652. OR.U R0.xyz, R0, R2;
  6653. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6654. OR.U R21.xyz, R0, R3;
  6655. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6656. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6657. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6658. OR.U R0.xyz, R0, R2;
  6659. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6660. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6661. OR.U R0.xyz, R0, R2;
  6662. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6663. OR.U R17.xyz, R0.yxzw, R3.yxzw;
  6664. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  6665. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6666. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  6667. OR.U R0.xyz, R0, R2;
  6668. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  6669. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6670. OR.U R0.xyz, R0, R2;
  6671. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  6672. OR.U R20.xyz, R0, R3;
  6673. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6674. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6675. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6676. OR.U R0.xyz, R0, R2;
  6677. SHL.U R3.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6678. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6679. OR.U R0.xyz, R0, R2;
  6680. SHL.U R3.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6681. OR.U R23.xyz, R0, R3;
  6682. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6683. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6684. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6685. OR.U R0.xyz, R0, R2;
  6686. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6687. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6688. OR.U R0.xyz, R0, R2;
  6689. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6690. OR.U R10.xyz, R0, R3;
  6691. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6692. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6693. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6694. OR.U R0.xyz, R0, R2;
  6695. SHL.U R3.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6696. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6697. OR.U R0.xyz, R0, R2;
  6698. SHL.U R3.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6699. OR.U R22.xyz, R0, R3;
  6700. OR.U R1.zw, R1, R11.xyxy;
  6701. SHL.U R11.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  6702. AND.U R11.xy, R11.zwzw, {16711680, 0, 0, 0}.x;
  6703. OR.U R1.zw, R1, R11.xyxy;
  6704. SHL.U R11.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  6705. OR.U R24.xy, R1.zwzw, R11.zwzw;
  6706. MOV.S R2, {0, 0, 0, 0}.x;
  6707. MOV.S R4, {0, 0, 0, 0}.x;
  6708. MOV.S R3, {0, 0, 0, 0}.x;
  6709. MOV.S R0, {0, 0, 0, 0}.x;
  6710. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  6711. MOV.S R1.zw, {0, 0, 0, 0};
  6712. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  6713. IF NE.x;
  6714. MOV.F R2.x, c[1].y;
  6715. MUL.F32 R2.z, R2.x, {5, 0, 0, 0}.x;
  6716. MOV.S R2.xyw, {0, 0, 0, 0}.xyzx;
  6717. MOV.S R2.z, R2;
  6718. MOV.S R19.x, {0, 0, 0, 0};
  6719. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  6720. ENDIF;
  6721. SEQ.U R1.x, R1, {0, 0, 0, 0};
  6722. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6723. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6724. MOV.U.CC RC.x, -R1;
  6725. IF NE.x;
  6726. MOV.S R16.w, {0, 0, 0, 0}.x;
  6727. ENDIF;
  6728. SEQ.S R1.x, R16.w, {0, 0, 0, 0};
  6729. SEQ.U R11.x, -R1, {1, 0, 0, 0};
  6730. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  6731. MOV.U.CC RC.x, -R11.y;
  6732. MOV.U R1.x, -R1;
  6733. MOV.U R11.x, -R11;
  6734. IF NE.x;
  6735. MOV.F R1.z, R6.w;
  6736. TRUNC.S R1.z, R1;
  6737. I2F.S R1.z, R1;
  6738. MOV.F R11.y, R1;
  6739. SGE.F32 R11.y, R11, R1.z;
  6740. SEQ.U R11.z, R11.x, {1, 0, 0, 0}.x;
  6741. TRUNC.U R11.y, R11;
  6742. SEQ.U R11.x, R11.y, {1, 0, 0, 0};
  6743. AND.U R16.w, -R11.x, -R11.z;
  6744. MOV.S R1.z, R1;
  6745. ELSE;
  6746. MOV.U R16.w, {0, 0, 0, 0}.x;
  6747. ENDIF;
  6748. SEQ.U R11.x, R16.w, {1, 0, 0, 0};
  6749. MOV.U.CC RC.x, -R11;
  6750. IF NE.x;
  6751. MOV.F R1.w, c[1].y;
  6752. MUL.F32 R1.w, R1, {5, 0, 0, 0}.x;
  6753. MOV.S R2.z, R1.w;
  6754. MOV.S R2.xy, {0, 0, 0, 0};
  6755. MOV.S R19.x, {0, 0, 0, 0};
  6756. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  6757. ENDIF;
  6758. SEQ.U R1.x, R1, {1, 0, 0, 0};
  6759. SEQ.U R11.y, -R1.x, {1, 0, 0, 0}.x;
  6760. MOV.U.CC RC.x, -R11.y;
  6761. MOV.U R11.x, -R1;
  6762. IF NE.x;
  6763. SEQ.S R1.x, R1.w, {0, 0, 0, 0};
  6764. SEQ.U R11.x, R11, {1, 0, 0, 0};
  6765. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6766. AND.U R16.w, -R1.x, -R11.x;
  6767. ELSE;
  6768. MOV.U R16.w, {0, 0, 0, 0}.x;
  6769. ENDIF;
  6770. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  6771. MOV.U.CC RC.x, -R1;
  6772. IF NE.x;
  6773. MOV.F R1.x, c[2];
  6774. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  6775. TRUNC.U.CC HC.x, R1;
  6776. IF NE.x;
  6777. MOV.F R1.x, {1, 0, 0, 0};
  6778. ELSE;
  6779. MOV.F R1.x, {0, 0, 0, 0};
  6780. ENDIF;
  6781. MOV.F R1.w, R20.x;
  6782. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  6783. MOV.S R14.y, R1.w;
  6784. MOV.F R1.w, c[2].x;
  6785. SGT.F32 R1.w, R1, {0, 0, 0, 0}.x;
  6786. TRUNC.U.CC HC.x, R1.w;
  6787. MOV.S R14.x, R1;
  6788. IF NE.x;
  6789. MOV.F R1.x, {1, 0, 0, 0};
  6790. ELSE;
  6791. MOV.F R1.x, {0, 0, 0, 0};
  6792. ENDIF;
  6793. MOV.F R1.w, R20.x;
  6794. SNE.F32 R10.w, R1, {0, 0, 0, 0}.x;
  6795. MOV.F R6.w, c[3].y;
  6796. MUL.F32 R1.w, R1, R6;
  6797. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6798. TRUNC.U R10.w, R10;
  6799. TRUNC.U R6.w, R6;
  6800. AND.U.CC HC.x, R10.w, R6.w;
  6801. MOV.S R14.z, R1.x;
  6802. IF NE.x;
  6803. MOV.F R6.w, R1;
  6804. ELSE;
  6805. MOV.F R6.w, {0, 0, 0, 0}.x;
  6806. ENDIF;
  6807. MOV.F R11.z, R1.y;
  6808. DIV.F32 R1.z, R11, R1.z;
  6809. SNE.F32 R10.w, R1.z, {0, 0, 0, 0}.x;
  6810. MOV.F R1.w, R14.x;
  6811. MOV.F R1.x, R14.z;
  6812. ADD.F32 R1.x, R1, -R1.w;
  6813. ADD.F32 R1.w, -R1.x, {1, 0, 0, 0}.x;
  6814. SNE.F32 R11.y, -R1.x, {-1, 0, 0, 0}.x;
  6815. MUL.F32 R1.w, R1.z, R1;
  6816. MOV.S R11.x, R1;
  6817. MOV.F R1.x, R14.y;
  6818. MIN.F R11.w, R1.x, {0, 0, 0, 0}.x;
  6819. MOV.F R1.x, R17.y;
  6820. ADD.F32 R1.x, R1, R11.w;
  6821. MOV.F R12.x, c[2];
  6822. RCP.F32 R11.w, R12.x;
  6823. MAD.F32 R6.w, R11.z, R11, R6;
  6824. MOV.S R14.y, R6.w;
  6825. MOV.F R11.z, c[5].x;
  6826. MOV.F R6.w, c[4].x;
  6827. ADD.F32 R6.w, -R6, R11.z;
  6828. MOV.F R11.z, c[4].y;
  6829. MOV.F R11.w, c[5].y;
  6830. ADD.F32 R11.w, -R11.z, R11;
  6831. TRUNC.U R10.w, R10;
  6832. TRUNC.U R11.y, R11;
  6833. AND.U.CC HC.x, R10.w, R11.y;
  6834. MOV.S R1.z, R1;
  6835. MOV.S R1.x, R1;
  6836. MOV.S R11.z, R6.w;
  6837. MOV.S R12.z, R11.w;
  6838. IF NE.x;
  6839. ELSE;
  6840. MOV.F R1.w, {0, 0, 0, 0}.x;
  6841. ENDIF;
  6842. MOV.F R10.w, R11.x;
  6843. MOV.F R6.w, R14.y;
  6844. FRC.F32 R11.y, R6.w;
  6845. SNE.F32 R11.w, R11.y, {0, 0, 0, 0}.x;
  6846. MUL.F32 R6.w, R10, R11.y;
  6847. TRUNC.U R12.y, R11.w;
  6848. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  6849. TRUNC.U R10.w, R10;
  6850. AND.U.CC HC.x, R10.w, R12.y;
  6851. MOV.F R11.y, c[6].x;
  6852. MOV.F R11.x, c[5];
  6853. ADD.F32 R11.x, -R11, R11.y;
  6854. MOV.F R11.w, c[5].z;
  6855. MOV.F R11.y, c[4].z;
  6856. ADD.F32 R11.y, -R11, R11.w;
  6857. MOV.F R12.x, c[5].w;
  6858. MOV.F R11.w, c[4];
  6859. ADD.F32 R11.w, -R11, R12.x;
  6860. MOV.S R11.x, R11;
  6861. MOV.S R11.y, R11;
  6862. MOV.S R13.z, R11.w;
  6863. MOV.S R12.x, R1.w;
  6864. IF NE.x;
  6865. MOV.F R1.w, R6;
  6866. ELSE;
  6867. MOV.F R1.w, {0, 0, 0, 0}.x;
  6868. ENDIF;
  6869. MOV.F R10.w, R12.z;
  6870. MOV.F R11.w, R13.z;
  6871. MOV.F R6.w, R11.z;
  6872. DIV.F32 R11.z, R6.w, R11.w;
  6873. DIV.F32 R10.w, R10, R11.w;
  6874. MOV.F R6.w, R12.x;
  6875. MOV.S R12.x, R10.w;
  6876. MOV.F R10.w, R11.y;
  6877. DIV.F32 R10.w, R10, R11.w;
  6878. MOV.S R1.w, R1;
  6879. ADD.F32 R11.w, R6, R1;
  6880. MOV.F R12.z, c[4].w;
  6881. ADD.F32 R11.y, R11.w, -R12.z;
  6882. SNE.F32 R12.w, R11, R12.z;
  6883. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  6884. MUL.F32 R1.w, R11.y, R10;
  6885. MOV.F R10.w, c[5];
  6886. ADD.F32 R12.y, R11.w, -R10.w;
  6887. MOV.S R14.x, R11.y;
  6888. MOV.S R11.y, R11.w;
  6889. MOV.F R13.y, c[6].w;
  6890. MOV.F R11.w, c[5].z;
  6891. MOV.F R12.z, c[6];
  6892. ADD.F32 R12.z, -R11.w, R12;
  6893. TRUNC.U R11.w, R12;
  6894. TRUNC.U R6.w, R6;
  6895. AND.U.CC HC.x, R11.w, R6.w;
  6896. MOV.F R13.x, c[6].y;
  6897. MOV.F R12.w, c[5].y;
  6898. ADD.F32 R12.w, -R12, R13.x;
  6899. ADD.F32 R10.w, -R10, R13.y;
  6900. MOV.S R11.z, R11;
  6901. MOV.S R12.y, R12;
  6902. MOV.S R12.z, R12;
  6903. MOV.S R12.w, R12;
  6904. MOV.S R13.x, R10.w;
  6905. IF NE.x;
  6906. ELSE;
  6907. MOV.F R1.w, {0, 0, 0, 0}.x;
  6908. ENDIF;
  6909. MOV.F R11.w, R12.x;
  6910. MOV.F R10.w, R14.x;
  6911. MUL.F32 R6.w, R10, R11;
  6912. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  6913. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  6914. TRUNC.U R10.w, R10;
  6915. TRUNC.U R11.w, R11;
  6916. AND.U.CC HC.x, R10.w, R11.w;
  6917. MOV.S R13.y, R1.w;
  6918. IF NE.x;
  6919. MOV.F R1.w, R6;
  6920. ELSE;
  6921. MOV.F R1.w, {0, 0, 0, 0}.x;
  6922. ENDIF;
  6923. MOV.F R10.w, R14.x;
  6924. MUL.F32 R6.w, R10, R11.z;
  6925. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  6926. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  6927. TRUNC.U R10.w, R10;
  6928. TRUNC.U R11.z, R11;
  6929. AND.U.CC HC.x, R10.w, R11.z;
  6930. MOV.S R13.z, R1.w;
  6931. IF NE.x;
  6932. MOV.F R1.w, R6;
  6933. ELSE;
  6934. MOV.F R1.w, {0, 0, 0, 0}.x;
  6935. ENDIF;
  6936. MOV.F R6.w, R14.x;
  6937. SGE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6938. TRUNC.U.CC HC.x, R6.w;
  6939. MOV.S R13.w, R1;
  6940. IF NE.x;
  6941. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  6942. ELSE;
  6943. MOV.S R1.w, {0, 0, 0, 0}.x;
  6944. ENDIF;
  6945. MOV.F R10.w, R13;
  6946. MOV.F R6.w, c[4].x;
  6947. ADD.F32 R6.w, R6, R10;
  6948. MOV.F R10.w, R12.y;
  6949. MOV.S R12.x, R6.w;
  6950. SGE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  6951. TRUNC.U.CC HC.x, R6.w;
  6952. IF NE.x;
  6953. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  6954. ELSE;
  6955. MOV.S R10.w, {0, 0, 0, 0}.x;
  6956. ENDIF;
  6957. MOV.F R11.w, R13.x;
  6958. MOV.F R6.w, R12;
  6959. DIV.F32 R6.w, R6, R11.w;
  6960. DIV.F32 R12.z, R12, R11.w;
  6961. MOV.F R11.z, R13;
  6962. MOV.S R13.z, R6.w;
  6963. MOV.F R6.w, R13.y;
  6964. MOV.F R13.x, c[4].z;
  6965. DIV.F32 R11.w, R11.x, R11.w;
  6966. MOV.F R12.w, R12.y;
  6967. MOV.S R13.y, R12.z;
  6968. SNE.F32 R12.z, R11.w, {0, 0, 0, 0}.x;
  6969. MUL.F32 R11.x, R12.w, R11.w;
  6970. MOV.F R11.w, c[4].y;
  6971. ADD.F32 R11.z, R11.w, R11;
  6972. MOV.S R11.w, R11.z;
  6973. MOV.F R11.z, c[6].w;
  6974. ADD.F32 R11.y, R11, -R11.z;
  6975. ADD.F32 R6.w, R13.x, R6;
  6976. MOV.S R11.z, R6.w;
  6977. MOV.S R13.x, R11.y;
  6978. MOV.F R6.w, R10;
  6979. SNE.F32 R11.y, R12.w, {0, 0, 0, 0}.x;
  6980. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  6981. TRUNC.U R12.z, R12;
  6982. TRUNC.U R11.y, R11;
  6983. AND.U.CC HC.x, R11.y, R12.z;
  6984. MOV.S R6.w, R6;
  6985. IF NE.x;
  6986. ELSE;
  6987. MOV.F R11.x, {0, 0, 0, 0};
  6988. ENDIF;
  6989. MOV.F R11.y, R13.x;
  6990. SGE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  6991. TRUNC.U.CC HC.x, R11.y;
  6992. MOV.S R14.x, R11;
  6993. IF NE.x;
  6994. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  6995. ELSE;
  6996. MOV.S R12.z, {0, 0, 0, 0}.x;
  6997. ENDIF;
  6998. MOV.F R12.w, R13.y;
  6999. MOV.F R11.y, R12;
  7000. MUL.F32 R11.x, R11.y, R12.w;
  7001. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  7002. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7003. TRUNC.U R12.w, R12;
  7004. TRUNC.U R11.y, R11;
  7005. AND.U.CC HC.x, R11.y, R12.w;
  7006. IF NE.x;
  7007. ELSE;
  7008. MOV.F R11.x, {0, 0, 0, 0};
  7009. ENDIF;
  7010. MOV.F R12.w, R13.z;
  7011. MUL.F32 R11.y, R12, R12.w;
  7012. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7013. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  7014. TRUNC.U R12.y, R12;
  7015. TRUNC.U R12.w, R12;
  7016. AND.U.CC HC.x, R12.y, R12.w;
  7017. MOV.S R14.z, R11.x;
  7018. IF NE.x;
  7019. MOV.F R11.x, R11.y;
  7020. ELSE;
  7021. MOV.F R11.x, {0, 0, 0, 0};
  7022. ENDIF;
  7023. MOV.F R12.y, R6.w;
  7024. MOV.F R11.y, R1.w;
  7025. MUL.F32 R6.w, R11.y, R12.y;
  7026. MOV.S R14.w, R11.x;
  7027. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  7028. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7029. TRUNC.U R11.y, R12;
  7030. TRUNC.U R11.x, R11;
  7031. AND.U.CC HC.x, R11, R11.y;
  7032. IF NE.x;
  7033. ELSE;
  7034. MOV.F R6.w, {0, 0, 0, 0}.x;
  7035. ENDIF;
  7036. MOV.F R11.y, R14.z;
  7037. MOV.F R11.x, c[5].z;
  7038. ADD.F32 R11.x, R11, R11.y;
  7039. MOV.S R12.w, R11.x;
  7040. MOV.F R11.x, R12;
  7041. MOV.F R12.x, R14.w;
  7042. MOV.F R11.y, c[5];
  7043. ADD.F32 R11.y, R11, R12.x;
  7044. MOV.S R12.x, R11.y;
  7045. MOV.F R12.y, R14.x;
  7046. MOV.F R11.y, c[5].x;
  7047. ADD.F32 R11.y, R11, R12;
  7048. MOV.S R12.y, R6.w;
  7049. MOV.S R6.w, R12.y;
  7050. MOV.F R13.x, R6.w;
  7051. MUL.F32 R6.w, R11.x, R13.x;
  7052. SNE.F32 R13.y, R11.x, {0, 0, 0, 0}.x;
  7053. MOV.S R17.y, R12;
  7054. MOV.F R12.y, R12.z;
  7055. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7056. ADD.F32 R12.y, -R12, {1, 0, 0, 0}.x;
  7057. TRUNC.U R11.x, R13.y;
  7058. TRUNC.U R13.x, R13;
  7059. AND.U.CC HC.x, R11, R13;
  7060. MOV.S R11.y, R11;
  7061. MOV.S R13.z, R12.y;
  7062. IF NE.x;
  7063. MOV.F R11.x, R6.w;
  7064. ELSE;
  7065. MOV.F R11.x, {0, 0, 0, 0};
  7066. ENDIF;
  7067. MOV.F R13.x, R12.z;
  7068. MOV.F R12.y, c[6].x;
  7069. MUL.F32 R6.w, R12.y, R13.x;
  7070. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7071. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7072. TRUNC.U R13.x, R13;
  7073. TRUNC.U R12.y, R12;
  7074. AND.U.CC HC.x, R12.y, R13;
  7075. MOV.S R11.x, R11;
  7076. IF NE.x;
  7077. MOV.F R12.y, R6.w;
  7078. ELSE;
  7079. MOV.F R12.y, {0, 0, 0, 0}.x;
  7080. ENDIF;
  7081. MOV.F R13.x, c[6].y;
  7082. MOV.F R13.y, R12.z;
  7083. MUL.F32 R6.w, R13.x, R13.y;
  7084. MOV.S R15.x, R12.y;
  7085. SNE.F32 R12.y, R13.x, {0, 0, 0, 0}.x;
  7086. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  7087. TRUNC.U R13.x, R13.y;
  7088. TRUNC.U R12.y, R12;
  7089. AND.U.CC HC.x, R12.y, R13;
  7090. IF NE.x;
  7091. ELSE;
  7092. MOV.F R6.w, {0, 0, 0, 0}.x;
  7093. ENDIF;
  7094. MOV.F R13.x, R13.z;
  7095. MOV.F R12.y, R10.w;
  7096. SNE.F32 R13.y, R13.x, {0, 0, 0, 0}.x;
  7097. MUL.F32 R10.w, R12.y, R13.x;
  7098. SNE.F32 R13.x, R12.y, {0, 0, 0, 0};
  7099. MOV.S R12.y, R6.w;
  7100. TRUNC.U R13.y, R13;
  7101. TRUNC.U R6.w, R13.x;
  7102. AND.U.CC HC.x, R6.w, R13.y;
  7103. IF NE.x;
  7104. ELSE;
  7105. MOV.F R10.w, {0, 0, 0, 0}.x;
  7106. ENDIF;
  7107. MOV.F R13.x, R12.z;
  7108. MOV.F R12.z, c[6];
  7109. MUL.F32 R6.w, R12.z, R13.x;
  7110. MOV.S R14.z, R10.w;
  7111. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  7112. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7113. TRUNC.U R12.z, R13.x;
  7114. TRUNC.U R10.w, R10;
  7115. AND.U.CC HC.x, R10.w, R12.z;
  7116. IF NE.x;
  7117. MOV.F R10.w, R6;
  7118. ELSE;
  7119. MOV.F R10.w, {0, 0, 0, 0}.x;
  7120. ENDIF;
  7121. MOV.F R12.z, R17.y;
  7122. MUL.F32 R6.w, R11, R12.z;
  7123. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  7124. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  7125. TRUNC.U R11.w, R11;
  7126. TRUNC.U R12.z, R12;
  7127. AND.U.CC HC.x, R11.w, R12.z;
  7128. MOV.S R17.w, R10;
  7129. IF NE.x;
  7130. MOV.F R10.w, R6;
  7131. ELSE;
  7132. MOV.F R10.w, {0, 0, 0, 0}.x;
  7133. ENDIF;
  7134. MOV.F R11.w, R12.x;
  7135. MOV.F R12.z, R14;
  7136. MUL.F32 R6.w, R11, R12.z;
  7137. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  7138. TRUNC.U R12.x, R11.w;
  7139. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  7140. TRUNC.U R12.z, R12;
  7141. AND.U.CC HC.x, R12, R12.z;
  7142. MOV.S R11.w, R10;
  7143. IF NE.x;
  7144. MOV.F R10.w, R6;
  7145. ELSE;
  7146. MOV.F R10.w, {0, 0, 0, 0}.x;
  7147. ENDIF;
  7148. MOV.F R12.x, R14.z;
  7149. MUL.F32 R6.w, R11.y, R12.x;
  7150. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  7151. TRUNC.U R12.z, R12.x;
  7152. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7153. TRUNC.U R11.y, R11;
  7154. AND.U.CC HC.x, R11.y, R12.z;
  7155. MOV.S R12.x, R10.w;
  7156. IF NE.x;
  7157. ELSE;
  7158. MOV.F R6.w, {0, 0, 0, 0}.x;
  7159. ENDIF;
  7160. MOV.F R11.y, R11.z;
  7161. MOV.F R12.z, R17.y;
  7162. MUL.F32 R10.w, R11.y, R12.z;
  7163. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7164. TRUNC.U R11.z, R11.y;
  7165. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  7166. TRUNC.U R12.z, R12;
  7167. AND.U.CC HC.x, R11.z, R12.z;
  7168. MOV.S R11.y, R6.w;
  7169. IF NE.x;
  7170. MOV.F R6.w, R10;
  7171. ELSE;
  7172. MOV.F R6.w, {0, 0, 0, 0}.x;
  7173. ENDIF;
  7174. MOV.F R12.z, R14;
  7175. MOV.F R11.z, R12.w;
  7176. MUL.F32 R10.w, R11.z, R12.z;
  7177. SNE.F32 R12.w, R12.z, {0, 0, 0, 0}.x;
  7178. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  7179. TRUNC.U R12.z, R11;
  7180. TRUNC.U R12.w, R12;
  7181. AND.U.CC HC.x, R12.z, R12.w;
  7182. MOV.S R11.z, R6.w;
  7183. IF NE.x;
  7184. MOV.F R6.w, R10;
  7185. ELSE;
  7186. MOV.F R6.w, {0, 0, 0, 0}.x;
  7187. ENDIF;
  7188. MOV.F R10.w, R1;
  7189. ADD.F32 R12.z, -R10.w, {1, 0, 0, 0}.x;
  7190. MOV.F R12.w, c[4].x;
  7191. MOV.S R15.w, R6;
  7192. MUL.F32 R1.w, R12.z, R12;
  7193. MOV.S R6.w, R12.z;
  7194. SNE.F32 R12.z, -R10.w, {-1, 0, 0, 0}.x;
  7195. SNE.F32 R10.w, R12, {0, 0, 0, 0}.x;
  7196. TRUNC.U R12.z, R12;
  7197. TRUNC.U R10.w, R10;
  7198. AND.U.CC HC.x, R10.w, R12.z;
  7199. IF NE.x;
  7200. ELSE;
  7201. MOV.F R1.w, {0, 0, 0, 0}.x;
  7202. ENDIF;
  7203. MOV.F R12.z, R20.y;
  7204. MOV.F R10.w, R20.x;
  7205. ADD.F32 R10.w, R10, R12.z;
  7206. MOV.F R12.z, c[4];
  7207. MOV.S R14.x, R1.w;
  7208. SNE.F32 R1.w, R12.z, {0, 0, 0, 0}.x;
  7209. MOV.F R12.w, R6;
  7210. MOV.S R17.y, R10.w;
  7211. MUL.F32 R10.w, R12.z, R12;
  7212. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  7213. TRUNC.U R12.z, R12.w;
  7214. TRUNC.U R1.w, R1;
  7215. AND.U.CC HC.x, R1.w, R12.z;
  7216. IF NE.x;
  7217. ELSE;
  7218. MOV.F R10.w, {0, 0, 0, 0}.x;
  7219. ENDIF;
  7220. MOV.F R12.z, R6.w;
  7221. MOV.F R6.w, c[4].y;
  7222. MUL.F32 R1.w, R6, R12.z;
  7223. MOV.S R15.z, R10.w;
  7224. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  7225. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7226. TRUNC.U R10.w, R10;
  7227. TRUNC.U R6.w, R6;
  7228. AND.U.CC HC.x, R6.w, R10.w;
  7229. IF NE.x;
  7230. MOV.F R12.z, R1.w;
  7231. ELSE;
  7232. MOV.F R12.z, {0, 0, 0, 0}.x;
  7233. ENDIF;
  7234. MOV.F R6.w, {1, 0, 0, 0}.x;
  7235. DP4.F32 R1.w, R7, R6;
  7236. MOV.S R7.w, R1;
  7237. DP4.F32 R1.w, R6, R9;
  7238. MOV.F R13, R8;
  7239. DP4.F32 R7.x, R6, R13;
  7240. MOV.F R6.y, R14.x;
  7241. MOV.F R6.x, R11;
  7242. ADD.F32 R6.y, R6.x, R6;
  7243. MOV.F R6.x, R11.y;
  7244. ADD.F32 R6.y, R6.x, R6;
  7245. MOV.F R6.x, R15;
  7246. SNE.F32 R6.z, R6.x, -R6.y;
  7247. ADD.F32 R6.x, R6, R6.y;
  7248. MOV.F R6.y, R1.x;
  7249. MUL.F32 R1.x, R6.y, R6;
  7250. MOV.F R6.x, R11.w;
  7251. ADD.F32 R6.x, R6, R12.z;
  7252. TRUNC.U R6.z, R6;
  7253. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7254. MOV.S R14.x, R6;
  7255. TRUNC.U R6.x, R6.y;
  7256. AND.U.CC HC.x, R6, R6.z;
  7257. MOV.S R10.w, R7.x;
  7258. MOV.S R1.w, R1;
  7259. IF NE.x;
  7260. ELSE;
  7261. MOV.F R1.x, {0, 0, 0, 0};
  7262. ENDIF;
  7263. MOV.F R6.x, R12;
  7264. MOV.F R6.y, R14.x;
  7265. ADD.F32 R6.y, R6.x, R6;
  7266. MOV.F R6.x, R12.y;
  7267. ADD.F32 R6.x, R6, R6.y;
  7268. MOV.S R14.z, R6.x;
  7269. MOV.F R7.x, R20.z;
  7270. MOV.F R6.x, R20;
  7271. ADD.F32 R6.y, R6.x, R7.x;
  7272. MAD.F32 R7.y, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7273. ADD.F32 R6.x, R6, {-0.5, 0, 0, 0};
  7274. MOV.F R6.y, R15.w;
  7275. MOV.F R6.w, R15.z;
  7276. MOV.F R6.z, R11;
  7277. ADD.F32 R6.z, R6, R6.w;
  7278. ADD.F32 R6.w, R6.y, R6.z;
  7279. MOV.S R6.z, R7.y;
  7280. MOV.F R7.y, R17.w;
  7281. ADD.F32 R6.y, R7, R6.w;
  7282. MOV.S R7.z, R6;
  7283. SNE.F32 R6.w, R7.y, -R6;
  7284. MUL.F32 R7.y, R7.z, {2, 0, 0, 0}.x;
  7285. MOV.F R6.z, R17;
  7286. MOV.F R7.z, R20.y;
  7287. ADD.F32 R7.x, R7, R7.z;
  7288. MUL.F32 R6.y, R6.z, R6;
  7289. MOV.S R13.y, R7;
  7290. MOV.F R7.y, R17;
  7291. MAD.F32 R7.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7292. MOV.S R9.x, R6;
  7293. ADD.F32 R6.x, R7.z, {-0.5, 0, 0, 0};
  7294. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7295. MOV.S R7.y, R7;
  7296. MAD.F32 R8.x, R7, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  7297. MOV.S R7.x, R7.y;
  7298. MUL.F32 R7.x, R7, {2, 0, 0, 0};
  7299. TRUNC.U R6.w, R6;
  7300. TRUNC.U R6.z, R6;
  7301. AND.U.CC HC.x, R6.z, R6.w;
  7302. MOV.S R7.y, R8.x;
  7303. MOV.S R15.w, R7.x;
  7304. MUL.F32 R7.x, R7.y, {2, 0, 0, 0};
  7305. MOV.S R17.w, R7.x;
  7306. MOV.S R6.x, R6;
  7307. MOV.S R9.y, R1.x;
  7308. IF NE.x;
  7309. MOV.F R1.x, R6.y;
  7310. ELSE;
  7311. MOV.F R1.x, {0, 0, 0, 0};
  7312. ENDIF;
  7313. MOV.F R6.w, R14.z;
  7314. MOV.F R6.z, R17.x;
  7315. MUL.F32 R6.y, R6.z, R6.w;
  7316. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7317. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7318. TRUNC.U R6.w, R6;
  7319. TRUNC.U R6.z, R6;
  7320. AND.U.CC HC.x, R6.z, R6.w;
  7321. MOV.S R17.z, R1.x;
  7322. IF NE.x;
  7323. MOV.F R1.x, R6.y;
  7324. ELSE;
  7325. MOV.F R1.x, {0, 0, 0, 0};
  7326. ENDIF;
  7327. MOV.F R6.z, R13.y;
  7328. MOV.F R6.w, c[7].z;
  7329. MUL.F32 R6.y, R6.z, R6.w;
  7330. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  7331. MOV.F R6.z, R20;
  7332. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  7333. TRUNC.U R7.x, R7;
  7334. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7335. MOV.S R8.z, R6;
  7336. TRUNC.U R6.z, R6.w;
  7337. AND.U.CC HC.x, R7, R6.z;
  7338. MOV.S R9.w, R1.x;
  7339. IF NE.x;
  7340. MOV.F R1.x, R6.y;
  7341. ELSE;
  7342. MOV.F R1.x, {0, 0, 0, 0};
  7343. ENDIF;
  7344. MOV.F R6.w, c[7].x;
  7345. MOV.F R6.z, R15.w;
  7346. MUL.F32 R6.y, R6.z, R6.w;
  7347. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7348. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7349. TRUNC.U R6.z, R6;
  7350. TRUNC.U R6.w, R6;
  7351. AND.U.CC HC.x, R6.z, R6.w;
  7352. MOV.S R14.x, R1;
  7353. IF NE.x;
  7354. MOV.F R1.x, R6.y;
  7355. ELSE;
  7356. MOV.F R1.x, {0, 0, 0, 0};
  7357. ENDIF;
  7358. MOV.F R6.z, R17.w;
  7359. MOV.F R6.w, c[7].y;
  7360. MUL.F32 R6.y, R6.z, R6.w;
  7361. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  7362. MOV.F R6.z, R20.y;
  7363. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  7364. TRUNC.U R7.x, R7;
  7365. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7366. MOV.S R14.z, R6;
  7367. TRUNC.U R6.z, R6.w;
  7368. AND.U.CC HC.x, R7, R6.z;
  7369. MOV.S R14.y, R1.x;
  7370. IF NE.x;
  7371. MOV.F R1.x, R6.y;
  7372. ELSE;
  7373. MOV.F R1.x, {0, 0, 0, 0};
  7374. ENDIF;
  7375. MOV.F R6.z, R14.x;
  7376. MOV.F R6.y, c[8].z;
  7377. ADD.F32 R6.y, R6, R6.z;
  7378. MOV.S R8.y, R6;
  7379. MOV.F R6.z, c[8].x;
  7380. MOV.F R6.y, R14;
  7381. ADD.F32 R6.y, R6, R6.z;
  7382. MOV.F R6.z, R14;
  7383. MOV.S R8.x, R6.y;
  7384. FLR.F R6.y, R6.z;
  7385. MOV.S R6.y, R6;
  7386. MOV.F R6.z, R6.y;
  7387. SGT.F32 R6.w, R6.z, {0, 0, 0, 0}.x;
  7388. MOV.F R6.z, c[8].y;
  7389. ADD.F32 R1.x, R6.z, R1;
  7390. MOV.S R13.w, R6.y;
  7391. MOV.F R6.y, R20.z;
  7392. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  7393. FLR.F R6.y, R6;
  7394. TRUNC.U.CC HC.x, R6.w;
  7395. MOV.S R6.z, R6.y;
  7396. MOV.S R7.z, R1.x;
  7397. IF NE.x;
  7398. MOV.F R1.x, {1, 0, 0, 0};
  7399. ELSE;
  7400. MOV.F R1.x, {0, 0, 0, 0};
  7401. ENDIF;
  7402. MOV.F R6.y, R13.w;
  7403. SGT.F32 R7.x, {0, 0, 0, 0}, R6.y;
  7404. TRUNC.U.CC HC.x, R7;
  7405. MOV.S R17.y, R1.x;
  7406. AND.S R6.w, c[9].x, {65536, 0, 0, 0}.x;
  7407. AND.S R6.y, c[9].x, {262144, 0, 0, 0}.x;
  7408. AND.S R9.z, c[9].x, {131072, 0, 0, 0}.x;
  7409. IF NE.x;
  7410. MOV.F R1.x, {1, 0, 0, 0};
  7411. ELSE;
  7412. MOV.F R1.x, {0, 0, 0, 0};
  7413. ENDIF;
  7414. MOV.S R17.x, R1;
  7415. ENDIF;
  7416. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  7417. MOV.U.CC RC.x, -R1;
  7418. IF NE.x;
  7419. MOV.F R7.y, c[10];
  7420. MOV.F R7.x, R17;
  7421. MOV.F R1.x, R17.y;
  7422. ADD.F32 R1.x, R1, -R7;
  7423. MOV.S R15.x, R1;
  7424. MOV.F R1.x, R9.y;
  7425. MUL.F32 R7.x, R1, R7.y;
  7426. SNE.F32 R9.y, R7, {0, 0, 0, 0}.x;
  7427. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  7428. TRUNC.U R7.y, R1.x;
  7429. TRUNC.U R9.y, R9;
  7430. AND.U.CC HC.x, R7.y, R9.y;
  7431. MOV.S R1.x, R17.z;
  7432. IF NE.x;
  7433. ELSE;
  7434. MOV.F R7.x, {0, 0, 0, 0};
  7435. ENDIF;
  7436. MOV.F R9.y, R9.w;
  7437. MOV.F R11.x, c[10].z;
  7438. MUL.F32 R7.y, R9, R11.x;
  7439. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  7440. TRUNC.U R9.w, R9.y;
  7441. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7442. TRUNC.U R11.x, R11;
  7443. AND.U.CC HC.x, R9.w, R11;
  7444. MOV.S R9.y, R7.x;
  7445. IF NE.x;
  7446. MOV.F R7.x, R7.y;
  7447. ELSE;
  7448. MOV.F R7.x, {0, 0, 0, 0};
  7449. ENDIF;
  7450. MOV.F R7.y, R1.x;
  7451. MOV.F R9.w, c[10];
  7452. MUL.F32 R1.x, R7.y, R9.w;
  7453. MOV.S R17.z, R7.x;
  7454. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  7455. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  7456. TRUNC.U R7.y, R9.w;
  7457. TRUNC.U R7.x, R7;
  7458. AND.U.CC HC.x, R7, R7.y;
  7459. IF NE.x;
  7460. ELSE;
  7461. MOV.F R1.x, {0, 0, 0, 0};
  7462. ENDIF;
  7463. I2F.S R7.x, R6.w;
  7464. MOV.S R1.x, R1;
  7465. MOV.S R6.w, R1.x;
  7466. MOV.S R1.x, R7;
  7467. MOV.F R7.y, R6.w;
  7468. MOV.F R7.x, R21.z;
  7469. MUL.F32 R6.w, R7.x, R7.y;
  7470. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  7471. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  7472. TRUNC.U R7.y, R7;
  7473. TRUNC.U R7.x, R7;
  7474. AND.U.CC HC.x, R7, R7.y;
  7475. IF NE.x;
  7476. ELSE;
  7477. MOV.F R6.w, {0, 0, 0, 0}.x;
  7478. ENDIF;
  7479. MOV.F R7.x, R1;
  7480. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  7481. TRUNC.U.CC HC.x, R7;
  7482. MOV.S R17.x, R6.w;
  7483. IF NE.x;
  7484. MOV.F R6.w, {1, 0, 0, 0}.x;
  7485. ELSE;
  7486. MOV.F R6.w, {0, 0, 0, 0}.x;
  7487. ENDIF;
  7488. MOV.F R7.x, R1;
  7489. MOV.F R1.x, R6.w;
  7490. SGT.F32 R6.w, {0, 0, 0, 0}.x, R7.x;
  7491. TRUNC.U.CC HC.x, R6.w;
  7492. MOV.S R13.y, R1.x;
  7493. IF NE.x;
  7494. MOV.F R1.x, {1, 0, 0, 0};
  7495. ELSE;
  7496. MOV.F R1.x, {0, 0, 0, 0};
  7497. ENDIF;
  7498. MOV.F R6.w, R6.z;
  7499. SGT.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7500. TRUNC.U.CC HC.x, R6.w;
  7501. MOV.S R13.z, R1.x;
  7502. IF NE.x;
  7503. MOV.F R1.x, {1, 0, 0, 0};
  7504. ELSE;
  7505. MOV.F R1.x, {0, 0, 0, 0};
  7506. ENDIF;
  7507. I2F.S R7.x, R9.z;
  7508. MOV.S R6.w, R7.x;
  7509. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  7510. TRUNC.U.CC HC.x, R7;
  7511. MOV.S R15.w, R1.x;
  7512. IF NE.x;
  7513. MOV.F R1.x, {1, 0, 0, 0};
  7514. ELSE;
  7515. MOV.F R1.x, {0, 0, 0, 0};
  7516. ENDIF;
  7517. SGT.F32 R6.w, {0, 0, 0, 0}.x, R6;
  7518. TRUNC.U.CC HC.x, R6.w;
  7519. MOV.S R14.x, R1;
  7520. IF NE.x;
  7521. MOV.F R1.x, {1, 0, 0, 0};
  7522. ELSE;
  7523. MOV.F R1.x, {0, 0, 0, 0};
  7524. ENDIF;
  7525. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  7526. TRUNC.U.CC HC.x, R6.z;
  7527. MOV.S R14.y, R1.x;
  7528. IF NE.x;
  7529. MOV.F R6.z, {1, 0, 0, 0}.x;
  7530. ELSE;
  7531. MOV.F R6.z, {0, 0, 0, 0}.x;
  7532. ENDIF;
  7533. MOV.F R6.w, R13.z;
  7534. MOV.F R1.x, R13.y;
  7535. ADD.F32 R1.x, R1, -R6.w;
  7536. I2F.S R6.w, R6.y;
  7537. MOV.F R6.y, R6.z;
  7538. MOV.S R14.w, R1.x;
  7539. SGT.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  7540. TRUNC.U.CC HC.x, R6.z;
  7541. MOV.S R1.x, R6.w;
  7542. MOV.S R14.z, R6.y;
  7543. IF NE.x;
  7544. MOV.F R6.y, {1, 0, 0, 0}.x;
  7545. ELSE;
  7546. MOV.F R6.y, {0, 0, 0, 0}.x;
  7547. ENDIF;
  7548. MOV.F R6.z, R1.x;
  7549. MOV.F R1.x, R6.y;
  7550. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6.z;
  7551. TRUNC.U.CC HC.x, R6.y;
  7552. MOV.S R13.x, R1;
  7553. IF NE.x;
  7554. MOV.F R1.x, {1, 0, 0, 0};
  7555. ELSE;
  7556. MOV.F R1.x, {0, 0, 0, 0};
  7557. ENDIF;
  7558. MOV.F R6.z, R14.y;
  7559. MOV.F R6.y, R14.x;
  7560. ADD.F32 R6.y, R6, -R6.z;
  7561. MOV.S R13.z, R6.y;
  7562. MOV.F R6.y, R14.w;
  7563. TRUNC.S R6.y, R6;
  7564. MOV.F R6.w, R14.z;
  7565. MOV.F R6.z, R15.w;
  7566. ADD.F32 R6.z, R6, -R6.w;
  7567. MOV.S R15.w, R6.z;
  7568. MOV.F R6.z, R13.x;
  7569. ADD.F32 R1.x, R6.z, -R1;
  7570. MOV.S R14.y, R1.x;
  7571. MOV.F R1.x, R9;
  7572. MOV.F R6.z, c[11].x;
  7573. MOV.S R11.z, R6.y;
  7574. ADD.S R14.x, -R6.y, {0, 0, 0, 0};
  7575. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  7576. TRUNC.U R6.w, R6.y;
  7577. MUL.F32 R1.x, R1, R6.z;
  7578. MOV.F R6.y, R20.x;
  7579. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7580. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  7581. TRUNC.U R6.z, R6;
  7582. AND.U.CC HC.x, R6.w, R6.z;
  7583. MOV.S R14.z, R6.y;
  7584. IF NE.x;
  7585. ELSE;
  7586. MOV.F R1.x, {0, 0, 0, 0};
  7587. ENDIF;
  7588. MOV.F R6.y, R13.z;
  7589. TRUNC.S R6.y, R6;
  7590. MOV.F R6.z, R14;
  7591. FLR.F R6.z, R6;
  7592. MOV.S R13.z, R6;
  7593. MOV.F R6.z, c[11].y;
  7594. MOV.S R12.y, R6;
  7595. ADD.S R13.y, -R6, {0, 0, 0, 0}.x;
  7596. MOV.F R6.y, R6.x;
  7597. MUL.F32 R6.x, R6.y, R6.z;
  7598. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7599. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7600. TRUNC.U R6.y, R6;
  7601. TRUNC.U R6.z, R6;
  7602. AND.U.CC HC.x, R6.y, R6.z;
  7603. MAX.S R13.x, R14, R11.z;
  7604. MOV.S R17.w, R1.x;
  7605. IF NE.x;
  7606. MOV.F R1.x, R6;
  7607. ELSE;
  7608. MOV.F R1.x, {0, 0, 0, 0};
  7609. ENDIF;
  7610. MOV.F R6.x, R14.y;
  7611. TRUNC.S R12.x, R6;
  7612. MOV.F R6.x, R13.z;
  7613. SGT.F32 R6.x, R6, {0, 0, 0, 0};
  7614. TRUNC.U.CC HC.x, R6;
  7615. ADD.S R14.x, -R12, {0, 0, 0, 0};
  7616. MOV.S R11.w, R1.x;
  7617. IF NE.x;
  7618. MOV.F R1.x, {1, 0, 0, 0};
  7619. ELSE;
  7620. MOV.F R1.x, {0, 0, 0, 0};
  7621. ENDIF;
  7622. MOV.F R6.x, R13.z;
  7623. SGT.F32 R6.x, {0, 0, 0, 0}, R6;
  7624. TRUNC.U.CC HC.x, R6;
  7625. MOV.S R14.y, R1.x;
  7626. IF NE.x;
  7627. MOV.F R1.x, {1, 0, 0, 0};
  7628. ELSE;
  7629. MOV.F R1.x, {0, 0, 0, 0};
  7630. ENDIF;
  7631. I2F.S R6.x, R13;
  7632. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  7633. MOV.F R7.x, R15;
  7634. MOV.F R6.w, R14.y;
  7635. ADD.F32 R1.x, R6.w, -R1;
  7636. MOV.S R6.x, R12;
  7637. MOV.S R12.x, R1;
  7638. SNE.F32 R1.x, -R6.z, {0, 0, 0, 0};
  7639. MUL.F32 R6.y, -R6.z, R7.x;
  7640. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  7641. TRUNC.U R6.z, R6.w;
  7642. TRUNC.U R1.x, R1;
  7643. AND.U.CC HC.x, R1, R6.z;
  7644. MAX.S R14.w, R12.y, R13.y;
  7645. IF NE.x;
  7646. MOV.F R1.x, R6.y;
  7647. ELSE;
  7648. MOV.F R1.x, {0, 0, 0, 0};
  7649. ENDIF;
  7650. MOV.F R6.z, c[11];
  7651. MOV.F R6.y, R8.z;
  7652. MAX.S R13.z, R6.x, R14.x;
  7653. MUL.F32 R6.x, R6.y, R6.z;
  7654. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7655. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7656. TRUNC.U R6.y, R6;
  7657. TRUNC.U R6.z, R6;
  7658. AND.U.CC HC.x, R6.y, R6.z;
  7659. MOV.S R13.y, R1.x;
  7660. IF NE.x;
  7661. MOV.F R1.x, R6;
  7662. ELSE;
  7663. MOV.F R1.x, {0, 0, 0, 0};
  7664. ENDIF;
  7665. I2F.S R6.x, R14.w;
  7666. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  7667. MOV.F R6.z, R15.w;
  7668. MUL.F32 R6.x, -R6.y, R6.z;
  7669. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  7670. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7671. TRUNC.U R6.y, R6;
  7672. TRUNC.U R6.z, R6;
  7673. AND.U.CC HC.x, R6.y, R6.z;
  7674. MOV.S R12.w, R1.x;
  7675. IF NE.x;
  7676. MOV.F R1.x, R6;
  7677. ELSE;
  7678. MOV.F R1.x, {0, 0, 0, 0};
  7679. ENDIF;
  7680. MOV.F R6.z, R13.y;
  7681. MOV.F R6.y, R8.x;
  7682. MUL.F32 R6.x, R6.y, R6.z;
  7683. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7684. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7685. TRUNC.U R6.y, R6;
  7686. TRUNC.U R6.z, R6;
  7687. AND.U.CC HC.x, R6.y, R6.z;
  7688. MOV.S R14.x, R1;
  7689. IF NE.x;
  7690. MOV.F R1.x, R6;
  7691. ELSE;
  7692. MOV.F R1.x, {0, 0, 0, 0};
  7693. ENDIF;
  7694. MOV.F R6.z, R13.y;
  7695. MOV.F R6.y, R23.x;
  7696. MUL.F32 R6.x, R6.y, R6.z;
  7697. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7698. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7699. TRUNC.U R6.z, R6;
  7700. TRUNC.U R6.y, R6;
  7701. AND.U.CC HC.x, R6.y, R6.z;
  7702. MOV.S R14.y, R1.x;
  7703. IF NE.x;
  7704. MOV.F R1.x, R6;
  7705. ELSE;
  7706. MOV.F R1.x, {0, 0, 0, 0};
  7707. ENDIF;
  7708. MOV.F R6.x, c[8].w;
  7709. SEQ.F R6.x, R6, {1, 0, 0, 0};
  7710. TRUNC.U.CC HC.x, R6;
  7711. MOV.S R14.z, R1.x;
  7712. IF NE.x;
  7713. MOV.S R1.x, {-1, 0, 0, 0};
  7714. ELSE;
  7715. MOV.S R1.x, {0, 0, 0, 0};
  7716. ENDIF;
  7717. I2F.S R6.x, R13.z;
  7718. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  7719. MOV.F R6.z, R12.x;
  7720. MUL.F32 R6.x, -R6.y, R6.z;
  7721. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7722. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  7723. TRUNC.U R6.z, R6;
  7724. TRUNC.U R6.y, R6;
  7725. AND.U.CC HC.x, R6.y, R6.z;
  7726. IF NE.x;
  7727. ELSE;
  7728. MOV.F R6.x, {0, 0, 0, 0};
  7729. ENDIF;
  7730. MOV.F R6.w, R7.z;
  7731. MOV.F R6.y, R23.x;
  7732. MOV.F R6.z, R14;
  7733. ADD.F32 R6.z, R6.y, R6;
  7734. MOV.F R7.x, R14;
  7735. MOV.S R13.y, R6.z;
  7736. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  7737. MUL.F32 R6.y, R6.w, R7.x;
  7738. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  7739. TRUNC.U R6.z, R6;
  7740. TRUNC.U R6.w, R6;
  7741. AND.U.CC HC.x, R6.z, R6.w;
  7742. MOV.S R13.x, R6;
  7743. IF NE.x;
  7744. MOV.F R6.x, R6.y;
  7745. ELSE;
  7746. MOV.F R6.x, {0, 0, 0, 0};
  7747. ENDIF;
  7748. MOV.F R6.z, R14.y;
  7749. MOV.F R6.y, R8.x;
  7750. ADD.F32 R6.y, R6, R6.z;
  7751. MOV.F R6.w, R14.x;
  7752. MOV.F R6.z, R23.y;
  7753. MOV.S R9.w, R6.y;
  7754. MUL.F32 R6.y, R6.z, R6.w;
  7755. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7756. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7757. TRUNC.U R6.w, R6;
  7758. TRUNC.U R6.z, R6;
  7759. AND.U.CC HC.x, R6.z, R6.w;
  7760. MOV.S R13.z, R6.x;
  7761. IF NE.x;
  7762. MOV.F R6.x, R6.y;
  7763. ELSE;
  7764. MOV.F R6.x, {0, 0, 0, 0};
  7765. ENDIF;
  7766. MOV.F R6.z, R17.w;
  7767. MOV.F R6.y, R13;
  7768. ADD.F32 R6.y, R6, R6.z;
  7769. MOV.F R6.w, R13.z;
  7770. MOV.F R6.z, R7;
  7771. ADD.F32 R6.z, R6, R6.w;
  7772. MOV.S R15.z, R6;
  7773. MOV.F R6.w, R13.x;
  7774. MOV.F R6.z, R8.y;
  7775. MOV.S R17.y, R6;
  7776. MUL.F32 R6.y, R6.z, R6.w;
  7777. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7778. TRUNC.U R7.x, R6.z;
  7779. MOV.F R6.z, R23.y;
  7780. ADD.F32 R6.x, R6.z, R6;
  7781. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7782. TRUNC.U R6.z, R6.w;
  7783. AND.U.CC HC.x, R7, R6.z;
  7784. MOV.S R14.x, R6;
  7785. IF NE.x;
  7786. MOV.F R6.x, R6.y;
  7787. ELSE;
  7788. MOV.F R6.x, {0, 0, 0, 0};
  7789. ENDIF;
  7790. MOV.F R6.w, R13.x;
  7791. MOV.F R6.z, R23;
  7792. MUL.F32 R6.y, R6.z, R6.w;
  7793. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7794. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7795. TRUNC.U R6.w, R6;
  7796. TRUNC.U R6.z, R6;
  7797. AND.U.CC HC.x, R6.z, R6.w;
  7798. MOV.S R14.w, R6.x;
  7799. IF NE.x;
  7800. MOV.F R6.x, R6.y;
  7801. ELSE;
  7802. MOV.F R6.x, {0, 0, 0, 0};
  7803. ENDIF;
  7804. MOV.F R6.z, R14.w;
  7805. MOV.F R6.y, R8;
  7806. ADD.F32 R6.w, R6.y, R6.z;
  7807. MOV.F R6.z, R11.w;
  7808. MOV.F R6.y, R14.x;
  7809. ADD.F32 R6.y, R6, R6.z;
  7810. MOV.S R12.x, R6.y;
  7811. MOV.F R6.z, R23;
  7812. ADD.F32 R6.z, R6, R6.x;
  7813. MOV.F R6.y, c[8].w;
  7814. MOV.S R12.y, R6.w;
  7815. MAX.F R6.w, R6.y, {0, 0, 0, 0}.x;
  7816. LG2.F32 R6.x, R6.w;
  7817. MOV.S R13.w, R6.z;
  7818. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  7819. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  7820. SEQ.F R6.z, R6.x, R6;
  7821. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  7822. TRUNC.U R6.w, R6;
  7823. TRUNC.U R6.z, R6;
  7824. AND.U R6.z, R6, R6.w;
  7825. SEQ.U R6.z, R6, {1, 0, 0, 0}.x;
  7826. MOV.U.CC RC.x, -R6.z;
  7827. MOV.S R13.z, R6.y;
  7828. IF NE.x;
  7829. MOV.F R6.x, {-3.40282347e+38, 0, 0, 0};
  7830. ENDIF;
  7831. MOV.F R6.z, R12.w;
  7832. MOV.F R6.y, R13.w;
  7833. ADD.F32 R6.y, R6, R6.z;
  7834. MOV.F R6.z, R1.y;
  7835. MOV.S R11.y, R6;
  7836. MUL.F32 R6.y, R6.z, R6.x;
  7837. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  7838. SNE.F32 R6.x, R6.z, {0, 0, 0, 0};
  7839. TRUNC.U R6.z, R6.w;
  7840. TRUNC.U R6.x, R6;
  7841. AND.U.CC HC.x, R6, R6.z;
  7842. IF NE.x;
  7843. MOV.F R6.x, R6.y;
  7844. ELSE;
  7845. MOV.F R6.x, {0, 0, 0, 0};
  7846. ENDIF;
  7847. MOV.S R6.x, R6;
  7848. MOV.F R6.y, R13.z;
  7849. SEQ.S R1.x, R1, {0, 0, 0, 0};
  7850. MOV.U.CC RC.x, -R1;
  7851. RCP.F32 R6.y, R6.y;
  7852. EX2.F32 R6.x, R6.x;
  7853. MAD.F32 R6.x, -R6, R6.y, R6.y;
  7854. MOV.S R13.y, R6.x;
  7855. IF NE.x;
  7856. MOV.S R1.x, R13.y;
  7857. ELSE;
  7858. MOV.S R1.x, R1.y;
  7859. ENDIF;
  7860. MOV.F R6.y, R1.x;
  7861. MOV.F R6.x, R12.y;
  7862. MUL.F32 R1.y, R6.x, R6;
  7863. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7864. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7865. TRUNC.U R6.y, R6;
  7866. TRUNC.U R6.x, R6;
  7867. AND.U.CC HC.x, R6, R6.y;
  7868. IF NE.x;
  7869. ELSE;
  7870. MOV.F R1.y, {0, 0, 0, 0}.x;
  7871. ENDIF;
  7872. MOV.F R6.z, R1.x;
  7873. MOV.F R6.y, R15.z;
  7874. MUL.F32 R6.x, R6.y, R6.z;
  7875. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7876. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7877. TRUNC.U R6.y, R6;
  7878. TRUNC.U R6.z, R6;
  7879. AND.U.CC HC.x, R6.y, R6.z;
  7880. MOV.S R13.y, R1;
  7881. IF NE.x;
  7882. MOV.F R1.y, R6.x;
  7883. ELSE;
  7884. MOV.F R1.y, {0, 0, 0, 0}.x;
  7885. ENDIF;
  7886. MOV.F R6.y, R1.x;
  7887. MOV.F R6.x, R9.w;
  7888. MUL.F32 R1.x, R6, R6.y;
  7889. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7890. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7891. TRUNC.U R6.x, R6;
  7892. TRUNC.U R6.y, R6;
  7893. AND.U.CC HC.x, R6, R6.y;
  7894. MOV.S R13.z, R1.y;
  7895. IF NE.x;
  7896. ELSE;
  7897. MOV.F R1.x, {0, 0, 0, 0};
  7898. ENDIF;
  7899. MOV.F R6.x, R13.z;
  7900. MOV.F R1.y, R12.x;
  7901. ADD.F32 R1.y, R1, R6.x;
  7902. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  7903. FRC.F32 R6.x, R1.y;
  7904. MOV.F R1.y, R17;
  7905. ADD.F32 R1.x, R1.y, R1;
  7906. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  7907. MUL.F32 R1.y, R6.x, {0.159154937, 0, 0, 0}.x;
  7908. SIN.F32 R6.x, R6.x;
  7909. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  7910. MOV.S R12.x, R1.y;
  7911. FRC.F32 R1.x, R1;
  7912. MAD.F32 R1.x, R1, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  7913. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  7914. MOV.F R6.y, R13;
  7915. MOV.F R1.y, R11;
  7916. ADD.F32 R1.y, R1, R6;
  7917. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  7918. FRC.F32 R1.y, R1;
  7919. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  7920. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  7921. MOV.S R1.x, R1;
  7922. MOV.S R11.y, R1;
  7923. MUL.F32 R1.y, R1.x, {6.28318548, 0, 0, 0}.x;
  7924. COS.F32 R6.y, R1.y;
  7925. SIN.F32 R1.y, R1.y;
  7926. MOV.S R12.y, R1;
  7927. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  7928. MOV.S R15.w, R6.x;
  7929. MUL.F32 R1.x, R6, R6.y;
  7930. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7931. TRUNC.U R6.x, R6;
  7932. TRUNC.U R1.y, R1;
  7933. AND.U.CC HC.x, R1.y, R6;
  7934. MOV.S R15.x, R6.y;
  7935. MOV.S R6.zw, {1065353216, 0, 0, 0}.x;
  7936. IF NE.x;
  7937. ELSE;
  7938. MOV.F R1.x, {0, 0, 0, 0};
  7939. ENDIF;
  7940. MOV.F R6.y, R15.w;
  7941. MOV.F R6.x, R12.y;
  7942. MUL.F32 R1.y, R6.x, R6;
  7943. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7944. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7945. TRUNC.U R6.x, R6;
  7946. TRUNC.U R6.y, R6;
  7947. AND.U.CC HC.x, R6, R6.y;
  7948. MOV.S R11.z, R1.x;
  7949. IF NE.x;
  7950. MOV.F R1.x, R1.y;
  7951. ELSE;
  7952. MOV.F R1.x, {0, 0, 0, 0};
  7953. ENDIF;
  7954. MOV.F R1.y, R12.x;
  7955. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  7956. COS.F32 R6.x, R1.y;
  7957. MOV.F R6.y, R15.x;
  7958. MUL.F32 R1.y, R6.x, R6;
  7959. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7960. SNE.F32 R7.x, R6, {0, 0, 0, 0};
  7961. MOV.S R15.z, R6.x;
  7962. TRUNC.U R6.x, R6.y;
  7963. TRUNC.U R6.y, R7.x;
  7964. AND.U.CC HC.x, R6, R6.y;
  7965. MOV.S R12.w, R1.x;
  7966. IF NE.x;
  7967. MOV.F R1.x, R1.y;
  7968. ELSE;
  7969. MOV.F R1.x, {0, 0, 0, 0};
  7970. ENDIF;
  7971. MOV.F R6.y, R15.z;
  7972. MOV.F R6.x, R12.y;
  7973. MUL.F32 R1.y, R6.x, R6;
  7974. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7975. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7976. TRUNC.U R6.x, R6;
  7977. TRUNC.U R6.y, R6;
  7978. AND.U.CC HC.x, R6, R6.y;
  7979. MOV.S R11.x, R1;
  7980. IF NE.x;
  7981. MOV.F R1.x, R1.y;
  7982. ELSE;
  7983. MOV.F R1.x, {0, 0, 0, 0};
  7984. ENDIF;
  7985. MOV.F R1.y, R11;
  7986. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  7987. SIN.F32 R6.x, R1.y;
  7988. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  7989. MOV.S R15.y, R6.x;
  7990. MUL.F32 R1.y, R1.x, R6.x;
  7991. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7992. TRUNC.U R6.x, R6;
  7993. TRUNC.U R6.y, R6;
  7994. AND.U.CC HC.x, R6, R6.y;
  7995. MOV.S R17.y, R1.x;
  7996. IF NE.x;
  7997. MOV.F R1.x, R1.y;
  7998. ELSE;
  7999. MOV.F R1.x, {0, 0, 0, 0};
  8000. ENDIF;
  8001. MOV.F R6.x, R15.y;
  8002. MOV.F R6.y, -R6.x;
  8003. MOV.F R7.x, R11;
  8004. MUL.F32 R1.y, R6.x, R7.x;
  8005. MOV.S R8.y, R6;
  8006. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8007. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  8008. TRUNC.U R6.x, R6;
  8009. TRUNC.U R6.y, R6;
  8010. AND.U.CC HC.x, R6, R6.y;
  8011. MOV.S R14.x, R1;
  8012. IF NE.x;
  8013. MOV.F R1.x, R1.y;
  8014. ELSE;
  8015. MOV.F R1.x, {0, 0, 0, 0};
  8016. ENDIF;
  8017. MOV.F R6.y, R11.z;
  8018. MOV.F R6.x, R15.y;
  8019. MUL.F32 R1.y, R6.x, R6;
  8020. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8021. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8022. TRUNC.U R6.x, R6;
  8023. TRUNC.U R6.y, R6;
  8024. AND.U.CC HC.x, R6, R6.y;
  8025. MOV.S R14.z, R1.x;
  8026. IF NE.x;
  8027. MOV.F R1.x, R1.y;
  8028. ELSE;
  8029. MOV.F R1.x, {0, 0, 0, 0};
  8030. ENDIF;
  8031. MOV.F R7.x, R17.y;
  8032. ADD.F32 R1.x, -R7, R1;
  8033. MOV.F R6.x, R14.z;
  8034. MOV.F R1.y, R12.w;
  8035. ADD.F32 R1.y, R1, R6.x;
  8036. MOV.S R6.x, R1.y;
  8037. MOV.F R1.y, R11.z;
  8038. MOV.F R6.y, R14.x;
  8039. ADD.F32 R6.y, -R1, R6;
  8040. MOV.F R1.y, R11;
  8041. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  8042. MOV.S R8.z, R6.y;
  8043. COS.F32 R6.y, R1.y;
  8044. MOV.F R7.y, R15.z;
  8045. MOV.S R13.y, R1.x;
  8046. SNE.F32 R1.x, R7.y, {0, 0, 0, 0};
  8047. MUL.F32 R1.y, R6, R7;
  8048. MOV.S R12.x, R6.y;
  8049. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8050. TRUNC.U R6.y, R6;
  8051. TRUNC.U R1.x, R1;
  8052. AND.U.CC HC.x, R1, R6.y;
  8053. IF NE.x;
  8054. MOV.F R1.x, R1.y;
  8055. ELSE;
  8056. MOV.F R1.x, {0, 0, 0, 0};
  8057. ENDIF;
  8058. MOV.F R7.x, R12;
  8059. MOV.F R6.y, R15.x;
  8060. MUL.F32 R1.y, R6, R7.x;
  8061. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8062. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8063. TRUNC.U R6.y, R6;
  8064. TRUNC.U R7.x, R7;
  8065. AND.U.CC HC.x, R6.y, R7;
  8066. MOV.S R9.w, R1.x;
  8067. IF NE.x;
  8068. MOV.F R1.x, R1.y;
  8069. ELSE;
  8070. MOV.F R1.x, {0, 0, 0, 0};
  8071. ENDIF;
  8072. MOV.F R7.x, R12;
  8073. MOV.F R6.y, R12;
  8074. MUL.F32 R1.y, R6, R7.x;
  8075. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8076. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8077. TRUNC.U R6.y, R6;
  8078. TRUNC.U R7.x, R7;
  8079. AND.U.CC HC.x, R6.y, R7;
  8080. MOV.S R23.y, R1.x;
  8081. IF NE.x;
  8082. MOV.F R1.x, R1.y;
  8083. ELSE;
  8084. MOV.F R1.x, {0, 0, 0, 0};
  8085. ENDIF;
  8086. MOV.F R7.x, R12.w;
  8087. MOV.F R6.y, R15;
  8088. MUL.F32 R1.y, R6, R7.x;
  8089. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8090. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8091. TRUNC.U R6.y, R6;
  8092. TRUNC.U R7.x, R7;
  8093. AND.U.CC HC.x, R6.y, R7;
  8094. MOV.S R23.x, R1;
  8095. IF NE.x;
  8096. MOV.F R1.x, R1.y;
  8097. ELSE;
  8098. MOV.F R1.x, {0, 0, 0, 0};
  8099. ENDIF;
  8100. MOV.F R7.x, R17;
  8101. MOV.F R6.y, R13;
  8102. MUL.F32 R1.y, R6, R7.x;
  8103. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8104. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8105. TRUNC.U R6.y, R6;
  8106. TRUNC.U R7.x, R7;
  8107. AND.U.CC HC.x, R6.y, R7;
  8108. MOV.S R14.y, R1.x;
  8109. IF NE.x;
  8110. MOV.F R1.x, R1.y;
  8111. ELSE;
  8112. MOV.F R1.x, {0, 0, 0, 0};
  8113. ENDIF;
  8114. MOV.F R7.x, R12;
  8115. MOV.F R6.y, R15.w;
  8116. MUL.F32 R1.y, R6, R7.x;
  8117. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8118. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8119. TRUNC.U R6.y, R6;
  8120. TRUNC.U R7.x, R7;
  8121. AND.U.CC HC.x, R6.y, R7;
  8122. MOV.S R7.z, R1.x;
  8123. IF NE.x;
  8124. MOV.F R1.x, R1.y;
  8125. ELSE;
  8126. MOV.F R1.x, {0, 0, 0, 0};
  8127. ENDIF;
  8128. MOV.F R6.y, R17.x;
  8129. MUL.F32 R1.y, R1.x, R6;
  8130. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8131. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8132. TRUNC.U R6.y, R6;
  8133. TRUNC.U R1.x, R1;
  8134. AND.U.CC HC.x, R1, R6.y;
  8135. IF NE.x;
  8136. MOV.F R1.x, R1.y;
  8137. ELSE;
  8138. MOV.F R1.x, {0, 0, 0, 0};
  8139. ENDIF;
  8140. MOV.F R6.y, R14;
  8141. MOV.F R1.y, R11.x;
  8142. ADD.F32 R1.y, R1, R6;
  8143. MOV.S R1.y, R1;
  8144. MOV.F R6.y, R1;
  8145. MOV.F R7.x, R17;
  8146. MUL.F32 R1.y, R6, R7.x;
  8147. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8148. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8149. TRUNC.U R6.y, R6;
  8150. TRUNC.U R7.x, R7;
  8151. AND.U.CC HC.x, R6.y, R7;
  8152. MOV.S R23.z, R1.x;
  8153. IF NE.x;
  8154. MOV.F R1.x, R1.y;
  8155. ELSE;
  8156. MOV.F R1.x, {0, 0, 0, 0};
  8157. ENDIF;
  8158. MOV.S R8.x, R1;
  8159. ENDIF;
  8160. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  8161. MOV.U.CC RC.x, -R1;
  8162. IF NE.x;
  8163. MOV.F R6.y, R21.x;
  8164. MOV.F R1.y, c[13].x;
  8165. MAD.F32 R7.x, R1.y, {0.5, 0, 0, 0}, R6.y;
  8166. MOV.F R6.y, R21;
  8167. MOV.F R1.x, c[13].y;
  8168. MUL.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x;
  8169. ADD.F32 R1.x, R6.y, R1.y;
  8170. SNE.F32 R6.y, R6, -R1;
  8171. MOV.F R7.y, R17.z;
  8172. MOV.S R13.x, R7;
  8173. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  8174. TRUNC.U R1.y, R7.x;
  8175. TRUNC.U R6.y, R6;
  8176. AND.U.CC HC.x, R1.y, R6.y;
  8177. MUL.F32 R1.x, R7.y, R1;
  8178. MOV.S R9.x, c[12];
  8179. MOV.S R8.w, c[12].y;
  8180. MOV.S R21.z, c[14].x;
  8181. MOV.S R21.y, c[12].z;
  8182. IF NE.x;
  8183. ELSE;
  8184. MOV.F R1.x, {0, 0, 0, 0};
  8185. ENDIF;
  8186. MOV.F R7.x, R13;
  8187. MOV.F R6.y, R9;
  8188. MUL.F32 R1.y, R6, R7.x;
  8189. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8190. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8191. TRUNC.U R6.y, R6;
  8192. TRUNC.U R7.x, R7;
  8193. AND.U.CC HC.x, R6.y, R7;
  8194. MOV.S R14.y, R1.x;
  8195. IF NE.x;
  8196. MOV.F R1.x, R1.y;
  8197. ELSE;
  8198. MOV.F R1.x, {0, 0, 0, 0};
  8199. ENDIF;
  8200. MOV.F R7.x, R23.y;
  8201. MOV.F R6.y, R14;
  8202. MUL.F32 R1.y, R6, R7.x;
  8203. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8204. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8205. TRUNC.U R6.y, R6;
  8206. TRUNC.U R7.x, R7;
  8207. AND.U.CC HC.x, R6.y, R7;
  8208. MOV.S R11.z, R1.x;
  8209. AND.S R13.x, c[9], {524288, 0, 0, 0};
  8210. IF NE.x;
  8211. MOV.F R1.x, R1.y;
  8212. ELSE;
  8213. MOV.F R1.x, {0, 0, 0, 0};
  8214. ENDIF;
  8215. MOV.F R1.y, R7.z;
  8216. ADD.F32 R1.y, R1.x, R1;
  8217. MOV.F R6.y, R14;
  8218. MOV.F R7.x, R8.y;
  8219. MUL.F32 R1.x, R6.y, R7;
  8220. MOV.S R13.y, R1;
  8221. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  8222. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8223. TRUNC.U R6.y, R7.x;
  8224. TRUNC.U R1.y, R1;
  8225. AND.U.CC HC.x, R1.y, R6.y;
  8226. IF NE.x;
  8227. ELSE;
  8228. MOV.F R1.x, {0, 0, 0, 0};
  8229. ENDIF;
  8230. MOV.F R1.y, R14;
  8231. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  8232. MOV.F R7.x, R23;
  8233. TRUNC.U R7.y, R6;
  8234. MOV.F R6.y, R23.z;
  8235. ADD.F32 R1.x, R1, R6.y;
  8236. MUL.F32 R1.y, R1, R7.x;
  8237. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8238. TRUNC.U R6.y, R7.x;
  8239. AND.U.CC HC.x, R7.y, R6.y;
  8240. MOV.S R13.z, R1.x;
  8241. IF NE.x;
  8242. MOV.F R1.x, R1.y;
  8243. ELSE;
  8244. MOV.F R1.x, {0, 0, 0, 0};
  8245. ENDIF;
  8246. MOV.F R1.y, R8.x;
  8247. ADD.F32 R1.x, R1, R1.y;
  8248. MOV.F R1.y, R20.x;
  8249. MOV.S R13.w, R1.x;
  8250. SGT.F32 R1.x, R1.y, {0.5, 0, 0, 0};
  8251. TRUNC.U.CC HC.x, R1;
  8252. IF NE.x;
  8253. MOV.S R1.y, {-1, 0, 0, 0}.x;
  8254. ELSE;
  8255. MOV.S R1.y, {0, 0, 0, 0}.x;
  8256. ENDIF;
  8257. MOV.F R7.x, R9.w;
  8258. MOV.F R6.y, R11.z;
  8259. MUL.F32 R1.x, R6.y, R7;
  8260. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8261. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8262. TRUNC.U R7.x, R7;
  8263. TRUNC.U R6.y, R6;
  8264. AND.U.CC HC.x, R6.y, R7;
  8265. IF NE.x;
  8266. ELSE;
  8267. MOV.F R1.x, {0, 0, 0, 0};
  8268. ENDIF;
  8269. MOV.F R7.x, R6;
  8270. MOV.F R6.y, R13.z;
  8271. ADD.F32 R6.y, R1.x, R6;
  8272. MOV.F R6.x, R11.z;
  8273. MUL.F32 R1.x, R6, R7;
  8274. MOV.S R17.x, R6.y;
  8275. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  8276. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8277. TRUNC.U R6.y, R6;
  8278. TRUNC.U R6.x, R6;
  8279. AND.U.CC HC.x, R6, R6.y;
  8280. IF NE.x;
  8281. ELSE;
  8282. MOV.F R1.x, {0, 0, 0, 0};
  8283. ENDIF;
  8284. MOV.F R6.x, R13.y;
  8285. ADD.F32 R6.x, R1, R6;
  8286. MOV.F R6.y, R11.z;
  8287. MOV.F R7.x, R8.z;
  8288. MUL.F32 R1.x, R6.y, R7;
  8289. MOV.S R12.y, R6.x;
  8290. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  8291. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8292. TRUNC.U R6.y, R7.x;
  8293. TRUNC.U R6.x, R6;
  8294. AND.U.CC HC.x, R6, R6.y;
  8295. IF NE.x;
  8296. ELSE;
  8297. MOV.F R1.x, {0, 0, 0, 0};
  8298. ENDIF;
  8299. MOV.F R6.x, R13.w;
  8300. ADD.F32 R1.x, R1, R6;
  8301. SEQ.S R6.x, R13, {524288, 0, 0, 0};
  8302. MOV.U.CC RC.x, -R6;
  8303. MOV.S R11.z, R1.x;
  8304. IF NE.x;
  8305. MOV.S R6.x, {-1, 0, 0, 0};
  8306. ELSE;
  8307. MOV.S R6.x, {0, 0, 0, 0};
  8308. ENDIF;
  8309. SEQ.S R6.y, R1, {0, 0, 0, 0}.x;
  8310. MOV.U.CC RC.x, -R6.y;
  8311. MOV.F R7.xyz, R10;
  8312. MOV.F R13.x, R17;
  8313. MOV.F R13.y, R12;
  8314. MOV.F R13.w, R6;
  8315. MOV.F R13.z, R11;
  8316. DP4.F32 R1.x, R7, R13;
  8317. MOV.S R10.x, R1;
  8318. MOV.F R1.x, R24;
  8319. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  8320. MOV.S R1.x, R1;
  8321. IF NE.x;
  8322. MOV.S R1.x, R24;
  8323. ELSE;
  8324. ENDIF;
  8325. MOV.F R7.xyz, R16;
  8326. MOV.F R7.w, R10;
  8327. MOV.F R13.x, R17;
  8328. MOV.F R13.y, R12;
  8329. MOV.F R13.w, R6;
  8330. MOV.F R13.z, R11;
  8331. DP4.F32 R6.y, R7, R13;
  8332. SEQ.S R7.x, R6, {0, 0, 0, 0};
  8333. MOV.U.CC RC.x, -R7;
  8334. MOV.S R16.y, R6;
  8335. IF NE.x;
  8336. MOV.S R1.x, R24;
  8337. ELSE;
  8338. ENDIF;
  8339. MOV.F R7.z, R11;
  8340. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  8341. MOV.U.CC RC.x, -R1.y;
  8342. MOV.F R11.xyz, R22;
  8343. MOV.F R11.w, R1;
  8344. MOV.F R7.x, R17;
  8345. MOV.F R7.y, R12;
  8346. MOV.F R7.w, R6;
  8347. DP4.F32 R1.w, R11, R7;
  8348. MOV.S R22.z, R1.w;
  8349. IF NE.x;
  8350. MOV.S R1.y, R24;
  8351. ELSE;
  8352. MOV.S R1.y, R24;
  8353. ENDIF;
  8354. MOV.F R1.w, R20.y;
  8355. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  8356. TRUNC.U.CC HC.x, R1.w;
  8357. AND.S R14.x, c[9], {1048576, 0, 0, 0};
  8358. IF NE.x;
  8359. MOV.S R1.w, {-1, 0, 0, 0}.x;
  8360. ELSE;
  8361. MOV.S R1.w, {0, 0, 0, 0}.x;
  8362. ENDIF;
  8363. SEQ.S R6.x, R6, {0, 0, 0, 0};
  8364. MOV.U.CC RC.x, -R6;
  8365. IF NE.x;
  8366. MOV.S R1.y, R24;
  8367. ELSE;
  8368. ENDIF;
  8369. MOV.F R6.x, c[15].z;
  8370. RCP.F32 R6.x, R6.x;
  8371. SEQ.S R6.y, R1.w, {0, 0, 0, 0}.x;
  8372. MOV.U.CC RC.x, -R6.y;
  8373. MOV.S R17.x, R6;
  8374. IF NE.x;
  8375. MOV.S R6.x, R1;
  8376. ELSE;
  8377. MOV.S R6.x, R1;
  8378. ENDIF;
  8379. SEQ.S R6.y, R14.x, {1048576, 0, 0, 0}.x;
  8380. MOV.U.CC RC.x, -R6.y;
  8381. IF NE.x;
  8382. MOV.S R6.y, {-1, 0, 0, 0}.x;
  8383. ELSE;
  8384. MOV.S R6.y, {0, 0, 0, 0}.x;
  8385. ENDIF;
  8386. MOV.F R6.w, R1.y;
  8387. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  8388. MOV.F R7.x, c[15].w;
  8389. MOV.S R13.w, R6;
  8390. RCP.F32 R6.w, R7.x;
  8391. SEQ.S R7.x, R6.y, {0, 0, 0, 0};
  8392. MOV.U.CC RC.x, -R7;
  8393. MOV.S R20.z, R6.w;
  8394. IF NE.x;
  8395. ELSE;
  8396. MOV.S R1.x, R6;
  8397. ENDIF;
  8398. SEQ.S R1.w, R1, {0, 0, 0, 0}.x;
  8399. MOV.U.CC RC.x, -R1.w;
  8400. IF NE.x;
  8401. MOV.S R1.w, R1.y;
  8402. ELSE;
  8403. MOV.S R1.w, R13;
  8404. ENDIF;
  8405. MOV.F R6.x, R1;
  8406. MOV.F R6.w, c[15].x;
  8407. MUL.F32 R1.x, R6, R6.w;
  8408. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  8409. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8410. TRUNC.U R6.w, R6;
  8411. TRUNC.U R6.x, R6;
  8412. AND.U.CC HC.x, R6, R6.w;
  8413. IF NE.x;
  8414. ELSE;
  8415. MOV.F R1.x, {0, 0, 0, 0};
  8416. ENDIF;
  8417. SEQ.S R6.x, R6.y, {0, 0, 0, 0};
  8418. MOV.U.CC RC.x, -R6;
  8419. MOV.S R13.y, R1.x;
  8420. IF NE.x;
  8421. MOV.S R1.x, R1.y;
  8422. ELSE;
  8423. MOV.S R1.x, R1.w;
  8424. ENDIF;
  8425. MOV.F R6.x, R13.y;
  8426. MOV.F R1.w, R17.x;
  8427. MUL.F32 R1.y, R1.w, R6.x;
  8428. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  8429. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8430. TRUNC.U R1.w, R1;
  8431. TRUNC.U R6.x, R6;
  8432. AND.U.CC HC.x, R1.w, R6;
  8433. MOV.S R6.w, R1.x;
  8434. IF NE.x;
  8435. MOV.F R1.x, R1.y;
  8436. ELSE;
  8437. MOV.F R1.x, {0, 0, 0, 0};
  8438. ENDIF;
  8439. MOV.S R18.yz, {0, 0, 0, 0}.x;
  8440. MOV.S R18.x, R1;
  8441. ENDIF;
  8442. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  8443. MOV.U.CC RC.x, -R1;
  8444. IF NE.x;
  8445. MOV.F R3.x, R10;
  8446. MOV.F R3.y, R16;
  8447. MOV.F R3.w, R6.z;
  8448. MOV.F R3.z, R22;
  8449. MOV.F R2, c[19];
  8450. MOV.F R7, c[21];
  8451. DP4.F32 R1.y, R3, R7;
  8452. DP4.F32 R2.x, R3, R2;
  8453. MOV.F R10, c[20];
  8454. DP4.F32 R2.y, R3, R10;
  8455. MOV.F R7, c[22];
  8456. DP4.F32 R2.w, R3, R7;
  8457. MOV.F R1.x, c[13].z;
  8458. ADD.F32 R2.z, R1.x, R1.y;
  8459. MOV.F R7, c[23];
  8460. DP4.F32 R1.x, R2, R7;
  8461. MOV.F R10, c[24];
  8462. DP4.F32 R1.y, R2, R10;
  8463. DIV.F32 R1.x, R1, R1.y;
  8464. MOV.F R2, c[18];
  8465. DP4.F32 R1.y, R3, R2;
  8466. SNE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  8467. MOV.F R10, c[16];
  8468. DP4.F32 R2.x, R3, R10;
  8469. TRUNC.U R2.z, R1.w;
  8470. MOV.F R7, c[17];
  8471. DP4.F32 R1.w, R3, R7;
  8472. MOV.S R2.y, R1.w;
  8473. MUL.F32 R1.w, R1.y, {0.5, 0, 0, 0}.x;
  8474. MUL.F32 R1.x, R1.y, R1;
  8475. MOV.S R2.w, R1.y;
  8476. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8477. TRUNC.U R1.y, R1;
  8478. AND.U.CC HC.x, R1.y, R2.z;
  8479. MOV.S R2.x, R2;
  8480. MOV.S R12.w, R1;
  8481. MOV.S R9.w, R1.z;
  8482. IF NE.x;
  8483. ELSE;
  8484. MOV.F R1.x, {0, 0, 0, 0};
  8485. ENDIF;
  8486. MOV.F R1.z, R12.w;
  8487. MOV.F R1.y, R2.x;
  8488. MAD.F32 R1.y, R1, {0.5, 0, 0, 0}.x, R1.z;
  8489. MOV.F R1.w, R2.y;
  8490. MAD.F32 R1.w, R1, {-0.5, 0, 0, 0}.x, R1.z;
  8491. MOV.S R3.x, R1.y;
  8492. MAD.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x, R1.z;
  8493. MOV.S R3.y, R1.w;
  8494. MOV.S R3.w, R2;
  8495. MOV.S R3.z, R1.y;
  8496. MOV.S R2.z, R1.x;
  8497. ENDIF;
  8498. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  8499. MOV.U.CC RC.x, -R1;
  8500. IF NE.x;
  8501. MOV.F R0.z, c[25].x;
  8502. MOV.F R0.y, R9.x;
  8503. MUL.F32 R0.x, R0.y, R0.z;
  8504. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8505. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  8506. TRUNC.U R0.z, R0;
  8507. TRUNC.U R0.y, R0;
  8508. AND.U.CC HC.x, R0.y, R0.z;
  8509. IF NE.x;
  8510. ELSE;
  8511. MOV.F R0.x, {0, 0, 0, 0};
  8512. ENDIF;
  8513. MOV.F R0.w, c[25].y;
  8514. MOV.F R0.z, R8.w;
  8515. MUL.F32 R0.y, R0.z, R0.w;
  8516. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8517. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8518. TRUNC.U R0.z, R0;
  8519. TRUNC.U R0.w, R0;
  8520. AND.U.CC HC.x, R0.z, R0.w;
  8521. MOV.S R1.x, R0;
  8522. IF NE.x;
  8523. MOV.F R0.x, R0.y;
  8524. ELSE;
  8525. MOV.F R0.x, {0, 0, 0, 0};
  8526. ENDIF;
  8527. MOV.F R0.w, c[25].z;
  8528. MOV.F R0.z, R21.y;
  8529. MUL.F32 R0.y, R0.z, R0.w;
  8530. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8531. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8532. TRUNC.U R0.z, R0;
  8533. TRUNC.U R0.w, R0;
  8534. AND.U.CC HC.x, R0.z, R0.w;
  8535. MOV.S R1.y, R0.x;
  8536. IF NE.x;
  8537. MOV.F R0.x, R0.y;
  8538. ELSE;
  8539. MOV.F R0.x, {0, 0, 0, 0};
  8540. ENDIF;
  8541. MOV.F R0.w, c[25];
  8542. MOV.F R0.z, R21;
  8543. MUL.F32 R0.y, R0.z, R0.w;
  8544. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8545. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8546. TRUNC.U R0.z, R0;
  8547. TRUNC.U R0.w, R0;
  8548. AND.U.CC HC.x, R0.z, R0.w;
  8549. MOV.S R1.z, R0.x;
  8550. IF NE.x;
  8551. MOV.F R0.x, R0.y;
  8552. ELSE;
  8553. MOV.F R0.x, {0, 0, 0, 0};
  8554. ENDIF;
  8555. MOV.F R0.z, R1.x;
  8556. MOV.F R0.w, c[26].x;
  8557. MUL.F32 R0.y, R0.z, R0.w;
  8558. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8559. TRUNC.U R1.x, R0.w;
  8560. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8561. TRUNC.U R0.z, R0;
  8562. AND.U.CC HC.x, R0.z, R1;
  8563. MOV.S R0.w, R0.x;
  8564. IF NE.x;
  8565. MOV.F R0.x, R0.y;
  8566. ELSE;
  8567. MOV.F R0.x, {0, 0, 0, 0};
  8568. ENDIF;
  8569. MOV.F R1.x, c[26];
  8570. MOV.F R0.z, R1.y;
  8571. MUL.F32 R0.y, R0.z, R1.x;
  8572. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8573. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8574. TRUNC.U R0.z, R0;
  8575. TRUNC.U R1.x, R1;
  8576. AND.U.CC HC.x, R0.z, R1;
  8577. MOV.S R0.x, R0;
  8578. IF NE.x;
  8579. ELSE;
  8580. MOV.F R0.y, {0, 0, 0, 0}.x;
  8581. ENDIF;
  8582. MOV.F R1.y, c[26].x;
  8583. MOV.F R1.x, R1.z;
  8584. MUL.F32 R0.z, R1.x, R1.y;
  8585. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8586. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8587. TRUNC.U R1.x, R1;
  8588. TRUNC.U R1.y, R1;
  8589. AND.U.CC HC.x, R1, R1.y;
  8590. MOV.S R0.y, R0;
  8591. IF NE.x;
  8592. ELSE;
  8593. MOV.F R0.z, {0, 0, 0, 0}.x;
  8594. ENDIF;
  8595. MOV.F R1.z, c[15].y;
  8596. MOV.F R1.y, R6.w;
  8597. MUL.F32 R1.x, R1.y, R1.z;
  8598. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8599. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  8600. TRUNC.U R1.y, R1;
  8601. TRUNC.U R1.z, R1;
  8602. AND.U.CC HC.x, R1.y, R1.z;
  8603. MOV.S R0.z, R0;
  8604. IF NE.x;
  8605. ELSE;
  8606. MOV.F R1.x, {0, 0, 0, 0};
  8607. ENDIF;
  8608. MOV.S R1.x, R1;
  8609. MOV.F R1.z, R1.x;
  8610. MOV.F R1.y, R20.z;
  8611. MUL.F32 R1.x, R1.y, R1.z;
  8612. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8613. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  8614. TRUNC.U R1.y, R1;
  8615. TRUNC.U R1.z, R1;
  8616. AND.U.CC HC.x, R1.y, R1.z;
  8617. MOV.S R19.x, c[10];
  8618. IF NE.x;
  8619. ELSE;
  8620. MOV.F R1.x, {0, 0, 0, 0};
  8621. ENDIF;
  8622. MOV.S R18.z, {0, 0, 0, 0}.x;
  8623. MOV.S R18.y, R1.x;
  8624. ENDIF;
  8625. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  8626. MOV.U.CC RC.x, -R1;
  8627. IF NE.x;
  8628. MOV.F R1.z, c[28].w;
  8629. MOV.F R1.x, R9.w;
  8630. ADD.F32 R1.w, R1.x, -R1.z;
  8631. MOV.S R1.w, R1;
  8632. MOV.F R1.y, c[27].w;
  8633. ADD.F32 R1.x, R1, -R1.y;
  8634. MOV.S R4.x, R1.w;
  8635. MOV.S R11.x, R1;
  8636. MOV.F R1.x, R4;
  8637. MOV.S R15.z, R1.w;
  8638. SGE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  8639. ADD.F32 R1.x, R1.y, -R1.z;
  8640. TRUNC.U.CC HC.x, R1.w;
  8641. MOV.F R1.z, c[27].x;
  8642. MOV.F R1.y, c[28].x;
  8643. ADD.F32 R1.y, -R1, R1.z;
  8644. MOV.S R14.y, R1.x;
  8645. MOV.S R13.x, R1.y;
  8646. IF NE.x;
  8647. MOV.S R1.y, {1065353216, 0, 0, 0}.x;
  8648. ELSE;
  8649. MOV.S R1.y, {0, 0, 0, 0}.x;
  8650. ENDIF;
  8651. MOV.F R1.x, R11;
  8652. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  8653. TRUNC.U.CC HC.x, R1;
  8654. IF NE.x;
  8655. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  8656. ELSE;
  8657. MOV.S R1.z, {0, 0, 0, 0}.x;
  8658. ENDIF;
  8659. MOV.F R1.w, R13.x;
  8660. MOV.F R1.x, R14.y;
  8661. DIV.F32 R1.x, R1.w, R1.x;
  8662. MOV.F R1.w, R15.z;
  8663. MOV.S R1.x, R1;
  8664. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  8665. TRUNC.U R4.z, R4.x;
  8666. SNE.F32 R4.y, R1.w, {0, 0, 0, 0}.x;
  8667. MUL.F32 R1.x, R1.w, R1;
  8668. MOV.F R4.x, c[29];
  8669. MOV.F R1.w, c[27].x;
  8670. ADD.F32 R1.w, -R1, R4.x;
  8671. TRUNC.U R4.x, R4.y;
  8672. AND.U.CC HC.x, R4, R4.z;
  8673. MOV.S R12.w, R1;
  8674. IF NE.x;
  8675. ELSE;
  8676. MOV.F R1.x, {0, 0, 0, 0};
  8677. ENDIF;
  8678. MOV.F R1.w, c[28].x;
  8679. ADD.F32 R1.x, R1, R1.w;
  8680. MOV.F R4.y, c[29].w;
  8681. MOV.F R4.x, R9.w;
  8682. ADD.F32 R4.z, R4.x, -R4.y;
  8683. SGE.F32 R1.w, R4.x, R4.y;
  8684. TRUNC.U.CC HC.x, R1.w;
  8685. MOV.S R15.z, R4;
  8686. MOV.S R15.x, R1;
  8687. IF NE.x;
  8688. MOV.S R1.x, {1065353216, 0, 0, 0};
  8689. ELSE;
  8690. MOV.S R1.x, {0, 0, 0, 0};
  8691. ENDIF;
  8692. MOV.F R4.z, R1.x;
  8693. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  8694. MOV.F R4.x, c[30];
  8695. MOV.F R1.w, c[29].x;
  8696. ADD.F32 R1.w, -R1, R4.x;
  8697. MOV.S R17.x, R1.w;
  8698. MOV.F R4.x, c[29].w;
  8699. MOV.F R1.w, c[27];
  8700. ADD.F32 R1.w, -R1, R4.x;
  8701. MOV.F R4.y, R1.z;
  8702. MOV.S R14.z, R1.w;
  8703. MOV.F R1.w, R1.y;
  8704. ADD.F32 R4.x, -R4.y, {1, 0, 0, 0};
  8705. MUL.F32 R1.y, R1.w, R4.x;
  8706. ADD.F32 R4.x, -R1.w, {1, 0, 0, 0};
  8707. MOV.S R17.y, R4.x;
  8708. SNE.F32 R4.x, -R4.y, {-1, 0, 0, 0};
  8709. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  8710. TRUNC.U R4.x, R4;
  8711. TRUNC.U R1.w, R1;
  8712. AND.U.CC HC.x, R1.w, R4;
  8713. MOV.S R13.y, R4.z;
  8714. IF NE.x;
  8715. ELSE;
  8716. MOV.F R1.y, {0, 0, 0, 0}.x;
  8717. ENDIF;
  8718. MOV.F R4.x, R13.y;
  8719. MOV.F R1.
  8720. [15:03:17] Link error in shader. Log:
  8721. [15:03:17] Vertex info
  8722. -----------
  8723. Internal error: assembly compile error for vertex shader at offset 1807:
  8724. -- error message --
  8725. line 38, column 45: error: invalid vertex attribute reference
  8726. line 53, column 25: error: invalid vertex attribute reference
  8727. line 55, column 25: error: invalid vertex attribute reference
  8728. line 64, column 25: error: invalid vertex attribute reference
  8729. line 67, column 25: error: invalid vertex attribute reference
  8730. -- internal assembly text --
  8731. !!NVvp5.0
  8732. OPTION NV_internal;
  8733. OPTION NV_bindless_texture;
  8734. # cgc version 3.4.0001, build date Sep 5 2019
  8735. # command line args:
  8736. #vendor NVIDIA Corporation
  8737. #version 3.4.0.1 COP Build Date Sep 5 2019
  8738. #profile gp5vp
  8739. #program main
  8740. #semantic uf_remappedVS
  8741. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  8742. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  8743. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  8744. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  8745. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  8746. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  8747. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  8748. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  8749. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  8750. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  8751. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  8752. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  8753. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  8754. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  8755. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  8756. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  8757. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  8758. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  8759. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  8760. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  8761. #var float4 passParameterSem11 : $vout.ATTR4 : ATTR4 : -1 : 1
  8762. #var float4 passParameterSem4 : $vout.ATTR1 : ATTR1 : -1 : 1
  8763. #var float4 passParameterSem7 : $vout.ATTR2 : ATTR2 : -1 : 1
  8764. #var float4 passParameterSem8 : $vout.ATTR3 : ATTR3 : -1 : 1
  8765. #var int4 uf_remappedVS[0] : : c[0], 34 : -1 : 1
  8766. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  8767. PARAM c[34] = { program.local[0..33] };
  8768. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  8769. OUTPUT result_attrib[] = { result.attrib[0..4] };
  8770. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27;
  8771. TEMP T;
  8772. TEMP RC;
  8773. SHORT TEMP HC;
  8774. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  8775. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8776. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  8777. OR.U R0, R0, R1;
  8778. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  8779. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8780. OR.U R0, R0, R1;
  8781. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  8782. OR.U R5, R0, R2;
  8783. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  8784. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8785. SHR.U R1, vertex.attrib[16], {24, 0, 0, 0}.x;
  8786. OR.U R1, R1, R2;
  8787. MOV.U R0.x, R5.w;
  8788. MOV.F R0.y, c[0].x;
  8789. ADD.F32 R8.x, -R0, R0.y;
  8790. SGT.F32 R9.x, {0, 0, 0, 0}, R8;
  8791. TRUNC.U R13.x, R9;
  8792. SEQ.U R10.x, R13, {1, 0, 0, 0};
  8793. SEQ.U R13.y, -R10.x, {1, 0, 0, 0}.x;
  8794. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  8795. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8796. OR.U R0, R1, R0;
  8797. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  8798. OR.U R4, R0, R2;
  8799. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  8800. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8801. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  8802. MOV.U.CC RC.x, -R13.y;
  8803. OR.U R1, R1, R2;
  8804. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  8805. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  8806. OR.U R1, R1, R2;
  8807. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  8808. OR.U R19, R1, R0;
  8809. SHR.U R0, vertex.attrib[7], {8, 0, 0, 0}.x;
  8810. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8811. SHR.U R0, vertex.attrib[7], {24, 0, 0, 0}.x;
  8812. OR.U R0, R0, R1;
  8813. SHL.U R2, vertex.attrib[7], {8, 0, 0, 0}.x;
  8814. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8815. OR.U R0, R0, R1;
  8816. SHL.U R2, vertex.attrib[7], {24, 0, 0, 0}.x;
  8817. OR.U R1, R0, R2;
  8818. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  8819. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8820. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  8821. OR.U R0, R0, R2;
  8822. SHL.U R3, vertex.attrib[6], {8, 0, 0, 0}.x;
  8823. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8824. OR.U R0, R0, R2;
  8825. SHL.U R3, vertex.attrib[6], {24, 0, 0, 0}.x;
  8826. OR.U R6, R0, R3;
  8827. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  8828. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8829. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  8830. OR.U R0, R0, R2;
  8831. SHL.U R3, vertex.attrib[0], {8, 0, 0, 0}.x;
  8832. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8833. OR.U R0, R0, R2;
  8834. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  8835. OR.U R7, R0, R3;
  8836. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  8837. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8838. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  8839. OR.U R0, R0, R2;
  8840. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  8841. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8842. OR.U R0, R0, R2;
  8843. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  8844. MOV.S R26.y, R8.x;
  8845. OR.U R8, R0, R3;
  8846. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  8847. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8848. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  8849. OR.U R0, R0, R2;
  8850. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  8851. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8852. OR.U R0, R0, R2;
  8853. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  8854. OR.U R9, R0, R3;
  8855. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  8856. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8857. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  8858. OR.U R0, R0, R2;
  8859. SHL.U R3, vertex.attrib[5], {8, 0, 0, 0}.x;
  8860. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8861. OR.U R0, R0, R2;
  8862. SHL.U R3, vertex.attrib[5], {24, 0, 0, 0}.x;
  8863. OR.U R12, R0, R3;
  8864. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8865. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8866. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8867. OR.U R0.xyz, R0, R2;
  8868. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8869. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8870. OR.U R0.xyz, R0, R2;
  8871. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8872. OR.U R21.xyz, R0, R3;
  8873. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8874. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8875. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8876. OR.U R0.xyz, R0, R2;
  8877. SHL.U R3.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8878. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8879. OR.U R0.xyz, R0, R2;
  8880. SHL.U R3.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8881. OR.U R22.xyz, R0, R3;
  8882. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  8883. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8884. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  8885. OR.U R0.xyz, R0, R2;
  8886. SHL.U R3.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  8887. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8888. OR.U R0.xyz, R0, R2;
  8889. SHL.U R3.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  8890. OR.U R23.xyz, R0, R3;
  8891. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8892. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8893. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8894. OR.U R0.xyz, R0, R2;
  8895. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8896. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8897. OR.U R0.xyz, R0, R2;
  8898. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8899. OR.U R24.xyz, R0, R3;
  8900. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8901. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8902. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8903. OR.U R0.xyz, R0, R2;
  8904. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8905. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8906. OR.U R0.xyz, R0, R2;
  8907. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8908. OR.U R25.xyz, R0, R3;
  8909. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8910. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8911. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8912. OR.U R0.xyz, R0, R2;
  8913. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8914. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8915. OR.U R0.xyz, R0, R2;
  8916. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8917. OR.U R10.xyz, R0, R3;
  8918. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8919. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8920. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8921. OR.U R0.xyz, R0, R2;
  8922. SHL.U R3.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8923. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8924. OR.U R0.xyz, R0, R2;
  8925. SHL.U R3.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8926. OR.U R11.xyz, R0, R3;
  8927. MOV.S R2, {0, 0, 0, 0}.x;
  8928. MOV.S R3, {0, 0, 0, 0}.x;
  8929. MOV.S R20.xyz, {0, 0, 0, 0}.x;
  8930. MOV.S R26.xz, {0, 0, 0, 0}.x;
  8931. MOV.S R27.zw, {0, 0, 0, 0}.x;
  8932. MOV.S R27.xy, {0, 0, 0, 0}.x;
  8933. MOV.S R0.yz, {0, 0, 0, 0};
  8934. MOV.S R0.x, vertex.id;
  8935. MOV.S R0.w, vertex.instance.x;
  8936. MOV.S R10.w, {0, 0, 0, 0}.x;
  8937. MOV.S R11.w, {1065353216, 0, 0, 0}.x;
  8938. IF NE.x;
  8939. MOV.F R2.z, c[1].y;
  8940. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  8941. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  8942. MOV.S R27.xy, {0, 0, 0, 0}.x;
  8943. MOV.S R2.z, R2;
  8944. MOV.S R12.w, {1065353216, 0, 0, 0}.x;
  8945. ENDIF;
  8946. SEQ.U R13.x, R13, {0, 0, 0, 0};
  8947. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8948. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8949. MOV.U.CC RC.x, -R13;
  8950. IF NE.x;
  8951. MOV.S R12.w, {0, 0, 0, 0}.x;
  8952. ENDIF;
  8953. SEQ.S R13.x, R12.w, {0, 0, 0, 0};
  8954. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  8955. SEQ.U R13.z, -R13.y, {1, 0, 0, 0}.x;
  8956. MOV.U.CC RC.x, -R13.z;
  8957. MOV.U R13.x, -R13;
  8958. MOV.U R22.w, -R13.y;
  8959. IF NE.x;
  8960. MOV.F R13.y, R19.w;
  8961. TRUNC.S R13.y, R13;
  8962. I2F.S R13.y, R13;
  8963. MOV.F R13.z, R26.y;
  8964. SGE.F32 R13.z, R13, R13.y;
  8965. MOV.S R23.z, R13.y;
  8966. TRUNC.U R13.y, R13.z;
  8967. SEQ.U R13.z, R22.w, {1, 0, 0, 0}.x;
  8968. SEQ.U R13.y, R13, {1, 0, 0, 0}.x;
  8969. AND.U R23.w, -R13.y, -R13.z;
  8970. ELSE;
  8971. MOV.U R23.w, {0, 0, 0, 0}.x;
  8972. ENDIF;
  8973. SEQ.U R13.y, R23.w, {1, 0, 0, 0}.x;
  8974. MOV.U.CC RC.x, -R13.y;
  8975. IF NE.x;
  8976. MOV.F R2.z, c[1].y;
  8977. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  8978. MOV.S R2.xy, {0, 0, 0, 0};
  8979. MOV.S R2.z, R2;
  8980. MOV.S R27.x, {0, 0, 0, 0};
  8981. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  8982. ENDIF;
  8983. SEQ.U R13.x, R13, {1, 0, 0, 0};
  8984. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  8985. MOV.U.CC RC.x, -R13.y;
  8986. MOV.U R22.w, -R13.x;
  8987. IF NE.x;
  8988. SEQ.S R13.x, R10.w, {0, 0, 0, 0};
  8989. MOV.U R19.w, -R13.x;
  8990. SEQ.U R13.y, R22.w, {1, 0, 0, 0}.x;
  8991. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8992. AND.U R23.w, -R13.x, -R13.y;
  8993. ELSE;
  8994. MOV.U R19.w, {0, 0, 0, 0}.x;
  8995. MOV.U R23.w, {0, 0, 0, 0}.x;
  8996. ENDIF;
  8997. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  8998. MOV.U.CC RC.x, -R13;
  8999. IF NE.x;
  9000. MOV.F R0.y, R25.z;
  9001. MOV.F R0.x, R25.y;
  9002. ADD.F32 R0.x, R0, R0.y;
  9003. MOV.S R13.x, R0;
  9004. MOV.F R0.x, c[3];
  9005. RCP.F32 R0.y, R0.x;
  9006. SGT.F32 R0.x, R0, {0, 0, 0, 0};
  9007. TRUNC.U.CC HC.x, R0;
  9008. AND.S R13.w, c[2].x, {65536, 0, 0, 0}.x;
  9009. AND.S R13.y, c[2].x, {262144, 0, 0, 0}.x;
  9010. AND.S R18.z, c[2].x, {131072, 0, 0, 0}.x;
  9011. MOV.S R16.y, R0;
  9012. IF NE.x;
  9013. MOV.F R0.x, {1, 0, 0, 0};
  9014. ELSE;
  9015. MOV.F R0.x, {0, 0, 0, 0};
  9016. ENDIF;
  9017. MOV.F R0.z, R25.x;
  9018. MOV.F R0.y, R25.z;
  9019. ADD.F32 R0.w, R0.y, R0.z;
  9020. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  9021. MOV.S R14.y, R0.w;
  9022. I2F.S R0.w, R18.z;
  9023. MOV.S R11.w, R0;
  9024. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9025. MOV.S R16.w, R0.y;
  9026. MUL.F32 R0.y, R0.z, {2, 0, 0, 0}.x;
  9027. TRUNC.U.CC HC.x, R0.w;
  9028. MOV.S R18.z, R13.y;
  9029. MOV.S R13.z, R0.y;
  9030. MOV.S R16.x, R0;
  9031. IF NE.x;
  9032. MOV.F R0.x, {1, 0, 0, 0};
  9033. ELSE;
  9034. MOV.F R0.x, {0, 0, 0, 0};
  9035. ENDIF;
  9036. MOV.F R0.y, c[3].x;
  9037. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9038. TRUNC.U.CC HC.x, R0.y;
  9039. MOV.S R18.x, R0;
  9040. IF NE.x;
  9041. MOV.F R0.x, {1, 0, 0, 0};
  9042. ELSE;
  9043. MOV.F R0.x, {0, 0, 0, 0};
  9044. ENDIF;
  9045. MOV.F R0.y, R25.x;
  9046. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  9047. MOV.F R0.z, c[4].y;
  9048. MUL.F32 R0.y, R0, R0.z;
  9049. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9050. TRUNC.U R0.w, R0;
  9051. TRUNC.U R0.z, R0;
  9052. AND.U.CC HC.x, R0.w, R0.z;
  9053. MOV.S R13.y, R0.x;
  9054. IF NE.x;
  9055. MOV.F R0.x, R0.y;
  9056. ELSE;
  9057. MOV.F R0.x, {0, 0, 0, 0};
  9058. ENDIF;
  9059. MOV.F R0.y, R11.w;
  9060. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9061. TRUNC.U.CC HC.x, R0.y;
  9062. MOV.S R16.z, R0.x;
  9063. IF NE.x;
  9064. MOV.F R0.x, {1, 0, 0, 0};
  9065. ELSE;
  9066. MOV.F R0.x, {0, 0, 0, 0};
  9067. ENDIF;
  9068. MOV.F R0.y, R18.x;
  9069. ADD.F32 R0.x, R0.y, -R0;
  9070. MOV.S R17.x, R0;
  9071. I2F.S R0.x, R18.z;
  9072. MOV.F R0.z, R16.y;
  9073. MOV.F R0.y, R26;
  9074. MUL.F32 R0.y, R0, R0.z;
  9075. MOV.S R16.y, R0;
  9076. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0.x;
  9077. TRUNC.U.CC HC.x, R0.y;
  9078. MOV.S R11.w, R0.x;
  9079. IF NE.x;
  9080. MOV.F R0.x, {1, 0, 0, 0};
  9081. ELSE;
  9082. MOV.F R0.x, {0, 0, 0, 0};
  9083. ENDIF;
  9084. MOV.F R0.y, R11.w;
  9085. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9086. TRUNC.U.CC HC.x, R0.y;
  9087. MOV.S R17.z, R0.x;
  9088. IF NE.x;
  9089. MOV.F R0.x, {1, 0, 0, 0};
  9090. ELSE;
  9091. MOV.F R0.x, {0, 0, 0, 0};
  9092. ENDIF;
  9093. I2F.S R0.y, R13.w;
  9094. MOV.S R11.w, R0.y;
  9095. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9096. TRUNC.U.CC HC.x, R0.y;
  9097. MOV.S R17.w, R0.x;
  9098. IF NE.x;
  9099. MOV.F R0.x, {1, 0, 0, 0};
  9100. ELSE;
  9101. MOV.F R0.x, {0, 0, 0, 0};
  9102. ENDIF;
  9103. MOV.F R0.z, R17;
  9104. MOV.F R0.y, R17.w;
  9105. ADD.F32 R0.y, R0, -R0.z;
  9106. MOV.S R18.y, R0;
  9107. MOV.F R0.y, R11.w;
  9108. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9109. TRUNC.U.CC HC.x, R0.y;
  9110. MOV.S R18.x, R0;
  9111. IF NE.x;
  9112. MOV.F R0.y, {1, 0, 0, 0}.x;
  9113. ELSE;
  9114. MOV.F R0.y, {0, 0, 0, 0}.x;
  9115. ENDIF;
  9116. MOV.F R0.x, R18.y;
  9117. MOV.F R0.w, R13.y;
  9118. MOV.F R0.z, R16.x;
  9119. ADD.F32 R0.z, R0, -R0.w;
  9120. TRUNC.S R0.x, R0;
  9121. MOV.S R15.w, R0.z;
  9122. ADD.S R0.z, -R0.x, {0, 0, 0, 0}.x;
  9123. MOV.F R0.w, R16.z;
  9124. MAX.S R16.z, R0.x, R0;
  9125. MOV.F R5.x, R16.y;
  9126. ADD.F32 R0.w, R0, R5.x;
  9127. MOV.S R16.x, R0.w;
  9128. MOV.F R0.w, R18.x;
  9129. ADD.F32 R0.w, R0, -R0.y;
  9130. MOV.F R0.x, R25.y;
  9131. MOV.F R0.z, R25.x;
  9132. ADD.F32 R0.z, R0, R0.x;
  9133. MUL.F32 R0.y, R0.z, {0.5, 0, 0, 0}.x;
  9134. MOV.S R0.z, R0.w;
  9135. MOV.S R0.w, R0.z;
  9136. MOV.S R13.y, R0;
  9137. MOV.F R0.y, R13.z;
  9138. MOV.F R0.z, R16.w;
  9139. FLR.F R0.z, R0;
  9140. MOV.S R13.z, R0;
  9141. MOV.F R0.z, R17.x;
  9142. TRUNC.S R0.z, R0;
  9143. TRUNC.S R15.z, R0.w;
  9144. MOV.F R0.w, R13.x;
  9145. MUL.F32 R5.x, R0.w, {0.5, 0, 0, 0};
  9146. MOV.F R0.w, R14.y;
  9147. FLR.F R0.y, R0;
  9148. MUL.F32 R0.x, R0, {2, 0, 0, 0};
  9149. MOV.S R15.y, R0.z;
  9150. ADD.S R14.y, -R0.z, {0, 0, 0, 0}.x;
  9151. MUL.F32 R0.z, R0.w, {0.5, 0, 0, 0}.x;
  9152. MOV.F R0.w, c[5];
  9153. MOV.S R14.x, R0.z;
  9154. MAX.F R0.z, R0.w, {0, 0, 0, 0}.x;
  9155. LG2.F32 R0.z, R0.z;
  9156. MOV.S R14.z, R5.x;
  9157. MUL.F32 R0.w, R0.z, {2, 0, 0, 0}.x;
  9158. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  9159. SEQ.F R0.w, R0.z, R0;
  9160. TRUNC.U R5.x, R5;
  9161. TRUNC.U R0.w, R0;
  9162. AND.U R0.w, R0, R5.x;
  9163. SEQ.U R0.w, R0, {1, 0, 0, 0}.x;
  9164. MOV.U.CC RC.x, -R0.w;
  9165. MOV.S R0.y, R0;
  9166. MOV.S R15.x, R0;
  9167. IF NE.x;
  9168. MOV.F R0.z, {-3.40282347e+38, 0, 0, 0}.x;
  9169. ENDIF;
  9170. MOV.F R0.w, R14.x;
  9171. MOV.F R0.x, R14.z;
  9172. ADD.F32 R0.x, R0, {-0.5, 0, 0, 0};
  9173. MUL.F32 R0.x, R0, {2, 0, 0, 0};
  9174. MAX.S R13.w, R15.y, R14.y;
  9175. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  9176. MOV.S R14.z, R0.x;
  9177. MUL.F32 R0.x, R0.w, {2, 0, 0, 0};
  9178. MOV.F R5.x, R13.z;
  9179. MOV.S R15.y, R0.x;
  9180. MOV.F R0.x, R23.z;
  9181. RCP.F32 R0.x, R0.x;
  9182. SGT.F32 R0.w, {0, 0, 0, 0}.x, R5.x;
  9183. TRUNC.U.CC HC.x, R0.w;
  9184. ADD.S R14.x, -R15.z, {0, 0, 0, 0};
  9185. MOV.S R14.y, R0.x;
  9186. MOV.S R13.x, R0.z;
  9187. IF NE.x;
  9188. MOV.F R0.x, {1, 0, 0, 0};
  9189. ELSE;
  9190. MOV.F R0.x, {0, 0, 0, 0};
  9191. ENDIF;
  9192. MOV.F R0.z, R13;
  9193. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9194. TRUNC.U.CC HC.x, R0.z;
  9195. MOV.S R17.x, R0;
  9196. IF NE.x;
  9197. MOV.F R0.x, {1, 0, 0, 0};
  9198. ELSE;
  9199. MOV.F R0.x, {0, 0, 0, 0};
  9200. ENDIF;
  9201. MOV.F R0.z, R0.y;
  9202. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9203. TRUNC.U.CC HC.x, R0.z;
  9204. MOV.S R17.y, R0.x;
  9205. IF NE.x;
  9206. MOV.F R0.x, {1, 0, 0, 0};
  9207. ELSE;
  9208. MOV.F R0.x, {0, 0, 0, 0};
  9209. ENDIF;
  9210. MOV.F R0.z, R15.x;
  9211. FLR.F R0.z, R0;
  9212. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9213. TRUNC.U.CC HC.x, R0.y;
  9214. MOV.S R16.w, R0.z;
  9215. MOV.S R17.z, R0.x;
  9216. IF NE.x;
  9217. MOV.F R0.x, {1, 0, 0, 0};
  9218. ELSE;
  9219. MOV.F R0.x, {0, 0, 0, 0};
  9220. ENDIF;
  9221. MOV.S R18.z, R16.x;
  9222. MOV.F R0.z, R17.x;
  9223. MOV.F R0.y, R17;
  9224. ADD.F32 R0.y, R0, -R0.z;
  9225. MOV.S R16.y, R0;
  9226. MOV.F R0.y, R17.z;
  9227. ADD.F32 R0.x, R0.y, -R0;
  9228. MAX.S R16.x, R15.z, R14;
  9229. MOV.F R0.z, R13.x;
  9230. MOV.F R0.y, R26;
  9231. MOV.S R15.z, R0.x;
  9232. MUL.F32 R0.x, R0.y, R0.z;
  9233. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9234. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9235. TRUNC.U R0.z, R0;
  9236. TRUNC.U R0.y, R0;
  9237. AND.U.CC HC.x, R0.y, R0.z;
  9238. IF NE.x;
  9239. ELSE;
  9240. MOV.F R0.x, {0, 0, 0, 0};
  9241. ENDIF;
  9242. MOV.F R0.y, R13;
  9243. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  9244. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  9245. MOV.S R14.w, R0.x;
  9246. MOV.F R0.x, R18.z;
  9247. FRC.F32 R0.x, R0;
  9248. MOV.F R0.z, R14.y;
  9249. MOV.F R0.y, R26;
  9250. MUL.F32 R0.y, R0, R0.z;
  9251. MOV.S R13.x, R0.y;
  9252. MOV.F R0.y, R14.z;
  9253. MOV.S R13.y, R0.w;
  9254. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  9255. MOV.F R0.z, c[6].y;
  9256. MUL.F32 R0.y, R0, R0.z;
  9257. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9258. TRUNC.U R0.w, R0;
  9259. TRUNC.U R0.z, R0;
  9260. AND.U.CC HC.x, R0.w, R0.z;
  9261. MOV.S R10.w, R13;
  9262. MOV.S R13.z, R0.x;
  9263. IF NE.x;
  9264. MOV.F R5.x, R0.y;
  9265. ELSE;
  9266. MOV.F R5.x, {0, 0, 0, 0};
  9267. ENDIF;
  9268. MOV.F R0.xyz, R1;
  9269. MOV.F R5.y, R15.w;
  9270. MOV.F R17.xyz, R12;
  9271. MOV.F R0.w, {0, 0, 0, 0}.x;
  9272. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9273. DP4.F32 R0.y, R17, R0;
  9274. ADD.F32 R0.x, -R5.y, {1, 0, 0, 0};
  9275. MOV.S R13.w, R0.x;
  9276. MOV.F R0.x, R15.y;
  9277. MOV.S R17.x, R0.y;
  9278. SNE.F32 R0.y, R0.x, {0, 0, 0, 0}.x;
  9279. MOV.F R0.w, c[6].z;
  9280. TRUNC.U R5.y, R0;
  9281. MUL.F32 R0.x, R0, R0.w;
  9282. I2F.S R0.y, R10.w;
  9283. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9284. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  9285. TRUNC.U R0.w, R0;
  9286. AND.U.CC HC.x, R5.y, R0.w;
  9287. MOV.S R0.z, R5.x;
  9288. MOV.S R14.z, R0.y;
  9289. IF NE.x;
  9290. ELSE;
  9291. MOV.F R0.x, {0, 0, 0, 0};
  9292. ENDIF;
  9293. MOV.F R5.x, R13.w;
  9294. MOV.F R0.w, R13.x;
  9295. MUL.F32 R0.y, R0.w, R5.x;
  9296. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9297. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9298. TRUNC.U R0.w, R0;
  9299. TRUNC.U R5.x, R5;
  9300. AND.U.CC HC.x, R0.w, R5;
  9301. MOV.S R14.y, R0.x;
  9302. IF NE.x;
  9303. MOV.F R0.x, R0.y;
  9304. ELSE;
  9305. MOV.F R0.x, {0, 0, 0, 0};
  9306. ENDIF;
  9307. MOV.F R0.y, R16.w;
  9308. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9309. TRUNC.U.CC HC.x, R0.y;
  9310. MOV.S R13.x, R0;
  9311. IF NE.x;
  9312. MOV.F R0.x, {1, 0, 0, 0};
  9313. ELSE;
  9314. MOV.F R0.x, {0, 0, 0, 0};
  9315. ENDIF;
  9316. MOV.F R0.y, R16.w;
  9317. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9318. TRUNC.U.CC HC.x, R0.y;
  9319. MOV.S R17.y, R0.x;
  9320. IF NE.x;
  9321. MOV.F R0.w, {1, 0, 0, 0}.x;
  9322. ELSE;
  9323. MOV.F R0.w, {0, 0, 0, 0}.x;
  9324. ENDIF;
  9325. MOV.F R5.y, R17;
  9326. ADD.F32 R0.w, R0, -R5.y;
  9327. MOV.F R0.y, R16;
  9328. MOV.F R5.z, R14;
  9329. I2F.S R5.x, R16.z;
  9330. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  9331. MOV.S R14.x, R0.w;
  9332. SNE.F32 R0.w, -R5.z, {0, 0, 0, 0}.x;
  9333. MOV.S R11.w, R5.x;
  9334. TRUNC.U R5.x, R0.w;
  9335. MOV.F R0.w, c[5];
  9336. SNE.F32 R5.y, R0, {0, 0, 0, 0}.x;
  9337. MUL.F32 R0.x, -R5.z, R0.y;
  9338. ADD.F32 R0.y, -R0.w, {1, 0, 0, 0}.x;
  9339. TRUNC.U R0.w, R5.y;
  9340. AND.U.CC HC.x, R5, R0.w;
  9341. MOV.S R13.w, R0.y;
  9342. IF NE.x;
  9343. ELSE;
  9344. MOV.F R0.x, {0, 0, 0, 0};
  9345. ENDIF;
  9346. MOV.F R5.x, R13.z;
  9347. MOV.F R0.w, R15;
  9348. MUL.F32 R0.y, R0.w, R5.x;
  9349. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9350. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9351. TRUNC.U R0.w, R0;
  9352. TRUNC.U R5.x, R5;
  9353. AND.U.CC HC.x, R0.w, R5;
  9354. MOV.S R16.y, R0.x;
  9355. IF NE.x;
  9356. MOV.F R0.x, R0.y;
  9357. ELSE;
  9358. MOV.F R0.x, {0, 0, 0, 0};
  9359. ENDIF;
  9360. MOV.F R0.y, R15.z;
  9361. SNE.F32 R5.x, R0.y, {0, 0, 0, 0};
  9362. MOV.F R0.w, R11;
  9363. MUL.F32 R0.y, -R0.w, R0;
  9364. TRUNC.U R5.x, R5;
  9365. SNE.F32 R0.w, -R0, {0, 0, 0, 0}.x;
  9366. MOV.S R13.z, R0.x;
  9367. TRUNC.U R0.x, R0.w;
  9368. AND.U.CC HC.x, R0, R5;
  9369. IF NE.x;
  9370. MOV.F R0.x, R0.y;
  9371. ELSE;
  9372. MOV.F R0.x, {0, 0, 0, 0};
  9373. ENDIF;
  9374. MOV.F R0.y, R14.w;
  9375. EX2.F32 R0.y, R0.y;
  9376. MOV.S R11.w, R0.y;
  9377. MOV.F R0.y, c[5];
  9378. ADD.F32 R0.y, R0, R0.z;
  9379. MOV.S R10.w, R16.x;
  9380. MOV.F R0.w, c[6].x;
  9381. MOV.F R0.z, R13.y;
  9382. MOV.S R16.x, R0.y;
  9383. MUL.F32 R0.y, R0.z, R0.w;
  9384. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9385. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9386. TRUNC.U R0.z, R0;
  9387. TRUNC.U R0.w, R0;
  9388. AND.U.CC HC.x, R0.z, R0.w;
  9389. MOV.S R15.w, R0.x;
  9390. IF NE.x;
  9391. MOV.F R0.x, R0.y;
  9392. ELSE;
  9393. MOV.F R0.x, {0, 0, 0, 0};
  9394. ENDIF;
  9395. MOV.S R13.y, R0.x;
  9396. MOV.F R0.x, R11.w;
  9397. ADD.F32 R0.x, -R0, {1, 0, 0, 0};
  9398. MOV.F R0.y, R13.x;
  9399. MOV.F R0.z, R13;
  9400. ADD.F32 R0.w, R0.y, R0.z;
  9401. MOV.F R0.z, R14.y;
  9402. MOV.F R0.y, c[5].z;
  9403. ADD.F32 R0.y, R0, R0.z;
  9404. MOV.F R0.z, R14.x;
  9405. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  9406. MOV.S R13.x, R0.y;
  9407. I2F.S R0.y, R10.w;
  9408. MOV.S R5.y, R0.w;
  9409. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  9410. MUL.F32 R0.y, -R0.w, R0.z;
  9411. MOV.F R0.z, R17.x;
  9412. ADD.F32 R0.z, R0, {9.99999997e-07, 0, 0, 0}.x;
  9413. MOV.S R26.z, R0;
  9414. TRUNC.U R5.x, R5;
  9415. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  9416. MOV.S R14.w, R0.x;
  9417. TRUNC.U R0.x, R0.z;
  9418. AND.U.CC HC.x, R0, R5;
  9419. IF NE.x;
  9420. ELSE;
  9421. MOV.F R0.y, {0, 0, 0, 0}.x;
  9422. ENDIF;
  9423. MOV.F R0.x, R13.w;
  9424. MOV.F R0.z, R14.w;
  9425. DIV.F32 R0.x, R0.z, R0.x;
  9426. MOV.S R14.y, R0.x;
  9427. MOV.F R0.z, R16.y;
  9428. MOV.F R0.x, R16;
  9429. MUL.F32 R0.w, R0.x, R0.z;
  9430. SNE.F32 R0.x, R0, {0, 0, 0, 0};
  9431. TRUNC.U R5.x, R0;
  9432. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9433. TRUNC.U R12.x, R0.z;
  9434. MOV.F R0.x, R25.y;
  9435. ADD.F32 R0.x, R0, {-0.5, 0, 0, 0};
  9436. MOV.F R0.z, R25;
  9437. AND.U.CC HC.x, R5, R12;
  9438. ADD.F32 R0.z, R0, {-0.5, 0, 0, 0}.x;
  9439. MOV.F R5.z, c[7].w;
  9440. MOV.F R10.w, c[8];
  9441. ADD.F32 R10.w, -R5.z, R10;
  9442. MOV.S R5.z, R0;
  9443. MOV.S R11, R11.xyzy;
  9444. MOV.S R0.x, R0;
  9445. MOV.S R13.w, R10;
  9446. MOV.S R0.z, R0.y;
  9447. IF NE.x;
  9448. ELSE;
  9449. MOV.F R0.w, {0, 0, 0, 0}.x;
  9450. ENDIF;
  9451. MOV.F R18.xyz, R1;
  9452. MOV.F R17.xyz, R10;
  9453. MOV.F R18.w, {0, 0, 0, 0}.x;
  9454. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9455. DP4.F32 R0.y, R17, R18;
  9456. MOV.F R17.xyz, R11;
  9457. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9458. DP4.F32 R1.x, R18, R17;
  9459. MOV.S R26.x, R0.y;
  9460. MOV.F R11.x, R15.w;
  9461. MOV.F R10.w, R13.x;
  9462. MOV.S R0.y, R1.x;
  9463. MOV.F R1.z, c[5].x;
  9464. MOV.F R1.y, R13;
  9465. ADD.F32 R1.y, R1, R1.z;
  9466. MOV.S R5.x, R1.y;
  9467. SNE.F32 R1.y, R10.w, {0, 0, 0, 0}.x;
  9468. SNE.F32 R1.z, R11.x, {0, 0, 0, 0}.x;
  9469. TRUNC.U R1.y, R1;
  9470. TRUNC.U R1.z, R1;
  9471. AND.U.CC HC.x, R1.y, R1.z;
  9472. MUL.F32 R1.x, R10.w, R11;
  9473. MOV.S R14.w, R0;
  9474. IF NE.x;
  9475. MOV.F R0.w, R1.x;
  9476. ELSE;
  9477. MOV.F R0.w, {0, 0, 0, 0}.x;
  9478. ENDIF;
  9479. MOV.F R1.z, R15.w;
  9480. MOV.F R1.y, R6.z;
  9481. MUL.F32 R1.x, R1.y, R1.z;
  9482. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9483. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9484. TRUNC.U R1.y, R1;
  9485. TRUNC.U R1.z, R1;
  9486. AND.U.CC HC.x, R1.y, R1.z;
  9487. MOV.S R13.z, R0.w;
  9488. IF NE.x;
  9489. MOV.F R0.w, R1.x;
  9490. ELSE;
  9491. MOV.F R0.w, {0, 0, 0, 0}.x;
  9492. ENDIF;
  9493. MOV.F R1.z, R16.y;
  9494. MOV.F R1.y, R6;
  9495. MUL.F32 R1.x, R1.y, R1.z;
  9496. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9497. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9498. TRUNC.U R1.y, R1;
  9499. TRUNC.U R1.z, R1;
  9500. AND.U.CC HC.x, R1.y, R1.z;
  9501. MOV.S R14.x, R0.w;
  9502. IF NE.x;
  9503. MOV.F R0.w, R1.x;
  9504. ELSE;
  9505. MOV.F R0.w, {0, 0, 0, 0}.x;
  9506. ENDIF;
  9507. MOV.F R1.x, c[5].w;
  9508. SEQ.F R1.x, R1, {1, 0, 0, 0};
  9509. TRUNC.U.CC HC.x, R1;
  9510. MOV.S R18.y, R0.w;
  9511. IF NE.x;
  9512. MOV.S R0.w, {-1, 0, 0, 0}.x;
  9513. ELSE;
  9514. MOV.S R0.w, {0, 0, 0, 0}.x;
  9515. ENDIF;
  9516. MOV.F R1.z, R26;
  9517. MOV.F R1.y, R11;
  9518. MUL.F32 R1.x, R1.y, R1.z;
  9519. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9520. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9521. TRUNC.U R1.z, R1;
  9522. TRUNC.U R1.y, R1;
  9523. AND.U.CC HC.x, R1.y, R1.z;
  9524. MOV.S R12.zw, R12.xyzy;
  9525. IF NE.x;
  9526. ELSE;
  9527. MOV.F R1.x, {0, 0, 0, 0};
  9528. ENDIF;
  9529. MOV.S R11.yw, R11.xzzw;
  9530. SEQ.S R0.w, R0, {0, 0, 0, 0}.x;
  9531. MOV.U.CC RC.x, -R0.w;
  9532. MOV.F R1.z, R14.w;
  9533. MOV.F R1.y, R16.x;
  9534. ADD.F32 R1.y, R1, R1.z;
  9535. MOV.F R10.w, R18.y;
  9536. MOV.F R1.z, R6.y;
  9537. ADD.F32 R1.z, R1, R10.w;
  9538. MOV.S R10.w, R1.y;
  9539. MOV.S R12.x, R1.z;
  9540. MOV.S R11.z, R10;
  9541. MOV.S R11.x, R12.z;
  9542. MOV.S R1.y, R1.x;
  9543. IF NE.x;
  9544. MOV.S R1.x, R14.y;
  9545. ELSE;
  9546. MOV.S R1.x, R26.y;
  9547. ENDIF;
  9548. MOV.F R0.w, R13.x;
  9549. MOV.F R1.z, R13;
  9550. ADD.F32 R0.w, R0, R1.z;
  9551. MOV.S R12.y, R0.w;
  9552. MOV.F R0.w, R13;
  9553. MOV.F R1.z, R6;
  9554. MOV.F R12.z, R14.x;
  9555. ADD.F32 R12.z, R1, R12;
  9556. RCP.F32 R1.z, R0.w;
  9557. MOV.S R0.w, R12.z;
  9558. MOV.F R13.x, c[8].z;
  9559. MOV.F R12.z, c[7];
  9560. ADD.F32 R12.z, -R12, R13.x;
  9561. MOV.S R1.z, R1;
  9562. MOV.S R12.z, R12;
  9563. ENDIF;
  9564. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  9565. MOV.U.CC RC.x, -R13;
  9566. IF NE.x;
  9567. MOV.F R6.w, R0.z;
  9568. MOV.F R6.z, R5.x;
  9569. MOV.F R5.w, c[8];
  9570. MOV.F R1.w, R5.y;
  9571. ADD.F32 R6.y, R1.w, -R5.w;
  9572. MOV.S R27.z, R6.y;
  9573. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  9574. MUL.F32 R1.w, R6.z, R6;
  9575. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  9576. TRUNC.U R6.w, R6.y;
  9577. TRUNC.U R10.z, R6;
  9578. MOV.F R6.z, R25.x;
  9579. MOV.F R6.y, c[9].w;
  9580. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  9581. ADD.F32 R5.w, -R5, R6.y;
  9582. AND.U.CC HC.x, R6.w, R10.z;
  9583. MOV.S R15.z, R6;
  9584. MOV.S R14.y, R5.w;
  9585. IF NE.x;
  9586. ELSE;
  9587. MOV.F R1.w, {0, 0, 0, 0}.x;
  9588. ENDIF;
  9589. MOV.F R6.y, R0.z;
  9590. MOV.F R5.w, R6.x;
  9591. MUL.F32 R0.z, R5.w, R6.y;
  9592. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9593. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9594. TRUNC.U R5.w, R5;
  9595. TRUNC.U R6.y, R6;
  9596. AND.U.CC HC.x, R5.w, R6.y;
  9597. MOV.S R13.w, R1;
  9598. IF NE.x;
  9599. ELSE;
  9600. MOV.F R0.z, {0, 0, 0, 0}.x;
  9601. ENDIF;
  9602. MOV.F R1.w, R0.x;
  9603. MOV.F R5.w, c[10].y;
  9604. MUL.F32 R0.x, R1.w, R5.w;
  9605. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9606. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9607. TRUNC.U R1.w, R1;
  9608. TRUNC.U R5.w, R5;
  9609. AND.U.CC HC.x, R1.w, R5.w;
  9610. MOV.S R13.z, R0;
  9611. IF NE.x;
  9612. ELSE;
  9613. MOV.F R0.x, {0, 0, 0, 0};
  9614. ENDIF;
  9615. MOV.F R1.w, R5.z;
  9616. MOV.F R5.w, c[10].z;
  9617. MUL.F32 R0.z, R1.w, R5.w;
  9618. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9619. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  9620. TRUNC.U R1.w, R1;
  9621. TRUNC.U R5.z, R5;
  9622. AND.U.CC HC.x, R1.w, R5.z;
  9623. MOV.S R13.x, R0;
  9624. IF NE.x;
  9625. MOV.F R0.x, R0.z;
  9626. ELSE;
  9627. MOV.F R0.x, {0, 0, 0, 0};
  9628. ENDIF;
  9629. MOV.F R5.z, R12.w;
  9630. MOV.F R1.w, R0.y;
  9631. MUL.F32 R0.z, -R1.w, R5;
  9632. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  9633. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9634. TRUNC.U R1.w, R1;
  9635. TRUNC.U R5.z, R5;
  9636. AND.U.CC HC.x, R1.w, R5.z;
  9637. MOV.S R17.z, R0.x;
  9638. IF NE.x;
  9639. MOV.F R0.x, R0.z;
  9640. ELSE;
  9641. MOV.F R0.x, {0, 0, 0, 0};
  9642. ENDIF;
  9643. MOV.F R16.xz, R26;
  9644. MOV.F R16.y, R0;
  9645. MOV.F R18.xyz, R16;
  9646. MOV.F R1.w, R13.z;
  9647. MOV.F R16.w, {0, 0, 0, 0}.x;
  9648. MOV.F R18.w, {-0, 0, 0, 0}.x;
  9649. DP4.F32 R0.z, R18, R16;
  9650. MOV.S R17.x, R0.z;
  9651. MOV.F R0.z, R6.x;
  9652. ADD.F32 R0.z, R0, R1.w;
  9653. MOV.S R15.x, R0.z;
  9654. MOV.F R0.z, R5.x;
  9655. MOV.F R5.z, R1;
  9656. MOV.F R1.w, R12.z;
  9657. MUL.F32 R1.w, R1, R5.z;
  9658. MOV.S R16.x, R1.w;
  9659. MOV.F R1.w, R13;
  9660. ADD.F32 R0.z, R0, R1.w;
  9661. MOV.S R16.w, R0.z;
  9662. MOV.F R0.z, R0.w;
  9663. MOV.F R5.x, R13;
  9664. MOV.F R1.w, R12.x;
  9665. ADD.F32 R1.w, R1, R5.x;
  9666. MOV.S R13.w, R1;
  9667. MOV.F R1.w, R17.z;
  9668. ADD.F32 R0.w, R0.z, R1;
  9669. MOV.F R0.z, R1.y;
  9670. ADD.F32 R0.x, R0, R0.z;
  9671. MOV.F R0.z, R11;
  9672. MOV.S R14.w, R0.x;
  9673. MUL.F32 R0.x, R0.z, {0.00100000005, 0, 0, 0};
  9674. MOV.S R15.w, R0.x;
  9675. MOV.F R0.x, R11;
  9676. MOV.S R13.y, R0.w;
  9677. MUL.F32 R0.w, R0.x, {0.00100000005, 0, 0, 0}.x;
  9678. MOV.F R0.z, R11.y;
  9679. MUL.F32 R0.x, R0.z, {0.00100000005, 0, 0, 0};
  9680. MOV.S R16.y, R0.w;
  9681. MOV.S R13.z, R0.x;
  9682. MOV.F R0.z, c[9].w;
  9683. MOV.F R0.x, R5.y;
  9684. ADD.F32 R0.x, R0, -R0.z;
  9685. MOV.F R0.w, R27.z;
  9686. SGE.F32 R0.z, R0.w, {0, 0, 0, 0}.x;
  9687. TRUNC.U.CC HC.x, R0.z;
  9688. MOV.S R6.y, R0.x;
  9689. IF NE.x;
  9690. MOV.S R0.z, {1065353216, 0, 0, 0}.x;
  9691. ELSE;
  9692. MOV.S R0.z, {0, 0, 0, 0}.x;
  9693. ENDIF;
  9694. MOV.F R1.w, R12.y;
  9695. MOV.F R5.x, R1;
  9696. MUL.F32 R0.x, R1.w, R5;
  9697. MOV.F R1.y, c[7].w;
  9698. MOV.F R0.w, R5.y;
  9699. ADD.F32 R0.w, R0, -R1.y;
  9700. MOV.F R1.y, R14;
  9701. MOV.S R6.w, R0;
  9702. RCP.F32 R0.w, R1.y;
  9703. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  9704. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9705. TRUNC.U R1.w, R5.x;
  9706. TRUNC.U R1.y, R1;
  9707. AND.U.CC HC.x, R1.y, R1.w;
  9708. MOV.S R0.w, R0;
  9709. IF NE.x;
  9710. ELSE;
  9711. MOV.F R0.x, {0, 0, 0, 0};
  9712. ENDIF;
  9713. MOV.F R5.x, R1;
  9714. MOV.F R1.w, R10;
  9715. MUL.F32 R1.y, R1.w, R5.x;
  9716. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9717. TRUNC.U R5.z, R1.w;
  9718. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  9719. MOV.F R5.x, c[8].y;
  9720. MOV.F R1.w, c[7].y;
  9721. ADD.F32 R1.w, -R1, R5.x;
  9722. TRUNC.U R5.x, R5.w;
  9723. AND.U.CC HC.x, R5.z, R5;
  9724. MOV.S R14.y, R1.w;
  9725. MOV.S R13.x, R0;
  9726. IF NE.x;
  9727. MOV.F R0.x, R1.y;
  9728. ELSE;
  9729. MOV.F R0.x, {0, 0, 0, 0};
  9730. ENDIF;
  9731. MOV.F R1.y, R14.w;
  9732. SEQ.F R1.y, R1, {0, 0, 0, 0}.x;
  9733. TRUNC.U.CC HC.x, R1.y;
  9734. MOV.S R17.z, R0.x;
  9735. IF NE.x;
  9736. MOV.S R0.x, {-1, 0, 0, 0};
  9737. ELSE;
  9738. MOV.S R0.x, {0, 0, 0, 0};
  9739. ENDIF;
  9740. MOV.F R1.w, R15;
  9741. MOV.F R1.y, R10;
  9742. ADD.F32 R1.y, R1, R1.w;
  9743. MOV.S R14.x, R1.y;
  9744. MOV.F R5.x, R17.z;
  9745. MOV.F R1.w, R13;
  9746. ADD.F32 R1.w, R1, R5.x;
  9747. MOV.S R12.x, R1.w;
  9748. MOV.F R1.w, R13.z;
  9749. MOV.F R1.y, R11.w;
  9750. ADD.F32 R5.x, R1.y, R1.w;
  9751. MOV.S R18.w, R5.x;
  9752. MOV.F R1.w, R16.y;
  9753. MOV.F R1.y, R12.w;
  9754. ADD.F32 R1.y, R1, R1.w;
  9755. MOV.S R18.z, R1.y;
  9756. MOV.F R1.y, R17.x;
  9757. RSQ.F32 R1.y, R1.y;
  9758. MOV.F R5.x, c[9].z;
  9759. MOV.F R1.w, c[8].z;
  9760. ADD.F32 R1.w, -R1, R5.x;
  9761. MOV.S R16.y, R1.w;
  9762. SEQ.S R1.w, R0.x, {0, 0, 0, 0}.x;
  9763. MOV.U.CC RC.x, -R1.w;
  9764. MOV.S R12.y, R1;
  9765. IF NE.x;
  9766. MOV.S R1.y, R10;
  9767. ELSE;
  9768. MOV.S R1.y, R14.x;
  9769. ENDIF;
  9770. MOV.F R5.x, R13;
  9771. MOV.F R1.w, R13.y;
  9772. ADD.F32 R1.w, R1, R5.x;
  9773. MOV.S R14.z, R1.w;
  9774. MOV.F R5.x, c[11].w;
  9775. MOV.F R1.w, c[9];
  9776. ADD.F32 R1.w, -R1, R5.x;
  9777. SEQ.S R5.x, R0, {0, 0, 0, 0};
  9778. MOV.U.CC RC.x, -R5;
  9779. MOV.S R17.y, R1.w;
  9780. IF NE.x;
  9781. MOV.S R5.z, R11.w;
  9782. ELSE;
  9783. MOV.S R5.z, R18.w;
  9784. ENDIF;
  9785. SEQ.S R0.x, R0, {0, 0, 0, 0};
  9786. MOV.U.CC RC.x, -R0;
  9787. IF NE.x;
  9788. MOV.S R5.x, R12.w;
  9789. ELSE;
  9790. MOV.S R5.x, R18.z;
  9791. ENDIF;
  9792. MOV.F R5.w, R16.x;
  9793. MOV.F R1.w, R1.z;
  9794. MOV.F R0.x, R14.y;
  9795. MUL.F32 R0.x, R0, R1.w;
  9796. MOV.F R1.w, R6;
  9797. MOV.S R16.x, R0;
  9798. MUL.F32 R0.x, R1.w, R5.w;
  9799. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9800. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9801. TRUNC.U R5.w, R5;
  9802. TRUNC.U R1.w, R1;
  9803. AND.U.CC HC.x, R1.w, R5.w;
  9804. IF NE.x;
  9805. ELSE;
  9806. MOV.F R0.x, {0, 0, 0, 0};
  9807. ENDIF;
  9808. MOV.F R6.x, c[10];
  9809. MOV.F R5.w, R15.z;
  9810. MUL.F32 R1.w, R5, R6.x;
  9811. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9812. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9813. TRUNC.U R5.w, R5;
  9814. TRUNC.U R6.x, R6;
  9815. AND.U.CC HC.x, R5.w, R6;
  9816. MOV.S R14.y, R0.x;
  9817. IF NE.x;
  9818. MOV.F R0.x, R1.w;
  9819. ELSE;
  9820. MOV.F R0.x, {0, 0, 0, 0};
  9821. ENDIF;
  9822. MOV.F R1.w, R16.y;
  9823. MOV.F R5.w, R0;
  9824. MUL.F32 R5.w, R1, R5;
  9825. MOV.F R6.x, R17.y;
  9826. RCP.F32 R1.w, R6.x;
  9827. MOV.S R14.x, R1.w;
  9828. MOV.F R1.w, R6.y;
  9829. SGE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9830. TRUNC.U.CC HC.x, R1.w;
  9831. MOV.S R14.w, R5;
  9832. MOV.S R18.z, R0.x;
  9833. IF NE.x;
  9834. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  9835. ELSE;
  9836. MOV.S R1.w, {0, 0, 0, 0}.x;
  9837. ENDIF;
  9838. MOV.F R5.w, R18.z;
  9839. MOV.F R0.x, R15;
  9840. ADD.F32 R0.x, R0, R5.w;
  9841. MOV.S R16.y, R0.x;
  9842. MOV.F R5.w, c[8].x;
  9843. MOV.F R0.x, c[7];
  9844. ADD.F32 R0.x, -R0, R5.w;
  9845. MOV.F R6.x, R6.w;
  9846. SGE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  9847. TRUNC.U.CC HC.x, R5.w;
  9848. MOV.S R15.z, R0.x;
  9849. IF NE.x;
  9850. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  9851. ELSE;
  9852. MOV.S R5.w, {0, 0, 0, 0}.x;
  9853. ENDIF;
  9854. MOV.F R0.x, R12.y;
  9855. SNE.F32 R6.x, R0, {0, 0, 0, 0};
  9856. MOV.F R6.z, R26.x;
  9857. TRUNC.U R10.y, R6.x;
  9858. MUL.F32 R0.x, R6.z, R0;
  9859. MOV.F R6.x, R0.z;
  9860. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9861. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  9862. TRUNC.U R6.z, R6;
  9863. AND.U.CC HC.x, R6.z, R10.y;
  9864. MOV.S R13.w, R6.x;
  9865. IF NE.x;
  9866. ELSE;
  9867. MOV.F R0.x, {0, 0, 0, 0};
  9868. ENDIF;
  9869. MOV.F R6.x, R0.y;
  9870. MOV.F R6.z, R12.y;
  9871. MUL.F32 R0.y, R6.x, R6.z;
  9872. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9873. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9874. TRUNC.U R6.x, R6;
  9875. TRUNC.U R6.z, R6;
  9876. AND.U.CC HC.x, R6, R6.z;
  9877. MOV.S R0.x, R0;
  9878. IF NE.x;
  9879. ELSE;
  9880. MOV.F R0.y, {0, 0, 0, 0}.x;
  9881. ENDIF;
  9882. MOV.F R6.z, R1.x;
  9883. MOV.F R6.x, R16.w;
  9884. MUL.F32 R1.x, R6, R6.z;
  9885. SNE.F32 R10.y, R6.z, {0, 0, 0, 0}.x;
  9886. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9887. TRUNC.U R10.z, R6.x;
  9888. MOV.F R6.z, c[9].y;
  9889. MOV.F R6.x, c[8].y;
  9890. ADD.F32 R6.x, -R6, R6.z;
  9891. TRUNC.U R6.z, R10.y;
  9892. AND.U.CC HC.x, R10.z, R6.z;
  9893. MOV.S R13.z, R6.x;
  9894. MOV.S R10.y, R0;
  9895. IF NE.x;
  9896. MOV.F R0.y, R1.x;
  9897. ELSE;
  9898. MOV.F R0.y, {0, 0, 0, 0}.x;
  9899. ENDIF;
  9900. MOV.F R6.z, R12.y;
  9901. MOV.F R6.x, R26.z;
  9902. MUL.F32 R1.x, R6, R6.z;
  9903. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9904. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9905. TRUNC.U R6.z, R6;
  9906. TRUNC.U R6.x, R6;
  9907. AND.U.CC HC.x, R6, R6.z;
  9908. MOV.S R18.w, R0.y;
  9909. IF NE.x;
  9910. MOV.F R0.y, R1.x;
  9911. ELSE;
  9912. MOV.F R0.y, {0, 0, 0, 0}.x;
  9913. ENDIF;
  9914. MOV.F R1.x, R15.z;
  9915. MUL.F32 R1.x, R1, R1.z;
  9916. MOV.F R1.z, R16.y;
  9917. MOV.F R6.x, R18.w;
  9918. ADD.F32 R1.z, R1, R6.x;
  9919. MOV.S R16.y, R1.x;
  9920. MOV.S R10.w, R1.z;
  9921. MOV.F R10.z, R16.x;
  9922. MOV.F R6.z, R6.w;
  9923. MOV.F R1.x, R5.y;
  9924. MOV.F R1.z, c[11].w;
  9925. ADD.F32 R1.z, R1.x, -R1;
  9926. MOV.S R6.x, R1.z;
  9927. SNE.F32 R1.z, R6, {0, 0, 0, 0}.x;
  9928. MUL.F32 R1.x, R6.z, R10.z;
  9929. SNE.F32 R6.z, R10, {0, 0, 0, 0}.x;
  9930. TRUNC.U R10.z, R1;
  9931. TRUNC.U R11.x, R6.z;
  9932. AND.U.CC HC.x, R10.z, R11;
  9933. MOV.F R6.z, c[11];
  9934. MOV.F R1.z, c[9];
  9935. ADD.F32 R1.z, -R1, R6;
  9936. MOV.S R17.z, R1;
  9937. MOV.S R27.w, R0.y;
  9938. IF NE.x;
  9939. MOV.F R0.y, R1.x;
  9940. ELSE;
  9941. MOV.F R0.y, {0, 0, 0, 0}.x;
  9942. ENDIF;
  9943. MOV.F R6.z, R14.w;
  9944. MOV.F R1.z, R27;
  9945. MUL.F32 R1.x, R1.z, R6.z;
  9946. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9947. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9948. TRUNC.U R6.z, R6;
  9949. TRUNC.U R1.z, R1;
  9950. AND.U.CC HC.x, R1.z, R6.z;
  9951. MOV.S R13.y, R0;
  9952. IF NE.x;
  9953. MOV.F R0.y, R1.x;
  9954. ELSE;
  9955. MOV.F R0.y, {0, 0, 0, 0}.x;
  9956. ENDIF;
  9957. MOV.F R1.z, R0.w;
  9958. MOV.F R1.x, R13.z;
  9959. MUL.F32 R1.x, R1, R1.z;
  9960. MOV.S R15.y, R1.x;
  9961. MOV.F R1.x, R6;
  9962. SGE.F32 R10.z, R1.x, {0, 0, 0, 0}.x;
  9963. TRUNC.U.CC HC.x, R10.z;
  9964. MOV.F R6.z, R14.x;
  9965. MOV.F R1.z, R17;
  9966. MUL.F32 R1.z, R1, R6;
  9967. MOV.S R14.w, R1.z;
  9968. MOV.F R1.z, c[12];
  9969. MOV.F R1.x, c[11].z;
  9970. ADD.F32 R1.x, -R1, R1.z;
  9971. MOV.F R6.z, c[12].w;
  9972. MOV.F R1.z, c[11].w;
  9973. ADD.F32 R1.z, -R1, R6;
  9974. MOV.S R16.w, R1.x;
  9975. MOV.S R18.z, R1;
  9976. MOV.S R16.x, R0.y;
  9977. IF NE.x;
  9978. MOV.S R1.x, {1065353216, 0, 0, 0};
  9979. ELSE;
  9980. MOV.S R1.x, {0, 0, 0, 0};
  9981. ENDIF;
  9982. MOV.F R1.z, R14.y;
  9983. MOV.F R0.y, c[7].z;
  9984. ADD.F32 R0.y, R0, R1.z;
  9985. MOV.S R14.y, R0;
  9986. MOV.F R1.z, c[12].w;
  9987. MOV.F R0.y, R5;
  9988. ADD.F32 R0.y, R0, -R1.z;
  9989. MOV.S R12.w, R0.y;
  9990. MOV.F R0.y, R18.z;
  9991. RCP.F32 R0.y, R0.y;
  9992. MOV.F R1.z, R12.x;
  9993. MAD.F32 R1.z, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  9994. MOV.S R5.y, R1.z;
  9995. MOV.F R1.z, R13.w;
  9996. SNE.F32 R6.z, R1, {0, 0, 0, 0}.x;
  9997. MOV.S R11.y, R0;
  9998. MUL.F32 R0.y, R5.w, R1.z;
  9999. MOV.F R1.z, R1.w;
  10000. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10001. MOV.S R13.z, R1;
  10002. ADD.F32 R1.z, -R5.w, {1, 0, 0, 0}.x;
  10003. TRUNC.U R6.z, R6;
  10004. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10005. MOV.S R26.x, R1.z;
  10006. TRUNC.U R1.z, R5.w;
  10007. AND.U.CC HC.x, R1.z, R6.z;
  10008. IF NE.x;
  10009. MOV.F R1.z, R0.y;
  10010. ELSE;
  10011. MOV.F R1.z, {0, 0, 0, 0}.x;
  10012. ENDIF;
  10013. MOV.F R6.z, R0.x;
  10014. MOV.F R11.x, R5;
  10015. SNE.F32 R11.z, R6, {0, 0, 0, 0}.x;
  10016. MOV.F R0.y, R14.z;
  10017. MAD.F32 R0.y, R0, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10018. MUL.F32 R5.w, -R11.x, R6.z;
  10019. MOV.F R10.z, c[9].x;
  10020. MOV.F R6.z, c[8].x;
  10021. ADD.F32 R6.z, -R6, R10;
  10022. MOV.S R18.w, R6.z;
  10023. TRUNC.U R11.z, R11;
  10024. SNE.F32 R6.z, -R11.x, {0, 0, 0, 0}.x;
  10025. MOV.S R10.z, R1;
  10026. TRUNC.U R1.z, R6;
  10027. AND.U.CC HC.x, R1.z, R11.z;
  10028. MOV.S R0.y, R0;
  10029. IF NE.x;
  10030. MOV.F R1.z, R5.w;
  10031. ELSE;
  10032. MOV.F R1.z, {0, 0, 0, 0}.x;
  10033. ENDIF;
  10034. MOV.F R5.w, R27;
  10035. SNE.F32 R11.x, R5.w, {0, 0, 0, 0};
  10036. MOV.F R6.z, R5;
  10037. MUL.F32 R5.w, -R6.z, R5;
  10038. TRUNC.U R11.x, R11;
  10039. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  10040. MOV.S R15.x, R1.z;
  10041. TRUNC.U R1.z, R6;
  10042. AND.U.CC HC.x, R1.z, R11;
  10043. IF NE.x;
  10044. MOV.F R1.z, R5.w;
  10045. ELSE;
  10046. MOV.F R1.z, {0, 0, 0, 0}.x;
  10047. ENDIF;
  10048. MOV.F R5.w, R10.y;
  10049. SNE.F32 R11.x, R5.w, {0, 0, 0, 0};
  10050. MOV.F R6.z, R1.y;
  10051. MUL.F32 R5.w, -R6.z, R5;
  10052. TRUNC.U R11.x, R11;
  10053. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  10054. MOV.S R12.y, R1.z;
  10055. TRUNC.U R1.z, R6;
  10056. AND.U.CC HC.x, R1.z, R11;
  10057. IF NE.x;
  10058. MOV.F R1.z, R5.w;
  10059. ELSE;
  10060. MOV.F R1.z, {0, 0, 0, 0}.x;
  10061. ENDIF;
  10062. MOV.F R5.w, R0;
  10063. MOV.F R6.z, R16.y;
  10064. MOV.F R0.w, R18;
  10065. MUL.F32 R0.w, R0, R5;
  10066. MOV.F R5.w, R6;
  10067. MOV.S R14.z, R0.w;
  10068. MUL.F32 R0.w, R5, R6.z;
  10069. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10070. TRUNC.U R6.w, R5;
  10071. SNE.F32 R11.x, R6.z, {0, 0, 0, 0};
  10072. MOV.F R6.z, c[11].y;
  10073. MOV.F R5.w, c[9].y;
  10074. ADD.F32 R5.w, -R5, R6.z;
  10075. TRUNC.U R6.z, R11.x;
  10076. AND.U.CC HC.x, R6.w, R6.z;
  10077. MOV.S R18.z, R15.y;
  10078. MOV.S R13.w, R5;
  10079. MOV.S R17.z, R1;
  10080. IF NE.x;
  10081. ELSE;
  10082. MOV.F R0.w, {0, 0, 0, 0}.x;
  10083. ENDIF;
  10084. MOV.F R5.w, R13.y;
  10085. MOV.F R1.z, c[7].y;
  10086. ADD.F32 R1.z, R1, R5.w;
  10087. MOV.F R5.w, R5.z;
  10088. MOV.F R5.z, R0.x;
  10089. MOV.S R15.y, R1.z;
  10090. MUL.F32 R1.z, -R5, -R5.w;
  10091. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  10092. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  10093. TRUNC.U R5.z, R5;
  10094. TRUNC.U R5.w, R5;
  10095. AND.U.CC HC.x, R5.z, R5.w;
  10096. MOV.S R12.x, R0.w;
  10097. IF NE.x;
  10098. MOV.F R0.w, R1.z;
  10099. ELSE;
  10100. MOV.F R0.w, {0, 0, 0, 0}.x;
  10101. ENDIF;
  10102. MOV.F R1.z, R17;
  10103. ADD.F32 R0.w, R0, R1.z;
  10104. MOV.S R11.z, R0.w;
  10105. MOV.F R0.w, R0.z;
  10106. MOV.F R1.z, R13;
  10107. MUL.F32 R0.z, R0.w, R1;
  10108. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10109. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10110. TRUNC.U R1.z, R1;
  10111. TRUNC.U R0.w, R0;
  10112. AND.U.CC HC.x, R0.w, R1.z;
  10113. IF NE.x;
  10114. ELSE;
  10115. MOV.F R0.z, {0, 0, 0, 0}.x;
  10116. ENDIF;
  10117. MOV.F R5.z, R18;
  10118. MOV.F R0.w, R27.z;
  10119. MUL.F32 R1.z, R0.w, R5;
  10120. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  10121. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10122. TRUNC.U R5.z, R0.w;
  10123. TRUNC.U R5.w, R5;
  10124. AND.U.CC HC.x, R5.z, R5.w;
  10125. MOV.S R0.w, R0.z;
  10126. IF NE.x;
  10127. MOV.F R0.z, R1;
  10128. ELSE;
  10129. MOV.F R0.z, {0, 0, 0, 0}.x;
  10130. ENDIF;
  10131. MOV.F R5.z, R14.x;
  10132. MOV.F R1.z, R13.w;
  10133. MUL.F32 R1.z, R1, R5;
  10134. MOV.S R18.z, R16.x;
  10135. MOV.F R5.w, R14;
  10136. MOV.F R5.z, R6.y;
  10137. MOV.S R16.x, R1.z;
  10138. MUL.F32 R1.z, R5, R5.w;
  10139. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10140. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10141. TRUNC.U R5.z, R5;
  10142. TRUNC.U R5.w, R5;
  10143. AND.U.CC HC.x, R5.z, R5.w;
  10144. MOV.S R13.z, R0;
  10145. IF NE.x;
  10146. MOV.F R0.z, R1;
  10147. ELSE;
  10148. MOV.F R0.z, {0, 0, 0, 0}.x;
  10149. ENDIF;
  10150. MOV.F R5.w, R12;
  10151. SGE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10152. TRUNC.U.CC HC.x, R5.w;
  10153. MOV.F R5.z, R11.y;
  10154. MOV.F R1.z, R16.w;
  10155. MUL.F32 R1.z, R1, R5;
  10156. MOV.F R5.z, R18;
  10157. MOV.S R16.w, R1.z;
  10158. MOV.F R1.z, R10.w;
  10159. MAD.F32 R1.z, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  10160. MOV.S R18.z, R14.y;
  10161. MOV.S R14.y, R1.z;
  10162. MOV.F R1.z, c[8];
  10163. ADD.F32 R1.z, R1, R5;
  10164. MOV.S R16.z, R1;
  10165. MOV.F R1.z, c[9].x;
  10166. MOV.F R5.z, c[11].x;
  10167. ADD.F32 R5.z, -R1, R5;
  10168. MOV.F R1.z, R1.x;
  10169. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10170. MOV.S R18.x, R5.z;
  10171. MOV.S R16.y, R0.z;
  10172. MOV.S R13.y, R1.z;
  10173. IF NE.x;
  10174. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  10175. ELSE;
  10176. MOV.S R1.z, {0, 0, 0, 0}.x;
  10177. ENDIF;
  10178. MOV.F R5.z, R10;
  10179. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  10180. MOV.F R0.z, R18;
  10181. TRUNC.U R6.z, R5.w;
  10182. SNE.F32 R5.w, R0.z, {0, 0, 0, 0}.x;
  10183. MUL.F32 R5.z, R0, R5;
  10184. TRUNC.U R5.w, R5;
  10185. AND.U.CC HC.x, R5.w, R6.z;
  10186. MOV.S R0.z, R1;
  10187. IF NE.x;
  10188. ELSE;
  10189. MOV.F R5.z, {0, 0, 0, 0}.x;
  10190. ENDIF;
  10191. FRC.F32 R5.y, R5;
  10192. MOV.S R15.z, R5.y;
  10193. MOV.F R5.y, R10;
  10194. MOV.F R6.w, R5.x;
  10195. FRC.F32 R0.y, R0;
  10196. SNE.F32 R5.w, -R5.y, {0, 0, 0, 0}.x;
  10197. MUL.F32 R5.x, -R5.y, -R6.w;
  10198. TRUNC.U R5.y, R5.w;
  10199. MOV.F R6.z, c[12].y;
  10200. MOV.F R5.w, c[11].y;
  10201. ADD.F32 R5.w, -R5, R6.z;
  10202. SNE.F32 R6.z, -R6.w, {0, 0, 0, 0}.x;
  10203. MOV.S R17.x, R5.w;
  10204. TRUNC.U R5.w, R6.z;
  10205. AND.U.CC HC.x, R5.y, R5.w;
  10206. MOV.S R0.y, R0;
  10207. MOV.S R13.w, R5.z;
  10208. IF NE.x;
  10209. ELSE;
  10210. MOV.F R5.x, {0, 0, 0, 0};
  10211. ENDIF;
  10212. MOV.F R5.y, R12;
  10213. ADD.F32 R5.x, R5, R5.y;
  10214. MOV.S R5.z, R5.x;
  10215. MOV.F R5.y, R1;
  10216. MOV.F R5.x, R27.w;
  10217. MUL.F32 R1.y, -R5.x, -R5;
  10218. SNE.F32 R5.y, -R5, {0, 0, 0, 0}.x;
  10219. SNE.F32 R5.x, -R5, {0, 0, 0, 0};
  10220. TRUNC.U R5.y, R5;
  10221. TRUNC.U R5.x, R5;
  10222. AND.U.CC HC.x, R5, R5.y;
  10223. IF NE.x;
  10224. ELSE;
  10225. MOV.F R1.y, {0, 0, 0, 0}.x;
  10226. ENDIF;
  10227. MOV.F R5.x, R15;
  10228. ADD.F32 R1.y, R1, R5.x;
  10229. MOV.F R5.w, R14.x;
  10230. MOV.F R5.y, R18.x;
  10231. MUL.F32 R5.y, R5, R5.w;
  10232. MOV.F R5.x, R13.y;
  10233. MOV.S R5.w, R1.y;
  10234. MUL.F32 R1.y, R1.w, R5.x;
  10235. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10236. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10237. TRUNC.U R5.x, R5;
  10238. TRUNC.U R1.w, R1;
  10239. AND.U.CC HC.x, R1.w, R5;
  10240. MOV.S R10.w, R5.y;
  10241. IF NE.x;
  10242. ELSE;
  10243. MOV.F R1.y, {0, 0, 0, 0}.x;
  10244. ENDIF;
  10245. MOV.F R5.x, R11.y;
  10246. MOV.F R1.w, R17.x;
  10247. MUL.F32 R5.y, R1.w, R5.x;
  10248. MOV.F R5.x, R12;
  10249. MOV.F R1.w, c[7].x;
  10250. ADD.F32 R1.w, R1, R5.x;
  10251. MOV.S R6.z, R5.y;
  10252. MOV.S R5.y, R1.w;
  10253. MOV.F R1.w, R26.x;
  10254. SNE.F32 R6.w, R1, {0, 0, 0, 0}.x;
  10255. MOV.F R5.x, c[7].z;
  10256. TRUNC.U R11.x, R6.w;
  10257. SNE.F32 R6.w, R5.x, {0, 0, 0, 0}.x;
  10258. MUL.F32 R1.w, R5.x, R1;
  10259. MOV.S R5.x, R1.y;
  10260. TRUNC.U R1.y, R6.w;
  10261. AND.U.CC HC.x, R1.y, R11;
  10262. IF NE.x;
  10263. MOV.F R1.y, R1.w;
  10264. ELSE;
  10265. MOV.F R1.y, {0, 0, 0, 0}.x;
  10266. ENDIF;
  10267. MOV.S R1.y, R1;
  10268. MOV.F R1.w, R1.y;
  10269. MOV.F R1.y, R13.w;
  10270. ADD.F32 R1.w, R1.y, R1;
  10271. MOV.S R11.x, R1.w;
  10272. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10273. MOV.F R12.x, R16;
  10274. MOV.F R11.w, R6.y;
  10275. MOV.F R6.w, R13.z;
  10276. MOV.F R1.w, c[8].y;
  10277. ADD.F32 R1.w, R1, R6;
  10278. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  10279. MOV.S R12.y, R1.w;
  10280. TRUNC.U R1.w, R6;
  10281. SNE.F32 R6.w, R12.x, {0, 0, 0, 0}.x;
  10282. TRUNC.U R6.w, R6;
  10283. AND.U.CC HC.x, R1.w, R6.w;
  10284. MUL.F32 R1.y, R11.w, R12.x;
  10285. MOV.S R1.z, R1;
  10286. IF NE.x;
  10287. ELSE;
  10288. MOV.F R1.y, {0, 0, 0, 0}.x;
  10289. ENDIF;
  10290. MOV.F R11.w, R14.z;
  10291. MOV.F R6.w, R27.z;
  10292. MUL.F32 R1.w, R6, R11;
  10293. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10294. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  10295. TRUNC.U R11.w, R11;
  10296. TRUNC.U R6.w, R6;
  10297. AND.U.CC HC.x, R6.w, R11.w;
  10298. MOV.S R12.z, R1.y;
  10299. IF NE.x;
  10300. MOV.F R1.y, R1.w;
  10301. ELSE;
  10302. MOV.F R1.y, {0, 0, 0, 0}.x;
  10303. ENDIF;
  10304. MOV.F R12.x, R16.z;
  10305. MOV.F R12.w, R0;
  10306. MUL.F32 R6.w, R12.x, R12;
  10307. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10308. MOV.F R11.w, R16.y;
  10309. MOV.F R1.w, c[9].z;
  10310. ADD.F32 R1.w, R1, R11;
  10311. MOV.S R11.w, R1;
  10312. SNE.F32 R1.w, R12.x, {0, 0, 0, 0}.x;
  10313. TRUNC.U R12.x, R1.w;
  10314. TRUNC.U R12.w, R12;
  10315. AND.U.CC HC.x, R12, R12.w;
  10316. MOV.S R1.w, R1.y;
  10317. IF NE.x;
  10318. MOV.F R1.y, R6.w;
  10319. ELSE;
  10320. MOV.F R1.y, {0, 0, 0, 0}.x;
  10321. ENDIF;
  10322. MOV.F R12.w, R10.z;
  10323. MOV.F R12.x, R15.y;
  10324. MUL.F32 R6.w, R12.x, R12;
  10325. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10326. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10327. TRUNC.U R13.x, R12;
  10328. TRUNC.U R13.y, R12.w;
  10329. AND.U.CC HC.x, R13, R13.y;
  10330. MOV.F R12.w, c[12].x;
  10331. MOV.F R12.x, c[11];
  10332. ADD.F32 R12.x, -R12, R12.w;
  10333. MOV.S R18.y, R12.x;
  10334. MOV.S R27.z, R1.y;
  10335. IF NE.x;
  10336. MOV.F R1.y, R6.w;
  10337. ELSE;
  10338. MOV.F R1.y, {0, 0, 0, 0}.x;
  10339. ENDIF;
  10340. MOV.F R12.w, R16;
  10341. MOV.F R12.x, R6;
  10342. MUL.F32 R6.w, R12.x, R12;
  10343. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10344. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10345. TRUNC.U R12.x, R12;
  10346. TRUNC.U R12.w, R12;
  10347. AND.U.CC HC.x, R12, R12.w;
  10348. MOV.S R26.z, R1.y;
  10349. IF NE.x;
  10350. ELSE;
  10351. MOV.F R6.w, {0, 0, 0, 0}.x;
  10352. ENDIF;
  10353. MOV.F R1.y, R14;
  10354. FRC.F32 R1.y, R1;
  10355. MOV.S R12.x, R1.y;
  10356. MOV.S R18.z, R0.y;
  10357. MOV.F R0.y, R26.x;
  10358. SNE.F32 R12.w, R0.y, {0, 0, 0, 0}.x;
  10359. TRUNC.U R13.x, R12.w;
  10360. MOV.S R1.y, R1.z;
  10361. MOV.F R1.z, c[7].y;
  10362. MUL.F32 R0.y, R1.z, R0;
  10363. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10364. TRUNC.U R1.z, R1;
  10365. AND.U.CC HC.x, R1.z, R13;
  10366. MOV.S R12.w, R6;
  10367. IF NE.x;
  10368. MOV.F R6.w, R0.y;
  10369. ELSE;
  10370. MOV.F R6.w, {0, 0, 0, 0}.x;
  10371. ENDIF;
  10372. MOV.F R13.x, R1;
  10373. MOV.F R1.z, R11.y;
  10374. MOV.F R13.y, R1;
  10375. MUL.F32 R1.y, R13.x, R13;
  10376. MOV.F R0.y, R18;
  10377. MUL.F32 R0.y, R0, R1.z;
  10378. MOV.F R11.y, R15.z;
  10379. MOV.S R1.z, R0.y;
  10380. MAD.F32 R0.y, R11, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10381. MOV.F R11.y, R18.z;
  10382. MAD.F32 R11.y, R11, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10383. MOV.S R1.x, R6.w;
  10384. MOV.S R6.w, R11.y;
  10385. SNE.F32 R11.y, R13.x, {0, 0, 0, 0}.x;
  10386. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  10387. TRUNC.U R13.x, R13.y;
  10388. TRUNC.U R11.y, R11;
  10389. AND.U.CC HC.x, R11.y, R13;
  10390. MOV.S R0.y, R0;
  10391. IF NE.x;
  10392. ELSE;
  10393. MOV.F R1.y, {0, 0, 0, 0}.x;
  10394. ENDIF;
  10395. MOV.S R11.y, R1;
  10396. ENDIF;
  10397. SEQ.U R1.y, R23.w, {1, 0, 0, 0}.x;
  10398. MOV.U.CC RC.x, -R1.y;
  10399. IF NE.x;
  10400. MOV.F R10.x, R6.y;
  10401. MOV.F R13.z, R11;
  10402. MOV.F R13.xy, R5.zwzw;
  10403. MOV.F R14.xyz, R13;
  10404. MOV.F R13.w, {0, 0, 0, 0}.x;
  10405. MOV.F R14.w, {-0, 0, 0, 0}.x;
  10406. DP4.F32 R1.y, R14, R13;
  10407. MOV.S R17.x, R1.y;
  10408. MOV.F R1.y, c[8].x;
  10409. ADD.F32 R1.w, R1.y, R1;
  10410. MOV.S R14.x, R1.w;
  10411. MOV.F R1.w, R1.x;
  10412. MOV.F R1.x, R26.z;
  10413. ADD.F32 R1.w, R1.x, R1;
  10414. MOV.S R14.y, R1.w;
  10415. SNE.F32 R1.w, R10, {0, 0, 0, 0}.x;
  10416. MOV.F R6.y, R27.z;
  10417. MOV.F R1.x, R11;
  10418. ADD.F32 R1.x, R1, R6.y;
  10419. MOV.S R16.y, R1.x;
  10420. SNE.F32 R1.x, R10, {0, 0, 0, 0};
  10421. TRUNC.U R1.w, R1;
  10422. TRUNC.U R1.x, R1;
  10423. AND.U.CC HC.x, R1, R1.w;
  10424. MUL.F32 R1.y, R10.x, R10.w;
  10425. IF NE.x;
  10426. MOV.F R1.x, R1.y;
  10427. ELSE;
  10428. MOV.F R1.x, {0, 0, 0, 0};
  10429. ENDIF;
  10430. MOV.F R6.y, R6.x;
  10431. MOV.F R1.y, c[9];
  10432. MOV.F R1.w, R12.z;
  10433. ADD.F32 R1.w, R1.y, R1;
  10434. MOV.S R16.w, R1;
  10435. SNE.F32 R1.w, R6.y, {0, 0, 0, 0}.x;
  10436. MUL.F32 R1.y, R6, R6.z;
  10437. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  10438. TRUNC.U R1.w, R1;
  10439. TRUNC.U R6.y, R6;
  10440. AND.U.CC HC.x, R1.w, R6.y;
  10441. MOV.S R13.z, R1.x;
  10442. IF NE.x;
  10443. MOV.F R1.x, R1.y;
  10444. ELSE;
  10445. MOV.F R1.x, {0, 0, 0, 0};
  10446. ENDIF;
  10447. MOV.F R10.x, R5;
  10448. MOV.F R6.z, R11.w;
  10449. MOV.F R6.y, R12.w;
  10450. MOV.F R1.w, c[11].z;
  10451. ADD.F32 R1.w, R1, R6.y;
  10452. MOV.S R13.x, R1.w;
  10453. SNE.F32 R1.w, R6.z, {0, 0, 0, 0}.x;
  10454. SNE.F32 R6.y, R10.x, {0, 0, 0, 0}.x;
  10455. TRUNC.U R1.w, R1;
  10456. TRUNC.U R6.y, R6;
  10457. AND.U.CC HC.x, R1.w, R6.y;
  10458. MUL.F32 R1.y, R6.z, R10.x;
  10459. MOV.S R16.x, R1;
  10460. IF NE.x;
  10461. MOV.F R1.x, R1.y;
  10462. ELSE;
  10463. MOV.F R1.x, {0, 0, 0, 0};
  10464. ENDIF;
  10465. MOV.F R6.y, R0.w;
  10466. MOV.F R1.w, R12.y;
  10467. MUL.F32 R1.y, R1.w, R6;
  10468. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10469. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10470. TRUNC.U R1.w, R1;
  10471. TRUNC.U R6.y, R6;
  10472. AND.U.CC HC.x, R1.w, R6.y;
  10473. MOV.S R15.y, R1.x;
  10474. IF NE.x;
  10475. MOV.F R1.x, R1.y;
  10476. ELSE;
  10477. MOV.F R1.x, {0, 0, 0, 0};
  10478. ENDIF;
  10479. MOV.F R6.y, R10.z;
  10480. MOV.F R1.w, R5.y;
  10481. MUL.F32 R1.y, R1.w, R6;
  10482. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10483. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10484. TRUNC.U R1.w, R1;
  10485. TRUNC.U R6.y, R6;
  10486. AND.U.CC HC.x, R1.w, R6.y;
  10487. MOV.S R16.z, R1.x;
  10488. IF NE.x;
  10489. MOV.F R1.x, R1.y;
  10490. ELSE;
  10491. MOV.F R1.x, {0, 0, 0, 0};
  10492. ENDIF;
  10493. MOV.F R1.y, R26.x;
  10494. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  10495. MOV.F R1.w, c[7].x;
  10496. MUL.F32 R1.y, R1.w, R1;
  10497. TRUNC.U R6.y, R6;
  10498. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10499. MOV.S R18.w, R1.x;
  10500. TRUNC.U R1.x, R1.w;
  10501. AND.U.CC HC.x, R1, R6.y;
  10502. IF NE.x;
  10503. ELSE;
  10504. MOV.F R1.y, {0, 0, 0, 0}.x;
  10505. ENDIF;
  10506. MUL.F32 R0.y, R0, {0.159154937, 0, 0, 0}.x;
  10507. MOV.S R15.x, R0.y;
  10508. MOV.F R0.y, R18.w;
  10509. ADD.F32 R0.y, R0, R1;
  10510. MOV.S R13.y, R0;
  10511. MOV.F R1.x, R13.z;
  10512. MOV.F R0.y, c[9].x;
  10513. ADD.F32 R0.y, R0, R1.x;
  10514. MOV.F R6.y, R14;
  10515. MOV.F R1.w, R16.z;
  10516. ADD.F32 R1.w, R1, R6.y;
  10517. MOV.S R13.z, R1.w;
  10518. MOV.S R14.y, R0;
  10519. MOV.F R0.y, R17.x;
  10520. RSQ.F32 R0.y, R0.y;
  10521. MOV.F R6.y, R16;
  10522. MOV.F R1.w, R15.y;
  10523. ADD.F32 R1.w, R1, R6.y;
  10524. MOV.F R6.y, R6.x;
  10525. MOV.S R10.w, R16.x;
  10526. MOV.S R16.x, R1.w;
  10527. MOV.F R1.w, R1.z;
  10528. MOV.F R6.x, R6.w;
  10529. MUL.F32 R6.x, R6, {0.159154937, 0, 0, 0};
  10530. MOV.S R15.z, R6.x;
  10531. MOV.F R6.x, R12;
  10532. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  10533. SNE.F32 R1.x, R6.y, {0, 0, 0, 0};
  10534. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  10535. TRUNC.U R1.x, R1;
  10536. TRUNC.U R1.y, R1;
  10537. AND.U.CC HC.x, R1, R1.y;
  10538. MUL.F32 R1.z, R6.y, R1.w;
  10539. MOV.S R13.w, R6.x;
  10540. MOV.S R15.w, R0.y;
  10541. IF NE.x;
  10542. MOV.F R0.y, R1.z;
  10543. ELSE;
  10544. MOV.F R0.y, {0, 0, 0, 0}.x;
  10545. ENDIF;
  10546. MOV.F R1.z, R5.x;
  10547. MOV.F R1.y, R16.w;
  10548. MUL.F32 R1.x, R1.y, R1.z;
  10549. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10550. TRUNC.U R1.w, R1.y;
  10551. SNE.F32 R6.x, R1.z, {0, 0, 0, 0};
  10552. MOV.F R1.z, R10.w;
  10553. MOV.F R1.y, c[11];
  10554. ADD.F32 R1.y, R1, R1.z;
  10555. TRUNC.U R1.z, R6.x;
  10556. AND.U.CC HC.x, R1.w, R1.z;
  10557. MOV.S R16.y, R1;
  10558. MOV.S R14.w, R0.y;
  10559. IF NE.x;
  10560. MOV.F R0.y, R1.x;
  10561. ELSE;
  10562. MOV.F R0.y, {0, 0, 0, 0}.x;
  10563. ENDIF;
  10564. MOV.F R1.y, R0.w;
  10565. MOV.F R1.x, R14;
  10566. MUL.F32 R0.w, R1.x, R1.y;
  10567. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10568. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10569. TRUNC.U R1.x, R1;
  10570. TRUNC.U R1.y, R1;
  10571. AND.U.CC HC.x, R1, R1.y;
  10572. MOV.S R17.x, R0.y;
  10573. IF NE.x;
  10574. MOV.F R0.y, R0.w;
  10575. ELSE;
  10576. MOV.F R0.y, {0, 0, 0, 0}.x;
  10577. ENDIF;
  10578. MOV.F R1.y, R11;
  10579. MOV.F R1.x, R13;
  10580. MUL.F32 R0.w, R1.x, R1.y;
  10581. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10582. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10583. TRUNC.U R1.x, R1;
  10584. TRUNC.U R1.y, R1;
  10585. AND.U.CC HC.x, R1, R1.y;
  10586. MOV.S R17.y, R0;
  10587. IF NE.x;
  10588. MOV.F R0.y, R0.w;
  10589. ELSE;
  10590. MOV.F R0.y, {0, 0, 0, 0}.x;
  10591. ENDIF;
  10592. MOV.F R1.x, R13.w;
  10593. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  10594. MOV.F R1.y, R15.z;
  10595. MOV.F R1.w, R15;
  10596. MOV.F R1.z, R5.w;
  10597. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10598. MOV.S R16.w, R1.x;
  10599. COS.F32 R1.x, R1.y;
  10600. MOV.S R14.x, R1;
  10601. SNE.F32 R1.x, R1.z, {0, 0, 0, 0};
  10602. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  10603. TRUNC.U R1.x, R1;
  10604. TRUNC.U R1.y, R1;
  10605. AND.U.CC HC.x, R1, R1.y;
  10606. MUL.F32 R0.w, R1.z, R1;
  10607. MOV.S R18.z, R13.y;
  10608. MOV.S R16.z, R0.y;
  10609. IF NE.x;
  10610. MOV.F R0.y, R0.w;
  10611. ELSE;
  10612. MOV.F R0.y, {0, 0, 0, 0}.x;
  10613. ENDIF;
  10614. MOV.F R1.x, R13.z;
  10615. MOV.F R0.w, R17.x;
  10616. ADD.F32 R0.w, R0, R1.x;
  10617. MOV.F R1.y, R15.w;
  10618. MOV.F R1.x, R11.z;
  10619. MOV.S R13.y, R0.w;
  10620. MUL.F32 R0.w, R1.x, R1.y;
  10621. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10622. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10623. TRUNC.U R1.x, R1;
  10624. TRUNC.U R1.y, R1;
  10625. AND.U.CC HC.x, R1, R1.y;
  10626. MOV.S R12.x, R0.y;
  10627. IF NE.x;
  10628. MOV.F R0.y, R0.w;
  10629. ELSE;
  10630. MOV.F R0.y, {0, 0, 0, 0}.x;
  10631. ENDIF;
  10632. MOV.F R0.w, R15.x;
  10633. MUL.F32 R0.w, R0, {6.28318548, 0, 0, 0}.x;
  10634. COS.F32 R1.y, R0.w;
  10635. MOV.S R13.z, R1.y;
  10636. MOV.F R1.x, R18.z;
  10637. MOV.F R0.w, R17.y;
  10638. ADD.F32 R0.w, R0, R1.x;
  10639. MOV.S R13.w, R0;
  10640. MOV.F R0.w, R0.z;
  10641. SNE.F32 R1.z, R0.w, {0, 0, 0, 0}.x;
  10642. MOV.F R1.x, c[12].z;
  10643. TRUNC.U R1.w, R1.z;
  10644. MUL.F32 R0.w, R1.x, R0;
  10645. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10646. MOV.S R1.z, R0.y;
  10647. TRUNC.U R0.y, R1.x;
  10648. AND.U.CC HC.x, R0.y, R1.w;
  10649. MOV.S R10.w, R16.z;
  10650. MOV.S R1.y, R16.x;
  10651. IF NE.x;
  10652. MOV.F R0.y, R0.w;
  10653. ELSE;
  10654. MOV.F R0.y, {0, 0, 0, 0}.x;
  10655. ENDIF;
  10656. MOV.F R1.w, R11.y;
  10657. MOV.F R1.x, R16.y;
  10658. MUL.F32 R0.w, R1.x, R1;
  10659. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10660. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10661. TRUNC.U R1.x, R1;
  10662. TRUNC.U R1.w, R1;
  10663. AND.U.CC HC.x, R1, R1.w;
  10664. MOV.S R16.x, R0.y;
  10665. IF NE.x;
  10666. MOV.F R0.y, R0.w;
  10667. ELSE;
  10668. MOV.F R0.y, {0, 0, 0, 0}.x;
  10669. ENDIF;
  10670. MOV.F R1.w, R14.y;
  10671. MOV.F R1.x, R14.w;
  10672. MOV.F R0.w, c[11].x;
  10673. ADD.F32 R1.x, R0.w, R1;
  10674. MUL.F32 R0.w, R1, R5.x;
  10675. MOV.S R16.z, R1.x;
  10676. SNE.F32 R1.x, R1.w, {0, 0, 0, 0};
  10677. TRUNC.U R1.w, R1.x;
  10678. MOV.F R1.x, R10.w;
  10679. ADD.F32 R1.x, R1, R1.y;
  10680. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10681. TRUNC.U R1.y, R5.x;
  10682. AND.U.CC HC.x, R1.w, R1.y;
  10683. MOV.S R14.w, R1.x;
  10684. MOV.S R16.y, R0;
  10685. IF NE.x;
  10686. MOV.F R0.y, R0.w;
  10687. ELSE;
  10688. MOV.F R0.y, {0, 0, 0, 0}.x;
  10689. ENDIF;
  10690. MOV.F R1.y, R12.x;
  10691. MOV.F R1.x, R27.w;
  10692. MUL.F32 R0.w, R1.x, R1.y;
  10693. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10694. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10695. TRUNC.U R1.y, R1;
  10696. TRUNC.U R1.x, R1;
  10697. AND.U.CC HC.x, R1, R1.y;
  10698. MOV.S R11.w, R0.y;
  10699. IF NE.x;
  10700. MOV.F R0.y, R0.w;
  10701. ELSE;
  10702. MOV.F R0.y, {0, 0, 0, 0}.x;
  10703. ENDIF;
  10704. MOV.F R1.y, R15.w;
  10705. MOV.F R1.x, R5.z;
  10706. MUL.F32 R0.w, R1.x, R1.y;
  10707. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10708. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10709. TRUNC.U R1.x, R1;
  10710. TRUNC.U R1.y, R1;
  10711. AND.U.CC HC.x, R1, R1.y;
  10712. MOV.S R13.x, R0.y;
  10713. IF NE.x;
  10714. MOV.F R0.y, R0.w;
  10715. ELSE;
  10716. MOV.F R0.y, {0, 0, 0, 0}.x;
  10717. ENDIF;
  10718. MOV.F R5.x, R14;
  10719. MOV.F R1.w, R13.z;
  10720. MOV.F R1.y, R13.w;
  10721. MOV.F R1.x, R11.w;
  10722. ADD.F32 R1.x, R1, R1.y;
  10723. MOV.S R14.z, R1.x;
  10724. SNE.F32 R1.x, R1.w, {0, 0, 0, 0};
  10725. SNE.F32 R1.y, R5.x, {0, 0, 0, 0}.x;
  10726. TRUNC.U R1.x, R1;
  10727. TRUNC.U R1.y, R1;
  10728. AND.U.CC HC.x, R1, R1.y;
  10729. MUL.F32 R0.w, R1, R5.x;
  10730. MOV.S R12.y, R0;
  10731. IF NE.x;
  10732. ELSE;
  10733. MOV.F R0.w, {0, 0, 0, 0}.x;
  10734. ENDIF;
  10735. MOV.F R0.y, R16;
  10736. MOV.F R1.x, R13.y;
  10737. ADD.F32 R1.x, R0.y, R1;
  10738. MOV.F R0.y, R16.w;
  10739. MOV.S R18.z, R16.x;
  10740. MUL.F32 R0.y, R0, {6.28318548, 0, 0, 0}.x;
  10741. SIN.F32 R0.y, R0.y;
  10742. MOV.F R1.w, R1.z;
  10743. MOV.F R1.y, R0.x;
  10744. MOV.S R16.x, R1;
  10745. MUL.F32 R1.x, R1.y, R1.w;
  10746. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10747. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10748. TRUNC.U R1.y, R1;
  10749. TRUNC.U R1.w, R1;
  10750. AND.U.CC HC.x, R1.y, R1.w;
  10751. MOV.S R0.y, R0;
  10752. MOV.S R10.w, R16;
  10753. MOV.S R0.w, R0;
  10754. IF NE.x;
  10755. ELSE;
  10756. MOV.F R1.x, {0, 0, 0, 0};
  10757. ENDIF;
  10758. MOV.F R1.w, R14;
  10759. MOV.F R1.y, R18.z;
  10760. ADD.F32 R1.y, R1, R1.w;
  10761. MOV.F R1.w, R0.z;
  10762. SNE.F32 R5.x, R1.w, {0, 0, 0, 0};
  10763. TRUNC.U R6.y, R5.x;
  10764. MOV.F R5.w, c[12].y;
  10765. MOV.S R5.z, R1.y;
  10766. MUL.F32 R1.y, R5.w, R1.w;
  10767. MOV.F R1.w, R25.x;
  10768. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  10769. MOV.F R5.x, R10.w;
  10770. MOV.S R16.w, R1;
  10771. MUL.F32 R1.w, R5.x, {6.28318548, 0, 0, 0}.x;
  10772. MOV.S R13.y, R1.x;
  10773. COS.F32 R1.x, R1.w;
  10774. SNE.F32 R1.w, R5, {0, 0, 0, 0}.x;
  10775. MOV.S R6.x, R1;
  10776. TRUNC.U R1.x, R1.w;
  10777. AND.U.CC HC.x, R1, R6.y;
  10778. IF NE.x;
  10779. MOV.F R1.x, R1.y;
  10780. ELSE;
  10781. MOV.F R1.x, {0, 0, 0, 0};
  10782. ENDIF;
  10783. MOV.F R5.x, R11.y;
  10784. MOV.F R1.w, R16.z;
  10785. MUL.F32 R1.y, R1.w, R5.x;
  10786. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10787. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10788. TRUNC.U R1.w, R1;
  10789. TRUNC.U R5.x, R5;
  10790. AND.U.CC HC.x, R1.w, R5;
  10791. MOV.S R18.x, R1;
  10792. IF NE.x;
  10793. MOV.F R1.x, R1.y;
  10794. ELSE;
  10795. MOV.F R1.x, {0, 0, 0, 0};
  10796. ENDIF;
  10797. MOV.F R5.x, R13.z;
  10798. MOV.F R1.w, R6.x;
  10799. MUL.F32 R1.y, R1.w, R5.x;
  10800. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10801. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10802. TRUNC.U R1.w, R1;
  10803. TRUNC.U R5.x, R5;
  10804. AND.U.CC HC.x, R1.w, R5;
  10805. MOV.S R16.y, R1.x;
  10806. IF NE.x;
  10807. MOV.F R1.x, R1.y;
  10808. ELSE;
  10809. MOV.F R1.x, {0, 0, 0, 0};
  10810. ENDIF;
  10811. MOV.F R5.x, R0.w;
  10812. MOV.F R1.w, R0.y;
  10813. MUL.F32 R1.y, R1.w, R5.x;
  10814. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10815. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10816. TRUNC.U R1.w, R1;
  10817. TRUNC.U R5.x, R5;
  10818. AND.U.CC HC.x, R1.w, R5;
  10819. MOV.S R16.z, R1.x;
  10820. IF NE.x;
  10821. MOV.F R1.x, R1.y;
  10822. ELSE;
  10823. MOV.F R1.x, {0, 0, 0, 0};
  10824. ENDIF;
  10825. MOV.F R1.y, R15.x;
  10826. MUL.F32 R1.w, R1.y, {6.28318548, 0, 0, 0}.x;
  10827. SIN.F32 R1.w, R1.w;
  10828. MOV.F R5.x, R10.y;
  10829. MOV.F R5.w, R12.y;
  10830. MOV.S R13.w, R1;
  10831. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  10832. MUL.F32 R1.y, R5.x, R5.w;
  10833. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  10834. TRUNC.U R1.w, R1;
  10835. TRUNC.U R5.x, R5;
  10836. AND.U.CC HC.x, R1.w, R5;
  10837. MOV.S R18.z, R13.x;
  10838. MOV.S R14.w, R1.x;
  10839. IF NE.x;
  10840. MOV.F R1.x, R1.y;
  10841. ELSE;
  10842. MOV.F R1.x, {0, 0, 0, 0};
  10843. ENDIF;
  10844. MOV.F R1.w, R16.x;
  10845. MOV.F R1.y, R18.x;
  10846. ADD.F32 R1.y, R1, R1.w;
  10847. MOV.F R5.x, R1.z;
  10848. MOV.F R1.w, R10.y;
  10849. MOV.S R14.y, R1;
  10850. MUL.F32 R1.y, -R1.w, R5.x;
  10851. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  10852. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10853. TRUNC.U R1.w, R1;
  10854. TRUNC.U R5.x, R5;
  10855. AND.U.CC HC.x, R1.w, R5;
  10856. MOV.S R13.x, R1;
  10857. IF NE.x;
  10858. MOV.F R1.x, R1.y;
  10859. ELSE;
  10860. MOV.F R1.x, {0, 0, 0, 0};
  10861. ENDIF;
  10862. MOV.F R1.w, R12.y;
  10863. MOV.F R5.x, R27.w;
  10864. SNE.F32 R5.w, R1, {0, 0, 0, 0}.x;
  10865. MUL.F32 R1.y, -R5.x, R1.w;
  10866. MOV.F R1.w, R18.z;
  10867. ADD.F32 R1.x, R1, R1.w;
  10868. TRUNC.U R5.w, R5;
  10869. SNE.F32 R1.w, -R5.x, {0, 0, 0, 0}.x;
  10870. MOV.S R11.z, R1.x;
  10871. TRUNC.U R1.x, R1.w;
  10872. AND.U.CC HC.x, R1, R5.w;
  10873. IF NE.x;
  10874. MOV.F R1.x, R1.y;
  10875. ELSE;
  10876. MOV.F R1.x, {0, 0, 0, 0};
  10877. ENDIF;
  10878. MOV.F R1.w, R13.y;
  10879. ADD.F32 R1.x, R1, R1.w;
  10880. MOV.F R1.y, R15.z;
  10881. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10882. SIN.F32 R5.x, R1.y;
  10883. MOV.F R5.w, R13;
  10884. MOV.S R15.w, R1.x;
  10885. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  10886. SNE.F32 R1.x, R5.w, {0, 0, 0, 0};
  10887. TRUNC.U R1.w, R1;
  10888. TRUNC.U R1.x, R1;
  10889. AND.U.CC HC.x, R1, R1.w;
  10890. MUL.F32 R1.y, R5.x, R5.w;
  10891. MOV.S R15.y, R5.x;
  10892. IF NE.x;
  10893. MOV.F R1.x, R1.y;
  10894. ELSE;
  10895. MOV.F R1.x, {0, 0, 0, 0};
  10896. ENDIF;
  10897. MOV.F R1.w, R14.z;
  10898. MOV.F R1.y, R16;
  10899. ADD.F32 R1.y, R1, R1.w;
  10900. MOV.F R5.x, R15.y;
  10901. MOV.F R1.w, R13.z;
  10902. MOV.S R13.y, R1;
  10903. MUL.F32 R1.y, R1.w, R5.x;
  10904. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10905. TRUNC.U R5.w, R5.x;
  10906. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10907. TRUNC.U R1.w, R1;
  10908. AND.U.CC HC.x, R1.w, R5.w;
  10909. MOV.S R5.x, R
  10910. [15:03:17] Link error in shader. Log:
  10911. [15:03:17] Vertex info
  10912. -----------
  10913. Internal error: assembly compile error for vertex shader at offset 2462:
  10914. -- error message --
  10915. line 51, column 45: error: invalid vertex attribute reference
  10916. line 58, column 25: error: invalid vertex attribute reference
  10917. line 60, column 25: error: invalid vertex attribute reference
  10918. line 62, column 25: error: invalid vertex attribute reference
  10919. line 65, column 25: error: invalid vertex attribute reference
  10920. -- internal assembly text --
  10921. !!NVvp5.0
  10922. OPTION NV_internal;
  10923. OPTION NV_gpu_program_fp64;
  10924. OPTION NV_bindless_texture;
  10925. # cgc version 3.4.0001, build date Sep 5 2019
  10926. # command line args:
  10927. #vendor NVIDIA Corporation
  10928. #version 3.4.0.1 COP Build Date Sep 5 2019
  10929. #profile gp5vp
  10930. #program main
  10931. #semantic textureUnitVS12 : TEXUNIT[2]
  10932. #semantic textureUnitVS13 : TEXUNIT[3]
  10933. #semantic textureUnitVS7 : TEXUNIT[0]
  10934. #semantic textureUnitVS8 : TEXUNIT[1]
  10935. #semantic uf_remappedVS
  10936. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  10937. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  10938. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  10939. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  10940. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  10941. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  10942. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  10943. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  10944. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  10945. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  10946. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  10947. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  10948. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  10949. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  10950. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  10951. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  10952. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  10953. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  10954. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  10955. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  10956. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  10957. #var float4 passParameterSem11 : $vout.ATTR5 : ATTR5 : -1 : 1
  10958. #var float4 passParameterSem14 : $vout.ATTR6 : ATTR6 : -1 : 1
  10959. #var float4 passParameterSem15 : $vout.ATTR7 : ATTR7 : -1 : 1
  10960. #var float4 passParameterSem16 : $vout.ATTR8 : ATTR8 : -1 : 1
  10961. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  10962. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  10963. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  10964. #var ulong textureUnitVS12 : TEXUNIT[2] : c[69] : -1 : 1
  10965. #var ulong textureUnitVS13 : TEXUNIT[3] : c[70] : -1 : 1
  10966. #var ulong textureUnitVS7 : TEXUNIT[0] : c[71] : -1 : 1
  10967. #var ulong textureUnitVS8 : TEXUNIT[1] : c[72] : -1 : 1
  10968. #var int4 uf_remappedVS[0] : : c[0], 69 : -1 : 1
  10969. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  10970. PARAM c[73] = { program.local[0..72] };
  10971. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  10972. OUTPUT result_attrib[] = { result.attrib[0..8] };
  10973. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31;
  10974. LONG TEMP D0;
  10975. TEMP T;
  10976. TEMP RC;
  10977. SHORT TEMP HC;
  10978. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  10979. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10980. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  10981. OR.U R0, R0, R1;
  10982. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  10983. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  10984. OR.U R0, R0, R1;
  10985. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  10986. OR.U R8, R0, R2;
  10987. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  10988. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10989. SHR.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  10990. OR.U R0, R0, R1;
  10991. SHL.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  10992. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  10993. OR.U R0, R0, R1;
  10994. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  10995. OR.U R20, R0, R2;
  10996. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  10997. AND.U R2, R1, {65280, 0, 0, 0}.x;
  10998. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  10999. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  11000. OR.U R1, R1, R2;
  11001. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  11002. OR.U R0, R1, R0;
  11003. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  11004. OR.U R22, R0, R2;
  11005. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  11006. AND.U R2, R1, {65280, 0, 0, 0}.x;
  11007. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  11008. OR.U R1, R1, R2;
  11009. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  11010. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  11011. OR.U R1, R1, R2;
  11012. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  11013. OR.U R9, R1, R0;
  11014. MOV.U R0.x, R22.w;
  11015. MOV.F R0.y, c[0].x;
  11016. ADD.F32 R3.x, -R0, R0.y;
  11017. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  11018. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11019. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  11020. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  11021. OR.U R0, R0, R1;
  11022. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  11023. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11024. OR.U R0, R0, R1;
  11025. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  11026. OR.U R11, R0, R2;
  11027. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  11028. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11029. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  11030. OR.U R0, R0, R1;
  11031. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  11032. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11033. OR.U R0, R0, R1;
  11034. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  11035. OR.U R12, R0, R2;
  11036. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  11037. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11038. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  11039. OR.U R0, R0, R1;
  11040. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  11041. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11042. OR.U R0, R0, R1;
  11043. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  11044. OR.U R13, R0, R2;
  11045. TRUNC.U R17.x, R3.y;
  11046. SEQ.U R0.x, R17, {1, 0, 0, 0};
  11047. SEQ.U R17.y, -R0.x, {1, 0, 0, 0}.x;
  11048. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11049. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11050. MOV.S R14.w, R3.x;
  11051. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11052. MOV.U.CC RC.x, -R17.y;
  11053. OR.U R0.xyz, R0, R1;
  11054. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11055. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11056. OR.U R0.xyz, R0, R1;
  11057. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11058. OR.U R28.xyz, R0, R2;
  11059. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11060. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11061. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11062. OR.U R0.xyz, R0, R1;
  11063. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11064. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11065. OR.U R0.xyz, R0, R1;
  11066. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11067. OR.U R27.xyz, R0, R2;
  11068. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11069. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11070. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11071. OR.U R0.xyz, R0, R1;
  11072. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11073. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11074. OR.U R0.xyz, R0, R1;
  11075. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11076. OR.U R23.xyw, R0.xzzy, R2.xzzy;
  11077. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11078. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11079. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11080. OR.U R0.xyz, R0, R1;
  11081. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11082. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11083. OR.U R0.xyz, R0, R1;
  11084. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11085. OR.U R10.xyz, R0, R2;
  11086. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11087. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11088. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11089. OR.U R0.xyz, R0, R1;
  11090. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11091. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11092. OR.U R0.xyz, R0, R1;
  11093. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11094. OR.U R14.xyz, R0, R2;
  11095. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11096. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11097. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11098. OR.U R0.xyz, R0, R1;
  11099. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11100. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11101. OR.U R0.xyz, R0, R1;
  11102. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11103. OR.U R15.xyz, R0, R2;
  11104. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  11105. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11106. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  11107. OR.U R0.xyz, R0, R1;
  11108. SHL.U R2.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  11109. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11110. OR.U R0.xyz, R0, R1;
  11111. SHL.U R2.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  11112. OR.U R16.xyz, R0, R2;
  11113. SHR.U R0.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11114. AND.U R0.zw, R0.xyxy, {65280, 0, 0, 0}.x;
  11115. SHR.U R0.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11116. OR.U R0.xy, R0, R0.zwzw;
  11117. SHL.U R7.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11118. AND.U R0.zw, R7.xyxy, {16711680, 0, 0, 0}.x;
  11119. OR.U R0.xy, R0, R0.zwzw;
  11120. SHL.U R7.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11121. OR.U R25.xy, R0, R7;
  11122. MOV.U R0.x, R25;
  11123. MOV.F R0.z, R0.x;
  11124. MOV.U R0.y, R25;
  11125. ADD.F32 R0.x, -R0.y, {1, 0, 0, 0};
  11126. ADD.F32 R0.y, -R0.z, {1, 0, 0, 0}.x;
  11127. MOV.S R25.z, R0.x;
  11128. MOV.S R15.w, R0.y;
  11129. MOV.S R1, {0, 0, 0, 0}.x;
  11130. MOV.S R2, {0, 0, 0, 0}.x;
  11131. MOV.S R6, {0, 0, 0, 0}.x;
  11132. MOV.S R3, {0, 0, 0, 0}.x;
  11133. MOV.S R5, {0, 0, 0, 0}.x;
  11134. MOV.S R4, {0, 0, 0, 0}.x;
  11135. MOV.S R7, {0, 0, 0, 0}.x;
  11136. MOV.S R30.xyz, {0, 0, 0, 0}.x;
  11137. MOV.S R24.xyz, {0, 0, 0, 0}.x;
  11138. MOV.S R0.yz, {0, 0, 0, 0};
  11139. MOV.S R0.x, vertex.id;
  11140. MOV.S R0.w, vertex.instance.x;
  11141. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  11142. MOV.S R16.w, {0, 0, 0, 0}.x;
  11143. IF NE.x;
  11144. MOV.F R6.z, c[1].y;
  11145. MUL.F32 R6.z, R6, {5, 0, 0, 0}.x;
  11146. MOV.S R6.xyw, {0, 0, 0, 0}.x;
  11147. MOV.S R22.xw, {0, 0, 0, 1065353216};
  11148. MOV.S R6.z, R6;
  11149. ENDIF;
  11150. SEQ.U R17.x, R17, {0, 0, 0, 0};
  11151. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  11152. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  11153. MOV.U.CC RC.x, -R17;
  11154. IF NE.x;
  11155. MOV.S R22.w, {0, 0, 0, 0}.x;
  11156. ENDIF;
  11157. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  11158. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  11159. SEQ.U R17.z, -R17.y, {1, 0, 0, 0}.x;
  11160. MOV.U.CC RC.x, -R17.z;
  11161. MOV.U R17.x, -R17;
  11162. MOV.U R22.w, -R17.y;
  11163. IF NE.x;
  11164. MOV.F R17.y, R20.w;
  11165. TRUNC.S R17.y, R17;
  11166. I2F.S R17.y, R17;
  11167. MOV.F R17.z, R14.w;
  11168. SGE.F32 R17.z, R17, R17.y;
  11169. TRUNC.U R17.z, R17;
  11170. SEQ.U R17.w, R22, {1, 0, 0, 0}.x;
  11171. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  11172. AND.U R31.w, -R17.z, -R17;
  11173. MOV.S R30.x, R17.y;
  11174. MOV.S R30.yz, {0, 0, 0, 0}.x;
  11175. ELSE;
  11176. MOV.U R31.w, {0, 0, 0, 0}.x;
  11177. ENDIF;
  11178. SEQ.U R17.y, R31.w, {1, 0, 0, 0}.x;
  11179. MOV.U.CC RC.x, -R17.y;
  11180. IF NE.x;
  11181. MOV.F R6.x, c[1].y;
  11182. MUL.F32 R6.z, R6.x, {5, 0, 0, 0}.x;
  11183. MOV.S R6.xy, {0, 0, 0, 0};
  11184. MOV.S R6.z, R6;
  11185. MOV.S R22.x, {0, 0, 0, 0};
  11186. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  11187. ENDIF;
  11188. SEQ.U R17.x, R17, {1, 0, 0, 0};
  11189. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  11190. MOV.U.CC RC.x, -R17.y;
  11191. MOV.U R22.w, -R17.x;
  11192. IF NE.x;
  11193. SEQ.S R17.x, R16.w, {0, 0, 0, 0};
  11194. MOV.U R31.z, -R17.x;
  11195. SEQ.U R17.y, R22.w, {1, 0, 0, 0}.x;
  11196. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  11197. AND.U R31.w, -R17.x, -R17.y;
  11198. ELSE;
  11199. MOV.U R31.z, {0, 0, 0, 0}.x;
  11200. MOV.U R31.w, {0, 0, 0, 0}.x;
  11201. ENDIF;
  11202. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  11203. MOV.U.CC RC.x, -R17;
  11204. IF NE.x;
  11205. MOV.F R0.x, c[2];
  11206. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0.x;
  11207. TRUNC.U.CC HC.x, R0.z;
  11208. MOV.S R0.x, {0, 0, 0, 0};
  11209. IF NE.x;
  11210. MOV.F R0.z, {1, 0, 0, 0}.x;
  11211. ELSE;
  11212. MOV.F R0.z, {0, 0, 0, 0}.x;
  11213. ENDIF;
  11214. MOV.F R0.w, R9.x;
  11215. MAX.F R0.w, R0, {0, 0, 0, 0}.x;
  11216. MOV.S R17.z, R0.w;
  11217. MOV.F R0.w, c[2].x;
  11218. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  11219. TRUNC.U.CC HC.x, R0.w;
  11220. MOV.S R17.y, R0.z;
  11221. IF NE.x;
  11222. MOV.F R0.z, {1, 0, 0, 0}.x;
  11223. ELSE;
  11224. MOV.F R0.z, {0, 0, 0, 0}.x;
  11225. ENDIF;
  11226. MOV.F R0.w, R9.x;
  11227. SNE.F32 R17.w, R0, {0, 0, 0, 0}.x;
  11228. MOV.F R17.x, c[3].y;
  11229. TRUNC.U R18.x, R17.w;
  11230. MUL.F32 R0.w, R0, R17.x;
  11231. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  11232. TRUNC.U R17.x, R17;
  11233. AND.U.CC HC.x, R18, R17;
  11234. MOV.S R17.w, R0.z;
  11235. IF NE.x;
  11236. MOV.F R0.z, R0.w;
  11237. ELSE;
  11238. MOV.F R0.z, {0, 0, 0, 0}.x;
  11239. ENDIF;
  11240. MOV.F R17.x, R17.y;
  11241. MOV.F R0.w, R17;
  11242. ADD.F32 R0.w, R0, -R17.x;
  11243. MOV.S R17.x, R0.w;
  11244. MOV.F R18.x, R17;
  11245. MOV.S R19.y, R0.w;
  11246. MOV.F R0.w, R14;
  11247. MOV.F R17.y, R30.x;
  11248. DIV.F32 R17.w, R0, R17.y;
  11249. SNE.F32 R17.y, -R18.x, {-1, 0, 0, 0}.x;
  11250. ADD.F32 R18.y, -R18.x, {1, 0, 0, 0}.x;
  11251. MOV.F R17.x, c[2];
  11252. DIV.F32 R17.x, R0.w, R17.x;
  11253. MOV.S R17.x, R17;
  11254. ADD.F32 R0.z, R0, R17.x;
  11255. MOV.S R17.x, R0.z;
  11256. MOV.F R0.z, R17;
  11257. MOV.S R17.z, R17.x;
  11258. MIN.F R17.x, R0.z, {0, 0, 0, 0};
  11259. MOV.F R0.z, R23.x;
  11260. ADD.F32 R0.z, R0, R17.x;
  11261. MOV.F R17.x, R17.z;
  11262. MOV.S R22.x, R0.z;
  11263. FRC.F32 R0.z, R17.x;
  11264. MOV.S R17.x, R0.z;
  11265. SNE.F32 R17.z, R17.w, {0, 0, 0, 0}.x;
  11266. MUL.F32 R0.w, R17, R18.y;
  11267. TRUNC.U R18.y, R17.z;
  11268. TRUNC.U R17.y, R17;
  11269. MOV.S R0.z, R17.w;
  11270. AND.U.CC HC.x, R18.y, R17.y;
  11271. MOV.F R17.w, c[5].x;
  11272. MOV.F R17.z, c[4].x;
  11273. ADD.F32 R17.z, -R17, R17.w;
  11274. MOV.F R18.x, c[5].y;
  11275. MOV.F R17.w, c[4].y;
  11276. ADD.F32 R17.w, -R17, R18.x;
  11277. MOV.S R18.w, R17.z;
  11278. MOV.S R19.w, R17;
  11279. IF NE.x;
  11280. MOV.F R17.y, R0.w;
  11281. ELSE;
  11282. MOV.F R17.y, {0, 0, 0, 0}.x;
  11283. ENDIF;
  11284. MOV.F R17.z, R17.x;
  11285. MOV.F R17.x, R19.y;
  11286. MUL.F32 R0.w, R17.x, R17.z;
  11287. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  11288. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11289. MOV.F R18.x, c[5].z;
  11290. MOV.F R17.w, c[4].z;
  11291. ADD.F32 R17.w, -R17, R18.x;
  11292. MOV.F R18.y, c[5].w;
  11293. MOV.F R18.x, c[4].w;
  11294. ADD.F32 R18.x, -R18, R18.y;
  11295. MOV.S R18.z, R17.w;
  11296. MOV.S R17.w, R18.x;
  11297. MOV.F R18.y, c[6].x;
  11298. MOV.F R18.x, c[5];
  11299. ADD.F32 R19.x, -R18, R18.y;
  11300. MOV.F R18.y, c[6];
  11301. MOV.F R18.x, c[5].y;
  11302. ADD.F32 R18.x, -R18, R18.y;
  11303. MOV.S R19.y, R19.x;
  11304. TRUNC.U R17.x, R17;
  11305. TRUNC.U R17.z, R17;
  11306. AND.U.CC HC.x, R17, R17.z;
  11307. MOV.S R19.x, R18;
  11308. MOV.S R18.y, R17;
  11309. IF NE.x;
  11310. MOV.F R17.x, R0.w;
  11311. ELSE;
  11312. MOV.F R17.x, {0, 0, 0, 0};
  11313. ENDIF;
  11314. MOV.F R0.w, R17;
  11315. MOV.F R17.z, R18;
  11316. DIV.F32 R17.z, R17, R0.w;
  11317. MOV.F R17.y, R18;
  11318. MOV.S R18.y, R17.z;
  11319. MOV.F R17.z, R19.w;
  11320. DIV.F32 R17.w, R17.z, R0.w;
  11321. MOV.S R17.x, R17;
  11322. ADD.F32 R17.x, R17.y, R17;
  11323. MOV.F R17.z, c[4].w;
  11324. ADD.F32 R17.y, R17.x, -R17.z;
  11325. MOV.S R17.z, R17.y;
  11326. MOV.S R18.x, R17.w;
  11327. MOV.F R17.w, R18;
  11328. MOV.S R17.y, R17.z;
  11329. DIV.F32 R0.w, R17, R0.w;
  11330. MOV.F R18.w, R17.y;
  11331. SNE.F32 R17.y, R0.w, {0, 0, 0, 0}.x;
  11332. MOV.F R17.w, c[5];
  11333. MOV.S R21.y, R17.z;
  11334. ADD.F32 R17.z, R17.x, -R17.w;
  11335. MOV.S R18.z, R17.x;
  11336. MOV.S R19.z, R17;
  11337. MOV.F R17.z, c[6];
  11338. MOV.F R17.x, c[5].z;
  11339. ADD.F32 R17.x, -R17, R17.z;
  11340. SNE.F32 R17.w, R18, {0, 0, 0, 0}.x;
  11341. TRUNC.U R17.y, R17;
  11342. TRUNC.U R17.z, R17.w;
  11343. AND.U.CC HC.x, R17.z, R17.y;
  11344. MUL.F32 R0.w, R18, R0;
  11345. MOV.S R19.w, R17.x;
  11346. IF NE.x;
  11347. ELSE;
  11348. MOV.F R0.w, {0, 0, 0, 0}.x;
  11349. ENDIF;
  11350. MOV.F R17.y, R18;
  11351. MOV.F R17.x, R21.y;
  11352. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  11353. MUL.F32 R17.z, R17.x, R17.y;
  11354. SNE.F32 R18.y, R17, {0, 0, 0, 0}.x;
  11355. MOV.F R17.y, c[6].w;
  11356. MOV.F R17.x, c[5].w;
  11357. ADD.F32 R17.x, -R17, R17.y;
  11358. MOV.S R17.y, R17.x;
  11359. TRUNC.U R17.w, R17;
  11360. TRUNC.U R18.y, R18;
  11361. AND.U.CC HC.x, R17.w, R18.y;
  11362. MOV.S R17.x, R0.w;
  11363. IF NE.x;
  11364. MOV.F R0.w, R17.z;
  11365. ELSE;
  11366. MOV.F R0.w, {0, 0, 0, 0}.x;
  11367. ENDIF;
  11368. MOV.F R17.z, R21.y;
  11369. MUL.F32 R17.w, R17.z, R18.x;
  11370. SNE.F32 R18.y, R18.x, {0, 0, 0, 0}.x;
  11371. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11372. TRUNC.U R18.x, R17.z;
  11373. TRUNC.U R18.y, R18;
  11374. AND.U.CC HC.x, R18, R18.y;
  11375. MOV.S R17.z, R0.w;
  11376. IF NE.x;
  11377. MOV.F R0.w, R17;
  11378. ELSE;
  11379. MOV.F R0.w, {0, 0, 0, 0}.x;
  11380. ENDIF;
  11381. MOV.F R17.w, R21.y;
  11382. SGE.F32 R18.x, R17.w, {0, 0, 0, 0};
  11383. TRUNC.U.CC HC.x, R18;
  11384. MOV.S R17.w, R0;
  11385. IF NE.x;
  11386. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  11387. ELSE;
  11388. MOV.S R0.w, {0, 0, 0, 0}.x;
  11389. ENDIF;
  11390. MOV.F R18.x, R17;
  11391. MOV.F R17.x, c[4];
  11392. ADD.F32 R17.x, R17, R18;
  11393. MOV.S R18.y, R17.x;
  11394. MOV.F R17.x, c[4].y;
  11395. ADD.F32 R17.x, R17, R17.w;
  11396. MOV.F R17.w, R19.z;
  11397. MOV.S R18.x, R17;
  11398. SGE.F32 R17.x, R17.w, {0, 0, 0, 0};
  11399. TRUNC.U.CC HC.x, R17;
  11400. IF NE.x;
  11401. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  11402. ELSE;
  11403. MOV.S R20.w, {0, 0, 0, 0}.x;
  11404. ENDIF;
  11405. MOV.F R17.w, R17.y;
  11406. MOV.F R17.x, R19.w;
  11407. DIV.F32 R17.x, R17, R17.w;
  11408. MOV.F R17.y, R17.z;
  11409. MOV.F R18.w, R19.y;
  11410. MOV.S R17.z, R17.x;
  11411. DIV.F32 R17.x, R18.w, R17.w;
  11412. MOV.F R18.w, R19.x;
  11413. DIV.F32 R19.y, R18.w, R17.w;
  11414. MOV.F R19.x, R19.z;
  11415. MUL.F32 R17.w, R19.x, R19.y;
  11416. MOV.F R18.w, c[4].z;
  11417. ADD.F32 R17.y, R18.w, R17;
  11418. SNE.F32 R19.y, R19, {0, 0, 0, 0}.x;
  11419. MOV.S R18.w, R17.y;
  11420. MOV.F R17.y, R18.z;
  11421. MOV.F R19.w, c[6];
  11422. ADD.F32 R17.y, R17, -R19.w;
  11423. MOV.F R18.z, R20.w;
  11424. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11425. ADD.F32 R18.z, -R18, {1, 0, 0, 0}.x;
  11426. TRUNC.U R19.y, R19;
  11427. TRUNC.U R19.x, R19;
  11428. AND.U.CC HC.x, R19, R19.y;
  11429. MOV.S R17.x, R17;
  11430. MOV.S R17.y, R17;
  11431. MOV.S R26.w, R18.z;
  11432. IF NE.x;
  11433. ELSE;
  11434. MOV.F R17.w, {0, 0, 0, 0}.x;
  11435. ENDIF;
  11436. MOV.F R19.x, R17;
  11437. MOV.F R18.z, R19;
  11438. MUL.F32 R17.x, R18.z, R19;
  11439. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  11440. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11441. TRUNC.U R18.z, R18;
  11442. TRUNC.U R19.x, R19;
  11443. AND.U.CC HC.x, R18.z, R19;
  11444. MOV.S R21.x, R17.w;
  11445. IF NE.x;
  11446. ELSE;
  11447. MOV.F R17.x, {0, 0, 0, 0};
  11448. ENDIF;
  11449. SGE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  11450. TRUNC.U.CC HC.x, R17.y;
  11451. MOV.S R21.y, R17.x;
  11452. IF NE.x;
  11453. MOV.S R17.y, {1065353216, 0, 0, 0}.x;
  11454. ELSE;
  11455. MOV.S R17.y, {0, 0, 0, 0}.x;
  11456. ENDIF;
  11457. MOV.F R17.w, R17.z;
  11458. MOV.F R17.z, R19;
  11459. MUL.F32 R17.x, R17.z, R17.w;
  11460. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11461. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11462. TRUNC.U R17.w, R17;
  11463. TRUNC.U R17.z, R17;
  11464. AND.U.CC HC.x, R17.z, R17.w;
  11465. IF NE.x;
  11466. ELSE;
  11467. MOV.F R17.x, {0, 0, 0, 0};
  11468. ENDIF;
  11469. MOV.F R17.w, R0;
  11470. MOV.F R18.z, R26.w;
  11471. MUL.F32 R17.z, R17.w, R18;
  11472. MOV.S R21.w, R17.x;
  11473. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  11474. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  11475. TRUNC.U R17.w, R18.z;
  11476. TRUNC.U R17.x, R17;
  11477. AND.U.CC HC.x, R17, R17.w;
  11478. IF NE.x;
  11479. MOV.F R17.x, R17.z;
  11480. ELSE;
  11481. MOV.F R17.x, {0, 0, 0, 0};
  11482. ENDIF;
  11483. MOV.F R19.y, R18;
  11484. SNE.F32 R19.z, R19.y, {0, 0, 0, 0}.x;
  11485. MOV.F R17.w, R21;
  11486. MOV.F R17.z, c[5];
  11487. ADD.F32 R17.z, R17, R17.w;
  11488. MOV.S R19.x, R17.z;
  11489. MOV.F R18.z, R21.y;
  11490. MOV.F R17.w, c[5].x;
  11491. ADD.F32 R17.w, R17, R18.z;
  11492. MOV.S R18.z, R17.w;
  11493. MOV.F R17.z, c[5].y;
  11494. MOV.F R17.w, R21.x;
  11495. ADD.F32 R17.w, R17.z, R17;
  11496. MOV.S R17.z, R17.x;
  11497. MOV.S R17.x, R17.z;
  11498. MOV.S R18.y, R17.w;
  11499. MOV.F R17.w, R17.x;
  11500. MUL.F32 R17.x, R19.y, R17.w;
  11501. MOV.S R23.z, R17;
  11502. MOV.F R17.z, R17.y;
  11503. TRUNC.U R19.y, R19.z;
  11504. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11505. TRUNC.U R19.z, R17.w;
  11506. ADD.F32 R17.z, -R17, {1, 0, 0, 0}.x;
  11507. AND.U.CC HC.x, R19.y, R19.z;
  11508. MOV.S R17.w, R17.z;
  11509. IF NE.x;
  11510. MOV.F R19.y, R17.x;
  11511. ELSE;
  11512. MOV.F R19.y, {0, 0, 0, 0}.x;
  11513. ENDIF;
  11514. MOV.S R17.x, R18;
  11515. MOV.F R19.z, R17.y;
  11516. MOV.F R18.x, c[6];
  11517. MUL.F32 R17.z, R18.x, R19;
  11518. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11519. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  11520. TRUNC.U R19.z, R19;
  11521. TRUNC.U R18.x, R18;
  11522. AND.U.CC HC.x, R18, R19.z;
  11523. MOV.S R19.y, R19;
  11524. IF NE.x;
  11525. MOV.F R18.x, R17.z;
  11526. ELSE;
  11527. MOV.F R18.x, {0, 0, 0, 0};
  11528. ENDIF;
  11529. MOV.F R19.w, R17.y;
  11530. MOV.F R19.z, c[6];
  11531. MUL.F32 R17.z, R19, R19.w;
  11532. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  11533. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11534. TRUNC.U R19.w, R19;
  11535. TRUNC.U R19.z, R19;
  11536. AND.U.CC HC.x, R19.z, R19.w;
  11537. MOV.S R18.x, R18;
  11538. IF NE.x;
  11539. ELSE;
  11540. MOV.F R17.z, {0, 0, 0, 0}.x;
  11541. ENDIF;
  11542. MOV.F R19.w, R17.y;
  11543. MOV.F R19.z, c[6].y;
  11544. MUL.F32 R17.y, R19.z, R19.w;
  11545. MOV.S R29.y, R17.z;
  11546. SNE.F32 R17.z, R19, {0, 0, 0, 0}.x;
  11547. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  11548. TRUNC.U R19.z, R19.w;
  11549. TRUNC.U R17.z, R17;
  11550. AND.U.CC HC.x, R17.z, R19.z;
  11551. IF NE.x;
  11552. ELSE;
  11553. MOV.F R17.y, {0, 0, 0, 0}.x;
  11554. ENDIF;
  11555. MOV.F R17.z, R17.w;
  11556. SNE.F32 R19.z, R17, {0, 0, 0, 0}.x;
  11557. MOV.F R17.w, R20;
  11558. TRUNC.U R19.w, R19.z;
  11559. MUL.F32 R17.z, R17.w, R17;
  11560. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11561. MOV.S R19.z, R17.y;
  11562. TRUNC.U R17.y, R17.w;
  11563. AND.U.CC HC.x, R17.y, R19.w;
  11564. IF NE.x;
  11565. MOV.F R17.y, R17.z;
  11566. ELSE;
  11567. MOV.F R17.y, {0, 0, 0, 0}.x;
  11568. ENDIF;
  11569. MOV.F R17.w, R23.z;
  11570. MOV.F R17.z, R17.x;
  11571. MUL.F32 R17.x, R17.z, R17.w;
  11572. SNE.F32 R19.w, R17, {0, 0, 0, 0}.x;
  11573. TRUNC.U R17.w, R19;
  11574. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11575. MOV.S R21.w, R17.y;
  11576. TRUNC.U R17.y, R17.z;
  11577. AND.U.CC HC.x, R17.y, R17.w;
  11578. IF NE.x;
  11579. ELSE;
  11580. MOV.F R17.x, {0, 0, 0, 0};
  11581. ENDIF;
  11582. MOV.F R17.w, R21;
  11583. MOV.F R17.z, R19.x;
  11584. MUL.F32 R17.y, R17.z, R17.w;
  11585. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11586. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11587. TRUNC.U R17.z, R17;
  11588. TRUNC.U R17.w, R17;
  11589. AND.U.CC HC.x, R17.z, R17.w;
  11590. MOV.S R29.x, R17;
  11591. IF NE.x;
  11592. ELSE;
  11593. MOV.F R17.y, {0, 0, 0, 0}.x;
  11594. ENDIF;
  11595. MOV.F R17.w, R21;
  11596. MOV.F R17.z, R18.y;
  11597. MUL.F32 R17.x, R17.z, R17.w;
  11598. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11599. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11600. TRUNC.U R17.z, R17;
  11601. TRUNC.U R17.w, R17;
  11602. AND.U.CC HC.x, R17.z, R17.w;
  11603. MOV.S R23.x, R17.y;
  11604. IF NE.x;
  11605. ELSE;
  11606. MOV.F R17.x, {0, 0, 0, 0};
  11607. ENDIF;
  11608. MOV.F R17.w, R21;
  11609. MOV.F R17.z, R18;
  11610. MUL.F32 R17.y, R17.z, R17.w;
  11611. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11612. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11613. TRUNC.U R17.z, R17;
  11614. TRUNC.U R17.w, R17;
  11615. AND.U.CC HC.x, R17.z, R17.w;
  11616. MOV.S R18.y, R17.x;
  11617. IF NE.x;
  11618. MOV.F R17.x, R17.y;
  11619. ELSE;
  11620. MOV.F R17.x, {0, 0, 0, 0};
  11621. ENDIF;
  11622. MOV.F R17.w, R23.z;
  11623. MOV.F R17.z, R18.w;
  11624. MUL.F32 R17.y, R17.z, R17.w;
  11625. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11626. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  11627. TRUNC.U R17.z, R17;
  11628. TRUNC.U R17.w, R17;
  11629. AND.U.CC HC.x, R17.z, R17.w;
  11630. MOV.S R18.z, R17.x;
  11631. IF NE.x;
  11632. MOV.F R17.x, R17.y;
  11633. ELSE;
  11634. MOV.F R17.x, {0, 0, 0, 0};
  11635. ENDIF;
  11636. MOV.F R17.y, R0.w;
  11637. ADD.F32 R17.z, -R17.y, {1, 0, 0, 0}.x;
  11638. MOV.F R17.w, c[4].y;
  11639. MOV.S R18.w, R17.x;
  11640. SNE.F32 R17.y, -R17, {-1, 0, 0, 0}.x;
  11641. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  11642. TRUNC.U R17.y, R17;
  11643. TRUNC.U R17.x, R17;
  11644. AND.U.CC HC.x, R17, R17.y;
  11645. MUL.F32 R0.w, R17.z, R17;
  11646. MOV.S R26.w, R17.z;
  11647. IF NE.x;
  11648. MOV.F R17.x, R0.w;
  11649. ELSE;
  11650. MOV.F R17.x, {0, 0, 0, 0};
  11651. ENDIF;
  11652. MOV.F R17.y, c[4].x;
  11653. MOV.F R17.z, R26.w;
  11654. MUL.F32 R0.w, R17.y, R17.z;
  11655. MOV.S R19.x, R17;
  11656. SNE.F32 R17.x, R17.y, {0, 0, 0, 0};
  11657. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11658. TRUNC.U R17.y, R17.z;
  11659. TRUNC.U R17.x, R17;
  11660. AND.U.CC HC.x, R17, R17.y;
  11661. IF NE.x;
  11662. ELSE;
  11663. MOV.F R0.w, {0, 0, 0, 0}.x;
  11664. ENDIF;
  11665. MOV.F R17.y, R9;
  11666. MOV.F R17.x, R9;
  11667. ADD.F32 R17.x, R17, R17.y;
  11668. MOV.F R17.y, c[4].z;
  11669. MOV.S R21.y, R0.w;
  11670. SNE.F32 R0.w, R17.y, {0, 0, 0, 0}.x;
  11671. MOV.F R17.z, R26.w;
  11672. MOV.S R23.z, R17.x;
  11673. MUL.F32 R17.x, R17.y, R17.z;
  11674. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  11675. TRUNC.U R17.y, R17.z;
  11676. TRUNC.U R0.w, R0;
  11677. AND.U.CC HC.x, R0.w, R17.y;
  11678. IF NE.x;
  11679. MOV.F R0.w, R17.x;
  11680. ELSE;
  11681. MOV.F R0.w, {0, 0, 0, 0}.x;
  11682. ENDIF;
  11683. MOV.F R26, R12;
  11684. MOV.F R17.xyz, R20;
  11685. MOV.F R17.w, {1, 0, 0, 0}.x;
  11686. DP4.F32 R19.w, R13, R17;
  11687. MOV.F R13, R11;
  11688. DP4.F32 R11.x, R13, R17;
  11689. DP4.F32 R11.w, R26, R17;
  11690. MOV.F R12.z, R21.y;
  11691. MOV.F R12.x, R19.y;
  11692. ADD.F32 R12.z, R12.x, R12;
  11693. MOV.F R12.x, R18.z;
  11694. ADD.F32 R12.z, R12.x, R12;
  11695. MOV.F R12.x, R18;
  11696. SNE.F32 R12.w, R12.x, -R12.z;
  11697. ADD.F32 R12.x, R12, R12.z;
  11698. MOV.F R13.x, R22;
  11699. TRUNC.U R13.y, R12.w;
  11700. MOV.F R12.z, R29.x;
  11701. MOV.F R12.w, R19.x;
  11702. ADD.F32 R12.w, R12.z, R12;
  11703. MOV.F R12.z, R18.w;
  11704. ADD.F32 R0.w, R12.z, R0;
  11705. SNE.F32 R12.z, R13.x, {0, 0, 0, 0}.x;
  11706. MOV.S R21.x, R0.w;
  11707. TRUNC.U R12.z, R12;
  11708. AND.U.CC HC.x, R12.z, R13.y;
  11709. MOV.S R11.z, R19.w;
  11710. MOV.S R11.w, R11;
  11711. MOV.S R11.x, R11;
  11712. MOV.S R20.z, R19.w;
  11713. MUL.F32 R12.x, R13, R12;
  11714. MOV.S R21.y, R12.w;
  11715. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  11716. IF NE.x;
  11717. ELSE;
  11718. MOV.F R12.x, {0, 0, 0, 0};
  11719. ENDIF;
  11720. MOV.F R12.w, R21.x;
  11721. MOV.F R12.z, R23.x;
  11722. ADD.F32 R12.z, R12, R12.w;
  11723. MOV.F R12.w, R29.y;
  11724. ADD.F32 R12.z, R12.w, R12;
  11725. MOV.S R21.z, R12;
  11726. MOV.F R12.w, R9.z;
  11727. MOV.F R12.z, R9.y;
  11728. ADD.F32 R13.x, R12.z, R12.w;
  11729. MUL.F32 R13.y, R13.x, {0.5, 0, 0, 0}.x;
  11730. MOV.F R12.z, R9.x;
  11731. ADD.F32 R12.z, R12, R12.w;
  11732. MOV.S R21.x, R13.y;
  11733. MOV.F R13.x, R21.y;
  11734. MUL.F32 R12.z, R12, {0.5, 0, 0, 0}.x;
  11735. MOV.F R12.w, R18.y;
  11736. MOV.S R21.y, R12.z;
  11737. MOV.F R12.z, R23;
  11738. MAD.F32 R12.z, R12, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  11739. ADD.F32 R13.x, R12.w, R13;
  11740. MOV.S R12.z, R12;
  11741. MOV.F R13.y, R19.z;
  11742. ADD.F32 R13.z, R13.y, R13.x;
  11743. MOV.S R12.w, R12.z;
  11744. MOV.F R13.w, R23;
  11745. MUL.F32 R12.w, R12, {2, 0, 0, 0}.x;
  11746. MUL.F32 R12.z, R13.w, R13;
  11747. SNE.F32 R13.x, R13.y, -R13;
  11748. MOV.S R18.w, R12;
  11749. SNE.F32 R12.w, R13, {0, 0, 0, 0}.x;
  11750. TRUNC.U R13.x, R13;
  11751. TRUNC.U R12.w, R12;
  11752. AND.U.CC HC.x, R12.w, R13;
  11753. MOV.S R30.y, R11.w;
  11754. MOV.S R13.z, R12.x;
  11755. MOV.S R30.z, R20;
  11756. IF NE.x;
  11757. MOV.F R12.x, R12.z;
  11758. ELSE;
  11759. MOV.F R12.x, {0, 0, 0, 0};
  11760. ENDIF;
  11761. MOV.F R12.z, R21.y;
  11762. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  11763. MOV.S R12.w, R12.z;
  11764. MOV.F R12.z, R21.x;
  11765. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  11766. MUL.F32 R13.x, R12.z, {2, 0, 0, 0};
  11767. MUL.F32 R12.z, R12.w, {2, 0, 0, 0}.x;
  11768. MOV.S R17.z, R13.x;
  11769. MOV.F R13.x, R21.z;
  11770. MOV.F R12.w, R23.y;
  11771. MOV.S R17.y, R12.z;
  11772. MUL.F32 R12.z, R12.w, R13.x;
  11773. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11774. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  11775. TRUNC.U R13.x, R13;
  11776. TRUNC.U R12.w, R12;
  11777. AND.U.CC HC.x, R12.w, R13;
  11778. MOV.S R23.x, R12;
  11779. IF NE.x;
  11780. ELSE;
  11781. MOV.F R12.z, {0, 0, 0, 0}.x;
  11782. ENDIF;
  11783. MOV.F R12.x, R9;
  11784. ADD.F32 R12.x, R12, {-0.5, 0, 0, 0};
  11785. MOV.F R13.y, c[7];
  11786. MOV.F R13.x, R17.z;
  11787. MUL.F32 R12.w, R13.x, R13.y;
  11788. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11789. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  11790. TRUNC.U R13.x, R13;
  11791. TRUNC.U R13.y, R13;
  11792. AND.U.CC HC.x, R13, R13.y;
  11793. MOV.S R12.x, R12;
  11794. MOV.S R13.w, R12.z;
  11795. IF NE.x;
  11796. MOV.F R12.z, R12.w;
  11797. ELSE;
  11798. MOV.F R12.z, {0, 0, 0, 0}.x;
  11799. ENDIF;
  11800. MOV.F R13.y, c[7].x;
  11801. MOV.F R13.x, R18.w;
  11802. MUL.F32 R12.w, R13.x, R13.y;
  11803. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11804. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  11805. TRUNC.U R13.x, R13;
  11806. TRUNC.U R13.y, R13;
  11807. AND.U.CC HC.x, R13, R13.y;
  11808. MOV.S R21.x, R12.z;
  11809. IF NE.x;
  11810. MOV.F R13.x, R12.w;
  11811. ELSE;
  11812. MOV.F R13.x, {0, 0, 0, 0};
  11813. ENDIF;
  11814. MOV.F R12.w, R9.y;
  11815. MOV.F R12.z, R9;
  11816. ADD.F32 R12.w, R12, {-0.5, 0, 0, 0}.x;
  11817. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  11818. MOV.F R17.x, R17.y;
  11819. MOV.F R17.z, c[7];
  11820. MUL.F32 R13.y, R17.x, R17.z;
  11821. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  11822. SNE.F32 R17.y, R17.z, {0, 0, 0, 0}.x;
  11823. TRUNC.U R17.x, R17;
  11824. TRUNC.U R17.y, R17;
  11825. AND.U.CC HC.x, R17, R17.y;
  11826. MOV.S R12.w, R12;
  11827. MOV.S R12.z, R12;
  11828. MOV.S R21.y, R13.x;
  11829. IF NE.x;
  11830. ELSE;
  11831. MOV.F R13.y, {0, 0, 0, 0}.x;
  11832. ENDIF;
  11833. MOV.F R13.x, R9.y;
  11834. MUL.F32 R17.y, R13.x, {2, 0, 0, 0}.x;
  11835. MOV.F R17.x, R21;
  11836. MOV.F R13.x, c[8].y;
  11837. ADD.F32 R13.x, R13, R17;
  11838. MOV.S R17.x, R17.y;
  11839. MOV.S R17.y, R17.x;
  11840. MOV.S R20.z, R13.x;
  11841. MOV.F R17.x, c[8];
  11842. MOV.F R13.x, R21.y;
  11843. ADD.F32 R13.x, R13, R17;
  11844. MOV.F R17.x, R17.y;
  11845. MOV.S R20.x, R13;
  11846. FLR.F R13.x, R17;
  11847. MOV.F R17.x, c[8].z;
  11848. ADD.F32 R13.y, R17.x, R13;
  11849. MOV.S R13.x, R13;
  11850. MOV.S R13.y, R13;
  11851. AND.S R20.w, c[9].x, {65536, 0, 0, 0}.x;
  11852. AND.S R23.y, c[9].x, {131072, 0, 0, 0}.x;
  11853. AND.S R23.w, c[9].x, {262144, 0, 0, 0}.x;
  11854. ENDIF;
  11855. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  11856. MOV.U.CC RC.x, -R17;
  11857. IF NE.x;
  11858. MOV.F R12.y, c[10].w;
  11859. MOV.F R10.w, R13;
  11860. MUL.F32 R0.w, R10, R12.y;
  11861. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  11862. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11863. TRUNC.U R12.y, R12;
  11864. TRUNC.U R10.w, R10;
  11865. AND.U.CC HC.x, R10.w, R12.y;
  11866. IF NE.x;
  11867. ELSE;
  11868. MOV.F R0.w, {0, 0, 0, 0}.x;
  11869. ENDIF;
  11870. MOV.F R13.w, c[10].z;
  11871. MOV.F R12.y, R23.x;
  11872. MUL.F32 R10.w, R12.y, R13;
  11873. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  11874. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  11875. TRUNC.U R12.y, R12;
  11876. TRUNC.U R13.w, R13;
  11877. AND.U.CC HC.x, R12.y, R13.w;
  11878. MOV.S R17.x, R0.w;
  11879. IF NE.x;
  11880. MOV.F R0.w, R10;
  11881. ELSE;
  11882. MOV.F R0.w, {0, 0, 0, 0}.x;
  11883. ENDIF;
  11884. MOV.F R12.y, R13.z;
  11885. MOV.F R13.w, c[10].y;
  11886. MUL.F32 R10.w, R12.y, R13;
  11887. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  11888. TRUNC.U R13.z, R12.y;
  11889. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  11890. TRUNC.U R13.w, R13;
  11891. AND.U.CC HC.x, R13.z, R13.w;
  11892. MOV.S R12.y, R0.w;
  11893. IF NE.x;
  11894. MOV.F R0.w, R10;
  11895. ELSE;
  11896. MOV.F R0.w, {0, 0, 0, 0}.x;
  11897. ENDIF;
  11898. MOV.F R10.w, R13.x;
  11899. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11900. TRUNC.U.CC HC.x, R10.w;
  11901. MOV.S R13.z, R0.w;
  11902. IF NE.x;
  11903. MOV.F R10.w, {1, 0, 0, 0}.x;
  11904. ELSE;
  11905. MOV.F R10.w, {0, 0, 0, 0}.x;
  11906. ENDIF;
  11907. I2F.S R0.w, R20;
  11908. MOV.S R26.w, R0;
  11909. MOV.S R0.w, R13.x;
  11910. MOV.F R13.x, R17;
  11911. SNE.F32 R16.w, R13.x, {0, 0, 0, 0}.x;
  11912. MOV.F R13.w, R28.z;
  11913. MUL.F32 R13.x, R13.w, R13;
  11914. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  11915. TRUNC.U R16.w, R16;
  11916. TRUNC.U R13.w, R13;
  11917. AND.U.CC HC.x, R13.w, R16.w;
  11918. MOV.S R18.w, R10;
  11919. IF NE.x;
  11920. MOV.F R10.w, R13.x;
  11921. ELSE;
  11922. MOV.F R10.w, {0, 0, 0, 0}.x;
  11923. ENDIF;
  11924. MOV.F R13.x, R26.w;
  11925. SGT.F32 R13.w, R13.x, {0, 0, 0, 0}.x;
  11926. TRUNC.U.CC HC.x, R13.w;
  11927. MOV.S R13.x, R10.w;
  11928. IF NE.x;
  11929. MOV.F R10.w, {1, 0, 0, 0}.x;
  11930. ELSE;
  11931. MOV.F R10.w, {0, 0, 0, 0}.x;
  11932. ENDIF;
  11933. MOV.F R13.w, R26;
  11934. SGT.F32 R13.w, {0, 0, 0, 0}.x, R13;
  11935. TRUNC.U.CC HC.x, R13.w;
  11936. MOV.S R21.y, R10.w;
  11937. IF NE.x;
  11938. MOV.F R10.w, {1, 0, 0, 0}.x;
  11939. ELSE;
  11940. MOV.F R10.w, {0, 0, 0, 0}.x;
  11941. ENDIF;
  11942. MOV.F R13.w, R0;
  11943. MOV.F R0.w, R10;
  11944. SGT.F32 R10.w, {0, 0, 0, 0}.x, R13;
  11945. TRUNC.U.CC HC.x, R10.w;
  11946. MOV.S R21.z, R0.w;
  11947. IF NE.x;
  11948. MOV.F R0.w, {1, 0, 0, 0}.x;
  11949. ELSE;
  11950. MOV.F R0.w, {0, 0, 0, 0}.x;
  11951. ENDIF;
  11952. MOV.F R10.w, R18;
  11953. ADD.F32 R10.w, R10, -R0;
  11954. I2F.S R0.w, R23.y;
  11955. MOV.S R19.x, R10.w;
  11956. SGT.F32 R13.w, R0, {0, 0, 0, 0}.x;
  11957. TRUNC.U.CC HC.x, R13.w;
  11958. MOV.S R10.w, R0;
  11959. IF NE.x;
  11960. MOV.F R0.w, {1, 0, 0, 0}.x;
  11961. ELSE;
  11962. MOV.F R0.w, {0, 0, 0, 0}.x;
  11963. ENDIF;
  11964. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  11965. TRUNC.U.CC HC.x, R10.w;
  11966. MOV.S R17.y, R0.w;
  11967. IF NE.x;
  11968. MOV.F R0.w, {1, 0, 0, 0}.x;
  11969. ELSE;
  11970. MOV.F R0.w, {0, 0, 0, 0}.x;
  11971. ENDIF;
  11972. MOV.F R13.w, R21.z;
  11973. MOV.F R10.w, R21.y;
  11974. ADD.F32 R10.w, R10, -R13;
  11975. MOV.S R17.w, R10;
  11976. I2F.S R10.w, R23;
  11977. MOV.S R26.w, R10;
  11978. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  11979. TRUNC.U.CC HC.x, R10.w;
  11980. MOV.S R17.z, R0.w;
  11981. IF NE.x;
  11982. MOV.F R0.w, {1, 0, 0, 0}.x;
  11983. ELSE;
  11984. MOV.F R0.w, {0, 0, 0, 0}.x;
  11985. ENDIF;
  11986. MOV.F R13.w, R17.z;
  11987. MOV.F R10.w, R17.y;
  11988. ADD.F32 R10.w, R10, -R13;
  11989. MOV.F R16.w, R9.z;
  11990. MUL.F32 R13.w, R16, {2, 0, 0, 0}.x;
  11991. MOV.S R21.z, R10.w;
  11992. MOV.F R10.w, R26;
  11993. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11994. TRUNC.U.CC HC.x, R10.w;
  11995. MOV.S R21.y, R13.w;
  11996. MOV.S R21.x, R0.w;
  11997. IF NE.x;
  11998. MOV.F R0.w, {1, 0, 0, 0}.x;
  11999. ELSE;
  12000. MOV.F R0.w, {0, 0, 0, 0}.x;
  12001. ENDIF;
  12002. MOV.F R16.w, R21.x;
  12003. ADD.F32 R0.w, R0, -R16;
  12004. MOV.F R10.w, R17;
  12005. TRUNC.S R10.w, R10;
  12006. ADD.S R13.w, -R10, {0, 0, 0, 0}.x;
  12007. MAX.S R21.x, R10.w, R13.w;
  12008. MOV.F R13.w, R21.y;
  12009. FLR.F R13.w, R13;
  12010. MOV.F R10.w, R21.z;
  12011. TRUNC.S R10.w, R10;
  12012. MOV.F R17.x, R9;
  12013. MUL.F32 R16.w, R17.x, {2, 0, 0, 0}.x;
  12014. MOV.S R17.y, R0.w;
  12015. SGT.F32 R0.w, R13, {0, 0, 0, 0}.x;
  12016. TRUNC.U.CC HC.x, R0.w;
  12017. ADD.S R21.y, -R10.w, {0, 0, 0, 0}.x;
  12018. MOV.S R17.z, R13.w;
  12019. MOV.S R18.w, R16;
  12020. MOV.S R29.y, R10.w;
  12021. IF NE.x;
  12022. MOV.F R0.w, {1, 0, 0, 0}.x;
  12023. ELSE;
  12024. MOV.F R0.w, {0, 0, 0, 0}.x;
  12025. ENDIF;
  12026. MOV.F R10.w, R17.z;
  12027. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  12028. TRUNC.U.CC HC.x, R10.w;
  12029. MOV.S R21.z, R0.w;
  12030. IF NE.x;
  12031. MOV.F R0.w, {1, 0, 0, 0}.x;
  12032. ELSE;
  12033. MOV.F R0.w, {0, 0, 0, 0}.x;
  12034. ENDIF;
  12035. MOV.F R10.w, R21.z;
  12036. ADD.F32 R0.w, R10, -R0;
  12037. MOV.S R29.x, R0.w;
  12038. MOV.F R0.w, R18;
  12039. FLR.F R10.w, R0;
  12040. MOV.F R0.w, R17.y;
  12041. TRUNC.S R23.x, R0.w;
  12042. MOV.S R17.z, R10.w;
  12043. I2F.S R0.w, R21.x;
  12044. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  12045. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  12046. TRUNC.U.CC HC.x, R10.w;
  12047. MAX.S R17.w, R21.y, R29.y;
  12048. ADD.S R17.y, -R23.x, {0, 0, 0, 0}.x;
  12049. MOV.S R26.w, R0;
  12050. IF NE.x;
  12051. MOV.F R0.w, {1, 0, 0, 0}.x;
  12052. ELSE;
  12053. MOV.F R0.w, {0, 0, 0, 0}.x;
  12054. ENDIF;
  12055. MOV.F R10.w, R19.x;
  12056. SNE.F32 R16.w, R10, {0, 0, 0, 0}.x;
  12057. MOV.F R13.w, R26;
  12058. MUL.F32 R10.w, -R13, R10;
  12059. TRUNC.U R16.w, R16;
  12060. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  12061. MOV.S R21.x, R0.w;
  12062. TRUNC.U R0.w, R13;
  12063. AND.U.CC HC.x, R0.w, R16.w;
  12064. IF NE.x;
  12065. MOV.F R0.w, R10;
  12066. ELSE;
  12067. MOV.F R0.w, {0, 0, 0, 0}.x;
  12068. ENDIF;
  12069. MOV.F R10.w, R17.z;
  12070. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  12071. TRUNC.U.CC HC.x, R10.w;
  12072. MAX.S R21.z, R23.x, R17.y;
  12073. MOV.S R21.y, R0.w;
  12074. IF NE.x;
  12075. MOV.F R0.w, {1, 0, 0, 0}.x;
  12076. ELSE;
  12077. MOV.F R0.w, {0, 0, 0, 0}.x;
  12078. ENDIF;
  12079. I2F.S R10.w, R17;
  12080. MUL.F32 R10.w, R10, {2, 0, 0, 0}.x;
  12081. SNE.F32 R16.w, -R10, {0, 0, 0, 0}.x;
  12082. MOV.F R13.w, R29.x;
  12083. MUL.F32 R10.w, -R10, R13;
  12084. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  12085. TRUNC.U R16.w, R16;
  12086. TRUNC.U R13.w, R13;
  12087. AND.U.CC HC.x, R16.w, R13.w;
  12088. MOV.S R21.w, R0;
  12089. IF NE.x;
  12090. MOV.F R0.w, R10;
  12091. ELSE;
  12092. MOV.F R0.w, {0, 0, 0, 0}.x;
  12093. ENDIF;
  12094. MOV.F R16.w, R21.y;
  12095. MOV.F R13.w, R20.x;
  12096. MUL.F32 R10.w, R13, R16;
  12097. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  12098. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  12099. TRUNC.U R13.w, R13;
  12100. TRUNC.U R16.w, R16;
  12101. AND.U.CC HC.x, R13.w, R16.w;
  12102. MOV.S R17.x, R0.w;
  12103. IF NE.x;
  12104. MOV.F R0.w, R10;
  12105. ELSE;
  12106. MOV.F R0.w, {0, 0, 0, 0}.x;
  12107. ENDIF;
  12108. MOV.F R13.w, R21;
  12109. MOV.F R10.w, R21.x;
  12110. ADD.F32 R10.w, R10, -R13;
  12111. MOV.F R16.w, R21.y;
  12112. MOV.F R13.w, R10.x;
  12113. MOV.S R17.z, R10.w;
  12114. MUL.F32 R10.w, R13, R16;
  12115. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  12116. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  12117. TRUNC.U R13.w, R13;
  12118. TRUNC.U R16.w, R16;
  12119. AND.U.CC HC.x, R13.w, R16.w;
  12120. MOV.S R17.y, R0.w;
  12121. IF NE.x;
  12122. MOV.F R0.w, R10;
  12123. ELSE;
  12124. MOV.F R0.w, {0, 0, 0, 0}.x;
  12125. ENDIF;
  12126. I2F.S R10.w, R21.z;
  12127. MUL.F32 R13.w, R10, {2, 0, 0, 0}.x;
  12128. MOV.F R16.w, R17.z;
  12129. MUL.F32 R10.w, -R13, R16;
  12130. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  12131. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  12132. TRUNC.U R13.w, R13;
  12133. TRUNC.U R16.w, R16;
  12134. AND.U.CC HC.x, R13.w, R16.w;
  12135. MOV.S R17.w, R0;
  12136. IF NE.x;
  12137. MOV.F R0.w, R10;
  12138. ELSE;
  12139. MOV.F R0.w, {0, 0, 0, 0}.x;
  12140. ENDIF;
  12141. MOV.F R10.w, R17;
  12142. ADD.F32 R10.x, R10, R10.w;
  12143. MOV.F R13.w, R17.x;
  12144. MOV.F R10.w, R20.z;
  12145. MOV.S R29.y, R10.x;
  12146. MUL.F32 R10.x, R10.w, R13.w;
  12147. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  12148. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  12149. TRUNC.U R10.w, R10;
  12150. TRUNC.U R13.w, R13;
  12151. AND.U.CC HC.x, R10.w, R13.w;
  12152. MOV.S R21.x, R0.w;
  12153. IF NE.x;
  12154. MOV.F R0.w, R10.x;
  12155. ELSE;
  12156. MOV.F R0.w, {0, 0, 0, 0}.x;
  12157. ENDIF;
  12158. MOV.F R10.w, R17.y;
  12159. MOV.F R10.x, R20;
  12160. ADD.F32 R10.x, R10, R10.w;
  12161. MOV.F R13.w, R17.x;
  12162. MOV.F R10.w, R10.y;
  12163. MOV.S R18.w, R10.x;
  12164. MUL.F32 R10.x, R10.w, R13.w;
  12165. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  12166. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  12167. TRUNC.U R10.w, R10;
  12168. TRUNC.U R13.w, R13;
  12169. AND.U.CC HC.x, R10.w, R13.w;
  12170. MOV.S R21.z, R0.w;
  12171. IF NE.x;
  12172. MOV.F R0.w, R10.x;
  12173. ELSE;
  12174. MOV.F R0.w, {0, 0, 0, 0}.x;
  12175. ENDIF;
  12176. MOV.F R10.x, R10.y;
  12177. ADD.F32 R10.x, R10, R0.w;
  12178. MOV.F R10.y, R13;
  12179. MOV.F R10.w, R21.x;
  12180. MOV.S R29.x, R10;
  12181. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12182. MUL.F32 R0.w, R10.y, R10;
  12183. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  12184. TRUNC.U R10.x, R10;
  12185. TRUNC.U R10.y, R10;
  12186. AND.U.CC HC.x, R10, R10.y;
  12187. IF NE.x;
  12188. ELSE;
  12189. MOV.F R0.w, {0, 0, 0, 0}.x;
  12190. ENDIF;
  12191. MOV.F R10.y, R21.z;
  12192. MOV.F R10.x, R20.z;
  12193. ADD.F32 R10.x, R10, R10.y;
  12194. MOV.F R10.w, R21.x;
  12195. MOV.F R10.y, R10.z;
  12196. MOV.S R23.z, R10.x;
  12197. MUL.F32 R10.x, R10.y, R10.w;
  12198. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12199. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  12200. TRUNC.U R10.y, R10;
  12201. TRUNC.U R10.w, R10;
  12202. AND.U.CC HC.x, R10.y, R10.w;
  12203. MOV.S R17.y, R0.w;
  12204. IF NE.x;
  12205. MOV.F R0.w, R10.x;
  12206. ELSE;
  12207. MOV.F R0.w, {0, 0, 0, 0}.x;
  12208. ENDIF;
  12209. MOV.F R10.w, c[11].x;
  12210. MOV.F R10.y, R12.x;
  12211. MUL.F32 R10.x, R10.y, R10.w;
  12212. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12213. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  12214. TRUNC.U R10.y, R10;
  12215. TRUNC.U R10.w, R10;
  12216. AND.U.CC HC.x, R10.y, R10.w;
  12217. MOV.S R17.w, R0;
  12218. IF NE.x;
  12219. MOV.F R0.w, R10.x;
  12220. ELSE;
  12221. MOV.F R0.w, {0, 0, 0, 0}.x;
  12222. ENDIF;
  12223. MOV.F R10.y, R29;
  12224. ADD.F32 R0.w, R10.y, R0;
  12225. MOV.F R10.w, R17.y;
  12226. MOV.F R10.x, R13.y;
  12227. ADD.F32 R10.x, R10, R10.w;
  12228. MOV.F R10.w, c[11].y;
  12229. MOV.S R29.y, R10.x;
  12230. MOV.F R10.x, R12.w;
  12231. SNE.F32 R12.x, R10, {0, 0, 0, 0};
  12232. TRUNC.U R12.x, R12;
  12233. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  12234. MOV.S R19.x, R0.w;
  12235. TRUNC.U R0.w, R10.y;
  12236. AND.U.CC HC.x, R12, R0.w;
  12237. MUL.F32 R10.x, R10, R10.w;
  12238. IF NE.x;
  12239. MOV.F R0.w, R10.x;
  12240. ELSE;
  12241. MOV.F R0.w, {0, 0, 0, 0}.x;
  12242. ENDIF;
  12243. MOV.F R10.x, R10.z;
  12244. MOV.F R10.y, R17.w;
  12245. ADD.F32 R10.x, R10, R10.y;
  12246. MOV.F R10.z, c[11];
  12247. MOV.F R10.y, R12.z;
  12248. MOV.S R21.w, R10.x;
  12249. MUL.F32 R10.x, R10.y, R10.z;
  12250. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12251. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12252. TRUNC.U R10.y, R10;
  12253. TRUNC.U R10.z, R10;
  12254. AND.U.CC HC.x, R10.y, R10.z;
  12255. MOV.S R21.z, R0.w;
  12256. IF NE.x;
  12257. MOV.F R0.w, R10.x;
  12258. ELSE;
  12259. MOV.F R0.w, {0, 0, 0, 0}.x;
  12260. ENDIF;
  12261. MOV.F R10.x, c[8].w;
  12262. SEQ.F R10.x, R10, {1, 0, 0, 0};
  12263. TRUNC.U.CC HC.x, R10;
  12264. MOV.S R10.w, R0;
  12265. IF NE.x;
  12266. MOV.S R10.x, {-1, 0, 0, 0};
  12267. ELSE;
  12268. MOV.S R10.x, {0, 0, 0, 0};
  12269. ENDIF;
  12270. MOV.F R10.y, R10.w;
  12271. MOV.F R0.w, R21;
  12272. ADD.F32 R0.w, R0, R10.y;
  12273. MOV.S R18.y, R0.w;
  12274. MOV.F R10.z, R21;
  12275. MOV.F R10.y, R29.x;
  12276. ADD.F32 R10.y, R10, R10.z;
  12277. MOV.F R0.w, c[8];
  12278. MAX.F R10.z, R0.w, {0, 0, 0, 0}.x;
  12279. MOV.S R29.z, R10.y;
  12280. LG2.F32 R10.y, R10.z;
  12281. MUL.F32 R10.z, R10.y, {2, 0, 0, 0}.x;
  12282. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  12283. SEQ.F R10.z, R10.y, R10;
  12284. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  12285. TRUNC.U R10.w, R10;
  12286. TRUNC.U R10.z, R10;
  12287. AND.U R10.z, R10, R10.w;
  12288. SEQ.U R10.z, R10, {1, 0, 0, 0}.x;
  12289. MOV.U.CC RC.x, -R10.z;
  12290. MOV.S R17.z, R0.w;
  12291. IF NE.x;
  12292. MOV.F R10.y, {-3.40282347e+38, 0, 0, 0}.x;
  12293. ENDIF;
  12294. MOV.F R10.z, R14.w;
  12295. MUL.F32 R0.w, R10.z, R10.y;
  12296. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  12297. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  12298. TRUNC.U R10.z, R10.w;
  12299. TRUNC.U R10.y, R10;
  12300. AND.U.CC HC.x, R10.y, R10.z;
  12301. IF NE.x;
  12302. MOV.F R10.y, R0.w;
  12303. ELSE;
  12304. MOV.F R10.y, {0, 0, 0, 0}.x;
  12305. ENDIF;
  12306. MOV.S R10.y, R10;
  12307. MOV.F R10.z, R17;
  12308. SEQ.S R10.x, R10, {0, 0, 0, 0};
  12309. MOV.U.CC RC.x, -R10;
  12310. RCP.F32 R10.z, R10.z;
  12311. EX2.F32 R10.y, R10.y;
  12312. MAD.F32 R10.y, -R10, R10.z, R10.z;
  12313. MOV.S R0.w, R11.x;
  12314. MOV.S R16.w, R11;
  12315. MOV.S R10.w, R11.z;
  12316. MOV.S R17.y, R10;
  12317. MOV.S R20.y, {1065353216, 0, 0, 0}.x;
  12318. IF NE.x;
  12319. MOV.S R10.x, R17.y;
  12320. ELSE;
  12321. MOV.S R10.x, R14.w;
  12322. ENDIF;
  12323. MOV.F R11.z, R10.x;
  12324. MOV.F R10.z, R29.y;
  12325. MUL.F32 R10.y, R10.z, R11.z;
  12326. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12327. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12328. TRUNC.U R11.z, R11;
  12329. TRUNC.U R10.z, R10;
  12330. AND.U.CC HC.x, R10.z, R11.z;
  12331. IF NE.x;
  12332. ELSE;
  12333. MOV.F R10.y, {0, 0, 0, 0}.x;
  12334. ENDIF;
  12335. MOV.F R11.w, R10.x;
  12336. MOV.F R11.z, R23;
  12337. MUL.F32 R10.z, R11, R11.w;
  12338. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12339. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12340. TRUNC.U R11.z, R11;
  12341. TRUNC.U R11.w, R11;
  12342. AND.U.CC HC.x, R11.z, R11.w;
  12343. MOV.S R17.y, R10;
  12344. IF NE.x;
  12345. MOV.F R10.y, R10.z;
  12346. ELSE;
  12347. MOV.F R10.y, {0, 0, 0, 0}.x;
  12348. ENDIF;
  12349. MOV.F R11.z, R10.x;
  12350. MOV.F R10.z, R18.w;
  12351. MUL.F32 R10.x, R10.z, R11.z;
  12352. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12353. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12354. TRUNC.U R10.z, R10;
  12355. TRUNC.U R11.z, R11;
  12356. AND.U.CC HC.x, R10.z, R11.z;
  12357. MOV.S R17.z, R10.y;
  12358. IF NE.x;
  12359. ELSE;
  12360. MOV.F R10.x, {0, 0, 0, 0};
  12361. ENDIF;
  12362. MOV.F R10.y, R19.x;
  12363. ADD.F32 R10.x, R10.y, R10;
  12364. MAD.F32 R10.x, R10, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  12365. FRC.F32 R10.x, R10;
  12366. MAD.F32 R10.x, R10, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  12367. MUL.F32 R10.x, R10, {0.159154937, 0, 0, 0};
  12368. MOV.F R11.z, R17.y;
  12369. MOV.F R10.z, R18.y;
  12370. ADD.F32 R10.z, R10, R11;
  12371. MAD.F32 R10.y, R10.z, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  12372. FRC.F32 R10.y, R10;
  12373. MAD.F32 R10.y, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12374. MUL.F32 R10.y, R10, {0.159154937, 0, 0, 0}.x;
  12375. MOV.S R18.y, R10;
  12376. MOV.S R10.x, R10;
  12377. MOV.F R10.z, R17;
  12378. MOV.F R10.y, R29.z;
  12379. ADD.F32 R10.y, R10, R10.z;
  12380. MAD.F32 R10.y, R10, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  12381. FRC.F32 R10.z, R10.y;
  12382. MUL.F32 R10.y, R10.x, {6.28318548, 0, 0, 0}.x;
  12383. COS.F32 R11.w, R10.y;
  12384. MAD.F32 R10.z, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  12385. SIN.F32 R11.z, R10.z;
  12386. SIN.F32 R10.y, R10.y;
  12387. MUL.F32 R10.z, R10, {0.159154937, 0, 0, 0}.x;
  12388. MOV.S R19.y, R10;
  12389. MOV.S R19.x, R10.z;
  12390. SNE.F32 R10.z, R11, {0, 0, 0, 0}.x;
  12391. SNE.F32 R10.y, R11.w, {0, 0, 0, 0}.x;
  12392. TRUNC.U R10.z, R10;
  12393. TRUNC.U R10.y, R10;
  12394. AND.U.CC HC.x, R10.y, R10.z;
  12395. MUL.F32 R10.x, R11.z, R11.w;
  12396. MOV.S R29.z, R11;
  12397. MOV.S R29.x, R11.w;
  12398. IF NE.x;
  12399. ELSE;
  12400. MOV.F R10.x, {0, 0, 0, 0};
  12401. ENDIF;
  12402. MOV.F R10.z, R19.y;
  12403. MOV.F R11.z, R29;
  12404. MUL.F32 R10.y, R10.z, R11.z;
  12405. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12406. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12407. TRUNC.U R10.z, R10;
  12408. TRUNC.U R11.z, R11;
  12409. AND.U.CC HC.x, R10.z, R11.z;
  12410. MOV.S R19.z, R10.x;
  12411. IF NE.x;
  12412. MOV.F R10.x, R10.y;
  12413. ELSE;
  12414. MOV.F R10.x, {0, 0, 0, 0};
  12415. ENDIF;
  12416. MOV.F R10.y, R19.x;
  12417. MUL.F32 R10.y, R10, {6.28318548, 0, 0, 0}.x;
  12418. COS.F32 R10.y, R10.y;
  12419. MOV.S R10.y, R10;
  12420. MOV.S R10.z, R10.y;
  12421. MOV.F R11.z, R10;
  12422. MOV.F R10.z, R29.x;
  12423. MOV.S R23.z, R10.y;
  12424. MUL.F32 R10.y, R10.z, R11.z;
  12425. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12426. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12427. TRUNC.U R11.z, R11;
  12428. TRUNC.U R10.z, R10;
  12429. AND.U.CC HC.x, R10.z, R11.z;
  12430. MOV.S R18.w, R10.x;
  12431. IF NE.x;
  12432. MOV.F R10.x, R10.y;
  12433. ELSE;
  12434. MOV.F R10.x, {0, 0, 0, 0};
  12435. ENDIF;
  12436. MOV.F R11.z, R23;
  12437. MOV.F R10.z, R19.y;
  12438. MUL.F32 R10.y, R10.z, R11.z;
  12439. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12440. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12441. TRUNC.U R10.z, R10;
  12442. TRUNC.U R11.z, R11;
  12443. AND.U.CC HC.x, R10.z, R11.z;
  12444. MOV.S R10.x, R10;
  12445. IF NE.x;
  12446. ELSE;
  12447. MOV.F R10.y, {0, 0, 0, 0}.x;
  12448. ENDIF;
  12449. MOV.F R10.z, R18.y;
  12450. MUL.F32 R10.z, R10, {6.28318548, 0, 0, 0}.x;
  12451. SIN.F32 R10.z, R10.z;
  12452. SNE.F32 R11.z, R10, {0, 0, 0, 0}.x;
  12453. MOV.S R23.y, R10.z;
  12454. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  12455. TRUNC.U R11.z, R11;
  12456. TRUNC.U R11.w, R11;
  12457. AND.U.CC HC.x, R11.z, R11.w;
  12458. MUL.F32 R10.z, R10.y, R10;
  12459. MOV.S R29.y, R10;
  12460. IF NE.x;
  12461. ELSE;
  12462. MOV.F R10.z, {0, 0, 0, 0}.x;
  12463. ENDIF;
  12464. MOV.F R11.w, R23.y;
  12465. MOV.F R12.x, R10;
  12466. MOV.F R10.y, -R11.w;
  12467. MUL.F32 R11.z, R11.w, R12.x;
  12468. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12469. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12470. TRUNC.U R11.w, R11;
  12471. TRUNC.U R12.x, R12;
  12472. AND.U.CC HC.x, R11.w, R12;
  12473. MOV.S R10.y, R10;
  12474. MOV.S R21.x, R10.z;
  12475. IF NE.x;
  12476. MOV.F R10.z, R11;
  12477. ELSE;
  12478. MOV.F R10.z, {0, 0, 0, 0}.x;
  12479. ENDIF;
  12480. MOV.F R12.x, R19.z;
  12481. MOV.F R11.w, R23.y;
  12482. MUL.F32 R11.z, R11.w, R12.x;
  12483. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12484. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12485. TRUNC.U R11.w, R11;
  12486. TRUNC.U R12.x, R12;
  12487. AND.U.CC HC.x, R11.w, R12;
  12488. MOV.S R21.z, R10;
  12489. IF NE.x;
  12490. MOV.F R10.z, R11;
  12491. ELSE;
  12492. MOV.F R10.z, {0, 0, 0, 0}.x;
  12493. ENDIF;
  12494. MOV.F R11.w, R21.z;
  12495. MOV.F R11.z, R18.w;
  12496. ADD.F32 R11.z, R11, R11.w;
  12497. MOV.S R20.x, R11.z;
  12498. MOV.F R11.z, R19;
  12499. MOV.F R11.w, R21.x;
  12500. ADD.F32 R11.w, -R11.z, R11;
  12501. MOV.F R11.z, R18.y;
  12502. MUL.F32 R11.z, R11, {6.28318548, 0, 0, 0}.x;
  12503. MOV.S R12.z, R11.w;
  12504. COS.F32 R11.w, R11.z;
  12505. MOV.F R12.x, R23.z;
  12506. MUL.F32 R11.z, R11.w, R12.x;
  12507. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12508. TRUNC.U R12.w, R12.x;
  12509. MOV.S R19.x, R11.w;
  12510. MOV.F R12.x, R29.y;
  12511. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12512. ADD.F32 R10.z, -R12.x, R10;
  12513. TRUNC.U R11.w, R11;
  12514. AND.U.CC HC.x, R12.w, R11.w;
  12515. MOV.S R17.y, R10.z;
  12516. IF NE.x;
  12517. MOV.F R10.z, R11;
  12518. ELSE;
  12519. MOV.F R10.z, {0, 0, 0, 0}.x;
  12520. ENDIF;
  12521. MOV.F R12.x, R19;
  12522. MOV.F R11.w, R29.x;
  12523. MUL.F32 R11.z, R11.w, R12.x;
  12524. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12525. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12526. TRUNC.U R12.x, R12;
  12527. TRUNC.U R11.w, R11;
  12528. AND.U.CC HC.x, R11.w, R12;
  12529. MOV.S R13.w, R10.z;
  12530. IF NE.x;
  12531. MOV.F R10.z, R11;
  12532. ELSE;
  12533. MOV.F R10.z, {0, 0, 0, 0}.x;
  12534. ENDIF;
  12535. MOV.F R12.x, R19;
  12536. MOV.F R11.w, R19.y;
  12537. MUL.F32 R11.z, R11.w, R12.x;
  12538. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12539. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12540. TRUNC.U R11.w, R11;
  12541. TRUNC.U R12.x, R12;
  12542. AND.U.CC HC.x, R11.w, R12;
  12543. MOV.S R23.w, R10.z;
  12544. IF NE.x;
  12545. MOV.F R10.z, R11;
  12546. ELSE;
  12547. MOV.F R10.z, {0, 0, 0, 0}.x;
  12548. ENDIF;
  12549. MOV.F R12.x, R18.w;
  12550. MOV.F R11.w, R23.y;
  12551. MUL.F32 R11.z, R11.w, R12.x;
  12552. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  12553. TRUNC.U R12.w, R12.x;
  12554. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12555. TRUNC.U R11.w, R11;
  12556. AND.U.CC HC.x, R11.w, R12.w;
  12557. MOV.S R12.x, R10.z;
  12558. IF NE.x;
  12559. MOV.F R10.z, R11;
  12560. ELSE;
  12561. MOV.F R10.z, {0, 0, 0, 0}.x;
  12562. ENDIF;
  12563. MOV.F R12.w, R13.x;
  12564. MOV.F R11.w, R17.y;
  12565. MUL.F32 R11.z, R11.w, R12.w;
  12566. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12567. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  12568. TRUNC.U R11.w, R11;
  12569. TRUNC.U R12.w, R12;
  12570. AND.U.CC HC.x, R11.w, R12.w;
  12571. MOV.S R13.y, R10.z;
  12572. IF NE.x;
  12573. MOV.F R10.z, R11;
  12574. ELSE;
  12575. MOV.F R10.z, {0, 0, 0, 0}.x;
  12576. ENDIF;
  12577. MOV.F R12.w, R19.x;
  12578. MOV.F R11.z, R29;
  12579. MUL.F32 R11.w, R11.z, R12;
  12580. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  12581. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  12582. TRUNC.U R17.x, R12.w;
  12583. TRUNC.U R12.w, R11.z;
  12584. AND.U.CC HC.x, R12.w, R17;
  12585. MOV.S R11.z, R10;
  12586. IF NE.x;
  12587. MOV.F R10.z, R11.w;
  12588. ELSE;
  12589. MOV.F R10.z, {0, 0, 0, 0}.x;
  12590. ENDIF;
  12591. MOV.F R17.x, R17.y;
  12592. MOV.F R11.w, R27.z;
  12593. MUL.F32 R12.w, R11, R17.x;
  12594. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  12595. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12596. TRUNC.U R17.y, R17.x;
  12597. TRUNC.U R17.x, R11.w;
  12598. AND.U.CC HC.x, R17, R17.y;
  12599. MOV.S R11.w, R10.z;
  12600. IF NE.x;
  12601. MOV.F R10.z, R12.w;
  12602. ELSE;
  12603. MOV.F R10.z, {0, 0, 0, 0}.x;
  12604. ENDIF;
  12605. MOV.S R12.w, R10.z;
  12606. ENDIF;
  12607. SEQ.U R10.z, R31.w, {1, 0, 0, 0}.x;
  12608. MOV.U.CC RC.x, -R10.z;
  12609. IF NE.x;
  12610. MOV.F R17.x, R13;
  12611. MOV.F R10.z, R11.w;
  12612. MUL.F32 R0.y, R10.z, R17.x;
  12613. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  12614. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12615. TRUNC.U R17.x, R17;
  12616. TRUNC.U R10.z, R10;
  12617. AND.U.CC HC.x, R10.z, R17;
  12618. IF NE.x;
  12619. ELSE;
  12620. MOV.F R0.y, {0, 0, 0, 0}.x;
  12621. ENDIF;
  12622. MOV.F R10.z, R13.y;
  12623. ADD.F32 R10.x, R10, R10.z;
  12624. MOV.S R19.x, R0.y;
  12625. MOV.F R0.y, c[12];
  12626. MUL.F32 R0.y, R0, {0.5, 0, 0, 0}.x;
  12627. MOV.F R10.z, R27;
  12628. MOV.S R17.w, R10.x;
  12629. MUL.F32 R10.x, R10.z, R11.w;
  12630. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12631. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12632. TRUNC.U R17.x, R11.w;
  12633. TRUNC.U R11.w, R10.z;
  12634. MOV.F R10.z, c[12].x;
  12635. MUL.F32 R10.z, R10, {0.5, 0, 0, 0}.x;
  12636. AND.U.CC HC.x, R11.w, R17;
  12637. MOV.S R17.z, R10;
  12638. MOV.S R17.y, R0;
  12639. IF NE.x;
  12640. MOV.F R0.y, R10.x;
  12641. ELSE;
  12642. MOV.F R0.y, {0, 0, 0, 0}.x;
  12643. ENDIF;
  12644. MOV.F R11.w, R17;
  12645. MOV.F R10.x, R28;
  12646. MOV.F R10.z, R17;
  12647. ADD.F32 R10.z, R10.x, R10;
  12648. MOV.S R21.x, R10.z;
  12649. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  12650. MUL.F32 R10.x, R11.w, R13;
  12651. SNE.F32 R11.w, R13.x, {0, 0, 0, 0}.x;
  12652. TRUNC.U R10.z, R10;
  12653. TRUNC.U R11.w, R11;
  12654. AND.U.CC HC.x, R10.z, R11.w;
  12655. MOV.S R26.w, R0.y;
  12656. IF NE.x;
  12657. MOV.F R0.y, R10.x;
  12658. ELSE;
  12659. MOV.F R0.y, {0, 0, 0, 0}.x;
  12660. ENDIF;
  12661. MOV.F R11.w, R17;
  12662. MOV.F R10.z, R27;
  12663. MUL.F32 R10.x, R10.z, R11.w;
  12664. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12665. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12666. TRUNC.U R11.w, R11;
  12667. TRUNC.U R10.z, R10;
  12668. AND.U.CC HC.x, R10.z, R11.w;
  12669. MOV.S R19.y, R0;
  12670. IF NE.x;
  12671. MOV.F R0.y, R10.x;
  12672. ELSE;
  12673. MOV.F R0.y, {0, 0, 0, 0}.x;
  12674. ENDIF;
  12675. MOV.F R10.z, R17.y;
  12676. MOV.F R10.x, R28.y;
  12677. ADD.F32 R10.x, R10, R10.z;
  12678. MOV.F R11.w, R10.y;
  12679. MOV.F R10.z, R27.y;
  12680. MOV.S R21.w, R10.x;
  12681. MUL.F32 R10.x, R10.z, R11.w;
  12682. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12683. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12684. TRUNC.U R11.w, R11;
  12685. TRUNC.U R10.z, R10;
  12686. AND.U.CC HC.x, R10.z, R11.w;
  12687. MOV.S R21.z, R0.y;
  12688. IF NE.x;
  12689. MOV.F R0.y, R10.x;
  12690. ELSE;
  12691. MOV.F R0.y, {0, 0, 0, 0}.x;
  12692. ENDIF;
  12693. MOV.F R10.x, R12;
  12694. MOV.F R11.w, R27.y;
  12695. SNE.F32 R13.x, R10, {0, 0, 0, 0};
  12696. MUL.F32 R10.z, R11.w, R10.x;
  12697. MOV.F R10.x, R26.w;
  12698. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12699. ADD.F32 R0.y, R0, R10.x;
  12700. TRUNC.U R13.x, R13;
  12701. TRUNC.U R11.w, R11;
  12702. AND.U.CC HC.x, R11.w, R13;
  12703. MOV.S R10.x, R0.y;
  12704. IF NE.x;
  12705. MOV.F R0.y, R10.z;
  12706. ELSE;
  12707. MOV.F R0.y, {0, 0, 0, 0}.x;
  12708. ENDIF;
  12709. MOV.F R10.z, R21;
  12710. ADD.F32 R10.z, R0.y, R10;
  12711. MOV.F R11.w, R12.y;
  12712. MOV.F R13.x, R21.w;
  12713. MUL.F32 R0.y, R11.w, R13.x;
  12714. MOV.S R26.x, R10.z;
  12715. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  12716. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  12717. TRUNC.U R11.w, R13.x;
  12718. TRUNC.U R10.z, R10;
  12719. AND.U.CC HC.x, R10.z, R11.w;
  12720. IF NE.x;
  12721. ELSE;
  12722. MOV.F R0.y, {0, 0, 0, 0}.x;
  12723. ENDIF;
  12724. MOV.F R13.x, R21;
  12725. MOV.F R11.w, R13.z;
  12726. MUL.F32 R10.z, R11.w, R13.x;
  12727. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12728. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  12729. TRUNC.U R11.w, R11;
  12730. TRUNC.U R13.x, R13;
  12731. AND.U.CC HC.x, R11.w, R13;
  12732. MOV.S R17.y, R0;
  12733. IF NE.x;
  12734. MOV.F R0.y, R10.z;
  12735. ELSE;
  12736. MOV.F R0.y, {0, 0, 0, 0}.x;
  12737. ENDIF;
  12738. MOV.F R13.x, R23.w;
  12739. MOV.F R11.w, R27.y;
  12740. MUL.F32 R10.z, R11.w, R13.x;
  12741. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12742. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  12743. TRUNC.U R11.w, R11;
  12744. TRUNC.U R13.x, R13;
  12745. AND.U.CC HC.x, R11.w, R13;
  12746. MOV.S R19.z, R0.y;
  12747. IF NE.x;
  12748. MOV.F R0.y, R10.z;
  12749. ELSE;
  12750. MOV.F R0.y, {0, 0, 0, 0}.x;
  12751. ENDIF;
  12752. MOV.F R10.z, R12.w;
  12753. ADD.F32 R0.y, R0, R10.z;
  12754. MOV.F R11.w, R13;
  12755. MOV.F R10.z, R27.x;
  12756. MOV.S R18.w, R0.y;
  12757. MUL.F32 R0.y, R10.z, R11.w;
  12758. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12759. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12760. TRUNC.U R11.w, R11;
  12761. TRUNC.U R10.z, R10;
  12762. AND.U.CC HC.x, R10.z, R11.w;
  12763. IF NE.x;
  12764. ELSE;
  12765. MOV.F R0.y, {0, 0, 0, 0}.x;
  12766. ENDIF;
  12767. MOV.F R10.z, R12;
  12768. SNE.F32 R12.w, R10.z, {0, 0, 0, 0}.x;
  12769. MOV.F R11.w, R27.x;
  12770. ADD.F32 R0.y, R0, R10.x;
  12771. MUL.F32 R10.z, R11.w, R10;
  12772. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  12773. TRUNC.U R12.w, R12;
  12774. TRUNC.U R10.x, R11.w;
  12775. AND.U.CC HC.x, R10, R12.w;
  12776. MOV.S R29.x, R0.y;
  12777. IF NE.x;
  12778. MOV.F R0.y, R10.z;
  12779. ELSE;
  12780. MOV.F R0.y, {0, 0, 0, 0}.x;
  12781. ENDIF;
  12782. MOV.F R10.x, R26;
  12783. ADD.F32 R0.y, R0, R10.x;
  12784. MOV.F R10.z, R23.w;
  12785. MOV.F R10.x, R17.y;
  12786. MOV.S R23.x, R0.y;
  12787. MUL.F32 R0.y, R10.x, R10.z;
  12788. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12789. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12790. TRUNC.U R10.z, R10;
  12791. TRUNC.U R10.x, R10;
  12792. AND.U.CC HC.x, R10, R10.z;
  12793. IF NE.x;
  12794. ELSE;
  12795. MOV.F R0.y, {0, 0, 0, 0}.x;
  12796. ENDIF;
  12797. MOV.F R10.z, R10.y;
  12798. MOV.F R10.x, R11.z;
  12799. ADD.F32 R10.x, R0.y, R10;
  12800. MOV.F R10.y, R17;
  12801. MUL.F32 R0.y, R10, R10.z;
  12802. MOV.S R26.y, R10.x;
  12803. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12804. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12805. TRUNC.U R10.y, R10.z;
  12806. TRUNC.U R10.x, R10;
  12807. AND.U.CC HC.x, R10, R10.y;
  12808. IF NE.x;
  12809. ELSE;
  12810. MOV.F R0.y, {0, 0, 0, 0}.x;
  12811. ENDIF;
  12812. MOV.F R10.x, R19;
  12813. ADD.F32 R10.x, R0.y, R10;
  12814. MOV.F R10.y, R17;
  12815. MOV.F R10.z, R12.x;
  12816. MUL.F32 R0.y, R10, R10.z;
  12817. MOV.S R26.z, R10.x;
  12818. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12819. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12820. TRUNC.U R10.y, R10.z;
  12821. TRUNC.U R10.x, R10;
  12822. AND.U.CC HC.x, R10, R10.y;
  12823. IF NE.x;
  12824. ELSE;
  12825. MOV.F R0.y, {0, 0, 0, 0}.x;
  12826. ENDIF;
  12827. MOV.F R10.x, R19.y;
  12828. ADD.F32 R10.x, R0.y, R10;
  12829. MOV.F R10.y, R19.z;
  12830. MOV.F R10.z, R13.w;
  12831. MOV.S R26.w, R10.x;
  12832. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12833. MUL.F32 R0.y, R10, R10.z;
  12834. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  12835. TRUNC.U R10.x, R10;
  12836. TRUNC.U R10.y, R10;
  12837. AND.U.CC HC.x, R10, R10.y;
  12838. MOV.S R12.w, c[13].x;
  12839. IF NE.x;
  12840. ELSE;
  12841. MOV.F R0.y, {0, 0, 0, 0}.x;
  12842. ENDIF;
  12843. MOV.F R10.x, R26.z;
  12844. ADD.F32 R10.x, R0.y, R10;
  12845. MOV.F R10.y, R19.z;
  12846. MOV.F R10.z, R20.x;
  12847. MUL.F32 R0.y, R10, R10.z;
  12848. MOV.S R19.x, R10;
  12849. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12850. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12851. TRUNC.U R10.y, R10.z;
  12852. TRUNC.U R10.x, R10;
  12853. AND.U.CC HC.x, R10, R10.y;
  12854. IF NE.x;
  12855. ELSE;
  12856. MOV.F R0.y, {0, 0, 0, 0}.x;
  12857. ENDIF;
  12858. MOV.F R10.x, R26.y;
  12859. ADD.F32 R10.x, R0.y, R10;
  12860. MOV.F R10.y, R19.z;
  12861. MOV.F R10.z, R12;
  12862. MUL.F32 R0.y, R10, R10.z;
  12863. MOV.S R19.y, R10.x;
  12864. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12865. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12866. TRUNC.U R10.y, R10.z;
  12867. TRUNC.U R10.x, R10;
  12868. AND.U.CC HC.x, R10, R10.y;
  12869. IF NE.x;
  12870. ELSE;
  12871. MOV.F R0.y, {0, 0, 0, 0}.x;
  12872. ENDIF;
  12873. MOV.F R10.x, R26.w;
  12874. ADD.F32 R0.y, R0, R10.x;
  12875. MOV.F R10.y, R20.x;
  12876. MOV.F R10.x, R27;
  12877. MOV.S R19.z, R0.y;
  12878. MUL.F32 R0.y, R10.x, R10;
  12879. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12880. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12881. TRUNC.U R10.y, R10;
  12882. TRUNC.U R10.x, R10;
  12883. AND.U.CC HC.x, R10, R10.y;
  12884. IF NE.x;
  12885. ELSE;
  12886. MOV.F R0.y, {0, 0, 0, 0}.x;
  12887. ENDIF;
  12888. MOV.F R17.w, R20.y;
  12889. MOV.F R17.xyz, R19;
  12890. MOV.F R21.xyz, R14;
  12891. MOV.F R21.w, R0;
  12892. DP4.F32 R0.w, R21, R17;
  12893. MOV.S R13.x, R0.w;
  12894. MOV.F R0.w, R18;
  12895. ADD.F32 R0.w, R0.y, R0;
  12896. MOV.F R18.w, R16;
  12897. MOV.F R18.xyz, R15;
  12898. DP4.F32 R10.x, R17, R18;
  12899. MOV.S R18.w, R0;
  12900. MOV.F R0.w, c[14].y;
  12901. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  12902. TRUNC.U.CC HC.x, R0.w;
  12903. MOV.S R0.y, R10.x;
  12904. MOV.S R12.z, c[13].y;
  12905. MOV.S R20.x, c[13].z;
  12906. IF NE.x;
  12907. MOV.F R0.w, {1, 0, 0, 0}.x;
  12908. ELSE;
  12909. MOV.F R0.w, {0, 0, 0, 0}.x;
  12910. ENDIF;
  12911. MOV.S R23.y, R0.w;
  12912. MOV.F R10.xyz, R16;
  12913. MOV.F R17.w, R20.y;
  12914. MOV.F R17.xyz, R19;
  12915. DP4.F32 R11.z, R10, R17;
  12916. MOV.F R17.xyz, R14;
  12917. MOV.F R10.y, R18.w;
  12918. MOV.F R10.z, R23.x;
  12919. MOV.F R10.x, R29;
  12920. MOV.F R10.w, {0, 0, 0, 0}.x;
  12921. MOV.F R17.w, {-0, 0, 0, 0}.x;
  12922. DP4.F32 R10.x, R17, R10;
  12923. MOV.S R24.x, R10;
  12924. MOV.F R10.x, c[14].y;
  12925. SGT.F32 R10.x, {0, 0, 0, 0}, R10;
  12926. TRUNC.U.CC HC.x, R10;
  12927. MOV.S R11.z, R11;
  12928. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  12929. IF NE.x;
  12930. MOV.F R11.w, {1, 0, 0, 0}.x;
  12931. ELSE;
  12932. MOV.F R11.w, {0, 0, 0, 0}.x;
  12933. ENDIF;
  12934. MOV.F R10.xyz, R16;
  12935. MOV.F R17.x, R29;
  12936. MOV.F R17.y, R18.w;
  12937. MOV.F R17.z, R23.x;
  12938. MOV.F R17.w, {0, 0, 0, 0}.x;
  12939. MOV.F R10.w, {-0, 0, 0, 0}.x;
  12940. DP4.F32 R10.x, R10, R17;
  12941. MOV.F R13.z, R23.y;
  12942. ADD.F32 R10.y, R13.z, -R11.w;
  12943. MOV.S R11.w, R10.y;
  12944. MOV.S R24.z, R10.x;
  12945. MOV.F R10.xyz, R15;
  12946. MOV.F R10.w, {-0, 0, 0, 0}.x;
  12947. DP4.F32 R10.x, R10, R17;
  12948. MOV.S R10.y, R11.w;
  12949. MOV.S R24.y, R10.x;
  12950. MOV.F R10.x, R10.y;
  12951. ADD.F32 R10.y, -R10.x, {1, 0, 0, 0}.x;
  12952. MOV.S R29.x, R10.y;
  12953. MOV.F R10.y, c[2].z;
  12954. MOV.S R19.z, R11.w;
  12955. MOV.F R10.z, R14.w;
  12956. MOV.F R10.x, c[14].y;
  12957. DIV.F32 R10.x, R10.z, R10.x;
  12958. MOV.S R21.y, R10.x;
  12959. MOV.F R10.x, R9;
  12960. SNE.F32 R10.z, R10.x, {0, 0, 0, 0}.x;
  12961. TRUNC.U R10.w, R10.z;
  12962. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  12963. MUL.F32 R10.x, R10, R10.y;
  12964. MOV.F R10.z, c[16].x;
  12965. MOV.F R10.y, c[15].x;
  12966. ADD.F32 R10.y, -R10, R10.z;
  12967. TRUNC.U R10.z, R11.w;
  12968. AND.U.CC HC.x, R10.w, R10.z;
  12969. MOV.S R23.z, R10.y;
  12970. IF NE.x;
  12971. ELSE;
  12972. MOV.F R10.x, {0, 0, 0, 0};
  12973. ENDIF;
  12974. MOV.F R10.y, R21;
  12975. ADD.F32 R10.x, R10, R10.y;
  12976. MOV.F R10.z, R19;
  12977. MOV.S R10.x, R10;
  12978. FRC.F32 R10.y
  12979. [15:03:17] Link error in shader. Log:
  12980. [15:03:17] Vertex info
  12981. -----------
  12982. Internal error: assembly compile error for vertex shader at offset 1806:
  12983. -- error message --
  12984. line 38, column 45: error: invalid vertex attribute reference
  12985. line 44, column 25: error: invalid vertex attribute reference
  12986. line 46, column 25: error: invalid vertex attribute reference
  12987. line 48, column 25: error: invalid vertex attribute reference
  12988. line 51, column 25: error: invalid vertex attribute reference
  12989. -- internal assembly text --
  12990. !!NVvp5.0
  12991. OPTION NV_internal;
  12992. OPTION NV_bindless_texture;
  12993. # cgc version 3.4.0001, build date Sep 5 2019
  12994. # command line args:
  12995. #vendor NVIDIA Corporation
  12996. #version 3.4.0.1 COP Build Date Sep 5 2019
  12997. #profile gp5vp
  12998. #program main
  12999. #semantic uf_remappedVS
  13000. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  13001. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  13002. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  13003. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  13004. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  13005. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  13006. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  13007. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  13008. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  13009. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  13010. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  13011. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  13012. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  13013. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  13014. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  13015. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  13016. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  13017. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  13018. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  13019. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  13020. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  13021. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  13022. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  13023. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  13024. #var int4 uf_remappedVS[0] : : c[0], 36 : -1 : 1
  13025. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  13026. PARAM c[36] = { program.local[0..35] };
  13027. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  13028. OUTPUT result_attrib[] = { result.attrib[0..4] };
  13029. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24;
  13030. TEMP T;
  13031. TEMP RC;
  13032. SHORT TEMP HC;
  13033. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  13034. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13035. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  13036. OR.U R0, R0, R1;
  13037. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  13038. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13039. OR.U R0, R0, R1;
  13040. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  13041. OR.U R4, R0, R2;
  13042. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  13043. AND.U R2, R1, {65280, 0, 0, 0}.x;
  13044. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  13045. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  13046. OR.U R1, R1, R2;
  13047. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  13048. OR.U R0, R1, R0;
  13049. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  13050. OR.U R5, R0, R2;
  13051. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  13052. AND.U R2, R1, {65280, 0, 0, 0}.x;
  13053. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  13054. OR.U R1, R1, R2;
  13055. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  13056. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13057. OR.U R1, R1, R2;
  13058. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  13059. OR.U R18, R1, R0;
  13060. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  13061. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13062. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  13063. OR.U R0, R0, R1;
  13064. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  13065. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13066. OR.U R0, R0, R1;
  13067. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  13068. OR.U R6, R0, R2;
  13069. MOV.U R0.x, R18.w;
  13070. MOV.F R0.y, c[0].x;
  13071. ADD.F32 R3.x, -R0, R0.y;
  13072. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  13073. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  13074. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13075. TRUNC.U R11.x, R3.y;
  13076. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  13077. MOV.S R18.w, R3.x;
  13078. OR.U R0, R0, R1;
  13079. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  13080. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13081. OR.U R0, R0, R1;
  13082. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  13083. OR.U R7, R0, R2;
  13084. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  13085. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13086. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  13087. OR.U R0, R0, R1;
  13088. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  13089. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13090. OR.U R0, R0, R1;
  13091. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  13092. OR.U R8, R0, R2;
  13093. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  13094. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13095. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  13096. OR.U R0, R0, R1;
  13097. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  13098. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13099. OR.U R0, R0, R1;
  13100. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  13101. OR.U R17, R0, R2;
  13102. SEQ.U R0.x, R11, {1, 0, 0, 0};
  13103. SEQ.U R11.y, -R0.x, {1, 0, 0, 0}.x;
  13104. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  13105. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13106. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  13107. MOV.U.CC RC.x, -R11.y;
  13108. OR.U R0.xyz, R0, R1;
  13109. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  13110. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13111. OR.U R0.xyz, R0, R1;
  13112. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  13113. OR.U R19.xyz, R0, R2;
  13114. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13115. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13116. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13117. OR.U R0.xyz, R0, R1;
  13118. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13119. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13120. OR.U R0.xyz, R0, R1;
  13121. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13122. OR.U R23.xyz, R0, R2;
  13123. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13124. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13125. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13126. OR.U R0.xyz, R0, R1;
  13127. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13128. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13129. OR.U R0.xyz, R0, R1;
  13130. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13131. OR.U R20.xyz, R0, R2;
  13132. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  13133. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13134. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  13135. OR.U R0.xyz, R0, R1;
  13136. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  13137. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13138. OR.U R0.xyz, R0, R1;
  13139. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  13140. OR.U R21.xyz, R0, R2;
  13141. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13142. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13143. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13144. OR.U R0.xyz, R0, R1;
  13145. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13146. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13147. OR.U R0.xyz, R0, R1;
  13148. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13149. OR.U R22.xyz, R0, R2;
  13150. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  13151. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13152. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  13153. OR.U R0.xyz, R0, R1;
  13154. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  13155. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13156. OR.U R0.xyz, R0, R1;
  13157. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  13158. OR.U R9.xyz, R0, R2;
  13159. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  13160. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13161. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  13162. OR.U R0.xyz, R0, R1;
  13163. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  13164. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13165. OR.U R0.xyz, R0, R1;
  13166. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  13167. OR.U R10.xyz, R0, R2;
  13168. MOV.S R0, {0, 0, 0, 0}.x;
  13169. MOV.S R1, {0, 0, 0, 0}.x;
  13170. MOV.S R2, {0, 0, 0, 0}.x;
  13171. MOV.S R24.xy, {0, 0, 0, 0}.x;
  13172. MOV.S R3.yz, {0, 0, 0, 0};
  13173. MOV.S R3.x, vertex.id;
  13174. MOV.S R3.w, vertex.instance.x;
  13175. MOV.S R9.w, {0, 0, 0, 0}.x;
  13176. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  13177. IF NE.x;
  13178. MOV.F R0.z, c[1].y;
  13179. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  13180. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  13181. MOV.S R24.xy, {0, 0, 0, 0}.x;
  13182. MOV.S R0.z, R0;
  13183. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  13184. ENDIF;
  13185. SEQ.U R11.x, R11, {0, 0, 0, 0};
  13186. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  13187. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  13188. MOV.U.CC RC.x, -R11;
  13189. IF NE.x;
  13190. MOV.S R17.w, {0, 0, 0, 0}.x;
  13191. ENDIF;
  13192. SEQ.S R11.x, R17.w, {0, 0, 0, 0};
  13193. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  13194. SEQ.U R11.z, -R11.y, {1, 0, 0, 0}.x;
  13195. MOV.U.CC RC.x, -R11.z;
  13196. MOV.U R11.x, -R11;
  13197. MOV.U R11.y, -R11;
  13198. IF NE.x;
  13199. MOV.F R11.z, R5.w;
  13200. TRUNC.S R11.z, R11;
  13201. I2F.S R11.z, R11;
  13202. MOV.F R11.w, R18;
  13203. SGE.F32 R11.w, R11, R11.z;
  13204. MOV.S R23.z, R11;
  13205. TRUNC.U R11.z, R11.w;
  13206. SEQ.U R11.w, R11.y, {1, 0, 0, 0}.x;
  13207. SEQ.U R11.y, R11.z, {1, 0, 0, 0}.x;
  13208. AND.U R17.w, -R11.y, -R11;
  13209. ELSE;
  13210. MOV.U R17.w, {0, 0, 0, 0}.x;
  13211. ENDIF;
  13212. SEQ.U R11.y, R17.w, {1, 0, 0, 0}.x;
  13213. MOV.U.CC RC.x, -R11.y;
  13214. IF NE.x;
  13215. MOV.F R0.z, c[1].y;
  13216. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  13217. MOV.S R0.xy, {0, 0, 0, 0};
  13218. MOV.S R0.z, R0;
  13219. MOV.S R24.x, {0, 0, 0, 0};
  13220. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  13221. ENDIF;
  13222. SEQ.U R11.x, R11, {1, 0, 0, 0};
  13223. SEQ.U R11.z, -R11.x, {1, 0, 0, 0}.x;
  13224. MOV.U.CC RC.x, -R11.z;
  13225. MOV.U R11.y, -R11.x;
  13226. IF NE.x;
  13227. SEQ.S R11.x, R9.w, {0, 0, 0, 0};
  13228. SEQ.U R11.y, R11, {1, 0, 0, 0}.x;
  13229. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  13230. AND.U R17.w, -R11.x, -R11.y;
  13231. ELSE;
  13232. MOV.U R17.w, {0, 0, 0, 0}.x;
  13233. ENDIF;
  13234. SEQ.U R11.x, R17.w, {1, 0, 0, 0};
  13235. MOV.U.CC RC.x, -R11;
  13236. IF NE.x;
  13237. MOV.F R3.x, c[2];
  13238. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  13239. TRUNC.U.CC HC.x, R3;
  13240. IF NE.x;
  13241. MOV.F R3.x, {1, 0, 0, 0};
  13242. ELSE;
  13243. MOV.F R3.x, {0, 0, 0, 0};
  13244. ENDIF;
  13245. MOV.F R3.y, R21.x;
  13246. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  13247. MOV.S R11.y, R3;
  13248. MOV.F R3.y, c[2].x;
  13249. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  13250. TRUNC.U.CC HC.x, R3.y;
  13251. MOV.S R11.x, R3;
  13252. IF NE.x;
  13253. MOV.F R3.x, {1, 0, 0, 0};
  13254. ELSE;
  13255. MOV.F R3.x, {0, 0, 0, 0};
  13256. ENDIF;
  13257. MOV.F R3.y, R21.x;
  13258. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  13259. MOV.F R3.z, c[3].y;
  13260. MUL.F32 R3.y, R3, R3.z;
  13261. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  13262. TRUNC.U R3.w, R3;
  13263. TRUNC.U R3.z, R3;
  13264. AND.U.CC HC.x, R3.w, R3.z;
  13265. MOV.S R11.z, R3.x;
  13266. IF NE.x;
  13267. MOV.F R3.x, R3.y;
  13268. ELSE;
  13269. MOV.F R3.x, {0, 0, 0, 0};
  13270. ENDIF;
  13271. MOV.F R3.y, R11.z;
  13272. MOV.F R3.z, R11.x;
  13273. ADD.F32 R3.z, R3.y, -R3;
  13274. MOV.F R5.w, R18;
  13275. MOV.F R3.w, R23.z;
  13276. DIV.F32 R3.w, R5, R3.w;
  13277. MOV.S R11.x, R3.w;
  13278. MOV.S R3.w, R11.x;
  13279. MOV.F R11.z, R3.w;
  13280. MOV.F R3.w, R11.y;
  13281. ADD.F32 R3.y, -R3.z, {1, 0, 0, 0}.x;
  13282. MIN.F R9.w, R3, {0, 0, 0, 0}.x;
  13283. MOV.F R10.w, R20.x;
  13284. ADD.F32 R9.w, R10, R9;
  13285. MOV.S R13.x, R3.z;
  13286. SNE.F32 R3.z, -R3, {-1, 0, 0, 0}.x;
  13287. MOV.F R3.w, c[2].x;
  13288. RCP.F32 R3.w, R3.w;
  13289. MAD.F32 R3.x, R5.w, R3.w, R3;
  13290. MOV.S R11.y, R3.x;
  13291. SNE.F32 R3.x, R11.z, {0, 0, 0, 0};
  13292. MOV.S R20.x, R9.w;
  13293. TRUNC.U R9.w, R3.x;
  13294. TRUNC.U R3.z, R3;
  13295. AND.U.CC HC.x, R9.w, R3.z;
  13296. MOV.F R3.w, c[5].x;
  13297. MOV.F R3.x, c[4];
  13298. ADD.F32 R3.x, -R3, R3.w;
  13299. MOV.F R5.w, c[5].y;
  13300. MOV.F R3.w, c[4].y;
  13301. ADD.F32 R3.w, -R3, R5;
  13302. MUL.F32 R3.y, R11.z, R3;
  13303. MOV.S R18.z, R11.x;
  13304. MOV.S R13.z, R3.x;
  13305. MOV.S R12.z, R3.w;
  13306. IF NE.x;
  13307. MOV.F R3.x, R3.y;
  13308. ELSE;
  13309. MOV.F R3.x, {0, 0, 0, 0};
  13310. ENDIF;
  13311. MOV.F R3.y, R11;
  13312. FRC.F32 R3.z, R3.y;
  13313. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  13314. MOV.F R3.w, R13.x;
  13315. MUL.F32 R3.y, R3.w, R3.z;
  13316. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13317. TRUNC.U R9.w, R3;
  13318. TRUNC.U R10.w, R5;
  13319. AND.U.CC HC.x, R9.w, R10.w;
  13320. MOV.F R3.w, c[5].z;
  13321. MOV.F R3.z, c[4];
  13322. ADD.F32 R3.z, -R3, R3.w;
  13323. MOV.S R13.y, R3.z;
  13324. MOV.F R3.w, c[5];
  13325. MOV.F R3.z, c[4].w;
  13326. ADD.F32 R3.z, -R3, R3.w;
  13327. MOV.F R5.w, c[6].x;
  13328. MOV.F R3.w, c[5].x;
  13329. ADD.F32 R3.w, -R3, R5;
  13330. MOV.S R16.z, R3;
  13331. MOV.S R15.x, R3.w;
  13332. MOV.S R12.x, R3;
  13333. IF NE.x;
  13334. MOV.F R3.x, R3.y;
  13335. ELSE;
  13336. MOV.F R3.x, {0, 0, 0, 0};
  13337. ENDIF;
  13338. MOV.F R3.z, R16;
  13339. MOV.F R3.y, R13.z;
  13340. DIV.F32 R5.w, R3.y, R3.z;
  13341. MOV.F R3.y, R12.z;
  13342. DIV.F32 R3.y, R3, R3.z;
  13343. MOV.F R3.w, R12.x;
  13344. MOV.S R3.x, R3;
  13345. ADD.F32 R3.w, R3, R3.x;
  13346. MOV.F R9.w, c[4];
  13347. ADD.F32 R10.w, R3, -R9;
  13348. MOV.S R12.x, R3.y;
  13349. MOV.F R3.y, R13;
  13350. DIV.F32 R3.y, R3, R3.z;
  13351. SNE.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  13352. MUL.F32 R3.x, R10.w, R3.y;
  13353. TRUNC.U R3.y, R3.z;
  13354. SNE.F32 R9.w, R3, R9;
  13355. MOV.S R13.x, R10.w;
  13356. TRUNC.U R10.w, R9;
  13357. AND.U.CC HC.x, R10.w, R3.y;
  13358. MOV.F R3.z, c[5].w;
  13359. MOV.S R13.z, R5.w;
  13360. ADD.F32 R5.w, R3, -R3.z;
  13361. MOV.S R15.y, R3.w;
  13362. MOV.S R13.y, R5.w;
  13363. MOV.F R9.w, c[6];
  13364. ADD.F32 R3.z, -R3, R9.w;
  13365. MOV.F R5.w, c[6].z;
  13366. MOV.F R3.w, c[5].z;
  13367. ADD.F32 R3.w, -R3, R5;
  13368. MOV.S R12.z, R3.w;
  13369. MOV.F R5.w, c[6].y;
  13370. MOV.F R3.w, c[5].y;
  13371. ADD.F32 R3.w, -R3, R5;
  13372. MOV.S R12.w, R3;
  13373. MOV.S R16.x, R3.z;
  13374. IF NE.x;
  13375. ELSE;
  13376. MOV.F R3.x, {0, 0, 0, 0};
  13377. ENDIF;
  13378. MOV.F R3.w, R12.x;
  13379. MOV.F R3.z, R13.x;
  13380. MUL.F32 R3.y, R3.z, R3.w;
  13381. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  13382. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13383. TRUNC.U R3.z, R3;
  13384. TRUNC.U R3.w, R3;
  13385. AND.U.CC HC.x, R3.z, R3.w;
  13386. MOV.S R16.y, R3.x;
  13387. IF NE.x;
  13388. MOV.F R3.x, R3.y;
  13389. ELSE;
  13390. MOV.F R3.x, {0, 0, 0, 0};
  13391. ENDIF;
  13392. MOV.F R3.w, R13.z;
  13393. MOV.F R3.z, R13.x;
  13394. MUL.F32 R3.y, R3.z, R3.w;
  13395. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  13396. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13397. TRUNC.U R3.z, R3;
  13398. TRUNC.U R3.w, R3;
  13399. AND.U.CC HC.x, R3.z, R3.w;
  13400. MOV.S R16.z, R3.x;
  13401. IF NE.x;
  13402. MOV.F R3.x, R3.y;
  13403. ELSE;
  13404. MOV.F R3.x, {0, 0, 0, 0};
  13405. ENDIF;
  13406. MOV.F R3.z, c[6].w;
  13407. MOV.F R3.y, R15;
  13408. ADD.F32 R3.y, R3, -R3.z;
  13409. MOV.S R13.z, R3.y;
  13410. MOV.F R3.y, c[4].x;
  13411. ADD.F32 R3.x, R3.y, R3;
  13412. MOV.F R3.z, R13.x;
  13413. SGE.F32 R3.y, R3.z, {0, 0, 0, 0}.x;
  13414. TRUNC.U.CC HC.x, R3.y;
  13415. MOV.S R14.x, R3;
  13416. IF NE.x;
  13417. MOV.S R3.z, {1065353216, 0, 0, 0}.x;
  13418. ELSE;
  13419. MOV.S R3.z, {0, 0, 0, 0}.x;
  13420. ENDIF;
  13421. MOV.F R3.w, R16.x;
  13422. MOV.F R3.x, R12.w;
  13423. DIV.F32 R3.x, R3, R3.w;
  13424. MOV.F R3.y, R16.z;
  13425. MOV.F R9.w, R16.y;
  13426. MOV.F R10.w, R13.y;
  13427. MOV.F R5.w, R12.z;
  13428. MOV.S R16.z, R3.x;
  13429. DIV.F32 R3.x, R5.w, R3.w;
  13430. MOV.F R5.w, R15.x;
  13431. DIV.F32 R3.w, R5, R3.w;
  13432. MOV.S R16.y, R3.x;
  13433. MUL.F32 R3.x, R10.w, R3.w;
  13434. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13435. MOV.F R5.w, c[4].z;
  13436. ADD.F32 R5.w, R5, R9;
  13437. MOV.F R9.w, c[4].y;
  13438. ADD.F32 R3.y, R9.w, R3;
  13439. MOV.S R14.z, R5.w;
  13440. MOV.S R13.w, R3.y;
  13441. SNE.F32 R3.y, R10.w, {0, 0, 0, 0}.x;
  13442. TRUNC.U R10.w, R3.y;
  13443. TRUNC.U R3.w, R3;
  13444. AND.U.CC HC.x, R10.w, R3.w;
  13445. MOV.F R5.w, c[7].y;
  13446. MOV.F R3.y, c[6];
  13447. ADD.F32 R3.y, -R3, R5.w;
  13448. MOV.S R13.x, R3.y;
  13449. MOV.F R9.w, c[7].x;
  13450. MOV.F R5.w, c[6].x;
  13451. ADD.F32 R5.w, -R5, R9;
  13452. MOV.S R15.x, R5.w;
  13453. MOV.S R3.y, R3.z;
  13454. IF NE.x;
  13455. ELSE;
  13456. MOV.F R3.x, {0, 0, 0, 0};
  13457. ENDIF;
  13458. MOV.F R9.w, R16.y;
  13459. MOV.F R3.w, R13.y;
  13460. SNE.F32 R5.w, R3, {0, 0, 0, 0}.x;
  13461. SNE.F32 R11.x, R9.w, {0, 0, 0, 0};
  13462. MUL.F32 R3.w, R3, R9;
  13463. MOV.F R10.w, c[7].z;
  13464. MOV.F R9.w, c[6].z;
  13465. ADD.F32 R9.w, -R9, R10;
  13466. TRUNC.U R10.w, R11.x;
  13467. TRUNC.U R5.w, R5;
  13468. AND.U.CC HC.x, R5.w, R10.w;
  13469. MOV.S R12.y, R9.w;
  13470. MOV.S R11.x, R3;
  13471. IF NE.x;
  13472. MOV.F R3.x, R3.w;
  13473. ELSE;
  13474. MOV.F R3.x, {0, 0, 0, 0};
  13475. ENDIF;
  13476. MOV.F R9.w, R16.z;
  13477. MOV.F R5.w, R13.y;
  13478. MUL.F32 R3.w, R5, R9;
  13479. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  13480. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  13481. TRUNC.U R5.w, R5;
  13482. TRUNC.U R9.w, R9;
  13483. AND.U.CC HC.x, R5.w, R9.w;
  13484. MOV.S R11.z, R3.x;
  13485. IF NE.x;
  13486. MOV.F R3.x, R3.w;
  13487. ELSE;
  13488. MOV.F R3.x, {0, 0, 0, 0};
  13489. ENDIF;
  13490. MOV.F R9.w, R13.y;
  13491. SGE.F32 R10.w, R9, {0, 0, 0, 0}.x;
  13492. MOV.F R9.w, c[5].y;
  13493. ADD.F32 R3.x, R9.w, R3;
  13494. TRUNC.U.CC HC.x, R10.w;
  13495. MOV.F R5.w, R11.x;
  13496. MOV.F R3.w, c[5].x;
  13497. ADD.F32 R3.w, R3, R5;
  13498. MOV.S R13.y, R3.w;
  13499. MOV.F R5.w, c[7];
  13500. MOV.F R3.w, c[6];
  13501. ADD.F32 R3.w, -R3, R5;
  13502. MOV.S R14.y, R3.w;
  13503. MOV.S R12.x, R3;
  13504. IF NE.x;
  13505. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  13506. ELSE;
  13507. MOV.S R5.w, {0, 0, 0, 0}.x;
  13508. ENDIF;
  13509. MOV.F R3.w, R11.z;
  13510. MOV.F R3.x, c[5].z;
  13511. ADD.F32 R3.x, R3, R3.w;
  13512. MOV.S R12.w, R3.x;
  13513. MOV.F R3.x, R14.y;
  13514. MOV.F R3.w, R15.x;
  13515. DIV.F32 R3.w, R3, R3.x;
  13516. MOV.S R11.x, R3.w;
  13517. MOV.F R3.w, R13.z;
  13518. RCP.F32 R3.x, R3.x;
  13519. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13520. TRUNC.U.CC HC.x, R3.w;
  13521. MOV.S R11.y, R3.x;
  13522. IF NE.x;
  13523. MOV.S R3.x, {1065353216, 0, 0, 0};
  13524. ELSE;
  13525. MOV.S R3.x, {0, 0, 0, 0};
  13526. ENDIF;
  13527. MOV.F R10.w, R11.y;
  13528. MOV.F R3.w, R12.y;
  13529. MUL.F32 R11.y, R3.w, R10.w;
  13530. MOV.F R9.w, R13.x;
  13531. MUL.F32 R3.w, R9, R10;
  13532. MOV.F R10.w, R13.z;
  13533. MOV.S R11.z, R11.y;
  13534. MUL.F32 R9.w, R10, R3;
  13535. MOV.F R11.w, c[7];
  13536. MOV.F R11.y, R15;
  13537. ADD.F32 R11.y, R11, -R11.w;
  13538. MOV.S R14.y, R11;
  13539. SNE.F32 R11.y, R3.w, {0, 0, 0, 0}.x;
  13540. SNE.F32 R3.w, R10, {0, 0, 0, 0}.x;
  13541. TRUNC.U R10.w, R11.y;
  13542. TRUNC.U R3.w, R3;
  13543. AND.U.CC HC.x, R3.w, R10.w;
  13544. IF NE.x;
  13545. ELSE;
  13546. MOV.F R9.w, {0, 0, 0, 0}.x;
  13547. ENDIF;
  13548. MOV.F R10.w, R13.z;
  13549. MUL.F32 R3.w, R10, R11.x;
  13550. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13551. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13552. TRUNC.U R10.w, R10;
  13553. TRUNC.U R11.x, R11;
  13554. AND.U.CC HC.x, R10.w, R11;
  13555. MOV.S R16.x, R9.w;
  13556. IF NE.x;
  13557. ELSE;
  13558. MOV.F R3.w, {0, 0, 0, 0}.x;
  13559. ENDIF;
  13560. MOV.F R9.w, R14.y;
  13561. SGE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  13562. TRUNC.U.CC HC.x, R9.w;
  13563. MOV.S R16.y, R3.w;
  13564. IF NE.x;
  13565. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  13566. ELSE;
  13567. MOV.S R3.w, {0, 0, 0, 0}.x;
  13568. ENDIF;
  13569. MOV.F R11.x, R11.z;
  13570. MOV.F R10.w, R13.z;
  13571. MUL.F32 R9.w, R10, R11.x;
  13572. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13573. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13574. TRUNC.U R11.x, R11;
  13575. TRUNC.U R10.w, R10;
  13576. AND.U.CC HC.x, R10.w, R11;
  13577. IF NE.x;
  13578. ELSE;
  13579. MOV.F R9.w, {0, 0, 0, 0}.x;
  13580. ENDIF;
  13581. MOV.F R11.x, R16;
  13582. MOV.F R10.w, c[6].y;
  13583. ADD.F32 R10.w, R10, R11.x;
  13584. MOV.S R15.y, R10.w;
  13585. MOV.F R10.w, c[6].x;
  13586. MOV.F R11.x, R16.y;
  13587. ADD.F32 R11.x, R10.w, R11;
  13588. MOV.F R10.w, c[6].z;
  13589. ADD.F32 R9.w, R10, R9;
  13590. MOV.S R13.x, R9.w;
  13591. MOV.F R10.w, R3.x;
  13592. MOV.F R9.w, R3;
  13593. MOV.S R12.z, R11.x;
  13594. ADD.F32 R11.x, -R9.w, {1, 0, 0, 0};
  13595. MOV.S R11.w, R11.x;
  13596. SNE.F32 R11.x, -R10.w, {-1, 0, 0, 0};
  13597. ADD.F32 R9.w, -R10, {1, 0, 0, 0}.x;
  13598. MOV.F R11.y, R5.w;
  13599. SNE.F32 R10.w, R11.y, {0, 0, 0, 0}.x;
  13600. TRUNC.U R11.x, R11;
  13601. TRUNC.U R10.w, R10;
  13602. AND.U.CC HC.x, R10.w, R11;
  13603. MUL.F32 R9.w, R11.y, R9;
  13604. IF NE.x;
  13605. MOV.F R10.w, R9;
  13606. ELSE;
  13607. MOV.F R10.w, {0, 0, 0, 0}.x;
  13608. ENDIF;
  13609. MOV.F R11.x, c[7];
  13610. MOV.F R11.y, R3.w;
  13611. MUL.F32 R9.w, R11.x, R11.y;
  13612. MOV.S R14.y, R10.w;
  13613. SNE.F32 R10.w, R11.x, {0, 0, 0, 0}.x;
  13614. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  13615. TRUNC.U R11.x, R11.y;
  13616. TRUNC.U R10.w, R10;
  13617. AND.U.CC HC.x, R10.w, R11;
  13618. IF NE.x;
  13619. MOV.F R11.x, R9.w;
  13620. ELSE;
  13621. MOV.F R11.x, {0, 0, 0, 0};
  13622. ENDIF;
  13623. MOV.F R11.y, R3.w;
  13624. MOV.F R10.w, c[7].y;
  13625. MUL.F32 R9.w, R10, R11.y;
  13626. MOV.S R18.x, R11;
  13627. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  13628. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13629. TRUNC.U R11.x, R11;
  13630. TRUNC.U R10.w, R10;
  13631. AND.U.CC HC.x, R10.w, R11;
  13632. IF NE.x;
  13633. ELSE;
  13634. MOV.F R9.w, {0, 0, 0, 0}.x;
  13635. ENDIF;
  13636. MOV.F R10.w, R11;
  13637. MOV.F R11.x, R3;
  13638. MUL.F32 R3.x, R11, R10.w;
  13639. SNE.F32 R11.y, R10.w, {0, 0, 0, 0}.x;
  13640. TRUNC.U R10.w, R11.y;
  13641. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13642. MOV.S R18.y, R9.w;
  13643. TRUNC.U R9.w, R11.x;
  13644. AND.U.CC HC.x, R9.w, R10.w;
  13645. IF NE.x;
  13646. MOV.F R9.w, R3.x;
  13647. ELSE;
  13648. MOV.F R9.w, {0, 0, 0, 0}.x;
  13649. ENDIF;
  13650. MOV.F R10.w, R3;
  13651. MOV.F R3.w, c[7].z;
  13652. MUL.F32 R3.x, R3.w, R10.w;
  13653. MOV.S R16.z, R9.w;
  13654. SNE.F32 R9.w, R10, {0, 0, 0, 0}.x;
  13655. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  13656. TRUNC.U R9.w, R9;
  13657. TRUNC.U R3.w, R3;
  13658. AND.U.CC HC.x, R3.w, R9.w;
  13659. IF NE.x;
  13660. MOV.F R3.w, R3.x;
  13661. ELSE;
  13662. MOV.F R3.w, {0, 0, 0, 0}.x;
  13663. ENDIF;
  13664. MOV.F R10.w, R14.y;
  13665. MOV.F R9.w, R13.y;
  13666. MUL.F32 R3.x, R9.w, R10.w;
  13667. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  13668. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13669. TRUNC.U R9.w, R9;
  13670. TRUNC.U R10.w, R10;
  13671. AND.U.CC HC.x, R9.w, R10.w;
  13672. MOV.S R3.w, R3;
  13673. IF NE.x;
  13674. ELSE;
  13675. MOV.F R3.x, {0, 0, 0, 0};
  13676. ENDIF;
  13677. MOV.F R11.x, R16.z;
  13678. MOV.F R10.w, R15.y;
  13679. MUL.F32 R9.w, R10, R11.x;
  13680. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13681. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13682. TRUNC.U R10.w, R10;
  13683. TRUNC.U R11.x, R11;
  13684. AND.U.CC HC.x, R10.w, R11;
  13685. MOV.S R15.x, R3;
  13686. IF NE.x;
  13687. MOV.F R3.x, R9.w;
  13688. ELSE;
  13689. MOV.F R3.x, {0, 0, 0, 0};
  13690. ENDIF;
  13691. MOV.F R11.x, R16.z;
  13692. MOV.F R10.w, R12.z;
  13693. MUL.F32 R9.w, R10, R11.x;
  13694. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  13695. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13696. TRUNC.U R10.w, R10;
  13697. TRUNC.U R11.x, R11;
  13698. AND.U.CC HC.x, R10.w, R11;
  13699. MOV.S R3.x, R3;
  13700. IF NE.x;
  13701. MOV.F R10.w, R9;
  13702. ELSE;
  13703. MOV.F R10.w, {0, 0, 0, 0}.x;
  13704. ENDIF;
  13705. MOV.F R11.y, R14;
  13706. MOV.F R11.x, R12;
  13707. MUL.F32 R9.w, R11.x, R11.y;
  13708. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13709. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  13710. TRUNC.U R11.x, R11;
  13711. TRUNC.U R11.y, R11;
  13712. AND.U.CC HC.x, R11, R11.y;
  13713. MOV.S R15.y, R10.w;
  13714. IF NE.x;
  13715. ELSE;
  13716. MOV.F R9.w, {0, 0, 0, 0}.x;
  13717. ENDIF;
  13718. MOV.F R11.y, R16.z;
  13719. MOV.F R11.x, R13;
  13720. MUL.F32 R10.w, R11.x, R11.y;
  13721. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13722. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  13723. TRUNC.U R11.x, R11;
  13724. TRUNC.U R11.y, R11;
  13725. AND.U.CC HC.x, R11, R11.y;
  13726. MOV.S R13.z, R9.w;
  13727. IF NE.x;
  13728. MOV.F R9.w, R10;
  13729. ELSE;
  13730. MOV.F R9.w, {0, 0, 0, 0}.x;
  13731. ENDIF;
  13732. MOV.F R11.y, R14;
  13733. MOV.F R11.x, R12.w;
  13734. MUL.F32 R10.w, R11.x, R11.y;
  13735. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13736. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  13737. TRUNC.U R11.x, R11;
  13738. TRUNC.U R11.y, R11;
  13739. AND.U.CC HC.x, R11, R11.y;
  13740. MOV.S R14.w, R9;
  13741. IF NE.x;
  13742. MOV.F R9.w, R10;
  13743. ELSE;
  13744. MOV.F R9.w, {0, 0, 0, 0}.x;
  13745. ENDIF;
  13746. MOV.F R11, R6;
  13747. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  13748. MOV.F R6.xyz, R5;
  13749. MOV.F R6.w, {1, 0, 0, 0}.x;
  13750. DP4.F32 R6.x, R11, R6;
  13751. MOV.S R5.w, R5;
  13752. MOV.S R6.w, R6.x;
  13753. MOV.F R6.y, R21;
  13754. MOV.F R6.x, R21.z;
  13755. ADD.F32 R6.x, R6.y, R6;
  13756. MOV.S R15.w, R6.x;
  13757. MOV.F R6.x, R21;
  13758. ADD.F32 R6.x, R6.y, R6;
  13759. MOV.S R15.z, R6.x;
  13760. MOV.F R6.x, R3.z;
  13761. MOV.F R6.z, R5.w;
  13762. ADD.F32 R6.y, -R6.x, {1, 0, 0, 0}.x;
  13763. MUL.F32 R5.w, R6.x, R6.z;
  13764. MOV.S R12.x, R6.y;
  13765. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  13766. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  13767. TRUNC.U R6.y, R6;
  13768. TRUNC.U R6.x, R6;
  13769. AND.U.CC HC.x, R6, R6.y;
  13770. MOV.S R3.z, R9.w;
  13771. IF NE.x;
  13772. ELSE;
  13773. MOV.F R5.w, {0, 0, 0, 0}.x;
  13774. ENDIF;
  13775. SNE.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  13776. MOV.F R6.y, R14.x;
  13777. MOV.F R16, R7;
  13778. MOV.F R11.w, {1, 0, 0, 0}.x;
  13779. MOV.F R11.xyz, R5;
  13780. DP4.F32 R6.x, R16, R11;
  13781. MOV.S R10.w, R6.x;
  13782. MUL.F32 R6.x, R5.w, R6.y;
  13783. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  13784. TRUNC.U R6.y, R6;
  13785. TRUNC.U R6.z, R6;
  13786. AND.U.CC HC.x, R6.y, R6.z;
  13787. MOV.S R13.x, R5.w;
  13788. IF NE.x;
  13789. ELSE;
  13790. MOV.F R6.x, {0, 0, 0, 0};
  13791. ENDIF;
  13792. MOV.F R11, R8;
  13793. MOV.F R5.w, {1, 0, 0, 0}.x;
  13794. DP4.F32 R5.x, R11, R5;
  13795. MOV.F R5.z, R13.x;
  13796. MOV.F R5.y, R13.w;
  13797. MOV.S R9.w, R5.x;
  13798. MUL.F32 R5.x, R5.y, R5.z;
  13799. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  13800. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13801. TRUNC.U R5.y, R5;
  13802. TRUNC.U R5.z, R5;
  13803. AND.U.CC HC.x, R5.y, R5.z;
  13804. MOV.S R12.w, R6.x;
  13805. IF NE.x;
  13806. ELSE;
  13807. MOV.F R5.x, {0, 0, 0, 0};
  13808. ENDIF;
  13809. MOV.F R5.y, R12.x;
  13810. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  13811. MOV.F R5.z, c[4];
  13812. MUL.F32 R5.y, R5.z, R5;
  13813. TRUNC.U R5.w, R5;
  13814. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13815. MOV.S R12.z, R5.x;
  13816. TRUNC.U R5.x, R5.z;
  13817. AND.U.CC HC.x, R5, R5.w;
  13818. IF NE.x;
  13819. MOV.F R5.x, R5.y;
  13820. ELSE;
  13821. MOV.F R5.x, {0, 0, 0, 0};
  13822. ENDIF;
  13823. MOV.F R5.w, R13.x;
  13824. MOV.F R5.z, R14;
  13825. MUL.F32 R5.y, R5.z, R5.w;
  13826. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13827. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  13828. TRUNC.U R5.z, R5;
  13829. TRUNC.U R5.w, R5;
  13830. AND.U.CC HC.x, R5.z, R5.w;
  13831. MOV.S R16.x, R5;
  13832. IF NE.x;
  13833. MOV.F R5.x, R5.y;
  13834. ELSE;
  13835. MOV.F R5.x, {0, 0, 0, 0};
  13836. ENDIF;
  13837. MOV.F R5.y, R12.x;
  13838. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  13839. MOV.F R5.z, c[4].y;
  13840. MUL.F32 R5.y, R5.z, R5;
  13841. TRUNC.U R5.w, R5;
  13842. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13843. MOV.S R16.y, R5.x;
  13844. TRUNC.U R5.x, R5.z;
  13845. AND.U.CC HC.x, R5, R5.w;
  13846. IF NE.x;
  13847. MOV.F R5.x, R5.y;
  13848. ELSE;
  13849. MOV.F R5.x, {0, 0, 0, 0};
  13850. ENDIF;
  13851. MOV.F R5.y, R12.x;
  13852. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  13853. MOV.F R5.z, c[4].x;
  13854. MUL.F32 R5.y, R5.z, R5;
  13855. TRUNC.U R5.w, R5;
  13856. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13857. MOV.S R16.z, R5.x;
  13858. TRUNC.U R5.x, R5.z;
  13859. AND.U.CC HC.x, R5, R5.w;
  13860. IF NE.x;
  13861. MOV.F R5.x, R5.y;
  13862. ELSE;
  13863. MOV.F R5.x, {0, 0, 0, 0};
  13864. ENDIF;
  13865. MOV.F R5.z, R16;
  13866. MOV.F R5.y, R12.z;
  13867. ADD.F32 R5.y, R5, R5.z;
  13868. MOV.F R5.z, R13;
  13869. ADD.F32 R5.y, R5.z, R5;
  13870. ADD.F32 R5.y, R3.x, R5;
  13871. MOV.F R3.x, R12.w;
  13872. ADD.F32 R3.x, R3, R5;
  13873. MOV.S R8.y, R5;
  13874. MOV.F R5.x, R15;
  13875. ADD.F32 R5.x, R5, R3;
  13876. MOV.F R3.x, R3.z;
  13877. MOV.F R3.z, R15.y;
  13878. ADD.F32 R3.z, R3, R5.x;
  13879. MOV.F R5.y, R16.x;
  13880. MOV.F R5.x, R16.y;
  13881. ADD.F32 R5.x, R5, R5.y;
  13882. ADD.F32 R3.x, R3, R5;
  13883. MOV.F R5.y, R15.z;
  13884. MAD.F32 R5.x, R5.y, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  13885. MOV.F R5.y, R14.w;
  13886. ADD.F32 R3.x, R5.y, R3;
  13887. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  13888. MOV.S R8.w, R5.x;
  13889. MOV.F R5.x, R15.w;
  13890. MAD.F32 R5.x, R5, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  13891. MOV.S R5.z, R5.x;
  13892. MOV.F R5.y, R21.z;
  13893. MOV.F R5.x, R21;
  13894. ADD.F32 R5.x, R5, R5.y;
  13895. MOV.S R5.y, R5.z;
  13896. MAD.F32 R5.z, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  13897. MOV.F R5.x, R5.y;
  13898. MUL.F32 R5.y, R5.z, {2, 0, 0, 0}.x;
  13899. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  13900. MOV.S R3.z, R3;
  13901. MOV.S R3.x, R3;
  13902. MOV.S R5.y, R5;
  13903. MOV.S R5.w, R5.x;
  13904. ENDIF;
  13905. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  13906. MOV.U.CC RC.x, -R5;
  13907. IF NE.x;
  13908. MOV.F R5.x, R18.y;
  13909. MOV.F R5.z, R8.y;
  13910. ADD.F32 R5.z, R5.x, R5;
  13911. MOV.F R5.x, R3;
  13912. MOV.F R3.x, R3.w;
  13913. ADD.F32 R3.x, R3, R5;
  13914. MOV.S R11.z, R5;
  13915. MOV.S R11.y, R3.x;
  13916. MOV.F R3.x, R18;
  13917. SNE.F32 R5.x, R3, -R3.z;
  13918. ADD.F32 R3.x, R3, R3.z;
  13919. MOV.F R5.z, R20.x;
  13920. TRUNC.U R6.x, R5;
  13921. MOV.F R3.z, R21.x;
  13922. ADD.F32 R3.z, R3, {-0.5, 0, 0, 0}.x;
  13923. MOV.F R5.x, R21.y;
  13924. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  13925. MOV.S R13.x, R3.z;
  13926. MOV.S R14.w, R5.x;
  13927. SNE.F32 R3.z, R5, {0, 0, 0, 0}.x;
  13928. TRUNC.U R3.z, R3;
  13929. AND.U.CC HC.x, R3.z, R6;
  13930. MUL.F32 R3.x, R5.z, R3;
  13931. MOV.S R5.x, R20.y;
  13932. IF NE.x;
  13933. ELSE;
  13934. MOV.F R3.x, {0, 0, 0, 0};
  13935. ENDIF;
  13936. MOV.F R5.z, R11.y;
  13937. MOV.F R6.x, R20.z;
  13938. MUL.F32 R3.z, R6.x, R5;
  13939. SNE.F32 R6.y, R5.z, {0, 0, 0, 0}.x;
  13940. MOV.F R5.z, R21;
  13941. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  13942. TRUNC.U R6.y, R6;
  13943. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  13944. MOV.S R20.y, R5.z;
  13945. TRUNC.U R5.z, R6.x;
  13946. AND.U.CC HC.x, R5.z, R6.y;
  13947. MOV.S R16.x, R3;
  13948. IF NE.x;
  13949. MOV.F R3.x, R3.z;
  13950. ELSE;
  13951. MOV.F R3.x, {0, 0, 0, 0};
  13952. ENDIF;
  13953. MOV.F R3.z, R11;
  13954. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  13955. MUL.F32 R3.z, R5.x, R3;
  13956. TRUNC.U R5.z, R5;
  13957. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  13958. MOV.S R16.z, R3.x;
  13959. TRUNC.U R3.x, R5;
  13960. AND.U.CC HC.x, R3, R5.z;
  13961. IF NE.x;
  13962. MOV.F R3.x, R3.z;
  13963. ELSE;
  13964. MOV.F R3.x, {0, 0, 0, 0};
  13965. ENDIF;
  13966. MOV.F R5.z, c[8].x;
  13967. MOV.F R5.x, R8.w;
  13968. MUL.F32 R3.z, R5.x, R5;
  13969. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  13970. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13971. TRUNC.U R5.x, R5;
  13972. TRUNC.U R5.z, R5;
  13973. AND.U.CC HC.x, R5, R5.z;
  13974. MOV.S R16.w, R3.x;
  13975. IF NE.x;
  13976. MOV.F R3.x, R3.z;
  13977. ELSE;
  13978. MOV.F R3.x, {0, 0, 0, 0};
  13979. ENDIF;
  13980. MOV.F R5.z, c[9];
  13981. MOV.F R5.x, R16.w;
  13982. MUL.F32 R3.z, R5.x, R5;
  13983. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  13984. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13985. TRUNC.U R5.x, R5;
  13986. TRUNC.U R5.z, R5;
  13987. AND.U.CC HC.x, R5, R5.z;
  13988. MOV.S R15.y, R3.x;
  13989. IF NE.x;
  13990. MOV.F R3.x, R3.z;
  13991. ELSE;
  13992. MOV.F R3.x, {0, 0, 0, 0};
  13993. ENDIF;
  13994. MOV.F R5.z, c[9].y;
  13995. MOV.F R5.x, R16;
  13996. MUL.F32 R3.z, R5.x, R5;
  13997. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  13998. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  13999. TRUNC.U R5.x, R5;
  14000. TRUNC.U R5.z, R5;
  14001. AND.U.CC HC.x, R5, R5.z;
  14002. MOV.S R18.x, R3;
  14003. IF NE.x;
  14004. MOV.F R3.x, R3.z;
  14005. ELSE;
  14006. MOV.F R3.x, {0, 0, 0, 0};
  14007. ENDIF;
  14008. MOV.F R5.z, c[9].w;
  14009. MOV.F R5.x, R16.z;
  14010. MUL.F32 R3.z, R5.x, R5;
  14011. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  14012. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14013. TRUNC.U R5.x, R5;
  14014. TRUNC.U R5.z, R5;
  14015. AND.U.CC HC.x, R5, R5.z;
  14016. MOV.S R18.y, R3.x;
  14017. IF NE.x;
  14018. MOV.F R3.x, R3.z;
  14019. ELSE;
  14020. MOV.F R3.x, {0, 0, 0, 0};
  14021. ENDIF;
  14022. MOV.F R3.z, R21.y;
  14023. MUL.F32 R3.z, R3, {2, 0, 0, 0}.x;
  14024. MOV.F R5.x, R21.z;
  14025. MOV.S R11.w, R3.z;
  14026. MUL.F32 R3.z, R5.x, {2, 0, 0, 0}.x;
  14027. MOV.F R5.x, R19.z;
  14028. MOV.S R14.y, R3.z;
  14029. MUL.F32 R3.z, R5.x, R3.x;
  14030. SNE.F32 R5.z, R3.x, {0, 0, 0, 0}.x;
  14031. SNE.F32 R3.x, R5, {0, 0, 0, 0};
  14032. TRUNC.U R5.x, R5.z;
  14033. TRUNC.U R3.x, R3;
  14034. AND.U.CC HC.x, R3, R5;
  14035. IF NE.x;
  14036. MOV.F R3.x, R3.z;
  14037. ELSE;
  14038. MOV.F R3.x, {0, 0, 0, 0};
  14039. ENDIF;
  14040. MOV.F R5.x, c[10];
  14041. MOV.F R3.z, R15.y;
  14042. ADD.F32 R3.z, R3, R5.x;
  14043. MOV.F R5.x, R11.w;
  14044. MOV.S R8.y, R3.z;
  14045. FLR.F R3.z, R5.x;
  14046. MOV.F R5.z, c[8].y;
  14047. MOV.F R5.x, R5.w;
  14048. MOV.S R16.z, R3;
  14049. MUL.F32 R3.z, R5.x, R5;
  14050. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  14051. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14052. TRUNC.U R5.x, R5;
  14053. TRUNC.U R5.z, R5;
  14054. AND.U.CC HC.x, R5, R5.z;
  14055. MOV.S R8.x, R3;
  14056. IF NE.x;
  14057. MOV.F R3.x, R3.z;
  14058. ELSE;
  14059. MOV.F R3.x, {0, 0, 0, 0};
  14060. ENDIF;
  14061. MOV.F R5.x, R16.z;
  14062. MOV.F R3.z, R14.y;
  14063. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14064. FLR.F R3.z, R3;
  14065. TRUNC.U.CC HC.x, R5;
  14066. MOV.S R16.w, R3.x;
  14067. MOV.S R13.z, R3;
  14068. IF NE.x;
  14069. MOV.F R3.x, {1, 0, 0, 0};
  14070. ELSE;
  14071. MOV.F R3.x, {0, 0, 0, 0};
  14072. ENDIF;
  14073. MOV.F R3.z, R5.y;
  14074. SNE.F32 R5.y, R3.z, {0, 0, 0, 0}.x;
  14075. MOV.F R5.x, c[8].z;
  14076. MUL.F32 R3.z, R3, R5.x;
  14077. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  14078. TRUNC.U R5.y, R5;
  14079. TRUNC.U R5.x, R5;
  14080. AND.U.CC HC.x, R5.y, R5;
  14081. MOV.S R11.x, R3;
  14082. IF NE.x;
  14083. MOV.F R3.x, R3.z;
  14084. ELSE;
  14085. MOV.F R3.x, {0, 0, 0, 0};
  14086. ENDIF;
  14087. MOV.F R5.x, R16.w;
  14088. MOV.F R3.z, c[10].y;
  14089. ADD.F32 R3.z, R3, R5.x;
  14090. MOV.F R5.x, R16.z;
  14091. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  14092. TRUNC.U.CC HC.x, R5;
  14093. MOV.S R3.z, R3;
  14094. MOV.S R11.y, R3.x;
  14095. IF NE.x;
  14096. MOV.F R3.x, {1, 0, 0, 0};
  14097. ELSE;
  14098. MOV.F R3.x, {0, 0, 0, 0};
  14099. ENDIF;
  14100. MOV.F R5.x, R13.z;
  14101. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14102. TRUNC.U.CC HC.x, R5;
  14103. MOV.S R11.w, R3.x;
  14104. IF NE.x;
  14105. MOV.F R3.x, {1, 0, 0, 0};
  14106. ELSE;
  14107. MOV.F R3.x, {0, 0, 0, 0};
  14108. ENDIF;
  14109. MOV.F R5.y, R11.w;
  14110. MOV.F R5.x, R11;
  14111. ADD.F32 R5.x, R5, -R5.y;
  14112. MOV.S R20.x, R5;
  14113. MOV.F R5.y, R11;
  14114. MOV.F R5.x, c[10].z;
  14115. ADD.F32 R5.x, R5, R5.y;
  14116. MOV.F R5.z, R13;
  14117. MOV.S R5.y, R5.x;
  14118. SGT.F32 R5.x, {0, 0, 0, 0}, R5.z;
  14119. TRUNC.U.CC HC.x, R5;
  14120. MOV.S R15.y, R3.x;
  14121. IF NE.x;
  14122. MOV.F R3.x, {1, 0, 0, 0};
  14123. ELSE;
  14124. MOV.F R3.x, {0, 0, 0, 0};
  14125. ENDIF;
  14126. MOV.F R5.z, R21.x;
  14127. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  14128. MOV.F R6.x, c[11];
  14129. MOV.F R5.w, R13.x;
  14130. MUL.F32 R5.x, R5.w, R6;
  14131. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14132. MOV.S R16.w, R5.z;
  14133. SNE.F32 R5.z, R6.x, {0, 0, 0, 0}.x;
  14134. TRUNC.U R5.w, R5;
  14135. TRUNC.U R5.z, R5;
  14136. AND.U.CC HC.x, R5.w, R5.z;
  14137. MOV.S R16.z, R3.x;
  14138. IF NE.x;
  14139. MOV.F R3.x, R5;
  14140. ELSE;
  14141. MOV.F R3.x, {0, 0, 0, 0};
  14142. ENDIF;
  14143. MOV.F R5.w, c[11].y;
  14144. MOV.F R5.z, R14.w;
  14145. MUL.F32 R5.x, R5.z, R5.w;
  14146. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14147. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14148. TRUNC.U R5.z, R5;
  14149. TRUNC.U R5.w, R5;
  14150. AND.U.CC HC.x, R5.z, R5.w;
  14151. MOV.S R8.z, R3.x;
  14152. IF NE.x;
  14153. MOV.F R3.x, R5;
  14154. ELSE;
  14155. MOV.F R3.x, {0, 0, 0, 0};
  14156. ENDIF;
  14157. MOV.F R5.x, R16.w;
  14158. FLR.F R5.x, R5;
  14159. MOV.S R5.x, R5;
  14160. MOV.F R5.w, R16.z;
  14161. MOV.F R5.z, R15.y;
  14162. ADD.F32 R5.z, R5, -R5.w;
  14163. MOV.S R5.w, R5.z;
  14164. MOV.S R5.z, R5.x;
  14165. MOV.S R11.y, R5.x;
  14166. MOV.F R5.x, R5.z;
  14167. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14168. TRUNC.U.CC HC.x, R5;
  14169. MOV.S R3.x, R3;
  14170. IF NE.x;
  14171. MOV.F R5.x, {1, 0, 0, 0};
  14172. ELSE;
  14173. MOV.F R5.x, {0, 0, 0, 0};
  14174. ENDIF;
  14175. MOV.F R5.z, R11.y;
  14176. SGT.F32 R5.z, {0, 0, 0, 0}.x, R5;
  14177. TRUNC.U.CC HC.x, R5.z;
  14178. MOV.S R16.x, R5;
  14179. IF NE.x;
  14180. MOV.F R5.x, {1, 0, 0, 0};
  14181. ELSE;
  14182. MOV.F R5.x, {0, 0, 0, 0};
  14183. ENDIF;
  14184. MOV.F R5.z, R16.x;
  14185. ADD.F32 R5.x, R5.z, -R5;
  14186. MOV.S R20.z, R5.x;
  14187. ENDIF;
  14188. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  14189. MOV.U.CC RC.x, -R5;
  14190. IF NE.x;
  14191. AND.S R3.w, c[12].x, {65536, 0, 0, 0}.x;
  14192. I2F.S R3.w, R3;
  14193. SGT.F32 R5.x, {0, 0, 0, 0}, R3.w;
  14194. TRUNC.U.CC HC.x, R5;
  14195. AND.S R15.y, c[12].x, {262144, 0, 0, 0}.x;
  14196. AND.S R13.z, c[12].x, {131072, 0, 0, 0}.x;
  14197. MOV.S R11.y, R3.w;
  14198. IF NE.x;
  14199. MOV.F R3.w, {1, 0, 0, 0}.x;
  14200. ELSE;
  14201. MOV.F R3.w, {0, 0, 0, 0}.x;
  14202. ENDIF;
  14203. MOV.F R5.x, R11.y;
  14204. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14205. TRUNC.U.CC HC.x, R5;
  14206. MOV.S R11.x, R3.w;
  14207. IF NE.x;
  14208. MOV.F R3.w, {1, 0, 0, 0}.x;
  14209. ELSE;
  14210. MOV.F R3.w, {0, 0, 0, 0}.x;
  14211. ENDIF;
  14212. MOV.F R5.x, R20.y;
  14213. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  14214. MOV.F R5.z, c[11];
  14215. MUL.F32 R5.x, R5, R5.z;
  14216. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14217. TRUNC.U R6.x, R6;
  14218. TRUNC.U R5.z, R5;
  14219. AND.U.CC HC.x, R6, R5.z;
  14220. MOV.S R11.y, R3.w;
  14221. IF NE.x;
  14222. MOV.F R3.w, R5.x;
  14223. ELSE;
  14224. MOV.F R3.w, {0, 0, 0, 0}.x;
  14225. ENDIF;
  14226. I2F.S R5.x, R13.z;
  14227. MOV.S R14.y, R5.x;
  14228. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14229. TRUNC.U.CC HC.x, R5;
  14230. MOV.S R12.z, R3.w;
  14231. IF NE.x;
  14232. MOV.F R3.w, {1, 0, 0, 0}.x;
  14233. ELSE;
  14234. MOV.F R3.w, {0, 0, 0, 0}.x;
  14235. ENDIF;
  14236. MOV.F R5.x, R14.y;
  14237. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  14238. TRUNC.U.CC HC.x, R5;
  14239. MOV.S R16.x, R3.w;
  14240. IF NE.x;
  14241. MOV.F R3.w, {1, 0, 0, 0}.x;
  14242. ELSE;
  14243. MOV.F R3.w, {0, 0, 0, 0}.x;
  14244. ENDIF;
  14245. MOV.F R5.x, R11.y;
  14246. MOV.F R5.z, R11.x;
  14247. ADD.F32 R5.x, R5, -R5.z;
  14248. MOV.S R16.w, R5.x;
  14249. I2F.S R5.x, R15.y;
  14250. MOV.S R11.y, R5.x;
  14251. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  14252. TRUNC.U.CC HC.x, R5;
  14253. MOV.S R16.y, R3.w;
  14254. IF NE.x;
  14255. MOV.F R3.w, {1, 0, 0, 0}.x;
  14256. ELSE;
  14257. MOV.F R3.w, {0, 0, 0, 0}.x;
  14258. ENDIF;
  14259. MOV.F R5.z, R16.y;
  14260. MOV.F R5.x, R16;
  14261. ADD.F32 R5.x, R5, -R5.z;
  14262. MOV.S R11.z, R5.x;
  14263. MOV.F R5.x, R11.y;
  14264. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  14265. TRUNC.U.CC HC.x, R5;
  14266. MOV.S R11.x, R3.w;
  14267. IF NE.x;
  14268. MOV.F R3.w, {1, 0, 0, 0}.x;
  14269. ELSE;
  14270. MOV.F R3.w, {0, 0, 0, 0}.x;
  14271. ENDIF;
  14272. MOV.F R6.x, R11;
  14273. ADD.F32 R3.w, R3, -R6.x;
  14274. MOV.F R5.x, R11.z;
  14275. TRUNC.S R5.x, R5;
  14276. MOV.F R5.z, R16.w;
  14277. TRUNC.S R5.z, R5;
  14278. ADD.S R6.y, -R5.z, {0, 0, 0, 0}.x;
  14279. MAX.S R11.x, R5.z, R6.y;
  14280. MOV.F R5.z, c[10].w;
  14281. MOV.S R16.y, R3.w;
  14282. SEQ.F R3.w, R5.z, {1, 0, 0, 0}.x;
  14283. TRUNC.U.CC HC.x, R3.w;
  14284. ADD.S R11.y, -R5.x, {0, 0, 0, 0}.x;
  14285. MOV.S R15.y, R5.x;
  14286. IF NE.x;
  14287. MOV.S R3.w, {-1, 0, 0, 0}.x;
  14288. ELSE;
  14289. MOV.S R3.w, {0, 0, 0, 0}.x;
  14290. ENDIF;
  14291. MOV.F R5.x, R16.y;
  14292. TRUNC.S R13.x, R5;
  14293. I2F.S R5.x, R11;
  14294. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  14295. MOV.F R6.x, R20;
  14296. MUL.F32 R5.x, -R5.z, R6;
  14297. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14298. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  14299. TRUNC.U R6.x, R6;
  14300. TRUNC.U R5.z, R5;
  14301. AND.U.CC HC.x, R5.z, R6;
  14302. MAX.S R16.w, R15.y, R11.y;
  14303. ADD.S R16.x, -R13, {0, 0, 0, 0};
  14304. IF NE.x;
  14305. ELSE;
  14306. MOV.F R5.x, {0, 0, 0, 0};
  14307. ENDIF;
  14308. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  14309. I2F.S R5.z, R16.w;
  14310. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  14311. SNE.F32 R6.x, -R5.z, {0, 0, 0, 0};
  14312. MUL.F32 R5.z, -R5, R5.w;
  14313. MOV.F R5.w, c[10];
  14314. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  14315. TRUNC.U R6.x, R6;
  14316. TRUNC.U R6.y, R6;
  14317. AND.U.CC HC.x, R6, R6.y;
  14318. MAX.S R11.z, R13.x, R16.x;
  14319. MOV.S R11.y, R5.x;
  14320. MOV.S R14.w, R5;
  14321. IF NE.x;
  14322. MOV.F R5.x, R5.z;
  14323. ELSE;
  14324. MOV.F R5.x, {0, 0, 0, 0};
  14325. ENDIF;
  14326. MOV.F R6.x, R11.y;
  14327. MOV.F R5.w, R8.y;
  14328. MUL.F32 R5.z, R5.w, R6.x;
  14329. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14330. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14331. TRUNC.U R5.w, R5;
  14332. TRUNC.U R6.x, R6;
  14333. AND.U.CC HC.x, R5.w, R6;
  14334. MOV.S R16.x, R5;
  14335. IF NE.x;
  14336. MOV.F R5.x, R5.z;
  14337. ELSE;
  14338. MOV.F R5.x, {0, 0, 0, 0};
  14339. ENDIF;
  14340. MOV.F R6.x, R11.y;
  14341. MOV.F R5.w, R22.x;
  14342. MUL.F32 R5.z, R5.w, R6.x;
  14343. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14344. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14345. TRUNC.U R6.x, R6;
  14346. TRUNC.U R5.w, R5;
  14347. AND.U.CC HC.x, R5.w, R6;
  14348. MOV.S R16.y, R5.x;
  14349. IF NE.x;
  14350. MOV.F R5.x, R5.z;
  14351. ELSE;
  14352. MOV.F R5.x, {0, 0, 0, 0};
  14353. ENDIF;
  14354. I2F.S R5.z, R11;
  14355. MUL.F32 R5.w, R5.z, {2, 0, 0, 0}.x;
  14356. MOV.F R6.x, R20.z;
  14357. MUL.F32 R5.z, -R5.w, R6.x;
  14358. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  14359. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14360. TRUNC.U R5.w, R5;
  14361. TRUNC.U R6.x, R6;
  14362. AND.U.CC HC.x, R5.w, R6;
  14363. MOV.S R16.z, R5.x;
  14364. IF NE.x;
  14365. MOV.F R5.x, R5.z;
  14366. ELSE;
  14367. MOV.F R5.x, {0, 0, 0, 0};
  14368. ENDIF;
  14369. MOV.F R6.x, R3.z;
  14370. MOV.F R5.z, R22.x;
  14371. MOV.F R5.w, R16.z;
  14372. ADD.F32 R5.w, R5.z, R5;
  14373. MOV.F R6.y, R16.x;
  14374. MOV.S R11.y, R5.w;
  14375. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  14376. MUL.F32 R5.z, R6.x, R6.y;
  14377. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  14378. TRUNC.U R5.w, R5;
  14379. TRUNC.U R6.x, R6;
  14380. AND.U.CC HC.x, R5.w, R6;
  14381. MOV.S R11.x, R5;
  14382. IF NE.x;
  14383. MOV.F R5.x, R5.z;
  14384. ELSE;
  14385. MOV.F R5.x, {0, 0, 0, 0};
  14386. ENDIF;
  14387. MOV.F R5.w, R16.y;
  14388. MOV.F R5.z, R8.y;
  14389. ADD.F32 R5.z, R5, R5.w;
  14390. MOV.F R6.x, R16;
  14391. MOV.F R5.w, R22.y;
  14392. MOV.S R12.w, R5.z;
  14393. MUL.F32 R5.z, R5.w, R6.x;
  14394. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14395. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14396. TRUNC.U R6.x, R6;
  14397. TRUNC.U R5.w, R5;
  14398. AND.U.CC HC.x, R5.w, R6;
  14399. MOV.S R11.z, R5.x;
  14400. IF NE.x;
  14401. MOV.F R5.x, R5.z;
  14402. ELSE;
  14403. MOV.F R5.x, {0, 0, 0, 0};
  14404. ENDIF;
  14405. MOV.F R5.w, R8.z;
  14406. MOV.F R5.z, R11.y;
  14407. ADD.F32 R5.z, R5, R5.w;
  14408. MOV.F R5.w, R11.z;
  14409. ADD.F32 R3.z, R3, R5.w;
  14410. MOV.S R14.y, R5.z;
  14411. MOV.F R5.w, R11.x;
  14412. MOV.F R5.z, R5.y;
  14413. MOV.S R15.z, R3;
  14414. MUL.F32 R3.z, R5, R5.w;
  14415. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14416. TRUNC.U R6.x, R5.z;
  14417. MOV.F R5.z, R22.y;
  14418. ADD.F32 R5.x, R5.z, R5;
  14419. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14420. TRUNC.U R5.z, R5.w;
  14421. AND.U.CC HC.x, R6, R5.z;
  14422. MOV.S R16.x, R5;
  14423. IF NE.x;
  14424. ELSE;
  14425. MOV.F R3.z, {0, 0, 0, 0}.x;
  14426. ENDIF;
  14427. MOV.F R5.w, R11.x;
  14428. MOV.F R5.z, R22;
  14429. MUL.F32 R5.x, R5.z, R5.w;
  14430. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14431. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14432. TRUNC.U R5.w, R5;
  14433. TRUNC.U R5.z, R5;
  14434. AND.U.CC HC.x, R5.z, R5.w;
  14435. MOV.S R16.w, R3.z;
  14436. IF NE.x;
  14437. MOV.F R3.z, R5.x;
  14438. ELSE;
  14439. MOV.F R3.z, {0, 0, 0, 0}.x;
  14440. ENDIF;
  14441. MOV.F R5.z, R3.x;
  14442. MOV.F R5.x, R16;
  14443. ADD.F32 R5.x, R5, R5.z;
  14444. MOV.S R13.x, R5;
  14445. MOV.F R5.x, R5.y;
  14446. MOV.F R5.z, R16.w;
  14447. ADD.F32 R5.x, R5, R5.z;
  14448. MOV.F R5.y, c[10].w;
  14449. MOV.S R15.y, R5.x;
  14450. MAX.F R5.x, R5.y, {0, 0, 0, 0};
  14451. LG2.F32 R5.x, R5.x;
  14452. MOV.F R5.y, R22.z;
  14453. ADD.F32 R3.z, R5.y, R3;
  14454. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  14455. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  14456. SEQ.F R5.z, R5.x, R5;
  14457. TRUNC.U R5.w, R5;
  14458. TRUNC.U R5.z, R5;
  14459. AND.U R5.z, R5, R5.w;
  14460. SEQ.U R5.y, R5.z, {1, 0, 0, 0}.x;
  14461. MOV.U.CC RC.x, -R5.y;
  14462. MOV.S R11.w, R3.z;
  14463. IF NE.x;
  14464. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  14465. ENDIF;
  14466. MOV.F R5.z, c[13].x;
  14467. MUL.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  14468. MOV.F R5.y, R12.z;
  14469. MOV.F R3.z, R11.w;
  14470. ADD.F32 R3.z, R3, R5.y;
  14471. MOV.F R5.y, c[13];
  14472. MUL.F32 R5.y, R5, {0.5, 0, 0, 0}.x;
  14473. MOV.S R16.x, R5.y;
  14474. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  14475. MOV.F R5.w, R18;
  14476. MOV.S R13.y, R3.z;
  14477. MUL.F32 R3.z, R5.w, R5.x;
  14478. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  14479. TRUNC.U R5.y, R5;
  14480. TRUNC.U R5.x, R5;
  14481. AND.U.CC HC.x, R5, R5.y;
  14482. MOV.S R16.z, R5;
  14483. IF NE.x;
  14484. ELSE;
  14485. MOV.F R3.z, {0, 0, 0, 0}.x;
  14486. ENDIF;
  14487. MOV.F R5.x, R14.w;
  14488. RCP.F32 R5.x, R5.x;
  14489. MOV.S R12.z, R5.x;
  14490. EX2.F32 R3.z, R3.z;
  14491. MOV.F R6.x, R16;
  14492. MOV.F R5.w, R19.y;
  14493. ADD.F32 R5.y, R5.w, R6.x;
  14494. MOV.F R6.y, R18.x;
  14495. SNE.F32 R5.w, R5, -R6.x;
  14496. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  14497. MOV.F R5.z, R16;
  14498. MOV.F R5.x, R19;
  14499. ADD.F32 R5.x, R5, R5.z;
  14500. MOV.S R11.x, R5;
  14501. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  14502. TRUNC.U R5.z, R5;
  14503. TRUNC.U R5.w, R5;
  14504. AND.U.CC HC.x, R5.z, R5.w;
  14505. MUL.F32 R5.y, R6, R5;
  14506. MOV.S R5.x, R18.y;
  14507. MOV.S R16.x, R3.z;
  14508. IF NE.x;
  14509. MOV.F R3.z, R5.y;
  14510. ELSE;
  14511. MOV.F R3.z, {0, 0, 0, 0}.x;
  14512. ENDIF;
  14513. MOV.F R5.z, R11.x;
  14514. MOV.F R5.y, R5.x;
  14515. MUL.F32 R5.x, R5.y, R5.z;
  14516. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  14517. TRUNC.U R5.z, R5.w;
  14518. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  14519. MOV.S R18.y, R3.z;
  14520. TRUNC.U R3.z, R5.y;
  14521. AND.U.CC HC.x, R3.z, R5.z;
  14522. IF NE.x;
  14523. MOV.F R3.z, R5.x;
  14524. ELSE;
  14525. MOV.F R3.z, {0, 0, 0, 0}.x;
  14526. ENDIF;
  14527. MOV.S R22.z, R3;
  14528. SEQ.S R3.z, R3.w, {0, 0, 0, 0}.x;
  14529. MOV.U.CC RC.x, -R3.z;
  14530. MOV.F R5.y, R12.z;
  14531. MOV.F R5.x, R16;
  14532. MUL.F32 R5.x, R5, R5.y;
  14533. MOV.S R11.y, R5.x;
  14534. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  14535. IF NE.x;
  14536. MOV.S R3.z, R11.y;
  14537. ELSE;
  14538. MOV.S R3.z, R18.w;
  14539. ENDIF;
  14540. MOV.F R5.z, R3;
  14541. MOV.F R5.y, R15;
  14542. MUL.F32 R5.x, R5.y, R5.z;
  14543. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14544. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  14545. TRUNC.U R5.z, R5;
  14546. TRUNC.U R5.y, R5;
  14547. AND.U.CC HC.x, R5.y, R5.z;
  14548. IF NE.x;
  14549. ELSE;
  14550. MOV.F R5.x, {0, 0, 0, 0};
  14551. ENDIF;
  14552. MOV.F R5.w, R3.z;
  14553. MOV.F R5.z, R15;
  14554. MUL.F32 R5.y, R5.z, R5.w;
  14555. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14556. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14557. TRUNC.U R5.z, R5;
  14558. TRUNC.U R5.w, R5;
  14559. AND.U.CC HC.x, R5.z, R5.w;
  14560. MOV.S R11.y, R5.x;
  14561. IF NE.x;
  14562. MOV.F R5.x, R5.y;
  14563. ELSE;
  14564. MOV.F R5.x, {0, 0, 0, 0};
  14565. ENDIF;
  14566. MOV.F R5.z, R3;
  14567. MOV.F R5.y, R12.w;
  14568. MUL.F32 R3.z, R5.y, R5;
  14569. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  14570. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14571. TRUNC.U R5.y, R5;
  14572. TRUNC.U R5.z, R5;
  14573. AND.U.CC HC.x, R5.y, R5.z;
  14574. MOV.S R11.z, R5.x;
  14575. IF NE.x;
  14576. ELSE;
  14577. MOV.F R3.z, {0, 0, 0, 0}.x;
  14578. ENDIF;
  14579. MOV.F R5.y, R11;
  14580. MOV.F R5.x, R13.y;
  14581. ADD.F32 R5.x, R5, R5.y;
  14582. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  14583. FRC.F32 R5.x, R5;
  14584. MAD.F32 R5.x, R5, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  14585. MUL.F32 R5.x, R5, {0.159154937, 0, 0, 0};
  14586. MOV.S R13.y, R5.x;
  14587. MOV.F R5.x, R14.y;
  14588. ADD.F32 R3.z, R5.x, R3;
  14589. MAD.F32 R3.z, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  14590. FRC.F32 R3.z, R3;
  14591. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  14592. MOV.F R5.z, R11;
  14593. MOV.F R5.y, R13.x;
  14594. ADD.F32 R5.y, R5, R5.z;
  14595. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  14596. FRC.F32 R5.y, R5;
  14597. MAD.F32 R5.y, R5, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  14598. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  14599. SIN.F32 R5.y, R5.y;
  14600. MOV.S R5.x, R5.y;
  14601. MUL.F32 R5.y, R3.z, {0.159154937, 0, 0, 0}.x;
  14602. MOV.S R13.x, R5.z;
  14603. MOV.S R5.y, R5;
  14604. MUL.F32 R5.y, R5, {6.28318548, 0, 0, 0}.x;
  14605. SIN.F32 R5.y, R5.y;
  14606. MOV.F R5.z, R5.x;
  14607. MOV.S R12.w, R5.x;
  14608. COS.F32 R5.x, R3.z;
  14609. MUL.F32 R3.z, R5.x, R5;
  14610. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14611. MOV.S R15.x, R5;
  14612. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  14613. TRUNC.U R5.z, R5;
  14614. TRUNC.U R5.x, R5;
  14615. AND.U.CC HC.x, R5, R5.z;
  14616. MOV.S R15.y, R5;
  14617. MOV.S R8.z, {1065353216, 0, 0, 0}.x;
  14618. IF NE.x;
  14619. ELSE;
  14620. MOV.F R3.z, {0, 0, 0, 0}.x;
  14621. ENDIF;
  14622. MOV.F R5.z, R12.w;
  14623. MOV.F R5.y, R15;
  14624. MUL.F32 R5.x, R5.y, R5.z;
  14625. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  14626. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14627. TRUNC.U R5.y, R5;
  14628. TRUNC.U R5.z, R5;
  14629. AND.U.CC HC.x, R5.y, R5.z;
  14630. MOV.S R13.z, R3;
  14631. IF NE.x;
  14632. MOV.F R3.z, R5.x;
  14633. ELSE;
  14634. MOV.F R3.z, {0, 0, 0, 0}.x;
  14635. ENDIF;
  14636. MOV.F R5.x, R13;
  14637. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  14638. COS.F32 R5.y, R5.x;
  14639. MOV.F R5.z, R15.x;
  14640. MUL.F32 R5.x, R5.y, R5.z;
  14641. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14642. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  14643. MOV.S R15.z, R5.y;
  14644. TRUNC.U R5.y, R5.z;
  14645. TRUNC.U R5.z, R5.w;
  14646. AND.U.CC HC.x, R5.y, R5.z;
  14647. MOV.S R14.w, R3.z;
  14648. IF NE.x;
  14649. MOV.F R3.z, R5.x;
  14650. ELSE;
  14651. MOV.F R3.z, {0, 0, 0, 0}.x;
  14652. ENDIF;
  14653. MOV.F R5.z, R15;
  14654. MOV.F R5.y, R15;
  14655. MUL.F32 R5.x, R5.y, R5.z;
  14656. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  14657. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14658. TRUNC.U R5.y, R5;
  14659. TRUNC.U R5.z, R5;
  14660. AND.U.CC HC.x, R5.y, R5.z;
  14661. MOV.S R12.x, R3.z;
  14662. IF NE.x;
  14663. MOV.F R3.z, R5.x;
  14664. ELSE;
  14665. MOV.F R3.z, {0, 0, 0, 0}.x;
  14666. ENDIF;
  14667. MOV.F R5.x, R13.y;
  14668. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  14669. SIN.F32 R5.z, R5.x;
  14670. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  14671. MOV.S R12.y, R5.z;
  14672. MUL.F32 R5.y, R3.z, R5.z;
  14673. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14674. TRUNC.U R5.z, R5;
  14675. TRUNC.U R5.w, R5;
  14676. AND.U.CC HC.x, R5.z, R5.w;
  14677. MOV.S R5.x, R13.y;
  14678. MOV.S R14.y, R3.z;
  14679. IF NE.x;
  14680. MOV.F R3.z, R5.y;
  14681. ELSE;
  14682. MOV.F R3.z, {0, 0, 0, 0}.x;
  14683. ENDIF;
  14684. MOV.F R5.z, R12.y;
  14685. MOV.F R5.w, -R5.z;
  14686. MOV.F R6.x, R12;
  14687. MUL.F32 R5.y, R5.z, R6.x;
  14688. MOV.S R13.y, R5.w;
  14689. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14690. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  14691. TRUNC.U R5.z, R5;
  14692. TRUNC.U R5.w, R5;
  14693. AND.U.CC HC.x, R5.z, R5.w;
  14694. MOV.S R16.x, R3.z;
  14695. IF NE.x;
  14696. MOV.F R3.z, R5.y;
  14697. ELSE;
  14698. MOV.F R3.z, {0, 0, 0, 0}.x;
  14699. ENDIF;
  14700. MOV.F R5.w, R13.z;
  14701. MOV.F R5.z, R12.y;
  14702. MUL.F32 R5.y, R5.z, R5.w;
  14703. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14704. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14705. TRUNC.U R5.z, R5;
  14706. TRUNC.U R5.w, R5;
  14707. AND.U.CC HC.x, R5.z, R5.w;
  14708. MOV.S R16.z, R3;
  14709. IF NE.x;
  14710. ELSE;
  14711. MOV.F R5.y, {0, 0, 0, 0}.x;
  14712. ENDIF;
  14713. MOV.F R5.z, R5.x;
  14714. MOV.F R3.z, R13;
  14715. MOV.F R5.w, R16.x;
  14716. ADD.F32 R6.x, -R3.z, R5.w;
  14717. MOV.F R5.w, R16.z;
  14718. MOV.F R3.z, R14.w;
  14719. ADD.F32 R3.z, R3, R5.w;
  14720. MOV.F R5.w, R14.y;
  14721. ADD.F32 R5.y, -R5.w, R5;
  14722. MOV.S R5.x, R15;
  14723. MOV.S R15.x, R3.z;
  14724. MOV.S R11.y, R5;
  14725. MUL.F32 R5.y, R5.z, {6.28318548, 0, 0, 0}.x;
  14726. COS.F32 R5.z, R5.y;
  14727. MOV.F R5.w, R15.z;
  14728. MOV.S R3.z, R6.x;
  14729. MUL.F32 R5.y, R5.z, R5.w;
  14730. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  14731. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  14732. TRUNC.U R5.w, R5;
  14733. TRUNC.U R6.x, R6;
  14734. AND.U.CC HC.x, R5.w, R6;
  14735. MOV.S R13.x, R5.z;
  14736. IF NE.x;
  14737. ELSE;
  14738. MOV.F R5.y, {0, 0, 0, 0}.x;
  14739. ENDIF;
  14740. MOV.F R5.w, R13.x;
  14741. MOV.F R5.z, R5.x;
  14742. SNE.F32 R6.x, R5.w, {0, 0, 0, 0};
  14743. MUL.F32 R5.x, R5.z, R5.w;
  14744. TRUNC.U R6.x, R6;
  14745. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14746. MOV.S R5.w, R5.y;
  14747. TRUNC.U R5.y, R5.z;
  14748. AND.U.CC HC.x, R5.y, R6;
  14749. IF NE.x;
  14750. ELSE;
  14751. MOV.F R5.x, {0, 0, 0, 0};
  14752. ENDIF;
  14753. MOV.F R6.x, R13;
  14754. MOV.F R5.z, R15.y;
  14755. MUL.F32 R5.y, R5.z, R6.x;
  14756. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14757. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14758. TRUNC.U R5.z, R5;
  14759. TRUNC.U R6.x, R6;
  14760. AND.U.CC HC.x, R5.z, R6;
  14761. MOV.S R14.y, R5.x;
  14762. IF NE.x;
  14763. MOV.F R5.x, R5.y;
  14764. ELSE;
  14765. MOV.F R5.x, {0, 0, 0, 0};
  14766. ENDIF;
  14767. MOV.F R6.x, R14.w;
  14768. MOV.F R5.z, R12.y;
  14769. MUL.F32 R5.y, R5.z, R6.x;
  14770. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14771. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14772. TRUNC.U R5.z, R5;
  14773. TRUNC.U R6.x, R6;
  14774. AND.U.CC HC.x, R5.z, R6;
  14775. MOV.S R18.x, R5;
  14776. IF NE.x;
  14777. MOV.F R5.x, R5.y;
  14778. ELSE;
  14779. MOV.F R5.x, {0, 0, 0, 0};
  14780. ENDIF;
  14781. MOV.F R6.x, R8;
  14782. MOV.F R5.z, R11.y;
  14783. MUL.F32 R5.y, R5.z, R6.x;
  14784. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14785. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14786. TRUNC.U R5.z, R5;
  14787. TRUNC.U R6.x, R6;
  14788. AND.U.CC HC.x, R5.z, R6;
  14789. MOV.S R16.y, R5.x;
  14790. IF NE.x;
  14791. MOV.F R5.x, R5.y;
  14792. ELSE;
  14793. MOV.F R5.x, {0, 0, 0, 0};
  14794. ENDIF;
  14795. MOV.F R6.x, R13;
  14796. MOV.F R5.z, R12.w;
  14797. MUL.F32 R5.y, R5.z, R6.x;
  14798. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14799. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14800. TRUNC.U R5.z, R5;
  14801. TRUNC.U R6.x, R6;
  14802. AND.U.CC HC.x, R5.z, R6;
  14803. MOV.S R16.z, R5.x;
  14804. IF NE.x;
  14805. MOV.F R5.x, R5.y;
  14806. ELSE;
  14807. MOV.F R5.x, {0, 0, 0, 0};
  14808. ENDIF;
  14809. MOV.F R6.x, R14.y;
  14810. MOV.F R5.z, R18.y;
  14811. MUL.F32 R5.y, R5.z, R6.x;
  14812. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14813. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14814. TRUNC.U R5.z, R5;
  14815. TRUNC.U R6.x, R6;
  14816. AND.U.CC HC.x, R5.z, R6;
  14817. MOV.S R16.w, R5.x;
  14818. IF NE.x;
  14819. MOV.F R5.x, R5.y;
  14820. ELSE;
  14821. MOV.F R5.x, {0, 0, 0, 0};
  14822. ENDIF;
  14823. MOV.F R5.y, R16.z;
  14824. ADD.F32 R5.y, R5.x, R5;
  14825. MOV.F R6.x, R8;
  14826. MOV.F R5.z, R16.w;
  14827. MUL.F32 R5.x, R5.z, R6;
  14828. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14829. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  14830. TRUNC.U R6.x, R6;
  14831. TRUNC.U R5.z, R5;
  14832. AND.U.CC HC.x, R5.z, R6;
  14833. MOV.S R5.y, R5;
  14834. IF NE.x;
  14835. ELSE;
  14836. MOV.F R5.x, {0, 0, 0, 0};
  14837. ENDIF;
  14838. MOV.F R6.y, R16;
  14839. MOV.F R6.x, R12;
  14840. ADD.F32 R5.z, R6.x, R6.y;
  14841. SNE.F32 R6.x, R6, -R6.y;
  14842. MOV.F R6.z, R8.x;
  14843. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  14844. TRUNC.U R6.x, R6;
  14845. TRUNC.U R6.y, R6;
  14846. AND.U.CC HC.x, R6, R6.y;
  14847. MUL.F32 R5.z, R5, R6;
  14848. MOV.S R11.z, R5.x;
  14849. IF NE.x;
  14850. MOV.F R5.x, R5.z;
  14851. ELSE;
  14852. MOV.F R5.x, {0, 0, 0, 0};
  14853. ENDIF;
  14854. MOV.F R6.y, R15.x;
  14855. MOV.F R6.x, R22.z;
  14856. MUL.F32 R5.z, R6.x, R6.y;
  14857. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  14858. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14859. TRUNC.U R6.y, R6;
  14860. TRUNC.U R6.x, R6;
  14861. AND.U.CC HC.x, R6, R6.y;
  14862. MOV.S R8.x, R5;
  14863. IF NE.x;
  14864. MOV.F R5.x, R5.z;
  14865. ELSE;
  14866. MOV.F R5.x, {0, 0, 0, 0};
  14867. ENDIF;
  14868. ADD.F32 R5.y, R5.x, R5;
  14869. MOV.F R5.z, R18.y;
  14870. MOV.F R6.x, R13.y;
  14871. MUL.F32 R5.x, R5.z, R6;
  14872. MOV.S R19.y, R5;
  14873. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  14874. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  14875. TRUNC.U R5.z, R6.x;
  14876. TRUNC.U R5.y, R5;
  14877. AND.U.CC HC.x, R5.y, R5.z;
  14878. IF NE.x;
  14879. ELSE;
  14880. MOV.F R5.x, {0, 0, 0, 0};
  14881. ENDIF;
  14882. MOV.F R5.y, R11.z;
  14883. ADD.F32 R5.x, R5, R5.y;
  14884. MOV.S R19.z, R5.x;
  14885. MOV.F R5.x, R21;
  14886. SGT.F32 R5.x, R5, {0.5, 0, 0, 0};
  14887. TRUNC.U.CC HC.x, R5;
  14888. AND.S R8.w, c[12].x, {524288, 0, 0, 0}.x;
  14889. IF NE.x;
  14890. MOV.S R5.x, {-1, 0, 0, 0};
  14891. ELSE;
  14892. MOV.S R5.x, {0, 0, 0, 0};
  14893. ENDIF;
  14894. MOV.S R7.w, R5.x;
  14895. ENDIF;
  14896. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  14897. MOV.U.CC RC.x, -R5;
  14898. IF NE.x;
  14899. MOV.F R2.z, R5.w;
  14900. MOV.F R2.y, R22.z;
  14901. MUL.F32 R2.x, R2.y, R2.z;
  14902. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  14903. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  14904. TRUNC.U R2.z, R2;
  14905. TRUNC.U R2.y, R2;
  14906. AND.U.CC HC.x, R2.y, R2.z;
  14907. IF NE.x;
  14908. ELSE;
  14909. MOV.F R2.x, {0, 0, 0, 0};
  14910. ENDIF;
  14911. MOV.F R2.y, R18;
  14912. SNE.F32 R2.z, R2.y, {0, 0, 0, 0}.x;
  14913. MOV.F R2.w, R18.x;
  14914. TRUNC.U R3.x, R2.z;
  14915. MOV.F R2.z, R19;
  14916. ADD.F32 R2.x, R2, R2.z;
  14917. MUL.F32 R2.y, R2, R2.w;
  14918. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  14919. TRUNC.U R2.z, R2.w;
  14920. AND.U.CC HC.x, R3, R2.z;
  14921. MOV.S R12.x, R2;
  14922. IF NE.x;
  14923. MOV.F R2.x, R2.y;
  14924. ELSE;
  14925. MOV.F R2.x, {0, 0, 0, 0};
  14926. ENDIF;
  14927. MOV.F R2.y, R8.x;
  14928. ADD.F32 R2.x, R2, R2.y;
  14929. MOV.F R2.z, c[15].x;
  14930. MOV.F R2.y, c[14].x;
  14931. MOV.S R5.w, R2.x;
  14932. MUL.F32 R2.x, R2.y, R2.z;
  14933. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  14934. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  14935. TRUNC.U R2.z, R2;
  14936. TRUNC.U R2.y, R2;
  14937. AND.U.CC HC.x, R2.y, R2.z;
  14938. IF NE.x;
  14939. ELSE;
  14940. MOV.F R2.x, {0, 0, 0, 0};
  14941. ENDIF;
  14942. MOV.F R2.z, c[14].y;
  14943. MOV.F R2.w, c[15].y;
  14944. MUL.F32 R2.y, R2.z, R2.w;
  14945. MOV.S R3.x, R2;
  14946. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  14947. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  14948. TRUNC.U R2.z, R2.w;
  14949. TRUNC.U R2.x, R2;
  14950. AND.U.CC HC.x, R2, R2.z;
  14951. IF NE.x;
  14952. MOV.F R2.x, R2.y;
  14953. ELSE;
  14954. MOV.F R2.x, {0, 0, 0, 0};
  14955. ENDIF;
  14956. MOV.F R2.w, R3.z;
  14957. MOV.F R2.z, R22;
  14958. MUL.F32 R2.y, R2.z, R2.w;
  14959. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  14960. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  14961. TRUNC.U R2.w, R2;
  14962. TRUNC.U R2.z, R2;
  14963. AND.U.CC HC.x, R2.z, R2.w;
  14964. MOV.S R3.y, R2.x;
  14965. IF NE.x;
  14966. MOV.F R2.x, R2.y;
  14967. ELSE;
  14968. MOV.F R2.x, {0, 0, 0, 0};
  14969. ENDIF;
  14970. MOV.F R2.y, R5.w;
  14971. ADD.F32 R2.x, R2, R2.y;
  14972. SEQ.S R2.y, R8.w, {524288, 0, 0, 0}.x;
  14973. MOV.U.CC RC.x, -R2.y;
  14974. MOV.S R13.z, R2.x;
  14975. IF NE.x;
  14976. MOV.S R6.x, {-1, 0, 0, 0};
  14977. ELSE;
  14978. MOV.S R6.x, {0, 0, 0, 0};
  14979. ENDIF;
  14980. MOV.F R2.xyz, R9;
  14981. MOV.F R2.w, R6;
  14982. MOV.F R5.x, R12;
  14983. MOV.F R5.z, R13;
  14984. MOV.F R5.w, R3;
  14985. MOV.F R5.y, R19;
  14986. DP4.F32 R2.x, R2, R5;
  14987. MOV.F R2.z, c[15];
  14988. MOV.F R2.y, c[14].z;
  14989. MOV.S R9.x, R2;
  14990. MUL.F32 R2.x, R2.y, R2.z;
  14991. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  14992. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  14993. TRUNC.U R2.z, R2;
  14994. TRUNC.U R2.y, R2;
  14995. AND.U.CC HC.x, R2.y, R2.z;
  14996. IF NE.x;
  14997. MOV.F R3.z, R2.x;
  14998. ELSE;
  14999. MOV.F R3.z, {0, 0, 0, 0}.x;
  15000. ENDIF;
  15001. MOV.F R5, R10;
  15002. MOV.F R2.z, R13;
  15003. MOV.F R2.y, R19;
  15004. MOV.F R2.x, R12;
  15005. MOV.F R2.w, R3;
  15006. DP4.F32 R2.x, R5, R2;
  15007. MOV.F R2.z, c[15].w;
  15008. MOV.F R2.y, c[16].x;
  15009. MOV.S R10.y, R2.x;
  15010. MUL.F32 R2.x, R2.y, R2.z;
  15011. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  15012. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  15013. TRUNC.U R2.z, R2;
  15014. TRUNC.U R2.y, R2;
  15015. AND.U.CC HC.x, R2.y, R2.z;
  15016. MOV.S R3.z, R3;
  15017. IF NE.x;
  15018. MOV.F R6.y, R2.x;
  15019. ELSE;
  15020. MOV.F R6.y, {0, 0, 0, 0}.x;
  15021. ENDIF;
  15022. MOV.F R2.xyz, R17;
  15023. MOV.F R2.w, R9;
  15024. MOV.F R5.x, R12;
  15025. MOV.F R5.z, R13;
  15026. MOV.F R5.w, R3;
  15027. MOV.F R5.y, R19;
  15028. DP4.F32 R2.x, R2, R5;
  15029. MOV.F R2.z, c[17].x;
  15030. MOV.F R2.y, R3.x;
  15031. MOV.S R17.z, R2.x;
  15032. MUL.F32 R2.x, R2.y, R2.z;
  15033. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  15034. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  15035. TRUNC.U R2.y, R2;
  15036. TRUNC.U R2.z, R2;
  15037. AND.U.CC HC.x, R2.y, R2.z;
  15038. MOV.S R2.w, R6.y;
  15039. IF NE.x;
  15040. ELSE;
  15041. MOV.F R2.x, {0, 0, 0, 0};
  15042. ENDIF;
  15043. MOV.F R2.z, R3.y;
  15044. MOV.F R3.x, c[17];
  15045. SNE.F32 R5.x, R2.z, {0, 0, 0, 0};
  15046. MUL.F32 R2.y, R2.z, R3.x;
  15047. MOV.F R2.z, R23.x;
  15048. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  15049. SNE.F32 R5.y, R3.x, {0, 0, 0, 0}.x;
  15050. MOV.S R3.x, R2.z;
  15051. TRUNC.U R5.x, R5;
  15052. TRUNC.U R2.z, R5.y;
  15053. AND.U.CC HC.x, R5, R2.z;
  15054. MOV.S R2.x, R2;
  15055. IF NE.x;
  15056. ELSE;
  15057. MOV.F R2.y, {0, 0, 0, 0}.x;
  15058. ENDIF;
  15059. MOV.F R5.y, c[17].x;
  15060. MOV.F R5.x, R3.z;
  15061. MUL.F32 R2.z, R5.x, R5.y;
  15062. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  15063. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15064. TRUNC.U R5.x, R5;
  15065. TRUNC.U R5.y, R5;
  15066. AND.U.CC HC.x, R5, R5.y;
  15067. MOV.S R2.y, R2;
  15068. IF NE.x;
  15069. ELSE;
  15070. MOV.F R2.z, {0, 0, 0, 0}.x;
  15071. ENDIF;
  15072. SEQ.S R5.x, R7.w, {0, 0, 0, 0};
  15073. MOV.U.CC RC.x, -R5;
  15074. MOV.S R2.z, R2;
  15075. IF NE.x;
  15076. MOV.S R5.x, R23.y;
  15077. ELSE;
  15078. MOV.S R5.x, R23.y;
  15079. ENDIF;
  15080. MOV.F R5.y, c[18].z;
  15081. RCP.F32 R5.y, R5.y;
  15082. SEQ.S R5.z, R7.w, {0, 0, 0, 0}.x;
  15083. MOV.U.CC RC.x, -R5.z;
  15084. MOV.S R17.x, R5.y;
  15085. IF NE.x;
  15086. MOV.S R5.y, R23.x;
  15087. ELSE;
  15088. MOV.S R5.y, R3.x;
  15089. ENDIF;
  15090. MOV.F R5.z, R21.y;
  15091. SGT.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  15092. TRUNC.U.CC HC.x, R5.z;
  15093. IF NE.x;
  15094. MOV.S R5.z, {-1, 0, 0, 0}.x;
  15095. ELSE;
  15096. MOV.S R5.z, {0, 0, 0, 0}.x;
  15097. ENDIF;
  15098. SEQ.S R5.w, R6.x, {0, 0, 0, 0}.x;
  15099. MOV.U.CC RC.x, -R5.w;
  15100. IF NE.x;
  15101. MOV.S R5.x, R23.y;
  15102. ELSE;
  15103. ENDIF;
  15104. MOV.F R5.w, c[18];
  15105. RCP.F32 R5.w, R5.w;
  15106. SEQ.S R6.x, R6, {0, 0, 0, 0};
  15107. MOV.U.CC RC.x, -R6;
  15108. MOV.S R7.w, R5.x;
  15109. MOV.S R10.z, R5.w;
  15110. IF NE.x;
  15111. MOV.S R5.y, R23.x;
  15112. ELSE;
  15113. ENDIF;
  15114. MOV.F R5.w, R5.x;
  15115. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  15116. SEQ.S R6.x, R5.z, {0, 0, 0, 0};
  15117. MOV.U.CC RC.x, -R6;
  15118. MOV.S R23.y, R5;
  15119. MOV.S R16.w, R5;
  15120. IF NE.x;
  15121. ELSE;
  15122. ENDIF;
  15123. SEQ.S R5.z, R5, {0, 0, 0, 0}.x;
  15124. MOV.U.CC RC.x, -R5.z;
  15125. MOV.S R21.x, R5.y;
  15126. IF NE.x;
  15127. ELSE;
  15128. MOV.S R5.x, R16.w;
  15129. ENDIF;
  15130. MOV.S R21.z, R5.x;
  15131. MOV.S R23.x, c[9];
  15132. ENDIF;
  15133. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  15134. MOV.U.CC RC.x, -R5;
  15135. IF NE.x;
  15136. MOV.F R1.w, R8.z;
  15137. MOV.F R1.x, R9;
  15138. MOV.F R1.y, R10;
  15139. MOV.F R1.z, R17;
  15140. MOV.F R0, c[22];
  15141. DP4.F32 R5.x, R1, R0;
  15142. MOV.F R0, c[23];
  15143. DP4.F32 R3.w, R1, R0;
  15144. MOV.F R6, c[24];
  15145. DP4.F32 R0.y, R1, R6;
  15146. MOV.F R0.x, c[13].z;
  15147. ADD.F32 R0.x, R0, R0.y;
  15148. MOV.S R7.y, R0.x;
  15149. MOV.F R0, c[25];
  15150. DP4.F32 R7.x, R1, R0;
  15151. MOV.F R0, c[21];
  15152. DP4.F32 R0.z, R0, R1;
  15153. MOV.S R0.w, R0.z;
  15154. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  15155. MOV.F R8, c[20];
  15156. DP4.F32 R0.y, R8, R1;
  15157. MOV.S R14.w, R0.z;
  15158. AND.S R0.z, c[12].x, {1048576, 0, 0, 0}.x;
  15159. SEQ.S R0.z, R0, {1048576, 0, 0, 0}.x;
  15160. MOV.U.CC RC.x, -R0.z;
  15161. MOV.F R5.y, R3.w;
  15162. MOV.S R14.y, R3.w;
  15163. MOV.F R6, c[26];
  15164. MOV.S R5.z, R7.y;
  15165. MOV.F R5.w, R7.x;
  15166. DP4.F32 R5.y, R5, R6;
  15167. MOV.F R6, c[19];
  15168. DP4.F32 R0.x, R1, R6;
  15169. MOV.S R15.z, R5.y;
  15170. MOV.S R0.y, R0;
  15171. MOV.S R0.x, R0;
  15172. MOV.S R15.x, R5;
  15173. MOV.S R12.w, R7.x;
  15174. MOV.S R13.z, R7.y;
  15175. MOV.S R3.w, R18.z;
  15176. MOV.S R24.x, R23;
  15177. IF NE.x;
  15178. MOV.S R0.z, {-1, 0, 0, 0}.x;
  15179. ELSE;
  15180. MOV.S R0.z, {0, 0, 0, 0}.x;
  15181. ENDIF;
  15182. SEQ.S R1.x, R0.z, {0, 0, 0, 0};
  15183. MOV.U.CC RC.x, -R1;
  15184. IF NE.x;
  15185. MOV.S R1.x, R23.y;
  15186. ELSE;
  15187. MOV.S R1.x, R21;
  15188. ENDIF;
  15189. SEQ.S R0.z, R0, {0, 0, 0, 0}.x;
  15190. MOV.U.CC RC.x, -R0.z;
  15191. MOV.S R23.y, R1.x;
  15192. IF NE.x;
  15193. MOV.S R0.z, R7.w;
  15194. ELSE;
  15195. MOV.S R0.z, R2
  15196. [15:03:17] Link error in shader. Log:
  15197. [15:03:17] Vertex info
  15198. -----------
  15199. Internal error: assembly compile error for vertex shader at offset 1806:
  15200. -- error message --
  15201. line 38, column 45: error: invalid vertex attribute reference
  15202. line 53, column 25: error: invalid vertex attribute reference
  15203. line 55, column 25: error: invalid vertex attribute reference
  15204. line 57, column 25: error: invalid vertex attribute reference
  15205. line 60, column 25: error: invalid vertex attribute reference
  15206. -- internal assembly text --
  15207. !!NVvp5.0
  15208. OPTION NV_internal;
  15209. OPTION NV_bindless_texture;
  15210. # cgc version 3.4.0001, build date Sep 5 2019
  15211. # command line args:
  15212. #vendor NVIDIA Corporation
  15213. #version 3.4.0.1 COP Build Date Sep 5 2019
  15214. #profile gp5vp
  15215. #program main
  15216. #semantic uf_remappedVS
  15217. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  15218. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  15219. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  15220. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  15221. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  15222. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  15223. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  15224. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  15225. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  15226. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  15227. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  15228. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  15229. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  15230. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  15231. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  15232. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  15233. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  15234. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  15235. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  15236. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  15237. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  15238. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  15239. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  15240. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  15241. #var int4 uf_remappedVS[0] : : c[0], 34 : -1 : 1
  15242. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  15243. PARAM c[34] = { program.local[0..33] };
  15244. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  15245. OUTPUT result_attrib[] = { result.attrib[0..4] };
  15246. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24;
  15247. TEMP T;
  15248. TEMP RC;
  15249. SHORT TEMP HC;
  15250. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  15251. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15252. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  15253. OR.U R0, R0, R1;
  15254. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  15255. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15256. OR.U R0, R0, R1;
  15257. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  15258. OR.U R4, R0, R2;
  15259. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  15260. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15261. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  15262. OR.U R0, R0, R1;
  15263. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  15264. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15265. OR.U R0, R0, R1;
  15266. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  15267. OR.U R5, R0, R2;
  15268. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  15269. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15270. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  15271. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  15272. OR.U R1, R1, R2;
  15273. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  15274. OR.U R0, R1, R0;
  15275. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  15276. OR.U R6, R0, R2;
  15277. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  15278. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15279. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  15280. OR.U R1, R1, R2;
  15281. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  15282. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15283. OR.U R1, R1, R2;
  15284. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  15285. OR.U R8, R1, R0;
  15286. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  15287. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15288. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  15289. OR.U R0, R0, R1;
  15290. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  15291. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15292. OR.U R0, R0, R1;
  15293. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  15294. OR.U R9, R0, R2;
  15295. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  15296. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15297. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  15298. OR.U R0, R0, R1;
  15299. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  15300. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15301. OR.U R0, R0, R1;
  15302. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  15303. OR.U R7, R0, R2;
  15304. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  15305. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15306. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  15307. OR.U R0, R0, R1;
  15308. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  15309. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15310. OR.U R0, R0, R1;
  15311. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  15312. OR.U R10, R0, R2;
  15313. MOV.U R0.x, R7.w;
  15314. MOV.F R0.y, c[0].x;
  15315. ADD.F32 R3.x, -R0, R0.y;
  15316. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  15317. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  15318. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15319. TRUNC.U R16.x, R3.y;
  15320. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  15321. MOV.S R22.w, R3.x;
  15322. OR.U R0, R0, R1;
  15323. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  15324. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15325. OR.U R0, R0, R1;
  15326. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  15327. OR.U R11, R0, R2;
  15328. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  15329. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15330. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  15331. OR.U R0, R0, R1;
  15332. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  15333. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15334. OR.U R0, R0, R1;
  15335. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  15336. OR.U R12, R0, R2;
  15337. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  15338. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15339. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  15340. OR.U R0, R0, R1;
  15341. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  15342. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15343. OR.U R0, R0, R1;
  15344. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  15345. OR.U R15, R0, R2;
  15346. SEQ.U R0.x, R16, {1, 0, 0, 0};
  15347. SEQ.U R16.y, -R0.x, {1, 0, 0, 0}.x;
  15348. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  15349. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15350. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  15351. MOV.U.CC RC.x, -R16.y;
  15352. OR.U R0.xyz, R0, R1;
  15353. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  15354. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15355. OR.U R0.xyz, R0, R1;
  15356. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  15357. OR.U R24.xyz, R0, R2;
  15358. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15359. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15360. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15361. OR.U R0.xyz, R0, R1;
  15362. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15363. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15364. OR.U R0.xyz, R0, R1;
  15365. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15366. OR.U R23.xyz, R0, R2;
  15367. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15368. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15369. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15370. OR.U R0.xyz, R0, R1;
  15371. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15372. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15373. OR.U R0.xyz, R0, R1;
  15374. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15375. OR.U R13.xyz, R0, R2;
  15376. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  15377. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15378. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  15379. OR.U R0.xyz, R0, R1;
  15380. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  15381. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15382. OR.U R0.xyz, R0, R1;
  15383. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  15384. OR.U R14.xyz, R0, R2;
  15385. MOV.S R0, {0, 0, 0, 0}.x;
  15386. MOV.S R1, {0, 0, 0, 0}.x;
  15387. MOV.S R2, {0, 0, 0, 0}.x;
  15388. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  15389. MOV.S R3.yz, {0, 0, 0, 0};
  15390. MOV.S R3.x, vertex.id;
  15391. MOV.S R3.w, vertex.instance.x;
  15392. MOV.S R13.w, {0, 0, 0, 0}.x;
  15393. MOV.S R14.w, {1065353216, 0, 0, 0}.x;
  15394. IF NE.x;
  15395. MOV.F R3.x, c[1].y;
  15396. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  15397. MOV.S R3.xy, {0, 0, 0, 0};
  15398. MOV.S R3.z, R3;
  15399. MOV.S R7.x, {0, 0, 0, 0};
  15400. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  15401. ENDIF;
  15402. SEQ.U R16.x, R16, {0, 0, 0, 0};
  15403. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  15404. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  15405. MOV.U.CC RC.x, -R16;
  15406. IF NE.x;
  15407. MOV.S R15.w, {0, 0, 0, 0}.x;
  15408. ENDIF;
  15409. SEQ.S R16.x, R15.w, {0, 0, 0, 0};
  15410. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  15411. SEQ.U R16.z, -R16.y, {1, 0, 0, 0}.x;
  15412. MOV.U.CC RC.x, -R16.z;
  15413. MOV.U R16.x, -R16;
  15414. MOV.U R16.y, -R16;
  15415. IF NE.x;
  15416. MOV.F R16.z, R6.w;
  15417. TRUNC.S R16.z, R16;
  15418. I2F.S R16.z, R16;
  15419. MOV.F R16.w, R22;
  15420. SGE.F32 R16.w, R16, R16.z;
  15421. MOV.S R24.z, R16;
  15422. TRUNC.U R16.z, R16.w;
  15423. SEQ.U R16.w, R16.y, {1, 0, 0, 0}.x;
  15424. SEQ.U R16.y, R16.z, {1, 0, 0, 0}.x;
  15425. AND.U R23.w, -R16.y, -R16;
  15426. ELSE;
  15427. MOV.U R23.w, {0, 0, 0, 0}.x;
  15428. ENDIF;
  15429. SEQ.U R16.y, R23.w, {1, 0, 0, 0}.x;
  15430. MOV.U.CC RC.x, -R16.y;
  15431. IF NE.x;
  15432. MOV.F R3.x, c[1].y;
  15433. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  15434. MOV.S R3.xy, {0, 0, 0, 0};
  15435. MOV.S R3.z, R3;
  15436. MOV.S R7.x, {0, 0, 0, 0};
  15437. MOV.S R13.w, {1065353216, 0, 0, 0}.x;
  15438. ENDIF;
  15439. SEQ.U R16.x, R16, {1, 0, 0, 0};
  15440. SEQ.U R16.z, -R16.x, {1, 0, 0, 0}.x;
  15441. MOV.U.CC RC.x, -R16.z;
  15442. MOV.U R16.y, -R16.x;
  15443. IF NE.x;
  15444. SEQ.S R16.x, R13.w, {0, 0, 0, 0};
  15445. SEQ.U R16.y, R16, {1, 0, 0, 0}.x;
  15446. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  15447. AND.U R23.w, -R16.x, -R16.y;
  15448. ELSE;
  15449. MOV.U R23.w, {0, 0, 0, 0}.x;
  15450. ENDIF;
  15451. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  15452. MOV.U.CC RC.x, -R16;
  15453. IF NE.x;
  15454. MOV.F R0.y, R8;
  15455. MOV.F R0.z, R8;
  15456. ADD.F32 R0.w, R0.z, R0.y;
  15457. MOV.F R0.x, R8;
  15458. ADD.F32 R0.x, R0, R0.y;
  15459. MUL.F32 R0.x, R0, {0.5, 0, 0, 0};
  15460. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  15461. MUL.F32 R0.w, R0, {0.5, 0, 0, 0}.x;
  15462. MOV.S R20.y, R0.x;
  15463. MUL.F32 R0.x, R0.z, {2, 0, 0, 0};
  15464. MOV.S R18.w, R0.x;
  15465. AND.S R0.x, c[2], {65536, 0, 0, 0};
  15466. I2F.S R0.x, R0;
  15467. MOV.S R21.x, R0.y;
  15468. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0.x;
  15469. TRUNC.U.CC HC.x, R0.y;
  15470. MOV.S R20.z, R0.w;
  15471. AND.S R18.z, c[2].x, {131072, 0, 0, 0}.x;
  15472. AND.S R18.y, c[2].x, {262144, 0, 0, 0}.x;
  15473. MOV.S R0.x, R0;
  15474. IF NE.x;
  15475. MOV.F R0.y, {1, 0, 0, 0}.x;
  15476. ELSE;
  15477. MOV.F R0.y, {0, 0, 0, 0}.x;
  15478. ENDIF;
  15479. MOV.F R0.z, R0.x;
  15480. MOV.F R0.x, R0.y;
  15481. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  15482. TRUNC.U.CC HC.x, R0.y;
  15483. MOV.S R16.x, R0;
  15484. IF NE.x;
  15485. MOV.F R0.x, {1, 0, 0, 0};
  15486. ELSE;
  15487. MOV.F R0.x, {0, 0, 0, 0};
  15488. ENDIF;
  15489. MOV.F R0.z, R8;
  15490. MOV.F R0.y, R8.x;
  15491. ADD.F32 R0.y, R0, R0.z;
  15492. I2F.S R0.z, R18;
  15493. MOV.S R17.z, R0.y;
  15494. MOV.F R0.y, R21.x;
  15495. FLR.F R0.y, R0;
  15496. MOV.S R17.w, R0.y;
  15497. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  15498. TRUNC.U.CC HC.x, R0.y;
  15499. MOV.S R7.y, R0.z;
  15500. MOV.S R16.y, R0.x;
  15501. IF NE.x;
  15502. MOV.F R0.x, {1, 0, 0, 0};
  15503. ELSE;
  15504. MOV.F R0.x, {0, 0, 0, 0};
  15505. ENDIF;
  15506. MOV.F R0.z, R16.x;
  15507. MOV.F R0.y, R16;
  15508. ADD.F32 R0.y, R0, -R0.z;
  15509. MOV.F R0.w, R18;
  15510. FLR.F R0.z, R0.w;
  15511. MOV.S R21.y, R0;
  15512. MOV.F R0.y, R7;
  15513. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  15514. TRUNC.U.CC HC.x, R0.y;
  15515. MOV.S R19.z, R0;
  15516. MOV.S R21.x, R0;
  15517. IF NE.x;
  15518. MOV.F R0.y, {1, 0, 0, 0}.x;
  15519. ELSE;
  15520. MOV.F R0.y, {0, 0, 0, 0}.x;
  15521. ENDIF;
  15522. I2F.S R0.z, R18.y;
  15523. MOV.S R0.x, R0.z;
  15524. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0;
  15525. TRUNC.U.CC HC.x, R0.z;
  15526. MOV.S R21.w, R0.y;
  15527. IF NE.x;
  15528. MOV.F R0.y, {1, 0, 0, 0}.x;
  15529. ELSE;
  15530. MOV.F R0.y, {0, 0, 0, 0}.x;
  15531. ENDIF;
  15532. MOV.F R0.w, R21;
  15533. MOV.F R0.z, R21.x;
  15534. ADD.F32 R0.z, R0, -R0.w;
  15535. MOV.F R3.x, R8;
  15536. MUL.F32 R0.w, R3.x, {2, 0, 0, 0}.x;
  15537. MOV.S R16.z, R0;
  15538. MOV.F R0.z, R0.x;
  15539. MOV.F R0.x, R0.y;
  15540. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  15541. TRUNC.U.CC HC.x, R0.y;
  15542. MOV.S R19.y, R0.w;
  15543. MOV.S R16.x, R0;
  15544. IF NE.x;
  15545. MOV.F R0.x, {1, 0, 0, 0};
  15546. ELSE;
  15547. MOV.F R0.x, {0, 0, 0, 0};
  15548. ENDIF;
  15549. MOV.F R0.y, R16.x;
  15550. ADD.F32 R0.y, R0.x, -R0;
  15551. MOV.F R0.x, R21.y;
  15552. TRUNC.S R0.x, R0;
  15553. MOV.S R18.y, R0;
  15554. MOV.F R0.y, c[3].x;
  15555. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  15556. TRUNC.U.CC HC.x, R0.y;
  15557. MOV.S R18.z, R0.x;
  15558. ADD.S R21.x, -R0, {0, 0, 0, 0};
  15559. IF NE.x;
  15560. MOV.F R0.x, {1, 0, 0, 0};
  15561. ELSE;
  15562. MOV.F R0.x, {0, 0, 0, 0};
  15563. ENDIF;
  15564. MOV.F R0.y, c[3].x;
  15565. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  15566. TRUNC.U.CC HC.x, R0.y;
  15567. MOV.S R3.z, R0.x;
  15568. IF NE.x;
  15569. MOV.F R0.x, {1, 0, 0, 0};
  15570. ELSE;
  15571. MOV.F R0.x, {0, 0, 0, 0};
  15572. ENDIF;
  15573. MOV.F R0.z, R17;
  15574. MOV.F R0.y, R16.z;
  15575. TRUNC.S R0.y, R0;
  15576. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  15577. MAX.S R3.y, R18.z, R21.x;
  15578. MOV.S R18.z, R0;
  15579. MOV.F R0.z, c[4].y;
  15580. MOV.S R17.y, R0;
  15581. ADD.S R16.x, -R0.y, {0, 0, 0, 0};
  15582. MOV.F R0.y, R8.x;
  15583. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  15584. MUL.F32 R0.y, R0, R0.z;
  15585. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  15586. TRUNC.U R0.w, R0;
  15587. TRUNC.U R0.z, R0;
  15588. AND.U.CC HC.x, R0.w, R0.z;
  15589. MOV.S R18.w, R0.x;
  15590. IF NE.x;
  15591. MOV.F R0.x, R0.y;
  15592. ELSE;
  15593. MOV.F R0.x, {0, 0, 0, 0};
  15594. ENDIF;
  15595. MOV.F R0.z, R17.w;
  15596. MOV.F R0.y, c[3].x;
  15597. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  15598. RCP.F32 R0.y, R0.y;
  15599. TRUNC.U.CC HC.x, R0.z;
  15600. MOV.S R3.w, R18.y;
  15601. MOV.S R20.w, R0.x;
  15602. MOV.S R7.y, R0;
  15603. IF NE.x;
  15604. MOV.F R0.x, {1, 0, 0, 0};
  15605. ELSE;
  15606. MOV.F R0.x, {0, 0, 0, 0};
  15607. ENDIF;
  15608. MOV.F R0.y, R20.z;
  15609. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  15610. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  15611. MOV.S R17.z, R0.y;
  15612. MOV.F R0.y, R3.w;
  15613. TRUNC.S R18.x, R0.y;
  15614. MOV.F R0.w, R7.y;
  15615. MOV.F R0.z, R22.w;
  15616. MUL.F32 R0.z, R0, R0.w;
  15617. MOV.F R3.x, R17.w;
  15618. SGT.F32 R0.w, {0, 0, 0, 0}.x, R3.x;
  15619. TRUNC.U.CC HC.x, R0.w;
  15620. MAX.S R19.w, R17.y, R16.x;
  15621. MOV.S R3.w, R20.y;
  15622. MOV.S R18.y, R0.z;
  15623. MOV.S R20.x, R0;
  15624. ADD.S R17.x, -R18, {0, 0, 0, 0};
  15625. IF NE.x;
  15626. MOV.F R0.x, {1, 0, 0, 0};
  15627. ELSE;
  15628. MOV.F R0.x, {0, 0, 0, 0};
  15629. ENDIF;
  15630. MOV.F R0.y, R19.z;
  15631. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  15632. TRUNC.U.CC HC.x, R0.y;
  15633. MOV.S R20.y, R0.x;
  15634. IF NE.x;
  15635. MOV.F R0.z, {1, 0, 0, 0}.x;
  15636. ELSE;
  15637. MOV.F R0.z, {0, 0, 0, 0}.x;
  15638. ENDIF;
  15639. MOV.F R0.x, c[5].w;
  15640. MAX.F R0.x, R0, {0, 0, 0, 0};
  15641. LG2.F32 R0.x, R0.x;
  15642. MUL.F32 R0.y, R0.x, {2, 0, 0, 0}.x;
  15643. SNE.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  15644. SEQ.F R0.y, R0.x, R0;
  15645. TRUNC.U R0.w, R0;
  15646. TRUNC.U R0.y, R0;
  15647. AND.U R0.y, R0, R0.w;
  15648. MOV.F R0.w, R3;
  15649. SEQ.U R0.y, R0, {1, 0, 0, 0}.x;
  15650. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  15651. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  15652. MOV.U.CC RC.x, -R0.y;
  15653. MOV.S R20.z, R0;
  15654. MOV.S R17.w, R0;
  15655. IF NE.x;
  15656. MOV.F R0.x, {-3.40282347e+38, 0, 0, 0};
  15657. ENDIF;
  15658. MOV.F R0.y, R19.z;
  15659. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  15660. TRUNC.U.CC HC.x, R0.y;
  15661. MOV.S R3.w, R18.y;
  15662. MOV.S R7.y, R0.x;
  15663. IF NE.x;
  15664. MOV.F R0.x, {1, 0, 0, 0};
  15665. ELSE;
  15666. MOV.F R0.x, {0, 0, 0, 0};
  15667. ENDIF;
  15668. MOV.F R0.y, R19;
  15669. FLR.F R0.y, R0;
  15670. MOV.S R18.y, R0;
  15671. MOV.F R0.y, R0.x;
  15672. MOV.F R0.w, R18;
  15673. MOV.F R0.z, R3;
  15674. ADD.F32 R0.z, R0, -R0.w;
  15675. MOV.S R19.z, R0;
  15676. MOV.F R0.z, R22.w;
  15677. MOV.F R0.w, R7.y;
  15678. MUL.F32 R0.x, R0.z, R0.w;
  15679. MOV.S R21.x, R0.y;
  15680. SNE.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  15681. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  15682. TRUNC.U R0.z, R0.w;
  15683. TRUNC.U R0.y, R0;
  15684. AND.U.CC HC.x, R0.y, R0.z;
  15685. IF NE.x;
  15686. ELSE;
  15687. MOV.F R0.x, {0, 0, 0, 0};
  15688. ENDIF;
  15689. MOV.F R0.w, R20.z;
  15690. MOV.F R0.z, R20.y;
  15691. MOV.F R0.y, R20.x;
  15692. ADD.F32 R0.y, R0, -R0.z;
  15693. MOV.F R0.z, R21.x;
  15694. ADD.F32 R0.w, R0, -R0.z;
  15695. MAX.S R20.z, R18.x, R17.x;
  15696. MOV.S R18.x, R0.y;
  15697. MOV.F R0.y, R20.w;
  15698. MOV.F R0.z, R18;
  15699. MOV.S R20.w, R0;
  15700. ADD.F32 R0.w, R0.z, {-0.5, 0, 0, 0}.x;
  15701. MOV.F R0.z, R3.w;
  15702. ADD.F32 R0.y, R0, R0.z;
  15703. MOV.S R0.w, R0;
  15704. MOV.S R0.z, R0.w;
  15705. MOV.S R19.x, R0.y;
  15706. MOV.F R0.y, R0.z;
  15707. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  15708. MOV.S R20.y, R0;
  15709. MOV.F R0.y, R24.z;
  15710. MOV.F R0.z, R18.y;
  15711. RCP.F32 R0.y, R0.y;
  15712. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  15713. TRUNC.U.CC HC.x, R0.z;
  15714. MOV.S R3.w, R18.y;
  15715. MOV.S R18.z, R0.y;
  15716. MOV.S R18.w, R0.x;
  15717. IF NE.x;
  15718. MOV.F R0.x, {1, 0, 0, 0};
  15719. ELSE;
  15720. MOV.F R0.x, {0, 0, 0, 0};
  15721. ENDIF;
  15722. MOV.F R0.y, R17.w;
  15723. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  15724. MOV.F R0.z, c[6].x;
  15725. MUL.F32 R0.y, R0, R0.z;
  15726. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  15727. TRUNC.U R0.w, R0;
  15728. TRUNC.U R0.z, R0;
  15729. AND.U.CC HC.x, R0.w, R0.z;
  15730. MOV.S R21.x, R0;
  15731. IF NE.x;
  15732. MOV.F R0.x, R0.y;
  15733. ELSE;
  15734. MOV.F R0.x, {0, 0, 0, 0};
  15735. ENDIF;
  15736. MOV.F R0.y, R3.w;
  15737. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  15738. TRUNC.U.CC HC.x, R0.y;
  15739. MOV.S R18.y, R0.x;
  15740. IF NE.x;
  15741. MOV.F R0.x, {1, 0, 0, 0};
  15742. ELSE;
  15743. MOV.F R0.x, {0, 0, 0, 0};
  15744. ENDIF;
  15745. MOV.F R0.y, R17.z;
  15746. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  15747. MOV.F R0.z, c[6].y;
  15748. MUL.F32 R0.y, R0, R0.z;
  15749. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  15750. TRUNC.U R0.w, R0;
  15751. TRUNC.U R0.z, R0;
  15752. AND.U.CC HC.x, R0.w, R0.z;
  15753. MOV.S R21.z, R0.x;
  15754. IF NE.x;
  15755. MOV.F R0.x, R0.y;
  15756. ELSE;
  15757. MOV.F R0.x, {0, 0, 0, 0};
  15758. ENDIF;
  15759. I2F.S R0.y, R3;
  15760. MOV.F R0.w, R19.x;
  15761. MOV.F R3.y, R18.x;
  15762. MUL.F32 R0.z, R0.y, {2, 0, 0, 0}.x;
  15763. FRC.F32 R0.w, R0;
  15764. MUL.F32 R0.y, -R0.z, R3;
  15765. MOV.S R18.x, R0.w;
  15766. SNE.F32 R0.z, -R0, {0, 0, 0, 0}.x;
  15767. SNE.F32 R0.w, R3.y, {0, 0, 0, 0}.x;
  15768. TRUNC.U R0.z, R0;
  15769. TRUNC.U R0.w, R0;
  15770. AND.U.CC HC.x, R0.z, R0.w;
  15771. MOV.S R3.x, R19.w;
  15772. MOV.S R17.w, R0.x;
  15773. IF NE.x;
  15774. MOV.F R0.x, R0.y;
  15775. ELSE;
  15776. MOV.F R0.x, {0, 0, 0, 0};
  15777. ENDIF;
  15778. MOV.F R0.z, R21;
  15779. MOV.F R0.y, R21.x;
  15780. ADD.F32 R0.y, R0, -R0.z;
  15781. MOV.S R17.z, R0.y;
  15782. I2F.S R0.y, R3.x;
  15783. MOV.F R0.z, c[5].w;
  15784. ADD.F32 R0.z, -R0, {1, 0, 0, 0}.x;
  15785. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  15786. MOV.F R3.x, R20.w;
  15787. MUL.F32 R0.y, -R0.w, R3.x;
  15788. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  15789. MOV.S R19.w, R0.z;
  15790. TRUNC.U R3.x, R3;
  15791. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  15792. MOV.S R19.y, R0.x;
  15793. TRUNC.U R0.x, R0.z;
  15794. AND.U.CC HC.x, R0, R3;
  15795. MOV.S R3.w, R18;
  15796. IF NE.x;
  15797. MOV.F R3.y, R0;
  15798. ELSE;
  15799. MOV.F R3.y, {0, 0, 0, 0}.x;
  15800. ENDIF;
  15801. MOV.S R17.x, R3.y;
  15802. EX2.F32 R3.y, R3.w;
  15803. MOV.F R13.w, c[6].z;
  15804. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  15805. ADD.F32 R3.y, -R3, {1, 0, 0, 0}.x;
  15806. MOV.F R0.y, R18.z;
  15807. MOV.F R0.x, R22.w;
  15808. MUL.F32 R0.x, R0, R0.y;
  15809. MOV.F R0.z, R19;
  15810. MOV.S R0.y, R0.x;
  15811. ADD.F32 R0.x, -R0.z, {1, 0, 0, 0};
  15812. MOV.S R21.z, R0.x;
  15813. MOV.F R0.x, R20.y;
  15814. MOV.F R0.w, c[5].x;
  15815. MOV.F R0.z, R18.y;
  15816. ADD.F32 R0.z, R0, R0.w;
  15817. MOV.S R18.w, R0.z;
  15818. SNE.F32 R0.z, R0.x, {0, 0, 0, 0}.x;
  15819. TRUNC.U R7.y, R0.z;
  15820. MUL.F32 R3.z, R0.x, R13.w;
  15821. TRUNC.U R3.w, R3;
  15822. AND.U.CC HC.x, R7.y, R3.w;
  15823. MOV.S R3.x, R20.z;
  15824. MOV.S R0.xzw, {0, 0, 0, 0}.x;
  15825. MOV.S R19.x, R3.y;
  15826. IF NE.x;
  15827. MOV.F R3.y, R3.z;
  15828. ELSE;
  15829. MOV.F R3.y, {0, 0, 0, 0}.x;
  15830. ENDIF;
  15831. MOV.F R7.y, R0;
  15832. MOV.F R3.z, c[5].y;
  15833. MOV.F R3.w, R17;
  15834. ADD.F32 R3.w, R3.z, R3;
  15835. MOV.F R13.w, R21.z;
  15836. MOV.S R20.z, R3.w;
  15837. SNE.F32 R3.w, R7.y, {0, 0, 0, 0}.x;
  15838. MUL.F32 R3.z, R7.y, R13.w;
  15839. SNE.F32 R7.y, R13.w, {0, 0, 0, 0}.x;
  15840. TRUNC.U R3.w, R3;
  15841. TRUNC.U R7.y, R7;
  15842. AND.U.CC HC.x, R3.w, R7.y;
  15843. MOV.S R20.y, R3;
  15844. IF NE.x;
  15845. ELSE;
  15846. MOV.F R3.z, {0, 0, 0, 0}.x;
  15847. ENDIF;
  15848. I2F.S R3.w, R3.x;
  15849. MOV.F R15.w, R8.y;
  15850. MOV.F R14.w, R8.x;
  15851. ADD.F32 R15.w, R15, {-0.5, 0, 0, 0}.x;
  15852. MOV.F R7.y, R18.x;
  15853. MOV.F R13.w, R19.z;
  15854. MUL.F32 R3.y, R13.w, R7;
  15855. ADD.F32 R14.w, R14, {-0.5, 0, 0, 0}.x;
  15856. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  15857. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  15858. MOV.S R18.x, R14.w;
  15859. TRUNC.U R14.w, R7.y;
  15860. TRUNC.U R13.w, R13;
  15861. MUL.F32 R3.w, R3, {2, 0, 0, 0}.x;
  15862. AND.U.CC HC.x, R13.w, R14.w;
  15863. MOV.S R3.x, R17.z;
  15864. MOV.S R18.y, R15.w;
  15865. MOV.S R17.w, R3.z;
  15866. MOV.S R7.y, R3.w;
  15867. IF NE.x;
  15868. ELSE;
  15869. MOV.F R3.y, {0, 0, 0, 0}.x;
  15870. ENDIF;
  15871. MOV.F R3.w, R3.x;
  15872. MOV.F R3.z, R7.y;
  15873. MUL.F32 R3.x, -R3.z, R3.w;
  15874. MOV.S R17.z, R3.y;
  15875. SNE.F32 R3.y, -R3.z, {0, 0, 0, 0}.x;
  15876. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  15877. TRUNC.U R3.z, R3.w;
  15878. TRUNC.U R3.y, R3;
  15879. AND.U.CC HC.x, R3.y, R3.z;
  15880. IF NE.x;
  15881. ELSE;
  15882. MOV.F R3.x, {0, 0, 0, 0};
  15883. ENDIF;
  15884. MOV.F R3.y, R20;
  15885. MOV.F R3.w, R19;
  15886. MOV.F R3.z, R19.x;
  15887. DIV.F32 R3.z, R3, R3.w;
  15888. MOV.F R3.w, c[5].z;
  15889. ADD.F32 R3.y, R3.w, R3;
  15890. MOV.F R13.w, R19.y;
  15891. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  15892. MOV.F R7.y, R18.w;
  15893. MOV.S R20.y, R3.z;
  15894. MOV.S R19.x, R3.y;
  15895. SNE.F32 R3.y, R7, {0, 0, 0, 0}.x;
  15896. TRUNC.U R3.y, R3;
  15897. TRUNC.U R3.w, R3;
  15898. AND.U.CC HC.x, R3.y, R3.w;
  15899. MUL.F32 R3.z, R7.y, R13.w;
  15900. MOV.S R20.w, R3.x;
  15901. IF NE.x;
  15902. MOV.F R3.y, R3.z;
  15903. ELSE;
  15904. MOV.F R3.y, {0, 0, 0, 0}.x;
  15905. ENDIF;
  15906. MOV.F R3.w, R19.y;
  15907. MOV.F R3.z, R9.x;
  15908. MUL.F32 R3.x, R3.z, R3.w;
  15909. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  15910. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  15911. TRUNC.U R3.z, R3;
  15912. TRUNC.U R3.w, R3;
  15913. AND.U.CC HC.x, R3.z, R3.w;
  15914. MOV.S R16.z, R3.y;
  15915. IF NE.x;
  15916. MOV.F R3.y, R3.x;
  15917. ELSE;
  15918. MOV.F R3.y, {0, 0, 0, 0}.x;
  15919. ENDIF;
  15920. MOV.F R3.w, R17.x;
  15921. MOV.F R3.z, R20;
  15922. MUL.F32 R3.x, R3.z, R3.w;
  15923. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  15924. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  15925. TRUNC.U R3.z, R3;
  15926. TRUNC.U R3.w, R3;
  15927. AND.U.CC HC.x, R3.z, R3.w;
  15928. MOV.S R16.w, R3.y;
  15929. IF NE.x;
  15930. ELSE;
  15931. MOV.F R3.x, {0, 0, 0, 0};
  15932. ENDIF;
  15933. MOV.F R3.y, c[5].w;
  15934. SEQ.F R3.y, R3, {1, 0, 0, 0}.x;
  15935. TRUNC.U.CC HC.x, R3.y;
  15936. MOV.S R19.w, R3.x;
  15937. IF NE.x;
  15938. MOV.S R3.x, {-1, 0, 0, 0};
  15939. ELSE;
  15940. MOV.S R3.x, {0, 0, 0, 0};
  15941. ENDIF;
  15942. MOV.F R3.w, R17.x;
  15943. MOV.F R3.z, R9.y;
  15944. MUL.F32 R3.y, R3.z, R3.w;
  15945. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  15946. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  15947. TRUNC.U R3.w, R3;
  15948. TRUNC.U R3.z, R3;
  15949. AND.U.CC HC.x, R3.z, R3.w;
  15950. IF NE.x;
  15951. ELSE;
  15952. MOV.F R3.y, {0, 0, 0, 0}.x;
  15953. ENDIF;
  15954. SEQ.S R3.x, R3, {0, 0, 0, 0};
  15955. MOV.U.CC RC.x, -R3;
  15956. MOV.F R3.w, R16.z;
  15957. MOV.F R3.z, R18.w;
  15958. ADD.F32 R3.z, R3, R3.w;
  15959. MOV.S R18.w, R3.z;
  15960. MOV.F R3.w, R17.z;
  15961. MOV.F R3.z, R17.w;
  15962. ADD.F32 R3.z, R3, R3.w;
  15963. MOV.F R7.y, R16.w;
  15964. MOV.F R3.w, R9.x;
  15965. ADD.F32 R3.w, R3, R7.y;
  15966. MOV.S R18.z, R3;
  15967. MOV.S R19.y, R3.w;
  15968. MOV.S R21.y, R3;
  15969. IF NE.x;
  15970. MOV.S R3.x, R20.y;
  15971. ELSE;
  15972. MOV.S R3.x, R22.w;
  15973. ENDIF;
  15974. MOV.F R3.w, R9.z;
  15975. MOV.F R3.z, R21.y;
  15976. MOV.F R3.y, R9;
  15977. ADD.F32 R3.y, R3, R3.z;
  15978. MOV.S R20.y, R3;
  15979. MOV.F R3.y, R20.z;
  15980. MOV.F R3.z, R19.w;
  15981. ADD.F32 R3.z, R3.y, R3;
  15982. MOV.F R3.y, R8.z;
  15983. MOV.S R17.z, R3;
  15984. ADD.F32 R3.z, R3.y, {-0.5, 0, 0, 0}.x;
  15985. MOV.F R7.y, R20.w;
  15986. MUL.F32 R3.y, R3.w, R7;
  15987. MOV.S R20.z, R3;
  15988. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  15989. TRUNC.U R9.x, R3.z;
  15990. MOV.F R3.w, c[8];
  15991. MOV.F R3.z, c[7].w;
  15992. ADD.F32 R3.z, -R3, R3.w;
  15993. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  15994. TRUNC.U R3.w, R7.y;
  15995. AND.U.CC HC.x, R9, R3.w;
  15996. MOV.S R16.w, R3.z;
  15997. IF NE.x;
  15998. ELSE;
  15999. MOV.F R3.y, {0, 0, 0, 0}.x;
  16000. ENDIF;
  16001. MOV.F R7.y, c[9].x;
  16002. MOV.F R3.w, R18.x;
  16003. MUL.F32 R3.z, R3.w, R7.y;
  16004. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16005. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16006. TRUNC.U R3.w, R3;
  16007. TRUNC.U R7.y, R7;
  16008. AND.U.CC HC.x, R3.w, R7.y;
  16009. MOV.S R21.x, R3.y;
  16010. IF NE.x;
  16011. MOV.F R3.y, R3.z;
  16012. ELSE;
  16013. MOV.F R3.y, {0, 0, 0, 0}.x;
  16014. ENDIF;
  16015. MOV.F R7.y, R20.w;
  16016. MOV.F R3.w, R19.x;
  16017. MUL.F32 R3.z, R3.w, R7.y;
  16018. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16019. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16020. TRUNC.U R3.w, R3;
  16021. TRUNC.U R7.y, R7;
  16022. AND.U.CC HC.x, R3.w, R7.y;
  16023. MOV.S R21.y, R3;
  16024. IF NE.x;
  16025. MOV.F R3.y, R3.z;
  16026. ELSE;
  16027. MOV.F R3.y, {0, 0, 0, 0}.x;
  16028. ENDIF;
  16029. MOV.F R7.y, c[9];
  16030. MOV.F R3.w, R18.y;
  16031. MUL.F32 R3.z, R3.w, R7.y;
  16032. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16033. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16034. TRUNC.U R3.w, R3;
  16035. TRUNC.U R7.y, R7;
  16036. AND.U.CC HC.x, R3.w, R7.y;
  16037. MOV.S R21.z, R3.y;
  16038. IF NE.x;
  16039. MOV.F R3.y, R3.z;
  16040. ELSE;
  16041. MOV.F R3.y, {0, 0, 0, 0}.x;
  16042. ENDIF;
  16043. MOV.F R3.w, R21.x;
  16044. MOV.F R3.z, R9;
  16045. ADD.F32 R9.x, R3.z, R3.w;
  16046. MOV.S R20.w, R9.x;
  16047. MOV.F R9.x, R20.y;
  16048. ADD.F32 R3.y, R9.x, R3;
  16049. MOV.S R19.z, R3.y;
  16050. MOV.F R7.y, R19.x;
  16051. MOV.F R3.w, R21.y;
  16052. MOV.F R3.z, R19.y;
  16053. ADD.F32 R3.z, R3, R3.w;
  16054. MOV.S R19.x, R3.z;
  16055. MOV.F R3.z, R21;
  16056. ADD.F32 R3.z, R7.y, R3;
  16057. MOV.S R20.y, R3.z;
  16058. MOV.F R7.y, R16.w;
  16059. MOV.F R3.w, c[8];
  16060. MOV.F R3.z, R18;
  16061. ADD.F32 R3.z, R3, -R3.w;
  16062. RCP.F32 R3.w, R7.y;
  16063. MOV.S R21.x, R3.z;
  16064. MOV.F R3.z, R3.x;
  16065. SNE.F32 R7.y, R3.z, {0, 0, 0, 0}.x;
  16066. MOV.F R3.y, R17.z;
  16067. MOV.S R14.w, R3;
  16068. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  16069. TRUNC.U R9.x, R3.w;
  16070. MUL.F32 R3.y, R3, R3.z;
  16071. MOV.F R3.w, c[8].z;
  16072. MOV.F R3.z, c[7];
  16073. ADD.F32 R3.z, -R3, R3.w;
  16074. TRUNC.U R3.w, R7.y;
  16075. AND.U.CC HC.x, R9, R3.w;
  16076. MOV.S R7.y, R3.z;
  16077. IF NE.x;
  16078. ELSE;
  16079. MOV.F R3.y, {0, 0, 0, 0}.x;
  16080. ENDIF;
  16081. MOV.F R9.x, c[9].z;
  16082. MOV.F R3.w, R20.z;
  16083. MUL.F32 R3.z, R3.w, R9.x;
  16084. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16085. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  16086. TRUNC.U R3.w, R3;
  16087. TRUNC.U R9.x, R9;
  16088. AND.U.CC HC.x, R3.w, R9;
  16089. MOV.S R21.y, R3;
  16090. IF NE.x;
  16091. MOV.F R3.y, R3.z;
  16092. ELSE;
  16093. MOV.F R3.y, {0, 0, 0, 0}.x;
  16094. ENDIF;
  16095. MOV.F R9.x, R3;
  16096. MOV.F R3.w, R18;
  16097. MUL.F32 R3.z, R3.w, R9.x;
  16098. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16099. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  16100. TRUNC.U R3.w, R3;
  16101. TRUNC.U R9.x, R9;
  16102. AND.U.CC HC.x, R3.w, R9;
  16103. MOV.S R21.z, R3.y;
  16104. IF NE.x;
  16105. MOV.F R3.y, R3.z;
  16106. ELSE;
  16107. MOV.F R3.y, {0, 0, 0, 0}.x;
  16108. ENDIF;
  16109. MOV.F R9.z, R19.x;
  16110. MOV.F R3.w, R21.z;
  16111. MOV.F R3.z, R20.w;
  16112. ADD.F32 R3.z, R3, R3.w;
  16113. MOV.S R9.y, R3.z;
  16114. MOV.F R3.z, R7.y;
  16115. MOV.F R7.y, R21.x;
  16116. SGE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16117. TRUNC.U.CC HC.x, R7.y;
  16118. MOV.F R9.x, R21.y;
  16119. MOV.F R3.w, R19.z;
  16120. ADD.F32 R3.w, R3, R9.x;
  16121. MOV.F R9.x, R14.w;
  16122. MUL.F32 R3.z, R3, R9.x;
  16123. ADD.F32 R3.y, R9.z, R3;
  16124. MOV.S R18.x, R3.z;
  16125. MOV.S R9.x, R3.y;
  16126. MOV.F R3.z, c[7].w;
  16127. MOV.F R3.y, R18.z;
  16128. ADD.F32 R3.y, R3, -R3.z;
  16129. MOV.S R3.w, R3;
  16130. MOV.S R3.z, R3.y;
  16131. IF NE.x;
  16132. MOV.S R3.y, {1065353216, 0, 0, 0}.x;
  16133. ELSE;
  16134. MOV.S R3.y, {0, 0, 0, 0}.x;
  16135. ENDIF;
  16136. MOV.F R13.w, R18.x;
  16137. MOV.F R9.z, R3;
  16138. MUL.F32 R7.y, R9.z, R13.w;
  16139. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  16140. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  16141. TRUNC.U R9.z, R9;
  16142. TRUNC.U R13.w, R13;
  16143. AND.U.CC HC.x, R9.z, R13.w;
  16144. MOV.S R15.w, R3.y;
  16145. IF NE.x;
  16146. MOV.F R3.y, R7;
  16147. ELSE;
  16148. MOV.F R3.y, {0, 0, 0, 0}.x;
  16149. ENDIF;
  16150. MOV.F R9.z, R3.x;
  16151. MOV.F R3.x, R20.y;
  16152. MUL.F32 R7.y, R3.x, R9.z;
  16153. SNE.F32 R13.w, R9.z, {0, 0, 0, 0}.x;
  16154. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  16155. TRUNC.U R9.z, R3.x;
  16156. TRUNC.U R13.w, R13;
  16157. AND.U.CC HC.x, R9.z, R13.w;
  16158. MOV.S R3.x, R3.y;
  16159. IF NE.x;
  16160. MOV.F R3.y, R7;
  16161. ELSE;
  16162. MOV.F R3.y, {0, 0, 0, 0}.x;
  16163. ENDIF;
  16164. MOV.F R7.y, R3.z;
  16165. SGE.F32 R16.x, R7.y, {0, 0, 0, 0};
  16166. TRUNC.U.CC HC.x, R16;
  16167. MOV.F R9.z, c[8].y;
  16168. MOV.F R7.y, c[7];
  16169. ADD.F32 R7.y, -R7, R9.z;
  16170. MOV.F R9.z, c[7].x;
  16171. MOV.F R13.w, c[8].x;
  16172. ADD.F32 R13.w, -R9.z, R13;
  16173. MOV.S R9.z, R7.y;
  16174. MOV.S R13.w, R13;
  16175. MOV.S R3.y, R3;
  16176. IF NE.x;
  16177. MOV.S R7.y, {1065353216, 0, 0, 0}.x;
  16178. ELSE;
  16179. MOV.S R7.y, {0, 0, 0, 0}.x;
  16180. ENDIF;
  16181. ENDIF;
  16182. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  16183. MOV.U.CC RC.x, -R16;
  16184. IF NE.x;
  16185. MOV.F R4.w, R3.y;
  16186. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  16187. MOV.F R3.y, R9;
  16188. ADD.F32 R3.y, R3, R4.w;
  16189. MOV.S R18.z, R3.y;
  16190. MOV.F R3.y, R9.z;
  16191. MOV.F R4.w, R14;
  16192. MUL.F32 R4.w, R3.y, R4;
  16193. SNE.F32 R6.w, R4, {0, 0, 0, 0}.x;
  16194. MOV.F R7.w, R3.z;
  16195. TRUNC.U R8.z, R6.w;
  16196. MUL.F32 R3.y, R7.w, R4.w;
  16197. MOV.F R4.w, R9.x;
  16198. MAD.F32 R4.w, R4, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  16199. MOV.F R6.w, R15;
  16200. MOV.S R18.x, R4.w;
  16201. ADD.F32 R4.w, -R6, {1, 0, 0, 0}.x;
  16202. MOV.S R16.w, R4;
  16203. SNE.F32 R4.w, R7, {0, 0, 0, 0}.x;
  16204. MOV.S R20.w, R3;
  16205. TRUNC.U R3.w, R4;
  16206. AND.U.CC HC.x, R3.w, R8.z;
  16207. IF NE.x;
  16208. ELSE;
  16209. MOV.F R3.y, {0, 0, 0, 0}.x;
  16210. ENDIF;
  16211. MOV.F R4.w, R14;
  16212. MOV.F R3.w, R13;
  16213. MUL.F32 R3.w, R3, R4;
  16214. MOV.S R21.z, R3.w;
  16215. MOV.F R3.w, R3.x;
  16216. MOV.F R3.x, c[7].z;
  16217. ADD.F32 R3.w, R3.x, R3;
  16218. MOV.F R4.w, R7.y;
  16219. MOV.F R6.w, R16;
  16220. MOV.S R20.y, R3.w;
  16221. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  16222. MUL.F32 R3.x, R4.w, R6.w;
  16223. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  16224. TRUNC.U R3.w, R3;
  16225. TRUNC.U R4.w, R4;
  16226. AND.U.CC HC.x, R3.w, R4.w;
  16227. MOV.S R21.x, R3.y;
  16228. IF NE.x;
  16229. ELSE;
  16230. MOV.F R3.x, {0, 0, 0, 0};
  16231. ENDIF;
  16232. MOV.F R4.w, R3.z;
  16233. MOV.F R6.w, R21.z;
  16234. MOV.F R3.z, R7.y;
  16235. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  16236. MOV.F R3.w, R20;
  16237. FRC.F32 R3.w, R3;
  16238. MOV.S R19.z, R3;
  16239. MOV.S R16.z, R3.w;
  16240. MOV.F R3.w, R18.z;
  16241. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  16242. MOV.F R3.z, R18.x;
  16243. FRC.F32 R3.z, R3;
  16244. MOV.S R16.y, R3.w;
  16245. MOV.S R16.x, R3.z;
  16246. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  16247. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  16248. TRUNC.U R3.z, R3;
  16249. TRUNC.U R3.w, R3;
  16250. AND.U.CC HC.x, R3.z, R3.w;
  16251. MUL.F32 R3.y, R4.w, R6.w;
  16252. MOV.S R19.w, R3.x;
  16253. IF NE.x;
  16254. MOV.F R3.x, R3.y;
  16255. ELSE;
  16256. MOV.F R3.x, {0, 0, 0, 0};
  16257. ENDIF;
  16258. MOV.F R3.z, R21.x;
  16259. MOV.F R3.y, c[7];
  16260. ADD.F32 R3.y, R3, R3.z;
  16261. MOV.S R18.w, R3.y;
  16262. MOV.F R3.y, R19.z;
  16263. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  16264. MOV.F R3.z, c[7];
  16265. MUL.F32 R3.y, R3.z, R3;
  16266. TRUNC.U R3.w, R3;
  16267. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16268. MOV.S R20.w, R3.x;
  16269. TRUNC.U R3.x, R3.z;
  16270. AND.U.CC HC.x, R3, R3.w;
  16271. IF NE.x;
  16272. MOV.F R3.x, R3.y;
  16273. ELSE;
  16274. MOV.F R3.x, {0, 0, 0, 0};
  16275. ENDIF;
  16276. MOV.F R3.z, R16.x;
  16277. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  16278. MOV.F R3.w, R16.z;
  16279. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  16280. MOV.F R6.w, R19;
  16281. MOV.F R4.w, R20.y;
  16282. MOV.S R21.y, R3.z;
  16283. MOV.S R18.z, R3.w;
  16284. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  16285. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  16286. TRUNC.U R3.z, R3;
  16287. TRUNC.U R3.w, R3;
  16288. AND.U.CC HC.x, R3.z, R3.w;
  16289. MUL.F32 R3.y, R4.w, R6.w;
  16290. MOV.S R21.x, R3;
  16291. IF NE.x;
  16292. MOV.F R3.x, R3.y;
  16293. ELSE;
  16294. MOV.F R3.x, {0, 0, 0, 0};
  16295. ENDIF;
  16296. MOV.F R3.y, R16;
  16297. FRC.F32 R3.y, R3;
  16298. MOV.S R18.x, R3.y;
  16299. MOV.F R3.y, R21.x;
  16300. ADD.F32 R3.x, R3, R3.y;
  16301. MOV.F R3.z, R20.w;
  16302. MOV.F R3.y, c[7].x;
  16303. ADD.F32 R3.y, R3, R3.z;
  16304. MOV.S R20.y, R3;
  16305. MOV.F R3.z, R15.w;
  16306. MOV.F R3.y, c[8].z;
  16307. MOV.S R16.x, R3;
  16308. MUL.F32 R3.x, R3.y, R3.z;
  16309. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16310. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  16311. TRUNC.U R3.z, R3;
  16312. TRUNC.U R3.y, R3;
  16313. AND.U.CC HC.x, R3.y, R3.z;
  16314. IF NE.x;
  16315. ELSE;
  16316. MOV.F R3.x, {0, 0, 0, 0};
  16317. ENDIF;
  16318. MOV.F R3.y, R19.z;
  16319. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  16320. MOV.F R3.z, c[7].y;
  16321. MUL.F32 R3.y, R3.z, R3;
  16322. TRUNC.U R3.w, R3;
  16323. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16324. MOV.S R16.z, R3.x;
  16325. TRUNC.U R3.x, R3.z;
  16326. AND.U.CC HC.x, R3, R3.w;
  16327. IF NE.x;
  16328. MOV.F R3.x, R3.y;
  16329. ELSE;
  16330. MOV.F R3.x, {0, 0, 0, 0};
  16331. ENDIF;
  16332. MOV.F R3.z, R21.y;
  16333. MUL.F32 R3.z, R3, {0.159154937, 0, 0, 0}.x;
  16334. MOV.F R3.w, R18;
  16335. MOV.F R4.w, R19;
  16336. MOV.S R17.z, R3;
  16337. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  16338. MUL.F32 R3.y, R3.w, R4.w;
  16339. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  16340. TRUNC.U R3.z, R3;
  16341. TRUNC.U R3.w, R3;
  16342. AND.U.CC HC.x, R3.z, R3.w;
  16343. MOV.S R20.w, R3.x;
  16344. IF NE.x;
  16345. MOV.F R3.x, R3.y;
  16346. ELSE;
  16347. MOV.F R3.x, {0, 0, 0, 0};
  16348. ENDIF;
  16349. MOV.F R3.w, R18.x;
  16350. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  16351. MOV.F R3.y, R16.z;
  16352. MOV.F R3.z, R16.x;
  16353. ADD.F32 R3.z, R3.y, R3;
  16354. MOV.F R3.y, R18.z;
  16355. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  16356. MOV.S R18.z, R3;
  16357. MOV.F R3.z, R8.x;
  16358. MAX.F R3.z, R3, {0, 0, 0, 0}.x;
  16359. MOV.S R18.y, R3;
  16360. MOV.S R19.y, R3.z;
  16361. MOV.F R3.y, R15.w;
  16362. MOV.S R18.w, R3;
  16363. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  16364. MOV.F R3.z, c[8].y;
  16365. MUL.F32 R3.y, R3.z, R3;
  16366. TRUNC.U R3.w, R3;
  16367. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16368. MOV.S R21.x, R3;
  16369. TRUNC.U R3.x, R3.z;
  16370. AND.U.CC HC.x, R3, R3.w;
  16371. IF NE.x;
  16372. MOV.F R3.x, R3.y;
  16373. ELSE;
  16374. MOV.F R3.x, {0, 0, 0, 0};
  16375. ENDIF;
  16376. MOV.F R3.z, R20.w;
  16377. MOV.F R3.y, R21.x;
  16378. ADD.F32 R3.y, R3, R3.z;
  16379. MOV.F R3.w, R19;
  16380. MOV.F R3.z, R20.y;
  16381. MOV.S R16.y, R3;
  16382. MUL.F32 R3.y, R3.z, R3.w;
  16383. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16384. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16385. TRUNC.U R3.z, R3;
  16386. TRUNC.U R3.w, R3;
  16387. AND.U.CC HC.x, R3.z, R3.w;
  16388. MOV.S R16.x, R3;
  16389. IF NE.x;
  16390. MOV.F R3.x, R3.y;
  16391. ELSE;
  16392. MOV.F R3.x, {0, 0, 0, 0};
  16393. ENDIF;
  16394. MOV.F R3.y, R19.z;
  16395. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  16396. MOV.F R3.z, c[7].x;
  16397. MUL.F32 R3.y, R3.z, R3;
  16398. TRUNC.U R3.w, R3;
  16399. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16400. MOV.S R16.z, R3.x;
  16401. TRUNC.U R3.x, R3.z;
  16402. AND.U.CC HC.x, R3, R3.w;
  16403. IF NE.x;
  16404. MOV.F R3.x, R3.y;
  16405. ELSE;
  16406. MOV.F R3.x, {0, 0, 0, 0};
  16407. ENDIF;
  16408. MOV.F R3.y, R17.z;
  16409. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  16410. SIN.F32 R3.y, R3.y;
  16411. MOV.S R20.y, R3;
  16412. MOV.F R3.y, R18.w;
  16413. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  16414. MOV.F R3.w, R16.y;
  16415. MOV.F R3.z, R16.x;
  16416. ADD.F32 R3.z, R3, R3.w;
  16417. MOV.S R21.y, R3.z;
  16418. MOV.F R3.z, R16;
  16419. ADD.F32 R3.x, R3.z, R3;
  16420. MOV.F R3.z, R18;
  16421. MOV.S R18.z, R3.y;
  16422. MOV.F R3.y, R23.z;
  16423. MOV.S R18.x, R3;
  16424. MUL.F32 R3.x, R3.y, R3.z;
  16425. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16426. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  16427. TRUNC.U R3.z, R3;
  16428. TRUNC.U R3.y, R3;
  16429. AND.U.CC HC.x, R3.y, R3.z;
  16430. IF NE.x;
  16431. ELSE;
  16432. MOV.F R3.x, {0, 0, 0, 0};
  16433. ENDIF;
  16434. MOV.F R3.y, R17.z;
  16435. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  16436. COS.F32 R3.y, R3.y;
  16437. MOV.F R4.w, R21.y;
  16438. MOV.F R3.z, R23.y;
  16439. MOV.S R19.x, R3.y;
  16440. MUL.F32 R3.y, R3.z, R4.w;
  16441. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  16442. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16443. TRUNC.U R4.w, R4;
  16444. TRUNC.U R3.z, R3;
  16445. AND.U.CC HC.x, R3.z, R4.w;
  16446. MOV.S R3.w, R19.y;
  16447. MOV.S R21.w, R3.x;
  16448. IF NE.x;
  16449. MOV.F R3.x, R3.y;
  16450. ELSE;
  16451. MOV.F R3.x, {0, 0, 0, 0};
  16452. ENDIF;
  16453. MOV.F R4.w, c[10];
  16454. MOV.F R3.z, R21.w;
  16455. MUL.F32 R3.y, R3.z, R4.w;
  16456. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16457. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  16458. TRUNC.U R3.z, R3;
  16459. TRUNC.U R4.w, R4;
  16460. AND.U.CC HC.x, R3.z, R4.w;
  16461. MOV.S R17.x, R3;
  16462. IF NE.x;
  16463. MOV.F R3.x, R3.y;
  16464. ELSE;
  16465. MOV.F R3.x, {0, 0, 0, 0};
  16466. ENDIF;
  16467. MOV.F R3.y, R15.w;
  16468. SNE.F32 R4.w, R3.y, {0, 0, 0, 0}.x;
  16469. MOV.F R3.z, c[8].x;
  16470. MUL.F32 R3.y, R3.z, R3;
  16471. TRUNC.U R4.w, R4;
  16472. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16473. MOV.S R19.y, R3.x;
  16474. TRUNC.U R3.x, R3.z;
  16475. AND.U.CC HC.x, R3, R4.w;
  16476. IF NE.x;
  16477. MOV.F R3.x, R3.y;
  16478. ELSE;
  16479. MOV.F R3.x, {0, 0, 0, 0};
  16480. ENDIF;
  16481. MOV.F R4.w, R18.x;
  16482. ADD.F32 R3.x, R3, R4.w;
  16483. MOV.F R6.w, R19.x;
  16484. MOV.F R3.y, R18;
  16485. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  16486. SIN.F32 R3.z, R3.y;
  16487. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  16488. MOV.S R21.y, R3.x;
  16489. MOV.F R3.x, R3.w;
  16490. SNE.F32 R3.w, R3.z, {0, 0, 0, 0}.x;
  16491. MUL.F32 R3.y, R3.z, R6.w;
  16492. MOV.S R18.w, R3.z;
  16493. MOV.F R3.z, R23.x;
  16494. MIN.F R3.x, R3, {0, 0, 0, 0};
  16495. ADD.F32 R3.x, R3.z, R3;
  16496. TRUNC.U R4.w, R4;
  16497. TRUNC.U R3.z, R3.w;
  16498. AND.U.CC HC.x, R4.w, R3.z;
  16499. MOV.S R3.x, R3;
  16500. IF NE.x;
  16501. ELSE;
  16502. MOV.F R3.y, {0, 0, 0, 0}.x;
  16503. ENDIF;
  16504. MOV.F R4.w, R18;
  16505. MOV.F R3.w, R20.y;
  16506. MUL.F32 R3.z, R3.w, R4.w;
  16507. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16508. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  16509. TRUNC.U R3.w, R3;
  16510. TRUNC.U R4.w, R4;
  16511. AND.U.CC HC.x, R3.w, R4.w;
  16512. MOV.S R17.z, R3.y;
  16513. IF NE.x;
  16514. MOV.F R3.y, R3.z;
  16515. ELSE;
  16516. MOV.F R3.y, {0, 0, 0, 0}.x;
  16517. ENDIF;
  16518. MOV.F R3.z, R18.y;
  16519. MUL.F32 R3.z, R3, {6.28318548, 0, 0, 0}.x;
  16520. COS.F32 R4.w, R3.z;
  16521. MOV.F R6.w, R19.x;
  16522. MUL.F32 R3.z, R4.w, R6.w;
  16523. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16524. SNE.F32 R7.y, R4.w, {0, 0, 0, 0}.x;
  16525. MOV.S R19.z, R4.w;
  16526. TRUNC.U R4.w, R6;
  16527. TRUNC.U R6.w, R7.y;
  16528. AND.U.CC HC.x, R4.w, R6.w;
  16529. MOV.S R3.w, R19.y;
  16530. MOV.S R20.w, R3.y;
  16531. IF NE.x;
  16532. MOV.F R3.y, R3.z;
  16533. ELSE;
  16534. MOV.F R3.y, {0, 0, 0, 0}.x;
  16535. ENDIF;
  16536. MOV.F R6.w, R19.z;
  16537. MOV.F R4.w, R20.y;
  16538. MUL.F32 R3.z, R4.w, R6.w;
  16539. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  16540. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16541. TRUNC.U R4.w, R4;
  16542. TRUNC.U R6.w, R6;
  16543. AND.U.CC HC.x, R4.w, R6.w;
  16544. MOV.S R18.x, R3.y;
  16545. IF NE.x;
  16546. MOV.F R3.y, R3.z;
  16547. ELSE;
  16548. MOV.F R3.y, {0, 0, 0, 0}.x;
  16549. ENDIF;
  16550. MOV.F R3.z, R3.x;
  16551. MOV.F R4.w, R21.y;
  16552. MUL.F32 R3.x, R3.z, R4.w;
  16553. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16554. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  16555. TRUNC.U R3.z, R3;
  16556. TRUNC.U R4.w, R4;
  16557. AND.U.CC HC.x, R3.z, R4.w;
  16558. MOV.S R19.y, R3;
  16559. IF NE.x;
  16560. ELSE;
  16561. MOV.F R3.x, {0, 0, 0, 0};
  16562. ENDIF;
  16563. MOV.F R3.z, R4;
  16564. MUL.F32 R3.y, R3.z, R3.w;
  16565. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16566. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16567. TRUNC.U R3.z, R3;
  16568. TRUNC.U R3.w, R3;
  16569. AND.U.CC HC.x, R3.z, R3.w;
  16570. MOV.S R16.z, R3.x;
  16571. IF NE.x;
  16572. MOV.F R3.x, R3.y;
  16573. ELSE;
  16574. MOV.F R3.x, {0, 0, 0, 0};
  16575. ENDIF;
  16576. MOV.F R3.y, R18.z;
  16577. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  16578. SIN.F32 R3.z, R3.y;
  16579. MOV.F R3.w, R20;
  16580. MUL.F32 R3.y, R3.z, R3.w;
  16581. MOV.S R18.y, R3.z;
  16582. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16583. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16584. TRUNC.U R3.z, R3;
  16585. TRUNC.U R3.w, R3;
  16586. AND.U.CC HC.x, R3.z, R3.w;
  16587. MOV.S R19.w, R3.x;
  16588. IF NE.x;
  16589. MOV.F R3.x, R3.y;
  16590. ELSE;
  16591. MOV.F R3.x, {0, 0, 0, 0};
  16592. ENDIF;
  16593. MOV.F R3.w, c[10].z;
  16594. MOV.F R3.z, R17.x;
  16595. MUL.F32 R3.y, R3.z, R3.w;
  16596. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16597. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16598. TRUNC.U R3.z, R3;
  16599. TRUNC.U R3.w, R3;
  16600. AND.U.CC HC.x, R3.z, R3.w;
  16601. MOV.S R21.x, R3;
  16602. IF NE.x;
  16603. MOV.F R3.x, R3.y;
  16604. ELSE;
  16605. MOV.F R3.x, {0, 0, 0, 0};
  16606. ENDIF;
  16607. MOV.F R3.w, R17.z;
  16608. MOV.F R3.z, R18.y;
  16609. MUL.F32 R3.y, R3.z, R3.w;
  16610. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16611. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16612. TRUNC.U R3.z, R3;
  16613. TRUNC.U R3.w, R3;
  16614. AND.U.CC HC.x, R3.z, R3.w;
  16615. MOV.S R23.y, R3.x;
  16616. IF NE.x;
  16617. MOV.F R3.x, R3.y;
  16618. ELSE;
  16619. MOV.F R3.x, {0, 0, 0, 0};
  16620. ENDIF;
  16621. MOV.F R3.w, c[10].y;
  16622. MOV.F R3.z, R16;
  16623. MUL.F32 R3.y, R3.z, R3.w;
  16624. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16625. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16626. TRUNC.U R3.z, R3;
  16627. TRUNC.U R3.w, R3;
  16628. AND.U.CC HC.x, R3.z, R3.w;
  16629. MOV.S R21.z, R3.x;
  16630. IF NE.x;
  16631. MOV.F R3.x, R3.y;
  16632. ELSE;
  16633. MOV.F R3.x, {0, 0, 0, 0};
  16634. ENDIF;
  16635. MOV.F R3.w, R18.x;
  16636. MOV.F R3.y, R21.x;
  16637. ADD.F32 R3.y, R3.w, R3;
  16638. MOV.S R18.x, R3.y;
  16639. MOV.F R4.z, R21;
  16640. MOV.F R3.z, R19.y;
  16641. ADD.F32 R3.z, -R3, R4;
  16642. MOV.F R3.y, R18.z;
  16643. MOV.S R16.y, R3.z;
  16644. MUL.F32 R3.z, R3.y, {6.28318548, 0, 0, 0}.x;
  16645. MOV.F R4.z, R18.y;
  16646. COS.F32 R3.z, R3.z;
  16647. MUL.F32 R3.y, R3.w, R4.z;
  16648. MOV.S R20.x, R3.z;
  16649. SNE.F32 R3.z, R4, {0, 0, 0, 0}.x;
  16650. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16651. TRUNC.U R3.z, R3;
  16652. TRUNC.U R3.w, R3;
  16653. AND.U.CC HC.x, R3.z, R3.w;
  16654. MOV.S R15.w, R3.x;
  16655. IF NE.x;
  16656. MOV.F R3.x, R3.y;
  16657. ELSE;
  16658. MOV.F R3.x, {0, 0, 0, 0};
  16659. ENDIF;
  16660. MOV.F R3.w, R20.x;
  16661. MOV.F R3.z, R18.w;
  16662. MUL.F32 R3.y, R3.z, R3.w;
  16663. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16664. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16665. TRUNC.U R3.z, R3;
  16666. TRUNC.U R3.w, R3;
  16667. AND.U.CC HC.x, R3.z, R3.w;
  16668. MOV.S R18.z, R3.x;
  16669. IF NE.x;
  16670. MOV.F R3.x, R3.y;
  16671. ELSE;
  16672. MOV.F R3.x, {0, 0, 0, 0};
  16673. ENDIF;
  16674. MOV.F R3.w, R19.y;
  16675. MOV.F R3.z, R18.y;
  16676. MUL.F32 R3.y, R3.z, R3.w;
  16677. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16678. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16679. TRUNC.U R3.z, R3;
  16680. TRUNC.U R3.w, R3;
  16681. AND.U.CC HC.x, R3.z, R3.w;
  16682. MOV.S R16.w, R3.x;
  16683. IF NE.x;
  16684. MOV.F R3.x, R3.y;
  16685. ELSE;
  16686. MOV.F R3.x, {0, 0, 0, 0};
  16687. ENDIF;
  16688. MOV.F R3.w, R20.x;
  16689. MOV.F R3.z, R20.y;
  16690. MUL.F32 R3.y, R3.z, R3.w;
  16691. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16692. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16693. TRUNC.U R3.z, R3;
  16694. TRUNC.U R3.w, R3;
  16695. AND.U.CC HC.x, R3.z, R3.w;
  16696. MOV.S R17.x, R3;
  16697. IF NE.x;
  16698. MOV.F R3.x, R3.y;
  16699. ELSE;
  16700. MOV.F R3.x, {0, 0, 0, 0};
  16701. ENDIF;
  16702. MOV.F R3.w, R20.x;
  16703. MOV.F R3.z, R19.x;
  16704. MUL.F32 R3.y, R3.z, R3.w;
  16705. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16706. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16707. TRUNC.U R3.z, R3;
  16708. TRUNC.U R3.w, R3;
  16709. AND.U.CC HC.x, R3.z, R3.w;
  16710. MOV.S R23.x, R3;
  16711. IF NE.x;
  16712. MOV.F R3.x, R3.y;
  16713. ELSE;
  16714. MOV.F R3.x, {0, 0, 0, 0};
  16715. ENDIF;
  16716. MOV.F R3.z, R18.y;
  16717. MOV.F R3.z, -R3;
  16718. MOV.F R3.w, R16;
  16719. MOV.F R4.z, R19.w;
  16720. MOV.S R23.z, R3;
  16721. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  16722. MUL.F32 R3.y, R3.w, R4.z;
  16723. SNE.F32 R3.w, R4.z, {0, 0, 0, 0}.x;
  16724. TRUNC.U R3.z, R3;
  16725. TRUNC.U R3.w, R3;
  16726. AND.U.CC HC.x, R3.z, R3.w;
  16727. MOV.S R7.y, R3.x;
  16728. IF NE.x;
  16729. MOV.F R3.x, R3.y;
  16730. ELSE;
  16731. MOV.F R3.x, {0, 0, 0, 0};
  16732. ENDIF;
  16733. MOV.F R3.w, R19;
  16734. MOV.F R3.z, R16.y;
  16735. MUL.F32 R3.y, R3.z, R3.w;
  16736. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  16737. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16738. TRUNC.U R3.z, R3;
  16739. TRUNC.U R3.w, R3;
  16740. AND.U.CC HC.x, R3.z, R3.w;
  16741. MOV.S R13.w, R3.x;
  16742. IF NE.x;
  16743. MOV.F R3.x, R3.y;
  16744. ELSE;
  16745. MOV.F R3.x, {0, 0, 0, 0};
  16746. ENDIF;
  16747. MOV.F R3.w, R19;
  16748. MOV.F R3.y, R18.x;
  16749. MUL.F32 R3.z, R3.y, R3.w;
  16750. SNE.F32 R4.z, R3.w, {0, 0, 0, 0}.x;
  16751. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  16752. TRUNC.U R3.w, R3.y;
  16753. TRUNC.U R4.z, R4;
  16754. AND.U.CC HC.x, R3.w, R4.z;
  16755. MOV.S R3.y, R3.x;
  16756. IF NE.x;
  16757. MOV.F R3.x, R3.z;
  16758. ELSE;
  16759. MOV.F R3.x, {0, 0, 0, 0};
  16760. ENDIF;
  16761. MOV.F R3.w, R18.z;
  16762. MOV.F R3.z, R20.w;
  16763. ADD.F32 R3.z, R3, R3.w;
  16764. MOV.F R4.z, R20.x;
  16765. MOV.F R3.w, R19.z;
  16766. MOV.S R9.y, R3.z;
  16767. MUL.F32 R3.z, R3.w, R4;
  16768. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16769. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16770. TRUNC.U R3.w, R3;
  16771. TRUNC.U R4.z, R4;
  16772. AND.U.CC HC.x, R3.w, R4.z;
  16773. MOV.S R3.x, R3;
  16774. IF NE.x;
  16775. ELSE;
  16776. MOV.F R3.z, {0, 0, 0, 0}.x;
  16777. ENDIF;
  16778. MOV.F R6.w, {1, 0, 0, 0}.x;
  16779. DP4.F32 R3.w, R10, R6;
  16780. MOV.F R10, R11;
  16781. MOV.S R7.w, R3;
  16782. DP4.F32 R3.w, R6, R10;
  16783. MOV.F R10, R12;
  16784. DP4.F32 R6.x, R6, R10;
  16785. MOV.S R4.w, R3;
  16786. MOV.F R4.z, R17.x;
  16787. MOV.F R3.w, R17.z;
  16788. ADD.F32 R3.w, -R3, R4.z;
  16789. MOV.S R14.w, R3;
  16790. MOV.F R3.w, c[11];
  16791. MOV.S R10.x, R0.y;
  16792. ADD.F32 R0.y, R0, -R3.w;
  16793. MOV.S R8.w, R6.x;
  16794. MOV.S R6.x, R0.y;
  16795. MOV.F R0.y, c[12].w;
  16796. ADD.F32 R0.y, R3.w, -R0;
  16797. MOV.F R4.z, R8.x;
  16798. SGT.F32 R3.w, R4.z, {0.5, 0, 0, 0}.x;
  16799. TRUNC.U.CC HC.x, R3.w;
  16800. MOV.S R16.y, R0;
  16801. MOV.S R3.z, R3;
  16802. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  16803. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  16804. IF NE.x;
  16805. MOV.S R0.y, {-1, 0, 0, 0}.x;
  16806. ELSE;
  16807. MOV.S R0.y, {0, 0, 0, 0}.x;
  16808. ENDIF;
  16809. MOV.F R4.z, c[12].w;
  16810. MOV.F R3.w, R10.x;
  16811. ADD.F32 R3.w, R3, -R4.z;
  16812. MOV.S R12.w, R3;
  16813. MOV.F R3.w, R24.x;
  16814. MOV.F R4.z, R6.x;
  16815. ADD.F32 R3.w, -R3, {1, 0, 0, 0}.x;
  16816. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16817. TRUNC.U.CC HC.x, R4.z;
  16818. MOV.S R9.x, R3.w;
  16819. IF NE.x;
  16820. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  16821. ELSE;
  16822. MOV.S R3.w, {0, 0, 0, 0}.x;
  16823. ENDIF;
  16824. MOV.F R4.z, R12.w;
  16825. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16826. TRUNC.U.CC HC.x, R4.z;
  16827. MOV.S R12.x, R3.w;
  16828. IF NE.x;
  16829. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  16830. ELSE;
  16831. MOV.S R4.z, {0, 0, 0, 0}.x;
  16832. ENDIF;
  16833. MOV.F R6.z, c[11].x;
  16834. MOV.F R6.y, c[12].x;
  16835. ADD.F32 R6.y, -R6, R6.z;
  16836. SEQ.S R6.z, R0.y, {0, 0, 0, 0}.x;
  16837. MOV.U.CC RC.x, -R6.z;
  16838. MOV.S R21.z, R6.y;
  16839. IF NE.x;
  16840. MOV.S R6.y, R24;
  16841. ELSE;
  16842. MOV.S R6.y, R24;
  16843. ENDIF;
  16844. MOV.F R6.w, R21.z;
  16845. MOV.F R6.z, R16.y;
  16846. DIV.F32 R6.z, R6.w, R6.z;
  16847. MOV.S R12.y, R6.z;
  16848. MOV.F R6.w, c[13];
  16849. MOV.F R6.z, R10.x;
  16850. ADD.F32 R6.z, R6, -R6.w;
  16851. MOV.F R8.x, c[11].w;
  16852. MOV.S R11.x, R6.z;
  16853. ADD.F32 R6.z, R6.w, -R8.x;
  16854. MOV.S R16.w, R6.z;
  16855. MOV.F R6.w, c[13].x;
  16856. MOV.F R6.z, c[11].x;
  16857. ADD.F32 R6.z, -R6, R6.w;
  16858. MOV.F R6.w, R3;
  16859. MOV.S R21.x, R6.z;
  16860. ADD.F32 R6.z, -R4, {1, 0, 0, 0}.x;
  16861. ADD.F32 R3.w, -R6, {1, 0, 0, 0}.x;
  16862. MUL.F32 R3.w, R4.z, R3;
  16863. MOV.S R11.w, R6.y;
  16864. SNE.F32 R6.y, -R6.w, {-1, 0, 0, 0}.x;
  16865. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16866. TRUNC.U R6.y, R6;
  16867. TRUNC.U R4.z, R4;
  16868. AND.U.CC HC.x, R4.z, R6.y;
  16869. MOV.S R12.z, R6;
  16870. IF NE.x;
  16871. ELSE;
  16872. MOV.F R3.w, {0, 0, 0, 0}.x;
  16873. ENDIF;
  16874. SEQ.S R0.y, R0, {0, 0, 0, 0}.x;
  16875. MOV.U.CC RC.x, -R0.y;
  16876. MOV.S R6.y, R3.w;
  16877. IF NE.x;
  16878. MOV.S R0.y, R24.x;
  16879. ELSE;
  16880. MOV.S R0.y, R9.x;
  16881. ENDIF;
  16882. MOV.F R3.w, R11.x;
  16883. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  16884. TRUNC.U.CC HC.x, R3.w;
  16885. MOV.S R6.z, R0.y;
  16886. IF NE.x;
  16887. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  16888. ELSE;
  16889. MOV.S R0.y, {0, 0, 0, 0}.x;
  16890. ENDIF;
  16891. MOV.F R6.w, R8.y;
  16892. SGT.F32 R9.x, R6.w, {0.5, 0, 0, 0};
  16893. TRUNC.U.CC HC.x, R9;
  16894. MOV.F R4.z, R21.x;
  16895. MOV.F R3.w, R16;
  16896. DIV.F32 R3.w, R4.z, R3.w;
  16897. MOV.S R8.z, R3.w;
  16898. MOV.F R4.z, c[14].w;
  16899. MOV.F R3.w, R10.x;
  16900. ADD.F32 R3.w, -R4.z, R3;
  16901. MOV.S R8.x, R3.w;
  16902. MOV.F R3.w, c[13];
  16903. ADD.F32 R3.w, -R3, R4.z;
  16904. MOV.F R4.z, R0.y;
  16905. MOV.S R8.y, R3.w;
  16906. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  16907. MOV.S R3.w, R0.y;
  16908. MOV.S R6.w, R4.z;
  16909. IF NE.x;
  16910. MOV.S R0.y, {-1, 0, 0, 0}.x;
  16911. ELSE;
  16912. MOV.S R0.y, {0, 0, 0, 0}.x;
  16913. ENDIF;
  16914. ENDIF;
  16915. SEQ.U R4.z, R23.w, {1, 0, 0, 0}.x;
  16916. MOV.U.CC RC.x, -R4.z;
  16917. IF NE.x;
  16918. MOV.F R9.z, R12.y;
  16919. MOV.F R9.x, R12.w;
  16920. MUL.F32 R4.z, R9.x, R9;
  16921. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  16922. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  16923. TRUNC.U R9.z, R9;
  16924. TRUNC.U R9.x, R9;
  16925. AND.U.CC HC.x, R9, R9.z;
  16926. IF NE.x;
  16927. ELSE;
  16928. MOV.F R4.z, {0, 0, 0, 0}.x;
  16929. ENDIF;
  16930. MOV.F R9.x, c[12];
  16931. ADD.F32 R4.z, R4, R9.x;
  16932. MOV.F R9.z, R8.x;
  16933. SGE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  16934. MOV.S R17.x, R4.z;
  16935. MOV.F R9.x, c[15];
  16936. MOV.F R4.z, c[15].y;
  16937. MUL.F32 R9.x, R9, {0.5, 0, 0, 0};
  16938. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  16939. TRUNC.U.CC HC.x, R9.z;
  16940. MOV.S R16.z, R9.x;
  16941. MOV.S R16.y, R4.z;
  16942. IF NE.x;
  16943. MOV.S R9.x, {1065353216, 0, 0, 0};
  16944. ELSE;
  16945. MOV.S R9.x, {0, 0, 0, 0};
  16946. ENDIF;
  16947. MOV.F R9.z, R6.w;
  16948. MOV.F R4.z, R16.y;
  16949. ADD.F32 R4.z, R4.y, R4;
  16950. MOV.F R4.y, R16.z;
  16951. ADD.F32 R4.x, R4, R4.y;
  16952. MOV.F R4.y, R8;
  16953. RCP.F32 R4.y, R4.y;
  16954. MOV.S R21.w, R4.z;
  16955. MOV.F R8.y, R12.x;
  16956. MOV.S R21.x, R4;
  16957. MOV.S R18.x, R4.y;
  16958. SNE.F32 R4.y, R8, {0, 0, 0, 0}.x;
  16959. MOV.F R6.w, c[16];
  16960. MOV.F R4.z, R10.x;
  16961. ADD.F32 R4.z, R4, -R6.w;
  16962. MOV.S R17.y, R4.z;
  16963. SNE.F32 R4.z, R9, {0, 0, 0, 0}.x;
  16964. TRUNC.U R4.y, R4;
  16965. TRUNC.U R4.z, R4;
  16966. AND.U.CC HC.x, R4.y, R4.z;
  16967. MUL.F32 R4.x, R8.y, R9.z;
  16968. AND.S R21.z, c[2].x, {524288, 0, 0, 0}.x;
  16969. IF NE.x;
  16970. ELSE;
  16971. MOV.F R4.x, {0, 0, 0, 0};
  16972. ENDIF;
  16973. MOV.F R4.z, R23.y;
  16974. MOV.F R4.y, R21.w;
  16975. SNE.F32 R6.w, R4.y, {0, 0, 0, 0}.x;
  16976. TRUNC.U R9.z, R6.w;
  16977. SNE.F32 R8.y, R4.z, {0, 0, 0, 0}.x;
  16978. MUL.F32 R4.y, R4.z, R4;
  16979. MOV.F R6.w, c[14].x;
  16980. MOV.F R4.z, c[13].x;
  16981. ADD.F32 R4.z, -R4, R6.w;
  16982. TRUNC.U R6.w, R8.y;
  16983. AND.U.CC HC.x, R6.w, R9.z;
  16984. MOV.S R16.x, R4.z;
  16985. MOV.S R20.y, R4.x;
  16986. IF NE.x;
  16987. MOV.F R4.x, R4.y;
  16988. ELSE;
  16989. MOV.F R4.x, {0, 0, 0, 0};
  16990. ENDIF;
  16991. MOV.F R6.w, R21.x;
  16992. MOV.F R4.z, R15.w;
  16993. MUL.F32 R4.y, R4.z, R6.w;
  16994. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16995. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16996. TRUNC.U R4.z, R4;
  16997. TRUNC.U R6.w, R6;
  16998. AND.U.CC HC.x, R4.z, R6.w;
  16999. MOV.S R16.y, R4.x;
  17000. IF NE.x;
  17001. MOV.F R4.x, R4.y;
  17002. ELSE;
  17003. MOV.F R4.x, {0, 0, 0, 0};
  17004. ENDIF;
  17005. SEQ.S R4.y, R21.z, {524288, 0, 0, 0}.x;
  17006. MOV.U.CC RC.x, -R4.y;
  17007. MOV.S R18.z, R4.x;
  17008. IF NE.x;
  17009. MOV.S R8.y, {-1, 0, 0, 0}.x;
  17010. ELSE;
  17011. MOV.S R8.y, {0, 0, 0, 0}.x;
  17012. ENDIF;
  17013. MOV.F R4.x, R17.y;
  17014. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  17015. TRUNC.U.CC HC.x, R4;
  17016. IF NE.x;
  17017. MOV.S R6.w, {1065353216, 0, 0, 0}.x;
  17018. ELSE;
  17019. MOV.S R6.w, {0, 0, 0, 0}.x;
  17020. ENDIF;
  17021. MOV.F R4.y, R7;
  17022. MOV.F R4.x, R16.y;
  17023. SNE.F32 R4.z, R4.x, {0, 0, 0, 0}.x;
  17024. TRUNC.U R7.y, R4.z;
  17025. SNE.F32 R9.z, R4.y, {0, 0, 0, 0}.x;
  17026. MUL.F32 R4.x, R4, R4.y;
  17027. MOV.F R4.z, c[16].w;
  17028. MOV.F R4.y, c[14].w;
  17029. ADD.F32 R4.y, -R4, R4.z;
  17030. TRUNC.U R4.z, R9;
  17031. AND.U.CC HC.x, R7.y, R4.z;
  17032. MOV.S R21.x, R4.y;
  17033. IF NE.x;
  17034. ELSE;
  17035. MOV.F R4.x, {0, 0, 0, 0};
  17036. ENDIF;
  17037. MOV.F R4.y, R3;
  17038. ADD.F32 R4.x, R4, R4.y;
  17039. MOV.F R4.z, R23;
  17040. MOV.F R4.y, R16;
  17041. MOV.S R21.y, R4.x;
  17042. MUL.F32 R4.x, R4.y, R4.z;
  17043. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  17044. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  17045. TRUNC.U R4.z, R4;
  17046. TRUNC.U R4.y, R4;
  17047. AND.U.CC HC.x, R4.y, R4.z;
  17048. IF NE.x;
  17049. ELSE;
  17050. MOV.F R4.x, {0, 0, 0, 0};
  17051. ENDIF;
  17052. MOV.F R4.y, R13.w;
  17053. ADD.F32 R4.x, R4, R4.y;
  17054. MOV.F R4.z, R23.x;
  17055. MOV.F R4.y, R16;
  17056. MOV.S R21.z, R4.x;
  17057. MUL.F32 R4.x, R4.y, R4.z;
  17058. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  17059. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  17060. TRUNC.U R4.z, R4;
  17061. TRUNC.U R4.y, R4;
  17062. AND.U.CC HC.x, R4.y, R4.z;
  17063. IF NE.x;
  17064. ELSE;
  17065. MOV.F R4.x, {0, 0, 0, 0};
  17066. ENDIF;
  17067. MOV.F R4.y, R16.x;
  17068. MOV.F R4.z, R18.x;
  17069. MUL.F32 R4.z, R4.y, R4;
  17070. MOV.F R4.y, R3.x;
  17071. ADD.F32 R4.y, R4.x, R4;
  17072. MOV.S R19.w, R4.z;
  17073. MOV.F R4.z, R18;
  17074. MOV.F R7.y, R3.z;
  17075. MUL.F32 R4.x, R4.z, R7.y;
  17076. MOV.S R21.w, R4.y;
  17077. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  17078. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  17079. TRUNC.U R4.z, R7.y;
  17080. TRUNC.U R4.y, R4;
  17081. AND.U.CC HC.x, R4.y, R4.z;
  17082. IF NE.x;
  17083. ELSE;
  17084. MOV.F R4.x, {0, 0, 0, 0};
  17085. ENDIF;
  17086. MOV.F R4.y, R21.z;
  17087. ADD.F32 R4.y, R4.x, R4;
  17088. MOV.F R4.z, R18;
  17089. MOV.F R7.y, R9;
  17090. MUL.F32 R4.x, R4.z, R7.y;
  17091. MOV.S R18.x, R4.y;
  17092. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  17093. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  17094. TRUNC.U R4.z, R7.y;
  17095. TRUNC.U R4.y, R4;
  17096. AND.U.CC HC.x, R4.y, R4.z;
  17097. IF NE.x;
  17098. ELSE;
  17099. MOV.F R4.x, {0, 0, 0, 0};
  17100. ENDIF;
  17101. MOV.F R4.y, R21;
  17102. ADD.F32 R4.y, R4.x, R4;
  17103. MOV.F R4.z, R18;
  17104. MOV.F R7.y, R14.w;
  17105. MUL.F32 R4.x, R4.z, R7.y;
  17106. MOV.S R18.y, R4;
  17107. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  17108. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  17109. TRUNC.U R4.z, R7.y;
  17110. TRUNC.U R4.y, R4;
  17111. AND.U.CC HC.x, R4.y, R4.z;
  17112. IF NE.x;
  17113. ELSE;
  17114. MOV.F R4.x, {0, 0, 0, 0};
  17115. ENDIF;
  17116. MOV.F R4.y, R21.w;
  17117. ADD.F32 R4.x, R4, R4.y;
  17118. MOV.F R4.z, R12;
  17119. MOV.F R4.y, c[12].x;
  17120. MOV.S R18.z, R4.x;
  17121. MUL.F32 R4.x, R4.y, R4.z;
  17122. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  17123. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  17124. TRUNC.U R4.z, R4;
  17125. TRUNC.U R4.y, R4;
  17126. AND.U.CC HC.x, R4.y, R4.z;
  17127. IF NE.x;
  17128. ELSE;
  17129. MOV.F R4.x, {0, 0, 0, 0};
  17130. ENDIF;
  17131. MOV.F R7.y, R6;
  17132. MOV.F R12.xyz, R13;
  17133. MOV.F R6.y, R17.x;
  17134. MOV.F R13.xyz, R18;
  17135. MOV.F R4.y, R21.x;
  17136. MOV.F R12.w, R7;
  17137. MOV.F R13.w, R10;
  17138. DP4.F32 R4.z, R12, R13;
  17139. MOV.S R13.x, R4.z;
  17140. RCP.F32 R4.z, R4.y;
  17141. MOV.S R17.z, R4;
  17142. SNE.F32 R4.z, R6.y, {0, 0, 0, 0}.x;
  17143. MUL.F32 R4.y, R6, R7;
  17144. SNE.F32 R6.y, R7, {0, 0, 0, 0}.x;
  17145. TRUNC.U R4.z, R4;
  17146. TRUNC.U R6.y, R6;
  17147. AND.U.CC HC.x, R4.z, R6.y;
  17148. MOV.S R16.w, R4.x;
  17149. IF NE.x;
  17150. MOV.F R6.y, R4;
  17151. ELSE;
  17152. MOV.F R6.y, {0, 0, 0, 0}.x;
  17153. ENDIF;
  17154. MOV.F R4.xyz, R14;
  17155. MOV.F R12.w, R10;
  17156. MOV.F R12.xyz, R18;
  17157. DP4.F32 R4.y, R4, R12;
  17158. MOV.F R4.z, R6.x;
  17159. MOV.F R4.x, R16.w;
  17160. MOV.S R14.y, R4;
  17161. ADD.F32 R4.y, R6, R4.x;
  17162. MOV.F R4.w, R8.z;
  17163. MUL.F32 R4.x, R4.z, R4.w;
  17164. MOV.S R20.x, R4.y;
  17165. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  17166. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  17167. TRUNC.U R4.z, R4.w;
  17168. TRUNC.U R4.y, R4;
  17169. AND.U.CC HC.x, R4.y, R4.z;
  17170. IF NE.x;
  17171. MOV.F R6.x, R4;
  17172. ELSE;
  17173. MOV.F R6.x, {0, 0, 0, 0};
  17174. ENDIF;
  17175. MOV.F R4.xyz, R15;
  17176. MOV.F R4.w, R8;
  17177. MOV.F R12.xyz, R18;
  17178. MOV.F R12.w, R10;
  17179. DP4.F32 R4.y, R4, R12;
  17180. MOV.F R4.w, R20.y;
  17181. SNE.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  17182. TRUNC.U R7.w, R6.y;
  17183. MOV.S R15.z, R4.y;
  17184. MOV.F R4.y, c[11].x;
  17185. MOV.F R4.z, c[17].w;
  17186. MOV.F R4.x, R10;
  17187. ADD.F32 R4.x, R4, -R4.z;
  17188. MOV.S R17.x, R4;
  17189. ADD.F32 R4.x, R6, R4.y;
  17190. MUL.F32 R4.x, R4, R4.w;
  17191. MOV.F R7.y, c[16].w;
  17192. ADD.F32 R4.z, R4, -R7.y;
  17193. MOV.S R16.y, R4.z;
  17194. MOV.F R4.z, R9.x;
  17195. MOV.F R6.y, c[16].x;
  17196. MOV.F R4.w, c[14].x;
  17197. ADD.F32 R4.w, -R4, R6.y;
  17198. MOV.S R18.x, R4.w;
  17199. SNE.F32 R4.w, R6.x, -R4.y;
  17200. ADD.F32 R4.y, -R4.z, {1, 0, 0, 0}.x;
  17201. TRUNC.U R4.z, R4.w;
  17202. AND.U.CC HC.x, R4.z, R7.w;
  17203. MOV.S R16.z, R4.y;
  17204. IF NE.x;
  17205. ELSE;
  17206. MOV.F R4.x, {0, 0, 0, 0};
  17207. ENDIF;
  17208. MOV.F R4.y, R20.x;
  17209. ADD.F32 R4.x, R4, R4.y;
  17210. SEQ.S R4.y, R8, {0, 0, 0, 0}.x;
  17211. MOV.U.CC RC.x, -R4.y;
  17212. MOV.S R20.w, R4.x;
  17213. IF NE.x;
  17214. MOV.S R4.x, R24.y;
  17215. ELSE;
  17216. MOV.S R4.x, R11.w;
  17217. ENDIF;
  17218. MOV.F R4.w, R11.x;
  17219. MOV.F R4.z, R17;
  17220. MOV.F R4.y, R18.x;
  17221. MUL.F32 R4.y, R4, R4.z;
  17222. MOV.S R20.y, R4;
  17223. MOV.F R4.y, R10.x;
  17224. MOV.F R4.z, c[18].w;
  17225. ADD.F32 R4.z, R4.y, -R4;
  17226. MOV.F R6.x, R19.w;
  17227. MUL.F32 R4.y, R4.w, R6.x;
  17228. MOV.S R19.x, R4.z;
  17229. SNE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  17230. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  17231. TRUNC.U R4.w, R6.x;
  17232. TRUNC.U R4.z, R4;
  17233. AND.U.CC HC.x, R4.z, R4.w;
  17234. IF NE.x;
  17235. ELSE;
  17236. MOV.F R4.y, {0, 0, 0, 0}.x;
  17237. ENDIF;
  17238. MOV.F R4.z, R3.w;
  17239. SNE.F32 R4.w, R4.z, {0, 0, 0, 0}.x;
  17240. MOV.F R6.x, R16.z;
  17241. TRUNC.U R6.y, R4.w;
  17242. MOV.F R4.w, c[13].x;
  17243. ADD.F32 R4.y, R4, R4.w;
  17244. MUL.F32 R4.z, R4, R6.x;
  17245. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  17246. TRUNC.U R4.w, R6.x;
  17247. AND.U.CC HC.x, R6.y, R4.w;
  17248. MOV.S R21.z, R4.y;
  17249. IF NE.x;
  17250. MOV.F R4.y, R4.z;
  17251. ELSE;
  17252. MOV.F R4.y, {0, 0, 0, 0}.x;
  17253. ENDIF;
  17254. MOV.F R4.z, R16.y;
  17255. RCP.F32 R4.z, R4.z;
  17256. MOV.F R4.w, R17.x;
  17257. MOV.S R18.x, R4.z;
  17258. SGE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  17259. TRUNC.U.CC HC.x, R4.z;
  17260. MOV.S R21.w, R4.y;
  17261. IF NE.x;
  17262. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  17263. ELSE;
  17264. MOV.S R4.y, {0, 0, 0, 0}.x;
  17265. ENDIF;
  17266. MOV.F R6.x, R21.w;
  17267. MOV.F R4.w, R21.z;
  17268. MUL.F32 R4.z, R4.w, R6.x;
  17269. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  17270. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  17271. TRUNC.U R7.y, R4.w;
  17272. TRUNC.U R7.w, R6.x;
  17273. MOV.F R4.w, R6;
  17274. ADD.F32 R4.w, -R4, {1, 0, 0, 0}.x;
  17275. AND.U.CC HC.x, R7.y, R7.w;
  17276. MOV.F R6.y, c[17].x;
  17277. MOV.F R6.x, c[16];
  17278. ADD.F32 R6.x, -R6, R6.y;
  17279. MOV.S R16.z, R6.x;
  17280. MOV.S R16.y, R4.w;
  17281. IF NE.x;
  17282. ELSE;
  17283. MOV.F R4.z, {0, 0, 0, 0}.x;
  17284. ENDIF;
  17285. MOV.F R4.w, R20;
  17286. ADD.F32 R4.z, R4, R4.w;
  17287. MOV.S R18.w, R4.z;
  17288. SEQ.S R4.z, R8.y, {0, 0, 0, 0}.x;
  17289. MOV.U.CC RC.x, -R4.z;
  17290. IF NE.x;
  17291. MOV.S R4.z, R24.x;
  17292. ELSE;
  17293. MOV.S R4.z, R6;
  17294. ENDIF;
  17295. MOV.F R6.x, R18;
  17296. MOV.F R4.w, R16.z;
  17297. MUL.F32 R4.w, R4, R6.x;
  17298. MOV.F R6.y, R16;
  17299. MOV.F R6.x, R9;
  17300. MOV.S R18.x, R4.w;
  17301. MUL.F32 R4.w, R6.x, R6.y;
  17302. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  17303. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  17304. TRUNC.U R6.y, R6;
  17305. TRUNC.U R6.x, R6;
  17306. AND.U.CC HC.x, R6, R6.y;
  17307. IF NE.x;
  17308. ELSE;
  17309. MOV.F R4.w, {0, 0, 0, 0}.x;
  17310. ENDIF;
  17311. MOV.F R6.x, R19;
  17312. SGE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  17313. TRUNC.U.CC HC.x, R6.z;
  17314. MOV.F R6.x, c[17].w;
  17315. MOV.F R6.y, c[18].w;
  17316. ADD.F32 R6.y, -R6.x, R6;
  17317. MOV.F R6.x, R4;
  17318. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  17319. MOV.S R21.w, R6.y;
  17320. MOV.S R18.y, R4.w;
  17321. MOV.S R21.z, R6.x;
  17322. IF NE.x;
  17323. MOV.S R4.w, {1065353216, 0, 0, 0}.x;
  17324. ELSE;
  17325. MOV.S R4.w, {0, 0, 0, 0}.x;
  17326. ENDIF;
  17327. MOV.F R6.z, R20.y;
  17328. MOV.F R6.y, R8.x;
  17329. MUL.F32 R6.x, R6.y, R6.z;
  17330. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  17331. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  17332. TRUNC.U R6.z, R6;
  17333. TRUNC.U R6.y, R6;
  17334. AND.U.CC HC.x, R6.y, R6.z;
  17335. IF NE.x;
  17336. ELSE;
  17337. MOV.F R6.x, {0, 0, 0, 0};
  17338. ENDIF;
  17339. MOV.F R6.y, c[14].x;
  17340. ADD.F32 R6.x, R6, R6.y;
  17341. SEQ.S R7.y, R0, {0, 0, 0, 0}.x;
  17342. MOV.F R6.z, R4.y;
  17343. ADD.F32 R6.y, -R6.z, {1, 0, 0, 0}.x;
  17344. MOV.U.CC RC.x, -R7.y;
  17345. MOV.S R21.x, R6;
  17346. MOV.S R16.z, R6.y;
  17347. AND.S R16.y, c[2].x, {1048576, 0, 0, 0}.x;
  17348. IF NE.x;
  17349. MOV.S R6.x, R4;
  17350. ELSE;
  17351. MOV.S R6.x, R21.z;
  17352. ENDIF;
  17353. MOV.F R6.y, R21.w;
  17354. RCP.F32 R6.z, R6.y;
  17355. MOV.F R7.y, R21.x;
  17356. MOV.F R7.w, R18.y;
  17357. MUL.F32 R6.y, R7, R7.w;
  17358. MOV.S R17.z, R6;
  17359. SNE.F32 R6.z, R7.y, {0, 0, 0, 0}.x;
  17360. TRUNC.U R8.x, R6.z;
  17361. MOV.F R7.y, c[18].x;
  17362. MOV.F R6.z, c[17].x;
  17363. ADD.F32 R6.z, -R6, R7.y;
  17364. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  17365. TRUNC.U R7.y, R7.w;
  17366. AND.U.CC HC.x, R8, R7.y;
  17367. MOV.S R21.x, R6.z;
  17368. IF NE.x;
  17369. ELSE;
  17370. MOV.F R6.y, {0, 0, 0, 0}.x;
  17371. ENDIF;
  17372. MOV.F R6.z, R18.w;
  17373. ADD.F32 R6.y, R6, R6.z;
  17374. MOV.S R18.y, R6;
  17375. SEQ.S R6.y, R16, {1048576, 0, 0, 0}.x;
  17376. MOV.U.CC RC.x, -R6.y;
  17377. IF NE.x;
  17378. MOV.S R6.y, {-1, 0, 0, 0}.x;
  17379. ELSE;
  17380. MOV.S R6.y, {0, 0, 0, 0}.x;
  17381. ENDIF;
  17382. MOV.F R7.y, R16.z;
  17383. MUL.F32 R6.z, R6.w, R7.y;
  17384. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  17385. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  17386. TRUNC.U R7.y, R7;
  17387. TRUNC.U R6.w, R6;
  17388. AND.U.CC HC.x, R6.w, R7.y;
  17389. IF NE.x;
  17390. ELSE;
  17391. MOV.F R6.z, {0, 0, 0, 0}.x;
  17392. ENDIF;
  17393. SEQ.S R7.w, R0.y, {0, 0, 0, 0}.x;
  17394. MOV.U.CC RC.x, -R7.w;
  17395. MOV.F R7.y, R17.z;
  17396. MOV.F R6.w, R21.x;
  17397. MUL.F32 R6.w, R6, R7.y;
  17398. MOV.S R16.x, R6.w;
  17399. MOV.F R7.y, c[19].w;
  17400. MOV.F R6.w, R10.x;
  17401. ADD.F32 R6.w, -R7.y, R6;
  17402. MOV.S R16.z, R6.w;
  17403. MOV.F R6.w, c[18];
  17404. ADD.F32 R7
  17405. [15:03:17] Link error in shader. Log:
  17406. [15:03:17] Vertex info
  17407. -----------
  17408. Internal error: assembly compile error for vertex shader at offset 1867:
  17409. -- error message --
  17410. line 39, column 45: error: invalid vertex attribute reference
  17411. line 54, column 25: error: invalid vertex attribute reference
  17412. line 56, column 25: error: invalid vertex attribute reference
  17413. line 58, column 25: error: invalid vertex attribute reference
  17414. line 61, column 25: error: invalid vertex attribute reference
  17415. -- internal assembly text --
  17416. !!NVvp5.0
  17417. OPTION NV_internal;
  17418. OPTION NV_bindless_texture;
  17419. # cgc version 3.4.0001, build date Sep 5 2019
  17420. # command line args:
  17421. #vendor NVIDIA Corporation
  17422. #version 3.4.0.1 COP Build Date Sep 5 2019
  17423. #profile gp5vp
  17424. #program main
  17425. #semantic uf_remappedVS
  17426. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  17427. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  17428. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  17429. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  17430. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  17431. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  17432. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  17433. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  17434. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  17435. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  17436. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  17437. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  17438. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  17439. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  17440. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  17441. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  17442. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  17443. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  17444. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  17445. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  17446. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  17447. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  17448. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  17449. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  17450. #var float4 passParameterSem9 : $vout.ATTR5 : ATTR5 : -1 : 1
  17451. #var int4 uf_remappedVS[0] : : c[0], 48 : -1 : 1
  17452. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  17453. PARAM c[48] = { program.local[0..47] };
  17454. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  17455. OUTPUT result_attrib[] = { result.attrib[0..5] };
  17456. TEMP R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26;
  17457. TEMP T;
  17458. TEMP RC;
  17459. SHORT TEMP HC;
  17460. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  17461. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17462. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  17463. OR.U R0, R0, R1;
  17464. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  17465. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17466. OR.U R0, R0, R1;
  17467. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  17468. OR.U R4, R0, R2;
  17469. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  17470. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17471. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  17472. OR.U R0, R0, R1;
  17473. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  17474. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17475. OR.U R0, R0, R1;
  17476. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  17477. OR.U R6, R0, R2;
  17478. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  17479. AND.U R2, R1, {65280, 0, 0, 0}.x;
  17480. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  17481. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  17482. OR.U R1, R1, R2;
  17483. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  17484. OR.U R0, R1, R0;
  17485. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  17486. OR.U R0, R0, R2;
  17487. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  17488. AND.U R3, R2, {65280, 0, 0, 0}.x;
  17489. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  17490. OR.U R2, R2, R3;
  17491. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  17492. AND.U R3, R1, {16711680, 0, 0, 0}.x;
  17493. OR.U R2, R2, R3;
  17494. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  17495. OR.U R7, R2, R1;
  17496. MOV.F R1.x, c[0];
  17497. ADD.F32 R3.x, -R0.w, R1;
  17498. MOV.S R8.xyz, R0;
  17499. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  17500. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17501. MOV.S R9.w, R3.x;
  17502. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  17503. SHR.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  17504. TRUNC.U R17.x, R3;
  17505. SEQ.U R3.x, R17, {1, 0, 0, 0};
  17506. SEQ.U R17.y, -R3.x, {1, 0, 0, 0}.x;
  17507. MOV.U.CC RC.x, -R17.y;
  17508. OR.U R0, R0, R1;
  17509. SHL.U R2, vertex.attrib[12], {8, 0, 0, 0}.x;
  17510. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17511. OR.U R0, R0, R1;
  17512. SHL.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  17513. OR.U R10, R0, R2;
  17514. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  17515. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17516. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  17517. OR.U R0, R0, R1;
  17518. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  17519. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17520. OR.U R0, R0, R1;
  17521. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  17522. OR.U R11, R0, R2;
  17523. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  17524. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17525. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  17526. OR.U R0, R0, R1;
  17527. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  17528. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17529. OR.U R0, R0, R1;
  17530. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  17531. OR.U R12, R0, R2;
  17532. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  17533. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17534. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  17535. OR.U R0, R0, R1;
  17536. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  17537. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17538. OR.U R0, R0, R1;
  17539. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  17540. OR.U R13, R0, R2;
  17541. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  17542. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17543. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  17544. OR.U R0, R0, R1;
  17545. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  17546. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17547. OR.U R0, R0, R1;
  17548. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  17549. OR.U R14, R0, R2;
  17550. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  17551. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17552. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  17553. OR.U R0, R0, R1;
  17554. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  17555. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17556. OR.U R0, R0, R1;
  17557. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  17558. OR.U R22, R0, R2;
  17559. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  17560. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  17561. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  17562. OR.U R0.xyz, R0, R1;
  17563. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  17564. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  17565. OR.U R0.xyz, R0, R1;
  17566. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  17567. OR.U R9.xyz, R0, R2;
  17568. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  17569. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  17570. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  17571. OR.U R0.xyz, R0, R1;
  17572. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  17573. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  17574. OR.U R0.xyz, R0, R1;
  17575. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  17576. OR.U R25.xyz, R0, R2;
  17577. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  17578. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  17579. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  17580. OR.U R0.xyz, R0, R1;
  17581. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  17582. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  17583. OR.U R0.xyz, R0, R1;
  17584. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  17585. OR.U R15.xyz, R0, R2;
  17586. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  17587. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  17588. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  17589. OR.U R0.xyz, R0, R1;
  17590. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  17591. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  17592. OR.U R0.xyz, R0, R1;
  17593. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  17594. OR.U R16.xyz, R0, R2;
  17595. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  17596. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  17597. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  17598. OR.U R1.xy, R1, R1.zwzw;
  17599. SHL.U R2.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  17600. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  17601. OR.U R1.xy, R1, R1.zwzw;
  17602. SHL.U R2.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  17603. OR.U R24.xy, R1, R2;
  17604. MOV.U R1.x, R24;
  17605. MOV.F R1.z, R1.x;
  17606. MOV.U R1.y, R24;
  17607. ADD.F32 R1.x, -R1.y, {1, 0, 0, 0};
  17608. ADD.F32 R1.y, -R1.z, {1, 0, 0, 0}.x;
  17609. MOV.S R24.z, R1.x;
  17610. MOV.S R8.w, R1.y;
  17611. MOV.S R0, {0, 0, 0, 0}.x;
  17612. MOV.S R5, {0, 0, 0, 0}.x;
  17613. MOV.S R3, {0, 0, 0, 0}.x;
  17614. MOV.S R2, {0, 0, 0, 0}.x;
  17615. MOV.S R26.xy, {0, 0, 0, 0}.x;
  17616. MOV.S R1.yz, {0, 0, 0, 0};
  17617. MOV.S R17.z, {0, 0, 0, 0}.x;
  17618. MOV.S R1.x, vertex.id;
  17619. MOV.S R1.w, vertex.instance.x;
  17620. MOV.S R15.w, {0, 0, 0, 0}.x;
  17621. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  17622. IF NE.x;
  17623. MOV.F R3.z, c[1].y;
  17624. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  17625. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  17626. MOV.S R26.xy, {0, 0, 0, 0}.x;
  17627. MOV.S R3.z, R3;
  17628. MOV.S R22.w, {1065353216, 0, 0, 0}.x;
  17629. ENDIF;
  17630. SEQ.U R17.x, R17, {0, 0, 0, 0};
  17631. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  17632. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  17633. MOV.U.CC RC.x, -R17;
  17634. IF NE.x;
  17635. MOV.S R22.w, {0, 0, 0, 0}.x;
  17636. ENDIF;
  17637. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  17638. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  17639. SEQ.U R17.w, -R17.y, {1, 0, 0, 0}.x;
  17640. MOV.U.CC RC.x, -R17.w;
  17641. MOV.U R17.x, -R17;
  17642. MOV.U R23.z, -R17.y;
  17643. IF NE.x;
  17644. MOV.F R17.y, R7.w;
  17645. TRUNC.S R17.y, R17;
  17646. I2F.S R17.y, R17;
  17647. MOV.F R17.z, R9.w;
  17648. SGE.F32 R17.z, R17, R17.y;
  17649. TRUNC.U R17.z, R17;
  17650. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  17651. SEQ.U R17.w, R23.z, {1, 0, 0, 0}.x;
  17652. AND.U R26.z, -R17, -R17.w;
  17653. MOV.S R17.z, R17.y;
  17654. ELSE;
  17655. MOV.U R26.z, {0, 0, 0, 0}.x;
  17656. ENDIF;
  17657. SEQ.U R17.y, R26.z, {1, 0, 0, 0}.x;
  17658. MOV.U.CC RC.x, -R17.y;
  17659. IF NE.x;
  17660. MOV.F R3.z, c[1].y;
  17661. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  17662. MOV.S R3.xy, {0, 0, 0, 0};
  17663. MOV.S R3.z, R3;
  17664. MOV.S R26.x, {0, 0, 0, 0};
  17665. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  17666. ENDIF;
  17667. SEQ.U R17.x, R17, {1, 0, 0, 0};
  17668. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  17669. MOV.U.CC RC.x, -R17.y;
  17670. MOV.U R23.z, -R17.x;
  17671. IF NE.x;
  17672. SEQ.S R17.x, R15.w, {0, 0, 0, 0};
  17673. MOV.U R24.w, -R17.x;
  17674. SEQ.U R17.y, R23.z, {1, 0, 0, 0}.x;
  17675. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  17676. AND.U R26.z, -R17.x, -R17.y;
  17677. ELSE;
  17678. MOV.U R24.w, {0, 0, 0, 0}.x;
  17679. MOV.U R26.z, {0, 0, 0, 0}.x;
  17680. ENDIF;
  17681. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  17682. MOV.U.CC RC.x, -R17;
  17683. IF NE.x;
  17684. MOV.F R0.xyz, R15;
  17685. MOV.F R1.xyz, R9;
  17686. MOV.F R1.w, {0, 0, 0, 0}.x;
  17687. MOV.F R0.w, {-0, 0, 0, 0}.x;
  17688. DP4.F32 R4.w, R0, R1;
  17689. MOV.F R0.xyz, R16;
  17690. MOV.F R0.w, {-0, 0, 0, 0}.x;
  17691. DP4.F32 R0.y, R1, R0;
  17692. MOV.S R5.y, R0;
  17693. MOV.F R0.y, R10.x;
  17694. MIN.F.SAT R0.w, R0.y, {0, 0, 0, 0}.x;
  17695. MOV.F R0.y, R25.x;
  17696. ADD.F32 R0.y, R0, R0.w;
  17697. MOV.S R25.x, R0.y;
  17698. MOV.F R0.y, c[2].x;
  17699. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  17700. TRUNC.U.CC HC.x, R0.y;
  17701. MOV.F R15.xyz, R22;
  17702. MOV.F R15.w, {-0, 0, 0, 0}.x;
  17703. DP4.F32 R0.z, R1, R15;
  17704. MOV.S R15.y, R0.z;
  17705. MOV.S R0.x, R4.w;
  17706. MOV.S R5.xzw, {0, 0, 0, 0}.x;
  17707. MOV.S R0.zw, {0, 0, 0, 0}.x;
  17708. IF NE.x;
  17709. MOV.F R0.y, {1, 0, 0, 0}.x;
  17710. ELSE;
  17711. MOV.F R0.y, {0, 0, 0, 0}.x;
  17712. ENDIF;
  17713. MOV.F R1.x, R10;
  17714. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  17715. MOV.F R1.y, c[3];
  17716. MUL.F32 R1.x, R1, R1.y;
  17717. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17718. TRUNC.U R1.z, R1;
  17719. TRUNC.U R1.y, R1;
  17720. AND.U.CC HC.x, R1.z, R1.y;
  17721. MOV.S R18.x, R0.y;
  17722. IF NE.x;
  17723. MOV.F R0.y, R1.x;
  17724. ELSE;
  17725. MOV.F R0.y, {0, 0, 0, 0}.x;
  17726. ENDIF;
  17727. MOV.F R1.x, c[2];
  17728. SGT.F32 R1.x, R1, {0, 0, 0, 0};
  17729. TRUNC.U.CC HC.x, R1;
  17730. MOV.S R19.y, R0;
  17731. IF NE.x;
  17732. MOV.F R0.y, {1, 0, 0, 0}.x;
  17733. ELSE;
  17734. MOV.F R0.y, {0, 0, 0, 0}.x;
  17735. ENDIF;
  17736. MOV.F R1.y, c[2].x;
  17737. MOV.F R1.z, R19.y;
  17738. MOV.F R1.x, R9.w;
  17739. RCP.F32 R1.y, R1.y;
  17740. MAD.F32 R1.y, R1.x, R1, R1.z;
  17741. FRC.F32 R1.y, R1;
  17742. MOV.F R1.z, R18.x;
  17743. MOV.S R20.y, R1;
  17744. ADD.F32 R1.y, R0, -R1.z;
  17745. MOV.F R0.y, R17.z;
  17746. DIV.F32 R1.x, R1, R0.y;
  17747. ADD.F32 R1.z, -R1.y, {1, 0, 0, 0}.x;
  17748. MUL.F32 R0.y, R1.x, R1.z;
  17749. SNE.F32 R1.z, -R1.y, {-1, 0, 0, 0}.x;
  17750. TRUNC.U R8.y, R1.z;
  17751. MOV.S R19.z, R1.y;
  17752. MOV.S R4.w, R1.x;
  17753. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  17754. TRUNC.U R8.x, R1;
  17755. AND.U.CC HC.x, R8, R8.y;
  17756. MOV.F R1.y, c[5].w;
  17757. MOV.F R1.x, c[4].w;
  17758. ADD.F32 R1.x, -R1, R1.y;
  17759. MOV.S R9.y, R1.x;
  17760. MOV.F R1.x, c[5].y;
  17761. MOV.F R1.y, c[6];
  17762. ADD.F32 R1.y, -R1.x, R1;
  17763. MOV.S R21.x, R1.y;
  17764. MOV.F R1.w, c[5].x;
  17765. MOV.F R1.z, c[4].x;
  17766. ADD.F32 R1.z, -R1, R1.w;
  17767. MOV.S R21.y, R1.z;
  17768. MOV.F R1.w, c[4].y;
  17769. ADD.F32 R1.x, R1, -R1.w;
  17770. MOV.F R1.z, c[5];
  17771. MOV.F R1.y, c[4].z;
  17772. ADD.F32 R1.y, -R1, R1.z;
  17773. MOV.S R19.y, R1;
  17774. MOV.S R19.w, R1.x;
  17775. IF NE.x;
  17776. ELSE;
  17777. MOV.F R0.y, {0, 0, 0, 0}.x;
  17778. ENDIF;
  17779. MOV.F R1.z, R19;
  17780. MOV.F R8.x, R20.y;
  17781. MUL.F32 R1.x, R1.z, R8;
  17782. MOV.F R1.w, R9.y;
  17783. MOV.F R1.y, R21;
  17784. DIV.F32 R1.y, R1, R1.w;
  17785. MOV.S R19.x, R1.y;
  17786. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  17787. TRUNC.U R8.y, R1;
  17788. MOV.F R1.z, c[6].x;
  17789. MOV.F R1.y, c[5].x;
  17790. ADD.F32 R1.y, -R1, R1.z;
  17791. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  17792. TRUNC.U R1.z, R8.x;
  17793. MOV.S R21.w, R1.y;
  17794. RCP.F32 R1.y, R1.w;
  17795. AND.U.CC HC.x, R8.y, R1.z;
  17796. MOV.S R21.z, R0.y;
  17797. MOV.S R18.z, R1.y;
  17798. IF NE.x;
  17799. MOV.F R0.y, R1.x;
  17800. ELSE;
  17801. MOV.F R0.y, {0, 0, 0, 0}.x;
  17802. ENDIF;
  17803. MOV.F R1.z, R19.y;
  17804. MOV.F R1.w, c[4];
  17805. MOV.F R1.y, R18.z;
  17806. MOV.F R1.x, R19.w;
  17807. MUL.F32 R1.x, R1, R1.y;
  17808. MUL.F32 R1.y, R1, R1.z;
  17809. MOV.S R19.z, R1.x;
  17810. MOV.S R0.y, R0;
  17811. MOV.F R1.z, R21;
  17812. ADD.F32 R1.z, R1, R0.y;
  17813. ADD.F32 R8.x, R1.z, -R1.w;
  17814. MUL.F32 R0.y, R8.x, R1;
  17815. MOV.F R1.x, c[5].w;
  17816. MOV.S R23.w, R8.x;
  17817. ADD.F32 R8.x, R1.z, -R1;
  17818. MOV.S R23.x, R1.z;
  17819. SNE.F32 R1.z, R1, R1.w;
  17820. MOV.S R17.x, R8;
  17821. MOV.F R8.x, c[6].w;
  17822. ADD.F32 R1.x, -R1, R8;
  17823. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17824. TRUNC.U R8.x, R1.y;
  17825. TRUNC.U R1.w, R1.z;
  17826. MOV.S R1.x, R1;
  17827. MOV.F R1.z, R1.x;
  17828. AND.U.CC HC.x, R1.w, R8;
  17829. MOV.F R1.y, c[6].z;
  17830. MOV.F R1.x, c[5].z;
  17831. ADD.F32 R1.x, -R1, R1.y;
  17832. RCP.F32 R1.y, R1.z;
  17833. MOV.S R19.y, R1.x;
  17834. MOV.S R17.w, R1.y;
  17835. IF NE.x;
  17836. ELSE;
  17837. MOV.F R0.y, {0, 0, 0, 0}.x;
  17838. ENDIF;
  17839. MOV.F R1.z, R19;
  17840. MOV.F R1.y, R23.w;
  17841. MUL.F32 R1.x, R1.y, R1.z;
  17842. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17843. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  17844. TRUNC.U R1.y, R1;
  17845. TRUNC.U R1.z, R1;
  17846. AND.U.CC HC.x, R1.y, R1.z;
  17847. MOV.S R20.x, R0.y;
  17848. IF NE.x;
  17849. MOV.F R0.y, R1.x;
  17850. ELSE;
  17851. MOV.F R0.y, {0, 0, 0, 0}.x;
  17852. ENDIF;
  17853. MOV.F R1.z, R19.x;
  17854. MOV.F R1.y, R23.w;
  17855. MUL.F32 R1.x, R1.y, R1.z;
  17856. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17857. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  17858. TRUNC.U R1.y, R1;
  17859. TRUNC.U R1.z, R1;
  17860. AND.U.CC HC.x, R1.y, R1.z;
  17861. MOV.S R20.y, R0;
  17862. IF NE.x;
  17863. MOV.F R0.y, R1.x;
  17864. ELSE;
  17865. MOV.F R0.y, {0, 0, 0, 0}.x;
  17866. ENDIF;
  17867. MOV.F R1.y, R17.w;
  17868. MOV.F R1.x, R21;
  17869. MUL.F32 R1.x, R1, R1.y;
  17870. MOV.F R1.z, R19.y;
  17871. MUL.F32 R1.z, R1, R1.y;
  17872. MOV.S R21.y, R1.x;
  17873. MOV.F R1.x, R21.w;
  17874. MUL.F32 R1.x, R1, R1.y;
  17875. SNE.F32 R1.y, R1.x, {0, 0, 0, 0}.x;
  17876. MOV.F R8.x, R17;
  17877. TRUNC.U R8.y, R1;
  17878. MOV.S R18.x, R1.z;
  17879. MOV.F R1.z, R20.x;
  17880. MOV.F R1.y, c[4].z;
  17881. ADD.F32 R1.y, R1, R1.z;
  17882. MOV.F R1.w, R20.y;
  17883. MOV.F R1.z, c[4].y;
  17884. ADD.F32 R1.z, R1, R1.w;
  17885. MOV.S R15.z, R1;
  17886. MOV.F R1.z, c[4].x;
  17887. ADD.F32 R0.y, R1.z, R0;
  17888. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  17889. TRUNC.U R1.z, R1.w;
  17890. AND.U.CC HC.x, R1.z, R8.y;
  17891. MUL.F32 R1.x, R8, R1;
  17892. MOV.S R1.y, R1;
  17893. MOV.S R22.w, R0.y;
  17894. IF NE.x;
  17895. MOV.F R0.y, R1.x;
  17896. ELSE;
  17897. MOV.F R0.y, {0, 0, 0, 0}.x;
  17898. ENDIF;
  17899. MOV.F R1.x, R17;
  17900. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  17901. MOV.F R1.w, R18.x;
  17902. TRUNC.U R8.x, R1.z;
  17903. MOV.F R1.z, c[5].x;
  17904. ADD.F32 R0.y, R1.z, R0;
  17905. MUL.F32 R1.x, R1, R1.w;
  17906. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  17907. TRUNC.U R1.z, R1.w;
  17908. AND.U.CC HC.x, R8, R1.z;
  17909. MOV.S R16.x, R0.y;
  17910. IF NE.x;
  17911. MOV.F R0.y, R1.x;
  17912. ELSE;
  17913. MOV.F R0.y, {0, 0, 0, 0}.x;
  17914. ENDIF;
  17915. MOV.F R1.w, R21.y;
  17916. MOV.F R1.z, R17.x;
  17917. MUL.F32 R1.x, R1.z, R1.w;
  17918. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  17919. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  17920. TRUNC.U R1.z, R1;
  17921. TRUNC.U R1.w, R1;
  17922. AND.U.CC HC.x, R1.z, R1.w;
  17923. MOV.S R20.y, R0;
  17924. IF NE.x;
  17925. MOV.F R0.y, R1.x;
  17926. ELSE;
  17927. MOV.F R0.y, {0, 0, 0, 0}.x;
  17928. ENDIF;
  17929. MOV.F R1.z, c[6].w;
  17930. MOV.F R1.x, R23;
  17931. ADD.F32 R1.x, R1, -R1.z;
  17932. MOV.S R17.w, R1.x;
  17933. MOV.F R1.x, R23.w;
  17934. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  17935. TRUNC.U.CC HC.x, R1;
  17936. MOV.S R20.z, R0.y;
  17937. IF NE.x;
  17938. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  17939. ELSE;
  17940. MOV.S R0.y, {0, 0, 0, 0}.x;
  17941. ENDIF;
  17942. MOV.F R1.x, R17;
  17943. SGE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  17944. TRUNC.U.CC HC.x, R1.z;
  17945. MOV.S R1.x, R0.y;
  17946. IF NE.x;
  17947. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  17948. ELSE;
  17949. MOV.S R15.w, {0, 0, 0, 0}.x;
  17950. ENDIF;
  17951. MOV.F R0.y, R17.w;
  17952. SGE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  17953. TRUNC.U.CC HC.x, R0.y;
  17954. MOV.S R15.x, R15.w;
  17955. IF NE.x;
  17956. MOV.S R16.z, {1065353216, 0, 0, 0}.x;
  17957. ELSE;
  17958. MOV.S R16.z, {0, 0, 0, 0}.x;
  17959. ENDIF;
  17960. MOV.F R8.x, c[7].w;
  17961. MOV.F R1.w, R23.x;
  17962. SGE.F32 R8.z, R1.w, R8.x;
  17963. TRUNC.U.CC HC.x, R8.z;
  17964. MOV.F R1.z, R20.y;
  17965. MOV.F R0.y, c[5].z;
  17966. ADD.F32 R0.y, R0, R1.z;
  17967. MOV.S R9.z, R0.y;
  17968. MOV.F R1.z, R20;
  17969. MOV.F R0.y, c[5];
  17970. ADD.F32 R0.y, R0, R1.z;
  17971. MOV.S R16.w, R0.y;
  17972. ADD.F32 R0.y, R1.w, -R8.x;
  17973. MOV.S R21.x, R0.y;
  17974. MOV.F R1.z, c[7].x;
  17975. MOV.F R0.y, c[6].x;
  17976. ADD.F32 R0.y, -R0, R1.z;
  17977. MOV.S R17.x, R0.y;
  17978. MOV.F R1.w, c[7].y;
  17979. MOV.F R0.y, c[6];
  17980. ADD.F32 R0.y, -R0, R1.w;
  17981. MOV.F R8.y, c[8].x;
  17982. MOV.S R23.w, R0.y;
  17983. ADD.F32 R0.y, -R1.z, R8;
  17984. MOV.F R1.z, c[6].w;
  17985. MOV.S R21.y, R0;
  17986. ADD.F32 R0.y, R8.x, -R1.z;
  17987. MOV.F R1.z, c[8].y;
  17988. ADD.F32 R1.w, -R1, R1.z;
  17989. MOV.S R18.y, R0;
  17990. MOV.F R1.z, c[7];
  17991. MOV.F R0.y, c[6].z;
  17992. ADD.F32 R0.y, -R0, R1.z;
  17993. MOV.S R19.x, R1.w;
  17994. MOV.S R19.z, R0.y;
  17995. IF NE.x;
  17996. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  17997. ELSE;
  17998. MOV.S R0.y, {0, 0, 0, 0}.x;
  17999. ENDIF;
  18000. MOV.F R1.w, R18.y;
  18001. MOV.F R1.z, R23.w;
  18002. DIV.F32 R1.z, R1, R1.w;
  18003. MOV.F R8.x, R19.z;
  18004. MOV.S R18.z, R1;
  18005. DIV.F32 R1.z, R8.x, R1.w;
  18006. MOV.F R8.x, R17;
  18007. MOV.S R18.y, R1.z;
  18008. DIV.F32 R1.z, R8.x, R1.w;
  18009. SNE.F32 R8.x, R1.z, {0, 0, 0, 0};
  18010. MOV.F R1.w, R17;
  18011. TRUNC.U R9.x, R8;
  18012. MUL.F32 R1.z, R1.w, R1;
  18013. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18014. TRUNC.U R8.z, R1.w;
  18015. AND.U.CC HC.x, R8.z, R9;
  18016. MOV.F R8.x, c[8].z;
  18017. MOV.F R1.w, c[7].z;
  18018. ADD.F32 R1.w, -R1, R8.x;
  18019. MOV.F R8.y, c[8].w;
  18020. MOV.F R8.x, c[7].w;
  18021. ADD.F32 R8.x, -R8, R8.y;
  18022. MOV.S R17.x, R1.w;
  18023. MOV.S R9.y, R8.x;
  18024. IF NE.x;
  18025. ELSE;
  18026. MOV.F R1.z, {0, 0, 0, 0}.x;
  18027. ENDIF;
  18028. MOV.F R8.y, R17.w;
  18029. MOV.F R1.w, R23.x;
  18030. MOV.F R8.x, c[8].w;
  18031. ADD.F32 R8.x, R1.w, -R8;
  18032. MOV.F R8.z, R18.y;
  18033. MOV.S R17.y, R8.x;
  18034. SNE.F32 R8.x, R8.y, {0, 0, 0, 0};
  18035. MUL.F32 R1.w, R8.y, R8.z;
  18036. SNE.F32 R8.y, R8.z, {0, 0, 0, 0}.x;
  18037. TRUNC.U R8.x, R8;
  18038. TRUNC.U R8.y, R8;
  18039. AND.U.CC HC.x, R8, R8.y;
  18040. MOV.S R20.x, R1.z;
  18041. IF NE.x;
  18042. MOV.F R1.z, R1.w;
  18043. ELSE;
  18044. MOV.F R1.z, {0, 0, 0, 0}.x;
  18045. ENDIF;
  18046. MOV.F R8.y, R18.z;
  18047. MOV.F R8.x, R17.w;
  18048. MUL.F32 R1.w, R8.x, R8.y;
  18049. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  18050. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  18051. TRUNC.U R8.x, R8;
  18052. TRUNC.U R8.y, R8;
  18053. AND.U.CC HC.x, R8, R8.y;
  18054. MOV.S R20.z, R1;
  18055. IF NE.x;
  18056. MOV.F R1.z, R1.w;
  18057. ELSE;
  18058. MOV.F R1.z, {0, 0, 0, 0}.x;
  18059. ENDIF;
  18060. MOV.F R8.y, R9;
  18061. MOV.F R11.w, R21.x;
  18062. MOV.F R8.x, R20;
  18063. MOV.F R1.w, c[6].x;
  18064. ADD.F32 R1.w, R1, R8.x;
  18065. MOV.F R8.x, R19;
  18066. DIV.F32 R16.y, R8.x, R8.y;
  18067. MOV.S R9.y, R1.w;
  18068. MOV.F R1.w, R21.y;
  18069. DIV.F32 R1.w, R1, R8.y;
  18070. MUL.F32 R8.x, R11.w, R16.y;
  18071. MOV.F R9.x, R20.z;
  18072. MOV.F R8.z, c[6];
  18073. ADD.F32 R8.z, R8, R9.x;
  18074. SNE.F32 R9.x, R16.y, {0, 0, 0, 0};
  18075. MOV.S R18.z, R1.w;
  18076. MOV.S R1.w, R8.z;
  18077. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  18078. TRUNC.U R11.w, R8.z;
  18079. TRUNC.U R16.y, R9.x;
  18080. MOV.F R8.z, c[6].y;
  18081. ADD.F32 R8.z, R8, R1;
  18082. RCP.F32 R1.z, R8.y;
  18083. AND.U.CC HC.x, R11.w, R16.y;
  18084. MOV.S R9.x, R8.z;
  18085. MOV.S R19.y, R1.z;
  18086. IF NE.x;
  18087. MOV.F R1.z, R8.x;
  18088. ELSE;
  18089. MOV.F R1.z, {0, 0, 0, 0}.x;
  18090. ENDIF;
  18091. MOV.F R8.z, R18;
  18092. MOV.F R8.y, R21.x;
  18093. MUL.F32 R8.x, R8.y, R8.z;
  18094. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  18095. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18096. TRUNC.U R8.y, R8;
  18097. TRUNC.U R8.z, R8;
  18098. AND.U.CC HC.x, R8.y, R8.z;
  18099. MOV.S R20.x, R1.z;
  18100. IF NE.x;
  18101. MOV.F R1.z, R8.x;
  18102. ELSE;
  18103. MOV.F R1.z, {0, 0, 0, 0}.x;
  18104. ENDIF;
  18105. MOV.F R8.y, R19;
  18106. MOV.F R8.x, R17;
  18107. MUL.F32 R8.x, R8, R8.y;
  18108. MOV.S R20.z, R8.x;
  18109. MOV.F R8.x, R17.y;
  18110. SGE.F32 R11.w, R8.x, {0, 0, 0, 0}.x;
  18111. TRUNC.U.CC HC.x, R11.w;
  18112. MOV.F R8.y, c[9].x;
  18113. MOV.F R8.x, c[8];
  18114. ADD.F32 R8.x, -R8, R8.y;
  18115. MOV.F R8.z, c[9].y;
  18116. MOV.F R8.y, c[8];
  18117. ADD.F32 R8.y, -R8, R8.z;
  18118. MOV.S R17.w, R8.x;
  18119. MOV.S R19.y, R8;
  18120. MOV.S R20.y, R1.z;
  18121. IF NE.x;
  18122. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  18123. ELSE;
  18124. MOV.S R1.z, {0, 0, 0, 0}.x;
  18125. ENDIF;
  18126. MOV.F R17.x, R20.z;
  18127. MOV.F R16.y, R21.x;
  18128. MOV.F R8.z, R20.x;
  18129. MOV.F R8.y, c[7];
  18130. ADD.F32 R8.y, R8, R8.z;
  18131. MOV.S R21.y, R8;
  18132. SNE.F32 R8.y, R16, {0, 0, 0, 0}.x;
  18133. MOV.F R11.w, R20.y;
  18134. MOV.F R8.z, c[7].x;
  18135. ADD.F32 R8.z, R8, R11.w;
  18136. MOV.S R17.z, R8;
  18137. SNE.F32 R8.z, R17.x, {0, 0, 0, 0}.x;
  18138. TRUNC.U R8.z, R8;
  18139. TRUNC.U R8.y, R8;
  18140. AND.U.CC HC.x, R8.y, R8.z;
  18141. MUL.F32 R8.x, R16.y, R17;
  18142. IF NE.x;
  18143. ELSE;
  18144. MOV.F R8.x, {0, 0, 0, 0};
  18145. ENDIF;
  18146. MOV.F R8.y, R23.x;
  18147. MOV.F R8.z, c[9].w;
  18148. SGE.F32 R11.w, R8.y, R8.z;
  18149. MOV.S R8.x, R8;
  18150. MOV.F R8.y, R8.x;
  18151. MOV.F R8.x, c[7].z;
  18152. ADD.F32 R8.x, R8, R8.y;
  18153. MOV.F R8.z, R1;
  18154. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  18155. TRUNC.U.CC HC.x, R11.w;
  18156. MOV.S R17.x, R8;
  18157. MOV.S R20.y, R8;
  18158. IF NE.x;
  18159. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  18160. ELSE;
  18161. MOV.S R8.y, {0, 0, 0, 0}.x;
  18162. ENDIF;
  18163. MOV.F R8.z, R0.y;
  18164. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  18165. MOV.F R16.y, R16.z;
  18166. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  18167. MOV.F R11.w, c[9].z;
  18168. MOV.F R8.x, c[8].z;
  18169. ADD.F32 R8.x, -R8, R11.w;
  18170. MOV.S R23.w, R8.z;
  18171. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  18172. MOV.F R18.x, R8.y;
  18173. MOV.S R23.x, R8;
  18174. MOV.S R19.w, R16.y;
  18175. MUL.F32 R8.x, R11.w, R18;
  18176. SNE.F32 R16.y, R18.x, {0, 0, 0, 0}.x;
  18177. TRUNC.U R11.w, R16.y;
  18178. TRUNC.U R8.z, R8;
  18179. AND.U.CC HC.x, R8.z, R11.w;
  18180. IF NE.x;
  18181. MOV.F R8.z, R8.x;
  18182. ELSE;
  18183. MOV.F R8.z, {0, 0, 0, 0}.x;
  18184. ENDIF;
  18185. MOV.F R16.y, R20;
  18186. MOV.F R11.w, R0.y;
  18187. MUL.F32 R8.x, R11.w, R16.y;
  18188. SNE.F32 R18.x, R16.y, {0, 0, 0, 0};
  18189. MOV.F R16.y, c[9].w;
  18190. MOV.F R0.y, c[8].w;
  18191. ADD.F32 R0.y, -R0, R16;
  18192. MOV.S R18.w, R0.y;
  18193. TRUNC.U R18.x, R18;
  18194. MOV.F R16.y, R8;
  18195. MOV.S R0.y, R8.z;
  18196. ADD.F32 R8.z, -R16.y, {1, 0, 0, 0}.x;
  18197. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  18198. MOV.S R18.z, R8;
  18199. TRUNC.U R8.z, R11.w;
  18200. AND.U.CC HC.x, R8.z, R18;
  18201. IF NE.x;
  18202. ELSE;
  18203. MOV.F R8.x, {0, 0, 0, 0};
  18204. ENDIF;
  18205. MOV.F R11.w, c[9].x;
  18206. MOV.F R16.y, R8;
  18207. MUL.F32 R8.z, R11.w, R16.y;
  18208. MOV.S R19.x, R8;
  18209. SNE.F32 R8.x, R11.w, {0, 0, 0, 0};
  18210. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  18211. TRUNC.U R11.w, R16.y;
  18212. TRUNC.U R8.x, R8;
  18213. AND.U.CC HC.x, R8, R11.w;
  18214. IF NE.x;
  18215. MOV.F R8.x, R8.z;
  18216. ELSE;
  18217. MOV.F R8.x, {0, 0, 0, 0};
  18218. ENDIF;
  18219. MOV.F R11.w, R18.z;
  18220. MOV.F R8.z, R1;
  18221. MUL.F32 R1.z, R8, R11.w;
  18222. SNE.F32 R16.y, R11.w, {0, 0, 0, 0}.x;
  18223. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18224. TRUNC.U R11.w, R16.y;
  18225. TRUNC.U R8.z, R8;
  18226. AND.U.CC HC.x, R8.z, R11.w;
  18227. MOV.S R8.x, R8;
  18228. IF NE.x;
  18229. ELSE;
  18230. MOV.F R1.z, {0, 0, 0, 0}.x;
  18231. ENDIF;
  18232. MOV.F R11.w, R8.y;
  18233. MOV.F R8.z, c[9].y;
  18234. MUL.F32 R8.y, R8.z, R11.w;
  18235. MOV.S R16.y, R1.z;
  18236. SNE.F32 R1.z, R8, {0, 0, 0, 0}.x;
  18237. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  18238. TRUNC.U R8.z, R11.w;
  18239. TRUNC.U R1.z, R1;
  18240. AND.U.CC HC.x, R1.z, R8.z;
  18241. IF NE.x;
  18242. MOV.F R1.z, R8.y;
  18243. ELSE;
  18244. MOV.F R1.z, {0, 0, 0, 0}.x;
  18245. ENDIF;
  18246. MOV.F R11.w, R19.x;
  18247. MOV.F R8.z, R17;
  18248. MUL.F32 R8.y, R8.z, R11.w;
  18249. SNE.F32 R17.z, R11.w, {0, 0, 0, 0}.x;
  18250. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18251. TRUNC.U R11.w, R8.z;
  18252. TRUNC.U R17.z, R17;
  18253. AND.U.CC HC.x, R11.w, R17.z;
  18254. MOV.S R8.z, R1;
  18255. IF NE.x;
  18256. MOV.F R1.z, R8.y;
  18257. ELSE;
  18258. MOV.F R1.z, {0, 0, 0, 0}.x;
  18259. ENDIF;
  18260. MOV.F R17.z, R17.w;
  18261. MOV.F R11.w, R18;
  18262. DIV.F32 R17.z, R17, R11.w;
  18263. MOV.F R8.y, R19;
  18264. DIV.F32 R8.y, R8, R11.w;
  18265. RCP.F32 R11.w, R11.w;
  18266. MOV.S R18.y, R17.z;
  18267. MOV.F R17.z, R21.y;
  18268. MOV.S R18.z, R11.w;
  18269. SNE.F32 R11.w, R17.z, {0, 0, 0, 0}.x;
  18270. MOV.F R17.w, R19.x;
  18271. MOV.S R18.x, R8.y;
  18272. MUL.F32 R8.y, R17.z, R17.w;
  18273. TRUNC.U R17.z, R11.w;
  18274. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  18275. TRUNC.U R17.w, R17;
  18276. AND.U.CC HC.x, R17.z, R17.w;
  18277. MOV.S R11.w, R1.z;
  18278. IF NE.x;
  18279. MOV.F R1.z, R8.y;
  18280. ELSE;
  18281. MOV.F R1.z, {0, 0, 0, 0}.x;
  18282. ENDIF;
  18283. MOV.F R17.w, R17.x;
  18284. MOV.F R17.z, R18;
  18285. MOV.F R17.x, R23;
  18286. MUL.F32 R17.x, R17, R17.z;
  18287. MOV.S R18.w, R17.x;
  18288. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  18289. SNE.F32 R17.z, R19.x, {0, 0, 0, 0}.x;
  18290. TRUNC.U R17.x, R17;
  18291. TRUNC.U R17.z, R17;
  18292. AND.U.CC HC.x, R17, R17.z;
  18293. MUL.F32 R8.y, R17.w, R19.x;
  18294. MOV.S R1.z, R1;
  18295. IF NE.x;
  18296. ELSE;
  18297. MOV.F R8.y, {0, 0, 0, 0}.x;
  18298. ENDIF;
  18299. MOV.F R17.w, R18;
  18300. MOV.F R17.z, R17.y;
  18301. MUL.F32 R17.x, R17.z, R17.w;
  18302. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  18303. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  18304. TRUNC.U R17.z, R17;
  18305. TRUNC.U R17.w, R17;
  18306. AND.U.CC HC.x, R17.z, R17.w;
  18307. MOV.S R8.y, R8;
  18308. IF NE.x;
  18309. ELSE;
  18310. MOV.F R17.x, {0, 0, 0, 0};
  18311. ENDIF;
  18312. MOV.F R17.w, R17.y;
  18313. MUL.F32 R17.z, R17.w, R18.x;
  18314. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  18315. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  18316. TRUNC.U R17.w, R17;
  18317. TRUNC.U R18.x, R18;
  18318. AND.U.CC HC.x, R17.w, R18;
  18319. MOV.S R22.x, R17;
  18320. IF NE.x;
  18321. MOV.F R17.x, R17.z;
  18322. ELSE;
  18323. MOV.F R17.x, {0, 0, 0, 0};
  18324. ENDIF;
  18325. MOV.F R17.z, R17.y;
  18326. MOV.F R17.w, R18.y;
  18327. MUL.F32 R17.y, R17.z, R17.w;
  18328. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  18329. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  18330. TRUNC.U R17.z, R17;
  18331. TRUNC.U R17.w, R17;
  18332. AND.U.CC HC.x, R17.z, R17.w;
  18333. MOV.S R22.y, R17.x;
  18334. IF NE.x;
  18335. MOV.F R17.x, R17.y;
  18336. ELSE;
  18337. MOV.F R17.x, {0, 0, 0, 0};
  18338. ENDIF;
  18339. MOV.F R17.z, R23.w;
  18340. MOV.F R17.y, R16.z;
  18341. MUL.F32 R16.z, R17.y, R17;
  18342. SNE.F32 R17.w, R17.z, {0, 0, 0, 0}.x;
  18343. TRUNC.U R17.z, R17.w;
  18344. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  18345. MOV.S R22.z, R17.x;
  18346. TRUNC.U R17.x, R17.y;
  18347. AND.U.CC HC.x, R17, R17.z;
  18348. IF NE.x;
  18349. ELSE;
  18350. MOV.F R16.z, {0, 0, 0, 0}.x;
  18351. ENDIF;
  18352. MOV.F R17.x, R19.w;
  18353. SNE.F32 R17.y, R17.x, {0, 0, 0, 0}.x;
  18354. TRUNC.U R17.z, R17.y;
  18355. SNE.F32 R17.y, R15.w, {0, 0, 0, 0}.x;
  18356. MUL.F32 R17.x, R15.w, R17;
  18357. MOV.S R15.w, R16.z;
  18358. TRUNC.U R16.z, R17.y;
  18359. AND.U.CC HC.x, R16.z, R17.z;
  18360. IF NE.x;
  18361. MOV.F R16.z, R17.x;
  18362. ELSE;
  18363. MOV.F R16.z, {0, 0, 0, 0}.x;
  18364. ENDIF;
  18365. MOV.S R16.z, R16;
  18366. ENDIF;
  18367. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  18368. MOV.U.CC RC.x, -R17;
  18369. IF NE.x;
  18370. MOV.F R17.x, R15.w;
  18371. MUL.F32 R7.w, R9.y, R17.x;
  18372. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  18373. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18374. TRUNC.U R17.x, R17;
  18375. TRUNC.U R9.y, R9;
  18376. AND.U.CC HC.x, R9.y, R17;
  18377. IF NE.x;
  18378. ELSE;
  18379. MOV.F R7.w, {0, 0, 0, 0}.x;
  18380. ENDIF;
  18381. MOV.F R9.y, c[8].x;
  18382. MOV.F R17.x, R22.z;
  18383. ADD.F32 R17.x, R9.y, R17;
  18384. MOV.S R20.w, R17.x;
  18385. MOV.F R18.x, R15.w;
  18386. MOV.F R17.w, R9.x;
  18387. MOV.F R17.y, R22;
  18388. MOV.F R17.x, c[8].y;
  18389. ADD.F32 R17.z, R17.x, R17.y;
  18390. MOV.S R20.z, R17;
  18391. SNE.F32 R17.z, R18.x, {0, 0, 0, 0}.x;
  18392. MOV.F R17.y, R22.x;
  18393. MOV.F R17.x, c[8].z;
  18394. ADD.F32 R17.x, R17, R17.y;
  18395. MOV.S R20.y, R17.x;
  18396. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  18397. TRUNC.U R17.y, R17.x;
  18398. TRUNC.U R17.z, R17;
  18399. AND.U.CC HC.x, R17.y, R17.z;
  18400. MUL.F32 R9.y, R17.w, R18.x;
  18401. MOV.S R17.x, R7.w;
  18402. IF NE.x;
  18403. MOV.F R7.w, R9.y;
  18404. ELSE;
  18405. MOV.F R7.w, {0, 0, 0, 0}.x;
  18406. ENDIF;
  18407. MOV.F R17.z, R16.y;
  18408. MOV.F R17.y, R20.w;
  18409. MUL.F32 R9.y, R17, R17.z;
  18410. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  18411. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  18412. TRUNC.U R17.y, R17;
  18413. TRUNC.U R17.z, R17;
  18414. AND.U.CC HC.x, R17.y, R17.z;
  18415. MOV.S R19.y, R7.w;
  18416. IF NE.x;
  18417. MOV.F R7.w, R9.y;
  18418. ELSE;
  18419. MOV.F R7.w, {0, 0, 0, 0}.x;
  18420. ENDIF;
  18421. MOV.F R9.y, R1.w;
  18422. MOV.F R17.y, R15.w;
  18423. MUL.F32 R1.w, R9.y, R17.y;
  18424. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18425. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  18426. TRUNC.U R9.y, R9;
  18427. TRUNC.U R17.y, R17;
  18428. AND.U.CC HC.x, R9.y, R17.y;
  18429. MOV.S R21.x, R7.w;
  18430. IF NE.x;
  18431. ELSE;
  18432. MOV.F R1.w, {0, 0, 0, 0}.x;
  18433. ENDIF;
  18434. MOV.F R17.y, R16;
  18435. MOV.F R9.y, R20;
  18436. MUL.F32 R7.w, R9.y, R17.y;
  18437. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18438. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  18439. TRUNC.U R9.y, R9;
  18440. TRUNC.U R17.y, R17;
  18441. AND.U.CC HC.x, R9.y, R17.y;
  18442. MOV.S R21.y, R1.w;
  18443. IF NE.x;
  18444. MOV.F R1.w, R7;
  18445. ELSE;
  18446. MOV.F R1.w, {0, 0, 0, 0}.x;
  18447. ENDIF;
  18448. MOV.F R9.y, R20.z;
  18449. MUL.F32 R7.w, R9.y, R16.y;
  18450. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18451. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  18452. TRUNC.U R9.y, R9;
  18453. TRUNC.U R16.y, R16;
  18454. AND.U.CC HC.x, R9.y, R16.y;
  18455. MOV.S R17.z, R1.w;
  18456. IF NE.x;
  18457. MOV.F R1.w, R7;
  18458. ELSE;
  18459. MOV.F R1.w, {0, 0, 0, 0}.x;
  18460. ENDIF;
  18461. MOV.F R16.y, R16.z;
  18462. MOV.F R9.y, R16.x;
  18463. MUL.F32 R7.w, R9.y, R16.y;
  18464. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18465. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  18466. TRUNC.U R9.y, R9;
  18467. TRUNC.U R16.y, R16;
  18468. AND.U.CC HC.x, R9.y, R16.y;
  18469. MOV.S R17.w, R1;
  18470. IF NE.x;
  18471. MOV.F R1.w, R7;
  18472. ELSE;
  18473. MOV.F R1.w, {0, 0, 0, 0}.x;
  18474. ENDIF;
  18475. MOV.F R16.y, R16.z;
  18476. MOV.F R9.y, R16.w;
  18477. MUL.F32 R7.w, R9.y, R16.y;
  18478. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18479. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  18480. TRUNC.U R9.y, R9;
  18481. TRUNC.U R16.y, R16;
  18482. AND.U.CC HC.x, R9.y, R16.y;
  18483. MOV.S R17.y, R1.w;
  18484. IF NE.x;
  18485. MOV.F R1.w, R7;
  18486. ELSE;
  18487. MOV.F R1.w, {0, 0, 0, 0}.x;
  18488. ENDIF;
  18489. MOV.F R16.w, R16.z;
  18490. MOV.F R16.z, R9;
  18491. MOV.F R16.y, R15.x;
  18492. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  18493. MOV.F R9.y, R1.x;
  18494. ADD.F32 R9.y, -R9, {1, 0, 0, 0}.x;
  18495. MOV.S R20.z, R16.y;
  18496. MOV.S R20.y, R9;
  18497. SNE.F32 R9.y, R16.z, {0, 0, 0, 0}.x;
  18498. SNE.F32 R16.y, R16.w, {0, 0, 0, 0}.x;
  18499. TRUNC.U R9.y, R9;
  18500. TRUNC.U R16.y, R16;
  18501. AND.U.CC HC.x, R9.y, R16.y;
  18502. MUL.F32 R7.w, R16.z, R16;
  18503. MOV.S R23.x, R1.w;
  18504. IF NE.x;
  18505. MOV.F R1.w, R7;
  18506. ELSE;
  18507. MOV.F R1.w, {0, 0, 0, 0}.x;
  18508. ENDIF;
  18509. MOV.F R7.w, R15.y;
  18510. ADD.F32 R7.w, R7, {9.99999997e-07, 0, 0, 0}.x;
  18511. MOV.S R16.z, R7.w;
  18512. MOV.F R7.w, R20.y;
  18513. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  18514. MOV.F R9.y, c[4].x;
  18515. MUL.F32 R7.w, R9.y, R7;
  18516. TRUNC.U R16.y, R16;
  18517. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18518. MOV.S R23.w, R1;
  18519. TRUNC.U R1.w, R9.y;
  18520. AND.U.CC HC.x, R1.w, R16.y;
  18521. IF NE.x;
  18522. MOV.F R1.w, R7;
  18523. ELSE;
  18524. MOV.F R1.w, {0, 0, 0, 0}.x;
  18525. ENDIF;
  18526. MOV.F R16.y, R20.z;
  18527. MOV.F R9.y, R1.x;
  18528. MUL.F32 R7.w, R9.y, R16.y;
  18529. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18530. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  18531. TRUNC.U R9.y, R9;
  18532. TRUNC.U R16.y, R16;
  18533. AND.U.CC HC.x, R9.y, R16.y;
  18534. MOV.S R19.x, R1.w;
  18535. IF NE.x;
  18536. MOV.F R1.w, R7;
  18537. ELSE;
  18538. MOV.F R1.w, {0, 0, 0, 0}.x;
  18539. ENDIF;
  18540. MOV.F R7.w, R20.y;
  18541. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  18542. MOV.F R9.y, c[4].z;
  18543. MUL.F32 R7.w, R9.y, R7;
  18544. TRUNC.U R16.y, R16;
  18545. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18546. MOV.S R23.y, R1.w;
  18547. TRUNC.U R1.w, R9.y;
  18548. AND.U.CC HC.x, R1.w, R16.y;
  18549. IF NE.x;
  18550. MOV.F R1.w, R7;
  18551. ELSE;
  18552. MOV.F R1.w, {0, 0, 0, 0}.x;
  18553. ENDIF;
  18554. MOV.F R7.w, R20.y;
  18555. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  18556. MOV.F R9.y, c[4];
  18557. MUL.F32 R7.w, R9.y, R7;
  18558. TRUNC.U R16.y, R16;
  18559. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18560. MOV.S R19.z, R1.w;
  18561. TRUNC.U R1.w, R9.y;
  18562. AND.U.CC HC.x, R1.w, R16.y;
  18563. IF NE.x;
  18564. MOV.F R1.w, R7;
  18565. ELSE;
  18566. MOV.F R1.w, {0, 0, 0, 0}.x;
  18567. ENDIF;
  18568. MOV.F R20, R12;
  18569. MOV.S R19.w, R1;
  18570. MOV.F R12.w, R23.y;
  18571. MOV.F R9.y, R22.w;
  18572. MOV.F R18.w, {1, 0, 0, 0}.x;
  18573. MOV.F R18.xyz, R7;
  18574. DP4.F32 R7.w, R20, R18;
  18575. MOV.S R12.x, R7.w;
  18576. MUL.F32 R7.w, R9.y, R12;
  18577. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18578. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  18579. TRUNC.U R9.y, R9;
  18580. TRUNC.U R12.w, R12;
  18581. AND.U.CC HC.x, R9.y, R12.w;
  18582. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  18583. IF NE.x;
  18584. ELSE;
  18585. MOV.F R7.w, {0, 0, 0, 0}.x;
  18586. ENDIF;
  18587. MOV.F R20.xyz, R7;
  18588. MOV.F R18, R13;
  18589. MOV.F R20.w, {1, 0, 0, 0}.x;
  18590. DP4.F32 R7.x, R18, R20;
  18591. MOV.F R18, R14;
  18592. DP4.F32 R9.y, R20, R18;
  18593. MOV.S R22.w, R7.x;
  18594. MOV.F R7.x, R19;
  18595. ADD.F32 R7.y, R7.w, R7.x;
  18596. MOV.F R7.x, R17.y;
  18597. ADD.F32 R7.x, R7, R7.y;
  18598. MOV.F R7.w, R23.y;
  18599. MOV.F R7.y, R15.z;
  18600. MOV.S R18.z, R7.x;
  18601. MUL.F32 R7.x, R7.y, R7.w;
  18602. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18603. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  18604. TRUNC.U R7.w, R7;
  18605. TRUNC.U R7.y, R7;
  18606. AND.U.CC HC.x, R7.y, R7.w;
  18607. MOV.S R14.z, R9.y;
  18608. IF NE.x;
  18609. ELSE;
  18610. MOV.F R7.x, {0, 0, 0, 0};
  18611. ENDIF;
  18612. MOV.F R7.w, R10.y;
  18613. MOV.F R7.y, R10.x;
  18614. ADD.F32 R7.y, R7, R7.w;
  18615. MOV.F R9.y, R23;
  18616. MOV.F R7.w, R1.y;
  18617. MOV.S R18.y, R7;
  18618. MUL.F32 R7.y, R7.w, R9;
  18619. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18620. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18621. TRUNC.U R7.w, R7;
  18622. TRUNC.U R9.y, R9;
  18623. AND.U.CC HC.x, R7.w, R9.y;
  18624. MOV.S R18.x, R7;
  18625. IF NE.x;
  18626. MOV.F R7.x, R7.y;
  18627. ELSE;
  18628. MOV.F R7.x, {0, 0, 0, 0};
  18629. ENDIF;
  18630. MOV.F R7.w, R10.z;
  18631. MOV.F R7.y, R10.x;
  18632. ADD.F32 R7.y, R7, R7.w;
  18633. MUL.F32 R12.w, R7.y, {0.5, 0, 0, 0}.x;
  18634. MOV.F R9.y, R10;
  18635. ADD.F32 R7.y, R7.w, R9;
  18636. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  18637. MOV.F R7.w, R19;
  18638. MOV.F R7.y, R18.x;
  18639. ADD.F32 R7.y, R7, R7.w;
  18640. MOV.F R7.w, R23.x;
  18641. ADD.F32 R7.y, R7.w, R7;
  18642. MOV.F R7.w, R19.y;
  18643. ADD.F32 R7.y, R7.w, R7;
  18644. MOV.S R20.z, R7.y;
  18645. MOV.F R7.y, R19.z;
  18646. ADD.F32 R7.x, R7, R7.y;
  18647. MOV.F R7.y, R23.w;
  18648. ADD.F32 R7.x, R7.y, R7;
  18649. MOV.F R7.y, R21;
  18650. ADD.F32 R7.x, R7.y, R7;
  18651. MOV.S R7.w, R9.y;
  18652. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  18653. MOV.S R20.y, R7.x;
  18654. MOV.S R19.z, R7.y;
  18655. MOV.F R7.y, R18.z;
  18656. MOV.F R7.x, R17;
  18657. ADD.F32 R7.x, R7, R7.y;
  18658. MOV.F R7.y, R11.w;
  18659. ADD.F32 R7.w, R7.y, R7.x;
  18660. MOV.F R7.y, R18;
  18661. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  18662. MOV.F R7.y, R8.x;
  18663. MOV.S R8.x, R9.y;
  18664. MOV.F R7.x, R21;
  18665. ADD.F32 R7.w, R7.x, R7;
  18666. ADD.F32 R7.x, R7.y, R7.w;
  18667. SNE.F32 R7.w, R7.y, -R7;
  18668. MOV.F R7.y, R8.x;
  18669. MOV.F R9.y, R25.x;
  18670. TRUNC.U R8.x, R7.w;
  18671. MUL.F32 R7.y, R7, {2, 0, 0, 0}.x;
  18672. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  18673. MOV.S R23.w, R7.y;
  18674. TRUNC.U R7.y, R7.w;
  18675. AND.U.CC HC.x, R7.y, R8;
  18676. MOV.S R20.w, R12;
  18677. MUL.F32 R7.x, R9.y, R7;
  18678. IF NE.x;
  18679. ELSE;
  18680. MOV.F R7.x, {0, 0, 0, 0};
  18681. ENDIF;
  18682. MOV.F R7.w, R20.y;
  18683. MOV.F R7.y, R8;
  18684. ADD.F32 R7.y, R7, R7.w;
  18685. MOV.S R18.z, R7.y;
  18686. MOV.F R7.y, R20.z;
  18687. ADD.F32 R1.z, R1, R7.y;
  18688. MOV.F R7.w, R17;
  18689. ADD.F32 R7.w, R7, R1.z;
  18690. MOV.F R7.y, R20.w;
  18691. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  18692. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  18693. MOV.S R20.x, R7.w;
  18694. MOV.F R7.y, R10.x;
  18695. MOV.S R19.y, R1.z;
  18696. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  18697. MOV.F R7.w, c[10].y;
  18698. MOV.S R21.x, R1.z;
  18699. MUL.F32 R1.z, R7.x, R7.w;
  18700. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18701. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  18702. TRUNC.U R7.w, R7;
  18703. TRUNC.U R7.x, R7;
  18704. AND.U.CC HC.x, R7, R7.w;
  18705. MOV.S R7.y, R17.z;
  18706. IF NE.x;
  18707. MOV.F R7.x, R1.z;
  18708. ELSE;
  18709. MOV.F R7.x, {0, 0, 0, 0};
  18710. ENDIF;
  18711. MOV.F R7.w, R20.x;
  18712. MOV.F R1.z, R8;
  18713. ADD.F32 R8.x, R1.z, R7.w;
  18714. MOV.F R1.z, R7.y;
  18715. MOV.F R7.w, R18.z;
  18716. ADD.F32 R1.z, R1, R7.w;
  18717. MOV.F R7.y, R0;
  18718. ADD.F32 R1.z, R7.y, R1;
  18719. MOV.S R18.y, R8.x;
  18720. MOV.S R18.x, R1.z;
  18721. MOV.F R1.z, R10.y;
  18722. ADD.F32 R1.z, R1, {-0.5, 0, 0, 0}.x;
  18723. MOV.F R7.y, R10.z;
  18724. ADD.F32 R7.y, R7, {-0.5, 0, 0, 0}.x;
  18725. MOV.S R17.z, R1;
  18726. MOV.F R8.x, c[11];
  18727. MOV.F R7.w, R23;
  18728. MOV.S R1.z, R7.y;
  18729. MUL.F32 R7.y, R7.w, R8.x;
  18730. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18731. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  18732. TRUNC.U R7.w, R7;
  18733. TRUNC.U R8.x, R8;
  18734. AND.U.CC HC.x, R7.w, R8;
  18735. MOV.S R8.y, R7.x;
  18736. IF NE.x;
  18737. MOV.F R7.x, R7.y;
  18738. ELSE;
  18739. MOV.F R7.x, {0, 0, 0, 0};
  18740. ENDIF;
  18741. MOV.F R8.x, c[11].y;
  18742. MOV.F R7.w, R19.z;
  18743. MUL.F32 R7.y, R7.w, R8.x;
  18744. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18745. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  18746. TRUNC.U R7.w, R7;
  18747. TRUNC.U R8.x, R8;
  18748. AND.U.CC HC.x, R7.w, R8;
  18749. MOV.S R18.z, R7.x;
  18750. IF NE.x;
  18751. MOV.F R7.x, R7.y;
  18752. ELSE;
  18753. MOV.F R7.x, {0, 0, 0, 0};
  18754. ENDIF;
  18755. MOV.F R8.x, c[11].z;
  18756. MOV.F R7.w, R19.y;
  18757. MUL.F32 R7.y, R7.w, R8.x;
  18758. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18759. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  18760. TRUNC.U R7.w, R7;
  18761. TRUNC.U R8.x, R8;
  18762. AND.U.CC HC.x, R7.w, R8;
  18763. MOV.S R18.w, R7.x;
  18764. IF NE.x;
  18765. MOV.F R7.x, R7.y;
  18766. ELSE;
  18767. MOV.F R7.x, {0, 0, 0, 0};
  18768. ENDIF;
  18769. MOV.F R7.w, c[12].x;
  18770. MOV.F R7.y, R18.z;
  18771. ADD.F32 R7.y, R7, R7.w;
  18772. MOV.F R8.z, R18.x;
  18773. MOV.F R7.w, R25.z;
  18774. MOV.S R8.x, R7.y;
  18775. MUL.F32 R7.y, R7.w, R8.z;
  18776. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18777. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18778. TRUNC.U R8.z, R8;
  18779. TRUNC.U R7.w, R7;
  18780. AND.U.CC HC.x, R7.w, R8.z;
  18781. MOV.S R9.y, R7.x;
  18782. IF NE.x;
  18783. MOV.F R7.x, R7.y;
  18784. ELSE;
  18785. MOV.F R7.x, {0, 0, 0, 0};
  18786. ENDIF;
  18787. MOV.F R8.z, R18.y;
  18788. MOV.F R7.w, R25.y;
  18789. MUL.F32 R7.y, R7.w, R8.z;
  18790. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18791. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18792. TRUNC.U R8.z, R8;
  18793. TRUNC.U R7.w, R7;
  18794. AND.U.CC HC.x, R7.w, R8.z;
  18795. MOV.S R20.y, R7.x;
  18796. IF NE.x;
  18797. MOV.F R7.x, R7.y;
  18798. ELSE;
  18799. MOV.F R7.x, {0, 0, 0, 0};
  18800. ENDIF;
  18801. MOV.F R7.w, R18;
  18802. MOV.F R7.y, c[12];
  18803. ADD.F32 R7.y, R7, R7.w;
  18804. MOV.F R7.w, R10.y;
  18805. MOV.S R14.w, R7.y;
  18806. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  18807. MOV.S R18.x, R7.y;
  18808. MOV.F R7.y, R20;
  18809. SNE.F32 R7.w, R7.y, {0, 0, 0, 0}.x;
  18810. MOV.F R11.w, c[10];
  18811. TRUNC.U R12.w, R7;
  18812. MOV.F R8.z, R9.y;
  18813. MOV.F R7.w, c[12].z;
  18814. ADD.F32 R7.w, R7, R8.z;
  18815. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  18816. MOV.S R14.x, R7.w;
  18817. TRUNC.U R7.w, R8.z;
  18818. AND.U.CC HC.x, R12.w, R7.w;
  18819. MUL.F32 R7.y, R7, R11.w;
  18820. MOV.S R20.z, R7.x;
  18821. IF NE.x;
  18822. MOV.F R7.x, R7.y;
  18823. ELSE;
  18824. MOV.F R7.x, {0, 0, 0, 0};
  18825. ENDIF;
  18826. MOV.F R8.z, c[10];
  18827. MOV.F R7.w, R20.z;
  18828. MUL.F32 R7.y, R7.w, R8.z;
  18829. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  18830. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18831. TRUNC.U R7.w, R7;
  18832. TRUNC.U R8.z, R8;
  18833. AND.U.CC HC.x, R7.w, R8.z;
  18834. MOV.S R18.z, R7.x;
  18835. IF NE.x;
  18836. MOV.F R7.x, R7.y;
  18837. ELSE;
  18838. MOV.F R7.x, {0, 0, 0, 0};
  18839. ENDIF;
  18840. MOV.F R7.w, R10.x;
  18841. MUL.F32 R7.w, R7, {2, 0, 0, 0}.x;
  18842. MOV.S R20.z, R7.w;
  18843. MOV.F R8.z, R10;
  18844. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  18845. MOV.F R7.w, R18.x;
  18846. FLR.F R7.w, R7;
  18847. MOV.F R9.y, R4.z;
  18848. MOV.F R11.w, R18.z;
  18849. MOV.S R20.x, R7.w;
  18850. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  18851. MUL.F32 R7.y, R9, R11.w;
  18852. MOV.S R20.y, R8.z;
  18853. TRUNC.U R8.z, R7.w;
  18854. SNE.F32 R9.y, R11.w, {0, 0, 0, 0}.x;
  18855. TRUNC.U R9.y, R9;
  18856. AND.U.CC HC.x, R8.z, R9.y;
  18857. MOV.S R7.w, R7.x;
  18858. IF NE.x;
  18859. MOV.F R7.x, R7.y;
  18860. ELSE;
  18861. MOV.F R7.x, {0, 0, 0, 0};
  18862. ENDIF;
  18863. MOV.F R9.y, c[13].x;
  18864. MOV.F R8.z, R21.x;
  18865. MUL.F32 R7.y, R8.z, R9;
  18866. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  18867. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18868. TRUNC.U R8.z, R8;
  18869. TRUNC.U R9.y, R9;
  18870. AND.U.CC HC.x, R8.z, R9.y;
  18871. MOV.S R12.w, R7.x;
  18872. IF NE.x;
  18873. MOV.F R7.x, R7.y;
  18874. ELSE;
  18875. MOV.F R7.x, {0, 0, 0, 0};
  18876. ENDIF;
  18877. MOV.F R7.y, R20;
  18878. FLR.F R7.y, R7;
  18879. MOV.F R8.z, R20.x;
  18880. MOV.S R18.x, R7.y;
  18881. SGT.F32 R7.y, {0, 0, 0, 0}.x, R8.z;
  18882. TRUNC.U.CC HC.x, R7.y;
  18883. MOV.S R8.z, R7.x;
  18884. IF NE.x;
  18885. MOV.F R7.x, {1, 0, 0, 0};
  18886. ELSE;
  18887. MOV.F R7.x, {0, 0, 0, 0};
  18888. ENDIF;
  18889. MOV.F R7.y, R20.x;
  18890. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  18891. TRUNC.U.CC HC.x, R7.y;
  18892. MOV.S R18.y, R7.x;
  18893. IF NE.x;
  18894. MOV.F R7.x, {1, 0, 0, 0};
  18895. ELSE;
  18896. MOV.F R7.x, {0, 0, 0, 0};
  18897. ENDIF;
  18898. MOV.F R7.y, R20.z;
  18899. FLR.F R7.y, R7;
  18900. MOV.S R18.w, R7.y;
  18901. MOV.F R7.y, R17.z;
  18902. SNE.F32 R11.w, R7.y, {0, 0, 0, 0}.x;
  18903. MOV.F R9.y, c[13];
  18904. MUL.F32 R7.y, R7, R9;
  18905. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18906. TRUNC.U R11.w, R11;
  18907. TRUNC.U R9.y, R9;
  18908. AND.U.CC HC.x, R11.w, R9.y;
  18909. MOV.S R18.z, R7.x;
  18910. IF NE.x;
  18911. MOV.F R7.x, R7.y;
  18912. ELSE;
  18913. MOV.F R7.x, {0, 0, 0, 0};
  18914. ENDIF;
  18915. MOV.F R9.y, R18;
  18916. MOV.F R7.y, R18.z;
  18917. ADD.F32 R7.y, R7, -R9;
  18918. MOV.S R25.x, R7.y;
  18919. MOV.F R7.y, R18.x;
  18920. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  18921. TRUNC.U.CC HC.x, R7.y;
  18922. MOV.S R7.x, R7;
  18923. IF NE.x;
  18924. MOV.F R7.y, {1, 0, 0, 0}.x;
  18925. ELSE;
  18926. MOV.F R7.y, {0, 0, 0, 0}.x;
  18927. ENDIF;
  18928. MOV.F R9.y, R18.x;
  18929. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  18930. TRUNC.U.CC HC.x, R9.y;
  18931. MOV.S R20.y, R7;
  18932. IF NE.x;
  18933. MOV.F R7.y, {1, 0, 0, 0}.x;
  18934. ELSE;
  18935. MOV.F R7.y, {0, 0, 0, 0}.x;
  18936. ENDIF;
  18937. MOV.F R9.y, R18.w;
  18938. SGT.F32 R9.y, R9, {0, 0, 0, 0}.x;
  18939. TRUNC.U.CC HC.x, R9.y;
  18940. MOV.S R20.z, R7.y;
  18941. IF NE.x;
  18942. MOV.F R7.y, {1, 0, 0, 0}.x;
  18943. ELSE;
  18944. MOV.F R7.y, {0, 0, 0, 0}.x;
  18945. ENDIF;
  18946. MOV.F R9.y, R18.w;
  18947. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  18948. TRUNC.U.CC HC.x, R9.y;
  18949. MOV.S R20.w, R7.y;
  18950. IF NE.x;
  18951. MOV.F R7.y, {1, 0, 0, 0}.x;
  18952. ELSE;
  18953. MOV.F R7.y, {0, 0, 0, 0}.x;
  18954. ENDIF;
  18955. MOV.F R9.y, R20.w;
  18956. ADD.F32 R7.y, R9, -R7;
  18957. MOV.F R13.w, R20.z;
  18958. MOV.F R11.w, R20.y;
  18959. ADD.F32 R11.w, R11, -R13;
  18960. MOV.S R11.w, R11;
  18961. MOV.S R25.z, R7.y;
  18962. MOV.S R13.w, c[0];
  18963. ENDIF;
  18964. SEQ.U R7.y, R26.z, {1, 0, 0, 0}.x;
  18965. MOV.U.CC RC.x, -R7.y;
  18966. IF NE.x;
  18967. AND.S R1.x, c[14], {65536, 0, 0, 0};
  18968. I2F.S R1.x, R1;
  18969. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1.x;
  18970. TRUNC.U.CC HC.x, R1.y;
  18971. AND.S R19.y, c[14].x, {262144, 0, 0, 0}.x;
  18972. AND.S R17.z, c[14].x, {131072, 0, 0, 0}.x;
  18973. MOV.S R9.y, R1.x;
  18974. IF NE.x;
  18975. MOV.F R1.x, {1, 0, 0, 0};
  18976. ELSE;
  18977. MOV.F R1.x, {0, 0, 0, 0};
  18978. ENDIF;
  18979. MOV.F R1.y, R9;
  18980. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  18981. TRUNC.U.CC HC.x, R1.y;
  18982. MOV.S R20.x, R1;
  18983. IF NE.x;
  18984. MOV.F R1.x, {1, 0, 0, 0};
  18985. ELSE;
  18986. MOV.F R1.x, {0, 0, 0, 0};
  18987. ENDIF;
  18988. MOV.F R1.y, R1.z;
  18989. SNE.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  18990. MOV.F R1.z, c[13];
  18991. MUL.F32 R1.y, R1, R1.z;
  18992. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  18993. TRUNC.U R4.z, R4;
  18994. TRUNC.U R1.z, R1;
  18995. AND.U.CC HC.x, R4.z, R1.z;
  18996. MOV.S R20.y, R1.x;
  18997. IF NE.x;
  18998. MOV.F R1.x, R1.y;
  18999. ELSE;
  19000. MOV.F R1.x, {0, 0, 0, 0};
  19001. ENDIF;
  19002. I2F.S R1.y, R17.z;
  19003. MOV.S R18.z, R1.y;
  19004. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19005. TRUNC.U.CC HC.x, R1.y;
  19006. MOV.S R19.z, R1.x;
  19007. IF NE.x;
  19008. MOV.F R1.x, {1, 0, 0, 0};
  19009. ELSE;
  19010. MOV.F R1.x, {0, 0, 0, 0};
  19011. ENDIF;
  19012. MOV.F R1.y, R18.z;
  19013. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  19014. TRUNC.U.CC HC.x, R1.y;
  19015. MOV.S R18.x, R1;
  19016. IF NE.x;
  19017. MOV.F R1.x, {1, 0, 0, 0};
  19018. ELSE;
  19019. MOV.F R1.x, {0, 0, 0, 0};
  19020. ENDIF;
  19021. MOV.F R1.z, R20.x;
  19022. MOV.F R1.y, R20;
  19023. ADD.F32 R1.y, R1, -R1.z;
  19024. MOV.S R18.w, R1.y;
  19025. I2F.S R1.y, R19;
  19026. MOV.S R9.y, R1;
  19027. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  19028. TRUNC.U.CC HC.x, R1.y;
  19029. MOV.S R18.y, R1.x;
  19030. IF NE.x;
  19031. MOV.F R1.x, {1, 0, 0, 0};
  19032. ELSE;
  19033. MOV.F R1.x, {0, 0, 0, 0};
  19034. ENDIF;
  19035. MOV.F R1.z, R18.y;
  19036. MOV.F R1.y, R18.x;
  19037. ADD.F32 R1.y, R1, -R1.z;
  19038. MOV.S R20.z, R1.y;
  19039. MOV.F R1.y, R9;
  19040. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19041. TRUNC.U.CC HC.x, R1.y;
  19042. MOV.S R20.x, R1;
  19043. IF NE.x;
  19044. MOV.F R1.x, {1, 0, 0, 0};
  19045. ELSE;
  19046. MOV.F R1.x, {0, 0, 0, 0};
  19047. ENDIF;
  19048. MOV.F R4.z, R20.x;
  19049. ADD.F32 R1.x, R1, -R4.z;
  19050. MOV.F R1.z, R18.w;
  19051. TRUNC.S R1.z, R1;
  19052. MOV.F R1.y, R20.z;
  19053. TRUNC.S R1.y, R1;
  19054. ADD.S R7.y, -R1.z, {0, 0, 0, 0}.x;
  19055. MOV.S R18.y, R1.x;
  19056. MOV.F R1.x, c[12].w;
  19057. SEQ.F R1.x, R1, {1, 0, 0, 0};
  19058. TRUNC.U.CC HC.x, R1;
  19059. MAX.S R20.x, R1.z, R7.y;
  19060. ADD.S R20.y, -R1, {0, 0, 0, 0}.x;
  19061. MOV.S R19.y, R1;
  19062. IF NE.x;
  19063. MOV.S R1.x, {-1, 0, 0, 0};
  19064. ELSE;
  19065. MOV.S R1.x, {0, 0, 0, 0};
  19066. ENDIF;
  19067. MOV.F R1.y, R18;
  19068. TRUNC.S R21.x, R1.y;
  19069. I2F.S R1.y, R20.x;
  19070. MUL.F32 R1.z, R1.y, {2, 0, 0, 0}.x;
  19071. MOV.F R4.z, R25.x;
  19072. MUL.F32 R1.y, -R1.z, R4.z;
  19073. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19074. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  19075. TRUNC.U R4.z, R4;
  19076. TRUNC.U R1.z, R1;
  19077. AND.U.CC HC.x, R1.z, R4.z;
  19078. MAX.S R18.w, R19.y, R20.y;
  19079. ADD.S R18.x, -R21, {0, 0, 0, 0};
  19080. IF NE.x;
  19081. ELSE;
  19082. MOV.F R1.y, {0, 0, 0, 0}.x;
  19083. ENDIF;
  19084. MOV.F R4.z, R11.w;
  19085. SNE.F32 R9.y, R4.z, {0, 0, 0, 0}.x;
  19086. I2F.S R1.z, R18.w;
  19087. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  19088. SNE.F32 R7.y, -R1.z, {0, 0, 0, 0}.x;
  19089. MUL.F32 R1.z, -R1, R4;
  19090. MOV.F R4.z, c[12].w;
  19091. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  19092. TRUNC.U R7.y, R7;
  19093. TRUNC.U R9.y, R9;
  19094. AND.U.CC HC.x, R7.y, R9.y;
  19095. MAX.S R20.z, R21.x, R18.x;
  19096. MOV.S R20.y, R1;
  19097. MOV.S R23.w, R4.z;
  19098. IF NE.x;
  19099. MOV.F R1.y, R1.z;
  19100. ELSE;
  19101. MOV.F R1.y, {0, 0, 0, 0}.x;
  19102. ENDIF;
  19103. MOV.F R7.y, R20;
  19104. MOV.F R4.z, R8.x;
  19105. MUL.F32 R1.z, R4, R7.y;
  19106. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19107. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19108. TRUNC.U R4.z, R4;
  19109. TRUNC.U R7.y, R7;
  19110. AND.U.CC HC.x, R4.z, R7.y;
  19111. MOV.S R18.x, R1.y;
  19112. IF NE.x;
  19113. MOV.F R1.y, R1.z;
  19114. ELSE;
  19115. MOV.F R1.y, {0, 0, 0, 0}.x;
  19116. ENDIF;
  19117. MOV.F R7.y, R20;
  19118. MOV.F R4.z, R11.x;
  19119. MUL.F32 R1.z, R4, R7.y;
  19120. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19121. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19122. TRUNC.U R4.z, R4;
  19123. TRUNC.U R7.y, R7;
  19124. AND.U.CC HC.x, R4.z, R7.y;
  19125. MOV.S R18.y, R1;
  19126. IF NE.x;
  19127. MOV.F R1.y, R1.z;
  19128. ELSE;
  19129. MOV.F R1.y, {0, 0, 0, 0}.x;
  19130. ENDIF;
  19131. I2F.S R1.z, R20;
  19132. MUL.F32 R4.z, R1, {2, 0, 0, 0}.x;
  19133. MOV.F R7.y, R25.z;
  19134. MUL.F32 R1.z, -R4, R7.y;
  19135. SNE.F32 R4.z, -R4, {0, 0, 0, 0}.x;
  19136. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19137. TRUNC.U R4.z, R4;
  19138. TRUNC.U R7.y, R7;
  19139. AND.U.CC HC.x, R4.z, R7.y;
  19140. MOV.S R18.z, R1.y;
  19141. IF NE.x;
  19142. MOV.F R1.y, R1.z;
  19143. ELSE;
  19144. MOV.F R1.y, {0, 0, 0, 0}.x;
  19145. ENDIF;
  19146. MOV.F R4.z, R18;
  19147. MOV.F R1.z, R11.x;
  19148. ADD.F32 R1.z, R1, R4;
  19149. MOV.F R7.y, R18.x;
  19150. MOV.F R4.z, R14.w;
  19151. MOV.S R20.y, R1.z;
  19152. MUL.F32 R1.z, R4, R7.y;
  19153. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19154. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19155. TRUNC.U R4.z, R4;
  19156. TRUNC.U R7.y, R7;
  19157. AND.U.CC HC.x, R4.z, R7.y;
  19158. MOV.S R20.x, R1.y;
  19159. IF NE.x;
  19160. MOV.F R1.y, R1.z;
  19161. ELSE;
  19162. MOV.F R1.y, {0, 0, 0, 0}.x;
  19163. ENDIF;
  19164. MOV.F R4.z, R18.y;
  19165. MOV.F R1.z, R8.x;
  19166. ADD.F32 R1.z, R1, R4;
  19167. MOV.F R7.y, R18.x;
  19168. MOV.F R4.z, R11.y;
  19169. MOV.S R17.w, R1.z;
  19170. MUL.F32 R1.z, R4, R7.y;
  19171. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19172. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19173. TRUNC.U R4.z, R4;
  19174. TRUNC.U R7.y, R7;
  19175. AND.U.CC HC.x, R4.z, R7.y;
  19176. MOV.S R20.z, R1.y;
  19177. IF NE.x;
  19178. MOV.F R1.y, R1.z;
  19179. ELSE;
  19180. MOV.F R1.y, {0, 0, 0, 0}.x;
  19181. ENDIF;
  19182. MOV.F R4.z, R20;
  19183. MOV.F R1.z, R14.w;
  19184. ADD.F32 R1.z, R1, R4;
  19185. MOV.S R21.z, R1;
  19186. MOV.F R1.z, R20.y;
  19187. MOV.F R4.z, R8;
  19188. ADD.F32 R4.z, R1, R4;
  19189. MOV.F R1.z, R11.y;
  19190. ADD.F32 R1.z, R1, R1.y;
  19191. MOV.S R21.y, R4.z;
  19192. MOV.F R4.z, R14.x;
  19193. MOV.F R7.y, R20.x;
  19194. MUL.F32 R1.y, R4.z, R7;
  19195. MOV.S R18.x, R1.z;
  19196. SNE.F32 R1.z, R4, {0, 0, 0, 0}.x;
  19197. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19198. TRUNC.U R4.z, R7.y;
  19199. TRUNC.U R1.z, R1;
  19200. AND.U.CC HC.x, R1.z, R4.z;
  19201. IF NE.x;
  19202. ELSE;
  19203. MOV.F R1.y, {0, 0, 0, 0}.x;
  19204. ENDIF;
  19205. MOV.F R7.y, R20.x;
  19206. MOV.F R4.z, R11;
  19207. MUL.F32 R1.z, R4, R7.y;
  19208. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  19209. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19210. TRUNC.U R4.z, R4;
  19211. TRUNC.U R7.y, R7;
  19212. AND.U.CC HC.x, R4.z, R7.y;
  19213. MOV.S R18.w, R1.y;
  19214. IF NE.x;
  19215. MOV.F R1.y, R1.z;
  19216. ELSE;
  19217. MOV.F R1.y, {0, 0, 0, 0}.x;
  19218. ENDIF;
  19219. MOV.F R4.z, R7.x;
  19220. MOV.F R1.z, R18.x;
  19221. ADD.F32 R1.z, R1, R4;
  19222. MOV.S R21.x, R1.z;
  19223. MOV.F R1.z, c[12].w;
  19224. MAX.F R1.z, R1, {0, 0, 0, 0}.x;
  19225. LG2.F32 R1.z, R1.z;
  19226. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  19227. MOV.F R7.y, R18.w;
  19228. MOV.F R4.z, R14.x;
  19229. ADD.F32 R4.z, R4, R7.y;
  19230. MOV.S R19.y, R4.z;
  19231. MOV.F R4.z, R11;
  19232. ADD.F32 R1.y, R4.z, R1;
  19233. MUL.F32 R7.y, R1.z, {2, 0, 0, 0}.x;
  19234. SEQ.F R7.y, R1.z, R7;
  19235. TRUNC.U R9.y, R9;
  19236. TRUNC.U R7.y, R7;
  19237. AND.U R7.y, R7, R9;
  19238. SEQ.U R4.z, R7.y, {1, 0, 0, 0}.x;
  19239. MOV.U.CC RC.x, -R4.z;
  19240. MOV.S R20.w, R1.y;
  19241. IF NE.x;
  19242. MOV.F R1.z, {-3.40282347e+38, 0, 0, 0}.x;
  19243. ENDIF;
  19244. MOV.F R4.z, R19;
  19245. MOV.F R1.y, R20.w;
  19246. ADD.F32 R1.y, R1, R4.z;
  19247. MOV.F R4.z, c[15].x;
  19248. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  19249. MOV.S R18.z, R4;
  19250. MOV.F R7.y, R9.w;
  19251. MOV.S R23.y, R1;
  19252. MUL.F32 R1.y, R7, R1.z;
  19253. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  19254. MOV.F R4.z, c[15].y;
  19255. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  19256. MUL.F32 R1.z, R4, {0.5, 0, 0, 0}.x;
  19257. TRUNC.U R7.y, R7;
  19258. TRUNC.U R4.z, R9.y;
  19259. AND.U.CC HC.x, R7.y, R4.z;
  19260. MOV.S R18.x, R1.z;
  19261. IF NE.x;
  19262. ELSE;
  19263. MOV.F R1.y, {0, 0, 0, 0}.x;
  19264. ENDIF;
  19265. MOV.F R1.z, R4.x;
  19266. MOV.F R4.z, R18;
  19267. ADD.F32 R1.z, R1, R4;
  19268. MOV.F R4.x, R23.w;
  19269. RCP.F32 R4.x, R4.x;
  19270. MOV.S R19.z, R4.x;
  19271. EX2.F32 R1.y, R1.y;
  19272. SNE.F32 R4.x, R7.w, {0, 0, 0, 0};
  19273. MOV.F R4.z, R18.x;
  19274. MOV.S R20.x, R1.z;
  19275. ADD.F32 R1.z, R4.y, R4;
  19276. SNE.F32 R4.y, R4, -R4.z;
  19277. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  19278. TRUNC.U R4.y, R4;
  19279. TRUNC.U R4.x, R4;
  19280. AND.U.CC HC.x, R4, R4.y;
  19281. MUL.F32 R1.z, R7.w, R1;
  19282. MOV.S R7.y, R8;
  19283. MOV.S R18.x, R1.y;
  19284. IF NE.x;
  19285. MOV.F R1.y, R1.z;
  19286. ELSE;
  19287. MOV.F R1.y, {0, 0, 0, 0}.x;
  19288. ENDIF;
  19289. MOV.F R1.z, R20.x;
  19290. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  19291. MOV.F R4.x, R7.y;
  19292. MUL.F32 R1.z, R4.x, R1;
  19293. TRUNC.U R4.y, R4;
  19294. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19295. MOV.S R8.y, R1;
  19296. TRUNC.U R1.y, R4.x;
  19297. AND.U.CC HC.x, R1.y, R4.y;
  19298. IF NE.x;
  19299. MOV.F R1.y, R1.z;
  19300. ELSE;
  19301. MOV.F R1.y, {0, 0, 0, 0}.x;
  19302. ENDIF;
  19303. SEQ.S R1.x, R1, {0, 0, 0, 0};
  19304. MOV.U.CC RC.x, -R1;
  19305. MOV.F R4.x, R19.z;
  19306. MOV.F R1.z, R18.x;
  19307. MUL.F32 R1.z, R1, R4.x;
  19308. MOV.S R20.y, R1.z;
  19309. MOV.S R4.z, R1.y;
  19310. IF NE.x;
  19311. MOV.S R1.x, R20.y;
  19312. ELSE;
  19313. MOV.S R1.x, R9.w;
  19314. ENDIF;
  19315. MOV.F R4.x, R1;
  19316. MOV.F R1.z, R19.y;
  19317. MUL.F32 R1.y, R1.z, R4.x;
  19318. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19319. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19320. TRUNC.U R4.x, R4;
  19321. TRUNC.U R1.z, R1;
  19322. AND.U.CC HC.x, R1.z, R4;
  19323. IF NE.x;
  19324. ELSE;
  19325. MOV.F R1.y, {0, 0, 0, 0}.x;
  19326. ENDIF;
  19327. MOV.F R4.y, R1.x;
  19328. MOV.F R4.x, R21.z;
  19329. MUL.F32 R1.z, R4.x, R4.y;
  19330. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19331. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  19332. TRUNC.U R4.x, R4;
  19333. TRUNC.U R4.y, R4;
  19334. AND.U.CC HC.x, R4, R4.y;
  19335. MOV.S R20.y, R1;
  19336. IF NE.x;
  19337. MOV.F R1.y, R1.z;
  19338. ELSE;
  19339. MOV.F R1.y, {0, 0, 0, 0}.x;
  19340. ENDIF;
  19341. MOV.F R4.x, R1;
  19342. MOV.F R1.z, R17.w;
  19343. MUL.F32 R1.x, R1.z, R4;
  19344. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19345. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19346. TRUNC.U R1.z, R1;
  19347. TRUNC.U R4.x, R4;
  19348. AND.U.CC HC.x, R1.z, R4;
  19349. MOV.S R20.z, R1.y;
  19350. IF NE.x;
  19351. ELSE;
  19352. MOV.F R1.x, {0, 0, 0, 0};
  19353. ENDIF;
  19354. MOV.F R4.y, R21;
  19355. ADD.F32 R1.x, R4.y, R1;
  19356. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  19357. MOV.F R1.z, R20;
  19358. MOV.F R1.y, R21.x;
  19359. ADD.F32 R1.y, R1, R1.z;
  19360. MAD.F32 R4.x, R1.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  19361. MOV.F R1.z, R20.y;
  19362. MOV.F R1.y, R23;
  19363. ADD.F32 R1.y, R1, R1.z;
  19364. FRC.F32 R1.z, R4.x;
  19365. MAD.F32 R1.z, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  19366. MUL.F32 R4.x, R1.z, {0.159154937, 0, 0, 0};
  19367. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  19368. FRC.F32 R1.y, R1;
  19369. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  19370. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  19371. MOV.S R21.y, R1;
  19372. SIN.F32 R1.y, R1.z;
  19373. MOV.S R1.y, R1;
  19374. MOV.S R1.z, R1.y;
  19375. MOV.S R21.x, R4;
  19376. MOV.F R4.x, R1.z;
  19377. FRC.F32 R1.x, R1;
  19378. MOV.S R17.w, R1.y;
  19379. MAD.F32 R1.y, R1.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  19380. COS.F32 R1.z, R1.y;
  19381. SIN.F32 R1.y, R1.y;
  19382. MUL.F32 R1.x, R1.z, R4;
  19383. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19384. MOV.S R19.y, R1;
  19385. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  19386. TRUNC.U R4.x, R4;
  19387. TRUNC.U R1.y, R1;
  19388. AND.U.CC HC.x, R1.y, R4;
  19389. MOV.S R23.x, R1.z;
  19390. IF NE.x;
  19391. ELSE;
  19392. MOV.F R1.x, {0, 0, 0, 0};
  19393. ENDIF;
  19394. MOV.F R4.x, R17.w;
  19395. MOV.F R1.z, R19.y;
  19396. MUL.F32 R1.y, R1.z, R4.x;
  19397. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19398. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19399. TRUNC.U R1.z, R1;
  19400. TRUNC.U R4.x, R4;
  19401. AND.U.CC HC.x, R1.z, R4;
  19402. MOV.S R17.z, R1.x;
  19403. IF NE.x;
  19404. MOV.F R1.x, R1.y;
  19405. ELSE;
  19406. MOV.F R1.x, {0, 0, 0, 0};
  19407. ENDIF;
  19408. MOV.F R1.y, R21.x;
  19409. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  19410. COS.F32 R1.z, R1.y;
  19411. MOV.F R4.x, R23;
  19412. MUL.F32 R1.y, R1.z, R4.x;
  19413. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19414. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  19415. MOV.S R21.z, R1;
  19416. TRUNC.U R1.z, R4.x;
  19417. TRUNC.U R4.x, R4.y;
  19418. AND.U.CC HC.x, R1.z, R4;
  19419. MOV.S R23.w, R1.x;
  19420. IF NE.x;
  19421. MOV.F R1.x, R1.y;
  19422. ELSE;
  19423. MOV.F R1.x, {0, 0, 0, 0};
  19424. ENDIF;
  19425. MOV.F R4.x, R21.z;
  19426. MOV.F R1.z, R19.y;
  19427. MUL.F32 R1.y, R1.z, R4.x;
  19428. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19429. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19430. TRUNC.U R1.z, R1;
  19431. TRUNC.U R4.x, R4;
  19432. AND.U.CC HC.x, R1.z, R4;
  19433. MOV.S R17.x, R1;
  19434. IF NE.x;
  19435. MOV.F R1.x, R1.y;
  19436. ELSE;
  19437. MOV.F R1.x, {0, 0, 0, 0};
  19438. ENDIF;
  19439. MOV.F R1.y, R21;
  19440. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  19441. SIN.F32 R1.z, R1.y;
  19442. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  19443. MOV.S R17.y, R1.z;
  19444. MUL.F32 R1.y, R1.x, R1.z;
  19445. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19446. TRUNC.U R1.z, R1;
  19447. TRUNC.U R4.x, R4;
  19448. AND.U.CC HC.x, R1.z, R4;
  19449. MOV.S R7.y, R21;
  19450. MOV.S R23.y, R1.x;
  19451. IF NE.x;
  19452. MOV.F R1.x, R1.y;
  19453. ELSE;
  19454. MOV.F R1.x, {0, 0, 0, 0};
  19455. ENDIF;
  19456. MOV.F R1.z, R17.y;
  19457. MOV.F R4.x, -R1.z;
  19458. MOV.F R4.y, R17.x;
  19459. MUL.F32 R1.y, R1.z, R4;
  19460. MOV.S R21.y, R4.x;
  19461. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19462. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  19463. TRUNC.U R1.z, R1;
  19464. TRUNC.U R4.x, R4;
  19465. AND.U.CC HC.x, R1.z, R4;
  19466. MOV.S R18.x, R1;
  19467. IF NE.x;
  19468. MOV.F R1.x, R1.y;
  19469. ELSE;
  19470. MOV.F R1.x, {0, 0, 0, 0};
  19471. ENDIF;
  19472. MOV.F R4.x, R17.z;
  19473. MOV.F R1.z, R17.y;
  19474. MUL.F32 R1.y, R1.z, R4.x;
  19475. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19476. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19477. TRUNC.U R1.z, R1;
  19478. TRUNC.U R4.x, R4;
  19479. AND.U.CC HC.x, R1.z, R4;
  19480. MOV.S R18.z, R1.x;
  19481. IF NE.x;
  19482. MOV.F R1.x, R1.y;
  19483. ELSE;
  19484. MOV.F R1.x, {0, 0, 0, 0};
  19485. ENDIF;
  19486. MOV.F R1.y, R7;
  19487. MOV.F R1.z, R17;
  19488. MOV.F R4.x, R18;
  19489. ADD.F32 R4.y, -R1.z, R4.x;
  19490. MOV.F R4.x, R18.z;
  19491. MOV.F R1.z, R23.w;
  19492. ADD.F32 R1.z, R1, R4.x;
  19493. MOV.S R7.y, R23.x;
  19494. MOV.S R23.x, R1.z;
  19495. MOV.F R1.z, R23.y;
  19496. ADD.F32 R1.x, -R1.z, R1;
  19497. MOV.S R20.y, R1.x;
  19498. MUL.F32 R1.x, R1.y, {6.28318548, 0, 0, 0};
  19499. COS.F32 R1.y, R1.x;
  19500. MOV.F R1.z, R21;
  19501. MUL.F32 R1.x, R1.y, R1.z;
  19502. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19503. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  19504. TRUNC.U R1.z, R1;
  19505. TRUNC.U R4.x, R4;
  19506. AND.U.CC HC.x, R1.z, R4;
  19507. MOV.S R11.z, R4.y;
  19508. MOV.S R21.x, R1.y;
  19509. IF NE.x;
  19510. ELSE;
  19511. MOV.F R1.x, {0, 0, 0, 0};
  19512. ENDIF;
  19513. MOV.F R1.y, R21.x;
  19514. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  19515. MOV.F R1.z, R7.y;
  19516. MUL.F32 R1.y, R1.z, R1;
  19517. TRUNC.U R4.x, R4;
  19518. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19519. MOV.S R19.w, R1.x;
  19520. TRUNC.U R1.x, R1.z;
  19521. AND.U.CC HC.x, R1, R4;
  19522. IF NE.x;
  19523. MOV.F R1.x, R1.y;
  19524. ELSE;
  19525. MOV.F R1.x, {0, 0, 0, 0};
  19526. ENDIF;
  19527. MOV.F R4.x, R21;
  19528. MOV.F R1.z, R19.y;
  19529. MUL.F32 R1.y, R1.z, R4.x;
  19530. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19531. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19532. TRUNC.U R1.z, R1;
  19533. TRUNC.U R4.x, R4;
  19534. AND.U.CC HC.x, R1.z, R4;
  19535. MOV.S R7.y, R21.x;
  19536. MOV.S R23.y, R1.x;
  19537. IF NE.x;
  19538. MOV.F R1.x, R1.y;
  19539. ELSE;
  19540. MOV.F R1.x, {0, 0, 0, 0};
  19541. ENDIF;
  19542. MOV.F R4.x, R23.w;
  19543. MOV.F R1.z, R17.y;
  19544. MUL.F32 R1.y, R1.z, R4.x;
  19545. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19546. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19547. TRUNC.U R1.z, R1;
  19548. TRUNC.U R4.x, R4;
  19549. AND.U.CC HC.x, R1.z, R4;
  19550. MOV.S R21.x, R1;
  19551. IF NE.x;
  19552. MOV.F R1.x, R1.y;
  19553. ELSE;
  19554. MOV.F R1.x, {0, 0, 0, 0};
  19555. ENDIF;
  19556. MOV.F R4.x, R12.w;
  19557. MOV.F R1.z, R20.y;
  19558. MUL.F32 R1.y, R1.z, R4.x;
  19559. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19560. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19561. TRUNC.U R1.z, R1;
  19562. TRUNC.U R4.x, R4;
  19563. AND.U.CC HC.x, R1.z, R4;
  19564. MOV.S R18.y, R1.x;
  19565. IF NE.x;
  19566. MOV.F R1.x, R1.y;
  19567. ELSE;
  19568. MOV.F R1.x, {0, 0, 0, 0};
  19569. ENDIF;
  19570. MOV.F R4.x, R7.y;
  19571. MOV.F R1.z, R17.w;
  19572. MUL.F32 R1.y, R1.z, R4.x;
  19573. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  19574. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  19575. TRUNC.U R1.z, R1;
  19576. TRUNC.U R4.x, R4;
  19577. AND.U.CC HC.x, R1.z, R4;
  19578. MOV.S R18.z, R1.x;
  19579. IF NE.x;
  19580. MOV.F R1.x, R1.y;
  19581. ELSE;
  19582. MOV.F R1.x, {0, 0, 0, 0};
  19583. ENDIF;
  19584. MOV.F R4.x, R23.y;
  19585. MOV.F R1.z,
  19586. [15:03:17] Shader cache loaded. Commited mem 6090MB. Took 24500ms
  19587. [15:03:17] Recompiler initialized. CPU extensions: LZCNT MOVBE AVX
  19588. [15:03:17] Custom timer mode: RDTSC
  19589. [15:03:17] Applying patch group BotwPlsNoCrashV208 from pack '' v3 to module u-king (checksum 0x6267BFD0)
  19590. [15:03:17] Applying patch group BotwAspectsV208 from pack 'Resolution' v3 to module u-king (checksum 0x6267BFD0)
  19591. [15:03:17] Applying patch group BotwFPSV208 from pack 'Dynamic Gamespeed' v3 to module u-king (checksum 0x6267BFD0)
  19592. [15:03:17] Applying patch group BotwFenceV208 from pack 'Fence Method' v3 to module u-king (checksum 0x6267BFD0)
  19593. [15:03:17] Applying patch group BotwFPSV208 from pack 'CPU Occlusion Query' v3 to module u-king (checksum 0x6267BFD0)
  19594. [15:03:17] IOSU_CRYPTO: No otp.bin found. Online mode cannot be used
  19595. [15:03:17] IOSU_CRYPTO: No Seeprom.bin found. Online mode cannot be used
  19596. [15:03:17] Custom timer mode: RDTSC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement