SHARE
TWEET

log

a guest Jul 18th, 2019 111 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [07:40:35] ------- Init Cemu 1.15.10 -------
  2. [07:40:35] mlc01 path: C:\Users\Gasp\Desktop\Cemu 1.15\mlc01\
  3. [07:40:35] Cemuhook version: 0.5.7.3
  4. [07:40:35] CPU: Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz
  5. [07:40:35] RAM: 16264MB
  6. [07:40:35] Used CPU extensions: SSSE3, SSE4.1, AVX2, AES-NI
  7. [07:44:22] Loading U-King.rpx
  8. [07:44:23] Creating OpenGL canvas
  9. [07:44:24] Loaded RPL module u-king (checksum 0x9A61FF4C)
  10. [07:44:24] Thread quantum set to 100000
  11. [07:44:24] ------- Loaded title -------
  12. [07:44:24] TitleId: 00050000-101c9500
  13. [07:44:24] TitleVersion: v64
  14. [07:44:24] Update path: <mlc01>\usr\title\00050000\101C9500\ (not present)
  15. [07:44:24] AOC path:    <mlc01>\usr\title\0005000C\101C9500\ (not present)
  16. [07:44:24] Save path:   <mlc01>\usr\save\00050000\101C9500\user\
  17. [07:44:24] shaderCache name: 1bc499ed
  18. [07:44:24] gameprofile path: gameProfiles\00050000101c9500.ini
  19. [07:44:24] RPX hash: 1bc499ed
  20. [07:44:24] RPL link time: 141ms
  21. [07:44:24] HLE scan time: 93ms
  22. [07:44:24] ------- Active settings -------
  23. [07:44:24] CPU-Mode: Triple-core recompiler (gameprofile)
  24. [07:44:24] Load shared libraries: true (gameprofile)
  25. [07:44:24] GPUBufferCacheAccuracy: low (gameprofile)
  26. [07:44:24] Use precompiled shaders: true (gameprofile)
  27. [07:44:24] Full sync at GX2DrawDone: true
  28. [07:44:24] ------- Init OpenGL graphics backend -------
  29. [07:44:24] GL_VENDOR: NVIDIA Corporation
  30. [07:44:24] GL_RENDERER: GeForce GTX 1660 Ti/PCIe/SSE2
  31. [07:44:24] GL_VERSION: 4.6.0 NVIDIA 431.36
  32. [07:44:24] Using precompiled shaders: true
  33. [07:44:24] OpenGL extensions:
  34. [07:44:24] ARB_clip_control: available
  35. [07:44:24] ARB_get_program_binary: available
  36. [07:44:24] ARB_clear_texture: available
  37. [07:44:24] ARB_copy_image: available
  38. [07:44:24] NV_depth_buffer_float: available
  39. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Anti-Aliasing [Preset: Alternative FXAA (Nvidia's implementation)]
  40. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Dynamic Gamespeed (Required) [Preset: 32 Frames Averaged]
  41. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Fence Method (Required) [Preset: Performance Fence]
  42. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required) [Preset: 60FPS (ideal for 240/120/60Hz displays)]
  43. [07:44:24] Set vsync frequency to 60 (graphic pack The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required))
  44. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/NPC Stutter Fix (CPU Occlusion Query)
  45. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Kakariko Torch Shadows
  46. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/LOD Bias [Preset: Extreme]
  47. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/LWZX Crash
  48. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds/Nvidia: Explosion Smoke
  49. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/Enhanced Reflections
  50. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Clouds
  51. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Resolution [Preset: 2560x1440 (16:9)]
  52. [07:44:24] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Shadow Resolution [Preset: High (2.00x)]
  53. [07:44:24] ------- Init Audio backend -------
  54. [07:44:24] DirectSound: available
  55. [07:44:24] XAudio 2.8: available
  56. [07:44:24] ------- Run title -------
  57. [07:59:00] Error/Warning in vertex shader:
  58. [07:59:00] 0(221) : error C1503: undefined variable "textureUnitPS18"
  59.  
  60. [07:59:02] Compile error in shader. Log:
  61. [07:59:02] 0(221) : error C1503: undefined variable "textureUnitPS18"
  62.  
  63. [07:59:02] Link error in shader. Log:
  64. [07:59:02] Vertex info
  65. -----------
  66. Internal error: assembly compile error for vertex shader at offset 1860:
  67. -- error message --
  68. line 39, column 45:  error: invalid vertex attribute reference
  69. line 45, column 25:  error: invalid vertex attribute reference
  70. line 47, column 25:  error: invalid vertex attribute reference
  71. line 49, column 25:  error: invalid vertex attribute reference
  72. line 52, column 25:  error: invalid vertex attribute reference
  73. -- internal assembly text --
  74. !!NVvp5.0
  75. OPTION NV_internal;
  76. OPTION NV_bindless_texture;
  77. # cgc version 3.4.0001, build date Jul  3 2019
  78. # command line args:
  79. #vendor NVIDIA Corporation
  80. #version 3.4.0.1 COP Build Date Jul  3 2019
  81. #profile gp5vp
  82. #program main
  83. #semantic uf_remappedVS
  84. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  85. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  86. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  87. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  88. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  89. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  90. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  91. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  92. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  93. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  94. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  95. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  96. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  97. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  98. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  99. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  100. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  101. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  102. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  103. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  104. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  105. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  106. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  107. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  108. #var int4 uf_remappedVS[0] :  : c[0], 36 : -1 : 1
  109. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  110. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  111. PARAM c[36] = { program.local[0..35] };
  112. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  113. OUTPUT result_attrib[] = { result.attrib[0..4] };
  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;
  115. TEMP T;
  116. TEMP RC;
  117. SHORT TEMP HC;
  118. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  119. AND.U R1, R0, {65280, 0, 0, 0}.x;
  120. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  121. OR.U  R0, R0, R1;
  122. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  123. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  124. OR.U  R0, R0, R1;
  125. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  126. OR.U  R4, R0, R2;
  127. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  128. AND.U R2, R1, {65280, 0, 0, 0}.x;
  129. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  130. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  131. OR.U  R1, R1, R2;
  132. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  133. OR.U  R0, R1, R0;
  134. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  135. OR.U  R5, R0, R2;
  136. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  137. AND.U R2, R1, {65280, 0, 0, 0}.x;
  138. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  139. OR.U  R1, R1, R2;
  140. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  141. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  142. OR.U  R1, R1, R2;
  143. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  144. OR.U  R18, R1, R0;
  145. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  146. AND.U R1, R0, {65280, 0, 0, 0}.x;
  147. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  148. OR.U  R0, R0, R1;
  149. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  150. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  151. OR.U  R0, R0, R1;
  152. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  153. OR.U  R6, R0, R2;
  154. MOV.U R0.x, R18.w;
  155. MOV.F R0.y, c[0].x;
  156. ADD.F32 R3.x, -R0, R0.y;
  157. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  158. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  159. AND.U R1, R0, {65280, 0, 0, 0}.x;
  160. TRUNC.U R11.x, R3.y;
  161. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  162. MOV.S R18.w, R3.x;
  163. OR.U  R0, R0, R1;
  164. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  165. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  166. OR.U  R0, R0, R1;
  167. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  168. OR.U  R7, R0, R2;
  169. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  170. AND.U R1, R0, {65280, 0, 0, 0}.x;
  171. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  172. OR.U  R0, R0, R1;
  173. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  174. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  175. OR.U  R0, R0, R1;
  176. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  177. OR.U  R8, R0, R2;
  178. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  179. AND.U R1, R0, {65280, 0, 0, 0}.x;
  180. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  181. OR.U  R0, R0, R1;
  182. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  183. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  184. OR.U  R0, R0, R1;
  185. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  186. OR.U  R17, R0, R2;
  187. SEQ.U R0.x, R11, {1, 0, 0, 0};
  188. SEQ.U R11.y, -R0.x, {1, 0, 0, 0}.x;
  189. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  190. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  191. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  192. MOV.U.CC RC.x, -R11.y;
  193. OR.U  R0.xyz, R0, R1;
  194. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  195. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  196. OR.U  R0.xyz, R0, R1;
  197. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  198. OR.U  R19.xyz, R0, R2;
  199. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  200. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  201. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  202. OR.U  R0.xyz, R0, R1;
  203. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  204. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  205. OR.U  R0.xyz, R0, R1;
  206. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  207. OR.U  R23.xyz, R0, R2;
  208. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  209. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  210. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  211. OR.U  R0.xyz, R0, R1;
  212. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  213. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  214. OR.U  R0.xyz, R0, R1;
  215. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  216. OR.U  R20.xyz, R0, R2;
  217. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  218. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  219. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  220. OR.U  R0.xyz, R0, R1;
  221. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  222. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  223. OR.U  R0.xyz, R0, R1;
  224. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  225. OR.U  R21.xyz, R0, R2;
  226. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  227. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  228. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  229. OR.U  R0.xyz, R0, R1;
  230. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  231. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  232. OR.U  R0.xyz, R0, R1;
  233. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  234. OR.U  R22.xyz, R0, R2;
  235. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  236. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  237. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  238. OR.U  R0.xyz, R0, R1;
  239. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  240. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  241. OR.U  R0.xyz, R0, R1;
  242. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  243. OR.U  R9.xyz, R0, R2;
  244. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  245. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  246. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  247. OR.U  R0.xyz, R0, R1;
  248. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  249. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  250. OR.U  R0.xyz, R0, R1;
  251. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  252. OR.U  R10.xyz, R0, R2;
  253. MOV.S R0, {0, 0, 0, 0}.x;
  254. MOV.S R1, {0, 0, 0, 0}.x;
  255. MOV.S R2, {0, 0, 0, 0}.x;
  256. MOV.S R24.xy, {0, 0, 0, 0}.x;
  257. MOV.S R3.yz, {0, 0, 0, 0};
  258. MOV.S R3.x, vertex.id;
  259. MOV.S R3.w, vertex.instance.x;
  260. MOV.S R9.w, {0, 0, 0, 0}.x;
  261. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  262. IF    NE.x;
  263. MOV.F R0.z, c[1].y;
  264. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  265. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  266. MOV.S R24.xy, {0, 0, 0, 0}.x;
  267. MOV.S R0.z, R0;
  268. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  269. ENDIF;
  270. SEQ.U R11.x, R11, {0, 0, 0, 0};
  271. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  272. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  273. MOV.U.CC RC.x, -R11;
  274. IF    NE.x;
  275. MOV.S R17.w, {0, 0, 0, 0}.x;
  276. ENDIF;
  277. SEQ.S R11.x, R17.w, {0, 0, 0, 0};
  278. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  279. SEQ.U R11.z, -R11.y, {1, 0, 0, 0}.x;
  280. MOV.U.CC RC.x, -R11.z;
  281. MOV.U R11.x, -R11;
  282. MOV.U R11.y, -R11;
  283. IF    NE.x;
  284. MOV.F R11.z, R5.w;
  285. TRUNC.S R11.z, R11;
  286. I2F.S R11.z, R11;
  287. MOV.F R11.w, R18;
  288. SGE.F32 R11.w, R11, R11.z;
  289. MOV.S R23.z, R11;
  290. TRUNC.U R11.z, R11.w;
  291. SEQ.U R11.w, R11.y, {1, 0, 0, 0}.x;
  292. SEQ.U R11.y, R11.z, {1, 0, 0, 0}.x;
  293. AND.U R17.w, -R11.y, -R11;
  294. ELSE;
  295. MOV.U R17.w, {0, 0, 0, 0}.x;
  296. ENDIF;
  297. SEQ.U R11.y, R17.w, {1, 0, 0, 0}.x;
  298. MOV.U.CC RC.x, -R11.y;
  299. IF    NE.x;
  300. MOV.F R0.z, c[1].y;
  301. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  302. MOV.S R0.xy, {0, 0, 0, 0};
  303. MOV.S R0.z, R0;
  304. MOV.S R24.x, {0, 0, 0, 0};
  305. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  306. ENDIF;
  307. SEQ.U R11.x, R11, {1, 0, 0, 0};
  308. SEQ.U R11.z, -R11.x, {1, 0, 0, 0}.x;
  309. MOV.U.CC RC.x, -R11.z;
  310. MOV.U R11.y, -R11.x;
  311. IF    NE.x;
  312. SEQ.S R11.x, R9.w, {0, 0, 0, 0};
  313. SEQ.U R11.y, R11, {1, 0, 0, 0}.x;
  314. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  315. AND.U R17.w, -R11.x, -R11.y;
  316. ELSE;
  317. MOV.U R17.w, {0, 0, 0, 0}.x;
  318. ENDIF;
  319. SEQ.U R11.x, R17.w, {1, 0, 0, 0};
  320. MOV.U.CC RC.x, -R11;
  321. IF    NE.x;
  322. MOV.F R3.x, c[2];
  323. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  324. TRUNC.U.CC HC.x, R3;
  325. IF    NE.x;
  326. MOV.F R3.x, {1, 0, 0, 0};
  327. ELSE;
  328. MOV.F R3.x, {0, 0, 0, 0};
  329. ENDIF;
  330. MOV.F R3.y, R21.x;
  331. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  332. MOV.S R11.y, R3;
  333. MOV.F R3.y, c[2].x;
  334. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  335. TRUNC.U.CC HC.x, R3.y;
  336. MOV.S R11.x, R3;
  337. IF    NE.x;
  338. MOV.F R3.x, {1, 0, 0, 0};
  339. ELSE;
  340. MOV.F R3.x, {0, 0, 0, 0};
  341. ENDIF;
  342. MOV.F R3.y, R21.x;
  343. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  344. MOV.F R3.z, c[3].y;
  345. MUL.F32 R3.y, R3, R3.z;
  346. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  347. TRUNC.U R3.w, R3;
  348. TRUNC.U R3.z, R3;
  349. AND.U.CC HC.x, R3.w, R3.z;
  350. MOV.S R11.z, R3.x;
  351. IF    NE.x;
  352. MOV.F R3.x, R3.y;
  353. ELSE;
  354. MOV.F R3.x, {0, 0, 0, 0};
  355. ENDIF;
  356. MOV.F R3.y, R11.z;
  357. MOV.F R3.z, R11.x;
  358. ADD.F32 R3.z, R3.y, -R3;
  359. MOV.F R5.w, R18;
  360. MOV.F R3.w, R23.z;
  361. DIV.F32 R3.w, R5, R3.w;
  362. MOV.S R11.x, R3.w;
  363. MOV.S R3.w, R11.x;
  364. MOV.F R11.z, R3.w;
  365. MOV.F R3.w, R11.y;
  366. ADD.F32 R3.y, -R3.z, {1, 0, 0, 0}.x;
  367. MIN.F R9.w, R3, {0, 0, 0, 0}.x;
  368. MOV.F R10.w, R20.x;
  369. ADD.F32 R9.w, R10, R9;
  370. MOV.S R13.x, R3.z;
  371. SNE.F32 R3.z, -R3, {-1, 0, 0, 0}.x;
  372. MOV.F R3.w, c[2].x;
  373. RCP.F32 R3.w, R3.w;
  374. MAD.F32 R3.x, R5.w, R3.w, R3;
  375. MOV.S R11.y, R3.x;
  376. SNE.F32 R3.x, R11.z, {0, 0, 0, 0};
  377. MOV.S R20.x, R9.w;
  378. TRUNC.U R9.w, R3.x;
  379. TRUNC.U R3.z, R3;
  380. AND.U.CC HC.x, R9.w, R3.z;
  381. MOV.F R3.w, c[5].x;
  382. MOV.F R3.x, c[4];
  383. ADD.F32 R3.x, -R3, R3.w;
  384. MOV.F R5.w, c[5].y;
  385. MOV.F R3.w, c[4].y;
  386. ADD.F32 R3.w, -R3, R5;
  387. MUL.F32 R3.y, R11.z, R3;
  388. MOV.S R18.z, R11.x;
  389. MOV.S R13.z, R3.x;
  390. MOV.S R12.z, R3.w;
  391. IF    NE.x;
  392. MOV.F R3.x, R3.y;
  393. ELSE;
  394. MOV.F R3.x, {0, 0, 0, 0};
  395. ENDIF;
  396. MOV.F R3.y, R11;
  397. FRC.F32 R3.z, R3.y;
  398. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  399. MOV.F R3.w, R13.x;
  400. MUL.F32 R3.y, R3.w, R3.z;
  401. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  402. TRUNC.U R9.w, R3;
  403. TRUNC.U R10.w, R5;
  404. AND.U.CC HC.x, R9.w, R10.w;
  405. MOV.F R3.w, c[5].z;
  406. MOV.F R3.z, c[4];
  407. ADD.F32 R3.z, -R3, R3.w;
  408. MOV.S R13.y, R3.z;
  409. MOV.F R3.w, c[5];
  410. MOV.F R3.z, c[4].w;
  411. ADD.F32 R3.z, -R3, R3.w;
  412. MOV.F R5.w, c[6].x;
  413. MOV.F R3.w, c[5].x;
  414. ADD.F32 R3.w, -R3, R5;
  415. MOV.S R16.z, R3;
  416. MOV.S R15.x, R3.w;
  417. MOV.S R12.x, R3;
  418. IF    NE.x;
  419. MOV.F R3.x, R3.y;
  420. ELSE;
  421. MOV.F R3.x, {0, 0, 0, 0};
  422. ENDIF;
  423. MOV.F R3.z, R16;
  424. MOV.F R3.y, R13.z;
  425. DIV.F32 R5.w, R3.y, R3.z;
  426. MOV.F R3.y, R12.z;
  427. DIV.F32 R3.y, R3, R3.z;
  428. MOV.F R3.w, R12.x;
  429. MOV.S R3.x, R3;
  430. ADD.F32 R3.w, R3, R3.x;
  431. MOV.F R9.w, c[4];
  432. ADD.F32 R10.w, R3, -R9;
  433. MOV.S R12.x, R3.y;
  434. MOV.F R3.y, R13;
  435. DIV.F32 R3.y, R3, R3.z;
  436. SNE.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  437. MUL.F32 R3.x, R10.w, R3.y;
  438. TRUNC.U R3.y, R3.z;
  439. SNE.F32 R9.w, R3, R9;
  440. MOV.S R13.x, R10.w;
  441. TRUNC.U R10.w, R9;
  442. AND.U.CC HC.x, R10.w, R3.y;
  443. MOV.F R3.z, c[5].w;
  444. MOV.S R13.z, R5.w;
  445. ADD.F32 R5.w, R3, -R3.z;
  446. MOV.S R15.y, R3.w;
  447. MOV.S R13.y, R5.w;
  448. MOV.F R9.w, c[6];
  449. ADD.F32 R3.z, -R3, R9.w;
  450. MOV.F R5.w, c[6].z;
  451. MOV.F R3.w, c[5].z;
  452. ADD.F32 R3.w, -R3, R5;
  453. MOV.S R12.z, R3.w;
  454. MOV.F R5.w, c[6].y;
  455. MOV.F R3.w, c[5].y;
  456. ADD.F32 R3.w, -R3, R5;
  457. MOV.S R12.w, R3;
  458. MOV.S R16.x, R3.z;
  459. IF    NE.x;
  460. ELSE;
  461. MOV.F R3.x, {0, 0, 0, 0};
  462. ENDIF;
  463. MOV.F R3.w, R12.x;
  464. MOV.F R3.z, R13.x;
  465. MUL.F32 R3.y, R3.z, R3.w;
  466. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  467. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  468. TRUNC.U R3.z, R3;
  469. TRUNC.U R3.w, R3;
  470. AND.U.CC HC.x, R3.z, R3.w;
  471. MOV.S R16.y, R3.x;
  472. IF    NE.x;
  473. MOV.F R3.x, R3.y;
  474. ELSE;
  475. MOV.F R3.x, {0, 0, 0, 0};
  476. ENDIF;
  477. MOV.F R3.w, R13.z;
  478. MOV.F R3.z, R13.x;
  479. MUL.F32 R3.y, R3.z, R3.w;
  480. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  481. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  482. TRUNC.U R3.z, R3;
  483. TRUNC.U R3.w, R3;
  484. AND.U.CC HC.x, R3.z, R3.w;
  485. MOV.S R16.z, R3.x;
  486. IF    NE.x;
  487. MOV.F R3.x, R3.y;
  488. ELSE;
  489. MOV.F R3.x, {0, 0, 0, 0};
  490. ENDIF;
  491. MOV.F R3.z, c[6].w;
  492. MOV.F R3.y, R15;
  493. ADD.F32 R3.y, R3, -R3.z;
  494. MOV.S R13.z, R3.y;
  495. MOV.F R3.y, c[4].x;
  496. ADD.F32 R3.x, R3.y, R3;
  497. MOV.F R3.z, R13.x;
  498. SGE.F32 R3.y, R3.z, {0, 0, 0, 0}.x;
  499. TRUNC.U.CC HC.x, R3.y;
  500. MOV.S R14.x, R3;
  501. IF    NE.x;
  502. MOV.S R3.z, {1065353216, 0, 0, 0}.x;
  503. ELSE;
  504. MOV.S R3.z, {0, 0, 0, 0}.x;
  505. ENDIF;
  506. MOV.F R3.w, R16.x;
  507. MOV.F R3.x, R12.w;
  508. DIV.F32 R3.x, R3, R3.w;
  509. MOV.F R3.y, R16.z;
  510. MOV.F R9.w, R16.y;
  511. MOV.F R10.w, R13.y;
  512. MOV.F R5.w, R12.z;
  513. MOV.S R16.z, R3.x;
  514. DIV.F32 R3.x, R5.w, R3.w;
  515. MOV.F R5.w, R15.x;
  516. DIV.F32 R3.w, R5, R3.w;
  517. MOV.S R16.y, R3.x;
  518. MUL.F32 R3.x, R10.w, R3.w;
  519. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  520. MOV.F R5.w, c[4].z;
  521. ADD.F32 R5.w, R5, R9;
  522. MOV.F R9.w, c[4].y;
  523. ADD.F32 R3.y, R9.w, R3;
  524. MOV.S R14.z, R5.w;
  525. MOV.S R13.w, R3.y;
  526. SNE.F32 R3.y, R10.w, {0, 0, 0, 0}.x;
  527. TRUNC.U R10.w, R3.y;
  528. TRUNC.U R3.w, R3;
  529. AND.U.CC HC.x, R10.w, R3.w;
  530. MOV.F R5.w, c[7].y;
  531. MOV.F R3.y, c[6];
  532. ADD.F32 R3.y, -R3, R5.w;
  533. MOV.S R13.x, R3.y;
  534. MOV.F R9.w, c[7].x;
  535. MOV.F R5.w, c[6].x;
  536. ADD.F32 R5.w, -R5, R9;
  537. MOV.S R15.x, R5.w;
  538. MOV.S R3.y, R3.z;
  539. IF    NE.x;
  540. ELSE;
  541. MOV.F R3.x, {0, 0, 0, 0};
  542. ENDIF;
  543. MOV.F R9.w, R16.y;
  544. MOV.F R3.w, R13.y;
  545. SNE.F32 R5.w, R3, {0, 0, 0, 0}.x;
  546. SNE.F32 R11.x, R9.w, {0, 0, 0, 0};
  547. MUL.F32 R3.w, R3, R9;
  548. MOV.F R10.w, c[7].z;
  549. MOV.F R9.w, c[6].z;
  550. ADD.F32 R9.w, -R9, R10;
  551. TRUNC.U R10.w, R11.x;
  552. TRUNC.U R5.w, R5;
  553. AND.U.CC HC.x, R5.w, R10.w;
  554. MOV.S R12.y, R9.w;
  555. MOV.S R11.x, R3;
  556. IF    NE.x;
  557. MOV.F R3.x, R3.w;
  558. ELSE;
  559. MOV.F R3.x, {0, 0, 0, 0};
  560. ENDIF;
  561. MOV.F R9.w, R16.z;
  562. MOV.F R5.w, R13.y;
  563. MUL.F32 R3.w, R5, R9;
  564. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  565. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  566. TRUNC.U R5.w, R5;
  567. TRUNC.U R9.w, R9;
  568. AND.U.CC HC.x, R5.w, R9.w;
  569. MOV.S R11.z, R3.x;
  570. IF    NE.x;
  571. MOV.F R3.x, R3.w;
  572. ELSE;
  573. MOV.F R3.x, {0, 0, 0, 0};
  574. ENDIF;
  575. MOV.F R9.w, R13.y;
  576. SGE.F32 R10.w, R9, {0, 0, 0, 0}.x;
  577. MOV.F R9.w, c[5].y;
  578. ADD.F32 R3.x, R9.w, R3;
  579. TRUNC.U.CC HC.x, R10.w;
  580. MOV.F R5.w, R11.x;
  581. MOV.F R3.w, c[5].x;
  582. ADD.F32 R3.w, R3, R5;
  583. MOV.S R13.y, R3.w;
  584. MOV.F R5.w, c[7];
  585. MOV.F R3.w, c[6];
  586. ADD.F32 R3.w, -R3, R5;
  587. MOV.S R14.y, R3.w;
  588. MOV.S R12.x, R3;
  589. IF    NE.x;
  590. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  591. ELSE;
  592. MOV.S R5.w, {0, 0, 0, 0}.x;
  593. ENDIF;
  594. MOV.F R3.w, R11.z;
  595. MOV.F R3.x, c[5].z;
  596. ADD.F32 R3.x, R3, R3.w;
  597. MOV.S R12.w, R3.x;
  598. MOV.F R3.x, R14.y;
  599. MOV.F R3.w, R15.x;
  600. DIV.F32 R3.w, R3, R3.x;
  601. MOV.S R11.x, R3.w;
  602. MOV.F R3.w, R13.z;
  603. RCP.F32 R3.x, R3.x;
  604. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  605. TRUNC.U.CC HC.x, R3.w;
  606. MOV.S R11.y, R3.x;
  607. IF    NE.x;
  608. MOV.S R3.x, {1065353216, 0, 0, 0};
  609. ELSE;
  610. MOV.S R3.x, {0, 0, 0, 0};
  611. ENDIF;
  612. MOV.F R10.w, R11.y;
  613. MOV.F R3.w, R12.y;
  614. MUL.F32 R11.y, R3.w, R10.w;
  615. MOV.F R9.w, R13.x;
  616. MUL.F32 R3.w, R9, R10;
  617. MOV.F R10.w, R13.z;
  618. MOV.S R11.z, R11.y;
  619. MUL.F32 R9.w, R10, R3;
  620. MOV.F R11.w, c[7];
  621. MOV.F R11.y, R15;
  622. ADD.F32 R11.y, R11, -R11.w;
  623. MOV.S R14.y, R11;
  624. SNE.F32 R11.y, R3.w, {0, 0, 0, 0}.x;
  625. SNE.F32 R3.w, R10, {0, 0, 0, 0}.x;
  626. TRUNC.U R10.w, R11.y;
  627. TRUNC.U R3.w, R3;
  628. AND.U.CC HC.x, R3.w, R10.w;
  629. IF    NE.x;
  630. ELSE;
  631. MOV.F R9.w, {0, 0, 0, 0}.x;
  632. ENDIF;
  633. MOV.F R10.w, R13.z;
  634. MUL.F32 R3.w, R10, R11.x;
  635. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  636. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  637. TRUNC.U R10.w, R10;
  638. TRUNC.U R11.x, R11;
  639. AND.U.CC HC.x, R10.w, R11;
  640. MOV.S R16.x, R9.w;
  641. IF    NE.x;
  642. ELSE;
  643. MOV.F R3.w, {0, 0, 0, 0}.x;
  644. ENDIF;
  645. MOV.F R9.w, R14.y;
  646. SGE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  647. TRUNC.U.CC HC.x, R9.w;
  648. MOV.S R16.y, R3.w;
  649. IF    NE.x;
  650. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  651. ELSE;
  652. MOV.S R3.w, {0, 0, 0, 0}.x;
  653. ENDIF;
  654. MOV.F R11.x, R11.z;
  655. MOV.F R10.w, R13.z;
  656. MUL.F32 R9.w, R10, R11.x;
  657. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  658. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  659. TRUNC.U R11.x, R11;
  660. TRUNC.U R10.w, R10;
  661. AND.U.CC HC.x, R10.w, R11;
  662. IF    NE.x;
  663. ELSE;
  664. MOV.F R9.w, {0, 0, 0, 0}.x;
  665. ENDIF;
  666. MOV.F R11.x, R16;
  667. MOV.F R10.w, c[6].y;
  668. ADD.F32 R10.w, R10, R11.x;
  669. MOV.S R15.y, R10.w;
  670. MOV.F R10.w, c[6].x;
  671. MOV.F R11.x, R16.y;
  672. ADD.F32 R11.x, R10.w, R11;
  673. MOV.F R10.w, c[6].z;
  674. ADD.F32 R9.w, R10, R9;
  675. MOV.S R13.x, R9.w;
  676. MOV.F R10.w, R3.x;
  677. MOV.F R9.w, R3;
  678. MOV.S R12.z, R11.x;
  679. ADD.F32 R11.x, -R9.w, {1, 0, 0, 0};
  680. MOV.S R11.w, R11.x;
  681. SNE.F32 R11.x, -R10.w, {-1, 0, 0, 0};
  682. ADD.F32 R9.w, -R10, {1, 0, 0, 0}.x;
  683. MOV.F R11.y, R5.w;
  684. SNE.F32 R10.w, R11.y, {0, 0, 0, 0}.x;
  685. TRUNC.U R11.x, R11;
  686. TRUNC.U R10.w, R10;
  687. AND.U.CC HC.x, R10.w, R11;
  688. MUL.F32 R9.w, R11.y, R9;
  689. IF    NE.x;
  690. MOV.F R10.w, R9;
  691. ELSE;
  692. MOV.F R10.w, {0, 0, 0, 0}.x;
  693. ENDIF;
  694. MOV.F R11.x, c[7];
  695. MOV.F R11.y, R3.w;
  696. MUL.F32 R9.w, R11.x, R11.y;
  697. MOV.S R14.y, R10.w;
  698. SNE.F32 R10.w, R11.x, {0, 0, 0, 0}.x;
  699. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  700. TRUNC.U R11.x, R11.y;
  701. TRUNC.U R10.w, R10;
  702. AND.U.CC HC.x, R10.w, R11;
  703. IF    NE.x;
  704. MOV.F R11.x, R9.w;
  705. ELSE;
  706. MOV.F R11.x, {0, 0, 0, 0};
  707. ENDIF;
  708. MOV.F R11.y, R3.w;
  709. MOV.F R10.w, c[7].y;
  710. MUL.F32 R9.w, R10, R11.y;
  711. MOV.S R18.x, R11;
  712. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  713. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  714. TRUNC.U R11.x, R11;
  715. TRUNC.U R10.w, R10;
  716. AND.U.CC HC.x, R10.w, R11;
  717. IF    NE.x;
  718. ELSE;
  719. MOV.F R9.w, {0, 0, 0, 0}.x;
  720. ENDIF;
  721. MOV.F R10.w, R11;
  722. MOV.F R11.x, R3;
  723. MUL.F32 R3.x, R11, R10.w;
  724. SNE.F32 R11.y, R10.w, {0, 0, 0, 0}.x;
  725. TRUNC.U R10.w, R11.y;
  726. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  727. MOV.S R18.y, R9.w;
  728. TRUNC.U R9.w, R11.x;
  729. AND.U.CC HC.x, R9.w, R10.w;
  730. IF    NE.x;
  731. MOV.F R9.w, R3.x;
  732. ELSE;
  733. MOV.F R9.w, {0, 0, 0, 0}.x;
  734. ENDIF;
  735. MOV.F R10.w, R3;
  736. MOV.F R3.w, c[7].z;
  737. MUL.F32 R3.x, R3.w, R10.w;
  738. MOV.S R16.z, R9.w;
  739. SNE.F32 R9.w, R10, {0, 0, 0, 0}.x;
  740. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  741. TRUNC.U R9.w, R9;
  742. TRUNC.U R3.w, R3;
  743. AND.U.CC HC.x, R3.w, R9.w;
  744. IF    NE.x;
  745. MOV.F R3.w, R3.x;
  746. ELSE;
  747. MOV.F R3.w, {0, 0, 0, 0}.x;
  748. ENDIF;
  749. MOV.F R10.w, R14.y;
  750. MOV.F R9.w, R13.y;
  751. MUL.F32 R3.x, R9.w, R10.w;
  752. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  753. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  754. TRUNC.U R9.w, R9;
  755. TRUNC.U R10.w, R10;
  756. AND.U.CC HC.x, R9.w, R10.w;
  757. MOV.S R3.w, R3;
  758. IF    NE.x;
  759. ELSE;
  760. MOV.F R3.x, {0, 0, 0, 0};
  761. ENDIF;
  762. MOV.F R11.x, R16.z;
  763. MOV.F R10.w, R15.y;
  764. MUL.F32 R9.w, R10, R11.x;
  765. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  766. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  767. TRUNC.U R10.w, R10;
  768. TRUNC.U R11.x, R11;
  769. AND.U.CC HC.x, R10.w, R11;
  770. MOV.S R15.x, R3;
  771. IF    NE.x;
  772. MOV.F R3.x, R9.w;
  773. ELSE;
  774. MOV.F R3.x, {0, 0, 0, 0};
  775. ENDIF;
  776. MOV.F R11.x, R16.z;
  777. MOV.F R10.w, R12.z;
  778. MUL.F32 R9.w, R10, R11.x;
  779. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  780. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  781. TRUNC.U R10.w, R10;
  782. TRUNC.U R11.x, R11;
  783. AND.U.CC HC.x, R10.w, R11;
  784. MOV.S R3.x, R3;
  785. IF    NE.x;
  786. MOV.F R10.w, R9;
  787. ELSE;
  788. MOV.F R10.w, {0, 0, 0, 0}.x;
  789. ENDIF;
  790. MOV.F R11.y, R14;
  791. MOV.F R11.x, R12;
  792. MUL.F32 R9.w, R11.x, R11.y;
  793. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  794. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  795. TRUNC.U R11.x, R11;
  796. TRUNC.U R11.y, R11;
  797. AND.U.CC HC.x, R11, R11.y;
  798. MOV.S R15.y, R10.w;
  799. IF    NE.x;
  800. ELSE;
  801. MOV.F R9.w, {0, 0, 0, 0}.x;
  802. ENDIF;
  803. MOV.F R11.y, R16.z;
  804. MOV.F R11.x, R13;
  805. MUL.F32 R10.w, R11.x, R11.y;
  806. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  807. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  808. TRUNC.U R11.x, R11;
  809. TRUNC.U R11.y, R11;
  810. AND.U.CC HC.x, R11, R11.y;
  811. MOV.S R13.z, R9.w;
  812. IF    NE.x;
  813. MOV.F R9.w, R10;
  814. ELSE;
  815. MOV.F R9.w, {0, 0, 0, 0}.x;
  816. ENDIF;
  817. MOV.F R11.y, R14;
  818. MOV.F R11.x, R12.w;
  819. MUL.F32 R10.w, R11.x, R11.y;
  820. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  821. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  822. TRUNC.U R11.x, R11;
  823. TRUNC.U R11.y, R11;
  824. AND.U.CC HC.x, R11, R11.y;
  825. MOV.S R14.w, R9;
  826. IF    NE.x;
  827. MOV.F R9.w, R10;
  828. ELSE;
  829. MOV.F R9.w, {0, 0, 0, 0}.x;
  830. ENDIF;
  831. MOV.F R11, R6;
  832. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  833. MOV.F R6.xyz, R5;
  834. MOV.F R6.w, {1, 0, 0, 0}.x;
  835. DP4.F32 R6.x, R11, R6;
  836. MOV.S R5.w, R5;
  837. MOV.S R6.w, R6.x;
  838. MOV.F R6.y, R21;
  839. MOV.F R6.x, R21.z;
  840. ADD.F32 R6.x, R6.y, R6;
  841. MOV.S R15.w, R6.x;
  842. MOV.F R6.x, R21;
  843. ADD.F32 R6.x, R6.y, R6;
  844. MOV.S R15.z, R6.x;
  845. MOV.F R6.x, R3.z;
  846. MOV.F R6.z, R5.w;
  847. ADD.F32 R6.y, -R6.x, {1, 0, 0, 0}.x;
  848. MUL.F32 R5.w, R6.x, R6.z;
  849. MOV.S R12.x, R6.y;
  850. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  851. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  852. TRUNC.U R6.y, R6;
  853. TRUNC.U R6.x, R6;
  854. AND.U.CC HC.x, R6, R6.y;
  855. MOV.S R3.z, R9.w;
  856. IF    NE.x;
  857. ELSE;
  858. MOV.F R5.w, {0, 0, 0, 0}.x;
  859. ENDIF;
  860. SNE.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  861. MOV.F R6.y, R14.x;
  862. MOV.F R16, R7;
  863. MOV.F R11.w, {1, 0, 0, 0}.x;
  864. MOV.F R11.xyz, R5;
  865. DP4.F32 R6.x, R16, R11;
  866. MOV.S R10.w, R6.x;
  867. MUL.F32 R6.x, R5.w, R6.y;
  868. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  869. TRUNC.U R6.y, R6;
  870. TRUNC.U R6.z, R6;
  871. AND.U.CC HC.x, R6.y, R6.z;
  872. MOV.S R13.x, R5.w;
  873. IF    NE.x;
  874. ELSE;
  875. MOV.F R6.x, {0, 0, 0, 0};
  876. ENDIF;
  877. MOV.F R11, R8;
  878. MOV.F R5.w, {1, 0, 0, 0}.x;
  879. DP4.F32 R5.x, R11, R5;
  880. MOV.F R5.z, R13.x;
  881. MOV.F R5.y, R13.w;
  882. MOV.S R9.w, R5.x;
  883. MUL.F32 R5.x, R5.y, R5.z;
  884. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  885. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  886. TRUNC.U R5.y, R5;
  887. TRUNC.U R5.z, R5;
  888. AND.U.CC HC.x, R5.y, R5.z;
  889. MOV.S R12.w, R6.x;
  890. IF    NE.x;
  891. ELSE;
  892. MOV.F R5.x, {0, 0, 0, 0};
  893. ENDIF;
  894. MOV.F R5.y, R12.x;
  895. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  896. MOV.F R5.z, c[4];
  897. MUL.F32 R5.y, R5.z, R5;
  898. TRUNC.U R5.w, R5;
  899. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  900. MOV.S R12.z, R5.x;
  901. TRUNC.U R5.x, R5.z;
  902. AND.U.CC HC.x, R5, R5.w;
  903. IF    NE.x;
  904. MOV.F R5.x, R5.y;
  905. ELSE;
  906. MOV.F R5.x, {0, 0, 0, 0};
  907. ENDIF;
  908. MOV.F R5.w, R13.x;
  909. MOV.F R5.z, R14;
  910. MUL.F32 R5.y, R5.z, R5.w;
  911. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  912. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  913. TRUNC.U R5.z, R5;
  914. TRUNC.U R5.w, R5;
  915. AND.U.CC HC.x, R5.z, R5.w;
  916. MOV.S R16.x, R5;
  917. IF    NE.x;
  918. MOV.F R5.x, R5.y;
  919. ELSE;
  920. MOV.F R5.x, {0, 0, 0, 0};
  921. ENDIF;
  922. MOV.F R5.y, R12.x;
  923. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  924. MOV.F R5.z, c[4].y;
  925. MUL.F32 R5.y, R5.z, R5;
  926. TRUNC.U R5.w, R5;
  927. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  928. MOV.S R16.y, R5.x;
  929. TRUNC.U R5.x, R5.z;
  930. AND.U.CC HC.x, R5, R5.w;
  931. IF    NE.x;
  932. MOV.F R5.x, R5.y;
  933. ELSE;
  934. MOV.F R5.x, {0, 0, 0, 0};
  935. ENDIF;
  936. MOV.F R5.y, R12.x;
  937. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  938. MOV.F R5.z, c[4].x;
  939. MUL.F32 R5.y, R5.z, R5;
  940. TRUNC.U R5.w, R5;
  941. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  942. MOV.S R16.z, R5.x;
  943. TRUNC.U R5.x, R5.z;
  944. AND.U.CC HC.x, R5, R5.w;
  945. IF    NE.x;
  946. MOV.F R5.x, R5.y;
  947. ELSE;
  948. MOV.F R5.x, {0, 0, 0, 0};
  949. ENDIF;
  950. MOV.F R5.z, R16;
  951. MOV.F R5.y, R12.z;
  952. ADD.F32 R5.y, R5, R5.z;
  953. MOV.F R5.z, R13;
  954. ADD.F32 R5.y, R5.z, R5;
  955. ADD.F32 R5.y, R3.x, R5;
  956. MOV.F R3.x, R12.w;
  957. ADD.F32 R3.x, R3, R5;
  958. MOV.S R8.y, R5;
  959. MOV.F R5.x, R15;
  960. ADD.F32 R5.x, R5, R3;
  961. MOV.F R3.x, R3.z;
  962. MOV.F R3.z, R15.y;
  963. ADD.F32 R3.z, R3, R5.x;
  964. MOV.F R5.y, R16.x;
  965. MOV.F R5.x, R16.y;
  966. ADD.F32 R5.x, R5, R5.y;
  967. ADD.F32 R3.x, R3, R5;
  968. MOV.F R5.y, R15.z;
  969. MAD.F32 R5.x, R5.y, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  970. MOV.F R5.y, R14.w;
  971. ADD.F32 R3.x, R5.y, R3;
  972. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  973. MOV.S R8.w, R5.x;
  974. MOV.F R5.x, R15.w;
  975. MAD.F32 R5.x, R5, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  976. MOV.S R5.z, R5.x;
  977. MOV.F R5.y, R21.z;
  978. MOV.F R5.x, R21;
  979. ADD.F32 R5.x, R5, R5.y;
  980. MOV.S R5.y, R5.z;
  981. MAD.F32 R5.z, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  982. MOV.F R5.x, R5.y;
  983. MUL.F32 R5.y, R5.z, {2, 0, 0, 0}.x;
  984. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  985. MOV.S R3.z, R3;
  986. MOV.S R3.x, R3;
  987. MOV.S R5.y, R5;
  988. MOV.S R5.w, R5.x;
  989. ENDIF;
  990. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  991. MOV.U.CC RC.x, -R5;
  992. IF    NE.x;
  993. MOV.F R5.x, R18.y;
  994. MOV.F R5.z, R8.y;
  995. ADD.F32 R5.z, R5.x, R5;
  996. MOV.F R5.x, R3;
  997. MOV.F R3.x, R3.w;
  998. ADD.F32 R3.x, R3, R5;
  999. MOV.S R11.z, R5;
  1000. MOV.S R11.y, R3.x;
  1001. MOV.F R3.x, R18;
  1002. SNE.F32 R5.x, R3, -R3.z;
  1003. ADD.F32 R3.x, R3, R3.z;
  1004. MOV.F R5.z, R20.x;
  1005. TRUNC.U R6.x, R5;
  1006. MOV.F R3.z, R21.x;
  1007. ADD.F32 R3.z, R3, {-0.5, 0, 0, 0}.x;
  1008. MOV.F R5.x, R21.y;
  1009. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  1010. MOV.S R13.x, R3.z;
  1011. MOV.S R14.w, R5.x;
  1012. SNE.F32 R3.z, R5, {0, 0, 0, 0}.x;
  1013. TRUNC.U R3.z, R3;
  1014. AND.U.CC HC.x, R3.z, R6;
  1015. MUL.F32 R3.x, R5.z, R3;
  1016. MOV.S R5.x, R20.y;
  1017. IF    NE.x;
  1018. ELSE;
  1019. MOV.F R3.x, {0, 0, 0, 0};
  1020. ENDIF;
  1021. MOV.F R5.z, R11.y;
  1022. MOV.F R6.x, R20.z;
  1023. MUL.F32 R3.z, R6.x, R5;
  1024. SNE.F32 R6.y, R5.z, {0, 0, 0, 0}.x;
  1025. MOV.F R5.z, R21;
  1026. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  1027. TRUNC.U R6.y, R6;
  1028. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1029. MOV.S R20.y, R5.z;
  1030. TRUNC.U R5.z, R6.x;
  1031. AND.U.CC HC.x, R5.z, R6.y;
  1032. MOV.S R16.x, R3;
  1033. IF    NE.x;
  1034. MOV.F R3.x, R3.z;
  1035. ELSE;
  1036. MOV.F R3.x, {0, 0, 0, 0};
  1037. ENDIF;
  1038. MOV.F R3.z, R11;
  1039. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  1040. MUL.F32 R3.z, R5.x, R3;
  1041. TRUNC.U R5.z, R5;
  1042. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1043. MOV.S R16.z, R3.x;
  1044. TRUNC.U R3.x, R5;
  1045. AND.U.CC HC.x, R3, R5.z;
  1046. IF    NE.x;
  1047. MOV.F R3.x, R3.z;
  1048. ELSE;
  1049. MOV.F R3.x, {0, 0, 0, 0};
  1050. ENDIF;
  1051. MOV.F R5.z, c[8].x;
  1052. MOV.F R5.x, R8.w;
  1053. MUL.F32 R3.z, R5.x, R5;
  1054. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1055. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1056. TRUNC.U R5.x, R5;
  1057. TRUNC.U R5.z, R5;
  1058. AND.U.CC HC.x, R5, R5.z;
  1059. MOV.S R16.w, R3.x;
  1060. IF    NE.x;
  1061. MOV.F R3.x, R3.z;
  1062. ELSE;
  1063. MOV.F R3.x, {0, 0, 0, 0};
  1064. ENDIF;
  1065. MOV.F R5.z, c[9];
  1066. MOV.F R5.x, R16.w;
  1067. MUL.F32 R3.z, R5.x, R5;
  1068. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1069. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1070. TRUNC.U R5.x, R5;
  1071. TRUNC.U R5.z, R5;
  1072. AND.U.CC HC.x, R5, R5.z;
  1073. MOV.S R15.y, R3.x;
  1074. IF    NE.x;
  1075. MOV.F R3.x, R3.z;
  1076. ELSE;
  1077. MOV.F R3.x, {0, 0, 0, 0};
  1078. ENDIF;
  1079. MOV.F R5.z, c[9].y;
  1080. MOV.F R5.x, R16;
  1081. MUL.F32 R3.z, R5.x, R5;
  1082. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1083. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1084. TRUNC.U R5.x, R5;
  1085. TRUNC.U R5.z, R5;
  1086. AND.U.CC HC.x, R5, R5.z;
  1087. MOV.S R18.x, R3;
  1088. IF    NE.x;
  1089. MOV.F R3.x, R3.z;
  1090. ELSE;
  1091. MOV.F R3.x, {0, 0, 0, 0};
  1092. ENDIF;
  1093. MOV.F R5.z, c[9].w;
  1094. MOV.F R5.x, R16.z;
  1095. MUL.F32 R3.z, R5.x, R5;
  1096. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1097. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1098. TRUNC.U R5.x, R5;
  1099. TRUNC.U R5.z, R5;
  1100. AND.U.CC HC.x, R5, R5.z;
  1101. MOV.S R18.y, R3.x;
  1102. IF    NE.x;
  1103. MOV.F R3.x, R3.z;
  1104. ELSE;
  1105. MOV.F R3.x, {0, 0, 0, 0};
  1106. ENDIF;
  1107. MOV.F R3.z, R21.y;
  1108. MUL.F32 R3.z, R3, {2, 0, 0, 0}.x;
  1109. MOV.F R5.x, R21.z;
  1110. MOV.S R11.w, R3.z;
  1111. MUL.F32 R3.z, R5.x, {2, 0, 0, 0}.x;
  1112. MOV.F R5.x, R19.z;
  1113. MOV.S R14.y, R3.z;
  1114. MUL.F32 R3.z, R5.x, R3.x;
  1115. SNE.F32 R5.z, R3.x, {0, 0, 0, 0}.x;
  1116. SNE.F32 R3.x, R5, {0, 0, 0, 0};
  1117. TRUNC.U R5.x, R5.z;
  1118. TRUNC.U R3.x, R3;
  1119. AND.U.CC HC.x, R3, R5;
  1120. IF    NE.x;
  1121. MOV.F R3.x, R3.z;
  1122. ELSE;
  1123. MOV.F R3.x, {0, 0, 0, 0};
  1124. ENDIF;
  1125. MOV.F R5.x, c[10];
  1126. MOV.F R3.z, R15.y;
  1127. ADD.F32 R3.z, R3, R5.x;
  1128. MOV.F R5.x, R11.w;
  1129. MOV.S R8.y, R3.z;
  1130. FLR.F R3.z, R5.x;
  1131. MOV.F R5.z, c[8].y;
  1132. MOV.F R5.x, R5.w;
  1133. MOV.S R16.z, R3;
  1134. MUL.F32 R3.z, R5.x, R5;
  1135. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1136. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1137. TRUNC.U R5.x, R5;
  1138. TRUNC.U R5.z, R5;
  1139. AND.U.CC HC.x, R5, R5.z;
  1140. MOV.S R8.x, R3;
  1141. IF    NE.x;
  1142. MOV.F R3.x, R3.z;
  1143. ELSE;
  1144. MOV.F R3.x, {0, 0, 0, 0};
  1145. ENDIF;
  1146. MOV.F R5.x, R16.z;
  1147. MOV.F R3.z, R14.y;
  1148. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1149. FLR.F R3.z, R3;
  1150. TRUNC.U.CC HC.x, R5;
  1151. MOV.S R16.w, R3.x;
  1152. MOV.S R13.z, R3;
  1153. IF    NE.x;
  1154. MOV.F R3.x, {1, 0, 0, 0};
  1155. ELSE;
  1156. MOV.F R3.x, {0, 0, 0, 0};
  1157. ENDIF;
  1158. MOV.F R3.z, R5.y;
  1159. SNE.F32 R5.y, R3.z, {0, 0, 0, 0}.x;
  1160. MOV.F R5.x, c[8].z;
  1161. MUL.F32 R3.z, R3, R5.x;
  1162. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1163. TRUNC.U R5.y, R5;
  1164. TRUNC.U R5.x, R5;
  1165. AND.U.CC HC.x, R5.y, R5;
  1166. MOV.S R11.x, R3;
  1167. IF    NE.x;
  1168. MOV.F R3.x, R3.z;
  1169. ELSE;
  1170. MOV.F R3.x, {0, 0, 0, 0};
  1171. ENDIF;
  1172. MOV.F R5.x, R16.w;
  1173. MOV.F R3.z, c[10].y;
  1174. ADD.F32 R3.z, R3, R5.x;
  1175. MOV.F R5.x, R16.z;
  1176. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  1177. TRUNC.U.CC HC.x, R5;
  1178. MOV.S R3.z, R3;
  1179. MOV.S R11.y, R3.x;
  1180. IF    NE.x;
  1181. MOV.F R3.x, {1, 0, 0, 0};
  1182. ELSE;
  1183. MOV.F R3.x, {0, 0, 0, 0};
  1184. ENDIF;
  1185. MOV.F R5.x, R13.z;
  1186. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1187. TRUNC.U.CC HC.x, R5;
  1188. MOV.S R11.w, R3.x;
  1189. IF    NE.x;
  1190. MOV.F R3.x, {1, 0, 0, 0};
  1191. ELSE;
  1192. MOV.F R3.x, {0, 0, 0, 0};
  1193. ENDIF;
  1194. MOV.F R5.y, R11.w;
  1195. MOV.F R5.x, R11;
  1196. ADD.F32 R5.x, R5, -R5.y;
  1197. MOV.S R20.x, R5;
  1198. MOV.F R5.y, R11;
  1199. MOV.F R5.x, c[10].z;
  1200. ADD.F32 R5.x, R5, R5.y;
  1201. MOV.F R5.z, R13;
  1202. MOV.S R5.y, R5.x;
  1203. SGT.F32 R5.x, {0, 0, 0, 0}, R5.z;
  1204. TRUNC.U.CC HC.x, R5;
  1205. MOV.S R15.y, R3.x;
  1206. IF    NE.x;
  1207. MOV.F R3.x, {1, 0, 0, 0};
  1208. ELSE;
  1209. MOV.F R3.x, {0, 0, 0, 0};
  1210. ENDIF;
  1211. MOV.F R5.z, R21.x;
  1212. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  1213. MOV.F R6.x, c[11];
  1214. MOV.F R5.w, R13.x;
  1215. MUL.F32 R5.x, R5.w, R6;
  1216. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1217. MOV.S R16.w, R5.z;
  1218. SNE.F32 R5.z, R6.x, {0, 0, 0, 0}.x;
  1219. TRUNC.U R5.w, R5;
  1220. TRUNC.U R5.z, R5;
  1221. AND.U.CC HC.x, R5.w, R5.z;
  1222. MOV.S R16.z, R3.x;
  1223. IF    NE.x;
  1224. MOV.F R3.x, R5;
  1225. ELSE;
  1226. MOV.F R3.x, {0, 0, 0, 0};
  1227. ENDIF;
  1228. MOV.F R5.w, c[11].y;
  1229. MOV.F R5.z, R14.w;
  1230. MUL.F32 R5.x, R5.z, R5.w;
  1231. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1232. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1233. TRUNC.U R5.z, R5;
  1234. TRUNC.U R5.w, R5;
  1235. AND.U.CC HC.x, R5.z, R5.w;
  1236. MOV.S R8.z, R3.x;
  1237. IF    NE.x;
  1238. MOV.F R3.x, R5;
  1239. ELSE;
  1240. MOV.F R3.x, {0, 0, 0, 0};
  1241. ENDIF;
  1242. MOV.F R5.x, R16.w;
  1243. FLR.F R5.x, R5;
  1244. MOV.S R5.x, R5;
  1245. MOV.F R5.w, R16.z;
  1246. MOV.F R5.z, R15.y;
  1247. ADD.F32 R5.z, R5, -R5.w;
  1248. MOV.S R5.w, R5.z;
  1249. MOV.S R5.z, R5.x;
  1250. MOV.S R11.y, R5.x;
  1251. MOV.F R5.x, R5.z;
  1252. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1253. TRUNC.U.CC HC.x, R5;
  1254. MOV.S R3.x, R3;
  1255. IF    NE.x;
  1256. MOV.F R5.x, {1, 0, 0, 0};
  1257. ELSE;
  1258. MOV.F R5.x, {0, 0, 0, 0};
  1259. ENDIF;
  1260. MOV.F R5.z, R11.y;
  1261. SGT.F32 R5.z, {0, 0, 0, 0}.x, R5;
  1262. TRUNC.U.CC HC.x, R5.z;
  1263. MOV.S R16.x, R5;
  1264. IF    NE.x;
  1265. MOV.F R5.x, {1, 0, 0, 0};
  1266. ELSE;
  1267. MOV.F R5.x, {0, 0, 0, 0};
  1268. ENDIF;
  1269. MOV.F R5.z, R16.x;
  1270. ADD.F32 R5.x, R5.z, -R5;
  1271. MOV.S R20.z, R5.x;
  1272. ENDIF;
  1273. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  1274. MOV.U.CC RC.x, -R5;
  1275. IF    NE.x;
  1276. AND.S R3.w, c[12].x, {65536, 0, 0, 0}.x;
  1277. I2F.S R3.w, R3;
  1278. SGT.F32 R5.x, {0, 0, 0, 0}, R3.w;
  1279. TRUNC.U.CC HC.x, R5;
  1280. AND.S R15.y, c[12].x, {262144, 0, 0, 0}.x;
  1281. AND.S R13.z, c[12].x, {131072, 0, 0, 0}.x;
  1282. MOV.S R11.y, R3.w;
  1283. IF    NE.x;
  1284. MOV.F R3.w, {1, 0, 0, 0}.x;
  1285. ELSE;
  1286. MOV.F R3.w, {0, 0, 0, 0}.x;
  1287. ENDIF;
  1288. MOV.F R5.x, R11.y;
  1289. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1290. TRUNC.U.CC HC.x, R5;
  1291. MOV.S R11.x, R3.w;
  1292. IF    NE.x;
  1293. MOV.F R3.w, {1, 0, 0, 0}.x;
  1294. ELSE;
  1295. MOV.F R3.w, {0, 0, 0, 0}.x;
  1296. ENDIF;
  1297. MOV.F R5.x, R20.y;
  1298. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  1299. MOV.F R5.z, c[11];
  1300. MUL.F32 R5.x, R5, R5.z;
  1301. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1302. TRUNC.U R6.x, R6;
  1303. TRUNC.U R5.z, R5;
  1304. AND.U.CC HC.x, R6, R5.z;
  1305. MOV.S R11.y, R3.w;
  1306. IF    NE.x;
  1307. MOV.F R3.w, R5.x;
  1308. ELSE;
  1309. MOV.F R3.w, {0, 0, 0, 0}.x;
  1310. ENDIF;
  1311. I2F.S R5.x, R13.z;
  1312. MOV.S R14.y, R5.x;
  1313. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1314. TRUNC.U.CC HC.x, R5;
  1315. MOV.S R12.z, R3.w;
  1316. IF    NE.x;
  1317. MOV.F R3.w, {1, 0, 0, 0}.x;
  1318. ELSE;
  1319. MOV.F R3.w, {0, 0, 0, 0}.x;
  1320. ENDIF;
  1321. MOV.F R5.x, R14.y;
  1322. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  1323. TRUNC.U.CC HC.x, R5;
  1324. MOV.S R16.x, R3.w;
  1325. IF    NE.x;
  1326. MOV.F R3.w, {1, 0, 0, 0}.x;
  1327. ELSE;
  1328. MOV.F R3.w, {0, 0, 0, 0}.x;
  1329. ENDIF;
  1330. MOV.F R5.x, R11.y;
  1331. MOV.F R5.z, R11.x;
  1332. ADD.F32 R5.x, R5, -R5.z;
  1333. MOV.S R16.w, R5.x;
  1334. I2F.S R5.x, R15.y;
  1335. MOV.S R11.y, R5.x;
  1336. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  1337. TRUNC.U.CC HC.x, R5;
  1338. MOV.S R16.y, R3.w;
  1339. IF    NE.x;
  1340. MOV.F R3.w, {1, 0, 0, 0}.x;
  1341. ELSE;
  1342. MOV.F R3.w, {0, 0, 0, 0}.x;
  1343. ENDIF;
  1344. MOV.F R5.z, R16.y;
  1345. MOV.F R5.x, R16;
  1346. ADD.F32 R5.x, R5, -R5.z;
  1347. MOV.S R11.z, R5.x;
  1348. MOV.F R5.x, R11.y;
  1349. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  1350. TRUNC.U.CC HC.x, R5;
  1351. MOV.S R11.x, R3.w;
  1352. IF    NE.x;
  1353. MOV.F R3.w, {1, 0, 0, 0}.x;
  1354. ELSE;
  1355. MOV.F R3.w, {0, 0, 0, 0}.x;
  1356. ENDIF;
  1357. MOV.F R6.x, R11;
  1358. ADD.F32 R3.w, R3, -R6.x;
  1359. MOV.F R5.x, R11.z;
  1360. TRUNC.S R5.x, R5;
  1361. MOV.F R5.z, R16.w;
  1362. TRUNC.S R5.z, R5;
  1363. ADD.S R6.y, -R5.z, {0, 0, 0, 0}.x;
  1364. MAX.S R11.x, R5.z, R6.y;
  1365. MOV.F R5.z, c[10].w;
  1366. MOV.S R16.y, R3.w;
  1367. SEQ.F R3.w, R5.z, {1, 0, 0, 0}.x;
  1368. TRUNC.U.CC HC.x, R3.w;
  1369. ADD.S R11.y, -R5.x, {0, 0, 0, 0}.x;
  1370. MOV.S R15.y, R5.x;
  1371. IF    NE.x;
  1372. MOV.S R3.w, {-1, 0, 0, 0}.x;
  1373. ELSE;
  1374. MOV.S R3.w, {0, 0, 0, 0}.x;
  1375. ENDIF;
  1376. MOV.F R5.x, R16.y;
  1377. TRUNC.S R13.x, R5;
  1378. I2F.S R5.x, R11;
  1379. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  1380. MOV.F R6.x, R20;
  1381. MUL.F32 R5.x, -R5.z, R6;
  1382. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1383. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  1384. TRUNC.U R6.x, R6;
  1385. TRUNC.U R5.z, R5;
  1386. AND.U.CC HC.x, R5.z, R6;
  1387. MAX.S R16.w, R15.y, R11.y;
  1388. ADD.S R16.x, -R13, {0, 0, 0, 0};
  1389. IF    NE.x;
  1390. ELSE;
  1391. MOV.F R5.x, {0, 0, 0, 0};
  1392. ENDIF;
  1393. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  1394. I2F.S R5.z, R16.w;
  1395. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  1396. SNE.F32 R6.x, -R5.z, {0, 0, 0, 0};
  1397. MUL.F32 R5.z, -R5, R5.w;
  1398. MOV.F R5.w, c[10];
  1399. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  1400. TRUNC.U R6.x, R6;
  1401. TRUNC.U R6.y, R6;
  1402. AND.U.CC HC.x, R6, R6.y;
  1403. MAX.S R11.z, R13.x, R16.x;
  1404. MOV.S R11.y, R5.x;
  1405. MOV.S R14.w, R5;
  1406. IF    NE.x;
  1407. MOV.F R5.x, R5.z;
  1408. ELSE;
  1409. MOV.F R5.x, {0, 0, 0, 0};
  1410. ENDIF;
  1411. MOV.F R6.x, R11.y;
  1412. MOV.F R5.w, R8.y;
  1413. MUL.F32 R5.z, R5.w, R6.x;
  1414. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1415. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1416. TRUNC.U R5.w, R5;
  1417. TRUNC.U R6.x, R6;
  1418. AND.U.CC HC.x, R5.w, R6;
  1419. MOV.S R16.x, R5;
  1420. IF    NE.x;
  1421. MOV.F R5.x, R5.z;
  1422. ELSE;
  1423. MOV.F R5.x, {0, 0, 0, 0};
  1424. ENDIF;
  1425. MOV.F R6.x, R11.y;
  1426. MOV.F R5.w, R22.x;
  1427. MUL.F32 R5.z, R5.w, R6.x;
  1428. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1429. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1430. TRUNC.U R6.x, R6;
  1431. TRUNC.U R5.w, R5;
  1432. AND.U.CC HC.x, R5.w, R6;
  1433. MOV.S R16.y, R5.x;
  1434. IF    NE.x;
  1435. MOV.F R5.x, R5.z;
  1436. ELSE;
  1437. MOV.F R5.x, {0, 0, 0, 0};
  1438. ENDIF;
  1439. I2F.S R5.z, R11;
  1440. MUL.F32 R5.w, R5.z, {2, 0, 0, 0}.x;
  1441. MOV.F R6.x, R20.z;
  1442. MUL.F32 R5.z, -R5.w, R6.x;
  1443. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  1444. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1445. TRUNC.U R5.w, R5;
  1446. TRUNC.U R6.x, R6;
  1447. AND.U.CC HC.x, R5.w, R6;
  1448. MOV.S R16.z, R5.x;
  1449. IF    NE.x;
  1450. MOV.F R5.x, R5.z;
  1451. ELSE;
  1452. MOV.F R5.x, {0, 0, 0, 0};
  1453. ENDIF;
  1454. MOV.F R6.x, R3.z;
  1455. MOV.F R5.z, R22.x;
  1456. MOV.F R5.w, R16.z;
  1457. ADD.F32 R5.w, R5.z, R5;
  1458. MOV.F R6.y, R16.x;
  1459. MOV.S R11.y, R5.w;
  1460. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  1461. MUL.F32 R5.z, R6.x, R6.y;
  1462. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  1463. TRUNC.U R5.w, R5;
  1464. TRUNC.U R6.x, R6;
  1465. AND.U.CC HC.x, R5.w, R6;
  1466. MOV.S R11.x, R5;
  1467. IF    NE.x;
  1468. MOV.F R5.x, R5.z;
  1469. ELSE;
  1470. MOV.F R5.x, {0, 0, 0, 0};
  1471. ENDIF;
  1472. MOV.F R5.w, R16.y;
  1473. MOV.F R5.z, R8.y;
  1474. ADD.F32 R5.z, R5, R5.w;
  1475. MOV.F R6.x, R16;
  1476. MOV.F R5.w, R22.y;
  1477. MOV.S R12.w, R5.z;
  1478. MUL.F32 R5.z, R5.w, R6.x;
  1479. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1480. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1481. TRUNC.U R6.x, R6;
  1482. TRUNC.U R5.w, R5;
  1483. AND.U.CC HC.x, R5.w, R6;
  1484. MOV.S R11.z, R5.x;
  1485. IF    NE.x;
  1486. MOV.F R5.x, R5.z;
  1487. ELSE;
  1488. MOV.F R5.x, {0, 0, 0, 0};
  1489. ENDIF;
  1490. MOV.F R5.w, R8.z;
  1491. MOV.F R5.z, R11.y;
  1492. ADD.F32 R5.z, R5, R5.w;
  1493. MOV.F R5.w, R11.z;
  1494. ADD.F32 R3.z, R3, R5.w;
  1495. MOV.S R14.y, R5.z;
  1496. MOV.F R5.w, R11.x;
  1497. MOV.F R5.z, R5.y;
  1498. MOV.S R15.z, R3;
  1499. MUL.F32 R3.z, R5, R5.w;
  1500. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1501. TRUNC.U R6.x, R5.z;
  1502. MOV.F R5.z, R22.y;
  1503. ADD.F32 R5.x, R5.z, R5;
  1504. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1505. TRUNC.U R5.z, R5.w;
  1506. AND.U.CC HC.x, R6, R5.z;
  1507. MOV.S R16.x, R5;
  1508. IF    NE.x;
  1509. ELSE;
  1510. MOV.F R3.z, {0, 0, 0, 0}.x;
  1511. ENDIF;
  1512. MOV.F R5.w, R11.x;
  1513. MOV.F R5.z, R22;
  1514. MUL.F32 R5.x, R5.z, R5.w;
  1515. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1516. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1517. TRUNC.U R5.w, R5;
  1518. TRUNC.U R5.z, R5;
  1519. AND.U.CC HC.x, R5.z, R5.w;
  1520. MOV.S R16.w, R3.z;
  1521. IF    NE.x;
  1522. MOV.F R3.z, R5.x;
  1523. ELSE;
  1524. MOV.F R3.z, {0, 0, 0, 0}.x;
  1525. ENDIF;
  1526. MOV.F R5.z, R3.x;
  1527. MOV.F R5.x, R16;
  1528. ADD.F32 R5.x, R5, R5.z;
  1529. MOV.S R13.x, R5;
  1530. MOV.F R5.x, R5.y;
  1531. MOV.F R5.z, R16.w;
  1532. ADD.F32 R5.x, R5, R5.z;
  1533. MOV.F R5.y, c[10].w;
  1534. MOV.S R15.y, R5.x;
  1535. MAX.F R5.x, R5.y, {0, 0, 0, 0};
  1536. LG2.F32 R5.x, R5.x;
  1537. MOV.F R5.y, R22.z;
  1538. ADD.F32 R3.z, R5.y, R3;
  1539. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  1540. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  1541. SEQ.F R5.z, R5.x, R5;
  1542. TRUNC.U R5.w, R5;
  1543. TRUNC.U R5.z, R5;
  1544. AND.U R5.z, R5, R5.w;
  1545. SEQ.U R5.y, R5.z, {1, 0, 0, 0}.x;
  1546. MOV.U.CC RC.x, -R5.y;
  1547. MOV.S R11.w, R3.z;
  1548. IF    NE.x;
  1549. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  1550. ENDIF;
  1551. MOV.F R5.z, c[13].x;
  1552. MUL.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  1553. MOV.F R5.y, R12.z;
  1554. MOV.F R3.z, R11.w;
  1555. ADD.F32 R3.z, R3, R5.y;
  1556. MOV.F R5.y, c[13];
  1557. MUL.F32 R5.y, R5, {0.5, 0, 0, 0}.x;
  1558. MOV.S R16.x, R5.y;
  1559. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  1560. MOV.F R5.w, R18;
  1561. MOV.S R13.y, R3.z;
  1562. MUL.F32 R3.z, R5.w, R5.x;
  1563. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  1564. TRUNC.U R5.y, R5;
  1565. TRUNC.U R5.x, R5;
  1566. AND.U.CC HC.x, R5, R5.y;
  1567. MOV.S R16.z, R5;
  1568. IF    NE.x;
  1569. ELSE;
  1570. MOV.F R3.z, {0, 0, 0, 0}.x;
  1571. ENDIF;
  1572. MOV.F R5.x, R14.w;
  1573. RCP.F32 R5.x, R5.x;
  1574. MOV.S R12.z, R5.x;
  1575. EX2.F32 R3.z, R3.z;
  1576. MOV.F R6.x, R16;
  1577. MOV.F R5.w, R19.y;
  1578. ADD.F32 R5.y, R5.w, R6.x;
  1579. MOV.F R6.y, R18.x;
  1580. SNE.F32 R5.w, R5, -R6.x;
  1581. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  1582. MOV.F R5.z, R16;
  1583. MOV.F R5.x, R19;
  1584. ADD.F32 R5.x, R5, R5.z;
  1585. MOV.S R11.x, R5;
  1586. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  1587. TRUNC.U R5.z, R5;
  1588. TRUNC.U R5.w, R5;
  1589. AND.U.CC HC.x, R5.z, R5.w;
  1590. MUL.F32 R5.y, R6, R5;
  1591. MOV.S R5.x, R18.y;
  1592. MOV.S R16.x, R3.z;
  1593. IF    NE.x;
  1594. MOV.F R3.z, R5.y;
  1595. ELSE;
  1596. MOV.F R3.z, {0, 0, 0, 0}.x;
  1597. ENDIF;
  1598. MOV.F R5.z, R11.x;
  1599. MOV.F R5.y, R5.x;
  1600. MUL.F32 R5.x, R5.y, R5.z;
  1601. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  1602. TRUNC.U R5.z, R5.w;
  1603. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  1604. MOV.S R18.y, R3.z;
  1605. TRUNC.U R3.z, R5.y;
  1606. AND.U.CC HC.x, R3.z, R5.z;
  1607. IF    NE.x;
  1608. MOV.F R3.z, R5.x;
  1609. ELSE;
  1610. MOV.F R3.z, {0, 0, 0, 0}.x;
  1611. ENDIF;
  1612. MOV.S R22.z, R3;
  1613. SEQ.S R3.z, R3.w, {0, 0, 0, 0}.x;
  1614. MOV.U.CC RC.x, -R3.z;
  1615. MOV.F R5.y, R12.z;
  1616. MOV.F R5.x, R16;
  1617. MUL.F32 R5.x, R5, R5.y;
  1618. MOV.S R11.y, R5.x;
  1619. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  1620. IF    NE.x;
  1621. MOV.S R3.z, R11.y;
  1622. ELSE;
  1623. MOV.S R3.z, R18.w;
  1624. ENDIF;
  1625. MOV.F R5.z, R3;
  1626. MOV.F R5.y, R15;
  1627. MUL.F32 R5.x, R5.y, R5.z;
  1628. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1629. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  1630. TRUNC.U R5.z, R5;
  1631. TRUNC.U R5.y, R5;
  1632. AND.U.CC HC.x, R5.y, R5.z;
  1633. IF    NE.x;
  1634. ELSE;
  1635. MOV.F R5.x, {0, 0, 0, 0};
  1636. ENDIF;
  1637. MOV.F R5.w, R3.z;
  1638. MOV.F R5.z, R15;
  1639. MUL.F32 R5.y, R5.z, R5.w;
  1640. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1641. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1642. TRUNC.U R5.z, R5;
  1643. TRUNC.U R5.w, R5;
  1644. AND.U.CC HC.x, R5.z, R5.w;
  1645. MOV.S R11.y, R5.x;
  1646. IF    NE.x;
  1647. MOV.F R5.x, R5.y;
  1648. ELSE;
  1649. MOV.F R5.x, {0, 0, 0, 0};
  1650. ENDIF;
  1651. MOV.F R5.z, R3;
  1652. MOV.F R5.y, R12.w;
  1653. MUL.F32 R3.z, R5.y, R5;
  1654. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  1655. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1656. TRUNC.U R5.y, R5;
  1657. TRUNC.U R5.z, R5;
  1658. AND.U.CC HC.x, R5.y, R5.z;
  1659. MOV.S R11.z, R5.x;
  1660. IF    NE.x;
  1661. ELSE;
  1662. MOV.F R3.z, {0, 0, 0, 0}.x;
  1663. ENDIF;
  1664. MOV.F R5.y, R11;
  1665. MOV.F R5.x, R13.y;
  1666. ADD.F32 R5.x, R5, R5.y;
  1667. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  1668. FRC.F32 R5.x, R5;
  1669. MAD.F32 R5.x, R5, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  1670. MUL.F32 R5.x, R5, {0.159154937, 0, 0, 0};
  1671. MOV.S R13.y, R5.x;
  1672. MOV.F R5.x, R14.y;
  1673. ADD.F32 R3.z, R5.x, R3;
  1674. MAD.F32 R3.z, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  1675. FRC.F32 R3.z, R3;
  1676. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  1677. MOV.F R5.z, R11;
  1678. MOV.F R5.y, R13.x;
  1679. ADD.F32 R5.y, R5, R5.z;
  1680. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  1681. FRC.F32 R5.y, R5;
  1682. MAD.F32 R5.y, R5, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  1683. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  1684. SIN.F32 R5.y, R5.y;
  1685. MOV.S R5.x, R5.y;
  1686. MUL.F32 R5.y, R3.z, {0.159154937, 0, 0, 0}.x;
  1687. MOV.S R13.x, R5.z;
  1688. MOV.S R5.y, R5;
  1689. MUL.F32 R5.y, R5, {6.28318548, 0, 0, 0}.x;
  1690. SIN.F32 R5.y, R5.y;
  1691. MOV.F R5.z, R5.x;
  1692. MOV.S R12.w, R5.x;
  1693. COS.F32 R5.x, R3.z;
  1694. MUL.F32 R3.z, R5.x, R5;
  1695. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1696. MOV.S R15.x, R5;
  1697. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  1698. TRUNC.U R5.z, R5;
  1699. TRUNC.U R5.x, R5;
  1700. AND.U.CC HC.x, R5, R5.z;
  1701. MOV.S R15.y, R5;
  1702. MOV.S R8.z, {1065353216, 0, 0, 0}.x;
  1703. IF    NE.x;
  1704. ELSE;
  1705. MOV.F R3.z, {0, 0, 0, 0}.x;
  1706. ENDIF;
  1707. MOV.F R5.z, R12.w;
  1708. MOV.F R5.y, R15;
  1709. MUL.F32 R5.x, R5.y, R5.z;
  1710. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  1711. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1712. TRUNC.U R5.y, R5;
  1713. TRUNC.U R5.z, R5;
  1714. AND.U.CC HC.x, R5.y, R5.z;
  1715. MOV.S R13.z, R3;
  1716. IF    NE.x;
  1717. MOV.F R3.z, R5.x;
  1718. ELSE;
  1719. MOV.F R3.z, {0, 0, 0, 0}.x;
  1720. ENDIF;
  1721. MOV.F R5.x, R13;
  1722. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  1723. COS.F32 R5.y, R5.x;
  1724. MOV.F R5.z, R15.x;
  1725. MUL.F32 R5.x, R5.y, R5.z;
  1726. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1727. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  1728. MOV.S R15.z, R5.y;
  1729. TRUNC.U R5.y, R5.z;
  1730. TRUNC.U R5.z, R5.w;
  1731. AND.U.CC HC.x, R5.y, R5.z;
  1732. MOV.S R14.w, R3.z;
  1733. IF    NE.x;
  1734. MOV.F R3.z, R5.x;
  1735. ELSE;
  1736. MOV.F R3.z, {0, 0, 0, 0}.x;
  1737. ENDIF;
  1738. MOV.F R5.z, R15;
  1739. MOV.F R5.y, R15;
  1740. MUL.F32 R5.x, R5.y, R5.z;
  1741. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  1742. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1743. TRUNC.U R5.y, R5;
  1744. TRUNC.U R5.z, R5;
  1745. AND.U.CC HC.x, R5.y, R5.z;
  1746. MOV.S R12.x, R3.z;
  1747. IF    NE.x;
  1748. MOV.F R3.z, R5.x;
  1749. ELSE;
  1750. MOV.F R3.z, {0, 0, 0, 0}.x;
  1751. ENDIF;
  1752. MOV.F R5.x, R13.y;
  1753. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  1754. SIN.F32 R5.z, R5.x;
  1755. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  1756. MOV.S R12.y, R5.z;
  1757. MUL.F32 R5.y, R3.z, R5.z;
  1758. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1759. TRUNC.U R5.z, R5;
  1760. TRUNC.U R5.w, R5;
  1761. AND.U.CC HC.x, R5.z, R5.w;
  1762. MOV.S R5.x, R13.y;
  1763. MOV.S R14.y, R3.z;
  1764. IF    NE.x;
  1765. MOV.F R3.z, R5.y;
  1766. ELSE;
  1767. MOV.F R3.z, {0, 0, 0, 0}.x;
  1768. ENDIF;
  1769. MOV.F R5.z, R12.y;
  1770. MOV.F R5.w, -R5.z;
  1771. MOV.F R6.x, R12;
  1772. MUL.F32 R5.y, R5.z, R6.x;
  1773. MOV.S R13.y, R5.w;
  1774. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1775. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  1776. TRUNC.U R5.z, R5;
  1777. TRUNC.U R5.w, R5;
  1778. AND.U.CC HC.x, R5.z, R5.w;
  1779. MOV.S R16.x, R3.z;
  1780. IF    NE.x;
  1781. MOV.F R3.z, R5.y;
  1782. ELSE;
  1783. MOV.F R3.z, {0, 0, 0, 0}.x;
  1784. ENDIF;
  1785. MOV.F R5.w, R13.z;
  1786. MOV.F R5.z, R12.y;
  1787. MUL.F32 R5.y, R5.z, R5.w;
  1788. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1789. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1790. TRUNC.U R5.z, R5;
  1791. TRUNC.U R5.w, R5;
  1792. AND.U.CC HC.x, R5.z, R5.w;
  1793. MOV.S R16.z, R3;
  1794. IF    NE.x;
  1795. ELSE;
  1796. MOV.F R5.y, {0, 0, 0, 0}.x;
  1797. ENDIF;
  1798. MOV.F R5.z, R5.x;
  1799. MOV.F R3.z, R13;
  1800. MOV.F R5.w, R16.x;
  1801. ADD.F32 R6.x, -R3.z, R5.w;
  1802. MOV.F R5.w, R16.z;
  1803. MOV.F R3.z, R14.w;
  1804. ADD.F32 R3.z, R3, R5.w;
  1805. MOV.F R5.w, R14.y;
  1806. ADD.F32 R5.y, -R5.w, R5;
  1807. MOV.S R5.x, R15;
  1808. MOV.S R15.x, R3.z;
  1809. MOV.S R11.y, R5;
  1810. MUL.F32 R5.y, R5.z, {6.28318548, 0, 0, 0}.x;
  1811. COS.F32 R5.z, R5.y;
  1812. MOV.F R5.w, R15.z;
  1813. MOV.S R3.z, R6.x;
  1814. MUL.F32 R5.y, R5.z, R5.w;
  1815. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  1816. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  1817. TRUNC.U R5.w, R5;
  1818. TRUNC.U R6.x, R6;
  1819. AND.U.CC HC.x, R5.w, R6;
  1820. MOV.S R13.x, R5.z;
  1821. IF    NE.x;
  1822. ELSE;
  1823. MOV.F R5.y, {0, 0, 0, 0}.x;
  1824. ENDIF;
  1825. MOV.F R5.w, R13.x;
  1826. MOV.F R5.z, R5.x;
  1827. SNE.F32 R6.x, R5.w, {0, 0, 0, 0};
  1828. MUL.F32 R5.x, R5.z, R5.w;
  1829. TRUNC.U R6.x, R6;
  1830. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1831. MOV.S R5.w, R5.y;
  1832. TRUNC.U R5.y, R5.z;
  1833. AND.U.CC HC.x, R5.y, R6;
  1834. IF    NE.x;
  1835. ELSE;
  1836. MOV.F R5.x, {0, 0, 0, 0};
  1837. ENDIF;
  1838. MOV.F R6.x, R13;
  1839. MOV.F R5.z, R15.y;
  1840. MUL.F32 R5.y, R5.z, R6.x;
  1841. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1842. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1843. TRUNC.U R5.z, R5;
  1844. TRUNC.U R6.x, R6;
  1845. AND.U.CC HC.x, R5.z, R6;
  1846. MOV.S R14.y, R5.x;
  1847. IF    NE.x;
  1848. MOV.F R5.x, R5.y;
  1849. ELSE;
  1850. MOV.F R5.x, {0, 0, 0, 0};
  1851. ENDIF;
  1852. MOV.F R6.x, R14.w;
  1853. MOV.F R5.z, R12.y;
  1854. MUL.F32 R5.y, R5.z, R6.x;
  1855. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1856. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1857. TRUNC.U R5.z, R5;
  1858. TRUNC.U R6.x, R6;
  1859. AND.U.CC HC.x, R5.z, R6;
  1860. MOV.S R18.x, R5;
  1861. IF    NE.x;
  1862. MOV.F R5.x, R5.y;
  1863. ELSE;
  1864. MOV.F R5.x, {0, 0, 0, 0};
  1865. ENDIF;
  1866. MOV.F R6.x, R8;
  1867. MOV.F R5.z, R11.y;
  1868. MUL.F32 R5.y, R5.z, R6.x;
  1869. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1870. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1871. TRUNC.U R5.z, R5;
  1872. TRUNC.U R6.x, R6;
  1873. AND.U.CC HC.x, R5.z, R6;
  1874. MOV.S R16.y, R5.x;
  1875. IF    NE.x;
  1876. MOV.F R5.x, R5.y;
  1877. ELSE;
  1878. MOV.F R5.x, {0, 0, 0, 0};
  1879. ENDIF;
  1880. MOV.F R6.x, R13;
  1881. MOV.F R5.z, R12.w;
  1882. MUL.F32 R5.y, R5.z, R6.x;
  1883. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1884. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1885. TRUNC.U R5.z, R5;
  1886. TRUNC.U R6.x, R6;
  1887. AND.U.CC HC.x, R5.z, R6;
  1888. MOV.S R16.z, R5.x;
  1889. IF    NE.x;
  1890. MOV.F R5.x, R5.y;
  1891. ELSE;
  1892. MOV.F R5.x, {0, 0, 0, 0};
  1893. ENDIF;
  1894. MOV.F R6.x, R14.y;
  1895. MOV.F R5.z, R18.y;
  1896. MUL.F32 R5.y, R5.z, R6.x;
  1897. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1898. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1899. TRUNC.U R5.z, R5;
  1900. TRUNC.U R6.x, R6;
  1901. AND.U.CC HC.x, R5.z, R6;
  1902. MOV.S R16.w, R5.x;
  1903. IF    NE.x;
  1904. MOV.F R5.x, R5.y;
  1905. ELSE;
  1906. MOV.F R5.x, {0, 0, 0, 0};
  1907. ENDIF;
  1908. MOV.F R5.y, R16.z;
  1909. ADD.F32 R5.y, R5.x, R5;
  1910. MOV.F R6.x, R8;
  1911. MOV.F R5.z, R16.w;
  1912. MUL.F32 R5.x, R5.z, R6;
  1913. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1914. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  1915. TRUNC.U R6.x, R6;
  1916. TRUNC.U R5.z, R5;
  1917. AND.U.CC HC.x, R5.z, R6;
  1918. MOV.S R5.y, R5;
  1919. IF    NE.x;
  1920. ELSE;
  1921. MOV.F R5.x, {0, 0, 0, 0};
  1922. ENDIF;
  1923. MOV.F R6.y, R16;
  1924. MOV.F R6.x, R12;
  1925. ADD.F32 R5.z, R6.x, R6.y;
  1926. SNE.F32 R6.x, R6, -R6.y;
  1927. MOV.F R6.z, R8.x;
  1928. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  1929. TRUNC.U R6.x, R6;
  1930. TRUNC.U R6.y, R6;
  1931. AND.U.CC HC.x, R6, R6.y;
  1932. MUL.F32 R5.z, R5, R6;
  1933. MOV.S R11.z, R5.x;
  1934. IF    NE.x;
  1935. MOV.F R5.x, R5.z;
  1936. ELSE;
  1937. MOV.F R5.x, {0, 0, 0, 0};
  1938. ENDIF;
  1939. MOV.F R6.y, R15.x;
  1940. MOV.F R6.x, R22.z;
  1941. MUL.F32 R5.z, R6.x, R6.y;
  1942. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  1943. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1944. TRUNC.U R6.y, R6;
  1945. TRUNC.U R6.x, R6;
  1946. AND.U.CC HC.x, R6, R6.y;
  1947. MOV.S R8.x, R5;
  1948. IF    NE.x;
  1949. MOV.F R5.x, R5.z;
  1950. ELSE;
  1951. MOV.F R5.x, {0, 0, 0, 0};
  1952. ENDIF;
  1953. ADD.F32 R5.y, R5.x, R5;
  1954. MOV.F R5.z, R18.y;
  1955. MOV.F R6.x, R13.y;
  1956. MUL.F32 R5.x, R5.z, R6;
  1957. MOV.S R19.y, R5;
  1958. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  1959. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  1960. TRUNC.U R5.z, R6.x;
  1961. TRUNC.U R5.y, R5;
  1962. AND.U.CC HC.x, R5.y, R5.z;
  1963. IF    NE.x;
  1964. ELSE;
  1965. MOV.F R5.x, {0, 0, 0, 0};
  1966. ENDIF;
  1967. MOV.F R5.y, R11.z;
  1968. ADD.F32 R5.x, R5, R5.y;
  1969. MOV.S R19.z, R5.x;
  1970. MOV.F R5.x, R21;
  1971. SGT.F32 R5.x, R5, {0.5, 0, 0, 0};
  1972. TRUNC.U.CC HC.x, R5;
  1973. AND.S R8.w, c[12].x, {524288, 0, 0, 0}.x;
  1974. IF    NE.x;
  1975. MOV.S R5.x, {-1, 0, 0, 0};
  1976. ELSE;
  1977. MOV.S R5.x, {0, 0, 0, 0};
  1978. ENDIF;
  1979. MOV.S R7.w, R5.x;
  1980. ENDIF;
  1981. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  1982. MOV.U.CC RC.x, -R5;
  1983. IF    NE.x;
  1984. MOV.F R2.z, R5.w;
  1985. MOV.F R2.y, R22.z;
  1986. MUL.F32 R2.x, R2.y, R2.z;
  1987. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  1988. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  1989. TRUNC.U R2.z, R2;
  1990. TRUNC.U R2.y, R2;
  1991. AND.U.CC HC.x, R2.y, R2.z;
  1992. IF    NE.x;
  1993. ELSE;
  1994. MOV.F R2.x, {0, 0, 0, 0};
  1995. ENDIF;
  1996. MOV.F R2.y, R18;
  1997. SNE.F32 R2.z, R2.y, {0, 0, 0, 0}.x;
  1998. MOV.F R2.w, R18.x;
  1999. TRUNC.U R3.x, R2.z;
  2000. MOV.F R2.z, R19;
  2001. ADD.F32 R2.x, R2, R2.z;
  2002. MUL.F32 R2.y, R2, R2.w;
  2003. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  2004. TRUNC.U R2.z, R2.w;
  2005. AND.U.CC HC.x, R3, R2.z;
  2006. MOV.S R12.x, R2;
  2007. IF    NE.x;
  2008. MOV.F R2.x, R2.y;
  2009. ELSE;
  2010. MOV.F R2.x, {0, 0, 0, 0};
  2011. ENDIF;
  2012. MOV.F R2.y, R8.x;
  2013. ADD.F32 R2.x, R2, R2.y;
  2014. MOV.F R2.z, c[15].x;
  2015. MOV.F R2.y, c[14].x;
  2016. MOV.S R5.w, R2.x;
  2017. MUL.F32 R2.x, R2.y, R2.z;
  2018. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  2019. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  2020. TRUNC.U R2.z, R2;
  2021. TRUNC.U R2.y, R2;
  2022. AND.U.CC HC.x, R2.y, R2.z;
  2023. IF    NE.x;
  2024. ELSE;
  2025. MOV.F R2.x, {0, 0, 0, 0};
  2026. ENDIF;
  2027. MOV.F R2.z, c[14].y;
  2028. MOV.F R2.w, c[15].y;
  2029. MUL.F32 R2.y, R2.z, R2.w;
  2030. MOV.S R3.x, R2;
  2031. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  2032. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  2033. TRUNC.U R2.z, R2.w;
  2034. TRUNC.U R2.x, R2;
  2035. AND.U.CC HC.x, R2, R2.z;
  2036. IF    NE.x;
  2037. MOV.F R2.x, R2.y;
  2038. ELSE;
  2039. MOV.F R2.x, {0, 0, 0, 0};
  2040. ENDIF;
  2041. MOV.F R2.w, R3.z;
  2042. MOV.F R2.z, R22;
  2043. MUL.F32 R2.y, R2.z, R2.w;
  2044. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  2045. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  2046. TRUNC.U R2.w, R2;
  2047. TRUNC.U R2.z, R2;
  2048. AND.U.CC HC.x, R2.z, R2.w;
  2049. MOV.S R3.y, R2.x;
  2050. IF    NE.x;
  2051. MOV.F R2.x, R2.y;
  2052. ELSE;
  2053. MOV.F R2.x, {0, 0, 0, 0};
  2054. ENDIF;
  2055. MOV.F R2.y, R5.w;
  2056. ADD.F32 R2.x, R2, R2.y;
  2057. SEQ.S R2.y, R8.w, {524288, 0, 0, 0}.x;
  2058. MOV.U.CC RC.x, -R2.y;
  2059. MOV.S R13.z, R2.x;
  2060. IF    NE.x;
  2061. MOV.S R6.x, {-1, 0, 0, 0};
  2062. ELSE;
  2063. MOV.S R6.x, {0, 0, 0, 0};
  2064. ENDIF;
  2065. MOV.F R2.xyz, R9;
  2066. MOV.F R2.w, R6;
  2067. MOV.F R5.x, R12;
  2068. MOV.F R5.z, R13;
  2069. MOV.F R5.w, R3;
  2070. MOV.F R5.y, R19;
  2071. DP4.F32 R2.x, R2, R5;
  2072. MOV.F R2.z, c[15];
  2073. MOV.F R2.y, c[14].z;
  2074. MOV.S R9.x, R2;
  2075. MUL.F32 R2.x, R2.y, R2.z;
  2076. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  2077. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  2078. TRUNC.U R2.z, R2;
  2079. TRUNC.U R2.y, R2;
  2080. AND.U.CC HC.x, R2.y, R2.z;
  2081. IF    NE.x;
  2082. MOV.F R3.z, R2.x;
  2083. ELSE;
  2084. MOV.F R3.z, {0, 0, 0, 0}.x;
  2085. ENDIF;
  2086. MOV.F R5, R10;
  2087. MOV.F R2.z, R13;
  2088. MOV.F R2.y, R19;
  2089. MOV.F R2.x, R12;
  2090. MOV.F R2.w, R3;
  2091. DP4.F32 R2.x, R5, R2;
  2092. MOV.F R2.z, c[15].w;
  2093. MOV.F R2.y, c[16].x;
  2094. MOV.S R10.y, R2.x;
  2095. MUL.F32 R2.x, R2.y, R2.z;
  2096. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  2097. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  2098. TRUNC.U R2.z, R2;
  2099. TRUNC.U R2.y, R2;
  2100. AND.U.CC HC.x, R2.y, R2.z;
  2101. MOV.S R3.z, R3;
  2102. IF    NE.x;
  2103. MOV.F R6.y, R2.x;
  2104. ELSE;
  2105. MOV.F R6.y, {0, 0, 0, 0}.x;
  2106. ENDIF;
  2107. MOV.F R2.xyz, R17;
  2108. MOV.F R2.w, R9;
  2109. MOV.F R5.x, R12;
  2110. MOV.F R5.z, R13;
  2111. MOV.F R5.w, R3;
  2112. MOV.F R5.y, R19;
  2113. DP4.F32 R2.x, R2, R5;
  2114. MOV.F R2.z, c[17].x;
  2115. MOV.F R2.y, R3.x;
  2116. MOV.S R17.z, R2.x;
  2117. MUL.F32 R2.x, R2.y, R2.z;
  2118. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  2119. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  2120. TRUNC.U R2.y, R2;
  2121. TRUNC.U R2.z, R2;
  2122. AND.U.CC HC.x, R2.y, R2.z;
  2123. MOV.S R2.w, R6.y;
  2124. IF    NE.x;
  2125. ELSE;
  2126. MOV.F R2.x, {0, 0, 0, 0};
  2127. ENDIF;
  2128. MOV.F R2.z, R3.y;
  2129. MOV.F R3.x, c[17];
  2130. SNE.F32 R5.x, R2.z, {0, 0, 0, 0};
  2131. MUL.F32 R2.y, R2.z, R3.x;
  2132. MOV.F R2.z, R23.x;
  2133. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  2134. SNE.F32 R5.y, R3.x, {0, 0, 0, 0}.x;
  2135. MOV.S R3.x, R2.z;
  2136. TRUNC.U R5.x, R5;
  2137. TRUNC.U R2.z, R5.y;
  2138. AND.U.CC HC.x, R5, R2.z;
  2139. MOV.S R2.x, R2;
  2140. IF    NE.x;
  2141. ELSE;
  2142. MOV.F R2.y, {0, 0, 0, 0}.x;
  2143. ENDIF;
  2144. MOV.F R5.y, c[17].x;
  2145. MOV.F R5.x, R3.z;
  2146. MUL.F32 R2.z, R5.x, R5.y;
  2147. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  2148. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  2149. TRUNC.U R5.x, R5;
  2150. TRUNC.U R5.y, R5;
  2151. AND.U.CC HC.x, R5, R5.y;
  2152. MOV.S R2.y, R2;
  2153. IF    NE.x;
  2154. ELSE;
  2155. MOV.F R2.z, {0, 0, 0, 0}.x;
  2156. ENDIF;
  2157. SEQ.S R5.x, R7.w, {0, 0, 0, 0};
  2158. MOV.U.CC RC.x, -R5;
  2159. MOV.S R2.z, R2;
  2160. IF    NE.x;
  2161. MOV.S R5.x, R23.y;
  2162. ELSE;
  2163. MOV.S R5.x, R23.y;
  2164. ENDIF;
  2165. MOV.F R5.y, c[18].z;
  2166. RCP.F32 R5.y, R5.y;
  2167. SEQ.S R5.z, R7.w, {0, 0, 0, 0}.x;
  2168. MOV.U.CC RC.x, -R5.z;
  2169. MOV.S R17.x, R5.y;
  2170. IF    NE.x;
  2171. MOV.S R5.y, R23.x;
  2172. ELSE;
  2173. MOV.S R5.y, R3.x;
  2174. ENDIF;
  2175. MOV.F R5.z, R21.y;
  2176. SGT.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  2177. TRUNC.U.CC HC.x, R5.z;
  2178. IF    NE.x;
  2179. MOV.S R5.z, {-1, 0, 0, 0}.x;
  2180. ELSE;
  2181. MOV.S R5.z, {0, 0, 0, 0}.x;
  2182. ENDIF;
  2183. SEQ.S R5.w, R6.x, {0, 0, 0, 0}.x;
  2184. MOV.U.CC RC.x, -R5.w;
  2185. IF    NE.x;
  2186. MOV.S R5.x, R23.y;
  2187. ELSE;
  2188. ENDIF;
  2189. MOV.F R5.w, c[18];
  2190. RCP.F32 R5.w, R5.w;
  2191. SEQ.S R6.x, R6, {0, 0, 0, 0};
  2192. MOV.U.CC RC.x, -R6;
  2193. MOV.S R7.w, R5.x;
  2194. MOV.S R10.z, R5.w;
  2195. IF    NE.x;
  2196. MOV.S R5.y, R23.x;
  2197. ELSE;
  2198. ENDIF;
  2199. MOV.F R5.w, R5.x;
  2200. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  2201. SEQ.S R6.x, R5.z, {0, 0, 0, 0};
  2202. MOV.U.CC RC.x, -R6;
  2203. MOV.S R23.y, R5;
  2204. MOV.S R16.w, R5;
  2205. IF    NE.x;
  2206. ELSE;
  2207. ENDIF;
  2208. SEQ.S R5.z, R5, {0, 0, 0, 0}.x;
  2209. MOV.U.CC RC.x, -R5.z;
  2210. MOV.S R21.x, R5.y;
  2211. IF    NE.x;
  2212. ELSE;
  2213. MOV.S R5.x, R16.w;
  2214. ENDIF;
  2215. MOV.S R21.z, R5.x;
  2216. MOV.S R23.x, c[9];
  2217. ENDIF;
  2218. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  2219. MOV.U.CC RC.x, -R5;
  2220. IF    NE.x;
  2221. MOV.F R1.w, R8.z;
  2222. MOV.F R1.x, R9;
  2223. MOV.F R1.y, R10;
  2224. MOV.F R1.z, R17;
  2225. MOV.F R0, c[22];
  2226. DP4.F32 R5.x, R1, R0;
  2227. MOV.F R0, c[23];
  2228. DP4.F32 R3.w, R1, R0;
  2229. MOV.F R6, c[24];
  2230. DP4.F32 R0.y, R1, R6;
  2231. MOV.F R0.x, c[13].z;
  2232. ADD.F32 R0.x, R0, R0.y;
  2233. MOV.S R7.y, R0.x;
  2234. MOV.F R0, c[25];
  2235. DP4.F32 R7.x, R1, R0;
  2236. MOV.F R0, c[21];
  2237. DP4.F32 R0.z, R0, R1;
  2238. MOV.S R0.w, R0.z;
  2239. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  2240. MOV.F R8, c[20];
  2241. DP4.F32 R0.y, R8, R1;
  2242. MOV.S R14.w, R0.z;
  2243. AND.S R0.z, c[12].x, {1048576, 0, 0, 0}.x;
  2244. SEQ.S R0.z, R0, {1048576, 0, 0, 0}.x;
  2245. MOV.U.CC RC.x, -R0.z;
  2246. MOV.F R5.y, R3.w;
  2247. MOV.S R14.y, R3.w;
  2248. MOV.F R6, c[26];
  2249. MOV.S R5.z, R7.y;
  2250. MOV.F R5.w, R7.x;
  2251. DP4.F32 R5.y, R5, R6;
  2252. MOV.F R6, c[19];
  2253. DP4.F32 R0.x, R1, R6;
  2254. MOV.S R15.z, R5.y;
  2255. MOV.S R0.y, R0;
  2256. MOV.S R0.x, R0;
  2257. MOV.S R15.x, R5;
  2258. MOV.S R12.w, R7.x;
  2259. MOV.S R13.z, R7.y;
  2260. MOV.S R3.w, R18.z;
  2261. MOV.S R24.x, R23;
  2262. IF    NE.x;
  2263. MOV.S R0.z, {-1, 0, 0, 0}.x;
  2264. ELSE;
  2265. MOV.S R0.z, {0, 0, 0, 0}.x;
  2266. ENDIF;
  2267. SEQ.S R1.x, R0.z, {0, 0, 0, 0};
  2268. MOV.U.CC RC.x, -R1;
  2269. IF    NE.x;
  2270. MOV.S R1.x, R23.y;
  2271. ELSE;
  2272. MOV.S R1.x, R21;
  2273. ENDIF;
  2274. SEQ.S R0.z, R0, {0, 0, 0, 0}.x;
  2275. MOV.U.CC RC.x, -R0.z;
  2276. MOV.S R23.y, R1
  2277. [07:59:02] Link error in shader. Log:
  2278. [07:59:02] Vertex info
  2279. -----------
  2280. Internal error: assembly compile error for vertex shader at offset 1921:
  2281. -- error message --
  2282. line 40, column 45:  error: invalid vertex attribute reference
  2283. line 55, column 25:  error: invalid vertex attribute reference
  2284. line 57, column 25:  error: invalid vertex attribute reference
  2285. line 59, column 25:  error: invalid vertex attribute reference
  2286. line 62, column 25:  error: invalid vertex attribute reference
  2287. -- internal assembly text --
  2288. !!NVvp5.0
  2289. OPTION NV_internal;
  2290. OPTION NV_bindless_texture;
  2291. # cgc version 3.4.0001, build date Jul  3 2019
  2292. # command line args:
  2293. #vendor NVIDIA Corporation
  2294. #version 3.4.0.1 COP Build Date Jul  3 2019
  2295. #profile gp5vp
  2296. #program main
  2297. #semantic uf_remappedVS
  2298. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  2299. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  2300. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  2301. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  2302. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  2303. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  2304. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  2305. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  2306. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  2307. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  2308. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  2309. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  2310. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  2311. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  2312. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  2313. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  2314. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  2315. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  2316. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  2317. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  2318. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  2319. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  2320. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  2321. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  2322. #var float4 passParameterSem9 : $vout.ATTR5 : ATTR5 : -1 : 1
  2323. #var int4 uf_remappedVS[0] :  : c[0], 48 : -1 : 1
  2324. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  2325. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  2326. PARAM c[48] = { program.local[0..47] };
  2327. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  2328. OUTPUT result_attrib[] = { result.attrib[0..5] };
  2329. 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;
  2330. TEMP T;
  2331. TEMP RC;
  2332. SHORT TEMP HC;
  2333. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  2334. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2335. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  2336. OR.U  R0, R0, R1;
  2337. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  2338. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2339. OR.U  R0, R0, R1;
  2340. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  2341. OR.U  R4, R0, R2;
  2342. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  2343. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2344. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  2345. OR.U  R0, R0, R1;
  2346. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  2347. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2348. OR.U  R0, R0, R1;
  2349. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  2350. OR.U  R6, R0, R2;
  2351. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  2352. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2353. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  2354. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  2355. OR.U  R1, R1, R2;
  2356. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  2357. OR.U  R0, R1, R0;
  2358. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  2359. OR.U  R0, R0, R2;
  2360. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  2361. AND.U R3, R2, {65280, 0, 0, 0}.x;
  2362. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  2363. OR.U  R2, R2, R3;
  2364. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  2365. AND.U R3, R1, {16711680, 0, 0, 0}.x;
  2366. OR.U  R2, R2, R3;
  2367. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  2368. OR.U  R7, R2, R1;
  2369. MOV.F R1.x, c[0];
  2370. ADD.F32 R3.x, -R0.w, R1;
  2371. MOV.S R8.xyz, R0;
  2372. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  2373. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2374. MOV.S R9.w, R3.x;
  2375. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  2376. SHR.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  2377. TRUNC.U R17.x, R3;
  2378. SEQ.U R3.x, R17, {1, 0, 0, 0};
  2379. SEQ.U R17.y, -R3.x, {1, 0, 0, 0}.x;
  2380. MOV.U.CC RC.x, -R17.y;
  2381. OR.U  R0, R0, R1;
  2382. SHL.U R2, vertex.attrib[12], {8, 0, 0, 0}.x;
  2383. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2384. OR.U  R0, R0, R1;
  2385. SHL.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  2386. OR.U  R10, R0, R2;
  2387. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  2388. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2389. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  2390. OR.U  R0, R0, R1;
  2391. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  2392. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2393. OR.U  R0, R0, R1;
  2394. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  2395. OR.U  R11, R0, R2;
  2396. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  2397. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2398. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  2399. OR.U  R0, R0, R1;
  2400. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  2401. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2402. OR.U  R0, R0, R1;
  2403. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  2404. OR.U  R12, R0, R2;
  2405. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  2406. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2407. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  2408. OR.U  R0, R0, R1;
  2409. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  2410. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2411. OR.U  R0, R0, R1;
  2412. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  2413. OR.U  R13, R0, R2;
  2414. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  2415. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2416. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  2417. OR.U  R0, R0, R1;
  2418. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  2419. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2420. OR.U  R0, R0, R1;
  2421. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  2422. OR.U  R14, R0, R2;
  2423. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  2424. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2425. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  2426. OR.U  R0, R0, R1;
  2427. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  2428. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2429. OR.U  R0, R0, R1;
  2430. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  2431. OR.U  R22, R0, R2;
  2432. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2433. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2434. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2435. OR.U  R0.xyz, R0, R1;
  2436. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2437. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2438. OR.U  R0.xyz, R0, R1;
  2439. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2440. OR.U  R9.xyz, R0, R2;
  2441. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2442. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2443. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2444. OR.U  R0.xyz, R0, R1;
  2445. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2446. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2447. OR.U  R0.xyz, R0, R1;
  2448. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2449. OR.U  R25.xyz, R0, R2;
  2450. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2451. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2452. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2453. OR.U  R0.xyz, R0, R1;
  2454. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2455. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2456. OR.U  R0.xyz, R0, R1;
  2457. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2458. OR.U  R15.xyz, R0, R2;
  2459. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2460. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2461. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2462. OR.U  R0.xyz, R0, R1;
  2463. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2464. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2465. OR.U  R0.xyz, R0, R1;
  2466. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2467. OR.U  R16.xyz, R0, R2;
  2468. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2469. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  2470. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2471. OR.U  R1.xy, R1, R1.zwzw;
  2472. SHL.U R2.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2473. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  2474. OR.U  R1.xy, R1, R1.zwzw;
  2475. SHL.U R2.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2476. OR.U  R24.xy, R1, R2;
  2477. MOV.U R1.x, R24;
  2478. MOV.F R1.z, R1.x;
  2479. MOV.U R1.y, R24;
  2480. ADD.F32 R1.x, -R1.y, {1, 0, 0, 0};
  2481. ADD.F32 R1.y, -R1.z, {1, 0, 0, 0}.x;
  2482. MOV.S R24.z, R1.x;
  2483. MOV.S R8.w, R1.y;
  2484. MOV.S R0, {0, 0, 0, 0}.x;
  2485. MOV.S R5, {0, 0, 0, 0}.x;
  2486. MOV.S R3, {0, 0, 0, 0}.x;
  2487. MOV.S R2, {0, 0, 0, 0}.x;
  2488. MOV.S R26.xy, {0, 0, 0, 0}.x;
  2489. MOV.S R1.yz, {0, 0, 0, 0};
  2490. MOV.S R17.z, {0, 0, 0, 0}.x;
  2491. MOV.S R1.x, vertex.id;
  2492. MOV.S R1.w, vertex.instance.x;
  2493. MOV.S R15.w, {0, 0, 0, 0}.x;
  2494. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  2495. IF    NE.x;
  2496. MOV.F R3.z, c[1].y;
  2497. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2498. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  2499. MOV.S R26.xy, {0, 0, 0, 0}.x;
  2500. MOV.S R3.z, R3;
  2501. MOV.S R22.w, {1065353216, 0, 0, 0}.x;
  2502. ENDIF;
  2503. SEQ.U R17.x, R17, {0, 0, 0, 0};
  2504. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  2505. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  2506. MOV.U.CC RC.x, -R17;
  2507. IF    NE.x;
  2508. MOV.S R22.w, {0, 0, 0, 0}.x;
  2509. ENDIF;
  2510. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  2511. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  2512. SEQ.U R17.w, -R17.y, {1, 0, 0, 0}.x;
  2513. MOV.U.CC RC.x, -R17.w;
  2514. MOV.U R17.x, -R17;
  2515. MOV.U R23.z, -R17.y;
  2516. IF    NE.x;
  2517. MOV.F R17.y, R7.w;
  2518. TRUNC.S R17.y, R17;
  2519. I2F.S R17.y, R17;
  2520. MOV.F R17.z, R9.w;
  2521. SGE.F32 R17.z, R17, R17.y;
  2522. TRUNC.U R17.z, R17;
  2523. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  2524. SEQ.U R17.w, R23.z, {1, 0, 0, 0}.x;
  2525. AND.U R26.z, -R17, -R17.w;
  2526. MOV.S R17.z, R17.y;
  2527. ELSE;
  2528. MOV.U R26.z, {0, 0, 0, 0}.x;
  2529. ENDIF;
  2530. SEQ.U R17.y, R26.z, {1, 0, 0, 0}.x;
  2531. MOV.U.CC RC.x, -R17.y;
  2532. IF    NE.x;
  2533. MOV.F R3.z, c[1].y;
  2534. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2535. MOV.S R3.xy, {0, 0, 0, 0};
  2536. MOV.S R3.z, R3;
  2537. MOV.S R26.x, {0, 0, 0, 0};
  2538. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  2539. ENDIF;
  2540. SEQ.U R17.x, R17, {1, 0, 0, 0};
  2541. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  2542. MOV.U.CC RC.x, -R17.y;
  2543. MOV.U R23.z, -R17.x;
  2544. IF    NE.x;
  2545. SEQ.S R17.x, R15.w, {0, 0, 0, 0};
  2546. MOV.U R24.w, -R17.x;
  2547. SEQ.U R17.y, R23.z, {1, 0, 0, 0}.x;
  2548. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  2549. AND.U R26.z, -R17.x, -R17.y;
  2550. ELSE;
  2551. MOV.U R24.w, {0, 0, 0, 0}.x;
  2552. MOV.U R26.z, {0, 0, 0, 0}.x;
  2553. ENDIF;
  2554. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  2555. MOV.U.CC RC.x, -R17;
  2556. IF    NE.x;
  2557. MOV.F R0.xyz, R15;
  2558. MOV.F R1.xyz, R9;
  2559. MOV.F R1.w, {0, 0, 0, 0}.x;
  2560. MOV.F R0.w, {-0, 0, 0, 0}.x;
  2561. DP4.F32 R4.w, R0, R1;
  2562. MOV.F R0.xyz, R16;
  2563. MOV.F R0.w, {-0, 0, 0, 0}.x;
  2564. DP4.F32 R0.y, R1, R0;
  2565. MOV.S R5.y, R0;
  2566. MOV.F R0.y, R10.x;
  2567. MIN.F.SAT R0.w, R0.y, {0, 0, 0, 0}.x;
  2568. MOV.F R0.y, R25.x;
  2569. ADD.F32 R0.y, R0, R0.w;
  2570. MOV.S R25.x, R0.y;
  2571. MOV.F R0.y, c[2].x;
  2572. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  2573. TRUNC.U.CC HC.x, R0.y;
  2574. MOV.F R15.xyz, R22;
  2575. MOV.F R15.w, {-0, 0, 0, 0}.x;
  2576. DP4.F32 R0.z, R1, R15;
  2577. MOV.S R15.y, R0.z;
  2578. MOV.S R0.x, R4.w;
  2579. MOV.S R5.xzw, {0, 0, 0, 0}.x;
  2580. MOV.S R0.zw, {0, 0, 0, 0}.x;
  2581. IF    NE.x;
  2582. MOV.F R0.y, {1, 0, 0, 0}.x;
  2583. ELSE;
  2584. MOV.F R0.y, {0, 0, 0, 0}.x;
  2585. ENDIF;
  2586. MOV.F R1.x, R10;
  2587. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  2588. MOV.F R1.y, c[3];
  2589. MUL.F32 R1.x, R1, R1.y;
  2590. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  2591. TRUNC.U R1.z, R1;
  2592. TRUNC.U R1.y, R1;
  2593. AND.U.CC HC.x, R1.z, R1.y;
  2594. MOV.S R18.x, R0.y;
  2595. IF    NE.x;
  2596. MOV.F R0.y, R1.x;
  2597. ELSE;
  2598. MOV.F R0.y, {0, 0, 0, 0}.x;
  2599. ENDIF;
  2600. MOV.F R1.x, c[2];
  2601. SGT.F32 R1.x, R1, {0, 0, 0, 0};
  2602. TRUNC.U.CC HC.x, R1;
  2603. MOV.S R19.y, R0;
  2604. IF    NE.x;
  2605. MOV.F R0.y, {1, 0, 0, 0}.x;
  2606. ELSE;
  2607. MOV.F R0.y, {0, 0, 0, 0}.x;
  2608. ENDIF;
  2609. MOV.F R1.y, c[2].x;
  2610. MOV.F R1.z, R19.y;
  2611. MOV.F R1.x, R9.w;
  2612. RCP.F32 R1.y, R1.y;
  2613. MAD.F32 R1.y, R1.x, R1, R1.z;
  2614. FRC.F32 R1.y, R1;
  2615. MOV.F R1.z, R18.x;
  2616. MOV.S R20.y, R1;
  2617. ADD.F32 R1.y, R0, -R1.z;
  2618. MOV.F R0.y, R17.z;
  2619. DIV.F32 R1.x, R1, R0.y;
  2620. ADD.F32 R1.z, -R1.y, {1, 0, 0, 0}.x;
  2621. MUL.F32 R0.y, R1.x, R1.z;
  2622. SNE.F32 R1.z, -R1.y, {-1, 0, 0, 0}.x;
  2623. TRUNC.U R8.y, R1.z;
  2624. MOV.S R19.z, R1.y;
  2625. MOV.S R4.w, R1.x;
  2626. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  2627. TRUNC.U R8.x, R1;
  2628. AND.U.CC HC.x, R8, R8.y;
  2629. MOV.F R1.y, c[5].w;
  2630. MOV.F R1.x, c[4].w;
  2631. ADD.F32 R1.x, -R1, R1.y;
  2632. MOV.S R9.y, R1.x;
  2633. MOV.F R1.x, c[5].y;
  2634. MOV.F R1.y, c[6];
  2635. ADD.F32 R1.y, -R1.x, R1;
  2636. MOV.S R21.x, R1.y;
  2637. MOV.F R1.w, c[5].x;
  2638. MOV.F R1.z, c[4].x;
  2639. ADD.F32 R1.z, -R1, R1.w;
  2640. MOV.S R21.y, R1.z;
  2641. MOV.F R1.w, c[4].y;
  2642. ADD.F32 R1.x, R1, -R1.w;
  2643. MOV.F R1.z, c[5];
  2644. MOV.F R1.y, c[4].z;
  2645. ADD.F32 R1.y, -R1, R1.z;
  2646. MOV.S R19.y, R1;
  2647. MOV.S R19.w, R1.x;
  2648. IF    NE.x;
  2649. ELSE;
  2650. MOV.F R0.y, {0, 0, 0, 0}.x;
  2651. ENDIF;
  2652. MOV.F R1.z, R19;
  2653. MOV.F R8.x, R20.y;
  2654. MUL.F32 R1.x, R1.z, R8;
  2655. MOV.F R1.w, R9.y;
  2656. MOV.F R1.y, R21;
  2657. DIV.F32 R1.y, R1, R1.w;
  2658. MOV.S R19.x, R1.y;
  2659. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  2660. TRUNC.U R8.y, R1;
  2661. MOV.F R1.z, c[6].x;
  2662. MOV.F R1.y, c[5].x;
  2663. ADD.F32 R1.y, -R1, R1.z;
  2664. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  2665. TRUNC.U R1.z, R8.x;
  2666. MOV.S R21.w, R1.y;
  2667. RCP.F32 R1.y, R1.w;
  2668. AND.U.CC HC.x, R8.y, R1.z;
  2669. MOV.S R21.z, R0.y;
  2670. MOV.S R18.z, R1.y;
  2671. IF    NE.x;
  2672. MOV.F R0.y, R1.x;
  2673. ELSE;
  2674. MOV.F R0.y, {0, 0, 0, 0}.x;
  2675. ENDIF;
  2676. MOV.F R1.z, R19.y;
  2677. MOV.F R1.w, c[4];
  2678. MOV.F R1.y, R18.z;
  2679. MOV.F R1.x, R19.w;
  2680. MUL.F32 R1.x, R1, R1.y;
  2681. MUL.F32 R1.y, R1, R1.z;
  2682. MOV.S R19.z, R1.x;
  2683. MOV.S R0.y, R0;
  2684. MOV.F R1.z, R21;
  2685. ADD.F32 R1.z, R1, R0.y;
  2686. ADD.F32 R8.x, R1.z, -R1.w;
  2687. MUL.F32 R0.y, R8.x, R1;
  2688. MOV.F R1.x, c[5].w;
  2689. MOV.S R23.w, R8.x;
  2690. ADD.F32 R8.x, R1.z, -R1;
  2691. MOV.S R23.x, R1.z;
  2692. SNE.F32 R1.z, R1, R1.w;
  2693. MOV.S R17.x, R8;
  2694. MOV.F R8.x, c[6].w;
  2695. ADD.F32 R1.x, -R1, R8;
  2696. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  2697. TRUNC.U R8.x, R1.y;
  2698. TRUNC.U R1.w, R1.z;
  2699. MOV.S R1.x, R1;
  2700. MOV.F R1.z, R1.x;
  2701. AND.U.CC HC.x, R1.w, R8;
  2702. MOV.F R1.y, c[6].z;
  2703. MOV.F R1.x, c[5].z;
  2704. ADD.F32 R1.x, -R1, R1.y;
  2705. RCP.F32 R1.y, R1.z;
  2706. MOV.S R19.y, R1.x;
  2707. MOV.S R17.w, R1.y;
  2708. IF    NE.x;
  2709. ELSE;
  2710. MOV.F R0.y, {0, 0, 0, 0}.x;
  2711. ENDIF;
  2712. MOV.F R1.z, R19;
  2713. MOV.F R1.y, R23.w;
  2714. MUL.F32 R1.x, R1.y, R1.z;
  2715. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  2716. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2717. TRUNC.U R1.y, R1;
  2718. TRUNC.U R1.z, R1;
  2719. AND.U.CC HC.x, R1.y, R1.z;
  2720. MOV.S R20.x, R0.y;
  2721. IF    NE.x;
  2722. MOV.F R0.y, R1.x;
  2723. ELSE;
  2724. MOV.F R0.y, {0, 0, 0, 0}.x;
  2725. ENDIF;
  2726. MOV.F R1.z, R19.x;
  2727. MOV.F R1.y, R23.w;
  2728. MUL.F32 R1.x, R1.y, R1.z;
  2729. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  2730. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2731. TRUNC.U R1.y, R1;
  2732. TRUNC.U R1.z, R1;
  2733. AND.U.CC HC.x, R1.y, R1.z;
  2734. MOV.S R20.y, R0;
  2735. IF    NE.x;
  2736. MOV.F R0.y, R1.x;
  2737. ELSE;
  2738. MOV.F R0.y, {0, 0, 0, 0}.x;
  2739. ENDIF;
  2740. MOV.F R1.y, R17.w;
  2741. MOV.F R1.x, R21;
  2742. MUL.F32 R1.x, R1, R1.y;
  2743. MOV.F R1.z, R19.y;
  2744. MUL.F32 R1.z, R1, R1.y;
  2745. MOV.S R21.y, R1.x;
  2746. MOV.F R1.x, R21.w;
  2747. MUL.F32 R1.x, R1, R1.y;
  2748. SNE.F32 R1.y, R1.x, {0, 0, 0, 0}.x;
  2749. MOV.F R8.x, R17;
  2750. TRUNC.U R8.y, R1;
  2751. MOV.S R18.x, R1.z;
  2752. MOV.F R1.z, R20.x;
  2753. MOV.F R1.y, c[4].z;
  2754. ADD.F32 R1.y, R1, R1.z;
  2755. MOV.F R1.w, R20.y;
  2756. MOV.F R1.z, c[4].y;
  2757. ADD.F32 R1.z, R1, R1.w;
  2758. MOV.S R15.z, R1;
  2759. MOV.F R1.z, c[4].x;
  2760. ADD.F32 R0.y, R1.z, R0;
  2761. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  2762. TRUNC.U R1.z, R1.w;
  2763. AND.U.CC HC.x, R1.z, R8.y;
  2764. MUL.F32 R1.x, R8, R1;
  2765. MOV.S R1.y, R1;
  2766. MOV.S R22.w, R0.y;
  2767. IF    NE.x;
  2768. MOV.F R0.y, R1.x;
  2769. ELSE;
  2770. MOV.F R0.y, {0, 0, 0, 0}.x;
  2771. ENDIF;
  2772. MOV.F R1.x, R17;
  2773. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  2774. MOV.F R1.w, R18.x;
  2775. TRUNC.U R8.x, R1.z;
  2776. MOV.F R1.z, c[5].x;
  2777. ADD.F32 R0.y, R1.z, R0;
  2778. MUL.F32 R1.x, R1, R1.w;
  2779. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  2780. TRUNC.U R1.z, R1.w;
  2781. AND.U.CC HC.x, R8, R1.z;
  2782. MOV.S R16.x, R0.y;
  2783. IF    NE.x;
  2784. MOV.F R0.y, R1.x;
  2785. ELSE;
  2786. MOV.F R0.y, {0, 0, 0, 0}.x;
  2787. ENDIF;
  2788. MOV.F R1.w, R21.y;
  2789. MOV.F R1.z, R17.x;
  2790. MUL.F32 R1.x, R1.z, R1.w;
  2791. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2792. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  2793. TRUNC.U R1.z, R1;
  2794. TRUNC.U R1.w, R1;
  2795. AND.U.CC HC.x, R1.z, R1.w;
  2796. MOV.S R20.y, R0;
  2797. IF    NE.x;
  2798. MOV.F R0.y, R1.x;
  2799. ELSE;
  2800. MOV.F R0.y, {0, 0, 0, 0}.x;
  2801. ENDIF;
  2802. MOV.F R1.z, c[6].w;
  2803. MOV.F R1.x, R23;
  2804. ADD.F32 R1.x, R1, -R1.z;
  2805. MOV.S R17.w, R1.x;
  2806. MOV.F R1.x, R23.w;
  2807. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  2808. TRUNC.U.CC HC.x, R1;
  2809. MOV.S R20.z, R0.y;
  2810. IF    NE.x;
  2811. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  2812. ELSE;
  2813. MOV.S R0.y, {0, 0, 0, 0}.x;
  2814. ENDIF;
  2815. MOV.F R1.x, R17;
  2816. SGE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  2817. TRUNC.U.CC HC.x, R1.z;
  2818. MOV.S R1.x, R0.y;
  2819. IF    NE.x;
  2820. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  2821. ELSE;
  2822. MOV.S R15.w, {0, 0, 0, 0}.x;
  2823. ENDIF;
  2824. MOV.F R0.y, R17.w;
  2825. SGE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  2826. TRUNC.U.CC HC.x, R0.y;
  2827. MOV.S R15.x, R15.w;
  2828. IF    NE.x;
  2829. MOV.S R16.z, {1065353216, 0, 0, 0}.x;
  2830. ELSE;
  2831. MOV.S R16.z, {0, 0, 0, 0}.x;
  2832. ENDIF;
  2833. MOV.F R8.x, c[7].w;
  2834. MOV.F R1.w, R23.x;
  2835. SGE.F32 R8.z, R1.w, R8.x;
  2836. TRUNC.U.CC HC.x, R8.z;
  2837. MOV.F R1.z, R20.y;
  2838. MOV.F R0.y, c[5].z;
  2839. ADD.F32 R0.y, R0, R1.z;
  2840. MOV.S R9.z, R0.y;
  2841. MOV.F R1.z, R20;
  2842. MOV.F R0.y, c[5];
  2843. ADD.F32 R0.y, R0, R1.z;
  2844. MOV.S R16.w, R0.y;
  2845. ADD.F32 R0.y, R1.w, -R8.x;
  2846. MOV.S R21.x, R0.y;
  2847. MOV.F R1.z, c[7].x;
  2848. MOV.F R0.y, c[6].x;
  2849. ADD.F32 R0.y, -R0, R1.z;
  2850. MOV.S R17.x, R0.y;
  2851. MOV.F R1.w, c[7].y;
  2852. MOV.F R0.y, c[6];
  2853. ADD.F32 R0.y, -R0, R1.w;
  2854. MOV.F R8.y, c[8].x;
  2855. MOV.S R23.w, R0.y;
  2856. ADD.F32 R0.y, -R1.z, R8;
  2857. MOV.F R1.z, c[6].w;
  2858. MOV.S R21.y, R0;
  2859. ADD.F32 R0.y, R8.x, -R1.z;
  2860. MOV.F R1.z, c[8].y;
  2861. ADD.F32 R1.w, -R1, R1.z;
  2862. MOV.S R18.y, R0;
  2863. MOV.F R1.z, c[7];
  2864. MOV.F R0.y, c[6].z;
  2865. ADD.F32 R0.y, -R0, R1.z;
  2866. MOV.S R19.x, R1.w;
  2867. MOV.S R19.z, R0.y;
  2868. IF    NE.x;
  2869. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  2870. ELSE;
  2871. MOV.S R0.y, {0, 0, 0, 0}.x;
  2872. ENDIF;
  2873. MOV.F R1.w, R18.y;
  2874. MOV.F R1.z, R23.w;
  2875. DIV.F32 R1.z, R1, R1.w;
  2876. MOV.F R8.x, R19.z;
  2877. MOV.S R18.z, R1;
  2878. DIV.F32 R1.z, R8.x, R1.w;
  2879. MOV.F R8.x, R17;
  2880. MOV.S R18.y, R1.z;
  2881. DIV.F32 R1.z, R8.x, R1.w;
  2882. SNE.F32 R8.x, R1.z, {0, 0, 0, 0};
  2883. MOV.F R1.w, R17;
  2884. TRUNC.U R9.x, R8;
  2885. MUL.F32 R1.z, R1.w, R1;
  2886. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  2887. TRUNC.U R8.z, R1.w;
  2888. AND.U.CC HC.x, R8.z, R9;
  2889. MOV.F R8.x, c[8].z;
  2890. MOV.F R1.w, c[7].z;
  2891. ADD.F32 R1.w, -R1, R8.x;
  2892. MOV.F R8.y, c[8].w;
  2893. MOV.F R8.x, c[7].w;
  2894. ADD.F32 R8.x, -R8, R8.y;
  2895. MOV.S R17.x, R1.w;
  2896. MOV.S R9.y, R8.x;
  2897. IF    NE.x;
  2898. ELSE;
  2899. MOV.F R1.z, {0, 0, 0, 0}.x;
  2900. ENDIF;
  2901. MOV.F R8.y, R17.w;
  2902. MOV.F R1.w, R23.x;
  2903. MOV.F R8.x, c[8].w;
  2904. ADD.F32 R8.x, R1.w, -R8;
  2905. MOV.F R8.z, R18.y;
  2906. MOV.S R17.y, R8.x;
  2907. SNE.F32 R8.x, R8.y, {0, 0, 0, 0};
  2908. MUL.F32 R1.w, R8.y, R8.z;
  2909. SNE.F32 R8.y, R8.z, {0, 0, 0, 0}.x;
  2910. TRUNC.U R8.x, R8;
  2911. TRUNC.U R8.y, R8;
  2912. AND.U.CC HC.x, R8, R8.y;
  2913. MOV.S R20.x, R1.z;
  2914. IF    NE.x;
  2915. MOV.F R1.z, R1.w;
  2916. ELSE;
  2917. MOV.F R1.z, {0, 0, 0, 0}.x;
  2918. ENDIF;
  2919. MOV.F R8.y, R18.z;
  2920. MOV.F R8.x, R17.w;
  2921. MUL.F32 R1.w, R8.x, R8.y;
  2922. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  2923. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2924. TRUNC.U R8.x, R8;
  2925. TRUNC.U R8.y, R8;
  2926. AND.U.CC HC.x, R8, R8.y;
  2927. MOV.S R20.z, R1;
  2928. IF    NE.x;
  2929. MOV.F R1.z, R1.w;
  2930. ELSE;
  2931. MOV.F R1.z, {0, 0, 0, 0}.x;
  2932. ENDIF;
  2933. MOV.F R8.y, R9;
  2934. MOV.F R11.w, R21.x;
  2935. MOV.F R8.x, R20;
  2936. MOV.F R1.w, c[6].x;
  2937. ADD.F32 R1.w, R1, R8.x;
  2938. MOV.F R8.x, R19;
  2939. DIV.F32 R16.y, R8.x, R8.y;
  2940. MOV.S R9.y, R1.w;
  2941. MOV.F R1.w, R21.y;
  2942. DIV.F32 R1.w, R1, R8.y;
  2943. MUL.F32 R8.x, R11.w, R16.y;
  2944. MOV.F R9.x, R20.z;
  2945. MOV.F R8.z, c[6];
  2946. ADD.F32 R8.z, R8, R9.x;
  2947. SNE.F32 R9.x, R16.y, {0, 0, 0, 0};
  2948. MOV.S R18.z, R1.w;
  2949. MOV.S R1.w, R8.z;
  2950. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  2951. TRUNC.U R11.w, R8.z;
  2952. TRUNC.U R16.y, R9.x;
  2953. MOV.F R8.z, c[6].y;
  2954. ADD.F32 R8.z, R8, R1;
  2955. RCP.F32 R1.z, R8.y;
  2956. AND.U.CC HC.x, R11.w, R16.y;
  2957. MOV.S R9.x, R8.z;
  2958. MOV.S R19.y, R1.z;
  2959. IF    NE.x;
  2960. MOV.F R1.z, R8.x;
  2961. ELSE;
  2962. MOV.F R1.z, {0, 0, 0, 0}.x;
  2963. ENDIF;
  2964. MOV.F R8.z, R18;
  2965. MOV.F R8.y, R21.x;
  2966. MUL.F32 R8.x, R8.y, R8.z;
  2967. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2968. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  2969. TRUNC.U R8.y, R8;
  2970. TRUNC.U R8.z, R8;
  2971. AND.U.CC HC.x, R8.y, R8.z;
  2972. MOV.S R20.x, R1.z;
  2973. IF    NE.x;
  2974. MOV.F R1.z, R8.x;
  2975. ELSE;
  2976. MOV.F R1.z, {0, 0, 0, 0}.x;
  2977. ENDIF;
  2978. MOV.F R8.y, R19;
  2979. MOV.F R8.x, R17;
  2980. MUL.F32 R8.x, R8, R8.y;
  2981. MOV.S R20.z, R8.x;
  2982. MOV.F R8.x, R17.y;
  2983. SGE.F32 R11.w, R8.x, {0, 0, 0, 0}.x;
  2984. TRUNC.U.CC HC.x, R11.w;
  2985. MOV.F R8.y, c[9].x;
  2986. MOV.F R8.x, c[8];
  2987. ADD.F32 R8.x, -R8, R8.y;
  2988. MOV.F R8.z, c[9].y;
  2989. MOV.F R8.y, c[8];
  2990. ADD.F32 R8.y, -R8, R8.z;
  2991. MOV.S R17.w, R8.x;
  2992. MOV.S R19.y, R8;
  2993. MOV.S R20.y, R1.z;
  2994. IF    NE.x;
  2995. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  2996. ELSE;
  2997. MOV.S R1.z, {0, 0, 0, 0}.x;
  2998. ENDIF;
  2999. MOV.F R17.x, R20.z;
  3000. MOV.F R16.y, R21.x;
  3001. MOV.F R8.z, R20.x;
  3002. MOV.F R8.y, c[7];
  3003. ADD.F32 R8.y, R8, R8.z;
  3004. MOV.S R21.y, R8;
  3005. SNE.F32 R8.y, R16, {0, 0, 0, 0}.x;
  3006. MOV.F R11.w, R20.y;
  3007. MOV.F R8.z, c[7].x;
  3008. ADD.F32 R8.z, R8, R11.w;
  3009. MOV.S R17.z, R8;
  3010. SNE.F32 R8.z, R17.x, {0, 0, 0, 0}.x;
  3011. TRUNC.U R8.z, R8;
  3012. TRUNC.U R8.y, R8;
  3013. AND.U.CC HC.x, R8.y, R8.z;
  3014. MUL.F32 R8.x, R16.y, R17;
  3015. IF    NE.x;
  3016. ELSE;
  3017. MOV.F R8.x, {0, 0, 0, 0};
  3018. ENDIF;
  3019. MOV.F R8.y, R23.x;
  3020. MOV.F R8.z, c[9].w;
  3021. SGE.F32 R11.w, R8.y, R8.z;
  3022. MOV.S R8.x, R8;
  3023. MOV.F R8.y, R8.x;
  3024. MOV.F R8.x, c[7].z;
  3025. ADD.F32 R8.x, R8, R8.y;
  3026. MOV.F R8.z, R1;
  3027. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  3028. TRUNC.U.CC HC.x, R11.w;
  3029. MOV.S R17.x, R8;
  3030. MOV.S R20.y, R8;
  3031. IF    NE.x;
  3032. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  3033. ELSE;
  3034. MOV.S R8.y, {0, 0, 0, 0}.x;
  3035. ENDIF;
  3036. MOV.F R8.z, R0.y;
  3037. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  3038. MOV.F R16.y, R16.z;
  3039. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  3040. MOV.F R11.w, c[9].z;
  3041. MOV.F R8.x, c[8].z;
  3042. ADD.F32 R8.x, -R8, R11.w;
  3043. MOV.S R23.w, R8.z;
  3044. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  3045. MOV.F R18.x, R8.y;
  3046. MOV.S R23.x, R8;
  3047. MOV.S R19.w, R16.y;
  3048. MUL.F32 R8.x, R11.w, R18;
  3049. SNE.F32 R16.y, R18.x, {0, 0, 0, 0}.x;
  3050. TRUNC.U R11.w, R16.y;
  3051. TRUNC.U R8.z, R8;
  3052. AND.U.CC HC.x, R8.z, R11.w;
  3053. IF    NE.x;
  3054. MOV.F R8.z, R8.x;
  3055. ELSE;
  3056. MOV.F R8.z, {0, 0, 0, 0}.x;
  3057. ENDIF;
  3058. MOV.F R16.y, R20;
  3059. MOV.F R11.w, R0.y;
  3060. MUL.F32 R8.x, R11.w, R16.y;
  3061. SNE.F32 R18.x, R16.y, {0, 0, 0, 0};
  3062. MOV.F R16.y, c[9].w;
  3063. MOV.F R0.y, c[8].w;
  3064. ADD.F32 R0.y, -R0, R16;
  3065. MOV.S R18.w, R0.y;
  3066. TRUNC.U R18.x, R18;
  3067. MOV.F R16.y, R8;
  3068. MOV.S R0.y, R8.z;
  3069. ADD.F32 R8.z, -R16.y, {1, 0, 0, 0}.x;
  3070. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  3071. MOV.S R18.z, R8;
  3072. TRUNC.U R8.z, R11.w;
  3073. AND.U.CC HC.x, R8.z, R18;
  3074. IF    NE.x;
  3075. ELSE;
  3076. MOV.F R8.x, {0, 0, 0, 0};
  3077. ENDIF;
  3078. MOV.F R11.w, c[9].x;
  3079. MOV.F R16.y, R8;
  3080. MUL.F32 R8.z, R11.w, R16.y;
  3081. MOV.S R19.x, R8;
  3082. SNE.F32 R8.x, R11.w, {0, 0, 0, 0};
  3083. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  3084. TRUNC.U R11.w, R16.y;
  3085. TRUNC.U R8.x, R8;
  3086. AND.U.CC HC.x, R8, R11.w;
  3087. IF    NE.x;
  3088. MOV.F R8.x, R8.z;
  3089. ELSE;
  3090. MOV.F R8.x, {0, 0, 0, 0};
  3091. ENDIF;
  3092. MOV.F R11.w, R18.z;
  3093. MOV.F R8.z, R1;
  3094. MUL.F32 R1.z, R8, R11.w;
  3095. SNE.F32 R16.y, R11.w, {0, 0, 0, 0}.x;
  3096. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3097. TRUNC.U R11.w, R16.y;
  3098. TRUNC.U R8.z, R8;
  3099. AND.U.CC HC.x, R8.z, R11.w;
  3100. MOV.S R8.x, R8;
  3101. IF    NE.x;
  3102. ELSE;
  3103. MOV.F R1.z, {0, 0, 0, 0}.x;
  3104. ENDIF;
  3105. MOV.F R11.w, R8.y;
  3106. MOV.F R8.z, c[9].y;
  3107. MUL.F32 R8.y, R8.z, R11.w;
  3108. MOV.S R16.y, R1.z;
  3109. SNE.F32 R1.z, R8, {0, 0, 0, 0}.x;
  3110. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  3111. TRUNC.U R8.z, R11.w;
  3112. TRUNC.U R1.z, R1;
  3113. AND.U.CC HC.x, R1.z, R8.z;
  3114. IF    NE.x;
  3115. MOV.F R1.z, R8.y;
  3116. ELSE;
  3117. MOV.F R1.z, {0, 0, 0, 0}.x;
  3118. ENDIF;
  3119. MOV.F R11.w, R19.x;
  3120. MOV.F R8.z, R17;
  3121. MUL.F32 R8.y, R8.z, R11.w;
  3122. SNE.F32 R17.z, R11.w, {0, 0, 0, 0}.x;
  3123. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3124. TRUNC.U R11.w, R8.z;
  3125. TRUNC.U R17.z, R17;
  3126. AND.U.CC HC.x, R11.w, R17.z;
  3127. MOV.S R8.z, R1;
  3128. IF    NE.x;
  3129. MOV.F R1.z, R8.y;
  3130. ELSE;
  3131. MOV.F R1.z, {0, 0, 0, 0}.x;
  3132. ENDIF;
  3133. MOV.F R17.z, R17.w;
  3134. MOV.F R11.w, R18;
  3135. DIV.F32 R17.z, R17, R11.w;
  3136. MOV.F R8.y, R19;
  3137. DIV.F32 R8.y, R8, R11.w;
  3138. RCP.F32 R11.w, R11.w;
  3139. MOV.S R18.y, R17.z;
  3140. MOV.F R17.z, R21.y;
  3141. MOV.S R18.z, R11.w;
  3142. SNE.F32 R11.w, R17.z, {0, 0, 0, 0}.x;
  3143. MOV.F R17.w, R19.x;
  3144. MOV.S R18.x, R8.y;
  3145. MUL.F32 R8.y, R17.z, R17.w;
  3146. TRUNC.U R17.z, R11.w;
  3147. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  3148. TRUNC.U R17.w, R17;
  3149. AND.U.CC HC.x, R17.z, R17.w;
  3150. MOV.S R11.w, R1.z;
  3151. IF    NE.x;
  3152. MOV.F R1.z, R8.y;
  3153. ELSE;
  3154. MOV.F R1.z, {0, 0, 0, 0}.x;
  3155. ENDIF;
  3156. MOV.F R17.w, R17.x;
  3157. MOV.F R17.z, R18;
  3158. MOV.F R17.x, R23;
  3159. MUL.F32 R17.x, R17, R17.z;
  3160. MOV.S R18.w, R17.x;
  3161. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  3162. SNE.F32 R17.z, R19.x, {0, 0, 0, 0}.x;
  3163. TRUNC.U R17.x, R17;
  3164. TRUNC.U R17.z, R17;
  3165. AND.U.CC HC.x, R17, R17.z;
  3166. MUL.F32 R8.y, R17.w, R19.x;
  3167. MOV.S R1.z, R1;
  3168. IF    NE.x;
  3169. ELSE;
  3170. MOV.F R8.y, {0, 0, 0, 0}.x;
  3171. ENDIF;
  3172. MOV.F R17.w, R18;
  3173. MOV.F R17.z, R17.y;
  3174. MUL.F32 R17.x, R17.z, R17.w;
  3175. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  3176. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  3177. TRUNC.U R17.z, R17;
  3178. TRUNC.U R17.w, R17;
  3179. AND.U.CC HC.x, R17.z, R17.w;
  3180. MOV.S R8.y, R8;
  3181. IF    NE.x;
  3182. ELSE;
  3183. MOV.F R17.x, {0, 0, 0, 0};
  3184. ENDIF;
  3185. MOV.F R17.w, R17.y;
  3186. MUL.F32 R17.z, R17.w, R18.x;
  3187. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  3188. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  3189. TRUNC.U R17.w, R17;
  3190. TRUNC.U R18.x, R18;
  3191. AND.U.CC HC.x, R17.w, R18;
  3192. MOV.S R22.x, R17;
  3193. IF    NE.x;
  3194. MOV.F R17.x, R17.z;
  3195. ELSE;
  3196. MOV.F R17.x, {0, 0, 0, 0};
  3197. ENDIF;
  3198. MOV.F R17.z, R17.y;
  3199. MOV.F R17.w, R18.y;
  3200. MUL.F32 R17.y, R17.z, R17.w;
  3201. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  3202. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  3203. TRUNC.U R17.z, R17;
  3204. TRUNC.U R17.w, R17;
  3205. AND.U.CC HC.x, R17.z, R17.w;
  3206. MOV.S R22.y, R17.x;
  3207. IF    NE.x;
  3208. MOV.F R17.x, R17.y;
  3209. ELSE;
  3210. MOV.F R17.x, {0, 0, 0, 0};
  3211. ENDIF;
  3212. MOV.F R17.z, R23.w;
  3213. MOV.F R17.y, R16.z;
  3214. MUL.F32 R16.z, R17.y, R17;
  3215. SNE.F32 R17.w, R17.z, {0, 0, 0, 0}.x;
  3216. TRUNC.U R17.z, R17.w;
  3217. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  3218. MOV.S R22.z, R17.x;
  3219. TRUNC.U R17.x, R17.y;
  3220. AND.U.CC HC.x, R17, R17.z;
  3221. IF    NE.x;
  3222. ELSE;
  3223. MOV.F R16.z, {0, 0, 0, 0}.x;
  3224. ENDIF;
  3225. MOV.F R17.x, R19.w;
  3226. SNE.F32 R17.y, R17.x, {0, 0, 0, 0}.x;
  3227. TRUNC.U R17.z, R17.y;
  3228. SNE.F32 R17.y, R15.w, {0, 0, 0, 0}.x;
  3229. MUL.F32 R17.x, R15.w, R17;
  3230. MOV.S R15.w, R16.z;
  3231. TRUNC.U R16.z, R17.y;
  3232. AND.U.CC HC.x, R16.z, R17.z;
  3233. IF    NE.x;
  3234. MOV.F R16.z, R17.x;
  3235. ELSE;
  3236. MOV.F R16.z, {0, 0, 0, 0}.x;
  3237. ENDIF;
  3238. MOV.S R16.z, R16;
  3239. ENDIF;
  3240. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  3241. MOV.U.CC RC.x, -R17;
  3242. IF    NE.x;
  3243. MOV.F R17.x, R15.w;
  3244. MUL.F32 R7.w, R9.y, R17.x;
  3245. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  3246. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3247. TRUNC.U R17.x, R17;
  3248. TRUNC.U R9.y, R9;
  3249. AND.U.CC HC.x, R9.y, R17;
  3250. IF    NE.x;
  3251. ELSE;
  3252. MOV.F R7.w, {0, 0, 0, 0}.x;
  3253. ENDIF;
  3254. MOV.F R9.y, c[8].x;
  3255. MOV.F R17.x, R22.z;
  3256. ADD.F32 R17.x, R9.y, R17;
  3257. MOV.S R20.w, R17.x;
  3258. MOV.F R18.x, R15.w;
  3259. MOV.F R17.w, R9.x;
  3260. MOV.F R17.y, R22;
  3261. MOV.F R17.x, c[8].y;
  3262. ADD.F32 R17.z, R17.x, R17.y;
  3263. MOV.S R20.z, R17;
  3264. SNE.F32 R17.z, R18.x, {0, 0, 0, 0}.x;
  3265. MOV.F R17.y, R22.x;
  3266. MOV.F R17.x, c[8].z;
  3267. ADD.F32 R17.x, R17, R17.y;
  3268. MOV.S R20.y, R17.x;
  3269. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  3270. TRUNC.U R17.y, R17.x;
  3271. TRUNC.U R17.z, R17;
  3272. AND.U.CC HC.x, R17.y, R17.z;
  3273. MUL.F32 R9.y, R17.w, R18.x;
  3274. MOV.S R17.x, R7.w;
  3275. IF    NE.x;
  3276. MOV.F R7.w, R9.y;
  3277. ELSE;
  3278. MOV.F R7.w, {0, 0, 0, 0}.x;
  3279. ENDIF;
  3280. MOV.F R17.z, R16.y;
  3281. MOV.F R17.y, R20.w;
  3282. MUL.F32 R9.y, R17, R17.z;
  3283. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  3284. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  3285. TRUNC.U R17.y, R17;
  3286. TRUNC.U R17.z, R17;
  3287. AND.U.CC HC.x, R17.y, R17.z;
  3288. MOV.S R19.y, R7.w;
  3289. IF    NE.x;
  3290. MOV.F R7.w, R9.y;
  3291. ELSE;
  3292. MOV.F R7.w, {0, 0, 0, 0}.x;
  3293. ENDIF;
  3294. MOV.F R9.y, R1.w;
  3295. MOV.F R17.y, R15.w;
  3296. MUL.F32 R1.w, R9.y, R17.y;
  3297. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3298. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  3299. TRUNC.U R9.y, R9;
  3300. TRUNC.U R17.y, R17;
  3301. AND.U.CC HC.x, R9.y, R17.y;
  3302. MOV.S R21.x, R7.w;
  3303. IF    NE.x;
  3304. ELSE;
  3305. MOV.F R1.w, {0, 0, 0, 0}.x;
  3306. ENDIF;
  3307. MOV.F R17.y, R16;
  3308. MOV.F R9.y, R20;
  3309. MUL.F32 R7.w, R9.y, R17.y;
  3310. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3311. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  3312. TRUNC.U R9.y, R9;
  3313. TRUNC.U R17.y, R17;
  3314. AND.U.CC HC.x, R9.y, R17.y;
  3315. MOV.S R21.y, R1.w;
  3316. IF    NE.x;
  3317. MOV.F R1.w, R7;
  3318. ELSE;
  3319. MOV.F R1.w, {0, 0, 0, 0}.x;
  3320. ENDIF;
  3321. MOV.F R9.y, R20.z;
  3322. MUL.F32 R7.w, R9.y, R16.y;
  3323. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3324. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  3325. TRUNC.U R9.y, R9;
  3326. TRUNC.U R16.y, R16;
  3327. AND.U.CC HC.x, R9.y, R16.y;
  3328. MOV.S R17.z, R1.w;
  3329. IF    NE.x;
  3330. MOV.F R1.w, R7;
  3331. ELSE;
  3332. MOV.F R1.w, {0, 0, 0, 0}.x;
  3333. ENDIF;
  3334. MOV.F R16.y, R16.z;
  3335. MOV.F R9.y, R16.x;
  3336. MUL.F32 R7.w, R9.y, R16.y;
  3337. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3338. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  3339. TRUNC.U R9.y, R9;
  3340. TRUNC.U R16.y, R16;
  3341. AND.U.CC HC.x, R9.y, R16.y;
  3342. MOV.S R17.w, R1;
  3343. IF    NE.x;
  3344. MOV.F R1.w, R7;
  3345. ELSE;
  3346. MOV.F R1.w, {0, 0, 0, 0}.x;
  3347. ENDIF;
  3348. MOV.F R16.y, R16.z;
  3349. MOV.F R9.y, R16.w;
  3350. MUL.F32 R7.w, R9.y, R16.y;
  3351. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3352. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  3353. TRUNC.U R9.y, R9;
  3354. TRUNC.U R16.y, R16;
  3355. AND.U.CC HC.x, R9.y, R16.y;
  3356. MOV.S R17.y, R1.w;
  3357. IF    NE.x;
  3358. MOV.F R1.w, R7;
  3359. ELSE;
  3360. MOV.F R1.w, {0, 0, 0, 0}.x;
  3361. ENDIF;
  3362. MOV.F R16.w, R16.z;
  3363. MOV.F R16.z, R9;
  3364. MOV.F R16.y, R15.x;
  3365. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  3366. MOV.F R9.y, R1.x;
  3367. ADD.F32 R9.y, -R9, {1, 0, 0, 0}.x;
  3368. MOV.S R20.z, R16.y;
  3369. MOV.S R20.y, R9;
  3370. SNE.F32 R9.y, R16.z, {0, 0, 0, 0}.x;
  3371. SNE.F32 R16.y, R16.w, {0, 0, 0, 0}.x;
  3372. TRUNC.U R9.y, R9;
  3373. TRUNC.U R16.y, R16;
  3374. AND.U.CC HC.x, R9.y, R16.y;
  3375. MUL.F32 R7.w, R16.z, R16;
  3376. MOV.S R23.x, R1.w;
  3377. IF    NE.x;
  3378. MOV.F R1.w, R7;
  3379. ELSE;
  3380. MOV.F R1.w, {0, 0, 0, 0}.x;
  3381. ENDIF;
  3382. MOV.F R7.w, R15.y;
  3383. ADD.F32 R7.w, R7, {9.99999997e-07, 0, 0, 0}.x;
  3384. MOV.S R16.z, R7.w;
  3385. MOV.F R7.w, R20.y;
  3386. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  3387. MOV.F R9.y, c[4].x;
  3388. MUL.F32 R7.w, R9.y, R7;
  3389. TRUNC.U R16.y, R16;
  3390. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3391. MOV.S R23.w, R1;
  3392. TRUNC.U R1.w, R9.y;
  3393. AND.U.CC HC.x, R1.w, R16.y;
  3394. IF    NE.x;
  3395. MOV.F R1.w, R7;
  3396. ELSE;
  3397. MOV.F R1.w, {0, 0, 0, 0}.x;
  3398. ENDIF;
  3399. MOV.F R16.y, R20.z;
  3400. MOV.F R9.y, R1.x;
  3401. MUL.F32 R7.w, R9.y, R16.y;
  3402. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3403. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  3404. TRUNC.U R9.y, R9;
  3405. TRUNC.U R16.y, R16;
  3406. AND.U.CC HC.x, R9.y, R16.y;
  3407. MOV.S R19.x, R1.w;
  3408. IF    NE.x;
  3409. MOV.F R1.w, R7;
  3410. ELSE;
  3411. MOV.F R1.w, {0, 0, 0, 0}.x;
  3412. ENDIF;
  3413. MOV.F R7.w, R20.y;
  3414. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  3415. MOV.F R9.y, c[4].z;
  3416. MUL.F32 R7.w, R9.y, R7;
  3417. TRUNC.U R16.y, R16;
  3418. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3419. MOV.S R23.y, R1.w;
  3420. TRUNC.U R1.w, R9.y;
  3421. AND.U.CC HC.x, R1.w, R16.y;
  3422. IF    NE.x;
  3423. MOV.F R1.w, R7;
  3424. ELSE;
  3425. MOV.F R1.w, {0, 0, 0, 0}.x;
  3426. ENDIF;
  3427. MOV.F R7.w, R20.y;
  3428. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  3429. MOV.F R9.y, c[4];
  3430. MUL.F32 R7.w, R9.y, R7;
  3431. TRUNC.U R16.y, R16;
  3432. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3433. MOV.S R19.z, R1.w;
  3434. TRUNC.U R1.w, R9.y;
  3435. AND.U.CC HC.x, R1.w, R16.y;
  3436. IF    NE.x;
  3437. MOV.F R1.w, R7;
  3438. ELSE;
  3439. MOV.F R1.w, {0, 0, 0, 0}.x;
  3440. ENDIF;
  3441. MOV.F R20, R12;
  3442. MOV.S R19.w, R1;
  3443. MOV.F R12.w, R23.y;
  3444. MOV.F R9.y, R22.w;
  3445. MOV.F R18.w, {1, 0, 0, 0}.x;
  3446. MOV.F R18.xyz, R7;
  3447. DP4.F32 R7.w, R20, R18;
  3448. MOV.S R12.x, R7.w;
  3449. MUL.F32 R7.w, R9.y, R12;
  3450. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3451. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  3452. TRUNC.U R9.y, R9;
  3453. TRUNC.U R12.w, R12;
  3454. AND.U.CC HC.x, R9.y, R12.w;
  3455. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  3456. IF    NE.x;
  3457. ELSE;
  3458. MOV.F R7.w, {0, 0, 0, 0}.x;
  3459. ENDIF;
  3460. MOV.F R20.xyz, R7;
  3461. MOV.F R18, R13;
  3462. MOV.F R20.w, {1, 0, 0, 0}.x;
  3463. DP4.F32 R7.x, R18, R20;
  3464. MOV.F R18, R14;
  3465. DP4.F32 R9.y, R20, R18;
  3466. MOV.S R22.w, R7.x;
  3467. MOV.F R7.x, R19;
  3468. ADD.F32 R7.y, R7.w, R7.x;
  3469. MOV.F R7.x, R17.y;
  3470. ADD.F32 R7.x, R7, R7.y;
  3471. MOV.F R7.w, R23.y;
  3472. MOV.F R7.y, R15.z;
  3473. MOV.S R18.z, R7.x;
  3474. MUL.F32 R7.x, R7.y, R7.w;
  3475. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3476. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  3477. TRUNC.U R7.w, R7;
  3478. TRUNC.U R7.y, R7;
  3479. AND.U.CC HC.x, R7.y, R7.w;
  3480. MOV.S R14.z, R9.y;
  3481. IF    NE.x;
  3482. ELSE;
  3483. MOV.F R7.x, {0, 0, 0, 0};
  3484. ENDIF;
  3485. MOV.F R7.w, R10.y;
  3486. MOV.F R7.y, R10.x;
  3487. ADD.F32 R7.y, R7, R7.w;
  3488. MOV.F R9.y, R23;
  3489. MOV.F R7.w, R1.y;
  3490. MOV.S R18.y, R7;
  3491. MUL.F32 R7.y, R7.w, R9;
  3492. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3493. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3494. TRUNC.U R7.w, R7;
  3495. TRUNC.U R9.y, R9;
  3496. AND.U.CC HC.x, R7.w, R9.y;
  3497. MOV.S R18.x, R7;
  3498. IF    NE.x;
  3499. MOV.F R7.x, R7.y;
  3500. ELSE;
  3501. MOV.F R7.x, {0, 0, 0, 0};
  3502. ENDIF;
  3503. MOV.F R7.w, R10.z;
  3504. MOV.F R7.y, R10.x;
  3505. ADD.F32 R7.y, R7, R7.w;
  3506. MUL.F32 R12.w, R7.y, {0.5, 0, 0, 0}.x;
  3507. MOV.F R9.y, R10;
  3508. ADD.F32 R7.y, R7.w, R9;
  3509. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  3510. MOV.F R7.w, R19;
  3511. MOV.F R7.y, R18.x;
  3512. ADD.F32 R7.y, R7, R7.w;
  3513. MOV.F R7.w, R23.x;
  3514. ADD.F32 R7.y, R7.w, R7;
  3515. MOV.F R7.w, R19.y;
  3516. ADD.F32 R7.y, R7.w, R7;
  3517. MOV.S R20.z, R7.y;
  3518. MOV.F R7.y, R19.z;
  3519. ADD.F32 R7.x, R7, R7.y;
  3520. MOV.F R7.y, R23.w;
  3521. ADD.F32 R7.x, R7.y, R7;
  3522. MOV.F R7.y, R21;
  3523. ADD.F32 R7.x, R7.y, R7;
  3524. MOV.S R7.w, R9.y;
  3525. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  3526. MOV.S R20.y, R7.x;
  3527. MOV.S R19.z, R7.y;
  3528. MOV.F R7.y, R18.z;
  3529. MOV.F R7.x, R17;
  3530. ADD.F32 R7.x, R7, R7.y;
  3531. MOV.F R7.y, R11.w;
  3532. ADD.F32 R7.w, R7.y, R7.x;
  3533. MOV.F R7.y, R18;
  3534. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  3535. MOV.F R7.y, R8.x;
  3536. MOV.S R8.x, R9.y;
  3537. MOV.F R7.x, R21;
  3538. ADD.F32 R7.w, R7.x, R7;
  3539. ADD.F32 R7.x, R7.y, R7.w;
  3540. SNE.F32 R7.w, R7.y, -R7;
  3541. MOV.F R7.y, R8.x;
  3542. MOV.F R9.y, R25.x;
  3543. TRUNC.U R8.x, R7.w;
  3544. MUL.F32 R7.y, R7, {2, 0, 0, 0}.x;
  3545. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  3546. MOV.S R23.w, R7.y;
  3547. TRUNC.U R7.y, R7.w;
  3548. AND.U.CC HC.x, R7.y, R8;
  3549. MOV.S R20.w, R12;
  3550. MUL.F32 R7.x, R9.y, R7;
  3551. IF    NE.x;
  3552. ELSE;
  3553. MOV.F R7.x, {0, 0, 0, 0};
  3554. ENDIF;
  3555. MOV.F R7.w, R20.y;
  3556. MOV.F R7.y, R8;
  3557. ADD.F32 R7.y, R7, R7.w;
  3558. MOV.S R18.z, R7.y;
  3559. MOV.F R7.y, R20.z;
  3560. ADD.F32 R1.z, R1, R7.y;
  3561. MOV.F R7.w, R17;
  3562. ADD.F32 R7.w, R7, R1.z;
  3563. MOV.F R7.y, R20.w;
  3564. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  3565. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  3566. MOV.S R20.x, R7.w;
  3567. MOV.F R7.y, R10.x;
  3568. MOV.S R19.y, R1.z;
  3569. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  3570. MOV.F R7.w, c[10].y;
  3571. MOV.S R21.x, R1.z;
  3572. MUL.F32 R1.z, R7.x, R7.w;
  3573. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3574. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  3575. TRUNC.U R7.w, R7;
  3576. TRUNC.U R7.x, R7;
  3577. AND.U.CC HC.x, R7, R7.w;
  3578. MOV.S R7.y, R17.z;
  3579. IF    NE.x;
  3580. MOV.F R7.x, R1.z;
  3581. ELSE;
  3582. MOV.F R7.x, {0, 0, 0, 0};
  3583. ENDIF;
  3584. MOV.F R7.w, R20.x;
  3585. MOV.F R1.z, R8;
  3586. ADD.F32 R8.x, R1.z, R7.w;
  3587. MOV.F R1.z, R7.y;
  3588. MOV.F R7.w, R18.z;
  3589. ADD.F32 R1.z, R1, R7.w;
  3590. MOV.F R7.y, R0;
  3591. ADD.F32 R1.z, R7.y, R1;
  3592. MOV.S R18.y, R8.x;
  3593. MOV.S R18.x, R1.z;
  3594. MOV.F R1.z, R10.y;
  3595. ADD.F32 R1.z, R1, {-0.5, 0, 0, 0}.x;
  3596. MOV.F R7.y, R10.z;
  3597. ADD.F32 R7.y, R7, {-0.5, 0, 0, 0}.x;
  3598. MOV.S R17.z, R1;
  3599. MOV.F R8.x, c[11];
  3600. MOV.F R7.w, R23;
  3601. MOV.S R1.z, R7.y;
  3602. MUL.F32 R7.y, R7.w, R8.x;
  3603. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3604. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  3605. TRUNC.U R7.w, R7;
  3606. TRUNC.U R8.x, R8;
  3607. AND.U.CC HC.x, R7.w, R8;
  3608. MOV.S R8.y, R7.x;
  3609. IF    NE.x;
  3610. MOV.F R7.x, R7.y;
  3611. ELSE;
  3612. MOV.F R7.x, {0, 0, 0, 0};
  3613. ENDIF;
  3614. MOV.F R8.x, c[11].y;
  3615. MOV.F R7.w, R19.z;
  3616. MUL.F32 R7.y, R7.w, R8.x;
  3617. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3618. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  3619. TRUNC.U R7.w, R7;
  3620. TRUNC.U R8.x, R8;
  3621. AND.U.CC HC.x, R7.w, R8;
  3622. MOV.S R18.z, R7.x;
  3623. IF    NE.x;
  3624. MOV.F R7.x, R7.y;
  3625. ELSE;
  3626. MOV.F R7.x, {0, 0, 0, 0};
  3627. ENDIF;
  3628. MOV.F R8.x, c[11].z;
  3629. MOV.F R7.w, R19.y;
  3630. MUL.F32 R7.y, R7.w, R8.x;
  3631. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3632. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  3633. TRUNC.U R7.w, R7;
  3634. TRUNC.U R8.x, R8;
  3635. AND.U.CC HC.x, R7.w, R8;
  3636. MOV.S R18.w, R7.x;
  3637. IF    NE.x;
  3638. MOV.F R7.x, R7.y;
  3639. ELSE;
  3640. MOV.F R7.x, {0, 0, 0, 0};
  3641. ENDIF;
  3642. MOV.F R7.w, c[12].x;
  3643. MOV.F R7.y, R18.z;
  3644. ADD.F32 R7.y, R7, R7.w;
  3645. MOV.F R8.z, R18.x;
  3646. MOV.F R7.w, R25.z;
  3647. MOV.S R8.x, R7.y;
  3648. MUL.F32 R7.y, R7.w, R8.z;
  3649. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3650. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3651. TRUNC.U R8.z, R8;
  3652. TRUNC.U R7.w, R7;
  3653. AND.U.CC HC.x, R7.w, R8.z;
  3654. MOV.S R9.y, R7.x;
  3655. IF    NE.x;
  3656. MOV.F R7.x, R7.y;
  3657. ELSE;
  3658. MOV.F R7.x, {0, 0, 0, 0};
  3659. ENDIF;
  3660. MOV.F R8.z, R18.y;
  3661. MOV.F R7.w, R25.y;
  3662. MUL.F32 R7.y, R7.w, R8.z;
  3663. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3664. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3665. TRUNC.U R8.z, R8;
  3666. TRUNC.U R7.w, R7;
  3667. AND.U.CC HC.x, R7.w, R8.z;
  3668. MOV.S R20.y, R7.x;
  3669. IF    NE.x;
  3670. MOV.F R7.x, R7.y;
  3671. ELSE;
  3672. MOV.F R7.x, {0, 0, 0, 0};
  3673. ENDIF;
  3674. MOV.F R7.w, R18;
  3675. MOV.F R7.y, c[12];
  3676. ADD.F32 R7.y, R7, R7.w;
  3677. MOV.F R7.w, R10.y;
  3678. MOV.S R14.w, R7.y;
  3679. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  3680. MOV.S R18.x, R7.y;
  3681. MOV.F R7.y, R20;
  3682. SNE.F32 R7.w, R7.y, {0, 0, 0, 0}.x;
  3683. MOV.F R11.w, c[10];
  3684. TRUNC.U R12.w, R7;
  3685. MOV.F R8.z, R9.y;
  3686. MOV.F R7.w, c[12].z;
  3687. ADD.F32 R7.w, R7, R8.z;
  3688. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  3689. MOV.S R14.x, R7.w;
  3690. TRUNC.U R7.w, R8.z;
  3691. AND.U.CC HC.x, R12.w, R7.w;
  3692. MUL.F32 R7.y, R7, R11.w;
  3693. MOV.S R20.z, R7.x;
  3694. IF    NE.x;
  3695. MOV.F R7.x, R7.y;
  3696. ELSE;
  3697. MOV.F R7.x, {0, 0, 0, 0};
  3698. ENDIF;
  3699. MOV.F R8.z, c[10];
  3700. MOV.F R7.w, R20.z;
  3701. MUL.F32 R7.y, R7.w, R8.z;
  3702. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  3703. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3704. TRUNC.U R7.w, R7;
  3705. TRUNC.U R8.z, R8;
  3706. AND.U.CC HC.x, R7.w, R8.z;
  3707. MOV.S R18.z, R7.x;
  3708. IF    NE.x;
  3709. MOV.F R7.x, R7.y;
  3710. ELSE;
  3711. MOV.F R7.x, {0, 0, 0, 0};
  3712. ENDIF;
  3713. MOV.F R7.w, R10.x;
  3714. MUL.F32 R7.w, R7, {2, 0, 0, 0}.x;
  3715. MOV.S R20.z, R7.w;
  3716. MOV.F R8.z, R10;
  3717. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  3718. MOV.F R7.w, R18.x;
  3719. FLR.F R7.w, R7;
  3720. MOV.F R9.y, R4.z;
  3721. MOV.F R11.w, R18.z;
  3722. MOV.S R20.x, R7.w;
  3723. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  3724. MUL.F32 R7.y, R9, R11.w;
  3725. MOV.S R20.y, R8.z;
  3726. TRUNC.U R8.z, R7.w;
  3727. SNE.F32 R9.y, R11.w, {0, 0, 0, 0}.x;
  3728. TRUNC.U R9.y, R9;
  3729. AND.U.CC HC.x, R8.z, R9.y;
  3730. MOV.S R7.w, R7.x;
  3731. IF    NE.x;
  3732. MOV.F R7.x, R7.y;
  3733. ELSE;
  3734. MOV.F R7.x, {0, 0, 0, 0};
  3735. ENDIF;
  3736. MOV.F R9.y, c[13].x;
  3737. MOV.F R8.z, R21.x;
  3738. MUL.F32 R7.y, R8.z, R9;
  3739. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  3740. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3741. TRUNC.U R8.z, R8;
  3742. TRUNC.U R9.y, R9;
  3743. AND.U.CC HC.x, R8.z, R9.y;
  3744. MOV.S R12.w, R7.x;
  3745. IF    NE.x;
  3746. MOV.F R7.x, R7.y;
  3747. ELSE;
  3748. MOV.F R7.x, {0, 0, 0, 0};
  3749. ENDIF;
  3750. MOV.F R7.y, R20;
  3751. FLR.F R7.y, R7;
  3752. MOV.F R8.z, R20.x;
  3753. MOV.S R18.x, R7.y;
  3754. SGT.F32 R7.y, {0, 0, 0, 0}.x, R8.z;
  3755. TRUNC.U.CC HC.x, R7.y;
  3756. MOV.S R8.z, R7.x;
  3757. IF    NE.x;
  3758. MOV.F R7.x, {1, 0, 0, 0};
  3759. ELSE;
  3760. MOV.F R7.x, {0, 0, 0, 0};
  3761. ENDIF;
  3762. MOV.F R7.y, R20.x;
  3763. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  3764. TRUNC.U.CC HC.x, R7.y;
  3765. MOV.S R18.y, R7.x;
  3766. IF    NE.x;
  3767. MOV.F R7.x, {1, 0, 0, 0};
  3768. ELSE;
  3769. MOV.F R7.x, {0, 0, 0, 0};
  3770. ENDIF;
  3771. MOV.F R7.y, R20.z;
  3772. FLR.F R7.y, R7;
  3773. MOV.S R18.w, R7.y;
  3774. MOV.F R7.y, R17.z;
  3775. SNE.F32 R11.w, R7.y, {0, 0, 0, 0}.x;
  3776. MOV.F R9.y, c[13];
  3777. MUL.F32 R7.y, R7, R9;
  3778. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3779. TRUNC.U R11.w, R11;
  3780. TRUNC.U R9.y, R9;
  3781. AND.U.CC HC.x, R11.w, R9.y;
  3782. MOV.S R18.z, R7.x;
  3783. IF    NE.x;
  3784. MOV.F R7.x, R7.y;
  3785. ELSE;
  3786. MOV.F R7.x, {0, 0, 0, 0};
  3787. ENDIF;
  3788. MOV.F R9.y, R18;
  3789. MOV.F R7.y, R18.z;
  3790. ADD.F32 R7.y, R7, -R9;
  3791. MOV.S R25.x, R7.y;
  3792. MOV.F R7.y, R18.x;
  3793. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  3794. TRUNC.U.CC HC.x, R7.y;
  3795. MOV.S R7.x, R7;
  3796. IF    NE.x;
  3797. MOV.F R7.y, {1, 0, 0, 0}.x;
  3798. ELSE;
  3799. MOV.F R7.y, {0, 0, 0, 0}.x;
  3800. ENDIF;
  3801. MOV.F R9.y, R18.x;
  3802. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  3803. TRUNC.U.CC HC.x, R9.y;
  3804. MOV.S R20.y, R7;
  3805. IF    NE.x;
  3806. MOV.F R7.y, {1, 0, 0, 0}.x;
  3807. ELSE;
  3808. MOV.F R7.y, {0, 0, 0, 0}.x;
  3809. ENDIF;
  3810. MOV.F R9.y, R18.w;
  3811. SGT.F32 R9.y, R9, {0, 0, 0, 0}.x;
  3812. TRUNC.U.CC HC.x, R9.y;
  3813. MOV.S R20.z, R7.y;
  3814. IF    NE.x;
  3815. MOV.F R7.y, {1, 0, 0, 0}.x;
  3816. ELSE;
  3817. MOV.F R7.y, {0, 0, 0, 0}.x;
  3818. ENDIF;
  3819. MOV.F R9.y, R18.w;
  3820. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  3821. TRUNC.U.CC HC.x, R9.y;
  3822. MOV.S R20.w, R7.y;
  3823. IF    NE.x;
  3824. MOV.F R7.y, {1, 0, 0, 0}.x;
  3825. ELSE;
  3826. MOV.F R7.y, {0, 0, 0, 0}.x;
  3827. ENDIF;
  3828. MOV.F R9.y, R20.w;
  3829. ADD.F32 R7.y, R9, -R7;
  3830. MOV.F R13.w, R20.z;
  3831. MOV.F R11.w, R20.y;
  3832. ADD.F32 R11.w, R11, -R13;
  3833. MOV.S R11.w, R11;
  3834. MOV.S R25.z, R7.y;
  3835. MOV.S R13.w, c[0];
  3836. ENDIF;
  3837. SEQ.U R7.y, R26.z, {1, 0, 0, 0}.x;
  3838. MOV.U.CC RC.x, -R7.y;
  3839. IF    NE.x;
  3840. AND.S R1.x, c[14], {65536, 0, 0, 0};
  3841. I2F.S R1.x, R1;
  3842. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1.x;
  3843. TRUNC.U.CC HC.x, R1.y;
  3844. AND.S R19.y, c[14].x, {262144, 0, 0, 0}.x;
  3845. AND.S R17.z, c[14].x, {131072, 0, 0, 0}.x;
  3846. MOV.S R9.y, R1.x;
  3847. IF    NE.x;
  3848. MOV.F R1.x, {1, 0, 0, 0};
  3849. ELSE;
  3850. MOV.F R1.x, {0, 0, 0, 0};
  3851. ENDIF;
  3852. MOV.F R1.y, R9;
  3853. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  3854. TRUNC.U.CC HC.x, R1.y;
  3855. MOV.S R20.x, R1;
  3856. IF    NE.x;
  3857. MOV.F R1.x, {1, 0, 0, 0};
  3858. ELSE;
  3859. MOV.F R1.x, {0, 0, 0, 0};
  3860. ENDIF;
  3861. MOV.F R1.y, R1.z;
  3862. SNE.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  3863. MOV.F R1.z, c[13];
  3864. MUL.F32 R1.y, R1, R1.z;
  3865. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  3866. TRUNC.U R4.z, R4;
  3867. TRUNC.U R1.z, R1;
  3868. AND.U.CC HC.x, R4.z, R1.z;
  3869. MOV.S R20.y, R1.x;
  3870. IF    NE.x;
  3871. MOV.F R1.x, R1.y;
  3872. ELSE;
  3873. MOV.F R1.x, {0, 0, 0, 0};
  3874. ENDIF;
  3875. I2F.S R1.y, R17.z;
  3876. MOV.S R18.z, R1.y;
  3877. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  3878. TRUNC.U.CC HC.x, R1.y;
  3879. MOV.S R19.z, R1.x;
  3880. IF    NE.x;
  3881. MOV.F R1.x, {1, 0, 0, 0};
  3882. ELSE;
  3883. MOV.F R1.x, {0, 0, 0, 0};
  3884. ENDIF;
  3885. MOV.F R1.y, R18.z;
  3886. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  3887. TRUNC.U.CC HC.x, R1.y;
  3888. MOV.S R18.x, R1;
  3889. IF    NE.x;
  3890. MOV.F R1.x, {1, 0, 0, 0};
  3891. ELSE;
  3892. MOV.F R1.x, {0, 0, 0, 0};
  3893. ENDIF;
  3894. MOV.F R1.z, R20.x;
  3895. MOV.F R1.y, R20;
  3896. ADD.F32 R1.y, R1, -R1.z;
  3897. MOV.S R18.w, R1.y;
  3898. I2F.S R1.y, R19;
  3899. MOV.S R9.y, R1;
  3900. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  3901. TRUNC.U.CC HC.x, R1.y;
  3902. MOV.S R18.y, R1.x;
  3903. IF    NE.x;
  3904. MOV.F R1.x, {1, 0, 0, 0};
  3905. ELSE;
  3906. MOV.F R1.x, {0, 0, 0, 0};
  3907. ENDIF;
  3908. MOV.F R1.z, R18.y;
  3909. MOV.F R1.y, R18.x;
  3910. ADD.F32 R1.y, R1, -R1.z;
  3911. MOV.S R20.z, R1.y;
  3912. MOV.F R1.y, R9;
  3913. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  3914. TRUNC.U.CC HC.x, R1.y;
  3915. MOV.S R20.x, R1;
  3916. IF    NE.x;
  3917. MOV.F R1.x, {1, 0, 0, 0};
  3918. ELSE;
  3919. MOV.F R1.x, {0, 0, 0, 0};
  3920. ENDIF;
  3921. MOV.F R4.z, R20.x;
  3922. ADD.F32 R1.x, R1, -R4.z;
  3923. MOV.F R1.z, R18.w;
  3924. TRUNC.S R1.z, R1;
  3925. MOV.F R1.y, R20.z;
  3926. TRUNC.S R1.y, R1;
  3927. ADD.S R7.y, -R1.z, {0, 0, 0, 0}.x;
  3928. MOV.S R18.y, R1.x;
  3929. MOV.F R1.x, c[12].w;
  3930. SEQ.F R1.x, R1, {1, 0, 0, 0};
  3931. TRUNC.U.CC HC.x, R1;
  3932. MAX.S R20.x, R1.z, R7.y;
  3933. ADD.S R20.y, -R1, {0, 0, 0, 0}.x;
  3934. MOV.S R19.y, R1;
  3935. IF    NE.x;
  3936. MOV.S R1.x, {-1, 0, 0, 0};
  3937. ELSE;
  3938. MOV.S R1.x, {0, 0, 0, 0};
  3939. ENDIF;
  3940. MOV.F R1.y, R18;
  3941. TRUNC.S R21.x, R1.y;
  3942. I2F.S R1.y, R20.x;
  3943. MUL.F32 R1.z, R1.y, {2, 0, 0, 0}.x;
  3944. MOV.F R4.z, R25.x;
  3945. MUL.F32 R1.y, -R1.z, R4.z;
  3946. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  3947. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  3948. TRUNC.U R4.z, R4;
  3949. TRUNC.U R1.z, R1;
  3950. AND.U.CC HC.x, R1.z, R4.z;
  3951. MAX.S R18.w, R19.y, R20.y;
  3952. ADD.S R18.x, -R21, {0, 0, 0, 0};
  3953. IF    NE.x;
  3954. ELSE;
  3955. MOV.F R1.y, {0, 0, 0, 0}.x;
  3956. ENDIF;
  3957. MOV.F R4.z, R11.w;
  3958. SNE.F32 R9.y, R4.z, {0, 0, 0, 0}.x;
  3959. I2F.S R1.z, R18.w;
  3960. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  3961. SNE.F32 R7.y, -R1.z, {0, 0, 0, 0}.x;
  3962. MUL.F32 R1.z, -R1, R4;
  3963. MOV.F R4.z, c[12].w;
  3964. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  3965. TRUNC.U R7.y, R7;
  3966. TRUNC.U R9.y, R9;
  3967. AND.U.CC HC.x, R7.y, R9.y;
  3968. MAX.S R20.z, R21.x, R18.x;
  3969. MOV.S R20.y, R1;
  3970. MOV.S R23.w, R4.z;
  3971. IF    NE.x;
  3972. MOV.F R1.y, R1.z;
  3973. ELSE;
  3974. MOV.F R1.y, {0, 0, 0, 0}.x;
  3975. ENDIF;
  3976. MOV.F R7.y, R20;
  3977. MOV.F R4.z, R8.x;
  3978. MUL.F32 R1.z, R4, R7.y;
  3979. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  3980. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  3981. TRUNC.U R4.z, R4;
  3982. TRUNC.U R7.y, R7;
  3983. AND.U.CC HC.x, R4.z, R7.y;
  3984. MOV.S R18.x, R1.y;
  3985. IF    NE.x;
  3986. MOV.F R1.y, R1.z;
  3987. ELSE;
  3988. MOV.F R1.y, {0, 0, 0, 0}.x;
  3989. ENDIF;
  3990. MOV.F R7.y, R20;
  3991. MOV.F R4.z, R11.x;
  3992. MUL.F32 R1.z, R4, R7.y;
  3993. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  3994. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  3995. TRUNC.U R4.z, R4;
  3996. TRUNC.U R7.y, R7;
  3997. AND.U.CC HC.x, R4.z, R7.y;
  3998. MOV.S R18.y, R1;
  3999. IF    NE.x;
  4000. MOV.F R1.y, R1.z;
  4001. ELSE;
  4002. MOV.F R1.y, {0, 0, 0, 0}.x;
  4003. ENDIF;
  4004. I2F.S R1.z, R20;
  4005. MUL.F32 R4.z, R1, {2, 0, 0, 0}.x;
  4006. MOV.F R7.y, R25.z;
  4007. MUL.F32 R1.z, -R4, R7.y;
  4008. SNE.F32 R4.z, -R4, {0, 0, 0, 0}.x;
  4009. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4010. TRUNC.U R4.z, R4;
  4011. TRUNC.U R7.y, R7;
  4012. AND.U.CC HC.x, R4.z, R7.y;
  4013. MOV.S R18.z, R1.y;
  4014. IF    NE.x;
  4015. MOV.F R1.y, R1.z;
  4016. ELSE;
  4017. MOV.F R1.y, {0, 0, 0, 0}.x;
  4018. ENDIF;
  4019. MOV.F R4.z, R18;
  4020. MOV.F R1.z, R11.x;
  4021. ADD.F32 R1.z, R1, R4;
  4022. MOV.F R7.y, R18.x;
  4023. MOV.F R4.z, R14.w;
  4024. MOV.S R20.y, R1.z;
  4025. MUL.F32 R1.z, R4, R7.y;
  4026. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  4027. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4028. TRUNC.U R4.z, R4;
  4029. TRUNC.U R7.y, R7;
  4030. AND.U.CC HC.x, R4.z, R7.y;
  4031. MOV.S R20.x, R1.y;
  4032. IF    NE.x;
  4033. MOV.F R1.y, R1.z;
  4034. ELSE;
  4035. MOV.F R1.y, {0, 0, 0, 0}.x;
  4036. ENDIF;
  4037. MOV.F R4.z, R18.y;
  4038. MOV.F R1.z, R8.x;
  4039. ADD.F32 R1.z, R1, R4;
  4040. MOV.F R7.y, R18.x;
  4041. MOV.F R4.z, R11.y;
  4042. MOV.S R17.w, R1.z;
  4043. MUL.F32 R1.z, R4, R7.y;
  4044. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  4045. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4046. TRUNC.U R4.z, R4;
  4047. TRUNC.U R7.y, R7;
  4048. AND.U.CC HC.x, R4.z, R7.y;
  4049. MOV.S R20.z, R1.y;
  4050. IF    NE.x;
  4051. MOV.F R1.y, R1.z;
  4052. ELSE;
  4053. MOV.F R1.y, {0, 0, 0, 0}.x;
  4054. ENDIF;
  4055. MOV.F R4.z, R20;
  4056. MOV.F R1.z, R14.w;
  4057. ADD.F32 R1.z, R1, R4;
  4058. MOV.S R21.z, R1;
  4059. MOV.F R1.z, R20.y;
  4060. MOV.F R4.z, R8;
  4061. ADD.F32 R4.z, R1, R4;
  4062. MOV.F R1.z, R11.y;
  4063. ADD.F32 R1.z, R1, R1.y;
  4064. MOV.S R21.y, R4.z;
  4065. MOV.F R4.z, R14.x;
  4066. MOV.F R7.y, R20.x;
  4067. MUL.F32 R1.y, R4.z, R7;
  4068. MOV.S R18.x, R1.z;
  4069. SNE.F32 R1.z, R4, {0, 0, 0, 0}.x;
  4070. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4071. TRUNC.U R4.z, R7.y;
  4072. TRUNC.U R1.z, R1;
  4073. AND.U.CC HC.x, R1.z, R4.z;
  4074. IF    NE.x;
  4075. ELSE;
  4076. MOV.F R1.y, {0, 0, 0, 0}.x;
  4077. ENDIF;
  4078. MOV.F R7.y, R20.x;
  4079. MOV.F R4.z, R11;
  4080. MUL.F32 R1.z, R4, R7.y;
  4081. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  4082. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4083. TRUNC.U R4.z, R4;
  4084. TRUNC.U R7.y, R7;
  4085. AND.U.CC HC.x, R4.z, R7.y;
  4086. MOV.S R18.w, R1.y;
  4087. IF    NE.x;
  4088. MOV.F R1.y, R1.z;
  4089. ELSE;
  4090. MOV.F R1.y, {0, 0, 0, 0}.x;
  4091. ENDIF;
  4092. MOV.F R4.z, R7.x;
  4093. MOV.F R1.z, R18.x;
  4094. ADD.F32 R1.z, R1, R4;
  4095. MOV.S R21.x, R1.z;
  4096. MOV.F R1.z, c[12].w;
  4097. MAX.F R1.z, R1, {0, 0, 0, 0}.x;
  4098. LG2.F32 R1.z, R1.z;
  4099. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  4100. MOV.F R7.y, R18.w;
  4101. MOV.F R4.z, R14.x;
  4102. ADD.F32 R4.z, R4, R7.y;
  4103. MOV.S R19.y, R4.z;
  4104. MOV.F R4.z, R11;
  4105. ADD.F32 R1.y, R4.z, R1;
  4106. MUL.F32 R7.y, R1.z, {2, 0, 0, 0}.x;
  4107. SEQ.F R7.y, R1.z, R7;
  4108. TRUNC.U R9.y, R9;
  4109. TRUNC.U R7.y, R7;
  4110. AND.U R7.y, R7, R9;
  4111. SEQ.U R4.z, R7.y, {1, 0, 0, 0}.x;
  4112. MOV.U.CC RC.x, -R4.z;
  4113. MOV.S R20.w, R1.y;
  4114. IF    NE.x;
  4115. MOV.F R1.z, {-3.40282347e+38, 0, 0, 0}.x;
  4116. ENDIF;
  4117. MOV.F R4.z, R19;
  4118. MOV.F R1.y, R20.w;
  4119. ADD.F32 R1.y, R1, R4.z;
  4120. MOV.F R4.z, c[15].x;
  4121. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  4122. MOV.S R18.z, R4;
  4123. MOV.F R7.y, R9.w;
  4124. MOV.S R23.y, R1;
  4125. MUL.F32 R1.y, R7, R1.z;
  4126. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  4127. MOV.F R4.z, c[15].y;
  4128. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  4129. MUL.F32 R1.z, R4, {0.5, 0, 0, 0}.x;
  4130. TRUNC.U R7.y, R7;
  4131. TRUNC.U R4.z, R9.y;
  4132. AND.U.CC HC.x, R7.y, R4.z;
  4133. MOV.S R18.x, R1.z;
  4134. IF    NE.x;
  4135. ELSE;
  4136. MOV.F R1.y, {0, 0, 0, 0}.x;
  4137. ENDIF;
  4138. MOV.F R1.z, R4.x;
  4139. MOV.F R4.z, R18;
  4140. ADD.F32 R1.z, R1, R4;
  4141. MOV.F R4.x, R23.w;
  4142. RCP.F32 R4.x, R4.x;
  4143. MOV.S R19.z, R4.x;
  4144. EX2.F32 R1.y, R1.y;
  4145. SNE.F32 R4.x, R7.w, {0, 0, 0, 0};
  4146. MOV.F R4.z, R18.x;
  4147. MOV.S R20.x, R1.z;
  4148. ADD.F32 R1.z, R4.y, R4;
  4149. SNE.F32 R4.y, R4, -R4.z;
  4150. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  4151. TRUNC.U R4.y, R4;
  4152. TRUNC.U R4.x, R4;
  4153. AND.U.CC HC.x, R4, R4.y;
  4154. MUL.F32 R1.z, R7.w, R1;
  4155. MOV.S R7.y, R8;
  4156. MOV.S R18.x, R1.y;
  4157. IF    NE.x;
  4158. MOV.F R1.y, R1.z;
  4159. ELSE;
  4160. MOV.F R1.y, {0, 0, 0, 0}.x;
  4161. ENDIF;
  4162. MOV.F R1.z, R20.x;
  4163. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  4164. MOV.F R4.x, R7.y;
  4165. MUL.F32 R1.z, R4.x, R1;
  4166. TRUNC.U R4.y, R4;
  4167. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4168. MOV.S R8.y, R1;
  4169. TRUNC.U R1.y, R4.x;
  4170. AND.U.CC HC.x, R1.y, R4.y;
  4171. IF    NE.x;
  4172. MOV.F R1.y, R1.z;
  4173. ELSE;
  4174. MOV.F R1.y, {0, 0, 0, 0}.x;
  4175. ENDIF;
  4176. SEQ.S R1.x, R1, {0, 0, 0, 0};
  4177. MOV.U.CC RC.x, -R1;
  4178. MOV.F R4.x, R19.z;
  4179. MOV.F R1.z, R18.x;
  4180. MUL.F32 R1.z, R1, R4.x;
  4181. MOV.S R20.y, R1.z;
  4182. MOV.S R4.z, R1.y;
  4183. IF    NE.x;
  4184. MOV.S R1.x, R20.y;
  4185. ELSE;
  4186. MOV.S R1.x, R9.w;
  4187. ENDIF;
  4188. MOV.F R4.x, R1;
  4189. MOV.F R1.z, R19.y;
  4190. MUL.F32 R1.y, R1.z, R4.x;
  4191. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4192. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4193. TRUNC.U R4.x, R4;
  4194. TRUNC.U R1.z, R1;
  4195. AND.U.CC HC.x, R1.z, R4;
  4196. IF    NE.x;
  4197. ELSE;
  4198. MOV.F R1.y, {0, 0, 0, 0}.x;
  4199. ENDIF;
  4200. MOV.F R4.y, R1.x;
  4201. MOV.F R4.x, R21.z;
  4202. MUL.F32 R1.z, R4.x, R4.y;
  4203. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4204. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  4205. TRUNC.U R4.x, R4;
  4206. TRUNC.U R4.y, R4;
  4207. AND.U.CC HC.x, R4, R4.y;
  4208. MOV.S R20.y, R1;
  4209. IF    NE.x;
  4210. MOV.F R1.y, R1.z;
  4211. ELSE;
  4212. MOV.F R1.y, {0, 0, 0, 0}.x;
  4213. ENDIF;
  4214. MOV.F R4.x, R1;
  4215. MOV.F R1.z, R17.w;
  4216. MUL.F32 R1.x, R1.z, R4;
  4217. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4218. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4219. TRUNC.U R1.z, R1;
  4220. TRUNC.U R4.x, R4;
  4221. AND.U.CC HC.x, R1.z, R4;
  4222. MOV.S R20.z, R1.y;
  4223. IF    NE.x;
  4224. ELSE;
  4225. MOV.F R1.x, {0, 0, 0, 0};
  4226. ENDIF;
  4227. MOV.F R4.y, R21;
  4228. ADD.F32 R1.x, R4.y, R1;
  4229. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  4230. MOV.F R1.z, R20;
  4231. MOV.F R1.y, R21.x;
  4232. ADD.F32 R1.y, R1, R1.z;
  4233. MAD.F32 R4.x, R1.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  4234. MOV.F R1.z, R20.y;
  4235. MOV.F R1.y, R23;
  4236. ADD.F32 R1.y, R1, R1.z;
  4237. FRC.F32 R1.z, R4.x;
  4238. MAD.F32 R1.z, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  4239. MUL.F32 R4.x, R1.z, {0.159154937, 0, 0, 0};
  4240. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  4241. FRC.F32 R1.y, R1;
  4242. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  4243. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  4244. MOV.S R21.y, R1;
  4245. SIN.F32 R1.y, R1.z;
  4246. MOV.S R1.y, R1;
  4247. MOV.S R1.z, R1.y;
  4248. MOV.S R21.x, R4;
  4249. MOV.F R4.x, R1.z;
  4250. FRC.F32 R1.x, R1;
  4251. MOV.S R17.w, R1.y;
  4252. MAD.F32 R1.y, R1.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  4253. COS.F32 R1.z, R1.y;
  4254. SIN.F32 R1.y, R1.y;
  4255. MUL.F32 R1.x, R1.z, R4;
  4256. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4257. MOV.S R19.y, R1;
  4258. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  4259. TRUNC.U R4.x, R4;
  4260. TRUNC.U R1.y, R1;
  4261. AND.U.CC HC.x, R1.y, R4;
  4262. MOV.S R23.x, R1.z;
  4263. IF    NE.x;
  4264. ELSE;
  4265. MOV.F R1.x, {0, 0, 0, 0};
  4266. ENDIF;
  4267. MOV.F R4.x, R17.w;
  4268. MOV.F R1.z, R19.y;
  4269. MUL.F32 R1.y, R1.z, R4.x;
  4270. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4271. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4272. TRUNC.U R1.z, R1;
  4273. TRUNC.U R4.x, R4;
  4274. AND.U.CC HC.x, R1.z, R4;
  4275. MOV.S R17.z, R1.x;
  4276. IF    NE.x;
  4277. MOV.F R1.x, R1.y;
  4278. ELSE;
  4279. MOV.F R1.x, {0, 0, 0, 0};
  4280. ENDIF;
  4281. MOV.F R1.y, R21.x;
  4282. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  4283. COS.F32 R1.z, R1.y;
  4284. MOV.F R4.x, R23;
  4285. MUL.F32 R1.y, R1.z, R4.x;
  4286. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4287. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  4288. MOV.S R21.z, R1;
  4289. TRUNC.U R1.z, R4.x;
  4290. TRUNC.U R4.x, R4.y;
  4291. AND.U.CC HC.x, R1.z, R4;
  4292. MOV.S R23.w, R1.x;
  4293. IF    NE.x;
  4294. MOV.F R1.x, R1.y;
  4295. ELSE;
  4296. MOV.F R1.x, {0, 0, 0, 0};
  4297. ENDIF;
  4298. MOV.F R4.x, R21.z;
  4299. MOV.F R1.z, R19.y;
  4300. MUL.F32 R1.y, R1.z, R4.x;
  4301. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4302. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4303. TRUNC.U R1.z, R1;
  4304. TRUNC.U R4.x, R4;
  4305. AND.U.CC HC.x, R1.z, R4;
  4306. MOV.S R17.x, R1;
  4307. IF    NE.x;
  4308. MOV.F R1.x, R1.y;
  4309. ELSE;
  4310. MOV.F R1.x, {0, 0, 0, 0};
  4311. ENDIF;
  4312. MOV.F R1.y, R21;
  4313. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  4314. SIN.F32 R1.z, R1.y;
  4315. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  4316. MOV.S R17.y, R1.z;
  4317. MUL.F32 R1.y, R1.x, R1.z;
  4318. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4319. TRUNC.U R1.z, R1;
  4320. TRUNC.U R4.x, R4;
  4321. AND.U.CC HC.x, R1.z, R4;
  4322. MOV.S R7.y, R21;
  4323. MOV.S R23.y, R1.x;
  4324. IF    NE.x;
  4325. MOV.F R1.x, R1.y;
  4326. ELSE;
  4327. MOV.F R1.x, {0, 0, 0, 0};
  4328. ENDIF;
  4329. MOV.F R1.z, R17.y;
  4330. MOV.F R4.x, -R1.z;
  4331. MOV.F R4.y, R17.x;
  4332. MUL.F32 R1.y, R1.z, R4;
  4333. MOV.S R21.y, R4.x;
  4334. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4335. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  4336. TRUNC.U R1.z, R1;
  4337. TRUNC.U R4.x, R4;
  4338. AND.U.CC HC.x, R1.z, R4;
  4339. MOV.S R18.x, R1;
  4340. IF    NE.x;
  4341. MOV.F R1.x, R1.y;
  4342. ELSE;
  4343. MOV.F R1.x, {0, 0, 0, 0};
  4344. ENDIF;
  4345. MOV.F R4.x, R17.z;
  4346. MOV.F R1.z, R17.y;
  4347. MUL.F32 R1.y, R1.z, R4.x;
  4348. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4349. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4350. TRUNC.U R1.z, R1;
  4351. TRUNC.U R4.x, R4;
  4352. AND.U.CC HC.x, R1.z, R4;
  4353. MOV.S R18.z, R1.x;
  4354. IF    NE.x;
  4355. MOV.F R1.x, R1.y;
  4356. ELSE;
  4357. MOV.F R1.x, {0, 0, 0, 0};
  4358. ENDIF;
  4359. MOV.F R1.y, R7;
  4360. MOV.F R1.z, R17;
  4361. MOV.F R4.x, R18;
  4362. ADD.F32 R4.y, -R1.z, R4.x;
  4363. MOV.F R4.x, R18.z;
  4364. MOV.F R1.z, R23.w;
  4365. ADD.F32 R1.z, R1, R4.x;
  4366. MOV.S R7.y, R23.x;
  4367. MOV.S R23.x, R1.z;
  4368. MOV.F R1.z, R23.y;
  4369. ADD.F32 R1.x, -R1.z, R1;
  4370. MOV.S R20.y, R1.x;
  4371. MUL.F32 R1.x, R1.y, {6.28318548, 0, 0, 0};
  4372. COS.F32 R1.y, R1.x;
  4373. MOV.F R1.z, R21;
  4374. MUL.F32 R1.x, R1.y, R1.z;
  4375. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4376. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  4377. TRUNC.U R1.z, R1;
  4378. TRUNC.U R4.x, R4;
  4379. AND.U.CC HC.x, R1.z, R4;
  4380. MOV.S R11.z, R4.y;
  4381. MOV.S R21.x, R1.y;
  4382. IF    NE.x;
  4383. ELSE;
  4384. MOV.F R1.x, {0, 0, 0, 0};
  4385. ENDIF;
  4386. MOV.F R1.y, R21.x;
  4387. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  4388. MOV.F R1.z, R7.y;
  4389. MUL.F32 R1.y, R1.z, R1;
  4390. TRUNC.U R4.x, R4;
  4391. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4392. MOV.S R19.w, R1.x;
  4393. TRUNC.U R1.x, R1.z;
  4394. AND.U.CC HC.x, R1, R4;
  4395. IF    NE.x;
  4396. MOV.F R1.x, R1.y;
  4397. ELSE;
  4398. MOV.F R1.x, {0, 0, 0, 0};
  4399. ENDIF;
  4400. MOV.F R4.x, R21;
  4401. MOV.F R1.z, R19.y;
  4402. MUL.F32 R1.y, R1.z, R4.x;
  4403. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4404. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4405. TRUNC.U R1.z, R1;
  4406. TRUNC.U R4.x, R4;
  4407. AND.U.CC HC.x, R1.z, R4;
  4408. MOV.S R7.y, R21.x;
  4409. MOV.S R23.y, R1.x;
  4410. IF    NE.x;
  4411. MOV.F R1.x, R1.y;
  4412. ELSE;
  4413. MOV.F R1.x, {0, 0, 0, 0};
  4414. ENDIF;
  4415. MOV.F R4.x, R23.w;
  4416. MOV.F R1.z, R17.y;
  4417. MUL.F32 R1.y, R1.z, R4.x;
  4418. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4419. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4420. TRUNC.U R1.z, R1;
  4421. TRUNC.U R4.x, R4;
  4422. AND.U.CC HC.x, R1.z, R4;
  4423. MOV.S R21.x, R1;
  4424. IF    NE.x;
  4425. MOV.F R1.x, R1.y;
  4426. ELSE;
  4427. MOV.F R1.x, {0, 0, 0, 0};
  4428. ENDIF;
  4429. MOV.F R4.x, R12.w;
  4430. MOV.F R1.z, R20.y;
  4431. MUL.F32 R1.y, R1.z, R4.x;
  4432. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4433. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4434. TRUNC.U R1.z, R1;
  4435. TRUNC.U R4.x, R4;
  4436. AND.U.CC HC.x, R1.z, R4;
  4437. MOV.S R18.y, R1.x;
  4438. IF    NE.x;
  4439. MOV.F R1.x, R1.y;
  4440. ELSE;
  4441. MOV.F R1.x, {0, 0, 0, 0};
  4442. ENDIF;
  4443. MOV.F R4.x, R7.y;
  4444. MOV.F R1.z, R17.w;
  4445. MUL.F32 R1.y, R1.z, R4.x;
  4446. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4447. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  4448. TRUNC.U R1.z, R1;
  4449. TRUNC.U R4.x, R4;
  4450. AND.U.CC HC.x, R1.z, R4;
  4451. MOV.S R18.z, R1.x;
  4452. IF    NE.x;
  4453. MOV.F R1.x, R1.y;
  4454. ELSE;
  4455. MOV.F R1.x
  4456. [07:59:02] Link error in shader. Log:
  4457. [07:59:02] Vertex info
  4458. -----------
  4459. Internal error: assembly compile error for vertex shader at offset 1860:
  4460. -- error message --
  4461. line 39, column 45:  error: invalid vertex attribute reference
  4462. line 54, column 25:  error: invalid vertex attribute reference
  4463. line 56, column 25:  error: invalid vertex attribute reference
  4464. line 58, column 25:  error: invalid vertex attribute reference
  4465. line 61, column 25:  error: invalid vertex attribute reference
  4466. -- internal assembly text --
  4467. !!NVvp5.0
  4468. OPTION NV_internal;
  4469. OPTION NV_bindless_texture;
  4470. # cgc version 3.4.0001, build date Jul  3 2019
  4471. # command line args:
  4472. #vendor NVIDIA Corporation
  4473. #version 3.4.0.1 COP Build Date Jul  3 2019
  4474. #profile gp5vp
  4475. #program main
  4476. #semantic uf_remappedVS
  4477. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  4478. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  4479. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  4480. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  4481. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  4482. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  4483. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  4484. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  4485. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  4486. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  4487. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  4488. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  4489. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  4490. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  4491. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  4492. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  4493. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  4494. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  4495. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  4496. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  4497. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  4498. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  4499. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  4500. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  4501. #var int4 uf_remappedVS[0] :  : c[0], 34 : -1 : 1
  4502. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  4503. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  4504. PARAM c[34] = { program.local[0..33] };
  4505. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  4506. OUTPUT result_attrib[] = { result.attrib[0..4] };
  4507. 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;
  4508. TEMP T;
  4509. TEMP RC;
  4510. SHORT TEMP HC;
  4511. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  4512. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4513. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  4514. OR.U  R0, R0, R1;
  4515. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  4516. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4517. OR.U  R0, R0, R1;
  4518. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  4519. OR.U  R4, R0, R2;
  4520. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  4521. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4522. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  4523. OR.U  R0, R0, R1;
  4524. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  4525. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4526. OR.U  R0, R0, R1;
  4527. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  4528. OR.U  R5, R0, R2;
  4529. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  4530. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4531. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  4532. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  4533. OR.U  R1, R1, R2;
  4534. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4535. OR.U  R0, R1, R0;
  4536. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  4537. OR.U  R6, R0, R2;
  4538. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  4539. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4540. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  4541. OR.U  R1, R1, R2;
  4542. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  4543. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  4544. OR.U  R1, R1, R2;
  4545. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  4546. OR.U  R8, R1, R0;
  4547. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  4548. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4549. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  4550. OR.U  R0, R0, R1;
  4551. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  4552. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4553. OR.U  R0, R0, R1;
  4554. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  4555. OR.U  R9, R0, R2;
  4556. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  4557. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4558. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  4559. OR.U  R0, R0, R1;
  4560. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  4561. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4562. OR.U  R0, R0, R1;
  4563. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  4564. OR.U  R7, R0, R2;
  4565. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  4566. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4567. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  4568. OR.U  R0, R0, R1;
  4569. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  4570. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4571. OR.U  R0, R0, R1;
  4572. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  4573. OR.U  R10, R0, R2;
  4574. MOV.U R0.x, R7.w;
  4575. MOV.F R0.y, c[0].x;
  4576. ADD.F32 R3.x, -R0, R0.y;
  4577. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  4578. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  4579. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4580. TRUNC.U R16.x, R3.y;
  4581. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  4582. MOV.S R22.w, R3.x;
  4583. OR.U  R0, R0, R1;
  4584. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  4585. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4586. OR.U  R0, R0, R1;
  4587. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  4588. OR.U  R11, R0, R2;
  4589. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  4590. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4591. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  4592. OR.U  R0, R0, R1;
  4593. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  4594. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4595. OR.U  R0, R0, R1;
  4596. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  4597. OR.U  R12, R0, R2;
  4598. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  4599. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4600. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  4601. OR.U  R0, R0, R1;
  4602. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  4603. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4604. OR.U  R0, R0, R1;
  4605. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  4606. OR.U  R15, R0, R2;
  4607. SEQ.U R0.x, R16, {1, 0, 0, 0};
  4608. SEQ.U R16.y, -R0.x, {1, 0, 0, 0}.x;
  4609. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4610. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4611. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4612. MOV.U.CC RC.x, -R16.y;
  4613. OR.U  R0.xyz, R0, R1;
  4614. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4615. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4616. OR.U  R0.xyz, R0, R1;
  4617. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4618. OR.U  R24.xyz, R0, R2;
  4619. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4620. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4621. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4622. OR.U  R0.xyz, R0, R1;
  4623. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4624. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4625. OR.U  R0.xyz, R0, R1;
  4626. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4627. OR.U  R23.xyz, R0, R2;
  4628. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4629. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4630. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4631. OR.U  R0.xyz, R0, R1;
  4632. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4633. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4634. OR.U  R0.xyz, R0, R1;
  4635. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4636. OR.U  R13.xyz, R0, R2;
  4637. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4638. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4639. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4640. OR.U  R0.xyz, R0, R1;
  4641. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4642. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4643. OR.U  R0.xyz, R0, R1;
  4644. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4645. OR.U  R14.xyz, R0, R2;
  4646. MOV.S R0, {0, 0, 0, 0}.x;
  4647. MOV.S R1, {0, 0, 0, 0}.x;
  4648. MOV.S R2, {0, 0, 0, 0}.x;
  4649. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  4650. MOV.S R3.yz, {0, 0, 0, 0};
  4651. MOV.S R3.x, vertex.id;
  4652. MOV.S R3.w, vertex.instance.x;
  4653. MOV.S R13.w, {0, 0, 0, 0}.x;
  4654. MOV.S R14.w, {1065353216, 0, 0, 0}.x;
  4655. IF    NE.x;
  4656. MOV.F R3.x, c[1].y;
  4657. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  4658. MOV.S R3.xy, {0, 0, 0, 0};
  4659. MOV.S R3.z, R3;
  4660. MOV.S R7.x, {0, 0, 0, 0};
  4661. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  4662. ENDIF;
  4663. SEQ.U R16.x, R16, {0, 0, 0, 0};
  4664. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4665. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4666. MOV.U.CC RC.x, -R16;
  4667. IF    NE.x;
  4668. MOV.S R15.w, {0, 0, 0, 0}.x;
  4669. ENDIF;
  4670. SEQ.S R16.x, R15.w, {0, 0, 0, 0};
  4671. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  4672. SEQ.U R16.z, -R16.y, {1, 0, 0, 0}.x;
  4673. MOV.U.CC RC.x, -R16.z;
  4674. MOV.U R16.x, -R16;
  4675. MOV.U R16.y, -R16;
  4676. IF    NE.x;
  4677. MOV.F R16.z, R6.w;
  4678. TRUNC.S R16.z, R16;
  4679. I2F.S R16.z, R16;
  4680. MOV.F R16.w, R22;
  4681. SGE.F32 R16.w, R16, R16.z;
  4682. MOV.S R24.z, R16;
  4683. TRUNC.U R16.z, R16.w;
  4684. SEQ.U R16.w, R16.y, {1, 0, 0, 0}.x;
  4685. SEQ.U R16.y, R16.z, {1, 0, 0, 0}.x;
  4686. AND.U R23.w, -R16.y, -R16;
  4687. ELSE;
  4688. MOV.U R23.w, {0, 0, 0, 0}.x;
  4689. ENDIF;
  4690. SEQ.U R16.y, R23.w, {1, 0, 0, 0}.x;
  4691. MOV.U.CC RC.x, -R16.y;
  4692. IF    NE.x;
  4693. MOV.F R3.x, c[1].y;
  4694. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  4695. MOV.S R3.xy, {0, 0, 0, 0};
  4696. MOV.S R3.z, R3;
  4697. MOV.S R7.x, {0, 0, 0, 0};
  4698. MOV.S R13.w, {1065353216, 0, 0, 0}.x;
  4699. ENDIF;
  4700. SEQ.U R16.x, R16, {1, 0, 0, 0};
  4701. SEQ.U R16.z, -R16.x, {1, 0, 0, 0}.x;
  4702. MOV.U.CC RC.x, -R16.z;
  4703. MOV.U R16.y, -R16.x;
  4704. IF    NE.x;
  4705. SEQ.S R16.x, R13.w, {0, 0, 0, 0};
  4706. SEQ.U R16.y, R16, {1, 0, 0, 0}.x;
  4707. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4708. AND.U R23.w, -R16.x, -R16.y;
  4709. ELSE;
  4710. MOV.U R23.w, {0, 0, 0, 0}.x;
  4711. ENDIF;
  4712. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  4713. MOV.U.CC RC.x, -R16;
  4714. IF    NE.x;
  4715. MOV.F R0.y, R8;
  4716. MOV.F R0.z, R8;
  4717. ADD.F32 R0.w, R0.z, R0.y;
  4718. MOV.F R0.x, R8;
  4719. ADD.F32 R0.x, R0, R0.y;
  4720. MUL.F32 R0.x, R0, {0.5, 0, 0, 0};
  4721. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  4722. MUL.F32 R0.w, R0, {0.5, 0, 0, 0}.x;
  4723. MOV.S R20.y, R0.x;
  4724. MUL.F32 R0.x, R0.z, {2, 0, 0, 0};
  4725. MOV.S R18.w, R0.x;
  4726. AND.S R0.x, c[2], {65536, 0, 0, 0};
  4727. I2F.S R0.x, R0;
  4728. MOV.S R21.x, R0.y;
  4729. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0.x;
  4730. TRUNC.U.CC HC.x, R0.y;
  4731. MOV.S R20.z, R0.w;
  4732. AND.S R18.z, c[2].x, {131072, 0, 0, 0}.x;
  4733. AND.S R18.y, c[2].x, {262144, 0, 0, 0}.x;
  4734. MOV.S R0.x, R0;
  4735. IF    NE.x;
  4736. MOV.F R0.y, {1, 0, 0, 0}.x;
  4737. ELSE;
  4738. MOV.F R0.y, {0, 0, 0, 0}.x;
  4739. ENDIF;
  4740. MOV.F R0.z, R0.x;
  4741. MOV.F R0.x, R0.y;
  4742. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4743. TRUNC.U.CC HC.x, R0.y;
  4744. MOV.S R16.x, R0;
  4745. IF    NE.x;
  4746. MOV.F R0.x, {1, 0, 0, 0};
  4747. ELSE;
  4748. MOV.F R0.x, {0, 0, 0, 0};
  4749. ENDIF;
  4750. MOV.F R0.z, R8;
  4751. MOV.F R0.y, R8.x;
  4752. ADD.F32 R0.y, R0, R0.z;
  4753. I2F.S R0.z, R18;
  4754. MOV.S R17.z, R0.y;
  4755. MOV.F R0.y, R21.x;
  4756. FLR.F R0.y, R0;
  4757. MOV.S R17.w, R0.y;
  4758. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4759. TRUNC.U.CC HC.x, R0.y;
  4760. MOV.S R7.y, R0.z;
  4761. MOV.S R16.y, R0.x;
  4762. IF    NE.x;
  4763. MOV.F R0.x, {1, 0, 0, 0};
  4764. ELSE;
  4765. MOV.F R0.x, {0, 0, 0, 0};
  4766. ENDIF;
  4767. MOV.F R0.z, R16.x;
  4768. MOV.F R0.y, R16;
  4769. ADD.F32 R0.y, R0, -R0.z;
  4770. MOV.F R0.w, R18;
  4771. FLR.F R0.z, R0.w;
  4772. MOV.S R21.y, R0;
  4773. MOV.F R0.y, R7;
  4774. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  4775. TRUNC.U.CC HC.x, R0.y;
  4776. MOV.S R19.z, R0;
  4777. MOV.S R21.x, R0;
  4778. IF    NE.x;
  4779. MOV.F R0.y, {1, 0, 0, 0}.x;
  4780. ELSE;
  4781. MOV.F R0.y, {0, 0, 0, 0}.x;
  4782. ENDIF;
  4783. I2F.S R0.z, R18.y;
  4784. MOV.S R0.x, R0.z;
  4785. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0;
  4786. TRUNC.U.CC HC.x, R0.z;
  4787. MOV.S R21.w, R0.y;
  4788. IF    NE.x;
  4789. MOV.F R0.y, {1, 0, 0, 0}.x;
  4790. ELSE;
  4791. MOV.F R0.y, {0, 0, 0, 0}.x;
  4792. ENDIF;
  4793. MOV.F R0.w, R21;
  4794. MOV.F R0.z, R21.x;
  4795. ADD.F32 R0.z, R0, -R0.w;
  4796. MOV.F R3.x, R8;
  4797. MUL.F32 R0.w, R3.x, {2, 0, 0, 0}.x;
  4798. MOV.S R16.z, R0;
  4799. MOV.F R0.z, R0.x;
  4800. MOV.F R0.x, R0.y;
  4801. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4802. TRUNC.U.CC HC.x, R0.y;
  4803. MOV.S R19.y, R0.w;
  4804. MOV.S R16.x, R0;
  4805. IF    NE.x;
  4806. MOV.F R0.x, {1, 0, 0, 0};
  4807. ELSE;
  4808. MOV.F R0.x, {0, 0, 0, 0};
  4809. ENDIF;
  4810. MOV.F R0.y, R16.x;
  4811. ADD.F32 R0.y, R0.x, -R0;
  4812. MOV.F R0.x, R21.y;
  4813. TRUNC.S R0.x, R0;
  4814. MOV.S R18.y, R0;
  4815. MOV.F R0.y, c[3].x;
  4816. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  4817. TRUNC.U.CC HC.x, R0.y;
  4818. MOV.S R18.z, R0.x;
  4819. ADD.S R21.x, -R0, {0, 0, 0, 0};
  4820. IF    NE.x;
  4821. MOV.F R0.x, {1, 0, 0, 0};
  4822. ELSE;
  4823. MOV.F R0.x, {0, 0, 0, 0};
  4824. ENDIF;
  4825. MOV.F R0.y, c[3].x;
  4826. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  4827. TRUNC.U.CC HC.x, R0.y;
  4828. MOV.S R3.z, R0.x;
  4829. IF    NE.x;
  4830. MOV.F R0.x, {1, 0, 0, 0};
  4831. ELSE;
  4832. MOV.F R0.x, {0, 0, 0, 0};
  4833. ENDIF;
  4834. MOV.F R0.z, R17;
  4835. MOV.F R0.y, R16.z;
  4836. TRUNC.S R0.y, R0;
  4837. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  4838. MAX.S R3.y, R18.z, R21.x;
  4839. MOV.S R18.z, R0;
  4840. MOV.F R0.z, c[4].y;
  4841. MOV.S R17.y, R0;
  4842. ADD.S R16.x, -R0.y, {0, 0, 0, 0};
  4843. MOV.F R0.y, R8.x;
  4844. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  4845. MUL.F32 R0.y, R0, R0.z;
  4846. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4847. TRUNC.U R0.w, R0;
  4848. TRUNC.U R0.z, R0;
  4849. AND.U.CC HC.x, R0.w, R0.z;
  4850. MOV.S R18.w, R0.x;
  4851. IF    NE.x;
  4852. MOV.F R0.x, R0.y;
  4853. ELSE;
  4854. MOV.F R0.x, {0, 0, 0, 0};
  4855. ENDIF;
  4856. MOV.F R0.z, R17.w;
  4857. MOV.F R0.y, c[3].x;
  4858. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4859. RCP.F32 R0.y, R0.y;
  4860. TRUNC.U.CC HC.x, R0.z;
  4861. MOV.S R3.w, R18.y;
  4862. MOV.S R20.w, R0.x;
  4863. MOV.S R7.y, R0;
  4864. IF    NE.x;
  4865. MOV.F R0.x, {1, 0, 0, 0};
  4866. ELSE;
  4867. MOV.F R0.x, {0, 0, 0, 0};
  4868. ENDIF;
  4869. MOV.F R0.y, R20.z;
  4870. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  4871. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  4872. MOV.S R17.z, R0.y;
  4873. MOV.F R0.y, R3.w;
  4874. TRUNC.S R18.x, R0.y;
  4875. MOV.F R0.w, R7.y;
  4876. MOV.F R0.z, R22.w;
  4877. MUL.F32 R0.z, R0, R0.w;
  4878. MOV.F R3.x, R17.w;
  4879. SGT.F32 R0.w, {0, 0, 0, 0}.x, R3.x;
  4880. TRUNC.U.CC HC.x, R0.w;
  4881. MAX.S R19.w, R17.y, R16.x;
  4882. MOV.S R3.w, R20.y;
  4883. MOV.S R18.y, R0.z;
  4884. MOV.S R20.x, R0;
  4885. ADD.S R17.x, -R18, {0, 0, 0, 0};
  4886. IF    NE.x;
  4887. MOV.F R0.x, {1, 0, 0, 0};
  4888. ELSE;
  4889. MOV.F R0.x, {0, 0, 0, 0};
  4890. ENDIF;
  4891. MOV.F R0.y, R19.z;
  4892. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  4893. TRUNC.U.CC HC.x, R0.y;
  4894. MOV.S R20.y, R0.x;
  4895. IF    NE.x;
  4896. MOV.F R0.z, {1, 0, 0, 0}.x;
  4897. ELSE;
  4898. MOV.F R0.z, {0, 0, 0, 0}.x;
  4899. ENDIF;
  4900. MOV.F R0.x, c[5].w;
  4901. MAX.F R0.x, R0, {0, 0, 0, 0};
  4902. LG2.F32 R0.x, R0.x;
  4903. MUL.F32 R0.y, R0.x, {2, 0, 0, 0}.x;
  4904. SNE.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  4905. SEQ.F R0.y, R0.x, R0;
  4906. TRUNC.U R0.w, R0;
  4907. TRUNC.U R0.y, R0;
  4908. AND.U R0.y, R0, R0.w;
  4909. MOV.F R0.w, R3;
  4910. SEQ.U R0.y, R0, {1, 0, 0, 0}.x;
  4911. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  4912. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  4913. MOV.U.CC RC.x, -R0.y;
  4914. MOV.S R20.z, R0;
  4915. MOV.S R17.w, R0;
  4916. IF    NE.x;
  4917. MOV.F R0.x, {-3.40282347e+38, 0, 0, 0};
  4918. ENDIF;
  4919. MOV.F R0.y, R19.z;
  4920. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  4921. TRUNC.U.CC HC.x, R0.y;
  4922. MOV.S R3.w, R18.y;
  4923. MOV.S R7.y, R0.x;
  4924. IF    NE.x;
  4925. MOV.F R0.x, {1, 0, 0, 0};
  4926. ELSE;
  4927. MOV.F R0.x, {0, 0, 0, 0};
  4928. ENDIF;
  4929. MOV.F R0.y, R19;
  4930. FLR.F R0.y, R0;
  4931. MOV.S R18.y, R0;
  4932. MOV.F R0.y, R0.x;
  4933. MOV.F R0.w, R18;
  4934. MOV.F R0.z, R3;
  4935. ADD.F32 R0.z, R0, -R0.w;
  4936. MOV.S R19.z, R0;
  4937. MOV.F R0.z, R22.w;
  4938. MOV.F R0.w, R7.y;
  4939. MUL.F32 R0.x, R0.z, R0.w;
  4940. MOV.S R21.x, R0.y;
  4941. SNE.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4942. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  4943. TRUNC.U R0.z, R0.w;
  4944. TRUNC.U R0.y, R0;
  4945. AND.U.CC HC.x, R0.y, R0.z;
  4946. IF    NE.x;
  4947. ELSE;
  4948. MOV.F R0.x, {0, 0, 0, 0};
  4949. ENDIF;
  4950. MOV.F R0.w, R20.z;
  4951. MOV.F R0.z, R20.y;
  4952. MOV.F R0.y, R20.x;
  4953. ADD.F32 R0.y, R0, -R0.z;
  4954. MOV.F R0.z, R21.x;
  4955. ADD.F32 R0.w, R0, -R0.z;
  4956. MAX.S R20.z, R18.x, R17.x;
  4957. MOV.S R18.x, R0.y;
  4958. MOV.F R0.y, R20.w;
  4959. MOV.F R0.z, R18;
  4960. MOV.S R20.w, R0;
  4961. ADD.F32 R0.w, R0.z, {-0.5, 0, 0, 0}.x;
  4962. MOV.F R0.z, R3.w;
  4963. ADD.F32 R0.y, R0, R0.z;
  4964. MOV.S R0.w, R0;
  4965. MOV.S R0.z, R0.w;
  4966. MOV.S R19.x, R0.y;
  4967. MOV.F R0.y, R0.z;
  4968. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  4969. MOV.S R20.y, R0;
  4970. MOV.F R0.y, R24.z;
  4971. MOV.F R0.z, R18.y;
  4972. RCP.F32 R0.y, R0.y;
  4973. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4974. TRUNC.U.CC HC.x, R0.z;
  4975. MOV.S R3.w, R18.y;
  4976. MOV.S R18.z, R0.y;
  4977. MOV.S R18.w, R0.x;
  4978. IF    NE.x;
  4979. MOV.F R0.x, {1, 0, 0, 0};
  4980. ELSE;
  4981. MOV.F R0.x, {0, 0, 0, 0};
  4982. ENDIF;
  4983. MOV.F R0.y, R17.w;
  4984. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  4985. MOV.F R0.z, c[6].x;
  4986. MUL.F32 R0.y, R0, R0.z;
  4987. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4988. TRUNC.U R0.w, R0;
  4989. TRUNC.U R0.z, R0;
  4990. AND.U.CC HC.x, R0.w, R0.z;
  4991. MOV.S R21.x, R0;
  4992. IF    NE.x;
  4993. MOV.F R0.x, R0.y;
  4994. ELSE;
  4995. MOV.F R0.x, {0, 0, 0, 0};
  4996. ENDIF;
  4997. MOV.F R0.y, R3.w;
  4998. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  4999. TRUNC.U.CC HC.x, R0.y;
  5000. MOV.S R18.y, R0.x;
  5001. IF    NE.x;
  5002. MOV.F R0.x, {1, 0, 0, 0};
  5003. ELSE;
  5004. MOV.F R0.x, {0, 0, 0, 0};
  5005. ENDIF;
  5006. MOV.F R0.y, R17.z;
  5007. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  5008. MOV.F R0.z, c[6].y;
  5009. MUL.F32 R0.y, R0, R0.z;
  5010. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  5011. TRUNC.U R0.w, R0;
  5012. TRUNC.U R0.z, R0;
  5013. AND.U.CC HC.x, R0.w, R0.z;
  5014. MOV.S R21.z, R0.x;
  5015. IF    NE.x;
  5016. MOV.F R0.x, R0.y;
  5017. ELSE;
  5018. MOV.F R0.x, {0, 0, 0, 0};
  5019. ENDIF;
  5020. I2F.S R0.y, R3;
  5021. MOV.F R0.w, R19.x;
  5022. MOV.F R3.y, R18.x;
  5023. MUL.F32 R0.z, R0.y, {2, 0, 0, 0}.x;
  5024. FRC.F32 R0.w, R0;
  5025. MUL.F32 R0.y, -R0.z, R3;
  5026. MOV.S R18.x, R0.w;
  5027. SNE.F32 R0.z, -R0, {0, 0, 0, 0}.x;
  5028. SNE.F32 R0.w, R3.y, {0, 0, 0, 0}.x;
  5029. TRUNC.U R0.z, R0;
  5030. TRUNC.U R0.w, R0;
  5031. AND.U.CC HC.x, R0.z, R0.w;
  5032. MOV.S R3.x, R19.w;
  5033. MOV.S R17.w, R0.x;
  5034. IF    NE.x;
  5035. MOV.F R0.x, R0.y;
  5036. ELSE;
  5037. MOV.F R0.x, {0, 0, 0, 0};
  5038. ENDIF;
  5039. MOV.F R0.z, R21;
  5040. MOV.F R0.y, R21.x;
  5041. ADD.F32 R0.y, R0, -R0.z;
  5042. MOV.S R17.z, R0.y;
  5043. I2F.S R0.y, R3.x;
  5044. MOV.F R0.z, c[5].w;
  5045. ADD.F32 R0.z, -R0, {1, 0, 0, 0}.x;
  5046. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  5047. MOV.F R3.x, R20.w;
  5048. MUL.F32 R0.y, -R0.w, R3.x;
  5049. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  5050. MOV.S R19.w, R0.z;
  5051. TRUNC.U R3.x, R3;
  5052. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  5053. MOV.S R19.y, R0.x;
  5054. TRUNC.U R0.x, R0.z;
  5055. AND.U.CC HC.x, R0, R3;
  5056. MOV.S R3.w, R18;
  5057. IF    NE.x;
  5058. MOV.F R3.y, R0;
  5059. ELSE;
  5060. MOV.F R3.y, {0, 0, 0, 0}.x;
  5061. ENDIF;
  5062. MOV.S R17.x, R3.y;
  5063. EX2.F32 R3.y, R3.w;
  5064. MOV.F R13.w, c[6].z;
  5065. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  5066. ADD.F32 R3.y, -R3, {1, 0, 0, 0}.x;
  5067. MOV.F R0.y, R18.z;
  5068. MOV.F R0.x, R22.w;
  5069. MUL.F32 R0.x, R0, R0.y;
  5070. MOV.F R0.z, R19;
  5071. MOV.S R0.y, R0.x;
  5072. ADD.F32 R0.x, -R0.z, {1, 0, 0, 0};
  5073. MOV.S R21.z, R0.x;
  5074. MOV.F R0.x, R20.y;
  5075. MOV.F R0.w, c[5].x;
  5076. MOV.F R0.z, R18.y;
  5077. ADD.F32 R0.z, R0, R0.w;
  5078. MOV.S R18.w, R0.z;
  5079. SNE.F32 R0.z, R0.x, {0, 0, 0, 0}.x;
  5080. TRUNC.U R7.y, R0.z;
  5081. MUL.F32 R3.z, R0.x, R13.w;
  5082. TRUNC.U R3.w, R3;
  5083. AND.U.CC HC.x, R7.y, R3.w;
  5084. MOV.S R3.x, R20.z;
  5085. MOV.S R0.xzw, {0, 0, 0, 0}.x;
  5086. MOV.S R19.x, R3.y;
  5087. IF    NE.x;
  5088. MOV.F R3.y, R3.z;
  5089. ELSE;
  5090. MOV.F R3.y, {0, 0, 0, 0}.x;
  5091. ENDIF;
  5092. MOV.F R7.y, R0;
  5093. MOV.F R3.z, c[5].y;
  5094. MOV.F R3.w, R17;
  5095. ADD.F32 R3.w, R3.z, R3;
  5096. MOV.F R13.w, R21.z;
  5097. MOV.S R20.z, R3.w;
  5098. SNE.F32 R3.w, R7.y, {0, 0, 0, 0}.x;
  5099. MUL.F32 R3.z, R7.y, R13.w;
  5100. SNE.F32 R7.y, R13.w, {0, 0, 0, 0}.x;
  5101. TRUNC.U R3.w, R3;
  5102. TRUNC.U R7.y, R7;
  5103. AND.U.CC HC.x, R3.w, R7.y;
  5104. MOV.S R20.y, R3;
  5105. IF    NE.x;
  5106. ELSE;
  5107. MOV.F R3.z, {0, 0, 0, 0}.x;
  5108. ENDIF;
  5109. I2F.S R3.w, R3.x;
  5110. MOV.F R15.w, R8.y;
  5111. MOV.F R14.w, R8.x;
  5112. ADD.F32 R15.w, R15, {-0.5, 0, 0, 0}.x;
  5113. MOV.F R7.y, R18.x;
  5114. MOV.F R13.w, R19.z;
  5115. MUL.F32 R3.y, R13.w, R7;
  5116. ADD.F32 R14.w, R14, {-0.5, 0, 0, 0}.x;
  5117. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  5118. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5119. MOV.S R18.x, R14.w;
  5120. TRUNC.U R14.w, R7.y;
  5121. TRUNC.U R13.w, R13;
  5122. MUL.F32 R3.w, R3, {2, 0, 0, 0}.x;
  5123. AND.U.CC HC.x, R13.w, R14.w;
  5124. MOV.S R3.x, R17.z;
  5125. MOV.S R18.y, R15.w;
  5126. MOV.S R17.w, R3.z;
  5127. MOV.S R7.y, R3.w;
  5128. IF    NE.x;
  5129. ELSE;
  5130. MOV.F R3.y, {0, 0, 0, 0}.x;
  5131. ENDIF;
  5132. MOV.F R3.w, R3.x;
  5133. MOV.F R3.z, R7.y;
  5134. MUL.F32 R3.x, -R3.z, R3.w;
  5135. MOV.S R17.z, R3.y;
  5136. SNE.F32 R3.y, -R3.z, {0, 0, 0, 0}.x;
  5137. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5138. TRUNC.U R3.z, R3.w;
  5139. TRUNC.U R3.y, R3;
  5140. AND.U.CC HC.x, R3.y, R3.z;
  5141. IF    NE.x;
  5142. ELSE;
  5143. MOV.F R3.x, {0, 0, 0, 0};
  5144. ENDIF;
  5145. MOV.F R3.y, R20;
  5146. MOV.F R3.w, R19;
  5147. MOV.F R3.z, R19.x;
  5148. DIV.F32 R3.z, R3, R3.w;
  5149. MOV.F R3.w, c[5].z;
  5150. ADD.F32 R3.y, R3.w, R3;
  5151. MOV.F R13.w, R19.y;
  5152. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  5153. MOV.F R7.y, R18.w;
  5154. MOV.S R20.y, R3.z;
  5155. MOV.S R19.x, R3.y;
  5156. SNE.F32 R3.y, R7, {0, 0, 0, 0}.x;
  5157. TRUNC.U R3.y, R3;
  5158. TRUNC.U R3.w, R3;
  5159. AND.U.CC HC.x, R3.y, R3.w;
  5160. MUL.F32 R3.z, R7.y, R13.w;
  5161. MOV.S R20.w, R3.x;
  5162. IF    NE.x;
  5163. MOV.F R3.y, R3.z;
  5164. ELSE;
  5165. MOV.F R3.y, {0, 0, 0, 0}.x;
  5166. ENDIF;
  5167. MOV.F R3.w, R19.y;
  5168. MOV.F R3.z, R9.x;
  5169. MUL.F32 R3.x, R3.z, R3.w;
  5170. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5171. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5172. TRUNC.U R3.z, R3;
  5173. TRUNC.U R3.w, R3;
  5174. AND.U.CC HC.x, R3.z, R3.w;
  5175. MOV.S R16.z, R3.y;
  5176. IF    NE.x;
  5177. MOV.F R3.y, R3.x;
  5178. ELSE;
  5179. MOV.F R3.y, {0, 0, 0, 0}.x;
  5180. ENDIF;
  5181. MOV.F R3.w, R17.x;
  5182. MOV.F R3.z, R20;
  5183. MUL.F32 R3.x, R3.z, R3.w;
  5184. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5185. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5186. TRUNC.U R3.z, R3;
  5187. TRUNC.U R3.w, R3;
  5188. AND.U.CC HC.x, R3.z, R3.w;
  5189. MOV.S R16.w, R3.y;
  5190. IF    NE.x;
  5191. ELSE;
  5192. MOV.F R3.x, {0, 0, 0, 0};
  5193. ENDIF;
  5194. MOV.F R3.y, c[5].w;
  5195. SEQ.F R3.y, R3, {1, 0, 0, 0}.x;
  5196. TRUNC.U.CC HC.x, R3.y;
  5197. MOV.S R19.w, R3.x;
  5198. IF    NE.x;
  5199. MOV.S R3.x, {-1, 0, 0, 0};
  5200. ELSE;
  5201. MOV.S R3.x, {0, 0, 0, 0};
  5202. ENDIF;
  5203. MOV.F R3.w, R17.x;
  5204. MOV.F R3.z, R9.y;
  5205. MUL.F32 R3.y, R3.z, R3.w;
  5206. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5207. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5208. TRUNC.U R3.w, R3;
  5209. TRUNC.U R3.z, R3;
  5210. AND.U.CC HC.x, R3.z, R3.w;
  5211. IF    NE.x;
  5212. ELSE;
  5213. MOV.F R3.y, {0, 0, 0, 0}.x;
  5214. ENDIF;
  5215. SEQ.S R3.x, R3, {0, 0, 0, 0};
  5216. MOV.U.CC RC.x, -R3;
  5217. MOV.F R3.w, R16.z;
  5218. MOV.F R3.z, R18.w;
  5219. ADD.F32 R3.z, R3, R3.w;
  5220. MOV.S R18.w, R3.z;
  5221. MOV.F R3.w, R17.z;
  5222. MOV.F R3.z, R17.w;
  5223. ADD.F32 R3.z, R3, R3.w;
  5224. MOV.F R7.y, R16.w;
  5225. MOV.F R3.w, R9.x;
  5226. ADD.F32 R3.w, R3, R7.y;
  5227. MOV.S R18.z, R3;
  5228. MOV.S R19.y, R3.w;
  5229. MOV.S R21.y, R3;
  5230. IF    NE.x;
  5231. MOV.S R3.x, R20.y;
  5232. ELSE;
  5233. MOV.S R3.x, R22.w;
  5234. ENDIF;
  5235. MOV.F R3.w, R9.z;
  5236. MOV.F R3.z, R21.y;
  5237. MOV.F R3.y, R9;
  5238. ADD.F32 R3.y, R3, R3.z;
  5239. MOV.S R20.y, R3;
  5240. MOV.F R3.y, R20.z;
  5241. MOV.F R3.z, R19.w;
  5242. ADD.F32 R3.z, R3.y, R3;
  5243. MOV.F R3.y, R8.z;
  5244. MOV.S R17.z, R3;
  5245. ADD.F32 R3.z, R3.y, {-0.5, 0, 0, 0}.x;
  5246. MOV.F R7.y, R20.w;
  5247. MUL.F32 R3.y, R3.w, R7;
  5248. MOV.S R20.z, R3;
  5249. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5250. TRUNC.U R9.x, R3.z;
  5251. MOV.F R3.w, c[8];
  5252. MOV.F R3.z, c[7].w;
  5253. ADD.F32 R3.z, -R3, R3.w;
  5254. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5255. TRUNC.U R3.w, R7.y;
  5256. AND.U.CC HC.x, R9, R3.w;
  5257. MOV.S R16.w, R3.z;
  5258. IF    NE.x;
  5259. ELSE;
  5260. MOV.F R3.y, {0, 0, 0, 0}.x;
  5261. ENDIF;
  5262. MOV.F R7.y, c[9].x;
  5263. MOV.F R3.w, R18.x;
  5264. MUL.F32 R3.z, R3.w, R7.y;
  5265. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5266. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5267. TRUNC.U R3.w, R3;
  5268. TRUNC.U R7.y, R7;
  5269. AND.U.CC HC.x, R3.w, R7.y;
  5270. MOV.S R21.x, R3.y;
  5271. IF    NE.x;
  5272. MOV.F R3.y, R3.z;
  5273. ELSE;
  5274. MOV.F R3.y, {0, 0, 0, 0}.x;
  5275. ENDIF;
  5276. MOV.F R7.y, R20.w;
  5277. MOV.F R3.w, R19.x;
  5278. MUL.F32 R3.z, R3.w, R7.y;
  5279. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5280. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5281. TRUNC.U R3.w, R3;
  5282. TRUNC.U R7.y, R7;
  5283. AND.U.CC HC.x, R3.w, R7.y;
  5284. MOV.S R21.y, R3;
  5285. IF    NE.x;
  5286. MOV.F R3.y, R3.z;
  5287. ELSE;
  5288. MOV.F R3.y, {0, 0, 0, 0}.x;
  5289. ENDIF;
  5290. MOV.F R7.y, c[9];
  5291. MOV.F R3.w, R18.y;
  5292. MUL.F32 R3.z, R3.w, R7.y;
  5293. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5294. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5295. TRUNC.U R3.w, R3;
  5296. TRUNC.U R7.y, R7;
  5297. AND.U.CC HC.x, R3.w, R7.y;
  5298. MOV.S R21.z, R3.y;
  5299. IF    NE.x;
  5300. MOV.F R3.y, R3.z;
  5301. ELSE;
  5302. MOV.F R3.y, {0, 0, 0, 0}.x;
  5303. ENDIF;
  5304. MOV.F R3.w, R21.x;
  5305. MOV.F R3.z, R9;
  5306. ADD.F32 R9.x, R3.z, R3.w;
  5307. MOV.S R20.w, R9.x;
  5308. MOV.F R9.x, R20.y;
  5309. ADD.F32 R3.y, R9.x, R3;
  5310. MOV.S R19.z, R3.y;
  5311. MOV.F R7.y, R19.x;
  5312. MOV.F R3.w, R21.y;
  5313. MOV.F R3.z, R19.y;
  5314. ADD.F32 R3.z, R3, R3.w;
  5315. MOV.S R19.x, R3.z;
  5316. MOV.F R3.z, R21;
  5317. ADD.F32 R3.z, R7.y, R3;
  5318. MOV.S R20.y, R3.z;
  5319. MOV.F R7.y, R16.w;
  5320. MOV.F R3.w, c[8];
  5321. MOV.F R3.z, R18;
  5322. ADD.F32 R3.z, R3, -R3.w;
  5323. RCP.F32 R3.w, R7.y;
  5324. MOV.S R21.x, R3.z;
  5325. MOV.F R3.z, R3.x;
  5326. SNE.F32 R7.y, R3.z, {0, 0, 0, 0}.x;
  5327. MOV.F R3.y, R17.z;
  5328. MOV.S R14.w, R3;
  5329. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5330. TRUNC.U R9.x, R3.w;
  5331. MUL.F32 R3.y, R3, R3.z;
  5332. MOV.F R3.w, c[8].z;
  5333. MOV.F R3.z, c[7];
  5334. ADD.F32 R3.z, -R3, R3.w;
  5335. TRUNC.U R3.w, R7.y;
  5336. AND.U.CC HC.x, R9, R3.w;
  5337. MOV.S R7.y, R3.z;
  5338. IF    NE.x;
  5339. ELSE;
  5340. MOV.F R3.y, {0, 0, 0, 0}.x;
  5341. ENDIF;
  5342. MOV.F R9.x, c[9].z;
  5343. MOV.F R3.w, R20.z;
  5344. MUL.F32 R3.z, R3.w, R9.x;
  5345. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5346. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  5347. TRUNC.U R3.w, R3;
  5348. TRUNC.U R9.x, R9;
  5349. AND.U.CC HC.x, R3.w, R9;
  5350. MOV.S R21.y, R3;
  5351. IF    NE.x;
  5352. MOV.F R3.y, R3.z;
  5353. ELSE;
  5354. MOV.F R3.y, {0, 0, 0, 0}.x;
  5355. ENDIF;
  5356. MOV.F R9.x, R3;
  5357. MOV.F R3.w, R18;
  5358. MUL.F32 R3.z, R3.w, R9.x;
  5359. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5360. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  5361. TRUNC.U R3.w, R3;
  5362. TRUNC.U R9.x, R9;
  5363. AND.U.CC HC.x, R3.w, R9;
  5364. MOV.S R21.z, R3.y;
  5365. IF    NE.x;
  5366. MOV.F R3.y, R3.z;
  5367. ELSE;
  5368. MOV.F R3.y, {0, 0, 0, 0}.x;
  5369. ENDIF;
  5370. MOV.F R9.z, R19.x;
  5371. MOV.F R3.w, R21.z;
  5372. MOV.F R3.z, R20.w;
  5373. ADD.F32 R3.z, R3, R3.w;
  5374. MOV.S R9.y, R3.z;
  5375. MOV.F R3.z, R7.y;
  5376. MOV.F R7.y, R21.x;
  5377. SGE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5378. TRUNC.U.CC HC.x, R7.y;
  5379. MOV.F R9.x, R21.y;
  5380. MOV.F R3.w, R19.z;
  5381. ADD.F32 R3.w, R3, R9.x;
  5382. MOV.F R9.x, R14.w;
  5383. MUL.F32 R3.z, R3, R9.x;
  5384. ADD.F32 R3.y, R9.z, R3;
  5385. MOV.S R18.x, R3.z;
  5386. MOV.S R9.x, R3.y;
  5387. MOV.F R3.z, c[7].w;
  5388. MOV.F R3.y, R18.z;
  5389. ADD.F32 R3.y, R3, -R3.z;
  5390. MOV.S R3.w, R3;
  5391. MOV.S R3.z, R3.y;
  5392. IF    NE.x;
  5393. MOV.S R3.y, {1065353216, 0, 0, 0}.x;
  5394. ELSE;
  5395. MOV.S R3.y, {0, 0, 0, 0}.x;
  5396. ENDIF;
  5397. MOV.F R13.w, R18.x;
  5398. MOV.F R9.z, R3;
  5399. MUL.F32 R7.y, R9.z, R13.w;
  5400. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  5401. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  5402. TRUNC.U R9.z, R9;
  5403. TRUNC.U R13.w, R13;
  5404. AND.U.CC HC.x, R9.z, R13.w;
  5405. MOV.S R15.w, R3.y;
  5406. IF    NE.x;
  5407. MOV.F R3.y, R7;
  5408. ELSE;
  5409. MOV.F R3.y, {0, 0, 0, 0}.x;
  5410. ENDIF;
  5411. MOV.F R9.z, R3.x;
  5412. MOV.F R3.x, R20.y;
  5413. MUL.F32 R7.y, R3.x, R9.z;
  5414. SNE.F32 R13.w, R9.z, {0, 0, 0, 0}.x;
  5415. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  5416. TRUNC.U R9.z, R3.x;
  5417. TRUNC.U R13.w, R13;
  5418. AND.U.CC HC.x, R9.z, R13.w;
  5419. MOV.S R3.x, R3.y;
  5420. IF    NE.x;
  5421. MOV.F R3.y, R7;
  5422. ELSE;
  5423. MOV.F R3.y, {0, 0, 0, 0}.x;
  5424. ENDIF;
  5425. MOV.F R7.y, R3.z;
  5426. SGE.F32 R16.x, R7.y, {0, 0, 0, 0};
  5427. TRUNC.U.CC HC.x, R16;
  5428. MOV.F R9.z, c[8].y;
  5429. MOV.F R7.y, c[7];
  5430. ADD.F32 R7.y, -R7, R9.z;
  5431. MOV.F R9.z, c[7].x;
  5432. MOV.F R13.w, c[8].x;
  5433. ADD.F32 R13.w, -R9.z, R13;
  5434. MOV.S R9.z, R7.y;
  5435. MOV.S R13.w, R13;
  5436. MOV.S R3.y, R3;
  5437. IF    NE.x;
  5438. MOV.S R7.y, {1065353216, 0, 0, 0}.x;
  5439. ELSE;
  5440. MOV.S R7.y, {0, 0, 0, 0}.x;
  5441. ENDIF;
  5442. ENDIF;
  5443. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  5444. MOV.U.CC RC.x, -R16;
  5445. IF    NE.x;
  5446. MOV.F R4.w, R3.y;
  5447. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5448. MOV.F R3.y, R9;
  5449. ADD.F32 R3.y, R3, R4.w;
  5450. MOV.S R18.z, R3.y;
  5451. MOV.F R3.y, R9.z;
  5452. MOV.F R4.w, R14;
  5453. MUL.F32 R4.w, R3.y, R4;
  5454. SNE.F32 R6.w, R4, {0, 0, 0, 0}.x;
  5455. MOV.F R7.w, R3.z;
  5456. TRUNC.U R8.z, R6.w;
  5457. MUL.F32 R3.y, R7.w, R4.w;
  5458. MOV.F R4.w, R9.x;
  5459. MAD.F32 R4.w, R4, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5460. MOV.F R6.w, R15;
  5461. MOV.S R18.x, R4.w;
  5462. ADD.F32 R4.w, -R6, {1, 0, 0, 0}.x;
  5463. MOV.S R16.w, R4;
  5464. SNE.F32 R4.w, R7, {0, 0, 0, 0}.x;
  5465. MOV.S R20.w, R3;
  5466. TRUNC.U R3.w, R4;
  5467. AND.U.CC HC.x, R3.w, R8.z;
  5468. IF    NE.x;
  5469. ELSE;
  5470. MOV.F R3.y, {0, 0, 0, 0}.x;
  5471. ENDIF;
  5472. MOV.F R4.w, R14;
  5473. MOV.F R3.w, R13;
  5474. MUL.F32 R3.w, R3, R4;
  5475. MOV.S R21.z, R3.w;
  5476. MOV.F R3.w, R3.x;
  5477. MOV.F R3.x, c[7].z;
  5478. ADD.F32 R3.w, R3.x, R3;
  5479. MOV.F R4.w, R7.y;
  5480. MOV.F R6.w, R16;
  5481. MOV.S R20.y, R3.w;
  5482. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  5483. MUL.F32 R3.x, R4.w, R6.w;
  5484. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  5485. TRUNC.U R3.w, R3;
  5486. TRUNC.U R4.w, R4;
  5487. AND.U.CC HC.x, R3.w, R4.w;
  5488. MOV.S R21.x, R3.y;
  5489. IF    NE.x;
  5490. ELSE;
  5491. MOV.F R3.x, {0, 0, 0, 0};
  5492. ENDIF;
  5493. MOV.F R4.w, R3.z;
  5494. MOV.F R6.w, R21.z;
  5495. MOV.F R3.z, R7.y;
  5496. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  5497. MOV.F R3.w, R20;
  5498. FRC.F32 R3.w, R3;
  5499. MOV.S R19.z, R3;
  5500. MOV.S R16.z, R3.w;
  5501. MOV.F R3.w, R18.z;
  5502. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5503. MOV.F R3.z, R18.x;
  5504. FRC.F32 R3.z, R3;
  5505. MOV.S R16.y, R3.w;
  5506. MOV.S R16.x, R3.z;
  5507. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  5508. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  5509. TRUNC.U R3.z, R3;
  5510. TRUNC.U R3.w, R3;
  5511. AND.U.CC HC.x, R3.z, R3.w;
  5512. MUL.F32 R3.y, R4.w, R6.w;
  5513. MOV.S R19.w, R3.x;
  5514. IF    NE.x;
  5515. MOV.F R3.x, R3.y;
  5516. ELSE;
  5517. MOV.F R3.x, {0, 0, 0, 0};
  5518. ENDIF;
  5519. MOV.F R3.z, R21.x;
  5520. MOV.F R3.y, c[7];
  5521. ADD.F32 R3.y, R3, R3.z;
  5522. MOV.S R18.w, R3.y;
  5523. MOV.F R3.y, R19.z;
  5524. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5525. MOV.F R3.z, c[7];
  5526. MUL.F32 R3.y, R3.z, R3;
  5527. TRUNC.U R3.w, R3;
  5528. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5529. MOV.S R20.w, R3.x;
  5530. TRUNC.U R3.x, R3.z;
  5531. AND.U.CC HC.x, R3, R3.w;
  5532. IF    NE.x;
  5533. MOV.F R3.x, R3.y;
  5534. ELSE;
  5535. MOV.F R3.x, {0, 0, 0, 0};
  5536. ENDIF;
  5537. MOV.F R3.z, R16.x;
  5538. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5539. MOV.F R3.w, R16.z;
  5540. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5541. MOV.F R6.w, R19;
  5542. MOV.F R4.w, R20.y;
  5543. MOV.S R21.y, R3.z;
  5544. MOV.S R18.z, R3.w;
  5545. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  5546. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  5547. TRUNC.U R3.z, R3;
  5548. TRUNC.U R3.w, R3;
  5549. AND.U.CC HC.x, R3.z, R3.w;
  5550. MUL.F32 R3.y, R4.w, R6.w;
  5551. MOV.S R21.x, R3;
  5552. IF    NE.x;
  5553. MOV.F R3.x, R3.y;
  5554. ELSE;
  5555. MOV.F R3.x, {0, 0, 0, 0};
  5556. ENDIF;
  5557. MOV.F R3.y, R16;
  5558. FRC.F32 R3.y, R3;
  5559. MOV.S R18.x, R3.y;
  5560. MOV.F R3.y, R21.x;
  5561. ADD.F32 R3.x, R3, R3.y;
  5562. MOV.F R3.z, R20.w;
  5563. MOV.F R3.y, c[7].x;
  5564. ADD.F32 R3.y, R3, R3.z;
  5565. MOV.S R20.y, R3;
  5566. MOV.F R3.z, R15.w;
  5567. MOV.F R3.y, c[8].z;
  5568. MOV.S R16.x, R3;
  5569. MUL.F32 R3.x, R3.y, R3.z;
  5570. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5571. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  5572. TRUNC.U R3.z, R3;
  5573. TRUNC.U R3.y, R3;
  5574. AND.U.CC HC.x, R3.y, R3.z;
  5575. IF    NE.x;
  5576. ELSE;
  5577. MOV.F R3.x, {0, 0, 0, 0};
  5578. ENDIF;
  5579. MOV.F R3.y, R19.z;
  5580. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5581. MOV.F R3.z, c[7].y;
  5582. MUL.F32 R3.y, R3.z, R3;
  5583. TRUNC.U R3.w, R3;
  5584. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5585. MOV.S R16.z, R3.x;
  5586. TRUNC.U R3.x, R3.z;
  5587. AND.U.CC HC.x, R3, R3.w;
  5588. IF    NE.x;
  5589. MOV.F R3.x, R3.y;
  5590. ELSE;
  5591. MOV.F R3.x, {0, 0, 0, 0};
  5592. ENDIF;
  5593. MOV.F R3.z, R21.y;
  5594. MUL.F32 R3.z, R3, {0.159154937, 0, 0, 0}.x;
  5595. MOV.F R3.w, R18;
  5596. MOV.F R4.w, R19;
  5597. MOV.S R17.z, R3;
  5598. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5599. MUL.F32 R3.y, R3.w, R4.w;
  5600. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  5601. TRUNC.U R3.z, R3;
  5602. TRUNC.U R3.w, R3;
  5603. AND.U.CC HC.x, R3.z, R3.w;
  5604. MOV.S R20.w, R3.x;
  5605. IF    NE.x;
  5606. MOV.F R3.x, R3.y;
  5607. ELSE;
  5608. MOV.F R3.x, {0, 0, 0, 0};
  5609. ENDIF;
  5610. MOV.F R3.w, R18.x;
  5611. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5612. MOV.F R3.y, R16.z;
  5613. MOV.F R3.z, R16.x;
  5614. ADD.F32 R3.z, R3.y, R3;
  5615. MOV.F R3.y, R18.z;
  5616. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  5617. MOV.S R18.z, R3;
  5618. MOV.F R3.z, R8.x;
  5619. MAX.F R3.z, R3, {0, 0, 0, 0}.x;
  5620. MOV.S R18.y, R3;
  5621. MOV.S R19.y, R3.z;
  5622. MOV.F R3.y, R15.w;
  5623. MOV.S R18.w, R3;
  5624. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5625. MOV.F R3.z, c[8].y;
  5626. MUL.F32 R3.y, R3.z, R3;
  5627. TRUNC.U R3.w, R3;
  5628. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5629. MOV.S R21.x, R3;
  5630. TRUNC.U R3.x, R3.z;
  5631. AND.U.CC HC.x, R3, R3.w;
  5632. IF    NE.x;
  5633. MOV.F R3.x, R3.y;
  5634. ELSE;
  5635. MOV.F R3.x, {0, 0, 0, 0};
  5636. ENDIF;
  5637. MOV.F R3.z, R20.w;
  5638. MOV.F R3.y, R21.x;
  5639. ADD.F32 R3.y, R3, R3.z;
  5640. MOV.F R3.w, R19;
  5641. MOV.F R3.z, R20.y;
  5642. MOV.S R16.y, R3;
  5643. MUL.F32 R3.y, R3.z, R3.w;
  5644. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5645. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5646. TRUNC.U R3.z, R3;
  5647. TRUNC.U R3.w, R3;
  5648. AND.U.CC HC.x, R3.z, R3.w;
  5649. MOV.S R16.x, R3;
  5650. IF    NE.x;
  5651. MOV.F R3.x, R3.y;
  5652. ELSE;
  5653. MOV.F R3.x, {0, 0, 0, 0};
  5654. ENDIF;
  5655. MOV.F R3.y, R19.z;
  5656. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5657. MOV.F R3.z, c[7].x;
  5658. MUL.F32 R3.y, R3.z, R3;
  5659. TRUNC.U R3.w, R3;
  5660. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5661. MOV.S R16.z, R3.x;
  5662. TRUNC.U R3.x, R3.z;
  5663. AND.U.CC HC.x, R3, R3.w;
  5664. IF    NE.x;
  5665. MOV.F R3.x, R3.y;
  5666. ELSE;
  5667. MOV.F R3.x, {0, 0, 0, 0};
  5668. ENDIF;
  5669. MOV.F R3.y, R17.z;
  5670. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5671. SIN.F32 R3.y, R3.y;
  5672. MOV.S R20.y, R3;
  5673. MOV.F R3.y, R18.w;
  5674. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  5675. MOV.F R3.w, R16.y;
  5676. MOV.F R3.z, R16.x;
  5677. ADD.F32 R3.z, R3, R3.w;
  5678. MOV.S R21.y, R3.z;
  5679. MOV.F R3.z, R16;
  5680. ADD.F32 R3.x, R3.z, R3;
  5681. MOV.F R3.z, R18;
  5682. MOV.S R18.z, R3.y;
  5683. MOV.F R3.y, R23.z;
  5684. MOV.S R18.x, R3;
  5685. MUL.F32 R3.x, R3.y, R3.z;
  5686. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5687. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  5688. TRUNC.U R3.z, R3;
  5689. TRUNC.U R3.y, R3;
  5690. AND.U.CC HC.x, R3.y, R3.z;
  5691. IF    NE.x;
  5692. ELSE;
  5693. MOV.F R3.x, {0, 0, 0, 0};
  5694. ENDIF;
  5695. MOV.F R3.y, R17.z;
  5696. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5697. COS.F32 R3.y, R3.y;
  5698. MOV.F R4.w, R21.y;
  5699. MOV.F R3.z, R23.y;
  5700. MOV.S R19.x, R3.y;
  5701. MUL.F32 R3.y, R3.z, R4.w;
  5702. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5703. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5704. TRUNC.U R4.w, R4;
  5705. TRUNC.U R3.z, R3;
  5706. AND.U.CC HC.x, R3.z, R4.w;
  5707. MOV.S R3.w, R19.y;
  5708. MOV.S R21.w, R3.x;
  5709. IF    NE.x;
  5710. MOV.F R3.x, R3.y;
  5711. ELSE;
  5712. MOV.F R3.x, {0, 0, 0, 0};
  5713. ENDIF;
  5714. MOV.F R4.w, c[10];
  5715. MOV.F R3.z, R21.w;
  5716. MUL.F32 R3.y, R3.z, R4.w;
  5717. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5718. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5719. TRUNC.U R3.z, R3;
  5720. TRUNC.U R4.w, R4;
  5721. AND.U.CC HC.x, R3.z, R4.w;
  5722. MOV.S R17.x, R3;
  5723. IF    NE.x;
  5724. MOV.F R3.x, R3.y;
  5725. ELSE;
  5726. MOV.F R3.x, {0, 0, 0, 0};
  5727. ENDIF;
  5728. MOV.F R3.y, R15.w;
  5729. SNE.F32 R4.w, R3.y, {0, 0, 0, 0}.x;
  5730. MOV.F R3.z, c[8].x;
  5731. MUL.F32 R3.y, R3.z, R3;
  5732. TRUNC.U R4.w, R4;
  5733. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5734. MOV.S R19.y, R3.x;
  5735. TRUNC.U R3.x, R3.z;
  5736. AND.U.CC HC.x, R3, R4.w;
  5737. IF    NE.x;
  5738. MOV.F R3.x, R3.y;
  5739. ELSE;
  5740. MOV.F R3.x, {0, 0, 0, 0};
  5741. ENDIF;
  5742. MOV.F R4.w, R18.x;
  5743. ADD.F32 R3.x, R3, R4.w;
  5744. MOV.F R6.w, R19.x;
  5745. MOV.F R3.y, R18;
  5746. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5747. SIN.F32 R3.z, R3.y;
  5748. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  5749. MOV.S R21.y, R3.x;
  5750. MOV.F R3.x, R3.w;
  5751. SNE.F32 R3.w, R3.z, {0, 0, 0, 0}.x;
  5752. MUL.F32 R3.y, R3.z, R6.w;
  5753. MOV.S R18.w, R3.z;
  5754. MOV.F R3.z, R23.x;
  5755. MIN.F R3.x, R3, {0, 0, 0, 0};
  5756. ADD.F32 R3.x, R3.z, R3;
  5757. TRUNC.U R4.w, R4;
  5758. TRUNC.U R3.z, R3.w;
  5759. AND.U.CC HC.x, R4.w, R3.z;
  5760. MOV.S R3.x, R3;
  5761. IF    NE.x;
  5762. ELSE;
  5763. MOV.F R3.y, {0, 0, 0, 0}.x;
  5764. ENDIF;
  5765. MOV.F R4.w, R18;
  5766. MOV.F R3.w, R20.y;
  5767. MUL.F32 R3.z, R3.w, R4.w;
  5768. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5769. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5770. TRUNC.U R3.w, R3;
  5771. TRUNC.U R4.w, R4;
  5772. AND.U.CC HC.x, R3.w, R4.w;
  5773. MOV.S R17.z, R3.y;
  5774. IF    NE.x;
  5775. MOV.F R3.y, R3.z;
  5776. ELSE;
  5777. MOV.F R3.y, {0, 0, 0, 0}.x;
  5778. ENDIF;
  5779. MOV.F R3.z, R18.y;
  5780. MUL.F32 R3.z, R3, {6.28318548, 0, 0, 0}.x;
  5781. COS.F32 R4.w, R3.z;
  5782. MOV.F R6.w, R19.x;
  5783. MUL.F32 R3.z, R4.w, R6.w;
  5784. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5785. SNE.F32 R7.y, R4.w, {0, 0, 0, 0}.x;
  5786. MOV.S R19.z, R4.w;
  5787. TRUNC.U R4.w, R6;
  5788. TRUNC.U R6.w, R7.y;
  5789. AND.U.CC HC.x, R4.w, R6.w;
  5790. MOV.S R3.w, R19.y;
  5791. MOV.S R20.w, R3.y;
  5792. IF    NE.x;
  5793. MOV.F R3.y, R3.z;
  5794. ELSE;
  5795. MOV.F R3.y, {0, 0, 0, 0}.x;
  5796. ENDIF;
  5797. MOV.F R6.w, R19.z;
  5798. MOV.F R4.w, R20.y;
  5799. MUL.F32 R3.z, R4.w, R6.w;
  5800. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5801. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5802. TRUNC.U R4.w, R4;
  5803. TRUNC.U R6.w, R6;
  5804. AND.U.CC HC.x, R4.w, R6.w;
  5805. MOV.S R18.x, R3.y;
  5806. IF    NE.x;
  5807. MOV.F R3.y, R3.z;
  5808. ELSE;
  5809. MOV.F R3.y, {0, 0, 0, 0}.x;
  5810. ENDIF;
  5811. MOV.F R3.z, R3.x;
  5812. MOV.F R4.w, R21.y;
  5813. MUL.F32 R3.x, R3.z, R4.w;
  5814. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5815. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5816. TRUNC.U R3.z, R3;
  5817. TRUNC.U R4.w, R4;
  5818. AND.U.CC HC.x, R3.z, R4.w;
  5819. MOV.S R19.y, R3;
  5820. IF    NE.x;
  5821. ELSE;
  5822. MOV.F R3.x, {0, 0, 0, 0};
  5823. ENDIF;
  5824. MOV.F R3.z, R4;
  5825. MUL.F32 R3.y, R3.z, R3.w;
  5826. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5827. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5828. TRUNC.U R3.z, R3;
  5829. TRUNC.U R3.w, R3;
  5830. AND.U.CC HC.x, R3.z, R3.w;
  5831. MOV.S R16.z, R3.x;
  5832. IF    NE.x;
  5833. MOV.F R3.x, R3.y;
  5834. ELSE;
  5835. MOV.F R3.x, {0, 0, 0, 0};
  5836. ENDIF;
  5837. MOV.F R3.y, R18.z;
  5838. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5839. SIN.F32 R3.z, R3.y;
  5840. MOV.F R3.w, R20;
  5841. MUL.F32 R3.y, R3.z, R3.w;
  5842. MOV.S R18.y, R3.z;
  5843. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5844. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5845. TRUNC.U R3.z, R3;
  5846. TRUNC.U R3.w, R3;
  5847. AND.U.CC HC.x, R3.z, R3.w;
  5848. MOV.S R19.w, R3.x;
  5849. IF    NE.x;
  5850. MOV.F R3.x, R3.y;
  5851. ELSE;
  5852. MOV.F R3.x, {0, 0, 0, 0};
  5853. ENDIF;
  5854. MOV.F R3.w, c[10].z;
  5855. MOV.F R3.z, R17.x;
  5856. MUL.F32 R3.y, R3.z, R3.w;
  5857. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5858. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5859. TRUNC.U R3.z, R3;
  5860. TRUNC.U R3.w, R3;
  5861. AND.U.CC HC.x, R3.z, R3.w;
  5862. MOV.S R21.x, R3;
  5863. IF    NE.x;
  5864. MOV.F R3.x, R3.y;
  5865. ELSE;
  5866. MOV.F R3.x, {0, 0, 0, 0};
  5867. ENDIF;
  5868. MOV.F R3.w, R17.z;
  5869. MOV.F R3.z, R18.y;
  5870. MUL.F32 R3.y, R3.z, R3.w;
  5871. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5872. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5873. TRUNC.U R3.z, R3;
  5874. TRUNC.U R3.w, R3;
  5875. AND.U.CC HC.x, R3.z, R3.w;
  5876. MOV.S R23.y, R3.x;
  5877. IF    NE.x;
  5878. MOV.F R3.x, R3.y;
  5879. ELSE;
  5880. MOV.F R3.x, {0, 0, 0, 0};
  5881. ENDIF;
  5882. MOV.F R3.w, c[10].y;
  5883. MOV.F R3.z, R16;
  5884. MUL.F32 R3.y, R3.z, R3.w;
  5885. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5886. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5887. TRUNC.U R3.z, R3;
  5888. TRUNC.U R3.w, R3;
  5889. AND.U.CC HC.x, R3.z, R3.w;
  5890. MOV.S R21.z, R3.x;
  5891. IF    NE.x;
  5892. MOV.F R3.x, R3.y;
  5893. ELSE;
  5894. MOV.F R3.x, {0, 0, 0, 0};
  5895. ENDIF;
  5896. MOV.F R3.w, R18.x;
  5897. MOV.F R3.y, R21.x;
  5898. ADD.F32 R3.y, R3.w, R3;
  5899. MOV.S R18.x, R3.y;
  5900. MOV.F R4.z, R21;
  5901. MOV.F R3.z, R19.y;
  5902. ADD.F32 R3.z, -R3, R4;
  5903. MOV.F R3.y, R18.z;
  5904. MOV.S R16.y, R3.z;
  5905. MUL.F32 R3.z, R3.y, {6.28318548, 0, 0, 0}.x;
  5906. MOV.F R4.z, R18.y;
  5907. COS.F32 R3.z, R3.z;
  5908. MUL.F32 R3.y, R3.w, R4.z;
  5909. MOV.S R20.x, R3.z;
  5910. SNE.F32 R3.z, R4, {0, 0, 0, 0}.x;
  5911. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5912. TRUNC.U R3.z, R3;
  5913. TRUNC.U R3.w, R3;
  5914. AND.U.CC HC.x, R3.z, R3.w;
  5915. MOV.S R15.w, R3.x;
  5916. IF    NE.x;
  5917. MOV.F R3.x, R3.y;
  5918. ELSE;
  5919. MOV.F R3.x, {0, 0, 0, 0};
  5920. ENDIF;
  5921. MOV.F R3.w, R20.x;
  5922. MOV.F R3.z, R18.w;
  5923. MUL.F32 R3.y, R3.z, R3.w;
  5924. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5925. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5926. TRUNC.U R3.z, R3;
  5927. TRUNC.U R3.w, R3;
  5928. AND.U.CC HC.x, R3.z, R3.w;
  5929. MOV.S R18.z, R3.x;
  5930. IF    NE.x;
  5931. MOV.F R3.x, R3.y;
  5932. ELSE;
  5933. MOV.F R3.x, {0, 0, 0, 0};
  5934. ENDIF;
  5935. MOV.F R3.w, R19.y;
  5936. MOV.F R3.z, R18.y;
  5937. MUL.F32 R3.y, R3.z, R3.w;
  5938. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5939. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5940. TRUNC.U R3.z, R3;
  5941. TRUNC.U R3.w, R3;
  5942. AND.U.CC HC.x, R3.z, R3.w;
  5943. MOV.S R16.w, R3.x;
  5944. IF    NE.x;
  5945. MOV.F R3.x, R3.y;
  5946. ELSE;
  5947. MOV.F R3.x, {0, 0, 0, 0};
  5948. ENDIF;
  5949. MOV.F R3.w, R20.x;
  5950. MOV.F R3.z, R20.y;
  5951. MUL.F32 R3.y, R3.z, R3.w;
  5952. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5953. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5954. TRUNC.U R3.z, R3;
  5955. TRUNC.U R3.w, R3;
  5956. AND.U.CC HC.x, R3.z, R3.w;
  5957. MOV.S R17.x, R3;
  5958. IF    NE.x;
  5959. MOV.F R3.x, R3.y;
  5960. ELSE;
  5961. MOV.F R3.x, {0, 0, 0, 0};
  5962. ENDIF;
  5963. MOV.F R3.w, R20.x;
  5964. MOV.F R3.z, R19.x;
  5965. MUL.F32 R3.y, R3.z, R3.w;
  5966. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5967. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5968. TRUNC.U R3.z, R3;
  5969. TRUNC.U R3.w, R3;
  5970. AND.U.CC HC.x, R3.z, R3.w;
  5971. MOV.S R23.x, R3;
  5972. IF    NE.x;
  5973. MOV.F R3.x, R3.y;
  5974. ELSE;
  5975. MOV.F R3.x, {0, 0, 0, 0};
  5976. ENDIF;
  5977. MOV.F R3.z, R18.y;
  5978. MOV.F R3.z, -R3;
  5979. MOV.F R3.w, R16;
  5980. MOV.F R4.z, R19.w;
  5981. MOV.S R23.z, R3;
  5982. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5983. MUL.F32 R3.y, R3.w, R4.z;
  5984. SNE.F32 R3.w, R4.z, {0, 0, 0, 0}.x;
  5985. TRUNC.U R3.z, R3;
  5986. TRUNC.U R3.w, R3;
  5987. AND.U.CC HC.x, R3.z, R3.w;
  5988. MOV.S R7.y, R3.x;
  5989. IF    NE.x;
  5990. MOV.F R3.x, R3.y;
  5991. ELSE;
  5992. MOV.F R3.x, {0, 0, 0, 0};
  5993. ENDIF;
  5994. MOV.F R3.w, R19;
  5995. MOV.F R3.z, R16.y;
  5996. MUL.F32 R3.y, R3.z, R3.w;
  5997. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5998. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5999. TRUNC.U R3.z, R3;
  6000. TRUNC.U R3.w, R3;
  6001. AND.U.CC HC.x, R3.z, R3.w;
  6002. MOV.S R13.w, R3.x;
  6003. IF    NE.x;
  6004. MOV.F R3.x, R3.y;
  6005. ELSE;
  6006. MOV.F R3.x, {0, 0, 0, 0};
  6007. ENDIF;
  6008. MOV.F R3.w, R19;
  6009. MOV.F R3.y, R18.x;
  6010. MUL.F32 R3.z, R3.y, R3.w;
  6011. SNE.F32 R4.z, R3.w, {0, 0, 0, 0}.x;
  6012. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  6013. TRUNC.U R3.w, R3.y;
  6014. TRUNC.U R4.z, R4;
  6015. AND.U.CC HC.x, R3.w, R4.z;
  6016. MOV.S R3.y, R3.x;
  6017. IF    NE.x;
  6018. MOV.F R3.x, R3.z;
  6019. ELSE;
  6020. MOV.F R3.x, {0, 0, 0, 0};
  6021. ENDIF;
  6022. MOV.F R3.w, R18.z;
  6023. MOV.F R3.z, R20.w;
  6024. ADD.F32 R3.z, R3, R3.w;
  6025. MOV.F R4.z, R20.x;
  6026. MOV.F R3.w, R19.z;
  6027. MOV.S R9.y, R3.z;
  6028. MUL.F32 R3.z, R3.w, R4;
  6029. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  6030. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6031. TRUNC.U R3.w, R3;
  6032. TRUNC.U R4.z, R4;
  6033. AND.U.CC HC.x, R3.w, R4.z;
  6034. MOV.S R3.x, R3;
  6035. IF    NE.x;
  6036. ELSE;
  6037. MOV.F R3.z, {0, 0, 0, 0}.x;
  6038. ENDIF;
  6039. MOV.F R6.w, {1, 0, 0, 0}.x;
  6040. DP4.F32 R3.w, R10, R6;
  6041. MOV.F R10, R11;
  6042. MOV.S R7.w, R3;
  6043. DP4.F32 R3.w, R6, R10;
  6044. MOV.F R10, R12;
  6045. DP4.F32 R6.x, R6, R10;
  6046. MOV.S R4.w, R3;
  6047. MOV.F R4.z, R17.x;
  6048. MOV.F R3.w, R17.z;
  6049. ADD.F32 R3.w, -R3, R4.z;
  6050. MOV.S R14.w, R3;
  6051. MOV.F R3.w, c[11];
  6052. MOV.S R10.x, R0.y;
  6053. ADD.F32 R0.y, R0, -R3.w;
  6054. MOV.S R8.w, R6.x;
  6055. MOV.S R6.x, R0.y;
  6056. MOV.F R0.y, c[12].w;
  6057. ADD.F32 R0.y, R3.w, -R0;
  6058. MOV.F R4.z, R8.x;
  6059. SGT.F32 R3.w, R4.z, {0.5, 0, 0, 0}.x;
  6060. TRUNC.U.CC HC.x, R3.w;
  6061. MOV.S R16.y, R0;
  6062. MOV.S R3.z, R3;
  6063. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  6064. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  6065. IF    NE.x;
  6066. MOV.S R0.y, {-1, 0, 0, 0}.x;
  6067. ELSE;
  6068. MOV.S R0.y, {0, 0, 0, 0}.x;
  6069. ENDIF;
  6070. MOV.F R4.z, c[12].w;
  6071. MOV.F R3.w, R10.x;
  6072. ADD.F32 R3.w, R3, -R4.z;
  6073. MOV.S R12.w, R3;
  6074. MOV.F R3.w, R24.x;
  6075. MOV.F R4.z, R6.x;
  6076. ADD.F32 R3.w, -R3, {1, 0, 0, 0}.x;
  6077. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6078. TRUNC.U.CC HC.x, R4.z;
  6079. MOV.S R9.x, R3.w;
  6080. IF    NE.x;
  6081. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  6082. ELSE;
  6083. MOV.S R3.w, {0, 0, 0, 0}.x;
  6084. ENDIF;
  6085. MOV.F R4.z, R12.w;
  6086. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6087. TRUNC.U.CC HC.x, R4.z;
  6088. MOV.S R12.x, R3.w;
  6089. IF    NE.x;
  6090. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  6091. ELSE;
  6092. MOV.S R4.z, {0, 0, 0, 0}.x;
  6093. ENDIF;
  6094. MOV.F R6.z, c[11].x;
  6095. MOV.F R6.y, c[12].x;
  6096. ADD.F32 R6.y, -R6, R6.z;
  6097. SEQ.S R6.z, R0.y, {0, 0, 0, 0}.x;
  6098. MOV.U.CC RC.x, -R6.z;
  6099. MOV.S R21.z, R6.y;
  6100. IF    NE.x;
  6101. MOV.S R6.y, R24;
  6102. ELSE;
  6103. MOV.S R6.y, R24;
  6104. ENDIF;
  6105. MOV.F R6.w, R21.z;
  6106. MOV.F R6.z, R16.y;
  6107. DIV.F32 R6.z, R6.w, R6.z;
  6108. MOV.S R12.y, R6.z;
  6109. MOV.F R6.w, c[13];
  6110. MOV.F R6.z, R10.x;
  6111. ADD.F32 R6.z, R6, -R6.w;
  6112. MOV.F R8.x, c[11].w;
  6113. MOV.S R11.x, R6.z;
  6114. ADD.F32 R6.z, R6.w, -R8.x;
  6115. MOV.S R16.w, R6.z;
  6116. MOV.F R6.w, c[13].x;
  6117. MOV.F R6.z, c[11].x;
  6118. ADD.F32 R6.z, -R6, R6.w;
  6119. MOV.F R6.w, R3;
  6120. MOV.S R21.x, R6.z;
  6121. ADD.F32 R6.z, -R4, {1, 0, 0, 0}.x;
  6122. ADD.F32 R3.w, -R6, {1, 0, 0, 0}.x;
  6123. MUL.F32 R3.w, R4.z, R3;
  6124. MOV.S R11.w, R6.y;
  6125. SNE.F32 R6.y, -R6.w, {-1, 0, 0, 0}.x;
  6126. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6127. TRUNC.U R6.y, R6;
  6128. TRUNC.U R4.z, R4;
  6129. AND.U.CC HC.x, R4.z, R6.y;
  6130. MOV.S R12.z, R6;
  6131. IF    NE.x;
  6132. ELSE;
  6133. MOV.F R3.w, {0, 0, 0, 0}.x;
  6134. ENDIF;
  6135. SEQ.S R0.y, R0, {0, 0, 0, 0}.x;
  6136. MOV.U.CC RC.x, -R0.y;
  6137. MOV.S R6.y, R3.w;
  6138. IF    NE.x;
  6139. MOV.S R0.y, R24.x;
  6140. ELSE;
  6141. MOV.S R0.y, R9.x;
  6142. ENDIF;
  6143. MOV.F R3.w, R11.x;
  6144. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  6145. TRUNC.U.CC HC.x, R3.w;
  6146. MOV.S R6.z, R0.y;
  6147. IF    NE.x;
  6148. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  6149. ELSE;
  6150. MOV.S R0.y, {0, 0, 0, 0}.x;
  6151. ENDIF;
  6152. MOV.F R6.w, R8.y;
  6153. SGT.F32 R9.x, R6.w, {0.5, 0, 0, 0};
  6154. TRUNC.U.CC HC.x, R9;
  6155. MOV.F R4.z, R21.x;
  6156. MOV.F R3.w, R16;
  6157. DIV.F32 R3.w, R4.z, R3.w;
  6158. MOV.S R8.z, R3.w;
  6159. MOV.F R4.z, c[14].w;
  6160. MOV.F R3.w, R10.x;
  6161. ADD.F32 R3.w, -R4.z, R3;
  6162. MOV.S R8.x, R3.w;
  6163. MOV.F R3.w, c[13];
  6164. ADD.F32 R3.w, -R3, R4.z;
  6165. MOV.F R4.z, R0.y;
  6166. MOV.S R8.y, R3.w;
  6167. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  6168. MOV.S R3.w, R0.y;
  6169. MOV.S R6.w, R4.z;
  6170. IF    NE.x;
  6171. MOV.S R0.y, {-1, 0, 0, 0}.x;
  6172. ELSE;
  6173. MOV.S R0.y, {0, 0, 0, 0}.x;
  6174. ENDIF;
  6175. ENDIF;
  6176. SEQ.U R4.z, R23.w, {1, 0, 0, 0}.x;
  6177. MOV.U.CC RC.x, -R4.z;
  6178. IF    NE.x;
  6179. MOV.F R9.z, R12.y;
  6180. MOV.F R9.x, R12.w;
  6181. MUL.F32 R4.z, R9.x, R9;
  6182. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  6183. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  6184. TRUNC.U R9.z, R9;
  6185. TRUNC.U R9.x, R9;
  6186. AND.U.CC HC.x, R9, R9.z;
  6187. IF    NE.x;
  6188. ELSE;
  6189. MOV.F R4.z, {0, 0, 0, 0}.x;
  6190. ENDIF;
  6191. MOV.F R9.x, c[12];
  6192. ADD.F32 R4.z, R4, R9.x;
  6193. MOV.F R9.z, R8.x;
  6194. SGE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  6195. MOV.S R17.x, R4.z;
  6196. MOV.F R9.x, c[15];
  6197. MOV.F R4.z, c[15].y;
  6198. MUL.F32 R9.x, R9, {0.5, 0, 0, 0};
  6199. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  6200. TRUNC.U.CC HC.x, R9.z;
  6201. MOV.S R16.z, R9.x;
  6202. MOV.S R16.y, R4.z;
  6203. IF    NE.x;
  6204. MOV.S R9.x, {1065353216, 0, 0, 0};
  6205. ELSE;
  6206. MOV.S R9.x, {0, 0, 0, 0};
  6207. ENDIF;
  6208. MOV.F R9.z, R6.w;
  6209. MOV.F R4.z, R16.y;
  6210. ADD.F32 R4.z, R4.y, R4;
  6211. MOV.F R4.y, R16.z;
  6212. ADD.F32 R4.x, R4, R4.y;
  6213. MOV.F R4.y, R8;
  6214. RCP.F32 R4.y, R4.y;
  6215. MOV.S R21.w, R4.z;
  6216. MOV.F R8.y, R12.x;
  6217. MOV.S R21.x, R4;
  6218. MOV.S R18.x, R4.y;
  6219. SNE.F32 R4.y, R8, {0, 0, 0, 0}.x;
  6220. MOV.F R6.w, c[16];
  6221. MOV.F R4.z, R10.x;
  6222. ADD.F32 R4.z, R4, -R6.w;
  6223. MOV.S R17.y, R4.z;
  6224. SNE.F32 R4.z, R9, {0, 0, 0, 0}.x;
  6225. TRUNC.U R4.y, R4;
  6226. TRUNC.U R4.z, R4;
  6227. AND.U.CC HC.x, R4.y, R4.z;
  6228. MUL.F32 R4.x, R8.y, R9.z;
  6229. AND.S R21.z, c[2].x, {524288, 0, 0, 0}.x;
  6230. IF    NE.x;
  6231. ELSE;
  6232. MOV.F R4.x, {0, 0, 0, 0};
  6233. ENDIF;
  6234. MOV.F R4.z, R23.y;
  6235. MOV.F R4.y, R21.w;
  6236. SNE.F32 R6.w, R4.y, {0, 0, 0, 0}.x;
  6237. TRUNC.U R9.z, R6.w;
  6238. SNE.F32 R8.y, R4.z, {0, 0, 0, 0}.x;
  6239. MUL.F32 R4.y, R4.z, R4;
  6240. MOV.F R6.w, c[14].x;
  6241. MOV.F R4.z, c[13].x;
  6242. ADD.F32 R4.z, -R4, R6.w;
  6243. TRUNC.U R6.w, R8.y;
  6244. AND.U.CC HC.x, R6.w, R9.z;
  6245. MOV.S R16.x, R4.z;
  6246. MOV.S R20.y, R4.x;
  6247. IF    NE.x;
  6248. MOV.F R4.x, R4.y;
  6249. ELSE;
  6250. MOV.F R4.x, {0, 0, 0, 0};
  6251. ENDIF;
  6252. MOV.F R6.w, R21.x;
  6253. MOV.F R4.z, R15.w;
  6254. MUL.F32 R4.y, R4.z, R6.w;
  6255. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6256. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6257. TRUNC.U R4.z, R4;
  6258. TRUNC.U R6.w, R6;
  6259. AND.U.CC HC.x, R4.z, R6.w;
  6260. MOV.S R16.y, R4.x;
  6261. IF    NE.x;
  6262. MOV.F R4.x, R4.y;
  6263. ELSE;
  6264. MOV.F R4.x, {0, 0, 0, 0};
  6265. ENDIF;
  6266. SEQ.S R4.y, R21.z, {524288, 0, 0, 0}.x;
  6267. MOV.U.CC RC.x, -R4.y;
  6268. MOV.S R18.z, R4.x;
  6269. IF    NE.x;
  6270. MOV.S R8.y, {-1, 0, 0, 0}.x;
  6271. ELSE;
  6272. MOV.S R8.y, {0, 0, 0, 0}.x;
  6273. ENDIF;
  6274. MOV.F R4.x, R17.y;
  6275. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  6276. TRUNC.U.CC HC.x, R4;
  6277. IF    NE.x;
  6278. MOV.S R6.w, {1065353216, 0, 0, 0}.x;
  6279. ELSE;
  6280. MOV.S R6.w, {0, 0, 0, 0}.x;
  6281. ENDIF;
  6282. MOV.F R4.y, R7;
  6283. MOV.F R4.x, R16.y;
  6284. SNE.F32 R4.z, R4.x, {0, 0, 0, 0}.x;
  6285. TRUNC.U R7.y, R4.z;
  6286. SNE.F32 R9.z, R4.y, {0, 0, 0, 0}.x;
  6287. MUL.F32 R4.x, R4, R4.y;
  6288. MOV.F R4.z, c[16].w;
  6289. MOV.F R4.y, c[14].w;
  6290. ADD.F32 R4.y, -R4, R4.z;
  6291. TRUNC.U R4.z, R9;
  6292. AND.U.CC HC.x, R7.y, R4.z;
  6293. MOV.S R21.x, R4.y;
  6294. IF    NE.x;
  6295. ELSE;
  6296. MOV.F R4.x, {0, 0, 0, 0};
  6297. ENDIF;
  6298. MOV.F R4.y, R3;
  6299. ADD.F32 R4.x, R4, R4.y;
  6300. MOV.F R4.z, R23;
  6301. MOV.F R4.y, R16;
  6302. MOV.S R21.y, R4.x;
  6303. MUL.F32 R4.x, R4.y, R4.z;
  6304. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6305. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6306. TRUNC.U R4.z, R4;
  6307. TRUNC.U R4.y, R4;
  6308. AND.U.CC HC.x, R4.y, R4.z;
  6309. IF    NE.x;
  6310. ELSE;
  6311. MOV.F R4.x, {0, 0, 0, 0};
  6312. ENDIF;
  6313. MOV.F R4.y, R13.w;
  6314. ADD.F32 R4.x, R4, R4.y;
  6315. MOV.F R4.z, R23.x;
  6316. MOV.F R4.y, R16;
  6317. MOV.S R21.z, R4.x;
  6318. MUL.F32 R4.x, R4.y, R4.z;
  6319. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6320. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6321. TRUNC.U R4.z, R4;
  6322. TRUNC.U R4.y, R4;
  6323. AND.U.CC HC.x, R4.y, R4.z;
  6324. IF    NE.x;
  6325. ELSE;
  6326. MOV.F R4.x, {0, 0, 0, 0};
  6327. ENDIF;
  6328. MOV.F R4.y, R16.x;
  6329. MOV.F R4.z, R18.x;
  6330. MUL.F32 R4.z, R4.y, R4;
  6331. MOV.F R4.y, R3.x;
  6332. ADD.F32 R4.y, R4.x, R4;
  6333. MOV.S R19.w, R4.z;
  6334. MOV.F R4.z, R18;
  6335. MOV.F R7.y, R3.z;
  6336. MUL.F32 R4.x, R4.z, R7.y;
  6337. MOV.S R21.w, R4.y;
  6338. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6339. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6340. TRUNC.U R4.z, R7.y;
  6341. TRUNC.U R4.y, R4;
  6342. AND.U.CC HC.x, R4.y, R4.z;
  6343. IF    NE.x;
  6344. ELSE;
  6345. MOV.F R4.x, {0, 0, 0, 0};
  6346. ENDIF;
  6347. MOV.F R4.y, R21.z;
  6348. ADD.F32 R4.y, R4.x, R4;
  6349. MOV.F R4.z, R18;
  6350. MOV.F R7.y, R9;
  6351. MUL.F32 R4.x, R4.z, R7.y;
  6352. MOV.S R18.x, R4.y;
  6353. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6354. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6355. TRUNC.U R4.z, R7.y;
  6356. TRUNC.U R4.y, R4;
  6357. AND.U.CC HC.x, R4.y, R4.z;
  6358. IF    NE.x;
  6359. ELSE;
  6360. MOV.F R4.x, {0, 0, 0, 0};
  6361. ENDIF;
  6362. MOV.F R4.y, R21;
  6363. ADD.F32 R4.y, R4.x, R4;
  6364. MOV.F R4.z, R18;
  6365. MOV.F R7.y, R14.w;
  6366. MUL.F32 R4.x, R4.z, R7.y;
  6367. MOV.S R18.y, R4;
  6368. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6369. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6370. TRUNC.U R4.z, R7.y;
  6371. TRUNC.U R4.y, R4;
  6372. AND.U.CC HC.x, R4.y, R4.z;
  6373. IF    NE.x;
  6374. ELSE;
  6375. MOV.F R4.x, {0, 0, 0, 0};
  6376. ENDIF;
  6377. MOV.F R4.y, R21.w;
  6378. ADD.F32 R4.x, R4, R4.y;
  6379. MOV.F R4.z, R12;
  6380. MOV.F R4.y, c[12].x;
  6381. MOV.S R18.z, R4.x;
  6382. MUL.F32 R4.x, R4.y, R4.z;
  6383. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6384. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6385. TRUNC.U R4.z, R4;
  6386. TRUNC.U R4.y, R4;
  6387. AND.U.CC HC.x, R4.y, R4.z;
  6388. IF    NE.x;
  6389. ELSE;
  6390. MOV.F R4.x, {0, 0, 0, 0};
  6391. ENDIF;
  6392. MOV.F R7.y, R6;
  6393. MOV.F R12.xyz, R13;
  6394. MOV.F R6.y, R17.x;
  6395. MOV.F R13.xyz, R18;
  6396. MOV.F R4.y, R21.x;
  6397. MOV.F R12.w, R7;
  6398. MOV.F R13.w, R10;
  6399. DP4.F32 R4.z, R12, R13;
  6400. MOV.S R13.x, R4.z;
  6401. RCP.F32 R4.z, R4.y;
  6402. MOV.S R17.z, R4;
  6403. SNE.F32 R4.z, R6.y, {0, 0, 0, 0}.x;
  6404. MUL.F32 R4.y, R6, R7;
  6405. SNE.F32 R6.y, R7, {0, 0, 0, 0}.x;
  6406. TRUNC.U R4.z, R4;
  6407. TRUNC.U R6.y, R6;
  6408. AND.U.CC HC.x, R4.z, R6.y;
  6409. MOV.S R16.w, R4.x;
  6410. IF    NE.x;
  6411. MOV.F R6.y, R4;
  6412. ELSE;
  6413. MOV.F R6.y, {0, 0, 0, 0}.x;
  6414. ENDIF;
  6415. MOV.F R4.xyz, R14;
  6416. MOV.F R12.w, R10;
  6417. MOV.F R12.xyz, R18;
  6418. DP4.F32 R4.y, R4, R12;
  6419. MOV.F R4.z, R6.x;
  6420. MOV.F R4.x, R16.w;
  6421. MOV.S R14.y, R4;
  6422. ADD.F32 R4.y, R6, R4.x;
  6423. MOV.F R4.w, R8.z;
  6424. MUL.F32 R4.x, R4.z, R4.w;
  6425. MOV.S R20.x, R4.y;
  6426. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6427. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  6428. TRUNC.U R4.z, R4.w;
  6429. TRUNC.U R4.y, R4;
  6430. AND.U.CC HC.x, R4.y, R4.z;
  6431. IF    NE.x;
  6432. MOV.F R6.x, R4;
  6433. ELSE;
  6434. MOV.F R6.x, {0, 0, 0, 0};
  6435. ENDIF;
  6436. MOV.F R4.xyz, R15;
  6437. MOV.F R4.w, R8;
  6438. MOV.F R12.xyz, R18;
  6439. MOV.F R12.w, R10;
  6440. DP4.F32 R4.y, R4, R12;
  6441. MOV.F R4.w, R20.y;
  6442. SNE.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  6443. TRUNC.U R7.w, R6.y;
  6444. MOV.S R15.z, R4.y;
  6445. MOV.F R4.y, c[11].x;
  6446. MOV.F R4.z, c[17].w;
  6447. MOV.F R4.x, R10;
  6448. ADD.F32 R4.x, R4, -R4.z;
  6449. MOV.S R17.x, R4;
  6450. ADD.F32 R4.x, R6, R4.y;
  6451. MUL.F32 R4.x, R4, R4.w;
  6452. MOV.F R7.y, c[16].w;
  6453. ADD.F32 R4.z, R4, -R7.y;
  6454. MOV.S R16.y, R4.z;
  6455. MOV.F R4.z, R9.x;
  6456. MOV.F R6.y, c[16].x;
  6457. MOV.F R4.w, c[14].x;
  6458. ADD.F32 R4.w, -R4, R6.y;
  6459. MOV.S R18.x, R4.w;
  6460. SNE.F32 R4.w, R6.x, -R4.y;
  6461. ADD.F32 R4.y, -R4.z, {1, 0, 0, 0}.x;
  6462. TRUNC.U R4.z, R4.w;
  6463. AND.U.CC HC.x, R4.z, R7.w;
  6464. MOV.S R16.z, R4.y;
  6465. IF    NE.x;
  6466. ELSE;
  6467. MOV.F R4.x, {0, 0, 0, 0};
  6468. ENDIF;
  6469. MOV.F R4.y, R20.x;
  6470. ADD.F32 R4.x, R4, R4.y;
  6471. SEQ.S R4.y, R8, {0, 0, 0, 0}.x;
  6472. MOV.U.CC RC.x, -R4.y;
  6473. MOV.S R20.w, R4.x;
  6474. IF    NE.x;
  6475. MOV.S R4.x, R24.y;
  6476. ELSE;
  6477. MOV.S R4.x, R11.w;
  6478. ENDIF;
  6479. MOV.F R4.w, R11.x;
  6480. MOV.F R4.z, R17;
  6481. MOV.F R4.y, R18.x;
  6482. MUL.F32 R4.y, R4, R4.z;
  6483. MOV.S R20.y, R4;
  6484. MOV.F R4.y, R10.x;
  6485. MOV.F R4.z, c[18].w;
  6486. ADD.F32 R4.z, R4.y, -R4;
  6487. MOV.F R6.x, R19.w;
  6488. MUL.F32 R4.y, R4.w, R6.x;
  6489. MOV.S R19.x, R4.z;
  6490. SNE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  6491. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6492. TRUNC.U R4.w, R6.x;
  6493. TRUNC.U R4.z, R4;
  6494. AND.U.CC HC.x, R4.z, R4.w;
  6495. IF    NE.x;
  6496. ELSE;
  6497. MOV.F R4.y, {0, 0, 0, 0}.x;
  6498. ENDIF;
  6499. MOV.F R4.z, R3.w;
  6500. SNE.F32 R4.w, R4.z, {0, 0, 0, 0}.x;
  6501. MOV.F R6.x, R16.z;
  6502. TRUNC.U R6.y, R4.w;
  6503. MOV.F R4.w, c[13].x;
  6504. ADD.F32 R4.y, R4, R4.w;
  6505. MUL.F32 R4.z, R4, R6.x;
  6506. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6507. TRUNC.U R4.w, R6.x;
  6508. AND.U.CC HC.x, R6.y, R4.w;
  6509. MOV.S R21.z, R4.y;
  6510. IF    NE.x;
  6511. MOV.F R4.y, R4.z;
  6512. ELSE;
  6513. MOV.F R4.y, {0, 0, 0, 0}.x;
  6514. ENDIF;
  6515. MOV.F R4.z, R16.y;
  6516. RCP.F32 R4.z, R4.z;
  6517. MOV.F R4.w, R17.x;
  6518. MOV.S R18.x, R4.z;
  6519. SGE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  6520. TRUNC.U.CC HC.x, R4.z;
  6521. MOV.S R21.w, R4.y;
  6522. IF    NE.x;
  6523. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  6524. ELSE;
  6525. MOV.S R4.y, {0, 0, 0, 0}.x;
  6526. ENDIF;
  6527. MOV.F R6.x, R21.w;
  6528. MOV.F R4.w, R21.z;
  6529. MUL.F32 R4.z, R4.w, R6.x;
  6530. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  6531. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6532. TRUNC.U R7.y, R4.w;
  6533. TRUNC.U R7.w, R6.x;
  6534. MOV.F R4.w, R6;
  6535. ADD.F32 R4.w, -R4, {1, 0, 0, 0}.x;
  6536. AND.U.CC HC.x, R7.y, R7.w;
  6537. MOV.F R6.y, c[17].x;
  6538. MOV.F R6.x, c[16];
  6539. ADD.F32 R6.x, -R6, R6.y;
  6540. MOV.S R16.z, R6.x;
  6541. MOV.S R16.y, R4.w;
  6542. IF    NE.x;
  6543. ELSE;
  6544. MOV.F R4.z, {0, 0, 0, 0}.x;
  6545. ENDIF;
  6546. MOV.F R4.w, R20;
  6547. ADD.F32 R4.z, R4, R4.w;
  6548. MOV.S R18.w, R4.z;
  6549. SEQ.S R4.z, R8.y, {0, 0, 0, 0}.x;
  6550. MOV.U.CC RC.x, -R4.z;
  6551. IF    NE.x;
  6552. MOV.S R4.z, R24.x;
  6553. ELSE;
  6554. MOV.S R4.z, R6;
  6555. ENDIF;
  6556. MOV.F R6.x, R18;
  6557. MOV.F R4.w, R16.z;
  6558. MUL.F32 R4.w, R4, R6.x;
  6559. MOV.F R6.y, R16;
  6560. MOV.F R6.x, R9;
  6561. MOV.S R18.x, R4.w;
  6562. MUL.F32 R4.w, R6.x, R6.y;
  6563. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6564. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6565. TRUNC.U R6.y, R6;
  6566. TRUNC.U R6.x, R6;
  6567. AND.U.CC HC.x, R6, R6.y;
  6568. IF    NE.x;
  6569. ELSE;
  6570. MOV.F R4.w, {0, 0, 0, 0}.x;
  6571. ENDIF;
  6572. MOV.F R6.x, R19;
  6573. SGE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  6574. TRUNC.U.CC HC.x, R6.z;
  6575. MOV.F R6.x, c[17].w;
  6576. MOV.F R6.y, c[18].w;
  6577. ADD.F32 R6.y, -R6.x, R6;
  6578. MOV.F R6.x, R4;
  6579. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  6580. MOV.S R21.w, R6.y;
  6581. MOV.S R18.y, R4.w;
  6582. MOV.S R21.z, R6.x;
  6583. IF    NE.x;
  6584. MOV.S R4.w, {1065353216, 0, 0, 0}.x;
  6585. ELSE;
  6586. MOV.S R4.w, {0, 0, 0, 0}.x;
  6587. ENDIF;
  6588. MOV.F R6.z, R20.y;
  6589. MOV.F R6.y, R8.x;
  6590. MUL.F32 R6.x, R6.y, R6.z;
  6591. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  6592. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6593. TRUNC.U R6.z, R6;
  6594. TRUNC.U R6.y, R6;
  6595. AND.U.CC HC.x, R6.y, R6.z;
  6596. IF    NE.x;
  6597. ELSE;
  6598. MOV.F R6.x, {0, 0, 0, 0};
  6599. ENDIF;
  6600. MOV.F R6.y, c[14].x;
  6601. ADD.F32 R6.x, R6, R6.y;
  6602. SEQ.S R7.y, R0, {0, 0, 0, 0}.x;
  6603. MOV.F R6.z, R4.y;
  6604. ADD.F32 R6.y, -R6.z, {1, 0, 0, 0}.x;
  6605. MOV.U.CC RC.x, -R7.y;
  6606. MOV.S R21.x, R6;
  6607. MOV.S R16.z, R6.y;
  6608. AND.S R16.y, c[2].x, {1048576, 0, 0, 0}.x;
  6609. IF    NE.x;
  6610. MOV.S R6.x, R4;
  6611. ELSE;
  6612. MOV.S R6.x, R21.z;
  6613. ENDIF;
  6614. MOV.F R6.y, R21.w;
  6615. RCP.F32 R6.z, R6.y;
  6616. MOV.F R7.y, R21.x;
  6617. MOV.F R7.w, R18.y;
  6618. MUL.F32 R6.y, R7, R7.w;
  6619. MOV.S R17.z, R6;
  6620. SNE.F32 R6.z, R7.y, {0, 0, 0, 0}.x;
  6621. TRUNC.U R8.x, R6.z;
  6622. MOV.F R7.y, c[18].x;
  6623. MOV.F R6.z, c[17].x;
  6624. ADD.F32 R6.z, -R6, R7.y;
  6625. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  6626. TRUNC.U R7.y, R7.w;
  6627. AND.U.CC HC.x, R8, R7.y;
  6628. MOV.S R21.x, R6.z;
  6629. IF    NE.x;
  6630. ELSE;
  6631. MOV.F R6.y, {0, 0, 0, 0}.x;
  6632. ENDIF;
  6633. MOV.F R6.z, R18.w;
  6634. ADD.F32 R6.y, R6, R6.z;
  6635. MOV.S R18.y, R6;
  6636. SEQ.S R6.y, R16, {1048576, 0, 0, 0}.x;
  6637. MOV.U.CC RC.x, -R6.y;
  6638. IF    NE.x;
  6639. MOV.S R6.y, {-1, 0, 0, 0}.x;
  6640. ELSE;
  6641. MOV.S R6.y, {0, 0, 0, 0}.x;
  6642. ENDIF;
  6643. MOV.F R7.y, R16.z;
  6644. MUL.F32 R6.z, R6.w, R7.y;
  6645. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6646. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6647. TRUNC.U R7.y, R7;
  6648. TRUNC.U R6.w, R6;
  6649. AND.U.CC HC.x, R6.w, R7.y;
  6650. IF    NE.x;
  6651. ELSE;
  6652. MOV.F R6.z, {0, 0, 0, 0}.x;
  6653. ENDIF;
  6654. SEQ.S R7.w, R0.y, {0, 0, 0, 0}.x;
  6655. MOV.U.CC RC.x, -R7.w;
  6656. MOV.F R7.y, R17.z;
  6657. MOV.F R6.w, R21.x;
  6658. MUL.F32 R6.w, R6, R7.y;
  6659. MOV.S R16.x, R6.w;
  6660. MOV.F R7.y, c[19].w;
  6661. MOV.F R6.w, R10.x;
  6662. ADD.F32 R6.w, -R7.y
  6663. [07:59:02] Link error in shader. Log:
  6664. [07:59:02] Vertex info
  6665. -----------
  6666. Internal error: assembly compile error for vertex shader at offset 2516:
  6667. -- error message --
  6668. line 52, column 45:  error: invalid vertex attribute reference
  6669. line 59, column 25:  error: invalid vertex attribute reference
  6670. line 61, column 25:  error: invalid vertex attribute reference
  6671. line 63, column 25:  error: invalid vertex attribute reference
  6672. line 66, column 25:  error: invalid vertex attribute reference
  6673. -- internal assembly text --
  6674. !!NVvp5.0
  6675. OPTION NV_internal;
  6676. OPTION NV_gpu_program_fp64;
  6677. OPTION NV_bindless_texture;
  6678. # cgc version 3.4.0001, build date Jul  3 2019
  6679. # command line args:
  6680. #vendor NVIDIA Corporation
  6681. #version 3.4.0.1 COP Build Date Jul  3 2019
  6682. #profile gp5vp
  6683. #program main
  6684. #semantic textureUnitVS12 : TEXUNIT[2]
  6685. #semantic textureUnitVS13 : TEXUNIT[3]
  6686. #semantic textureUnitVS7 : TEXUNIT[0]
  6687. #semantic textureUnitVS8 : TEXUNIT[1]
  6688. #semantic uf_remappedVS
  6689. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  6690. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  6691. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  6692. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  6693. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  6694. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  6695. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  6696. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  6697. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  6698. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  6699. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  6700. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  6701. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  6702. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  6703. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  6704. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  6705. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  6706. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  6707. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  6708. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  6709. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  6710. #var float4 passParameterSem11 : $vout.ATTR5 : ATTR5 : -1 : 1
  6711. #var float4 passParameterSem14 : $vout.ATTR6 : ATTR6 : -1 : 1
  6712. #var float4 passParameterSem15 : $vout.ATTR7 : ATTR7 : -1 : 1
  6713. #var float4 passParameterSem16 : $vout.ATTR8 : ATTR8 : -1 : 1
  6714. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  6715. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  6716. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  6717. #var ulong textureUnitVS12 : TEXUNIT[2] : c[69] : -1 : 1
  6718. #var ulong textureUnitVS13 : TEXUNIT[3] : c[70] : -1 : 1
  6719. #var ulong textureUnitVS7 : TEXUNIT[0] : c[71] : -1 : 1
  6720. #var ulong textureUnitVS8 : TEXUNIT[1] : c[72] : -1 : 1
  6721. #var int4 uf_remappedVS[0] :  : c[0], 69 : -1 : 1
  6722. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  6723. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  6724. PARAM c[73] = { program.local[0..72] };
  6725. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  6726. OUTPUT result_attrib[] = { result.attrib[0..8] };
  6727. 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;
  6728. LONG TEMP D0;
  6729. TEMP T;
  6730. TEMP RC;
  6731. SHORT TEMP HC;
  6732. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  6733. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6734. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  6735. OR.U  R0, R0, R1;
  6736. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  6737. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6738. OR.U  R0, R0, R1;
  6739. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  6740. OR.U  R8, R0, R2;
  6741. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  6742. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6743. SHR.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  6744. OR.U  R0, R0, R1;
  6745. SHL.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  6746. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6747. OR.U  R0, R0, R1;
  6748. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  6749. OR.U  R20, R0, R2;
  6750. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  6751. AND.U R2, R1, {65280, 0, 0, 0}.x;
  6752. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  6753. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  6754. OR.U  R1, R1, R2;
  6755. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6756. OR.U  R0, R1, R0;
  6757. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  6758. OR.U  R22, R0, R2;
  6759. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  6760. AND.U R2, R1, {65280, 0, 0, 0}.x;
  6761. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  6762. OR.U  R1, R1, R2;
  6763. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  6764. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  6765. OR.U  R1, R1, R2;
  6766. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  6767. OR.U  R9, R1, R0;
  6768. MOV.U R0.x, R22.w;
  6769. MOV.F R0.y, c[0].x;
  6770. ADD.F32 R3.x, -R0, R0.y;
  6771. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  6772. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6773. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  6774. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  6775. OR.U  R0, R0, R1;
  6776. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  6777. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6778. OR.U  R0, R0, R1;
  6779. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  6780. OR.U  R11, R0, R2;
  6781. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  6782. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6783. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  6784. OR.U  R0, R0, R1;
  6785. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  6786. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6787. OR.U  R0, R0, R1;
  6788. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  6789. OR.U  R12, R0, R2;
  6790. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  6791. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6792. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  6793. OR.U  R0, R0, R1;
  6794. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  6795. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6796. OR.U  R0, R0, R1;
  6797. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  6798. OR.U  R13, R0, R2;
  6799. TRUNC.U R17.x, R3.y;
  6800. SEQ.U R0.x, R17, {1, 0, 0, 0};
  6801. SEQ.U R17.y, -R0.x, {1, 0, 0, 0}.x;
  6802. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6803. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6804. MOV.S R14.w, R3.x;
  6805. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6806. MOV.U.CC RC.x, -R17.y;
  6807. OR.U  R0.xyz, R0, R1;
  6808. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6809. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6810. OR.U  R0.xyz, R0, R1;
  6811. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6812. OR.U  R28.xyz, R0, R2;
  6813. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6814. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6815. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6816. OR.U  R0.xyz, R0, R1;
  6817. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6818. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6819. OR.U  R0.xyz, R0, R1;
  6820. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6821. OR.U  R27.xyz, R0, R2;
  6822. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6823. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6824. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6825. OR.U  R0.xyz, R0, R1;
  6826. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6827. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6828. OR.U  R0.xyz, R0, R1;
  6829. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6830. OR.U  R23.xyw, R0.xzzy, R2.xzzy;
  6831. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6832. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6833. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6834. OR.U  R0.xyz, R0, R1;
  6835. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6836. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6837. OR.U  R0.xyz, R0, R1;
  6838. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6839. OR.U  R10.xyz, R0, R2;
  6840. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6841. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6842. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6843. OR.U  R0.xyz, R0, R1;
  6844. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6845. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6846. OR.U  R0.xyz, R0, R1;
  6847. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6848. OR.U  R14.xyz, R0, R2;
  6849. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  6850. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6851. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  6852. OR.U  R0.xyz, R0, R1;
  6853. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  6854. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6855. OR.U  R0.xyz, R0, R1;
  6856. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  6857. OR.U  R15.xyz, R0, R2;
  6858. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6859. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6860. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6861. OR.U  R0.xyz, R0, R1;
  6862. SHL.U R2.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6863. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6864. OR.U  R0.xyz, R0, R1;
  6865. SHL.U R2.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6866. OR.U  R16.xyz, R0, R2;
  6867. SHR.U R0.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  6868. AND.U R0.zw, R0.xyxy, {65280, 0, 0, 0}.x;
  6869. SHR.U R0.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  6870. OR.U  R0.xy, R0, R0.zwzw;
  6871. SHL.U R7.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  6872. AND.U R0.zw, R7.xyxy, {16711680, 0, 0, 0}.x;
  6873. OR.U  R0.xy, R0, R0.zwzw;
  6874. SHL.U R7.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  6875. OR.U  R25.xy, R0, R7;
  6876. MOV.U R0.x, R25;
  6877. MOV.F R0.z, R0.x;
  6878. MOV.U R0.y, R25;
  6879. ADD.F32 R0.x, -R0.y, {1, 0, 0, 0};
  6880. ADD.F32 R0.y, -R0.z, {1, 0, 0, 0}.x;
  6881. MOV.S R25.z, R0.x;
  6882. MOV.S R15.w, R0.y;
  6883. MOV.S R1, {0, 0, 0, 0}.x;
  6884. MOV.S R2, {0, 0, 0, 0}.x;
  6885. MOV.S R6, {0, 0, 0, 0}.x;
  6886. MOV.S R3, {0, 0, 0, 0}.x;
  6887. MOV.S R5, {0, 0, 0, 0}.x;
  6888. MOV.S R4, {0, 0, 0, 0}.x;
  6889. MOV.S R7, {0, 0, 0, 0}.x;
  6890. MOV.S R30.xyz, {0, 0, 0, 0}.x;
  6891. MOV.S R24.xyz, {0, 0, 0, 0}.x;
  6892. MOV.S R0.yz, {0, 0, 0, 0};
  6893. MOV.S R0.x, vertex.id;
  6894. MOV.S R0.w, vertex.instance.x;
  6895. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  6896. MOV.S R16.w, {0, 0, 0, 0}.x;
  6897. IF    NE.x;
  6898. MOV.F R6.z, c[1].y;
  6899. MUL.F32 R6.z, R6, {5, 0, 0, 0}.x;
  6900. MOV.S R6.xyw, {0, 0, 0, 0}.x;
  6901. MOV.S R22.xw, {0, 0, 0, 1065353216};
  6902. MOV.S R6.z, R6;
  6903. ENDIF;
  6904. SEQ.U R17.x, R17, {0, 0, 0, 0};
  6905. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  6906. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  6907. MOV.U.CC RC.x, -R17;
  6908. IF    NE.x;
  6909. MOV.S R22.w, {0, 0, 0, 0}.x;
  6910. ENDIF;
  6911. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  6912. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  6913. SEQ.U R17.z, -R17.y, {1, 0, 0, 0}.x;
  6914. MOV.U.CC RC.x, -R17.z;
  6915. MOV.U R17.x, -R17;
  6916. MOV.U R22.w, -R17.y;
  6917. IF    NE.x;
  6918. MOV.F R17.y, R20.w;
  6919. TRUNC.S R17.y, R17;
  6920. I2F.S R17.y, R17;
  6921. MOV.F R17.z, R14.w;
  6922. SGE.F32 R17.z, R17, R17.y;
  6923. TRUNC.U R17.z, R17;
  6924. SEQ.U R17.w, R22, {1, 0, 0, 0}.x;
  6925. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  6926. AND.U R31.w, -R17.z, -R17;
  6927. MOV.S R30.x, R17.y;
  6928. MOV.S R30.yz, {0, 0, 0, 0}.x;
  6929. ELSE;
  6930. MOV.U R31.w, {0, 0, 0, 0}.x;
  6931. ENDIF;
  6932. SEQ.U R17.y, R31.w, {1, 0, 0, 0}.x;
  6933. MOV.U.CC RC.x, -R17.y;
  6934. IF    NE.x;
  6935. MOV.F R6.x, c[1].y;
  6936. MUL.F32 R6.z, R6.x, {5, 0, 0, 0}.x;
  6937. MOV.S R6.xy, {0, 0, 0, 0};
  6938. MOV.S R6.z, R6;
  6939. MOV.S R22.x, {0, 0, 0, 0};
  6940. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  6941. ENDIF;
  6942. SEQ.U R17.x, R17, {1, 0, 0, 0};
  6943. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  6944. MOV.U.CC RC.x, -R17.y;
  6945. MOV.U R22.w, -R17.x;
  6946. IF    NE.x;
  6947. SEQ.S R17.x, R16.w, {0, 0, 0, 0};
  6948. MOV.U R31.z, -R17.x;
  6949. SEQ.U R17.y, R22.w, {1, 0, 0, 0}.x;
  6950. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  6951. AND.U R31.w, -R17.x, -R17.y;
  6952. ELSE;
  6953. MOV.U R31.z, {0, 0, 0, 0}.x;
  6954. MOV.U R31.w, {0, 0, 0, 0}.x;
  6955. ENDIF;
  6956. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  6957. MOV.U.CC RC.x, -R17;
  6958. IF    NE.x;
  6959. MOV.F R0.x, c[2];
  6960. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0.x;
  6961. TRUNC.U.CC HC.x, R0.z;
  6962. MOV.S R0.x, {0, 0, 0, 0};
  6963. IF    NE.x;
  6964. MOV.F R0.z, {1, 0, 0, 0}.x;
  6965. ELSE;
  6966. MOV.F R0.z, {0, 0, 0, 0}.x;
  6967. ENDIF;
  6968. MOV.F R0.w, R9.x;
  6969. MAX.F R0.w, R0, {0, 0, 0, 0}.x;
  6970. MOV.S R17.z, R0.w;
  6971. MOV.F R0.w, c[2].x;
  6972. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  6973. TRUNC.U.CC HC.x, R0.w;
  6974. MOV.S R17.y, R0.z;
  6975. IF    NE.x;
  6976. MOV.F R0.z, {1, 0, 0, 0}.x;
  6977. ELSE;
  6978. MOV.F R0.z, {0, 0, 0, 0}.x;
  6979. ENDIF;
  6980. MOV.F R0.w, R9.x;
  6981. SNE.F32 R17.w, R0, {0, 0, 0, 0}.x;
  6982. MOV.F R17.x, c[3].y;
  6983. TRUNC.U R18.x, R17.w;
  6984. MUL.F32 R0.w, R0, R17.x;
  6985. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  6986. TRUNC.U R17.x, R17;
  6987. AND.U.CC HC.x, R18, R17;
  6988. MOV.S R17.w, R0.z;
  6989. IF    NE.x;
  6990. MOV.F R0.z, R0.w;
  6991. ELSE;
  6992. MOV.F R0.z, {0, 0, 0, 0}.x;
  6993. ENDIF;
  6994. MOV.F R17.x, R17.y;
  6995. MOV.F R0.w, R17;
  6996. ADD.F32 R0.w, R0, -R17.x;
  6997. MOV.S R17.x, R0.w;
  6998. MOV.F R18.x, R17;
  6999. MOV.S R19.y, R0.w;
  7000. MOV.F R0.w, R14;
  7001. MOV.F R17.y, R30.x;
  7002. DIV.F32 R17.w, R0, R17.y;
  7003. SNE.F32 R17.y, -R18.x, {-1, 0, 0, 0}.x;
  7004. ADD.F32 R18.y, -R18.x, {1, 0, 0, 0}.x;
  7005. MOV.F R17.x, c[2];
  7006. DIV.F32 R17.x, R0.w, R17.x;
  7007. MOV.S R17.x, R17;
  7008. ADD.F32 R0.z, R0, R17.x;
  7009. MOV.S R17.x, R0.z;
  7010. MOV.F R0.z, R17;
  7011. MOV.S R17.z, R17.x;
  7012. MIN.F R17.x, R0.z, {0, 0, 0, 0};
  7013. MOV.F R0.z, R23.x;
  7014. ADD.F32 R0.z, R0, R17.x;
  7015. MOV.F R17.x, R17.z;
  7016. MOV.S R22.x, R0.z;
  7017. FRC.F32 R0.z, R17.x;
  7018. MOV.S R17.x, R0.z;
  7019. SNE.F32 R17.z, R17.w, {0, 0, 0, 0}.x;
  7020. MUL.F32 R0.w, R17, R18.y;
  7021. TRUNC.U R18.y, R17.z;
  7022. TRUNC.U R17.y, R17;
  7023. MOV.S R0.z, R17.w;
  7024. AND.U.CC HC.x, R18.y, R17.y;
  7025. MOV.F R17.w, c[5].x;
  7026. MOV.F R17.z, c[4].x;
  7027. ADD.F32 R17.z, -R17, R17.w;
  7028. MOV.F R18.x, c[5].y;
  7029. MOV.F R17.w, c[4].y;
  7030. ADD.F32 R17.w, -R17, R18.x;
  7031. MOV.S R18.w, R17.z;
  7032. MOV.S R19.w, R17;
  7033. IF    NE.x;
  7034. MOV.F R17.y, R0.w;
  7035. ELSE;
  7036. MOV.F R17.y, {0, 0, 0, 0}.x;
  7037. ENDIF;
  7038. MOV.F R17.z, R17.x;
  7039. MOV.F R17.x, R19.y;
  7040. MUL.F32 R0.w, R17.x, R17.z;
  7041. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7042. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7043. MOV.F R18.x, c[5].z;
  7044. MOV.F R17.w, c[4].z;
  7045. ADD.F32 R17.w, -R17, R18.x;
  7046. MOV.F R18.y, c[5].w;
  7047. MOV.F R18.x, c[4].w;
  7048. ADD.F32 R18.x, -R18, R18.y;
  7049. MOV.S R18.z, R17.w;
  7050. MOV.S R17.w, R18.x;
  7051. MOV.F R18.y, c[6].x;
  7052. MOV.F R18.x, c[5];
  7053. ADD.F32 R19.x, -R18, R18.y;
  7054. MOV.F R18.y, c[6];
  7055. MOV.F R18.x, c[5].y;
  7056. ADD.F32 R18.x, -R18, R18.y;
  7057. MOV.S R19.y, R19.x;
  7058. TRUNC.U R17.x, R17;
  7059. TRUNC.U R17.z, R17;
  7060. AND.U.CC HC.x, R17, R17.z;
  7061. MOV.S R19.x, R18;
  7062. MOV.S R18.y, R17;
  7063. IF    NE.x;
  7064. MOV.F R17.x, R0.w;
  7065. ELSE;
  7066. MOV.F R17.x, {0, 0, 0, 0};
  7067. ENDIF;
  7068. MOV.F R0.w, R17;
  7069. MOV.F R17.z, R18;
  7070. DIV.F32 R17.z, R17, R0.w;
  7071. MOV.F R17.y, R18;
  7072. MOV.S R18.y, R17.z;
  7073. MOV.F R17.z, R19.w;
  7074. DIV.F32 R17.w, R17.z, R0.w;
  7075. MOV.S R17.x, R17;
  7076. ADD.F32 R17.x, R17.y, R17;
  7077. MOV.F R17.z, c[4].w;
  7078. ADD.F32 R17.y, R17.x, -R17.z;
  7079. MOV.S R17.z, R17.y;
  7080. MOV.S R18.x, R17.w;
  7081. MOV.F R17.w, R18;
  7082. MOV.S R17.y, R17.z;
  7083. DIV.F32 R0.w, R17, R0.w;
  7084. MOV.F R18.w, R17.y;
  7085. SNE.F32 R17.y, R0.w, {0, 0, 0, 0}.x;
  7086. MOV.F R17.w, c[5];
  7087. MOV.S R21.y, R17.z;
  7088. ADD.F32 R17.z, R17.x, -R17.w;
  7089. MOV.S R18.z, R17.x;
  7090. MOV.S R19.z, R17;
  7091. MOV.F R17.z, c[6];
  7092. MOV.F R17.x, c[5].z;
  7093. ADD.F32 R17.x, -R17, R17.z;
  7094. SNE.F32 R17.w, R18, {0, 0, 0, 0}.x;
  7095. TRUNC.U R17.y, R17;
  7096. TRUNC.U R17.z, R17.w;
  7097. AND.U.CC HC.x, R17.z, R17.y;
  7098. MUL.F32 R0.w, R18, R0;
  7099. MOV.S R19.w, R17.x;
  7100. IF    NE.x;
  7101. ELSE;
  7102. MOV.F R0.w, {0, 0, 0, 0}.x;
  7103. ENDIF;
  7104. MOV.F R17.y, R18;
  7105. MOV.F R17.x, R21.y;
  7106. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  7107. MUL.F32 R17.z, R17.x, R17.y;
  7108. SNE.F32 R18.y, R17, {0, 0, 0, 0}.x;
  7109. MOV.F R17.y, c[6].w;
  7110. MOV.F R17.x, c[5].w;
  7111. ADD.F32 R17.x, -R17, R17.y;
  7112. MOV.S R17.y, R17.x;
  7113. TRUNC.U R17.w, R17;
  7114. TRUNC.U R18.y, R18;
  7115. AND.U.CC HC.x, R17.w, R18.y;
  7116. MOV.S R17.x, R0.w;
  7117. IF    NE.x;
  7118. MOV.F R0.w, R17.z;
  7119. ELSE;
  7120. MOV.F R0.w, {0, 0, 0, 0}.x;
  7121. ENDIF;
  7122. MOV.F R17.z, R21.y;
  7123. MUL.F32 R17.w, R17.z, R18.x;
  7124. SNE.F32 R18.y, R18.x, {0, 0, 0, 0}.x;
  7125. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7126. TRUNC.U R18.x, R17.z;
  7127. TRUNC.U R18.y, R18;
  7128. AND.U.CC HC.x, R18, R18.y;
  7129. MOV.S R17.z, R0.w;
  7130. IF    NE.x;
  7131. MOV.F R0.w, R17;
  7132. ELSE;
  7133. MOV.F R0.w, {0, 0, 0, 0}.x;
  7134. ENDIF;
  7135. MOV.F R17.w, R21.y;
  7136. SGE.F32 R18.x, R17.w, {0, 0, 0, 0};
  7137. TRUNC.U.CC HC.x, R18;
  7138. MOV.S R17.w, R0;
  7139. IF    NE.x;
  7140. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  7141. ELSE;
  7142. MOV.S R0.w, {0, 0, 0, 0}.x;
  7143. ENDIF;
  7144. MOV.F R18.x, R17;
  7145. MOV.F R17.x, c[4];
  7146. ADD.F32 R17.x, R17, R18;
  7147. MOV.S R18.y, R17.x;
  7148. MOV.F R17.x, c[4].y;
  7149. ADD.F32 R17.x, R17, R17.w;
  7150. MOV.F R17.w, R19.z;
  7151. MOV.S R18.x, R17;
  7152. SGE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7153. TRUNC.U.CC HC.x, R17;
  7154. IF    NE.x;
  7155. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  7156. ELSE;
  7157. MOV.S R20.w, {0, 0, 0, 0}.x;
  7158. ENDIF;
  7159. MOV.F R17.w, R17.y;
  7160. MOV.F R17.x, R19.w;
  7161. DIV.F32 R17.x, R17, R17.w;
  7162. MOV.F R17.y, R17.z;
  7163. MOV.F R18.w, R19.y;
  7164. MOV.S R17.z, R17.x;
  7165. DIV.F32 R17.x, R18.w, R17.w;
  7166. MOV.F R18.w, R19.x;
  7167. DIV.F32 R19.y, R18.w, R17.w;
  7168. MOV.F R19.x, R19.z;
  7169. MUL.F32 R17.w, R19.x, R19.y;
  7170. MOV.F R18.w, c[4].z;
  7171. ADD.F32 R17.y, R18.w, R17;
  7172. SNE.F32 R19.y, R19, {0, 0, 0, 0}.x;
  7173. MOV.S R18.w, R17.y;
  7174. MOV.F R17.y, R18.z;
  7175. MOV.F R19.w, c[6];
  7176. ADD.F32 R17.y, R17, -R19.w;
  7177. MOV.F R18.z, R20.w;
  7178. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  7179. ADD.F32 R18.z, -R18, {1, 0, 0, 0}.x;
  7180. TRUNC.U R19.y, R19;
  7181. TRUNC.U R19.x, R19;
  7182. AND.U.CC HC.x, R19, R19.y;
  7183. MOV.S R17.x, R17;
  7184. MOV.S R17.y, R17;
  7185. MOV.S R26.w, R18.z;
  7186. IF    NE.x;
  7187. ELSE;
  7188. MOV.F R17.w, {0, 0, 0, 0}.x;
  7189. ENDIF;
  7190. MOV.F R19.x, R17;
  7191. MOV.F R18.z, R19;
  7192. MUL.F32 R17.x, R18.z, R19;
  7193. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  7194. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  7195. TRUNC.U R18.z, R18;
  7196. TRUNC.U R19.x, R19;
  7197. AND.U.CC HC.x, R18.z, R19;
  7198. MOV.S R21.x, R17.w;
  7199. IF    NE.x;
  7200. ELSE;
  7201. MOV.F R17.x, {0, 0, 0, 0};
  7202. ENDIF;
  7203. SGE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  7204. TRUNC.U.CC HC.x, R17.y;
  7205. MOV.S R21.y, R17.x;
  7206. IF    NE.x;
  7207. MOV.S R17.y, {1065353216, 0, 0, 0}.x;
  7208. ELSE;
  7209. MOV.S R17.y, {0, 0, 0, 0}.x;
  7210. ENDIF;
  7211. MOV.F R17.w, R17.z;
  7212. MOV.F R17.z, R19;
  7213. MUL.F32 R17.x, R17.z, R17.w;
  7214. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7215. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7216. TRUNC.U R17.w, R17;
  7217. TRUNC.U R17.z, R17;
  7218. AND.U.CC HC.x, R17.z, R17.w;
  7219. IF    NE.x;
  7220. ELSE;
  7221. MOV.F R17.x, {0, 0, 0, 0};
  7222. ENDIF;
  7223. MOV.F R17.w, R0;
  7224. MOV.F R18.z, R26.w;
  7225. MUL.F32 R17.z, R17.w, R18;
  7226. MOV.S R21.w, R17.x;
  7227. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7228. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  7229. TRUNC.U R17.w, R18.z;
  7230. TRUNC.U R17.x, R17;
  7231. AND.U.CC HC.x, R17, R17.w;
  7232. IF    NE.x;
  7233. MOV.F R17.x, R17.z;
  7234. ELSE;
  7235. MOV.F R17.x, {0, 0, 0, 0};
  7236. ENDIF;
  7237. MOV.F R19.y, R18;
  7238. SNE.F32 R19.z, R19.y, {0, 0, 0, 0}.x;
  7239. MOV.F R17.w, R21;
  7240. MOV.F R17.z, c[5];
  7241. ADD.F32 R17.z, R17, R17.w;
  7242. MOV.S R19.x, R17.z;
  7243. MOV.F R18.z, R21.y;
  7244. MOV.F R17.w, c[5].x;
  7245. ADD.F32 R17.w, R17, R18.z;
  7246. MOV.S R18.z, R17.w;
  7247. MOV.F R17.z, c[5].y;
  7248. MOV.F R17.w, R21.x;
  7249. ADD.F32 R17.w, R17.z, R17;
  7250. MOV.S R17.z, R17.x;
  7251. MOV.S R17.x, R17.z;
  7252. MOV.S R18.y, R17.w;
  7253. MOV.F R17.w, R17.x;
  7254. MUL.F32 R17.x, R19.y, R17.w;
  7255. MOV.S R23.z, R17;
  7256. MOV.F R17.z, R17.y;
  7257. TRUNC.U R19.y, R19.z;
  7258. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7259. TRUNC.U R19.z, R17.w;
  7260. ADD.F32 R17.z, -R17, {1, 0, 0, 0}.x;
  7261. AND.U.CC HC.x, R19.y, R19.z;
  7262. MOV.S R17.w, R17.z;
  7263. IF    NE.x;
  7264. MOV.F R19.y, R17.x;
  7265. ELSE;
  7266. MOV.F R19.y, {0, 0, 0, 0}.x;
  7267. ENDIF;
  7268. MOV.S R17.x, R18;
  7269. MOV.F R19.z, R17.y;
  7270. MOV.F R18.x, c[6];
  7271. MUL.F32 R17.z, R18.x, R19;
  7272. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7273. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  7274. TRUNC.U R19.z, R19;
  7275. TRUNC.U R18.x, R18;
  7276. AND.U.CC HC.x, R18, R19.z;
  7277. MOV.S R19.y, R19;
  7278. IF    NE.x;
  7279. MOV.F R18.x, R17.z;
  7280. ELSE;
  7281. MOV.F R18.x, {0, 0, 0, 0};
  7282. ENDIF;
  7283. MOV.F R19.w, R17.y;
  7284. MOV.F R19.z, c[6];
  7285. MUL.F32 R17.z, R19, R19.w;
  7286. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  7287. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7288. TRUNC.U R19.w, R19;
  7289. TRUNC.U R19.z, R19;
  7290. AND.U.CC HC.x, R19.z, R19.w;
  7291. MOV.S R18.x, R18;
  7292. IF    NE.x;
  7293. ELSE;
  7294. MOV.F R17.z, {0, 0, 0, 0}.x;
  7295. ENDIF;
  7296. MOV.F R19.w, R17.y;
  7297. MOV.F R19.z, c[6].y;
  7298. MUL.F32 R17.y, R19.z, R19.w;
  7299. MOV.S R29.y, R17.z;
  7300. SNE.F32 R17.z, R19, {0, 0, 0, 0}.x;
  7301. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  7302. TRUNC.U R19.z, R19.w;
  7303. TRUNC.U R17.z, R17;
  7304. AND.U.CC HC.x, R17.z, R19.z;
  7305. IF    NE.x;
  7306. ELSE;
  7307. MOV.F R17.y, {0, 0, 0, 0}.x;
  7308. ENDIF;
  7309. MOV.F R17.z, R17.w;
  7310. SNE.F32 R19.z, R17, {0, 0, 0, 0}.x;
  7311. MOV.F R17.w, R20;
  7312. TRUNC.U R19.w, R19.z;
  7313. MUL.F32 R17.z, R17.w, R17;
  7314. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7315. MOV.S R19.z, R17.y;
  7316. TRUNC.U R17.y, R17.w;
  7317. AND.U.CC HC.x, R17.y, R19.w;
  7318. IF    NE.x;
  7319. MOV.F R17.y, R17.z;
  7320. ELSE;
  7321. MOV.F R17.y, {0, 0, 0, 0}.x;
  7322. ENDIF;
  7323. MOV.F R17.w, R23.z;
  7324. MOV.F R17.z, R17.x;
  7325. MUL.F32 R17.x, R17.z, R17.w;
  7326. SNE.F32 R19.w, R17, {0, 0, 0, 0}.x;
  7327. TRUNC.U R17.w, R19;
  7328. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7329. MOV.S R21.w, R17.y;
  7330. TRUNC.U R17.y, R17.z;
  7331. AND.U.CC HC.x, R17.y, R17.w;
  7332. IF    NE.x;
  7333. ELSE;
  7334. MOV.F R17.x, {0, 0, 0, 0};
  7335. ENDIF;
  7336. MOV.F R17.w, R21;
  7337. MOV.F R17.z, R19.x;
  7338. MUL.F32 R17.y, R17.z, R17.w;
  7339. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7340. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7341. TRUNC.U R17.z, R17;
  7342. TRUNC.U R17.w, R17;
  7343. AND.U.CC HC.x, R17.z, R17.w;
  7344. MOV.S R29.x, R17;
  7345. IF    NE.x;
  7346. ELSE;
  7347. MOV.F R17.y, {0, 0, 0, 0}.x;
  7348. ENDIF;
  7349. MOV.F R17.w, R21;
  7350. MOV.F R17.z, R18.y;
  7351. MUL.F32 R17.x, R17.z, R17.w;
  7352. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7353. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7354. TRUNC.U R17.z, R17;
  7355. TRUNC.U R17.w, R17;
  7356. AND.U.CC HC.x, R17.z, R17.w;
  7357. MOV.S R23.x, R17.y;
  7358. IF    NE.x;
  7359. ELSE;
  7360. MOV.F R17.x, {0, 0, 0, 0};
  7361. ENDIF;
  7362. MOV.F R17.w, R21;
  7363. MOV.F R17.z, R18;
  7364. MUL.F32 R17.y, R17.z, R17.w;
  7365. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7366. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7367. TRUNC.U R17.z, R17;
  7368. TRUNC.U R17.w, R17;
  7369. AND.U.CC HC.x, R17.z, R17.w;
  7370. MOV.S R18.y, R17.x;
  7371. IF    NE.x;
  7372. MOV.F R17.x, R17.y;
  7373. ELSE;
  7374. MOV.F R17.x, {0, 0, 0, 0};
  7375. ENDIF;
  7376. MOV.F R17.w, R23.z;
  7377. MOV.F R17.z, R18.w;
  7378. MUL.F32 R17.y, R17.z, R17.w;
  7379. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7380. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7381. TRUNC.U R17.z, R17;
  7382. TRUNC.U R17.w, R17;
  7383. AND.U.CC HC.x, R17.z, R17.w;
  7384. MOV.S R18.z, R17.x;
  7385. IF    NE.x;
  7386. MOV.F R17.x, R17.y;
  7387. ELSE;
  7388. MOV.F R17.x, {0, 0, 0, 0};
  7389. ENDIF;
  7390. MOV.F R17.y, R0.w;
  7391. ADD.F32 R17.z, -R17.y, {1, 0, 0, 0}.x;
  7392. MOV.F R17.w, c[4].y;
  7393. MOV.S R18.w, R17.x;
  7394. SNE.F32 R17.y, -R17, {-1, 0, 0, 0}.x;
  7395. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7396. TRUNC.U R17.y, R17;
  7397. TRUNC.U R17.x, R17;
  7398. AND.U.CC HC.x, R17, R17.y;
  7399. MUL.F32 R0.w, R17.z, R17;
  7400. MOV.S R26.w, R17.z;
  7401. IF    NE.x;
  7402. MOV.F R17.x, R0.w;
  7403. ELSE;
  7404. MOV.F R17.x, {0, 0, 0, 0};
  7405. ENDIF;
  7406. MOV.F R17.y, c[4].x;
  7407. MOV.F R17.z, R26.w;
  7408. MUL.F32 R0.w, R17.y, R17.z;
  7409. MOV.S R19.x, R17;
  7410. SNE.F32 R17.x, R17.y, {0, 0, 0, 0};
  7411. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7412. TRUNC.U R17.y, R17.z;
  7413. TRUNC.U R17.x, R17;
  7414. AND.U.CC HC.x, R17, R17.y;
  7415. IF    NE.x;
  7416. ELSE;
  7417. MOV.F R0.w, {0, 0, 0, 0}.x;
  7418. ENDIF;
  7419. MOV.F R17.y, R9;
  7420. MOV.F R17.x, R9;
  7421. ADD.F32 R17.x, R17, R17.y;
  7422. MOV.F R17.y, c[4].z;
  7423. MOV.S R21.y, R0.w;
  7424. SNE.F32 R0.w, R17.y, {0, 0, 0, 0}.x;
  7425. MOV.F R17.z, R26.w;
  7426. MOV.S R23.z, R17.x;
  7427. MUL.F32 R17.x, R17.y, R17.z;
  7428. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7429. TRUNC.U R17.y, R17.z;
  7430. TRUNC.U R0.w, R0;
  7431. AND.U.CC HC.x, R0.w, R17.y;
  7432. IF    NE.x;
  7433. MOV.F R0.w, R17.x;
  7434. ELSE;
  7435. MOV.F R0.w, {0, 0, 0, 0}.x;
  7436. ENDIF;
  7437. MOV.F R26, R12;
  7438. MOV.F R17.xyz, R20;
  7439. MOV.F R17.w, {1, 0, 0, 0}.x;
  7440. DP4.F32 R19.w, R13, R17;
  7441. MOV.F R13, R11;
  7442. DP4.F32 R11.x, R13, R17;
  7443. DP4.F32 R11.w, R26, R17;
  7444. MOV.F R12.z, R21.y;
  7445. MOV.F R12.x, R19.y;
  7446. ADD.F32 R12.z, R12.x, R12;
  7447. MOV.F R12.x, R18.z;
  7448. ADD.F32 R12.z, R12.x, R12;
  7449. MOV.F R12.x, R18;
  7450. SNE.F32 R12.w, R12.x, -R12.z;
  7451. ADD.F32 R12.x, R12, R12.z;
  7452. MOV.F R13.x, R22;
  7453. TRUNC.U R13.y, R12.w;
  7454. MOV.F R12.z, R29.x;
  7455. MOV.F R12.w, R19.x;
  7456. ADD.F32 R12.w, R12.z, R12;
  7457. MOV.F R12.z, R18.w;
  7458. ADD.F32 R0.w, R12.z, R0;
  7459. SNE.F32 R12.z, R13.x, {0, 0, 0, 0}.x;
  7460. MOV.S R21.x, R0.w;
  7461. TRUNC.U R12.z, R12;
  7462. AND.U.CC HC.x, R12.z, R13.y;
  7463. MOV.S R11.z, R19.w;
  7464. MOV.S R11.w, R11;
  7465. MOV.S R11.x, R11;
  7466. MOV.S R20.z, R19.w;
  7467. MUL.F32 R12.x, R13, R12;
  7468. MOV.S R21.y, R12.w;
  7469. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  7470. IF    NE.x;
  7471. ELSE;
  7472. MOV.F R12.x, {0, 0, 0, 0};
  7473. ENDIF;
  7474. MOV.F R12.w, R21.x;
  7475. MOV.F R12.z, R23.x;
  7476. ADD.F32 R12.z, R12, R12.w;
  7477. MOV.F R12.w, R29.y;
  7478. ADD.F32 R12.z, R12.w, R12;
  7479. MOV.S R21.z, R12;
  7480. MOV.F R12.w, R9.z;
  7481. MOV.F R12.z, R9.y;
  7482. ADD.F32 R13.x, R12.z, R12.w;
  7483. MUL.F32 R13.y, R13.x, {0.5, 0, 0, 0}.x;
  7484. MOV.F R12.z, R9.x;
  7485. ADD.F32 R12.z, R12, R12.w;
  7486. MOV.S R21.x, R13.y;
  7487. MOV.F R13.x, R21.y;
  7488. MUL.F32 R12.z, R12, {0.5, 0, 0, 0}.x;
  7489. MOV.F R12.w, R18.y;
  7490. MOV.S R21.y, R12.z;
  7491. MOV.F R12.z, R23;
  7492. MAD.F32 R12.z, R12, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7493. ADD.F32 R13.x, R12.w, R13;
  7494. MOV.S R12.z, R12;
  7495. MOV.F R13.y, R19.z;
  7496. ADD.F32 R13.z, R13.y, R13.x;
  7497. MOV.S R12.w, R12.z;
  7498. MOV.F R13.w, R23;
  7499. MUL.F32 R12.w, R12, {2, 0, 0, 0}.x;
  7500. MUL.F32 R12.z, R13.w, R13;
  7501. SNE.F32 R13.x, R13.y, -R13;
  7502. MOV.S R18.w, R12;
  7503. SNE.F32 R12.w, R13, {0, 0, 0, 0}.x;
  7504. TRUNC.U R13.x, R13;
  7505. TRUNC.U R12.w, R12;
  7506. AND.U.CC HC.x, R12.w, R13;
  7507. MOV.S R30.y, R11.w;
  7508. MOV.S R13.z, R12.x;
  7509. MOV.S R30.z, R20;
  7510. IF    NE.x;
  7511. MOV.F R12.x, R12.z;
  7512. ELSE;
  7513. MOV.F R12.x, {0, 0, 0, 0};
  7514. ENDIF;
  7515. MOV.F R12.z, R21.y;
  7516. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7517. MOV.S R12.w, R12.z;
  7518. MOV.F R12.z, R21.x;
  7519. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7520. MUL.F32 R13.x, R12.z, {2, 0, 0, 0};
  7521. MUL.F32 R12.z, R12.w, {2, 0, 0, 0}.x;
  7522. MOV.S R17.z, R13.x;
  7523. MOV.F R13.x, R21.z;
  7524. MOV.F R12.w, R23.y;
  7525. MOV.S R17.y, R12.z;
  7526. MUL.F32 R12.z, R12.w, R13.x;
  7527. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7528. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  7529. TRUNC.U R13.x, R13;
  7530. TRUNC.U R12.w, R12;
  7531. AND.U.CC HC.x, R12.w, R13;
  7532. MOV.S R23.x, R12;
  7533. IF    NE.x;
  7534. ELSE;
  7535. MOV.F R12.z, {0, 0, 0, 0}.x;
  7536. ENDIF;
  7537. MOV.F R12.x, R9;
  7538. ADD.F32 R12.x, R12, {-0.5, 0, 0, 0};
  7539. MOV.F R13.y, c[7];
  7540. MOV.F R13.x, R17.z;
  7541. MUL.F32 R12.w, R13.x, R13.y;
  7542. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7543. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  7544. TRUNC.U R13.x, R13;
  7545. TRUNC.U R13.y, R13;
  7546. AND.U.CC HC.x, R13, R13.y;
  7547. MOV.S R12.x, R12;
  7548. MOV.S R13.w, R12.z;
  7549. IF    NE.x;
  7550. MOV.F R12.z, R12.w;
  7551. ELSE;
  7552. MOV.F R12.z, {0, 0, 0, 0}.x;
  7553. ENDIF;
  7554. MOV.F R13.y, c[7].x;
  7555. MOV.F R13.x, R18.w;
  7556. MUL.F32 R12.w, R13.x, R13.y;
  7557. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7558. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  7559. TRUNC.U R13.x, R13;
  7560. TRUNC.U R13.y, R13;
  7561. AND.U.CC HC.x, R13, R13.y;
  7562. MOV.S R21.x, R12.z;
  7563. IF    NE.x;
  7564. MOV.F R13.x, R12.w;
  7565. ELSE;
  7566. MOV.F R13.x, {0, 0, 0, 0};
  7567. ENDIF;
  7568. MOV.F R12.w, R9.y;
  7569. MOV.F R12.z, R9;
  7570. ADD.F32 R12.w, R12, {-0.5, 0, 0, 0}.x;
  7571. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7572. MOV.F R17.x, R17.y;
  7573. MOV.F R17.z, c[7];
  7574. MUL.F32 R13.y, R17.x, R17.z;
  7575. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7576. SNE.F32 R17.y, R17.z, {0, 0, 0, 0}.x;
  7577. TRUNC.U R17.x, R17;
  7578. TRUNC.U R17.y, R17;
  7579. AND.U.CC HC.x, R17, R17.y;
  7580. MOV.S R12.w, R12;
  7581. MOV.S R12.z, R12;
  7582. MOV.S R21.y, R13.x;
  7583. IF    NE.x;
  7584. ELSE;
  7585. MOV.F R13.y, {0, 0, 0, 0}.x;
  7586. ENDIF;
  7587. MOV.F R13.x, R9.y;
  7588. MUL.F32 R17.y, R13.x, {2, 0, 0, 0}.x;
  7589. MOV.F R17.x, R21;
  7590. MOV.F R13.x, c[8].y;
  7591. ADD.F32 R13.x, R13, R17;
  7592. MOV.S R17.x, R17.y;
  7593. MOV.S R17.y, R17.x;
  7594. MOV.S R20.z, R13.x;
  7595. MOV.F R17.x, c[8];
  7596. MOV.F R13.x, R21.y;
  7597. ADD.F32 R13.x, R13, R17;
  7598. MOV.F R17.x, R17.y;
  7599. MOV.S R20.x, R13;
  7600. FLR.F R13.x, R17;
  7601. MOV.F R17.x, c[8].z;
  7602. ADD.F32 R13.y, R17.x, R13;
  7603. MOV.S R13.x, R13;
  7604. MOV.S R13.y, R13;
  7605. AND.S R20.w, c[9].x, {65536, 0, 0, 0}.x;
  7606. AND.S R23.y, c[9].x, {131072, 0, 0, 0}.x;
  7607. AND.S R23.w, c[9].x, {262144, 0, 0, 0}.x;
  7608. ENDIF;
  7609. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  7610. MOV.U.CC RC.x, -R17;
  7611. IF    NE.x;
  7612. MOV.F R12.y, c[10].w;
  7613. MOV.F R10.w, R13;
  7614. MUL.F32 R0.w, R10, R12.y;
  7615. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7616. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7617. TRUNC.U R12.y, R12;
  7618. TRUNC.U R10.w, R10;
  7619. AND.U.CC HC.x, R10.w, R12.y;
  7620. IF    NE.x;
  7621. ELSE;
  7622. MOV.F R0.w, {0, 0, 0, 0}.x;
  7623. ENDIF;
  7624. MOV.F R13.w, c[10].z;
  7625. MOV.F R12.y, R23.x;
  7626. MUL.F32 R10.w, R12.y, R13;
  7627. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7628. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7629. TRUNC.U R12.y, R12;
  7630. TRUNC.U R13.w, R13;
  7631. AND.U.CC HC.x, R12.y, R13.w;
  7632. MOV.S R17.x, R0.w;
  7633. IF    NE.x;
  7634. MOV.F R0.w, R10;
  7635. ELSE;
  7636. MOV.F R0.w, {0, 0, 0, 0}.x;
  7637. ENDIF;
  7638. MOV.F R12.y, R13.z;
  7639. MOV.F R13.w, c[10].y;
  7640. MUL.F32 R10.w, R12.y, R13;
  7641. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7642. TRUNC.U R13.z, R12.y;
  7643. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7644. TRUNC.U R13.w, R13;
  7645. AND.U.CC HC.x, R13.z, R13.w;
  7646. MOV.S R12.y, R0.w;
  7647. IF    NE.x;
  7648. MOV.F R0.w, R10;
  7649. ELSE;
  7650. MOV.F R0.w, {0, 0, 0, 0}.x;
  7651. ENDIF;
  7652. MOV.F R10.w, R13.x;
  7653. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7654. TRUNC.U.CC HC.x, R10.w;
  7655. MOV.S R13.z, R0.w;
  7656. IF    NE.x;
  7657. MOV.F R10.w, {1, 0, 0, 0}.x;
  7658. ELSE;
  7659. MOV.F R10.w, {0, 0, 0, 0}.x;
  7660. ENDIF;
  7661. I2F.S R0.w, R20;
  7662. MOV.S R26.w, R0;
  7663. MOV.S R0.w, R13.x;
  7664. MOV.F R13.x, R17;
  7665. SNE.F32 R16.w, R13.x, {0, 0, 0, 0}.x;
  7666. MOV.F R13.w, R28.z;
  7667. MUL.F32 R13.x, R13.w, R13;
  7668. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7669. TRUNC.U R16.w, R16;
  7670. TRUNC.U R13.w, R13;
  7671. AND.U.CC HC.x, R13.w, R16.w;
  7672. MOV.S R18.w, R10;
  7673. IF    NE.x;
  7674. MOV.F R10.w, R13.x;
  7675. ELSE;
  7676. MOV.F R10.w, {0, 0, 0, 0}.x;
  7677. ENDIF;
  7678. MOV.F R13.x, R26.w;
  7679. SGT.F32 R13.w, R13.x, {0, 0, 0, 0}.x;
  7680. TRUNC.U.CC HC.x, R13.w;
  7681. MOV.S R13.x, R10.w;
  7682. IF    NE.x;
  7683. MOV.F R10.w, {1, 0, 0, 0}.x;
  7684. ELSE;
  7685. MOV.F R10.w, {0, 0, 0, 0}.x;
  7686. ENDIF;
  7687. MOV.F R13.w, R26;
  7688. SGT.F32 R13.w, {0, 0, 0, 0}.x, R13;
  7689. TRUNC.U.CC HC.x, R13.w;
  7690. MOV.S R21.y, R10.w;
  7691. IF    NE.x;
  7692. MOV.F R10.w, {1, 0, 0, 0}.x;
  7693. ELSE;
  7694. MOV.F R10.w, {0, 0, 0, 0}.x;
  7695. ENDIF;
  7696. MOV.F R13.w, R0;
  7697. MOV.F R0.w, R10;
  7698. SGT.F32 R10.w, {0, 0, 0, 0}.x, R13;
  7699. TRUNC.U.CC HC.x, R10.w;
  7700. MOV.S R21.z, R0.w;
  7701. IF    NE.x;
  7702. MOV.F R0.w, {1, 0, 0, 0}.x;
  7703. ELSE;
  7704. MOV.F R0.w, {0, 0, 0, 0}.x;
  7705. ENDIF;
  7706. MOV.F R10.w, R18;
  7707. ADD.F32 R10.w, R10, -R0;
  7708. I2F.S R0.w, R23.y;
  7709. MOV.S R19.x, R10.w;
  7710. SGT.F32 R13.w, R0, {0, 0, 0, 0}.x;
  7711. TRUNC.U.CC HC.x, R13.w;
  7712. MOV.S R10.w, R0;
  7713. IF    NE.x;
  7714. MOV.F R0.w, {1, 0, 0, 0}.x;
  7715. ELSE;
  7716. MOV.F R0.w, {0, 0, 0, 0}.x;
  7717. ENDIF;
  7718. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7719. TRUNC.U.CC HC.x, R10.w;
  7720. MOV.S R17.y, R0.w;
  7721. IF    NE.x;
  7722. MOV.F R0.w, {1, 0, 0, 0}.x;
  7723. ELSE;
  7724. MOV.F R0.w, {0, 0, 0, 0}.x;
  7725. ENDIF;
  7726. MOV.F R13.w, R21.z;
  7727. MOV.F R10.w, R21.y;
  7728. ADD.F32 R10.w, R10, -R13;
  7729. MOV.S R17.w, R10;
  7730. I2F.S R10.w, R23;
  7731. MOV.S R26.w, R10;
  7732. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7733. TRUNC.U.CC HC.x, R10.w;
  7734. MOV.S R17.z, R0.w;
  7735. IF    NE.x;
  7736. MOV.F R0.w, {1, 0, 0, 0}.x;
  7737. ELSE;
  7738. MOV.F R0.w, {0, 0, 0, 0}.x;
  7739. ENDIF;
  7740. MOV.F R13.w, R17.z;
  7741. MOV.F R10.w, R17.y;
  7742. ADD.F32 R10.w, R10, -R13;
  7743. MOV.F R16.w, R9.z;
  7744. MUL.F32 R13.w, R16, {2, 0, 0, 0}.x;
  7745. MOV.S R21.z, R10.w;
  7746. MOV.F R10.w, R26;
  7747. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7748. TRUNC.U.CC HC.x, R10.w;
  7749. MOV.S R21.y, R13.w;
  7750. MOV.S R21.x, R0.w;
  7751. IF    NE.x;
  7752. MOV.F R0.w, {1, 0, 0, 0}.x;
  7753. ELSE;
  7754. MOV.F R0.w, {0, 0, 0, 0}.x;
  7755. ENDIF;
  7756. MOV.F R16.w, R21.x;
  7757. ADD.F32 R0.w, R0, -R16;
  7758. MOV.F R10.w, R17;
  7759. TRUNC.S R10.w, R10;
  7760. ADD.S R13.w, -R10, {0, 0, 0, 0}.x;
  7761. MAX.S R21.x, R10.w, R13.w;
  7762. MOV.F R13.w, R21.y;
  7763. FLR.F R13.w, R13;
  7764. MOV.F R10.w, R21.z;
  7765. TRUNC.S R10.w, R10;
  7766. MOV.F R17.x, R9;
  7767. MUL.F32 R16.w, R17.x, {2, 0, 0, 0}.x;
  7768. MOV.S R17.y, R0.w;
  7769. SGT.F32 R0.w, R13, {0, 0, 0, 0}.x;
  7770. TRUNC.U.CC HC.x, R0.w;
  7771. ADD.S R21.y, -R10.w, {0, 0, 0, 0}.x;
  7772. MOV.S R17.z, R13.w;
  7773. MOV.S R18.w, R16;
  7774. MOV.S R29.y, R10.w;
  7775. IF    NE.x;
  7776. MOV.F R0.w, {1, 0, 0, 0}.x;
  7777. ELSE;
  7778. MOV.F R0.w, {0, 0, 0, 0}.x;
  7779. ENDIF;
  7780. MOV.F R10.w, R17.z;
  7781. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7782. TRUNC.U.CC HC.x, R10.w;
  7783. MOV.S R21.z, R0.w;
  7784. IF    NE.x;
  7785. MOV.F R0.w, {1, 0, 0, 0}.x;
  7786. ELSE;
  7787. MOV.F R0.w, {0, 0, 0, 0}.x;
  7788. ENDIF;
  7789. MOV.F R10.w, R21.z;
  7790. ADD.F32 R0.w, R10, -R0;
  7791. MOV.S R29.x, R0.w;
  7792. MOV.F R0.w, R18;
  7793. FLR.F R10.w, R0;
  7794. MOV.F R0.w, R17.y;
  7795. TRUNC.S R23.x, R0.w;
  7796. MOV.S R17.z, R10.w;
  7797. I2F.S R0.w, R21.x;
  7798. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  7799. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7800. TRUNC.U.CC HC.x, R10.w;
  7801. MAX.S R17.w, R21.y, R29.y;
  7802. ADD.S R17.y, -R23.x, {0, 0, 0, 0}.x;
  7803. MOV.S R26.w, R0;
  7804. IF    NE.x;
  7805. MOV.F R0.w, {1, 0, 0, 0}.x;
  7806. ELSE;
  7807. MOV.F R0.w, {0, 0, 0, 0}.x;
  7808. ENDIF;
  7809. MOV.F R10.w, R19.x;
  7810. SNE.F32 R16.w, R10, {0, 0, 0, 0}.x;
  7811. MOV.F R13.w, R26;
  7812. MUL.F32 R10.w, -R13, R10;
  7813. TRUNC.U R16.w, R16;
  7814. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  7815. MOV.S R21.x, R0.w;
  7816. TRUNC.U R0.w, R13;
  7817. AND.U.CC HC.x, R0.w, R16.w;
  7818. IF    NE.x;
  7819. MOV.F R0.w, R10;
  7820. ELSE;
  7821. MOV.F R0.w, {0, 0, 0, 0}.x;
  7822. ENDIF;
  7823. MOV.F R10.w, R17.z;
  7824. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7825. TRUNC.U.CC HC.x, R10.w;
  7826. MAX.S R21.z, R23.x, R17.y;
  7827. MOV.S R21.y, R0.w;
  7828. IF    NE.x;
  7829. MOV.F R0.w, {1, 0, 0, 0}.x;
  7830. ELSE;
  7831. MOV.F R0.w, {0, 0, 0, 0}.x;
  7832. ENDIF;
  7833. I2F.S R10.w, R17;
  7834. MUL.F32 R10.w, R10, {2, 0, 0, 0}.x;
  7835. SNE.F32 R16.w, -R10, {0, 0, 0, 0}.x;
  7836. MOV.F R13.w, R29.x;
  7837. MUL.F32 R10.w, -R10, R13;
  7838. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7839. TRUNC.U R16.w, R16;
  7840. TRUNC.U R13.w, R13;
  7841. AND.U.CC HC.x, R16.w, R13.w;
  7842. MOV.S R21.w, R0;
  7843. IF    NE.x;
  7844. MOV.F R0.w, R10;
  7845. ELSE;
  7846. MOV.F R0.w, {0, 0, 0, 0}.x;
  7847. ENDIF;
  7848. MOV.F R16.w, R21.y;
  7849. MOV.F R13.w, R20.x;
  7850. MUL.F32 R10.w, R13, R16;
  7851. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7852. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7853. TRUNC.U R13.w, R13;
  7854. TRUNC.U R16.w, R16;
  7855. AND.U.CC HC.x, R13.w, R16.w;
  7856. MOV.S R17.x, R0.w;
  7857. IF    NE.x;
  7858. MOV.F R0.w, R10;
  7859. ELSE;
  7860. MOV.F R0.w, {0, 0, 0, 0}.x;
  7861. ENDIF;
  7862. MOV.F R13.w, R21;
  7863. MOV.F R10.w, R21.x;
  7864. ADD.F32 R10.w, R10, -R13;
  7865. MOV.F R16.w, R21.y;
  7866. MOV.F R13.w, R10.x;
  7867. MOV.S R17.z, R10.w;
  7868. MUL.F32 R10.w, R13, R16;
  7869. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7870. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7871. TRUNC.U R13.w, R13;
  7872. TRUNC.U R16.w, R16;
  7873. AND.U.CC HC.x, R13.w, R16.w;
  7874. MOV.S R17.y, R0.w;
  7875. IF    NE.x;
  7876. MOV.F R0.w, R10;
  7877. ELSE;
  7878. MOV.F R0.w, {0, 0, 0, 0}.x;
  7879. ENDIF;
  7880. I2F.S R10.w, R21.z;
  7881. MUL.F32 R13.w, R10, {2, 0, 0, 0}.x;
  7882. MOV.F R16.w, R17.z;
  7883. MUL.F32 R10.w, -R13, R16;
  7884. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  7885. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7886. TRUNC.U R13.w, R13;
  7887. TRUNC.U R16.w, R16;
  7888. AND.U.CC HC.x, R13.w, R16.w;
  7889. MOV.S R17.w, R0;
  7890. IF    NE.x;
  7891. MOV.F R0.w, R10;
  7892. ELSE;
  7893. MOV.F R0.w, {0, 0, 0, 0}.x;
  7894. ENDIF;
  7895. MOV.F R10.w, R17;
  7896. ADD.F32 R10.x, R10, R10.w;
  7897. MOV.F R13.w, R17.x;
  7898. MOV.F R10.w, R20.z;
  7899. MOV.S R29.y, R10.x;
  7900. MUL.F32 R10.x, R10.w, R13.w;
  7901. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7902. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7903. TRUNC.U R10.w, R10;
  7904. TRUNC.U R13.w, R13;
  7905. AND.U.CC HC.x, R10.w, R13.w;
  7906. MOV.S R21.x, R0.w;
  7907. IF    NE.x;
  7908. MOV.F R0.w, R10.x;
  7909. ELSE;
  7910. MOV.F R0.w, {0, 0, 0, 0}.x;
  7911. ENDIF;
  7912. MOV.F R10.w, R17.y;
  7913. MOV.F R10.x, R20;
  7914. ADD.F32 R10.x, R10, R10.w;
  7915. MOV.F R13.w, R17.x;
  7916. MOV.F R10.w, R10.y;
  7917. MOV.S R18.w, R10.x;
  7918. MUL.F32 R10.x, R10.w, R13.w;
  7919. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7920. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7921. TRUNC.U R10.w, R10;
  7922. TRUNC.U R13.w, R13;
  7923. AND.U.CC HC.x, R10.w, R13.w;
  7924. MOV.S R21.z, R0.w;
  7925. IF    NE.x;
  7926. MOV.F R0.w, R10.x;
  7927. ELSE;
  7928. MOV.F R0.w, {0, 0, 0, 0}.x;
  7929. ENDIF;
  7930. MOV.F R10.x, R10.y;
  7931. ADD.F32 R10.x, R10, R0.w;
  7932. MOV.F R10.y, R13;
  7933. MOV.F R10.w, R21.x;
  7934. MOV.S R29.x, R10;
  7935. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  7936. MUL.F32 R0.w, R10.y, R10;
  7937. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  7938. TRUNC.U R10.x, R10;
  7939. TRUNC.U R10.y, R10;
  7940. AND.U.CC HC.x, R10, R10.y;
  7941. IF    NE.x;
  7942. ELSE;
  7943. MOV.F R0.w, {0, 0, 0, 0}.x;
  7944. ENDIF;
  7945. MOV.F R10.y, R21.z;
  7946. MOV.F R10.x, R20.z;
  7947. ADD.F32 R10.x, R10, R10.y;
  7948. MOV.F R10.w, R21.x;
  7949. MOV.F R10.y, R10.z;
  7950. MOV.S R23.z, R10.x;
  7951. MUL.F32 R10.x, R10.y, R10.w;
  7952. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  7953. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7954. TRUNC.U R10.y, R10;
  7955. TRUNC.U R10.w, R10;
  7956. AND.U.CC HC.x, R10.y, R10.w;
  7957. MOV.S R17.y, R0.w;
  7958. IF    NE.x;
  7959. MOV.F R0.w, R10.x;
  7960. ELSE;
  7961. MOV.F R0.w, {0, 0, 0, 0}.x;
  7962. ENDIF;
  7963. MOV.F R10.w, c[11].x;
  7964. MOV.F R10.y, R12.x;
  7965. MUL.F32 R10.x, R10.y, R10.w;
  7966. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  7967. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7968. TRUNC.U R10.y, R10;
  7969. TRUNC.U R10.w, R10;
  7970. AND.U.CC HC.x, R10.y, R10.w;
  7971. MOV.S R17.w, R0;
  7972. IF    NE.x;
  7973. MOV.F R0.w, R10.x;
  7974. ELSE;
  7975. MOV.F R0.w, {0, 0, 0, 0}.x;
  7976. ENDIF;
  7977. MOV.F R10.y, R29;
  7978. ADD.F32 R0.w, R10.y, R0;
  7979. MOV.F R10.w, R17.y;
  7980. MOV.F R10.x, R13.y;
  7981. ADD.F32 R10.x, R10, R10.w;
  7982. MOV.F R10.w, c[11].y;
  7983. MOV.S R29.y, R10.x;
  7984. MOV.F R10.x, R12.w;
  7985. SNE.F32 R12.x, R10, {0, 0, 0, 0};
  7986. TRUNC.U R12.x, R12;
  7987. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  7988. MOV.S R19.x, R0.w;
  7989. TRUNC.U R0.w, R10.y;
  7990. AND.U.CC HC.x, R12, R0.w;
  7991. MUL.F32 R10.x, R10, R10.w;
  7992. IF    NE.x;
  7993. MOV.F R0.w, R10.x;
  7994. ELSE;
  7995. MOV.F R0.w, {0, 0, 0, 0}.x;
  7996. ENDIF;
  7997. MOV.F R10.x, R10.z;
  7998. MOV.F R10.y, R17.w;
  7999. ADD.F32 R10.x, R10, R10.y;
  8000. MOV.F R10.z, c[11];
  8001. MOV.F R10.y, R12.z;
  8002. MOV.S R21.w, R10.x;
  8003. MUL.F32 R10.x, R10.y, R10.z;
  8004. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8005. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8006. TRUNC.U R10.y, R10;
  8007. TRUNC.U R10.z, R10;
  8008. AND.U.CC HC.x, R10.y, R10.z;
  8009. MOV.S R21.z, R0.w;
  8010. IF    NE.x;
  8011. MOV.F R0.w, R10.x;
  8012. ELSE;
  8013. MOV.F R0.w, {0, 0, 0, 0}.x;
  8014. ENDIF;
  8015. MOV.F R10.x, c[8].w;
  8016. SEQ.F R10.x, R10, {1, 0, 0, 0};
  8017. TRUNC.U.CC HC.x, R10;
  8018. MOV.S R10.w, R0;
  8019. IF    NE.x;
  8020. MOV.S R10.x, {-1, 0, 0, 0};
  8021. ELSE;
  8022. MOV.S R10.x, {0, 0, 0, 0};
  8023. ENDIF;
  8024. MOV.F R10.y, R10.w;
  8025. MOV.F R0.w, R21;
  8026. ADD.F32 R0.w, R0, R10.y;
  8027. MOV.S R18.y, R0.w;
  8028. MOV.F R10.z, R21;
  8029. MOV.F R10.y, R29.x;
  8030. ADD.F32 R10.y, R10, R10.z;
  8031. MOV.F R0.w, c[8];
  8032. MAX.F R10.z, R0.w, {0, 0, 0, 0}.x;
  8033. MOV.S R29.z, R10.y;
  8034. LG2.F32 R10.y, R10.z;
  8035. MUL.F32 R10.z, R10.y, {2, 0, 0, 0}.x;
  8036. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  8037. SEQ.F R10.z, R10.y, R10;
  8038. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  8039. TRUNC.U R10.w, R10;
  8040. TRUNC.U R10.z, R10;
  8041. AND.U R10.z, R10, R10.w;
  8042. SEQ.U R10.z, R10, {1, 0, 0, 0}.x;
  8043. MOV.U.CC RC.x, -R10.z;
  8044. MOV.S R17.z, R0.w;
  8045. IF    NE.x;
  8046. MOV.F R10.y, {-3.40282347e+38, 0, 0, 0}.x;
  8047. ENDIF;
  8048. MOV.F R10.z, R14.w;
  8049. MUL.F32 R0.w, R10.z, R10.y;
  8050. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  8051. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  8052. TRUNC.U R10.z, R10.w;
  8053. TRUNC.U R10.y, R10;
  8054. AND.U.CC HC.x, R10.y, R10.z;
  8055. IF    NE.x;
  8056. MOV.F R10.y, R0.w;
  8057. ELSE;
  8058. MOV.F R10.y, {0, 0, 0, 0}.x;
  8059. ENDIF;
  8060. MOV.S R10.y, R10;
  8061. MOV.F R10.z, R17;
  8062. SEQ.S R10.x, R10, {0, 0, 0, 0};
  8063. MOV.U.CC RC.x, -R10;
  8064. RCP.F32 R10.z, R10.z;
  8065. EX2.F32 R10.y, R10.y;
  8066. MAD.F32 R10.y, -R10, R10.z, R10.z;
  8067. MOV.S R0.w, R11.x;
  8068. MOV.S R16.w, R11;
  8069. MOV.S R10.w, R11.z;
  8070. MOV.S R17.y, R10;
  8071. MOV.S R20.y, {1065353216, 0, 0, 0}.x;
  8072. IF    NE.x;
  8073. MOV.S R10.x, R17.y;
  8074. ELSE;
  8075. MOV.S R10.x, R14.w;
  8076. ENDIF;
  8077. MOV.F R11.z, R10.x;
  8078. MOV.F R10.z, R29.y;
  8079. MUL.F32 R10.y, R10.z, R11.z;
  8080. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8081. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8082. TRUNC.U R11.z, R11;
  8083. TRUNC.U R10.z, R10;
  8084. AND.U.CC HC.x, R10.z, R11.z;
  8085. IF    NE.x;
  8086. ELSE;
  8087. MOV.F R10.y, {0, 0, 0, 0}.x;
  8088. ENDIF;
  8089. MOV.F R11.w, R10.x;
  8090. MOV.F R11.z, R23;
  8091. MUL.F32 R10.z, R11, R11.w;
  8092. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8093. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8094. TRUNC.U R11.z, R11;
  8095. TRUNC.U R11.w, R11;
  8096. AND.U.CC HC.x, R11.z, R11.w;
  8097. MOV.S R17.y, R10;
  8098. IF    NE.x;
  8099. MOV.F R10.y, R10.z;
  8100. ELSE;
  8101. MOV.F R10.y, {0, 0, 0, 0}.x;
  8102. ENDIF;
  8103. MOV.F R11.z, R10.x;
  8104. MOV.F R10.z, R18.w;
  8105. MUL.F32 R10.x, R10.z, R11.z;
  8106. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8107. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8108. TRUNC.U R10.z, R10;
  8109. TRUNC.U R11.z, R11;
  8110. AND.U.CC HC.x, R10.z, R11.z;
  8111. MOV.S R17.z, R10.y;
  8112. IF    NE.x;
  8113. ELSE;
  8114. MOV.F R10.x, {0, 0, 0, 0};
  8115. ENDIF;
  8116. MOV.F R10.y, R19.x;
  8117. ADD.F32 R10.x, R10.y, R10;
  8118. MAD.F32 R10.x, R10, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  8119. FRC.F32 R10.x, R10;
  8120. MAD.F32 R10.x, R10, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  8121. MUL.F32 R10.x, R10, {0.159154937, 0, 0, 0};
  8122. MOV.F R11.z, R17.y;
  8123. MOV.F R10.z, R18.y;
  8124. ADD.F32 R10.z, R10, R11;
  8125. MAD.F32 R10.y, R10.z, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8126. FRC.F32 R10.y, R10;
  8127. MAD.F32 R10.y, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  8128. MUL.F32 R10.y, R10, {0.159154937, 0, 0, 0}.x;
  8129. MOV.S R18.y, R10;
  8130. MOV.S R10.x, R10;
  8131. MOV.F R10.z, R17;
  8132. MOV.F R10.y, R29.z;
  8133. ADD.F32 R10.y, R10, R10.z;
  8134. MAD.F32 R10.y, R10, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8135. FRC.F32 R10.z, R10.y;
  8136. MUL.F32 R10.y, R10.x, {6.28318548, 0, 0, 0}.x;
  8137. COS.F32 R11.w, R10.y;
  8138. MAD.F32 R10.z, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  8139. SIN.F32 R11.z, R10.z;
  8140. SIN.F32 R10.y, R10.y;
  8141. MUL.F32 R10.z, R10, {0.159154937, 0, 0, 0}.x;
  8142. MOV.S R19.y, R10;
  8143. MOV.S R19.x, R10.z;
  8144. SNE.F32 R10.z, R11, {0, 0, 0, 0}.x;
  8145. SNE.F32 R10.y, R11.w, {0, 0, 0, 0}.x;
  8146. TRUNC.U R10.z, R10;
  8147. TRUNC.U R10.y, R10;
  8148. AND.U.CC HC.x, R10.y, R10.z;
  8149. MUL.F32 R10.x, R11.z, R11.w;
  8150. MOV.S R29.z, R11;
  8151. MOV.S R29.x, R11.w;
  8152. IF    NE.x;
  8153. ELSE;
  8154. MOV.F R10.x, {0, 0, 0, 0};
  8155. ENDIF;
  8156. MOV.F R10.z, R19.y;
  8157. MOV.F R11.z, R29;
  8158. MUL.F32 R10.y, R10.z, R11.z;
  8159. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8160. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8161. TRUNC.U R10.z, R10;
  8162. TRUNC.U R11.z, R11;
  8163. AND.U.CC HC.x, R10.z, R11.z;
  8164. MOV.S R19.z, R10.x;
  8165. IF    NE.x;
  8166. MOV.F R10.x, R10.y;
  8167. ELSE;
  8168. MOV.F R10.x, {0, 0, 0, 0};
  8169. ENDIF;
  8170. MOV.F R10.y, R19.x;
  8171. MUL.F32 R10.y, R10, {6.28318548, 0, 0, 0}.x;
  8172. COS.F32 R10.y, R10.y;
  8173. MOV.S R10.y, R10;
  8174. MOV.S R10.z, R10.y;
  8175. MOV.F R11.z, R10;
  8176. MOV.F R10.z, R29.x;
  8177. MOV.S R23.z, R10.y;
  8178. MUL.F32 R10.y, R10.z, R11.z;
  8179. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8180. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8181. TRUNC.U R11.z, R11;
  8182. TRUNC.U R10.z, R10;
  8183. AND.U.CC HC.x, R10.z, R11.z;
  8184. MOV.S R18.w, R10.x;
  8185. IF    NE.x;
  8186. MOV.F R10.x, R10.y;
  8187. ELSE;
  8188. MOV.F R10.x, {0, 0, 0, 0};
  8189. ENDIF;
  8190. MOV.F R11.z, R23;
  8191. MOV.F R10.z, R19.y;
  8192. MUL.F32 R10.y, R10.z, R11.z;
  8193. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8194. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8195. TRUNC.U R10.z, R10;
  8196. TRUNC.U R11.z, R11;
  8197. AND.U.CC HC.x, R10.z, R11.z;
  8198. MOV.S R10.x, R10;
  8199. IF    NE.x;
  8200. ELSE;
  8201. MOV.F R10.y, {0, 0, 0, 0}.x;
  8202. ENDIF;
  8203. MOV.F R10.z, R18.y;
  8204. MUL.F32 R10.z, R10, {6.28318548, 0, 0, 0}.x;
  8205. SIN.F32 R10.z, R10.z;
  8206. SNE.F32 R11.z, R10, {0, 0, 0, 0}.x;
  8207. MOV.S R23.y, R10.z;
  8208. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  8209. TRUNC.U R11.z, R11;
  8210. TRUNC.U R11.w, R11;
  8211. AND.U.CC HC.x, R11.z, R11.w;
  8212. MUL.F32 R10.z, R10.y, R10;
  8213. MOV.S R29.y, R10;
  8214. IF    NE.x;
  8215. ELSE;
  8216. MOV.F R10.z, {0, 0, 0, 0}.x;
  8217. ENDIF;
  8218. MOV.F R11.w, R23.y;
  8219. MOV.F R12.x, R10;
  8220. MOV.F R10.y, -R11.w;
  8221. MUL.F32 R11.z, R11.w, R12.x;
  8222. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8223. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8224. TRUNC.U R11.w, R11;
  8225. TRUNC.U R12.x, R12;
  8226. AND.U.CC HC.x, R11.w, R12;
  8227. MOV.S R10.y, R10;
  8228. MOV.S R21.x, R10.z;
  8229. IF    NE.x;
  8230. MOV.F R10.z, R11;
  8231. ELSE;
  8232. MOV.F R10.z, {0, 0, 0, 0}.x;
  8233. ENDIF;
  8234. MOV.F R12.x, R19.z;
  8235. MOV.F R11.w, R23.y;
  8236. MUL.F32 R11.z, R11.w, R12.x;
  8237. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8238. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8239. TRUNC.U R11.w, R11;
  8240. TRUNC.U R12.x, R12;
  8241. AND.U.CC HC.x, R11.w, R12;
  8242. MOV.S R21.z, R10;
  8243. IF    NE.x;
  8244. MOV.F R10.z, R11;
  8245. ELSE;
  8246. MOV.F R10.z, {0, 0, 0, 0}.x;
  8247. ENDIF;
  8248. MOV.F R11.w, R21.z;
  8249. MOV.F R11.z, R18.w;
  8250. ADD.F32 R11.z, R11, R11.w;
  8251. MOV.S R20.x, R11.z;
  8252. MOV.F R11.z, R19;
  8253. MOV.F R11.w, R21.x;
  8254. ADD.F32 R11.w, -R11.z, R11;
  8255. MOV.F R11.z, R18.y;
  8256. MUL.F32 R11.z, R11, {6.28318548, 0, 0, 0}.x;
  8257. MOV.S R12.z, R11.w;
  8258. COS.F32 R11.w, R11.z;
  8259. MOV.F R12.x, R23.z;
  8260. MUL.F32 R11.z, R11.w, R12.x;
  8261. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8262. TRUNC.U R12.w, R12.x;
  8263. MOV.S R19.x, R11.w;
  8264. MOV.F R12.x, R29.y;
  8265. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8266. ADD.F32 R10.z, -R12.x, R10;
  8267. TRUNC.U R11.w, R11;
  8268. AND.U.CC HC.x, R12.w, R11.w;
  8269. MOV.S R17.y, R10.z;
  8270. IF    NE.x;
  8271. MOV.F R10.z, R11;
  8272. ELSE;
  8273. MOV.F R10.z, {0, 0, 0, 0}.x;
  8274. ENDIF;
  8275. MOV.F R12.x, R19;
  8276. MOV.F R11.w, R29.x;
  8277. MUL.F32 R11.z, R11.w, R12.x;
  8278. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8279. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8280. TRUNC.U R12.x, R12;
  8281. TRUNC.U R11.w, R11;
  8282. AND.U.CC HC.x, R11.w, R12;
  8283. MOV.S R13.w, R10.z;
  8284. IF    NE.x;
  8285. MOV.F R10.z, R11;
  8286. ELSE;
  8287. MOV.F R10.z, {0, 0, 0, 0}.x;
  8288. ENDIF;
  8289. MOV.F R12.x, R19;
  8290. MOV.F R11.w, R19.y;
  8291. MUL.F32 R11.z, R11.w, R12.x;
  8292. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8293. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8294. TRUNC.U R11.w, R11;
  8295. TRUNC.U R12.x, R12;
  8296. AND.U.CC HC.x, R11.w, R12;
  8297. MOV.S R23.w, R10.z;
  8298. IF    NE.x;
  8299. MOV.F R10.z, R11;
  8300. ELSE;
  8301. MOV.F R10.z, {0, 0, 0, 0}.x;
  8302. ENDIF;
  8303. MOV.F R12.x, R18.w;
  8304. MOV.F R11.w, R23.y;
  8305. MUL.F32 R11.z, R11.w, R12.x;
  8306. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8307. TRUNC.U R12.w, R12.x;
  8308. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8309. TRUNC.U R11.w, R11;
  8310. AND.U.CC HC.x, R11.w, R12.w;
  8311. MOV.S R12.x, R10.z;
  8312. IF    NE.x;
  8313. MOV.F R10.z, R11;
  8314. ELSE;
  8315. MOV.F R10.z, {0, 0, 0, 0}.x;
  8316. ENDIF;
  8317. MOV.F R12.w, R13.x;
  8318. MOV.F R11.w, R17.y;
  8319. MUL.F32 R11.z, R11.w, R12.w;
  8320. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8321. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  8322. TRUNC.U R11.w, R11;
  8323. TRUNC.U R12.w, R12;
  8324. AND.U.CC HC.x, R11.w, R12.w;
  8325. MOV.S R13.y, R10.z;
  8326. IF    NE.x;
  8327. MOV.F R10.z, R11;
  8328. ELSE;
  8329. MOV.F R10.z, {0, 0, 0, 0}.x;
  8330. ENDIF;
  8331. MOV.F R12.w, R19.x;
  8332. MOV.F R11.z, R29;
  8333. MUL.F32 R11.w, R11.z, R12;
  8334. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  8335. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8336. TRUNC.U R17.x, R12.w;
  8337. TRUNC.U R12.w, R11.z;
  8338. AND.U.CC HC.x, R12.w, R17;
  8339. MOV.S R11.z, R10;
  8340. IF    NE.x;
  8341. MOV.F R10.z, R11.w;
  8342. ELSE;
  8343. MOV.F R10.z, {0, 0, 0, 0}.x;
  8344. ENDIF;
  8345. MOV.F R17.x, R17.y;
  8346. MOV.F R11.w, R27.z;
  8347. MUL.F32 R12.w, R11, R17.x;
  8348. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  8349. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8350. TRUNC.U R17.y, R17.x;
  8351. TRUNC.U R17.x, R11.w;
  8352. AND.U.CC HC.x, R17, R17.y;
  8353. MOV.S R11.w, R10.z;
  8354. IF    NE.x;
  8355. MOV.F R10.z, R12.w;
  8356. ELSE;
  8357. MOV.F R10.z, {0, 0, 0, 0}.x;
  8358. ENDIF;
  8359. MOV.S R12.w, R10.z;
  8360. ENDIF;
  8361. SEQ.U R10.z, R31.w, {1, 0, 0, 0}.x;
  8362. MOV.U.CC RC.x, -R10.z;
  8363. IF    NE.x;
  8364. MOV.F R17.x, R13;
  8365. MOV.F R10.z, R11.w;
  8366. MUL.F32 R0.y, R10.z, R17.x;
  8367. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  8368. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8369. TRUNC.U R17.x, R17;
  8370. TRUNC.U R10.z, R10;
  8371. AND.U.CC HC.x, R10.z, R17;
  8372. IF    NE.x;
  8373. ELSE;
  8374. MOV.F R0.y, {0, 0, 0, 0}.x;
  8375. ENDIF;
  8376. MOV.F R10.z, R13.y;
  8377. ADD.F32 R10.x, R10, R10.z;
  8378. MOV.S R19.x, R0.y;
  8379. MOV.F R0.y, c[12];
  8380. MUL.F32 R0.y, R0, {0.5, 0, 0, 0}.x;
  8381. MOV.F R10.z, R27;
  8382. MOV.S R17.w, R10.x;
  8383. MUL.F32 R10.x, R10.z, R11.w;
  8384. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8385. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8386. TRUNC.U R17.x, R11.w;
  8387. TRUNC.U R11.w, R10.z;
  8388. MOV.F R10.z, c[12].x;
  8389. MUL.F32 R10.z, R10, {0.5, 0, 0, 0}.x;
  8390. AND.U.CC HC.x, R11.w, R17;
  8391. MOV.S R17.z, R10;
  8392. MOV.S R17.y, R0;
  8393. IF    NE.x;
  8394. MOV.F R0.y, R10.x;
  8395. ELSE;
  8396. MOV.F R0.y, {0, 0, 0, 0}.x;
  8397. ENDIF;
  8398. MOV.F R11.w, R17;
  8399. MOV.F R10.x, R28;
  8400. MOV.F R10.z, R17;
  8401. ADD.F32 R10.z, R10.x, R10;
  8402. MOV.S R21.x, R10.z;
  8403. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  8404. MUL.F32 R10.x, R11.w, R13;
  8405. SNE.F32 R11.w, R13.x, {0, 0, 0, 0}.x;
  8406. TRUNC.U R10.z, R10;
  8407. TRUNC.U R11.w, R11;
  8408. AND.U.CC HC.x, R10.z, R11.w;
  8409. MOV.S R26.w, R0.y;
  8410. IF    NE.x;
  8411. MOV.F R0.y, R10.x;
  8412. ELSE;
  8413. MOV.F R0.y, {0, 0, 0, 0}.x;
  8414. ENDIF;
  8415. MOV.F R11.w, R17;
  8416. MOV.F R10.z, R27;
  8417. MUL.F32 R10.x, R10.z, R11.w;
  8418. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8419. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8420. TRUNC.U R11.w, R11;
  8421. TRUNC.U R10.z, R10;
  8422. AND.U.CC HC.x, R10.z, R11.w;
  8423. MOV.S R19.y, R0;
  8424. IF    NE.x;
  8425. MOV.F R0.y, R10.x;
  8426. ELSE;
  8427. MOV.F R0.y, {0, 0, 0, 0}.x;
  8428. ENDIF;
  8429. MOV.F R10.z, R17.y;
  8430. MOV.F R10.x, R28.y;
  8431. ADD.F32 R10.x, R10, R10.z;
  8432. MOV.F R11.w, R10.y;
  8433. MOV.F R10.z, R27.y;
  8434. MOV.S R21.w, R10.x;
  8435. MUL.F32 R10.x, R10.z, R11.w;
  8436. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8437. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8438. TRUNC.U R11.w, R11;
  8439. TRUNC.U R10.z, R10;
  8440. AND.U.CC HC.x, R10.z, R11.w;
  8441. MOV.S R21.z, R0.y;
  8442. IF    NE.x;
  8443. MOV.F R0.y, R10.x;
  8444. ELSE;
  8445. MOV.F R0.y, {0, 0, 0, 0}.x;
  8446. ENDIF;
  8447. MOV.F R10.x, R12;
  8448. MOV.F R11.w, R27.y;
  8449. SNE.F32 R13.x, R10, {0, 0, 0, 0};
  8450. MUL.F32 R10.z, R11.w, R10.x;
  8451. MOV.F R10.x, R26.w;
  8452. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8453. ADD.F32 R0.y, R0, R10.x;
  8454. TRUNC.U R13.x, R13;
  8455. TRUNC.U R11.w, R11;
  8456. AND.U.CC HC.x, R11.w, R13;
  8457. MOV.S R10.x, R0.y;
  8458. IF    NE.x;
  8459. MOV.F R0.y, R10.z;
  8460. ELSE;
  8461. MOV.F R0.y, {0, 0, 0, 0}.x;
  8462. ENDIF;
  8463. MOV.F R10.z, R21;
  8464. ADD.F32 R10.z, R0.y, R10;
  8465. MOV.F R11.w, R12.y;
  8466. MOV.F R13.x, R21.w;
  8467. MUL.F32 R0.y, R11.w, R13.x;
  8468. MOV.S R26.x, R10.z;
  8469. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  8470. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8471. TRUNC.U R11.w, R13.x;
  8472. TRUNC.U R10.z, R10;
  8473. AND.U.CC HC.x, R10.z, R11.w;
  8474. IF    NE.x;
  8475. ELSE;
  8476. MOV.F R0.y, {0, 0, 0, 0}.x;
  8477. ENDIF;
  8478. MOV.F R13.x, R21;
  8479. MOV.F R11.w, R13.z;
  8480. MUL.F32 R10.z, R11.w, R13.x;
  8481. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8482. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8483. TRUNC.U R11.w, R11;
  8484. TRUNC.U R13.x, R13;
  8485. AND.U.CC HC.x, R11.w, R13;
  8486. MOV.S R17.y, R0;
  8487. IF    NE.x;
  8488. MOV.F R0.y, R10.z;
  8489. ELSE;
  8490. MOV.F R0.y, {0, 0, 0, 0}.x;
  8491. ENDIF;
  8492. MOV.F R13.x, R23.w;
  8493. MOV.F R11.w, R27.y;
  8494. MUL.F32 R10.z, R11.w, R13.x;
  8495. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8496. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8497. TRUNC.U R11.w, R11;
  8498. TRUNC.U R13.x, R13;
  8499. AND.U.CC HC.x, R11.w, R13;
  8500. MOV.S R19.z, R0.y;
  8501. IF    NE.x;
  8502. MOV.F R0.y, R10.z;
  8503. ELSE;
  8504. MOV.F R0.y, {0, 0, 0, 0}.x;
  8505. ENDIF;
  8506. MOV.F R10.z, R12.w;
  8507. ADD.F32 R0.y, R0, R10.z;
  8508. MOV.F R11.w, R13;
  8509. MOV.F R10.z, R27.x;
  8510. MOV.S R18.w, R0.y;
  8511. MUL.F32 R0.y, R10.z, R11.w;
  8512. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8513. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8514. TRUNC.U R11.w, R11;
  8515. TRUNC.U R10.z, R10;
  8516. AND.U.CC HC.x, R10.z, R11.w;
  8517. IF    NE.x;
  8518. ELSE;
  8519. MOV.F R0.y, {0, 0, 0, 0}.x;
  8520. ENDIF;
  8521. MOV.F R10.z, R12;
  8522. SNE.F32 R12.w, R10.z, {0, 0, 0, 0}.x;
  8523. MOV.F R11.w, R27.x;
  8524. ADD.F32 R0.y, R0, R10.x;
  8525. MUL.F32 R10.z, R11.w, R10;
  8526. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8527. TRUNC.U R12.w, R12;
  8528. TRUNC.U R10.x, R11.w;
  8529. AND.U.CC HC.x, R10, R12.w;
  8530. MOV.S R29.x, R0.y;
  8531. IF    NE.x;
  8532. MOV.F R0.y, R10.z;
  8533. ELSE;
  8534. MOV.F R0.y, {0, 0, 0, 0}.x;
  8535. ENDIF;
  8536. MOV.F R10.x, R26;
  8537. ADD.F32 R0.y, R0, R10.x;
  8538. MOV.F R10.z, R23.w;
  8539. MOV.F R10.x, R17.y;
  8540. MOV.S R23.x, R0.y;
  8541. MUL.F32 R0.y, R10.x, R10.z;
  8542. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8543. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  8544. TRUNC.U R10.z, R10;
  8545. TRUNC.U R10.x, R10;
  8546. AND.U.CC HC.x, R10, R10.z;
  8547. IF    NE.x;
  8548. ELSE;
  8549. MOV.F R0.y, {0, 0, 0, 0}.x;
  8550. ENDIF;
  8551. MOV.F R10.z, R10.y;
  8552. MOV.F R10.x, R11.z;
  8553. ADD.F32 R10.x, R0.y, R10;
  8554. MOV.F R10.y, R17;
  8555. MUL.F32 R0.y, R10, R10.z;
  8556. MOV.S R26.y, R10.x;
  8557. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8558. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8559. TRUNC.U R10.y, R10.z;
  8560. TRUNC.U R10.x, R10;
  8561. AND.U.CC HC.x, R10, R10.y;
  8562. IF    NE.x;
  8563. ELSE;
  8564. MOV.F R0.y, {0, 0, 0, 0}.x;
  8565. ENDIF;
  8566. MOV.F R10.x, R19;
  8567. ADD.F32 R10.x, R0.y, R10;
  8568. MOV.F R10.y, R17;
  8569. MOV.F R10.z, R12.x;
  8570. MUL.F32 R0.y, R10, R10.z;
  8571. MOV.S R26.z, R10.x;
  8572. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8573. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8574. TRUNC.U R10.y, R10.z;
  8575. TRUNC.U R10.x, R10;
  8576. AND.U.CC HC.x, R10, R10.y;
  8577. IF    NE.x;
  8578. ELSE;
  8579. MOV.F R0.y, {0, 0, 0, 0}.x;
  8580. ENDIF;
  8581. MOV.F R10.x, R19.y;
  8582. ADD.F32 R10.x, R0.y, R10;
  8583. MOV.F R10.y, R19.z;
  8584. MOV.F R10.z, R13.w;
  8585. MOV.S R26.w, R10.x;
  8586. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8587. MUL.F32 R0.y, R10, R10.z;
  8588. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  8589. TRUNC.U R10.x, R10;
  8590. TRUNC.U R10.y, R10;
  8591. AND.U.CC HC.x, R10, R10.y;
  8592. MOV.S R12.w, c[13].x;
  8593. IF    NE.x;
  8594. ELSE;
  8595. MOV.F R0.y, {0, 0, 0, 0}.x;
  8596. ENDIF;
  8597. MOV.F R10.x, R26.z;
  8598. ADD.F32 R10.x, R0.y, R10;
  8599. MOV.F R10.y, R19.z;
  8600. MOV.F R10.z, R20.x;
  8601. MUL.F32 R0.y, R10, R10.z;
  8602. MOV.S R19.x, R10;
  8603. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8604. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8605. TRUNC.U R10.y, R10.z;
  8606. TRUNC.U R10.x, R10;
  8607. AND.U.CC HC.x, R10, R10.y;
  8608. IF    NE.x;
  8609. ELSE;
  8610. MOV.F R0.y, {0, 0, 0, 0}.x;
  8611. ENDIF;
  8612. MOV.F R10.x, R26.y;
  8613. ADD.F32 R10.x, R0.y, R10;
  8614. MOV.F R10.y, R19.z;
  8615. MOV.F R10.z, R12;
  8616. MUL.F32 R0.y, R10, R10.z;
  8617. MOV.S R19.y, R10.x;
  8618. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8619. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8620. TRUNC.U R10.y, R10.z;
  8621. TRUNC.U R10.x, R10;
  8622. AND.U.CC HC.x, R10, R10.y;
  8623. IF    NE.x;
  8624. ELSE;
  8625. MOV.F R0.y, {0, 0, 0, 0}.x;
  8626. ENDIF;
  8627. MOV.F R10.x, R26.w;
  8628. ADD.F32 R0.y, R0, R10.x;
  8629. MOV.F R10.y, R20.x;
  8630. MOV.F R10.x, R27;
  8631. MOV.S R19.z, R0.y;
  8632. MUL.F32 R0.y, R10.x, R10;
  8633. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8634. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  8635. TRUNC.U R10.y, R10;
  8636. TRUNC.U R10.x, R10;
  8637. AND.U.CC HC.x, R10, R10.y;
  8638. IF    NE.x;
  8639. ELSE;
  8640. MOV.F R0.y, {0, 0, 0, 0}.x;
  8641. ENDIF;
  8642. MOV.F R17.w, R20.y;
  8643. MOV.F R17.xyz, R19;
  8644. MOV.F R21.xyz, R14;
  8645. MOV.F R21.w, R0;
  8646. DP4.F32 R0.w, R21, R17;
  8647. MOV.S R13.x, R0.w;
  8648. MOV.F R0.w, R18;
  8649. ADD.F32 R0.w, R0.y, R0;
  8650. MOV.F R18.w, R16;
  8651. MOV.F R18.xyz, R15;
  8652. DP4.F32 R10.x, R17, R18;
  8653. MOV.S R18.w, R0;
  8654. MOV.F R0.w, c[14].y;
  8655. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8656. TRUNC.U.CC HC.x, R0.w;
  8657. MOV.S R0.y, R10.x;
  8658. MOV.S R12.z, c[13].y;
  8659. MOV.S R20.x, c[13].z;
  8660. IF    NE.x;
  8661. MOV.F R0.w, {1, 0, 0, 0}.x;
  8662. ELSE;
  8663. MOV.F R0.w, {0, 0, 0, 0}.x;
  8664. ENDIF;
  8665. MOV.S R23.y, R0.w;
  8666. MOV.F R10.xyz, R16;
  8667. MOV.F R17.w, R20.y;
  8668. MOV.F R17.xyz, R19;
  8669. DP4.F32 R11.z, R10, R17;
  8670. MOV.F R17.xyz, R14;
  8671. MOV.F R10.y, R18.w;
  8672. MOV.F R10.z, R23.x;
  8673. MOV.F R10.x, R29;
  8674. MOV.F R10.w, {0, 0, 0, 0}.x;
  8675. MOV.F R17.w, {-0, 0, 0, 0}.x;
  8676. DP4.F32 R10.x, R17, R10;
  8677. MOV.S R24.x, R10;
  8678. MOV.F R10.x, c[14].y;
  8679. SGT.F32 R10.x, {0, 0, 0, 0}, R10;
  8680. TRUNC.U.CC HC.x, R10;
  8681. MOV.S R11.z, R11;
  8682. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  8683. IF    NE.x;
  8684. MOV.F R11.w, {1, 0, 0, 0}.x;
  8685. ELSE;
  8686. MOV.F R11.w, {0, 0, 0, 0}.x;
  8687. ENDIF;
  8688. MOV.F R10.xyz, R16;
  8689. MOV.F R17.x, R29;
  8690. MOV.F R17.y, R18.w;
  8691. MOV.F R17.z, R23.x;
  8692. MOV.F R17.w, {0, 0, 0, 0}.x;
  8693. MOV.F R10.w, {-0, 0, 0, 0}.x;
  8694. DP4.F32 R10.x, R10, R17;
  8695. MOV.F R13.z, R23.y;
  8696. ADD.F32 R10.y, R13.z, -R11.w;
  8697. MOV.S R11.w, R10.y;
  8698. MOV.S R24.z, R10.x;
  8699. MOV.F R10.xyz, R15;
  8700. MOV.F R10.w, {-0, 0, 0, 0}.x;
  8701. DP4.F32 R10.x, R10, R17;
  8702. MOV.S R10.y, R11.w;
  8703. MOV.S R24.y, R10.x;
  8704. MOV.F R10.x, R10.y;
  8705. ADD.F32 R10.y, -R10.x, {1, 0, 0, 0}.x;
  8706. MOV.S R29.x, R10.y;
  8707. MOV.F R10.y, c[2].z;
  8708. MOV.S R19.z, R11.w;
  8709. MOV.F R10.z, R14.w;
  8710. MOV.F R10.x, c[14].y;
  8711. DIV.F32 R10.x, R10.z, R10.x;
  8712. MOV.S R21.y, R10.x;
  8713. MOV.F R10.x, R9;
  8714. SNE.F32 R10.z, R10.x, {0, 0, 0, 0}.x;
  8715. TRUNC.U R10.w, R10.z;
  8716. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  8717. MUL.F32 R10.x, R10, R10.y;
  8718. MOV.F R10.z, c[16].x;
  8719. MOV.F R10.y, c[15].x;
  8720. ADD.F32 R10.y, -R10, R10.z;
  8721. TRUNC.U R10.z, R11.w;
  8722. AND.U.CC HC.x, R10.w, R10.z;
  8723. MOV.S R23.z, R10.y;
  8724. IF    NE.x;
  8725. ELSE;
  8726. MOV.F R10.x, {0, 0, 0, 0};
  8727. ENDIF;
  8728. MOV.F R10.y, R21;
  8729. ADD.F32 R10.x, R10, R1
  8730. [07:59:02] Link error in shader. Log:
  8731. [07:59:02] Vertex info
  8732. -----------
  8733. Internal error: assembly compile error for vertex shader at offset 1860:
  8734. -- error message --
  8735. line 39, column 45:  error: invalid vertex attribute reference
  8736. line 54, column 25:  error: invalid vertex attribute reference
  8737. line 56, column 25:  error: invalid vertex attribute reference
  8738. line 62, column 25:  error: invalid vertex attribute reference
  8739. line 65, column 25:  error: invalid vertex attribute reference
  8740. -- internal assembly text --
  8741. !!NVvp5.0
  8742. OPTION NV_internal;
  8743. OPTION NV_bindless_texture;
  8744. # cgc version 3.4.0001, build date Jul  3 2019
  8745. # command line args:
  8746. #vendor NVIDIA Corporation
  8747. #version 3.4.0.1 COP Build Date Jul  3 2019
  8748. #profile gp5vp
  8749. #program main
  8750. #semantic uf_remappedVS
  8751. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  8752. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  8753. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  8754. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  8755. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  8756. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  8757. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  8758. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  8759. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  8760. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  8761. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  8762. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  8763. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  8764. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  8765. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  8766. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  8767. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  8768. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  8769. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 0
  8770. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  8771. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  8772. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  8773. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  8774. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  8775. #var int4 uf_remappedVS[0] :  : c[0], 35 : -1 : 1
  8776. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  8777. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  8778. PARAM c[35] = { program.local[0..34] };
  8779. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  8780. OUTPUT result_attrib[] = { result.attrib[0..4] };
  8781. 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;
  8782. TEMP T;
  8783. TEMP RC;
  8784. SHORT TEMP HC;
  8785. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  8786. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8787. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  8788. OR.U  R0, R0, R1;
  8789. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  8790. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8791. OR.U  R0, R0, R1;
  8792. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  8793. OR.U  R19, R0, R2;
  8794. SHR.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  8795. AND.U R3, R2, {65280, 0, 0, 0}.x;
  8796. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  8797. OR.U  R2, R2, R3;
  8798. MOV.U R0.x, R19.w;
  8799. MOV.F R0.y, c[0].x;
  8800. ADD.F32 R1.x, -R0, R0.y;
  8801. MOV.S R1.y, R1.x;
  8802. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  8803. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8804. OR.U  R0, R2, R0;
  8805. SHL.U R3, vertex.attrib[16], {24, 0, 0, 0}.x;
  8806. OR.U  R5, R0, R3;
  8807. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  8808. AND.U R3, R2, {65280, 0, 0, 0}.x;
  8809. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  8810. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  8811. TRUNC.U R1.x, R1;
  8812. SEQ.U R1.z, R1.x, {1, 0, 0, 0}.x;
  8813. SEQ.U R12.x, -R1.z, {1, 0, 0, 0};
  8814. SHR.U R1.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  8815. AND.U R11.xy, R1.zwzw, {65280, 0, 0, 0}.x;
  8816. SHR.U R1.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  8817. MOV.U.CC RC.x, -R12;
  8818. OR.U  R2, R2, R3;
  8819. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  8820. AND.U R3, R0, {16711680, 0, 0, 0}.x;
  8821. OR.U  R2, R2, R3;
  8822. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  8823. OR.U  R6, R2, R0;
  8824. SHR.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  8825. AND.U R3, R2, {65280, 0, 0, 0}.x;
  8826. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  8827. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  8828. OR.U  R2, R2, R3;
  8829. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8830. OR.U  R0, R2, R0;
  8831. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  8832. OR.U  R7, R0, R3;
  8833. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  8834. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8835. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  8836. OR.U  R0, R0, R2;
  8837. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  8838. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8839. OR.U  R0, R0, R2;
  8840. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  8841. OR.U  R8, R0, R3;
  8842. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  8843. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8844. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  8845. OR.U  R0, R0, R2;
  8846. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  8847. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8848. OR.U  R0, R0, R2;
  8849. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  8850. OR.U  R9, R0, R3;
  8851. SHR.U R0, vertex.attrib[4], {8, 0, 0, 0}.x;
  8852. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8853. SHR.U R0, vertex.attrib[4], {24, 0, 0, 0}.x;
  8854. OR.U  R0, R0, R2;
  8855. SHL.U R3, vertex.attrib[4], {8, 0, 0, 0}.x;
  8856. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8857. OR.U  R0, R0, R2;
  8858. SHL.U R3, vertex.attrib[4], {24, 0, 0, 0}.x;
  8859. OR.U  R16, R0, R3;
  8860. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8861. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8862. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8863. OR.U  R0.xyz, R0, R2;
  8864. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8865. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8866. OR.U  R0.xyz, R0, R2;
  8867. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8868. OR.U  R21.xyz, R0, R3;
  8869. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8870. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8871. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8872. OR.U  R0.xyz, R0, R2;
  8873. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8874. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8875. OR.U  R0.xyz, R0, R2;
  8876. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8877. OR.U  R17.xyz, R0.yxzw, R3.yxzw;
  8878. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8879. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8880. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8881. OR.U  R0.xyz, R0, R2;
  8882. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8883. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8884. OR.U  R0.xyz, R0, R2;
  8885. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8886. OR.U  R20.xyz, R0, R3;
  8887. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  8888. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8889. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  8890. OR.U  R0.xyz, R0, R2;
  8891. SHL.U R3.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  8892. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8893. OR.U  R0.xyz, R0, R2;
  8894. SHL.U R3.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  8895. OR.U  R23.xyz, R0, R3;
  8896. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8897. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8898. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8899. OR.U  R0.xyz, R0, R2;
  8900. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8901. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8902. OR.U  R0.xyz, R0, R2;
  8903. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8904. OR.U  R10.xyz, R0, R3;
  8905. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  8906. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8907. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  8908. OR.U  R0.xyz, R0, R2;
  8909. SHL.U R3.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  8910. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8911. OR.U  R0.xyz, R0, R2;
  8912. SHL.U R3.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  8913. OR.U  R22.xyz, R0, R3;
  8914. OR.U  R1.zw, R1, R11.xyxy;
  8915. SHL.U R11.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  8916. AND.U R11.xy, R11.zwzw, {16711680, 0, 0, 0}.x;
  8917. OR.U  R1.zw, R1, R11.xyxy;
  8918. SHL.U R11.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  8919. OR.U  R24.xy, R1.zwzw, R11.zwzw;
  8920. MOV.S R2, {0, 0, 0, 0}.x;
  8921. MOV.S R4, {0, 0, 0, 0}.x;
  8922. MOV.S R3, {0, 0, 0, 0}.x;
  8923. MOV.S R0, {0, 0, 0, 0}.x;
  8924. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  8925. MOV.S R1.zw, {0, 0, 0, 0};
  8926. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  8927. IF    NE.x;
  8928. MOV.F R2.x, c[1].y;
  8929. MUL.F32 R2.z, R2.x, {5, 0, 0, 0}.x;
  8930. MOV.S R2.xyw, {0, 0, 0, 0}.xyzx;
  8931. MOV.S R2.z, R2;
  8932. MOV.S R19.x, {0, 0, 0, 0};
  8933. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  8934. ENDIF;
  8935. SEQ.U R1.x, R1, {0, 0, 0, 0};
  8936. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  8937. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  8938. MOV.U.CC RC.x, -R1;
  8939. IF    NE.x;
  8940. MOV.S R16.w, {0, 0, 0, 0}.x;
  8941. ENDIF;
  8942. SEQ.S R1.x, R16.w, {0, 0, 0, 0};
  8943. SEQ.U R11.x, -R1, {1, 0, 0, 0};
  8944. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  8945. MOV.U.CC RC.x, -R11.y;
  8946. MOV.U R1.x, -R1;
  8947. MOV.U R11.x, -R11;
  8948. IF    NE.x;
  8949. MOV.F R1.z, R6.w;
  8950. TRUNC.S R1.z, R1;
  8951. I2F.S R1.z, R1;
  8952. MOV.F R11.y, R1;
  8953. SGE.F32 R11.y, R11, R1.z;
  8954. SEQ.U R11.z, R11.x, {1, 0, 0, 0}.x;
  8955. TRUNC.U R11.y, R11;
  8956. SEQ.U R11.x, R11.y, {1, 0, 0, 0};
  8957. AND.U R16.w, -R11.x, -R11.z;
  8958. MOV.S R1.z, R1;
  8959. ELSE;
  8960. MOV.U R16.w, {0, 0, 0, 0}.x;
  8961. ENDIF;
  8962. SEQ.U R11.x, R16.w, {1, 0, 0, 0};
  8963. MOV.U.CC RC.x, -R11;
  8964. IF    NE.x;
  8965. MOV.F R1.w, c[1].y;
  8966. MUL.F32 R1.w, R1, {5, 0, 0, 0}.x;
  8967. MOV.S R2.z, R1.w;
  8968. MOV.S R2.xy, {0, 0, 0, 0};
  8969. MOV.S R19.x, {0, 0, 0, 0};
  8970. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  8971. ENDIF;
  8972. SEQ.U R1.x, R1, {1, 0, 0, 0};
  8973. SEQ.U R11.y, -R1.x, {1, 0, 0, 0}.x;
  8974. MOV.U.CC RC.x, -R11.y;
  8975. MOV.U R11.x, -R1;
  8976. IF    NE.x;
  8977. SEQ.S R1.x, R1.w, {0, 0, 0, 0};
  8978. SEQ.U R11.x, R11, {1, 0, 0, 0};
  8979. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  8980. AND.U R16.w, -R1.x, -R11.x;
  8981. ELSE;
  8982. MOV.U R16.w, {0, 0, 0, 0}.x;
  8983. ENDIF;
  8984. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  8985. MOV.U.CC RC.x, -R1;
  8986. IF    NE.x;
  8987. MOV.F R1.x, c[2];
  8988. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  8989. TRUNC.U.CC HC.x, R1;
  8990. IF    NE.x;
  8991. MOV.F R1.x, {1, 0, 0, 0};
  8992. ELSE;
  8993. MOV.F R1.x, {0, 0, 0, 0};
  8994. ENDIF;
  8995. MOV.F R1.w, R20.x;
  8996. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  8997. MOV.S R14.y, R1.w;
  8998. MOV.F R1.w, c[2].x;
  8999. SGT.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9000. TRUNC.U.CC HC.x, R1.w;
  9001. MOV.S R14.x, R1;
  9002. IF    NE.x;
  9003. MOV.F R1.x, {1, 0, 0, 0};
  9004. ELSE;
  9005. MOV.F R1.x, {0, 0, 0, 0};
  9006. ENDIF;
  9007. MOV.F R1.w, R20.x;
  9008. SNE.F32 R10.w, R1, {0, 0, 0, 0}.x;
  9009. MOV.F R6.w, c[3].y;
  9010. MUL.F32 R1.w, R1, R6;
  9011. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9012. TRUNC.U R10.w, R10;
  9013. TRUNC.U R6.w, R6;
  9014. AND.U.CC HC.x, R10.w, R6.w;
  9015. MOV.S R14.z, R1.x;
  9016. IF    NE.x;
  9017. MOV.F R6.w, R1;
  9018. ELSE;
  9019. MOV.F R6.w, {0, 0, 0, 0}.x;
  9020. ENDIF;
  9021. MOV.F R11.z, R1.y;
  9022. DIV.F32 R1.z, R11, R1.z;
  9023. SNE.F32 R10.w, R1.z, {0, 0, 0, 0}.x;
  9024. MOV.F R1.w, R14.x;
  9025. MOV.F R1.x, R14.z;
  9026. ADD.F32 R1.x, R1, -R1.w;
  9027. ADD.F32 R1.w, -R1.x, {1, 0, 0, 0}.x;
  9028. SNE.F32 R11.y, -R1.x, {-1, 0, 0, 0}.x;
  9029. MUL.F32 R1.w, R1.z, R1;
  9030. MOV.S R11.x, R1;
  9031. MOV.F R1.x, R14.y;
  9032. MIN.F R11.w, R1.x, {0, 0, 0, 0}.x;
  9033. MOV.F R1.x, R17.y;
  9034. ADD.F32 R1.x, R1, R11.w;
  9035. MOV.F R12.x, c[2];
  9036. RCP.F32 R11.w, R12.x;
  9037. MAD.F32 R6.w, R11.z, R11, R6;
  9038. MOV.S R14.y, R6.w;
  9039. MOV.F R11.z, c[5].x;
  9040. MOV.F R6.w, c[4].x;
  9041. ADD.F32 R6.w, -R6, R11.z;
  9042. MOV.F R11.z, c[4].y;
  9043. MOV.F R11.w, c[5].y;
  9044. ADD.F32 R11.w, -R11.z, R11;
  9045. TRUNC.U R10.w, R10;
  9046. TRUNC.U R11.y, R11;
  9047. AND.U.CC HC.x, R10.w, R11.y;
  9048. MOV.S R1.z, R1;
  9049. MOV.S R1.x, R1;
  9050. MOV.S R11.z, R6.w;
  9051. MOV.S R12.z, R11.w;
  9052. IF    NE.x;
  9053. ELSE;
  9054. MOV.F R1.w, {0, 0, 0, 0}.x;
  9055. ENDIF;
  9056. MOV.F R10.w, R11.x;
  9057. MOV.F R6.w, R14.y;
  9058. FRC.F32 R11.y, R6.w;
  9059. SNE.F32 R11.w, R11.y, {0, 0, 0, 0}.x;
  9060. MUL.F32 R6.w, R10, R11.y;
  9061. TRUNC.U R12.y, R11.w;
  9062. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9063. TRUNC.U R10.w, R10;
  9064. AND.U.CC HC.x, R10.w, R12.y;
  9065. MOV.F R11.y, c[6].x;
  9066. MOV.F R11.x, c[5];
  9067. ADD.F32 R11.x, -R11, R11.y;
  9068. MOV.F R11.w, c[5].z;
  9069. MOV.F R11.y, c[4].z;
  9070. ADD.F32 R11.y, -R11, R11.w;
  9071. MOV.F R12.x, c[5].w;
  9072. MOV.F R11.w, c[4];
  9073. ADD.F32 R11.w, -R11, R12.x;
  9074. MOV.S R11.x, R11;
  9075. MOV.S R11.y, R11;
  9076. MOV.S R13.z, R11.w;
  9077. MOV.S R12.x, R1.w;
  9078. IF    NE.x;
  9079. MOV.F R1.w, R6;
  9080. ELSE;
  9081. MOV.F R1.w, {0, 0, 0, 0}.x;
  9082. ENDIF;
  9083. MOV.F R10.w, R12.z;
  9084. MOV.F R11.w, R13.z;
  9085. MOV.F R6.w, R11.z;
  9086. DIV.F32 R11.z, R6.w, R11.w;
  9087. DIV.F32 R10.w, R10, R11.w;
  9088. MOV.F R6.w, R12.x;
  9089. MOV.S R12.x, R10.w;
  9090. MOV.F R10.w, R11.y;
  9091. DIV.F32 R10.w, R10, R11.w;
  9092. MOV.S R1.w, R1;
  9093. ADD.F32 R11.w, R6, R1;
  9094. MOV.F R12.z, c[4].w;
  9095. ADD.F32 R11.y, R11.w, -R12.z;
  9096. SNE.F32 R12.w, R11, R12.z;
  9097. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  9098. MUL.F32 R1.w, R11.y, R10;
  9099. MOV.F R10.w, c[5];
  9100. ADD.F32 R12.y, R11.w, -R10.w;
  9101. MOV.S R14.x, R11.y;
  9102. MOV.S R11.y, R11.w;
  9103. MOV.F R13.y, c[6].w;
  9104. MOV.F R11.w, c[5].z;
  9105. MOV.F R12.z, c[6];
  9106. ADD.F32 R12.z, -R11.w, R12;
  9107. TRUNC.U R11.w, R12;
  9108. TRUNC.U R6.w, R6;
  9109. AND.U.CC HC.x, R11.w, R6.w;
  9110. MOV.F R13.x, c[6].y;
  9111. MOV.F R12.w, c[5].y;
  9112. ADD.F32 R12.w, -R12, R13.x;
  9113. ADD.F32 R10.w, -R10, R13.y;
  9114. MOV.S R11.z, R11;
  9115. MOV.S R12.y, R12;
  9116. MOV.S R12.z, R12;
  9117. MOV.S R12.w, R12;
  9118. MOV.S R13.x, R10.w;
  9119. IF    NE.x;
  9120. ELSE;
  9121. MOV.F R1.w, {0, 0, 0, 0}.x;
  9122. ENDIF;
  9123. MOV.F R11.w, R12.x;
  9124. MOV.F R10.w, R14.x;
  9125. MUL.F32 R6.w, R10, R11;
  9126. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9127. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  9128. TRUNC.U R10.w, R10;
  9129. TRUNC.U R11.w, R11;
  9130. AND.U.CC HC.x, R10.w, R11.w;
  9131. MOV.S R13.y, R1.w;
  9132. IF    NE.x;
  9133. MOV.F R1.w, R6;
  9134. ELSE;
  9135. MOV.F R1.w, {0, 0, 0, 0}.x;
  9136. ENDIF;
  9137. MOV.F R10.w, R14.x;
  9138. MUL.F32 R6.w, R10, R11.z;
  9139. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9140. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  9141. TRUNC.U R10.w, R10;
  9142. TRUNC.U R11.z, R11;
  9143. AND.U.CC HC.x, R10.w, R11.z;
  9144. MOV.S R13.z, R1.w;
  9145. IF    NE.x;
  9146. MOV.F R1.w, R6;
  9147. ELSE;
  9148. MOV.F R1.w, {0, 0, 0, 0}.x;
  9149. ENDIF;
  9150. MOV.F R6.w, R14.x;
  9151. SGE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9152. TRUNC.U.CC HC.x, R6.w;
  9153. MOV.S R13.w, R1;
  9154. IF    NE.x;
  9155. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  9156. ELSE;
  9157. MOV.S R1.w, {0, 0, 0, 0}.x;
  9158. ENDIF;
  9159. MOV.F R10.w, R13;
  9160. MOV.F R6.w, c[4].x;
  9161. ADD.F32 R6.w, R6, R10;
  9162. MOV.F R10.w, R12.y;
  9163. MOV.S R12.x, R6.w;
  9164. SGE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  9165. TRUNC.U.CC HC.x, R6.w;
  9166. IF    NE.x;
  9167. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  9168. ELSE;
  9169. MOV.S R10.w, {0, 0, 0, 0}.x;
  9170. ENDIF;
  9171. MOV.F R11.w, R13.x;
  9172. MOV.F R6.w, R12;
  9173. DIV.F32 R6.w, R6, R11.w;
  9174. DIV.F32 R12.z, R12, R11.w;
  9175. MOV.F R11.z, R13;
  9176. MOV.S R13.z, R6.w;
  9177. MOV.F R6.w, R13.y;
  9178. MOV.F R13.x, c[4].z;
  9179. DIV.F32 R11.w, R11.x, R11.w;
  9180. MOV.F R12.w, R12.y;
  9181. MOV.S R13.y, R12.z;
  9182. SNE.F32 R12.z, R11.w, {0, 0, 0, 0}.x;
  9183. MUL.F32 R11.x, R12.w, R11.w;
  9184. MOV.F R11.w, c[4].y;
  9185. ADD.F32 R11.z, R11.w, R11;
  9186. MOV.S R11.w, R11.z;
  9187. MOV.F R11.z, c[6].w;
  9188. ADD.F32 R11.y, R11, -R11.z;
  9189. ADD.F32 R6.w, R13.x, R6;
  9190. MOV.S R11.z, R6.w;
  9191. MOV.S R13.x, R11.y;
  9192. MOV.F R6.w, R10;
  9193. SNE.F32 R11.y, R12.w, {0, 0, 0, 0}.x;
  9194. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  9195. TRUNC.U R12.z, R12;
  9196. TRUNC.U R11.y, R11;
  9197. AND.U.CC HC.x, R11.y, R12.z;
  9198. MOV.S R6.w, R6;
  9199. IF    NE.x;
  9200. ELSE;
  9201. MOV.F R11.x, {0, 0, 0, 0};
  9202. ENDIF;
  9203. MOV.F R11.y, R13.x;
  9204. SGE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  9205. TRUNC.U.CC HC.x, R11.y;
  9206. MOV.S R14.x, R11;
  9207. IF    NE.x;
  9208. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  9209. ELSE;
  9210. MOV.S R12.z, {0, 0, 0, 0}.x;
  9211. ENDIF;
  9212. MOV.F R12.w, R13.y;
  9213. MOV.F R11.y, R12;
  9214. MUL.F32 R11.x, R11.y, R12.w;
  9215. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  9216. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  9217. TRUNC.U R12.w, R12;
  9218. TRUNC.U R11.y, R11;
  9219. AND.U.CC HC.x, R11.y, R12.w;
  9220. IF    NE.x;
  9221. ELSE;
  9222. MOV.F R11.x, {0, 0, 0, 0};
  9223. ENDIF;
  9224. MOV.F R12.w, R13.z;
  9225. MUL.F32 R11.y, R12, R12.w;
  9226. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9227. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  9228. TRUNC.U R12.y, R12;
  9229. TRUNC.U R12.w, R12;
  9230. AND.U.CC HC.x, R12.y, R12.w;
  9231. MOV.S R14.z, R11.x;
  9232. IF    NE.x;
  9233. MOV.F R11.x, R11.y;
  9234. ELSE;
  9235. MOV.F R11.x, {0, 0, 0, 0};
  9236. ENDIF;
  9237. MOV.F R12.y, R6.w;
  9238. MOV.F R11.y, R1.w;
  9239. MUL.F32 R6.w, R11.y, R12.y;
  9240. MOV.S R14.w, R11.x;
  9241. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  9242. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9243. TRUNC.U R11.y, R12;
  9244. TRUNC.U R11.x, R11;
  9245. AND.U.CC HC.x, R11, R11.y;
  9246. IF    NE.x;
  9247. ELSE;
  9248. MOV.F R6.w, {0, 0, 0, 0}.x;
  9249. ENDIF;
  9250. MOV.F R11.y, R14.z;
  9251. MOV.F R11.x, c[5].z;
  9252. ADD.F32 R11.x, R11, R11.y;
  9253. MOV.S R12.w, R11.x;
  9254. MOV.F R11.x, R12;
  9255. MOV.F R12.x, R14.w;
  9256. MOV.F R11.y, c[5];
  9257. ADD.F32 R11.y, R11, R12.x;
  9258. MOV.S R12.x, R11.y;
  9259. MOV.F R12.y, R14.x;
  9260. MOV.F R11.y, c[5].x;
  9261. ADD.F32 R11.y, R11, R12;
  9262. MOV.S R12.y, R6.w;
  9263. MOV.S R6.w, R12.y;
  9264. MOV.F R13.x, R6.w;
  9265. MUL.F32 R6.w, R11.x, R13.x;
  9266. SNE.F32 R13.y, R11.x, {0, 0, 0, 0}.x;
  9267. MOV.S R17.y, R12;
  9268. MOV.F R12.y, R12.z;
  9269. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9270. ADD.F32 R12.y, -R12, {1, 0, 0, 0}.x;
  9271. TRUNC.U R11.x, R13.y;
  9272. TRUNC.U R13.x, R13;
  9273. AND.U.CC HC.x, R11, R13;
  9274. MOV.S R11.y, R11;
  9275. MOV.S R13.z, R12.y;
  9276. IF    NE.x;
  9277. MOV.F R11.x, R6.w;
  9278. ELSE;
  9279. MOV.F R11.x, {0, 0, 0, 0};
  9280. ENDIF;
  9281. MOV.F R13.x, R12.z;
  9282. MOV.F R12.y, c[6].x;
  9283. MUL.F32 R6.w, R12.y, R13.x;
  9284. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9285. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9286. TRUNC.U R13.x, R13;
  9287. TRUNC.U R12.y, R12;
  9288. AND.U.CC HC.x, R12.y, R13;
  9289. MOV.S R11.x, R11;
  9290. IF    NE.x;
  9291. MOV.F R12.y, R6.w;
  9292. ELSE;
  9293. MOV.F R12.y, {0, 0, 0, 0}.x;
  9294. ENDIF;
  9295. MOV.F R13.x, c[6].y;
  9296. MOV.F R13.y, R12.z;
  9297. MUL.F32 R6.w, R13.x, R13.y;
  9298. MOV.S R15.x, R12.y;
  9299. SNE.F32 R12.y, R13.x, {0, 0, 0, 0}.x;
  9300. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  9301. TRUNC.U R13.x, R13.y;
  9302. TRUNC.U R12.y, R12;
  9303. AND.U.CC HC.x, R12.y, R13;
  9304. IF    NE.x;
  9305. ELSE;
  9306. MOV.F R6.w, {0, 0, 0, 0}.x;
  9307. ENDIF;
  9308. MOV.F R13.x, R13.z;
  9309. MOV.F R12.y, R10.w;
  9310. SNE.F32 R13.y, R13.x, {0, 0, 0, 0}.x;
  9311. MUL.F32 R10.w, R12.y, R13.x;
  9312. SNE.F32 R13.x, R12.y, {0, 0, 0, 0};
  9313. MOV.S R12.y, R6.w;
  9314. TRUNC.U R13.y, R13;
  9315. TRUNC.U R6.w, R13.x;
  9316. AND.U.CC HC.x, R6.w, R13.y;
  9317. IF    NE.x;
  9318. ELSE;
  9319. MOV.F R10.w, {0, 0, 0, 0}.x;
  9320. ENDIF;
  9321. MOV.F R13.x, R12.z;
  9322. MOV.F R12.z, c[6];
  9323. MUL.F32 R6.w, R12.z, R13.x;
  9324. MOV.S R14.z, R10.w;
  9325. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  9326. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9327. TRUNC.U R12.z, R13.x;
  9328. TRUNC.U R10.w, R10;
  9329. AND.U.CC HC.x, R10.w, R12.z;
  9330. IF    NE.x;
  9331. MOV.F R10.w, R6;
  9332. ELSE;
  9333. MOV.F R10.w, {0, 0, 0, 0}.x;
  9334. ENDIF;
  9335. MOV.F R12.z, R17.y;
  9336. MUL.F32 R6.w, R11, R12.z;
  9337. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  9338. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  9339. TRUNC.U R11.w, R11;
  9340. TRUNC.U R12.z, R12;
  9341. AND.U.CC HC.x, R11.w, R12.z;
  9342. MOV.S R17.w, R10;
  9343. IF    NE.x;
  9344. MOV.F R10.w, R6;
  9345. ELSE;
  9346. MOV.F R10.w, {0, 0, 0, 0}.x;
  9347. ENDIF;
  9348. MOV.F R11.w, R12.x;
  9349. MOV.F R12.z, R14;
  9350. MUL.F32 R6.w, R11, R12.z;
  9351. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  9352. TRUNC.U R12.x, R11.w;
  9353. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  9354. TRUNC.U R12.z, R12;
  9355. AND.U.CC HC.x, R12, R12.z;
  9356. MOV.S R11.w, R10;
  9357. IF    NE.x;
  9358. MOV.F R10.w, R6;
  9359. ELSE;
  9360. MOV.F R10.w, {0, 0, 0, 0}.x;
  9361. ENDIF;
  9362. MOV.F R12.x, R14.z;
  9363. MUL.F32 R6.w, R11.y, R12.x;
  9364. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  9365. TRUNC.U R12.z, R12.x;
  9366. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  9367. TRUNC.U R11.y, R11;
  9368. AND.U.CC HC.x, R11.y, R12.z;
  9369. MOV.S R12.x, R10.w;
  9370. IF    NE.x;
  9371. ELSE;
  9372. MOV.F R6.w, {0, 0, 0, 0}.x;
  9373. ENDIF;
  9374. MOV.F R11.y, R11.z;
  9375. MOV.F R12.z, R17.y;
  9376. MUL.F32 R10.w, R11.y, R12.z;
  9377. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  9378. TRUNC.U R11.z, R11.y;
  9379. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  9380. TRUNC.U R12.z, R12;
  9381. AND.U.CC HC.x, R11.z, R12.z;
  9382. MOV.S R11.y, R6.w;
  9383. IF    NE.x;
  9384. MOV.F R6.w, R10;
  9385. ELSE;
  9386. MOV.F R6.w, {0, 0, 0, 0}.x;
  9387. ENDIF;
  9388. MOV.F R12.z, R14;
  9389. MOV.F R11.z, R12.w;
  9390. MUL.F32 R10.w, R11.z, R12.z;
  9391. SNE.F32 R12.w, R12.z, {0, 0, 0, 0}.x;
  9392. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  9393. TRUNC.U R12.z, R11;
  9394. TRUNC.U R12.w, R12;
  9395. AND.U.CC HC.x, R12.z, R12.w;
  9396. MOV.S R11.z, R6.w;
  9397. IF    NE.x;
  9398. MOV.F R6.w, R10;
  9399. ELSE;
  9400. MOV.F R6.w, {0, 0, 0, 0}.x;
  9401. ENDIF;
  9402. MOV.F R10.w, R1;
  9403. ADD.F32 R12.z, -R10.w, {1, 0, 0, 0}.x;
  9404. MOV.F R12.w, c[4].x;
  9405. MOV.S R15.w, R6;
  9406. MUL.F32 R1.w, R12.z, R12;
  9407. MOV.S R6.w, R12.z;
  9408. SNE.F32 R12.z, -R10.w, {-1, 0, 0, 0}.x;
  9409. SNE.F32 R10.w, R12, {0, 0, 0, 0}.x;
  9410. TRUNC.U R12.z, R12;
  9411. TRUNC.U R10.w, R10;
  9412. AND.U.CC HC.x, R10.w, R12.z;
  9413. IF    NE.x;
  9414. ELSE;
  9415. MOV.F R1.w, {0, 0, 0, 0}.x;
  9416. ENDIF;
  9417. MOV.F R12.z, R20.y;
  9418. MOV.F R10.w, R20.x;
  9419. ADD.F32 R10.w, R10, R12.z;
  9420. MOV.F R12.z, c[4];
  9421. MOV.S R14.x, R1.w;
  9422. SNE.F32 R1.w, R12.z, {0, 0, 0, 0}.x;
  9423. MOV.F R12.w, R6;
  9424. MOV.S R17.y, R10.w;
  9425. MUL.F32 R10.w, R12.z, R12;
  9426. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  9427. TRUNC.U R12.z, R12.w;
  9428. TRUNC.U R1.w, R1;
  9429. AND.U.CC HC.x, R1.w, R12.z;
  9430. IF    NE.x;
  9431. ELSE;
  9432. MOV.F R10.w, {0, 0, 0, 0}.x;
  9433. ENDIF;
  9434. MOV.F R12.z, R6.w;
  9435. MOV.F R6.w, c[4].y;
  9436. MUL.F32 R1.w, R6, R12.z;
  9437. MOV.S R15.z, R10.w;
  9438. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  9439. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9440. TRUNC.U R10.w, R10;
  9441. TRUNC.U R6.w, R6;
  9442. AND.U.CC HC.x, R6.w, R10.w;
  9443. IF    NE.x;
  9444. MOV.F R12.z, R1.w;
  9445. ELSE;
  9446. MOV.F R12.z, {0, 0, 0, 0}.x;
  9447. ENDIF;
  9448. MOV.F R6.w, {1, 0, 0, 0}.x;
  9449. DP4.F32 R1.w, R7, R6;
  9450. MOV.S R7.w, R1;
  9451. DP4.F32 R1.w, R6, R9;
  9452. MOV.F R13, R8;
  9453. DP4.F32 R7.x, R6, R13;
  9454. MOV.F R6.y, R14.x;
  9455. MOV.F R6.x, R11;
  9456. ADD.F32 R6.y, R6.x, R6;
  9457. MOV.F R6.x, R11.y;
  9458. ADD.F32 R6.y, R6.x, R6;
  9459. MOV.F R6.x, R15;
  9460. SNE.F32 R6.z, R6.x, -R6.y;
  9461. ADD.F32 R6.x, R6, R6.y;
  9462. MOV.F R6.y, R1.x;
  9463. MUL.F32 R1.x, R6.y, R6;
  9464. MOV.F R6.x, R11.w;
  9465. ADD.F32 R6.x, R6, R12.z;
  9466. TRUNC.U R6.z, R6;
  9467. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9468. MOV.S R14.x, R6;
  9469. TRUNC.U R6.x, R6.y;
  9470. AND.U.CC HC.x, R6, R6.z;
  9471. MOV.S R10.w, R7.x;
  9472. MOV.S R1.w, R1;
  9473. IF    NE.x;
  9474. ELSE;
  9475. MOV.F R1.x, {0, 0, 0, 0};
  9476. ENDIF;
  9477. MOV.F R6.x, R12;
  9478. MOV.F R6.y, R14.x;
  9479. ADD.F32 R6.y, R6.x, R6;
  9480. MOV.F R6.x, R12.y;
  9481. ADD.F32 R6.x, R6, R6.y;
  9482. MOV.S R14.z, R6.x;
  9483. MOV.F R7.x, R20.z;
  9484. MOV.F R6.x, R20;
  9485. ADD.F32 R6.y, R6.x, R7.x;
  9486. MAD.F32 R7.y, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  9487. ADD.F32 R6.x, R6, {-0.5, 0, 0, 0};
  9488. MOV.F R6.y, R15.w;
  9489. MOV.F R6.w, R15.z;
  9490. MOV.F R6.z, R11;
  9491. ADD.F32 R6.z, R6, R6.w;
  9492. ADD.F32 R6.w, R6.y, R6.z;
  9493. MOV.S R6.z, R7.y;
  9494. MOV.F R7.y, R17.w;
  9495. ADD.F32 R6.y, R7, R6.w;
  9496. MOV.S R7.z, R6;
  9497. SNE.F32 R6.w, R7.y, -R6;
  9498. MUL.F32 R7.y, R7.z, {2, 0, 0, 0}.x;
  9499. MOV.F R6.z, R17;
  9500. MOV.F R7.z, R20.y;
  9501. ADD.F32 R7.x, R7, R7.z;
  9502. MUL.F32 R6.y, R6.z, R6;
  9503. MOV.S R13.y, R7;
  9504. MOV.F R7.y, R17;
  9505. MAD.F32 R7.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  9506. MOV.S R9.x, R6;
  9507. ADD.F32 R6.x, R7.z, {-0.5, 0, 0, 0};
  9508. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9509. MOV.S R7.y, R7;
  9510. MAD.F32 R8.x, R7, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  9511. MOV.S R7.x, R7.y;
  9512. MUL.F32 R7.x, R7, {2, 0, 0, 0};
  9513. TRUNC.U R6.w, R6;
  9514. TRUNC.U R6.z, R6;
  9515. AND.U.CC HC.x, R6.z, R6.w;
  9516. MOV.S R7.y, R8.x;
  9517. MOV.S R15.w, R7.x;
  9518. MUL.F32 R7.x, R7.y, {2, 0, 0, 0};
  9519. MOV.S R17.w, R7.x;
  9520. MOV.S R6.x, R6;
  9521. MOV.S R9.y, R1.x;
  9522. IF    NE.x;
  9523. MOV.F R1.x, R6.y;
  9524. ELSE;
  9525. MOV.F R1.x, {0, 0, 0, 0};
  9526. ENDIF;
  9527. MOV.F R6.w, R14.z;
  9528. MOV.F R6.z, R17.x;
  9529. MUL.F32 R6.y, R6.z, R6.w;
  9530. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9531. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9532. TRUNC.U R6.w, R6;
  9533. TRUNC.U R6.z, R6;
  9534. AND.U.CC HC.x, R6.z, R6.w;
  9535. MOV.S R17.z, R1.x;
  9536. IF    NE.x;
  9537. MOV.F R1.x, R6.y;
  9538. ELSE;
  9539. MOV.F R1.x, {0, 0, 0, 0};
  9540. ENDIF;
  9541. MOV.F R6.z, R13.y;
  9542. MOV.F R6.w, c[7].z;
  9543. MUL.F32 R6.y, R6.z, R6.w;
  9544. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  9545. MOV.F R6.z, R20;
  9546. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  9547. TRUNC.U R7.x, R7;
  9548. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9549. MOV.S R8.z, R6;
  9550. TRUNC.U R6.z, R6.w;
  9551. AND.U.CC HC.x, R7, R6.z;
  9552. MOV.S R9.w, R1.x;
  9553. IF    NE.x;
  9554. MOV.F R1.x, R6.y;
  9555. ELSE;
  9556. MOV.F R1.x, {0, 0, 0, 0};
  9557. ENDIF;
  9558. MOV.F R6.w, c[7].x;
  9559. MOV.F R6.z, R15.w;
  9560. MUL.F32 R6.y, R6.z, R6.w;
  9561. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9562. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9563. TRUNC.U R6.z, R6;
  9564. TRUNC.U R6.w, R6;
  9565. AND.U.CC HC.x, R6.z, R6.w;
  9566. MOV.S R14.x, R1;
  9567. IF    NE.x;
  9568. MOV.F R1.x, R6.y;
  9569. ELSE;
  9570. MOV.F R1.x, {0, 0, 0, 0};
  9571. ENDIF;
  9572. MOV.F R6.z, R17.w;
  9573. MOV.F R6.w, c[7].y;
  9574. MUL.F32 R6.y, R6.z, R6.w;
  9575. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  9576. MOV.F R6.z, R20.y;
  9577. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  9578. TRUNC.U R7.x, R7;
  9579. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9580. MOV.S R14.z, R6;
  9581. TRUNC.U R6.z, R6.w;
  9582. AND.U.CC HC.x, R7, R6.z;
  9583. MOV.S R14.y, R1.x;
  9584. IF    NE.x;
  9585. MOV.F R1.x, R6.y;
  9586. ELSE;
  9587. MOV.F R1.x, {0, 0, 0, 0};
  9588. ENDIF;
  9589. MOV.F R6.z, R14.x;
  9590. MOV.F R6.y, c[8].z;
  9591. ADD.F32 R6.y, R6, R6.z;
  9592. MOV.S R8.y, R6;
  9593. MOV.F R6.z, c[8].x;
  9594. MOV.F R6.y, R14;
  9595. ADD.F32 R6.y, R6, R6.z;
  9596. MOV.F R6.z, R14;
  9597. MOV.S R8.x, R6.y;
  9598. FLR.F R6.y, R6.z;
  9599. MOV.S R6.y, R6;
  9600. MOV.F R6.z, R6.y;
  9601. SGT.F32 R6.w, R6.z, {0, 0, 0, 0}.x;
  9602. MOV.F R6.z, c[8].y;
  9603. ADD.F32 R1.x, R6.z, R1;
  9604. MOV.S R13.w, R6.y;
  9605. MOV.F R6.y, R20.z;
  9606. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  9607. FLR.F R6.y, R6;
  9608. TRUNC.U.CC HC.x, R6.w;
  9609. MOV.S R6.z, R6.y;
  9610. MOV.S R7.z, R1.x;
  9611. IF    NE.x;
  9612. MOV.F R1.x, {1, 0, 0, 0};
  9613. ELSE;
  9614. MOV.F R1.x, {0, 0, 0, 0};
  9615. ENDIF;
  9616. MOV.F R6.y, R13.w;
  9617. SGT.F32 R7.x, {0, 0, 0, 0}, R6.y;
  9618. TRUNC.U.CC HC.x, R7;
  9619. MOV.S R17.y, R1.x;
  9620. AND.S R6.w, c[9].x, {65536, 0, 0, 0}.x;
  9621. AND.S R6.y, c[9].x, {262144, 0, 0, 0}.x;
  9622. AND.S R9.z, c[9].x, {131072, 0, 0, 0}.x;
  9623. IF    NE.x;
  9624. MOV.F R1.x, {1, 0, 0, 0};
  9625. ELSE;
  9626. MOV.F R1.x, {0, 0, 0, 0};
  9627. ENDIF;
  9628. MOV.S R17.x, R1;
  9629. ENDIF;
  9630. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  9631. MOV.U.CC RC.x, -R1;
  9632. IF    NE.x;
  9633. MOV.F R7.y, c[10];
  9634. MOV.F R7.x, R17;
  9635. MOV.F R1.x, R17.y;
  9636. ADD.F32 R1.x, R1, -R7;
  9637. MOV.S R15.x, R1;
  9638. MOV.F R1.x, R9.y;
  9639. MUL.F32 R7.x, R1, R7.y;
  9640. SNE.F32 R9.y, R7, {0, 0, 0, 0}.x;
  9641. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  9642. TRUNC.U R7.y, R1.x;
  9643. TRUNC.U R9.y, R9;
  9644. AND.U.CC HC.x, R7.y, R9.y;
  9645. MOV.S R1.x, R17.z;
  9646. IF    NE.x;
  9647. ELSE;
  9648. MOV.F R7.x, {0, 0, 0, 0};
  9649. ENDIF;
  9650. MOV.F R9.y, R9.w;
  9651. MOV.F R11.x, c[10].z;
  9652. MUL.F32 R7.y, R9, R11.x;
  9653. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  9654. TRUNC.U R9.w, R9.y;
  9655. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  9656. TRUNC.U R11.x, R11;
  9657. AND.U.CC HC.x, R9.w, R11;
  9658. MOV.S R9.y, R7.x;
  9659. IF    NE.x;
  9660. MOV.F R7.x, R7.y;
  9661. ELSE;
  9662. MOV.F R7.x, {0, 0, 0, 0};
  9663. ENDIF;
  9664. MOV.F R7.y, R1.x;
  9665. MOV.F R9.w, c[10];
  9666. MUL.F32 R1.x, R7.y, R9.w;
  9667. MOV.S R17.z, R7.x;
  9668. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  9669. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  9670. TRUNC.U R7.y, R9.w;
  9671. TRUNC.U R7.x, R7;
  9672. AND.U.CC HC.x, R7, R7.y;
  9673. IF    NE.x;
  9674. ELSE;
  9675. MOV.F R1.x, {0, 0, 0, 0};
  9676. ENDIF;
  9677. I2F.S R7.x, R6.w;
  9678. MOV.S R1.x, R1;
  9679. MOV.S R6.w, R1.x;
  9680. MOV.S R1.x, R7;
  9681. MOV.F R7.y, R6.w;
  9682. MOV.F R7.x, R21.z;
  9683. MUL.F32 R6.w, R7.x, R7.y;
  9684. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  9685. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  9686. TRUNC.U R7.y, R7;
  9687. TRUNC.U R7.x, R7;
  9688. AND.U.CC HC.x, R7, R7.y;
  9689. IF    NE.x;
  9690. ELSE;
  9691. MOV.F R6.w, {0, 0, 0, 0}.x;
  9692. ENDIF;
  9693. MOV.F R7.x, R1;
  9694. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  9695. TRUNC.U.CC HC.x, R7;
  9696. MOV.S R17.x, R6.w;
  9697. IF    NE.x;
  9698. MOV.F R6.w, {1, 0, 0, 0}.x;
  9699. ELSE;
  9700. MOV.F R6.w, {0, 0, 0, 0}.x;
  9701. ENDIF;
  9702. MOV.F R7.x, R1;
  9703. MOV.F R1.x, R6.w;
  9704. SGT.F32 R6.w, {0, 0, 0, 0}.x, R7.x;
  9705. TRUNC.U.CC HC.x, R6.w;
  9706. MOV.S R13.y, R1.x;
  9707. IF    NE.x;
  9708. MOV.F R1.x, {1, 0, 0, 0};
  9709. ELSE;
  9710. MOV.F R1.x, {0, 0, 0, 0};
  9711. ENDIF;
  9712. MOV.F R6.w, R6.z;
  9713. SGT.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9714. TRUNC.U.CC HC.x, R6.w;
  9715. MOV.S R13.z, R1.x;
  9716. IF    NE.x;
  9717. MOV.F R1.x, {1, 0, 0, 0};
  9718. ELSE;
  9719. MOV.F R1.x, {0, 0, 0, 0};
  9720. ENDIF;
  9721. I2F.S R7.x, R9.z;
  9722. MOV.S R6.w, R7.x;
  9723. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  9724. TRUNC.U.CC HC.x, R7;
  9725. MOV.S R15.w, R1.x;
  9726. IF    NE.x;
  9727. MOV.F R1.x, {1, 0, 0, 0};
  9728. ELSE;
  9729. MOV.F R1.x, {0, 0, 0, 0};
  9730. ENDIF;
  9731. SGT.F32 R6.w, {0, 0, 0, 0}.x, R6;
  9732. TRUNC.U.CC HC.x, R6.w;
  9733. MOV.S R14.x, R1;
  9734. IF    NE.x;
  9735. MOV.F R1.x, {1, 0, 0, 0};
  9736. ELSE;
  9737. MOV.F R1.x, {0, 0, 0, 0};
  9738. ENDIF;
  9739. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  9740. TRUNC.U.CC HC.x, R6.z;
  9741. MOV.S R14.y, R1.x;
  9742. IF    NE.x;
  9743. MOV.F R6.z, {1, 0, 0, 0}.x;
  9744. ELSE;
  9745. MOV.F R6.z, {0, 0, 0, 0}.x;
  9746. ENDIF;
  9747. MOV.F R6.w, R13.z;
  9748. MOV.F R1.x, R13.y;
  9749. ADD.F32 R1.x, R1, -R6.w;
  9750. I2F.S R6.w, R6.y;
  9751. MOV.F R6.y, R6.z;
  9752. MOV.S R14.w, R1.x;
  9753. SGT.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  9754. TRUNC.U.CC HC.x, R6.z;
  9755. MOV.S R1.x, R6.w;
  9756. MOV.S R14.z, R6.y;
  9757. IF    NE.x;
  9758. MOV.F R6.y, {1, 0, 0, 0}.x;
  9759. ELSE;
  9760. MOV.F R6.y, {0, 0, 0, 0}.x;
  9761. ENDIF;
  9762. MOV.F R6.z, R1.x;
  9763. MOV.F R1.x, R6.y;
  9764. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6.z;
  9765. TRUNC.U.CC HC.x, R6.y;
  9766. MOV.S R13.x, R1;
  9767. IF    NE.x;
  9768. MOV.F R1.x, {1, 0, 0, 0};
  9769. ELSE;
  9770. MOV.F R1.x, {0, 0, 0, 0};
  9771. ENDIF;
  9772. MOV.F R6.z, R14.y;
  9773. MOV.F R6.y, R14.x;
  9774. ADD.F32 R6.y, R6, -R6.z;
  9775. MOV.S R13.z, R6.y;
  9776. MOV.F R6.y, R14.w;
  9777. TRUNC.S R6.y, R6;
  9778. MOV.F R6.w, R14.z;
  9779. MOV.F R6.z, R15.w;
  9780. ADD.F32 R6.z, R6, -R6.w;
  9781. MOV.S R15.w, R6.z;
  9782. MOV.F R6.z, R13.x;
  9783. ADD.F32 R1.x, R6.z, -R1;
  9784. MOV.S R14.y, R1.x;
  9785. MOV.F R1.x, R9;
  9786. MOV.F R6.z, c[11].x;
  9787. MOV.S R11.z, R6.y;
  9788. ADD.S R14.x, -R6.y, {0, 0, 0, 0};
  9789. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  9790. TRUNC.U R6.w, R6.y;
  9791. MUL.F32 R1.x, R1, R6.z;
  9792. MOV.F R6.y, R20.x;
  9793. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9794. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  9795. TRUNC.U R6.z, R6;
  9796. AND.U.CC HC.x, R6.w, R6.z;
  9797. MOV.S R14.z, R6.y;
  9798. IF    NE.x;
  9799. ELSE;
  9800. MOV.F R1.x, {0, 0, 0, 0};
  9801. ENDIF;
  9802. MOV.F R6.y, R13.z;
  9803. TRUNC.S R6.y, R6;
  9804. MOV.F R6.z, R14;
  9805. FLR.F R6.z, R6;
  9806. MOV.S R13.z, R6;
  9807. MOV.F R6.z, c[11].y;
  9808. MOV.S R12.y, R6;
  9809. ADD.S R13.y, -R6, {0, 0, 0, 0}.x;
  9810. MOV.F R6.y, R6.x;
  9811. MUL.F32 R6.x, R6.y, R6.z;
  9812. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9813. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9814. TRUNC.U R6.y, R6;
  9815. TRUNC.U R6.z, R6;
  9816. AND.U.CC HC.x, R6.y, R6.z;
  9817. MAX.S R13.x, R14, R11.z;
  9818. MOV.S R17.w, R1.x;
  9819. IF    NE.x;
  9820. MOV.F R1.x, R6;
  9821. ELSE;
  9822. MOV.F R1.x, {0, 0, 0, 0};
  9823. ENDIF;
  9824. MOV.F R6.x, R14.y;
  9825. TRUNC.S R12.x, R6;
  9826. MOV.F R6.x, R13.z;
  9827. SGT.F32 R6.x, R6, {0, 0, 0, 0};
  9828. TRUNC.U.CC HC.x, R6;
  9829. ADD.S R14.x, -R12, {0, 0, 0, 0};
  9830. MOV.S R11.w, R1.x;
  9831. IF    NE.x;
  9832. MOV.F R1.x, {1, 0, 0, 0};
  9833. ELSE;
  9834. MOV.F R1.x, {0, 0, 0, 0};
  9835. ENDIF;
  9836. MOV.F R6.x, R13.z;
  9837. SGT.F32 R6.x, {0, 0, 0, 0}, R6;
  9838. TRUNC.U.CC HC.x, R6;
  9839. MOV.S R14.y, R1.x;
  9840. IF    NE.x;
  9841. MOV.F R1.x, {1, 0, 0, 0};
  9842. ELSE;
  9843. MOV.F R1.x, {0, 0, 0, 0};
  9844. ENDIF;
  9845. I2F.S R6.x, R13;
  9846. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  9847. MOV.F R7.x, R15;
  9848. MOV.F R6.w, R14.y;
  9849. ADD.F32 R1.x, R6.w, -R1;
  9850. MOV.S R6.x, R12;
  9851. MOV.S R12.x, R1;
  9852. SNE.F32 R1.x, -R6.z, {0, 0, 0, 0};
  9853. MUL.F32 R6.y, -R6.z, R7.x;
  9854. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  9855. TRUNC.U R6.z, R6.w;
  9856. TRUNC.U R1.x, R1;
  9857. AND.U.CC HC.x, R1, R6.z;
  9858. MAX.S R14.w, R12.y, R13.y;
  9859. IF    NE.x;
  9860. MOV.F R1.x, R6.y;
  9861. ELSE;
  9862. MOV.F R1.x, {0, 0, 0, 0};
  9863. ENDIF;
  9864. MOV.F R6.z, c[11];
  9865. MOV.F R6.y, R8.z;
  9866. MAX.S R13.z, R6.x, R14.x;
  9867. MUL.F32 R6.x, R6.y, R6.z;
  9868. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9869. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9870. TRUNC.U R6.y, R6;
  9871. TRUNC.U R6.z, R6;
  9872. AND.U.CC HC.x, R6.y, R6.z;
  9873. MOV.S R13.y, R1.x;
  9874. IF    NE.x;
  9875. MOV.F R1.x, R6;
  9876. ELSE;
  9877. MOV.F R1.x, {0, 0, 0, 0};
  9878. ENDIF;
  9879. I2F.S R6.x, R14.w;
  9880. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  9881. MOV.F R6.z, R15.w;
  9882. MUL.F32 R6.x, -R6.y, R6.z;
  9883. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  9884. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9885. TRUNC.U R6.y, R6;
  9886. TRUNC.U R6.z, R6;
  9887. AND.U.CC HC.x, R6.y, R6.z;
  9888. MOV.S R12.w, R1.x;
  9889. IF    NE.x;
  9890. MOV.F R1.x, R6;
  9891. ELSE;
  9892. MOV.F R1.x, {0, 0, 0, 0};
  9893. ENDIF;
  9894. MOV.F R6.z, R13.y;
  9895. MOV.F R6.y, R8.x;
  9896. MUL.F32 R6.x, R6.y, R6.z;
  9897. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9898. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9899. TRUNC.U R6.y, R6;
  9900. TRUNC.U R6.z, R6;
  9901. AND.U.CC HC.x, R6.y, R6.z;
  9902. MOV.S R14.x, R1;
  9903. IF    NE.x;
  9904. MOV.F R1.x, R6;
  9905. ELSE;
  9906. MOV.F R1.x, {0, 0, 0, 0};
  9907. ENDIF;
  9908. MOV.F R6.z, R13.y;
  9909. MOV.F R6.y, R23.x;
  9910. MUL.F32 R6.x, R6.y, R6.z;
  9911. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9912. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9913. TRUNC.U R6.z, R6;
  9914. TRUNC.U R6.y, R6;
  9915. AND.U.CC HC.x, R6.y, R6.z;
  9916. MOV.S R14.y, R1.x;
  9917. IF    NE.x;
  9918. MOV.F R1.x, R6;
  9919. ELSE;
  9920. MOV.F R1.x, {0, 0, 0, 0};
  9921. ENDIF;
  9922. MOV.F R6.x, c[8].w;
  9923. SEQ.F R6.x, R6, {1, 0, 0, 0};
  9924. TRUNC.U.CC HC.x, R6;
  9925. MOV.S R14.z, R1.x;
  9926. IF    NE.x;
  9927. MOV.S R1.x, {-1, 0, 0, 0};
  9928. ELSE;
  9929. MOV.S R1.x, {0, 0, 0, 0};
  9930. ENDIF;
  9931. I2F.S R6.x, R13.z;
  9932. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  9933. MOV.F R6.z, R12.x;
  9934. MUL.F32 R6.x, -R6.y, R6.z;
  9935. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9936. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  9937. TRUNC.U R6.z, R6;
  9938. TRUNC.U R6.y, R6;
  9939. AND.U.CC HC.x, R6.y, R6.z;
  9940. IF    NE.x;
  9941. ELSE;
  9942. MOV.F R6.x, {0, 0, 0, 0};
  9943. ENDIF;
  9944. MOV.F R6.w, R7.z;
  9945. MOV.F R6.y, R23.x;
  9946. MOV.F R6.z, R14;
  9947. ADD.F32 R6.z, R6.y, R6;
  9948. MOV.F R7.x, R14;
  9949. MOV.S R13.y, R6.z;
  9950. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  9951. MUL.F32 R6.y, R6.w, R7.x;
  9952. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  9953. TRUNC.U R6.z, R6;
  9954. TRUNC.U R6.w, R6;
  9955. AND.U.CC HC.x, R6.z, R6.w;
  9956. MOV.S R13.x, R6;
  9957. IF    NE.x;
  9958. MOV.F R6.x, R6.y;
  9959. ELSE;
  9960. MOV.F R6.x, {0, 0, 0, 0};
  9961. ENDIF;
  9962. MOV.F R6.z, R14.y;
  9963. MOV.F R6.y, R8.x;
  9964. ADD.F32 R6.y, R6, R6.z;
  9965. MOV.F R6.w, R14.x;
  9966. MOV.F R6.z, R23.y;
  9967. MOV.S R9.w, R6.y;
  9968. MUL.F32 R6.y, R6.z, R6.w;
  9969. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9970. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9971. TRUNC.U R6.w, R6;
  9972. TRUNC.U R6.z, R6;
  9973. AND.U.CC HC.x, R6.z, R6.w;
  9974. MOV.S R13.z, R6.x;
  9975. IF    NE.x;
  9976. MOV.F R6.x, R6.y;
  9977. ELSE;
  9978. MOV.F R6.x, {0, 0, 0, 0};
  9979. ENDIF;
  9980. MOV.F R6.z, R17.w;
  9981. MOV.F R6.y, R13;
  9982. ADD.F32 R6.y, R6, R6.z;
  9983. MOV.F R6.w, R13.z;
  9984. MOV.F R6.z, R7;
  9985. ADD.F32 R6.z, R6, R6.w;
  9986. MOV.S R15.z, R6;
  9987. MOV.F R6.w, R13.x;
  9988. MOV.F R6.z, R8.y;
  9989. MOV.S R17.y, R6;
  9990. MUL.F32 R6.y, R6.z, R6.w;
  9991. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9992. TRUNC.U R7.x, R6.z;
  9993. MOV.F R6.z, R23.y;
  9994. ADD.F32 R6.x, R6.z, R6;
  9995. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  9996. TRUNC.U R6.z, R6.w;
  9997. AND.U.CC HC.x, R7, R6.z;
  9998. MOV.S R14.x, R6;
  9999. IF    NE.x;
  10000. MOV.F R6.x, R6.y;
  10001. ELSE;
  10002. MOV.F R6.x, {0, 0, 0, 0};
  10003. ENDIF;
  10004. MOV.F R6.w, R13.x;
  10005. MOV.F R6.z, R23;
  10006. MUL.F32 R6.y, R6.z, R6.w;
  10007. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  10008. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10009. TRUNC.U R6.w, R6;
  10010. TRUNC.U R6.z, R6;
  10011. AND.U.CC HC.x, R6.z, R6.w;
  10012. MOV.S R14.w, R6.x;
  10013. IF    NE.x;
  10014. MOV.F R6.x, R6.y;
  10015. ELSE;
  10016. MOV.F R6.x, {0, 0, 0, 0};
  10017. ENDIF;
  10018. MOV.F R6.z, R14.w;
  10019. MOV.F R6.y, R8;
  10020. ADD.F32 R6.w, R6.y, R6.z;
  10021. MOV.F R6.z, R11.w;
  10022. MOV.F R6.y, R14.x;
  10023. ADD.F32 R6.y, R6, R6.z;
  10024. MOV.S R12.x, R6.y;
  10025. MOV.F R6.z, R23;
  10026. ADD.F32 R6.z, R6, R6.x;
  10027. MOV.F R6.y, c[8].w;
  10028. MOV.S R12.y, R6.w;
  10029. MAX.F R6.w, R6.y, {0, 0, 0, 0}.x;
  10030. LG2.F32 R6.x, R6.w;
  10031. MOV.S R13.w, R6.z;
  10032. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  10033. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  10034. SEQ.F R6.z, R6.x, R6;
  10035. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  10036. TRUNC.U R6.w, R6;
  10037. TRUNC.U R6.z, R6;
  10038. AND.U R6.z, R6, R6.w;
  10039. SEQ.U R6.z, R6, {1, 0, 0, 0}.x;
  10040. MOV.U.CC RC.x, -R6.z;
  10041. MOV.S R13.z, R6.y;
  10042. IF    NE.x;
  10043. MOV.F R6.x, {-3.40282347e+38, 0, 0, 0};
  10044. ENDIF;
  10045. MOV.F R6.z, R12.w;
  10046. MOV.F R6.y, R13.w;
  10047. ADD.F32 R6.y, R6, R6.z;
  10048. MOV.F R6.z, R1.y;
  10049. MOV.S R11.y, R6;
  10050. MUL.F32 R6.y, R6.z, R6.x;
  10051. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  10052. SNE.F32 R6.x, R6.z, {0, 0, 0, 0};
  10053. TRUNC.U R6.z, R6.w;
  10054. TRUNC.U R6.x, R6;
  10055. AND.U.CC HC.x, R6, R6.z;
  10056. IF    NE.x;
  10057. MOV.F R6.x, R6.y;
  10058. ELSE;
  10059. MOV.F R6.x, {0, 0, 0, 0};
  10060. ENDIF;
  10061. MOV.S R6.x, R6;
  10062. MOV.F R6.y, R13.z;
  10063. SEQ.S R1.x, R1, {0, 0, 0, 0};
  10064. MOV.U.CC RC.x, -R1;
  10065. RCP.F32 R6.y, R6.y;
  10066. EX2.F32 R6.x, R6.x;
  10067. MAD.F32 R6.x, -R6, R6.y, R6.y;
  10068. MOV.S R13.y, R6.x;
  10069. IF    NE.x;
  10070. MOV.S R1.x, R13.y;
  10071. ELSE;
  10072. MOV.S R1.x, R1.y;
  10073. ENDIF;
  10074. MOV.F R6.y, R1.x;
  10075. MOV.F R6.x, R12.y;
  10076. MUL.F32 R1.y, R6.x, R6;
  10077. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10078. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10079. TRUNC.U R6.y, R6;
  10080. TRUNC.U R6.x, R6;
  10081. AND.U.CC HC.x, R6, R6.y;
  10082. IF    NE.x;
  10083. ELSE;
  10084. MOV.F R1.y, {0, 0, 0, 0}.x;
  10085. ENDIF;
  10086. MOV.F R6.z, R1.x;
  10087. MOV.F R6.y, R15.z;
  10088. MUL.F32 R6.x, R6.y, R6.z;
  10089. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10090. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10091. TRUNC.U R6.y, R6;
  10092. TRUNC.U R6.z, R6;
  10093. AND.U.CC HC.x, R6.y, R6.z;
  10094. MOV.S R13.y, R1;
  10095. IF    NE.x;
  10096. MOV.F R1.y, R6.x;
  10097. ELSE;
  10098. MOV.F R1.y, {0, 0, 0, 0}.x;
  10099. ENDIF;
  10100. MOV.F R6.y, R1.x;
  10101. MOV.F R6.x, R9.w;
  10102. MUL.F32 R1.x, R6, R6.y;
  10103. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10104. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10105. TRUNC.U R6.x, R6;
  10106. TRUNC.U R6.y, R6;
  10107. AND.U.CC HC.x, R6, R6.y;
  10108. MOV.S R13.z, R1.y;
  10109. IF    NE.x;
  10110. ELSE;
  10111. MOV.F R1.x, {0, 0, 0, 0};
  10112. ENDIF;
  10113. MOV.F R6.x, R13.z;
  10114. MOV.F R1.y, R12.x;
  10115. ADD.F32 R1.y, R1, R6.x;
  10116. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10117. FRC.F32 R6.x, R1.y;
  10118. MOV.F R1.y, R17;
  10119. ADD.F32 R1.x, R1.y, R1;
  10120. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  10121. MUL.F32 R1.y, R6.x, {0.159154937, 0, 0, 0}.x;
  10122. SIN.F32 R6.x, R6.x;
  10123. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  10124. MOV.S R12.x, R1.y;
  10125. FRC.F32 R1.x, R1;
  10126. MAD.F32 R1.x, R1, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  10127. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  10128. MOV.F R6.y, R13;
  10129. MOV.F R1.y, R11;
  10130. ADD.F32 R1.y, R1, R6;
  10131. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10132. FRC.F32 R1.y, R1;
  10133. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10134. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  10135. MOV.S R1.x, R1;
  10136. MOV.S R11.y, R1;
  10137. MUL.F32 R1.y, R1.x, {6.28318548, 0, 0, 0}.x;
  10138. COS.F32 R6.y, R1.y;
  10139. SIN.F32 R1.y, R1.y;
  10140. MOV.S R12.y, R1;
  10141. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  10142. MOV.S R15.w, R6.x;
  10143. MUL.F32 R1.x, R6, R6.y;
  10144. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10145. TRUNC.U R6.x, R6;
  10146. TRUNC.U R1.y, R1;
  10147. AND.U.CC HC.x, R1.y, R6;
  10148. MOV.S R15.x, R6.y;
  10149. MOV.S R6.zw, {1065353216, 0, 0, 0}.x;
  10150. IF    NE.x;
  10151. ELSE;
  10152. MOV.F R1.x, {0, 0, 0, 0};
  10153. ENDIF;
  10154. MOV.F R6.y, R15.w;
  10155. MOV.F R6.x, R12.y;
  10156. MUL.F32 R1.y, R6.x, R6;
  10157. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10158. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10159. TRUNC.U R6.x, R6;
  10160. TRUNC.U R6.y, R6;
  10161. AND.U.CC HC.x, R6, R6.y;
  10162. MOV.S R11.z, R1.x;
  10163. IF    NE.x;
  10164. MOV.F R1.x, R1.y;
  10165. ELSE;
  10166. MOV.F R1.x, {0, 0, 0, 0};
  10167. ENDIF;
  10168. MOV.F R1.y, R12.x;
  10169. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10170. COS.F32 R6.x, R1.y;
  10171. MOV.F R6.y, R15.x;
  10172. MUL.F32 R1.y, R6.x, R6;
  10173. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10174. SNE.F32 R7.x, R6, {0, 0, 0, 0};
  10175. MOV.S R15.z, R6.x;
  10176. TRUNC.U R6.x, R6.y;
  10177. TRUNC.U R6.y, R7.x;
  10178. AND.U.CC HC.x, R6, R6.y;
  10179. MOV.S R12.w, R1.x;
  10180. IF    NE.x;
  10181. MOV.F R1.x, R1.y;
  10182. ELSE;
  10183. MOV.F R1.x, {0, 0, 0, 0};
  10184. ENDIF;
  10185. MOV.F R6.y, R15.z;
  10186. MOV.F R6.x, R12.y;
  10187. MUL.F32 R1.y, R6.x, R6;
  10188. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10189. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10190. TRUNC.U R6.x, R6;
  10191. TRUNC.U R6.y, R6;
  10192. AND.U.CC HC.x, R6, R6.y;
  10193. MOV.S R11.x, R1;
  10194. IF    NE.x;
  10195. MOV.F R1.x, R1.y;
  10196. ELSE;
  10197. MOV.F R1.x, {0, 0, 0, 0};
  10198. ENDIF;
  10199. MOV.F R1.y, R11;
  10200. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10201. SIN.F32 R6.x, R1.y;
  10202. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  10203. MOV.S R15.y, R6.x;
  10204. MUL.F32 R1.y, R1.x, R6.x;
  10205. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10206. TRUNC.U R6.x, R6;
  10207. TRUNC.U R6.y, R6;
  10208. AND.U.CC HC.x, R6, R6.y;
  10209. MOV.S R17.y, R1.x;
  10210. IF    NE.x;
  10211. MOV.F R1.x, R1.y;
  10212. ELSE;
  10213. MOV.F R1.x, {0, 0, 0, 0};
  10214. ENDIF;
  10215. MOV.F R6.x, R15.y;
  10216. MOV.F R6.y, -R6.x;
  10217. MOV.F R7.x, R11;
  10218. MUL.F32 R1.y, R6.x, R7.x;
  10219. MOV.S R8.y, R6;
  10220. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10221. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  10222. TRUNC.U R6.x, R6;
  10223. TRUNC.U R6.y, R6;
  10224. AND.U.CC HC.x, R6, R6.y;
  10225. MOV.S R14.x, R1;
  10226. IF    NE.x;
  10227. MOV.F R1.x, R1.y;
  10228. ELSE;
  10229. MOV.F R1.x, {0, 0, 0, 0};
  10230. ENDIF;
  10231. MOV.F R6.y, R11.z;
  10232. MOV.F R6.x, R15.y;
  10233. MUL.F32 R1.y, R6.x, R6;
  10234. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10235. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10236. TRUNC.U R6.x, R6;
  10237. TRUNC.U R6.y, R6;
  10238. AND.U.CC HC.x, R6, R6.y;
  10239. MOV.S R14.z, R1.x;
  10240. IF    NE.x;
  10241. MOV.F R1.x, R1.y;
  10242. ELSE;
  10243. MOV.F R1.x, {0, 0, 0, 0};
  10244. ENDIF;
  10245. MOV.F R7.x, R17.y;
  10246. ADD.F32 R1.x, -R7, R1;
  10247. MOV.F R6.x, R14.z;
  10248. MOV.F R1.y, R12.w;
  10249. ADD.F32 R1.y, R1, R6.x;
  10250. MOV.S R6.x, R1.y;
  10251. MOV.F R1.y, R11.z;
  10252. MOV.F R6.y, R14.x;
  10253. ADD.F32 R6.y, -R1, R6;
  10254. MOV.F R1.y, R11;
  10255. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10256. MOV.S R8.z, R6.y;
  10257. COS.F32 R6.y, R1.y;
  10258. MOV.F R7.y, R15.z;
  10259. MOV.S R13.y, R1.x;
  10260. SNE.F32 R1.x, R7.y, {0, 0, 0, 0};
  10261. MUL.F32 R1.y, R6, R7;
  10262. MOV.S R12.x, R6.y;
  10263. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10264. TRUNC.U R6.y, R6;
  10265. TRUNC.U R1.x, R1;
  10266. AND.U.CC HC.x, R1, R6.y;
  10267. IF    NE.x;
  10268. MOV.F R1.x, R1.y;
  10269. ELSE;
  10270. MOV.F R1.x, {0, 0, 0, 0};
  10271. ENDIF;
  10272. MOV.F R7.x, R12;
  10273. MOV.F R6.y, R15.x;
  10274. MUL.F32 R1.y, R6, R7.x;
  10275. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10276. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10277. TRUNC.U R6.y, R6;
  10278. TRUNC.U R7.x, R7;
  10279. AND.U.CC HC.x, R6.y, R7;
  10280. MOV.S R9.w, R1.x;
  10281. IF    NE.x;
  10282. MOV.F R1.x, R1.y;
  10283. ELSE;
  10284. MOV.F R1.x, {0, 0, 0, 0};
  10285. ENDIF;
  10286. MOV.F R7.x, R12;
  10287. MOV.F R6.y, R12;
  10288. MUL.F32 R1.y, R6, R7.x;
  10289. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10290. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10291. TRUNC.U R6.y, R6;
  10292. TRUNC.U R7.x, R7;
  10293. AND.U.CC HC.x, R6.y, R7;
  10294. MOV.S R23.y, R1.x;
  10295. IF    NE.x;
  10296. MOV.F R1.x, R1.y;
  10297. ELSE;
  10298. MOV.F R1.x, {0, 0, 0, 0};
  10299. ENDIF;
  10300. MOV.F R7.x, R12.w;
  10301. MOV.F R6.y, R15;
  10302. MUL.F32 R1.y, R6, R7.x;
  10303. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10304. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10305. TRUNC.U R6.y, R6;
  10306. TRUNC.U R7.x, R7;
  10307. AND.U.CC HC.x, R6.y, R7;
  10308. MOV.S R23.x, R1;
  10309. IF    NE.x;
  10310. MOV.F R1.x, R1.y;
  10311. ELSE;
  10312. MOV.F R1.x, {0, 0, 0, 0};
  10313. ENDIF;
  10314. MOV.F R7.x, R17;
  10315. MOV.F R6.y, R13;
  10316. MUL.F32 R1.y, R6, R7.x;
  10317. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10318. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10319. TRUNC.U R6.y, R6;
  10320. TRUNC.U R7.x, R7;
  10321. AND.U.CC HC.x, R6.y, R7;
  10322. MOV.S R14.y, R1.x;
  10323. IF    NE.x;
  10324. MOV.F R1.x, R1.y;
  10325. ELSE;
  10326. MOV.F R1.x, {0, 0, 0, 0};
  10327. ENDIF;
  10328. MOV.F R7.x, R12;
  10329. MOV.F R6.y, R15.w;
  10330. MUL.F32 R1.y, R6, R7.x;
  10331. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10332. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10333. TRUNC.U R6.y, R6;
  10334. TRUNC.U R7.x, R7;
  10335. AND.U.CC HC.x, R6.y, R7;
  10336. MOV.S R7.z, R1.x;
  10337. IF    NE.x;
  10338. MOV.F R1.x, R1.y;
  10339. ELSE;
  10340. MOV.F R1.x, {0, 0, 0, 0};
  10341. ENDIF;
  10342. MOV.F R6.y, R17.x;
  10343. MUL.F32 R1.y, R1.x, R6;
  10344. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10345. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10346. TRUNC.U R6.y, R6;
  10347. TRUNC.U R1.x, R1;
  10348. AND.U.CC HC.x, R1, R6.y;
  10349. IF    NE.x;
  10350. MOV.F R1.x, R1.y;
  10351. ELSE;
  10352. MOV.F R1.x, {0, 0, 0, 0};
  10353. ENDIF;
  10354. MOV.F R6.y, R14;
  10355. MOV.F R1.y, R11.x;
  10356. ADD.F32 R1.y, R1, R6;
  10357. MOV.S R1.y, R1;
  10358. MOV.F R6.y, R1;
  10359. MOV.F R7.x, R17;
  10360. MUL.F32 R1.y, R6, R7.x;
  10361. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10362. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10363. TRUNC.U R6.y, R6;
  10364. TRUNC.U R7.x, R7;
  10365. AND.U.CC HC.x, R6.y, R7;
  10366. MOV.S R23.z, R1.x;
  10367. IF    NE.x;
  10368. MOV.F R1.x, R1.y;
  10369. ELSE;
  10370. MOV.F R1.x, {0, 0, 0, 0};
  10371. ENDIF;
  10372. MOV.S R8.x, R1;
  10373. ENDIF;
  10374. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  10375. MOV.U.CC RC.x, -R1;
  10376. IF    NE.x;
  10377. MOV.F R6.y, R21.x;
  10378. MOV.F R1.y, c[13].x;
  10379. MAD.F32 R7.x, R1.y, {0.5, 0, 0, 0}, R6.y;
  10380. MOV.F R6.y, R21;
  10381. MOV.F R1.x, c[13].y;
  10382. MUL.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x;
  10383. ADD.F32 R1.x, R6.y, R1.y;
  10384. SNE.F32 R6.y, R6, -R1;
  10385. MOV.F R7.y, R17.z;
  10386. MOV.S R13.x, R7;
  10387. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  10388. TRUNC.U R1.y, R7.x;
  10389. TRUNC.U R6.y, R6;
  10390. AND.U.CC HC.x, R1.y, R6.y;
  10391. MUL.F32 R1.x, R7.y, R1;
  10392. MOV.S R9.x, c[12];
  10393. MOV.S R8.w, c[12].y;
  10394. MOV.S R21.z, c[14].x;
  10395. MOV.S R21.y, c[12].z;
  10396. IF    NE.x;
  10397. ELSE;
  10398. MOV.F R1.x, {0, 0, 0, 0};
  10399. ENDIF;
  10400. MOV.F R7.x, R13;
  10401. MOV.F R6.y, R9;
  10402. MUL.F32 R1.y, R6, R7.x;
  10403. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10404. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10405. TRUNC.U R6.y, R6;
  10406. TRUNC.U R7.x, R7;
  10407. AND.U.CC HC.x, R6.y, R7;
  10408. MOV.S R14.y, R1.x;
  10409. IF    NE.x;
  10410. MOV.F R1.x, R1.y;
  10411. ELSE;
  10412. MOV.F R1.x, {0, 0, 0, 0};
  10413. ENDIF;
  10414. MOV.F R7.x, R23.y;
  10415. MOV.F R6.y, R14;
  10416. MUL.F32 R1.y, R6, R7.x;
  10417. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10418. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10419. TRUNC.U R6.y, R6;
  10420. TRUNC.U R7.x, R7;
  10421. AND.U.CC HC.x, R6.y, R7;
  10422. MOV.S R11.z, R1.x;
  10423. AND.S R13.x, c[9], {524288, 0, 0, 0};
  10424. IF    NE.x;
  10425. MOV.F R1.x, R1.y;
  10426. ELSE;
  10427. MOV.F R1.x, {0, 0, 0, 0};
  10428. ENDIF;
  10429. MOV.F R1.y, R7.z;
  10430. ADD.F32 R1.y, R1.x, R1;
  10431. MOV.F R6.y, R14;
  10432. MOV.F R7.x, R8.y;
  10433. MUL.F32 R1.x, R6.y, R7;
  10434. MOV.S R13.y, R1;
  10435. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  10436. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10437. TRUNC.U R6.y, R7.x;
  10438. TRUNC.U R1.y, R1;
  10439. AND.U.CC HC.x, R1.y, R6.y;
  10440. IF    NE.x;
  10441. ELSE;
  10442. MOV.F R1.x, {0, 0, 0, 0};
  10443. ENDIF;
  10444. MOV.F R1.y, R14;
  10445. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  10446. MOV.F R7.x, R23;
  10447. TRUNC.U R7.y, R6;
  10448. MOV.F R6.y, R23.z;
  10449. ADD.F32 R1.x, R1, R6.y;
  10450. MUL.F32 R1.y, R1, R7.x;
  10451. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10452. TRUNC.U R6.y, R7.x;
  10453. AND.U.CC HC.x, R7.y, R6.y;
  10454. MOV.S R13.z, R1.x;
  10455. IF    NE.x;
  10456. MOV.F R1.x, R1.y;
  10457. ELSE;
  10458. MOV.F R1.x, {0, 0, 0, 0};
  10459. ENDIF;
  10460. MOV.F R1.y, R8.x;
  10461. ADD.F32 R1.x, R1, R1.y;
  10462. MOV.F R1.y, R20.x;
  10463. MOV.S R13.w, R1.x;
  10464. SGT.F32 R1.x, R1.y, {0.5, 0, 0, 0};
  10465. TRUNC.U.CC HC.x, R1;
  10466. IF    NE.x;
  10467. MOV.S R1.y, {-1, 0, 0, 0}.x;
  10468. ELSE;
  10469. MOV.S R1.y, {0, 0, 0, 0}.x;
  10470. ENDIF;
  10471. MOV.F R7.x, R9.w;
  10472. MOV.F R6.y, R11.z;
  10473. MUL.F32 R1.x, R6.y, R7;
  10474. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10475. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10476. TRUNC.U R7.x, R7;
  10477. TRUNC.U R6.y, R6;
  10478. AND.U.CC HC.x, R6.y, R7;
  10479. IF    NE.x;
  10480. ELSE;
  10481. MOV.F R1.x, {0, 0, 0, 0};
  10482. ENDIF;
  10483. MOV.F R7.x, R6;
  10484. MOV.F R6.y, R13.z;
  10485. ADD.F32 R6.y, R1.x, R6;
  10486. MOV.F R6.x, R11.z;
  10487. MUL.F32 R1.x, R6, R7;
  10488. MOV.S R17.x, R6.y;
  10489. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  10490. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10491. TRUNC.U R6.y, R6;
  10492. TRUNC.U R6.x, R6;
  10493. AND.U.CC HC.x, R6, R6.y;
  10494. IF    NE.x;
  10495. ELSE;
  10496. MOV.F R1.x, {0, 0, 0, 0};
  10497. ENDIF;
  10498. MOV.F R6.x, R13.y;
  10499. ADD.F32 R6.x, R1, R6;
  10500. MOV.F R6.y, R11.z;
  10501. MOV.F R7.x, R8.z;
  10502. MUL.F32 R1.x, R6.y, R7;
  10503. MOV.S R12.y, R6.x;
  10504. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  10505. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  10506. TRUNC.U R6.y, R7.x;
  10507. TRUNC.U R6.x, R6;
  10508. AND.U.CC HC.x, R6, R6.y;
  10509. IF    NE.x;
  10510. ELSE;
  10511. MOV.F R1.x, {0, 0, 0, 0};
  10512. ENDIF;
  10513. MOV.F R6.x, R13.w;
  10514. ADD.F32 R1.x, R1, R6;
  10515. SEQ.S R6.x, R13, {524288, 0, 0, 0};
  10516. MOV.U.CC RC.x, -R6;
  10517. MOV.S R11.z, R1.x;
  10518. IF    NE.x;
  10519. MOV.S R6.x, {-1, 0, 0, 0};
  10520. ELSE;
  10521. MOV.S R6.x, {0, 0, 0, 0};
  10522. ENDIF;
  10523. SEQ.S R6.y, R1, {0, 0, 0, 0}.x;
  10524. MOV.U.CC RC.x, -R6.y;
  10525. MOV.F R7.xyz, R10;
  10526. MOV.F R13.x, R17;
  10527. MOV.F R13.y, R12;
  10528. MOV.F R13.w, R6;
  10529. MOV.F R13.z, R11;
  10530. DP4.F32 R1.x, R7, R13;
  10531. MOV.S R10.x, R1;
  10532. MOV.F R1.x, R24;
  10533. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  10534. MOV.S R1.x, R1;
  10535. IF    NE.x;
  10536. MOV.S R1.x, R24;
  10537. ELSE;
  10538. ENDIF;
  10539. MOV.F R7.xyz, R16;
  10540. MOV.F R7.w, R10;
  10541. MOV.F R13.x, R17;
  10542. MOV.F R13.y, R12;
  10543. MOV.F R13.w, R6;
  10544. MOV.F R13.z, R11;
  10545. DP4.F32 R6.y, R7, R13;
  10546. SEQ.S R7.x, R6, {0, 0, 0, 0};
  10547. MOV.U.CC RC.x, -R7;
  10548. MOV.S R16.y, R6;
  10549. IF    NE.x;
  10550. MOV.S R1.x, R24;
  10551. ELSE;
  10552. ENDIF;
  10553. MOV.F R7.z, R11;
  10554. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  10555. MOV.U.CC RC.x, -R1.y;
  10556. MOV.F R11.xyz, R22;
  10557. MOV.F R11.w, R1;
  10558. MOV.F R7.x, R17;
  10559. MOV.F R7.y, R12;
  10560. MOV.F R7.w, R6;
  10561. DP4.F32 R1.w, R11, R7;
  10562. MOV.S R22.z, R1.w;
  10563. IF    NE.x;
  10564. MOV.S R1.y, R24;
  10565. ELSE;
  10566. MOV.S R1.y, R24;
  10567. ENDIF;
  10568. MOV.F R1.w, R20.y;
  10569. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  10570. TRUNC.U.CC HC.x, R1.w;
  10571. AND.S R14.x, c[9], {1048576, 0, 0, 0};
  10572. IF    NE.x;
  10573. MOV.S R1.w, {-1, 0, 0, 0}.x;
  10574. ELSE;
  10575. MOV.S R1.w, {0, 0, 0, 0}.x;
  10576. ENDIF;
  10577. SEQ.S R6.x, R6, {0, 0, 0, 0};
  10578. MOV.U.CC RC.x, -R6;
  10579. IF    NE.x;
  10580. MOV.S R1.y, R24;
  10581. ELSE;
  10582. ENDIF;
  10583. MOV.F R6.x, c[15].z;
  10584. RCP.F32 R6.x, R6.x;
  10585. SEQ.S R6.y, R1.w, {0, 0, 0, 0}.x;
  10586. MOV.U.CC RC.x, -R6.y;
  10587. MOV.S R17.x, R6;
  10588. IF    NE.x;
  10589. MOV.S R6.x, R1;
  10590. ELSE;
  10591. MOV.S R6.x, R1;
  10592. ENDIF;
  10593. SEQ.S R6.y, R14.x, {1048576, 0, 0, 0}.x;
  10594. MOV.U.CC RC.x, -R6.y;
  10595. IF    NE.x;
  10596. MOV.S R6.y, {-1, 0, 0, 0}.x;
  10597. ELSE;
  10598. MOV.S R6.y, {0, 0, 0, 0}.x;
  10599. ENDIF;
  10600. MOV.F R6.w, R1.y;
  10601. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  10602. MOV.F R7.x, c[15].w;
  10603. MOV.S R13.w, R6;
  10604. RCP.F32 R6.w, R7.x;
  10605. SEQ.S R7.x, R6.y, {0, 0, 0, 0};
  10606. MOV.U.CC RC.x, -R7;
  10607. MOV.S R20.z, R6.w;
  10608. IF    NE.x;
  10609. ELSE;
  10610. MOV.S R1.x, R6;
  10611. ENDIF;
  10612. SEQ.S R1.w, R1, {0, 0, 0, 0}.x;
  10613. MOV.U.CC RC.x, -R1.w;
  10614. IF    NE.x;
  10615. MOV.S R1.w, R1.y;
  10616. ELSE;
  10617. MOV.S R1.w, R13;
  10618. ENDIF;
  10619. MOV.F R6.x, R1;
  10620. MOV.F R6.w, c[15].x;
  10621. MUL.F32 R1.x, R6, R6.w;
  10622. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  10623. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10624. TRUNC.U R6.w, R6;
  10625. TRUNC.U R6.x, R6;
  10626. AND.U.CC HC.x, R6, R6.w;
  10627. IF    NE.x;
  10628. ELSE;
  10629. MOV.F R1.x, {0, 0, 0, 0};
  10630. ENDIF;
  10631. SEQ.S R6.x, R6.y, {0, 0, 0, 0};
  10632. MOV.U.CC RC.x, -R6;
  10633. MOV.S R13.y, R1.x;
  10634. IF    NE.x;
  10635. MOV.S R1.x, R1.y;
  10636. ELSE;
  10637. MOV.S R1.x, R1.w;
  10638. ENDIF;
  10639. MOV.F R6.x, R13.y;
  10640. MOV.F R1.w, R17.x;
  10641. MUL.F32 R1.y, R1.w, R6.x;
  10642. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10643. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10644. TRUNC.U R1.w, R1;
  10645. TRUNC.U R6.x, R6;
  10646. AND.U.CC HC.x, R1.w, R6;
  10647. MOV.S R6.w, R1.x;
  10648. IF    NE.x;
  10649. MOV.F R1.x, R1.y;
  10650. ELSE;
  10651. MOV.F R1.x, {0, 0, 0, 0};
  10652. ENDIF;
  10653. MOV.S R18.yz, {0, 0, 0, 0}.x;
  10654. MOV.S R18.x, R1;
  10655. ENDIF;
  10656. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  10657. MOV.U.CC RC.x, -R1;
  10658. IF    NE.x;
  10659. MOV.F R3.x, R10;
  10660. MOV.F R3.y, R16;
  10661. MOV.F R3.w, R6.z;
  10662. MOV.F R3.z, R22;
  10663. MOV.F R2, c[19];
  10664. MOV.F R7, c[21];
  10665. DP4.F32 R1.y, R3, R7;
  10666. DP4.F32 R2.x, R3, R2;
  10667. MOV.F R10, c[20];
  10668. DP4.F32 R2.y, R3, R10;
  10669. MOV.F R7, c[22];
  10670. DP4.F32 R2.w, R3, R7;
  10671. MOV.F R1.x, c[13].z;
  10672. ADD.F32 R2.z, R1.x, R1.y;
  10673. MOV.F R7, c[23];
  10674. DP4.F32 R1.x, R2, R7;
  10675. MOV.F R10, c[24];
  10676. DP4.F32 R1.y, R2, R10;
  10677. DIV.F32 R1.x, R1, R1.y;
  10678. MOV.F R2, c[18];
  10679. DP4.F32 R1.y, R3, R2;
  10680. SNE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  10681. MOV.F R10, c[16];
  10682. DP4.F32 R2.x, R3, R10;
  10683. TRUNC.U R2.z, R1.w;
  10684. MOV.F R7, c[17];
  10685. DP4.F32 R1.w, R3, R7;
  10686. MOV.S R2.y, R1.w;
  10687. MUL.F32 R1.w, R1.y, {0.5, 0, 0, 0}.x;
  10688. MUL.F32 R1.x, R1.y, R1;
  10689. MOV.S R2.w, R1.y;
  10690. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10691. TRUNC.U R1.y, R1;
  10692. AND.U.CC HC.x, R1.y, R2.z;
  10693. MOV.S R2.x, R2;
  10694. MOV.S R12.w, R1;
  10695. MOV.S R9.w, R1.z;
  10696. IF    NE.x;
  10697. ELSE;
  10698. MOV.F R1.x, {0, 0, 0, 0};
  10699. ENDIF;
  10700. MOV.F R1.z, R12.w;
  10701. MOV.F R1.y, R2.x;
  10702. MAD.F32 R1.y, R1, {0.5, 0, 0, 0}.x, R1.z;
  10703. MOV.F R1.w, R2.y;
  10704. MAD.F32 R1.w, R1, {-0.5, 0, 0, 0}.x, R1.z;
  10705. MOV.S R3.x, R1.y;
  10706. MAD.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x, R1.z;
  10707. MOV.S R3.y, R1.w;
  10708. MOV.S R3.w, R2;
  10709. MOV.S R3.z, R1.y;
  10710. MOV.S R2.z, R1.x;
  10711. ENDIF;
  10712. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  10713. MOV.U.CC RC.x, -R1;
  10714. IF    NE.x;
  10715. MOV.F R0.z, c[25].x;
  10716. MOV.F R0.y, R9.x;
  10717. MUL.F32 R0.x, R0.y, R0.z;
  10718. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10719. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  10720. TRUNC.U R0.z, R0;
  10721. TRUNC.U R0.y, R0;
  10722. AND.U.CC HC.x, R0.y, R0.z;
  10723. IF    NE.x;
  10724. ELSE;
  10725. MOV.F R0.x, {0, 0, 0, 0};
  10726. ENDIF;
  10727. MOV.F R0.w, c[25].y;
  10728. MOV.F R0.z, R8.w;
  10729. MUL.F32 R0.y, R0.z, R0.w;
  10730. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10731. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10732. TRUNC.U R0.z, R0;
  10733. TRUNC.U R0.w, R0;
  10734. AND.U.CC HC.x, R0.z, R0.w;
  10735. MOV.S R1.x, R0;
  10736. IF    NE.x;
  10737. MOV.F R0.x, R0.y;
  10738. ELSE;
  10739. MOV.F R0.x, {0, 0, 0, 0};
  10740. ENDIF;
  10741. MOV.F R0.w, c[25].z;
  10742. MOV.F R0.z, R21.y;
  10743. MUL.F32 R0.y, R0.z, R0.w;
  10744. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10745. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10746. TRUNC.U R0.z, R0;
  10747. TRUNC.U R0.w, R0;
  10748. AND.U.CC HC.x, R0.z, R0.w;
  10749. MOV.S R1.y, R0.x;
  10750. IF    NE.x;
  10751. MOV.F R0.x, R0.y;
  10752. ELSE;
  10753. MOV.F R0.x, {0, 0, 0, 0};
  10754. ENDIF;
  10755. MOV.F R0.w, c[25];
  10756. MOV.F R0.z, R21;
  10757. MUL.F32 R0.y, R0.z, R0.w;
  10758. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10759. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10760. TRUNC.U R0.z, R0;
  10761. TRUNC.U R0.w, R0;
  10762. AND.U.CC HC.x, R0.z, R0.w;
  10763. MOV.S R1.z, R0.x;
  10764. IF    NE.x;
  10765. MOV.F R0.x, R0.y;
  10766. ELSE;
  10767. MOV.F R0.x, {0, 0, 0, 0};
  10768. ENDIF;
  10769. MOV.F R0.z, R1.x;
  10770. MOV.F R0.w, c[26].x;
  10771. MUL.F32 R0.y, R0.z, R0.w;
  10772. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10773. TRUNC.U R1.x, R0.w;
  10774. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10775. TRUNC.U R0.z, R0;
  10776. AND.U.CC HC.x, R0.z, R1;
  10777. MOV.S R0.w, R0.x;
  10778. IF    NE.x;
  10779. MOV.F R0.x, R0.y;
  10780. ELSE;
  10781. MOV.F R0.x, {0, 0, 0, 0};
  10782. ENDIF;
  10783. MOV.F R1.x, c[26];
  10784. MOV.F R0.z, R1.y;
  10785. MUL.F32 R0.y, R0.z, R1.x;
  10786. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  10787. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10788. TRUNC.U R0.z, R0;
  10789. TRUNC.U R1.x, R1;
  10790. AND.U.CC HC.x, R0.z, R1;
  10791. MOV.S R0.x, R0;
  10792. IF    NE.x;
  10793. ELSE;
  10794. MOV.F R0.y, {0, 0, 0, 0}.x;
  10795. ENDIF;
  10796. MOV.F R1.y, c[26].x;
  10797. MOV.F R1.x, R1.z;
  10798. MUL.F32 R0.z, R1.x, R1.y;
  10799. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10800. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10801. TRUNC.U R1.x, R1;
  10802. TRUNC.U R1.y, R1;
  10803. AND.U.CC HC.x, R1, R1.y;
  10804. MOV.S R0.y, R0;
  10805. IF    NE.x;
  10806. ELSE;
  10807. MOV.F R0.z, {0, 0, 0, 0}.x;
  10808. ENDIF;
  10809. MOV.F R1.z, c[15].y;
  10810. MOV.F R1.y, R6.w;
  10811. MUL.F32 R1.x, R1.y, R1.z;
  10812. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10813. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10814. TRUNC.U R1.y, R1;
  10815. TRUNC.U R1.z, R1;
  10816. AND.U.CC HC.x, R1.y, R1.z;
  10817. MOV.S R0.z, R0;
  10818. IF    NE.x;
  10819. ELSE;
  10820. MOV.F R1.x, {0, 0, 0, 0};
  10821. ENDIF;
  10822. MOV.S R1.x, R1;
  10823. MOV.F R1.z, R1.x;
  10824. MOV.F R1.y, R20.z;
  10825. MUL.F32 R1.x, R1.y, R1.z;
  10826. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10827. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10828. TRUNC.U R1.y, R1;
  10829. TRUNC.U R1.z, R1;
  10830. AND.U.CC HC.x, R1.y, R1.z;
  10831. MOV.S R19.x, c[10];
  10832. IF    NE.x;
  10833. ELSE;
  10834. MOV.F R1.x, {0, 0, 0, 0};
  10835. ENDIF;
  10836. MOV.S R18.z, {0, 0, 0, 0}.x;
  10837. MOV.S R18.y, R1.x;
  10838. ENDIF;
  10839. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  10840. MOV.U.CC RC.x, -R1;
  10841. IF    NE.x;
  10842. MOV.F R1.z, c[28].w;
  10843. MOV.F R1.x, R9.w;
  10844. ADD.F32 R1.w, R1.x, -R1.z;
  10845. MOV.S R1.w, R1;
  10846. MOV.F R1.y, c[27].w;
  10847. ADD.F32 R1.x, R1, -R1.y;
  10848. MOV.S R4.x, R1.w;
  10849. MOV.S R11.x, R1;
  10850. MOV.F R1.x, R4;
  10851. MOV.S R15.z, R1.w;
  10852. SGE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  10853. ADD.F32 R1.x, R1.y, -R1.z;
  10854. TRUNC.U.CC HC.x, R1.w;
  10855. MOV.F R1.z, c[27].x;
  10856. MOV.F R1.y, c[28].x;
  10857. ADD.F32 R1.y, -R1, R1.z;
  10858. MOV.S R14.y, R1.x;
  10859. MOV.S R13.x, R1.y;
  10860. IF    NE.x;
  10861. MOV.S R1.y, {1065353216, 0, 0, 0}.x;
  10862. ELSE;
  10863. MOV.S R1.y, {0, 0, 0, 0}.x;
  10864. ENDIF;
  10865. MOV.F R1.x, R11;
  10866. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  10867. TRUNC.U.CC HC.x, R1;
  10868. IF    NE.x;
  10869. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  10870. ELSE;
  10871. MOV.S R1.z, {0, 0, 0, 0}.x;
  10872. ENDIF;
  10873. MOV.F R1.w, R13.x;
  10874. MOV.F R1.x, R14.y;
  10875. DIV.F32 R1.x, R1.w, R1.x;
  10876. MOV.F R1.w, R15.z;
  10877. MOV.S R1.x, R1;
  10878. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  10879. TRUNC.U R4.z, R4.x;
  10880. SNE.F32 R4.y, R1.w, {0, 0, 0, 0}.x;
  10881. MUL.F32 R1.x, R1.w, R1;
  10882. MOV.F R4.x, c[29];
  10883. MOV.F R1.w, c[27].x;
  10884. ADD.F32 R1.w, -R1, R4.x;
  10885. TRUNC.U R4.x, R4.y;
  10886. AND.U.CC HC.x, R4, R4.z;
  10887. MOV.S R12.w, R1;
  10888. IF    NE.x;
  10889. ELSE;
  10890. MOV.F R1.x, {0, 0, 0, 0};
  10891. ENDIF;
  10892. MOV.F R1.w, c[28].x;
  10893. ADD.F32 R1.x, R1, R1.w;
  10894. MOV.F R4.y, c[29].w;
  10895. MOV.F R4.x, R9.w;
  10896. ADD.F32 R4.z, R4.x, -R4.y;
  10897. SGE.F32 R1.w, R4.x, R4.y;
  10898. TRUNC.U.CC HC.x, R1.w;
  10899. MOV.S R15.z, R4;
  10900. MOV.S R15.x, R1;
  10901. IF    NE.x;
  10902. MOV.S R1.x, {1065353216, 0, 0, 0};
  10903. ELSE;
  10904. MOV.S R1.x, {0, 0, 0, 0};
  10905. ENDIF;
  10906. MOV.F R4.z, R1.x;
  10907. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  10908. MOV.F R4.x, c[30];
  10909. MOV.F R1.w, c[29].x;
  10910. ADD.F32 R1.w, -R1, R4.x;
  10911. MOV.S R17.x, R1.w;
  10912. MOV.F R4.x, c[29].w;
  10913. MOV.F R1.w, c[27];
  10914. ADD.F32 R1.w, -R1, R4.x;
  10915. MOV.F R4.y, R1.z;
  10916. MOV.S R14.z, R1.w;
  10917. MOV.F R1.w, R1.y;
  10918. ADD.F32 R4.x, -R4.y, {1, 0, 0, 0};
  10919. MUL.F32 R1.y, R1.w, R4.x;
  10920. ADD.F32 R4.x, -R1.w, {1, 0, 0, 0};
  10921. MOV.S R17.y, R4.x;
  10922. SNE.F32 R4.x, -R4.y, {-1, 0, 0, 0};
  10923. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10924. TRUNC.U R4.x, R4;
  10925. TRUNC.U R1.w, R1;
  10926. AND.U.CC HC.x, R1.w, R4;
  10927. MOV.S R13.y, R4.z;
  10928. IF    NE.x;
  10929. ELSE;
  10930. MOV.F R1.
  10931. [07:59:02] Link error in shader. Log:
  10932. [07:59:02] Vertex info
  10933. -----------
  10934. Internal error: assembly compile error for vertex shader at offset 2386:
  10935. -- error message --
  10936. line 49, column 45:  error: invalid vertex attribute reference
  10937. line 56, column 25:  error: invalid vertex attribute reference
  10938. line 58, column 25:  error: invalid vertex attribute reference
  10939. line 60, column 25:  error: invalid vertex attribute reference
  10940. line 63, column 25:  error: invalid vertex attribute reference
  10941. -- internal assembly text --
  10942. !!NVvp5.0
  10943. OPTION NV_internal;
  10944. OPTION NV_gpu_program_fp64;
  10945. OPTION NV_bindless_texture;
  10946. # cgc version 3.4.0001, build date Jul  3 2019
  10947. # command line args:
  10948. #vendor NVIDIA Corporation
  10949. #version 3.4.0.1 COP Build Date Jul  3 2019
  10950. #profile gp5vp
  10951. #program main
  10952. #semantic textureUnitVS13 : TEXUNIT[1]
  10953. #semantic textureUnitVS8 : TEXUNIT[0]
  10954. #semantic uf_remappedVS
  10955. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  10956. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  10957. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  10958. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  10959. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  10960. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  10961. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  10962. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  10963. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  10964. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  10965. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  10966. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  10967. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  10968. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  10969. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  10970. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  10971. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  10972. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  10973. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  10974. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  10975. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  10976. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  10977. #var float4 passParameterSem15 : $vout.ATTR8 : ATTR8 : -1 : 1
  10978. #var float4 passParameterSem16 : $vout.ATTR9 : ATTR9 : -1 : 1
  10979. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  10980. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  10981. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  10982. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  10983. #var float4 passParameterSem9 : $vout.ATTR6 : ATTR6 : -1 : 1
  10984. #var ulong textureUnitVS13 : TEXUNIT[1] : c[65] : -1 : 1
  10985. #var ulong textureUnitVS8 : TEXUNIT[0] : c[66] : -1 : 1
  10986. #var int4 uf_remappedVS[0] :  : c[0], 65 : -1 : 1
  10987. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  10988. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  10989. PARAM c[67] = { program.local[0..66] };
  10990. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  10991. OUTPUT result_attrib[] = { result.attrib[0..9] };
  10992. 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;
  10993. LONG TEMP D0;
  10994. TEMP T;
  10995. TEMP RC;
  10996. SHORT TEMP HC;
  10997. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  10998. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10999. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  11000. OR.U  R0, R0, R1;
  11001. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  11002. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11003. OR.U  R0, R0, R1;
  11004. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  11005. OR.U  R9, R0, R2;
  11006. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  11007. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11008. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  11009. OR.U  R0, R0, R1;
  11010. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  11011. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11012. OR.U  R0, R0, R1;
  11013. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  11014. OR.U  R27, R0, R2;
  11015. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  11016. AND.U R2, R1, {65280, 0, 0, 0}.x;
  11017. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  11018. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  11019. OR.U  R1, R1, R2;
  11020. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  11021. OR.U  R0, R1, R0;
  11022. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  11023. OR.U  R10, R0, R2;
  11024. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  11025. AND.U R2, R1, {65280, 0, 0, 0}.x;
  11026. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  11027. OR.U  R1, R1, R2;
  11028. MOV.U R0.x, R27.w;
  11029. MOV.F R0.y, c[0].x;
  11030. ADD.F32 R3.x, -R0, R0.y;
  11031. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  11032. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  11033. OR.U  R1, R1, R2;
  11034. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  11035. OR.U  R12, R1, R0;
  11036. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  11037. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11038. MOV.S R13.w, R3.x;
  11039. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  11040. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  11041. TRUNC.U R19.x, R3;
  11042. SEQ.U R3.x, R19, {1, 0, 0, 0};
  11043. SEQ.U R19.y, -R3.x, {1, 0, 0, 0}.x;
  11044. MOV.U.CC RC.x, -R19.y;
  11045. OR.U  R0, R0, R1;
  11046. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  11047. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11048. OR.U  R0, R0, R1;
  11049. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  11050. OR.U  R14, R0, R2;
  11051. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  11052. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11053. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  11054. OR.U  R0, R0, R1;
  11055. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  11056. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11057. OR.U  R0, R0, R1;
  11058. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  11059. OR.U  R15, R0, R2;
  11060. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  11061. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11062. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  11063. OR.U  R0, R0, R1;
  11064. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  11065. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11066. OR.U  R0, R0, R1;
  11067. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  11068. OR.U  R16, R0, R2;
  11069. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  11070. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11071. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  11072. OR.U  R0, R0, R1;
  11073. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  11074. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11075. OR.U  R0, R0, R1;
  11076. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  11077. OR.U  R18, R0, R2;
  11078. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11079. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11080. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11081. OR.U  R0.xyz, R0, R1;
  11082. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11083. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11084. OR.U  R0.xyz, R0, R1;
  11085. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11086. OR.U  R32.xyz, R0, R2;
  11087. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11088. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11089. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11090. OR.U  R0.xyz, R0, R1;
  11091. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11092. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11093. OR.U  R0.xyz, R0, R1;
  11094. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11095. OR.U  R28.xyz, R0, R2;
  11096. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11097. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11098. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11099. OR.U  R0.xyz, R0, R1;
  11100. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11101. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11102. OR.U  R0.xyz, R0, R1;
  11103. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11104. OR.U  R11.xyz, R0, R2;
  11105. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11106. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11107. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11108. OR.U  R0.xyz, R0, R1;
  11109. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11110. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11111. OR.U  R0.xyz, R0, R1;
  11112. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11113. OR.U  R30.xyz, R0, R2;
  11114. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11115. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11116. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11117. OR.U  R0.xyz, R0, R1;
  11118. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11119. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11120. OR.U  R0.xyz, R0, R1;
  11121. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11122. OR.U  R13.xyz, R0, R2;
  11123. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11124. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11125. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11126. OR.U  R0.xyz, R0, R1;
  11127. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11128. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11129. OR.U  R0.xyz, R0, R1;
  11130. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11131. OR.U  R25.xyz, R0, R2;
  11132. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11133. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11134. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11135. OR.U  R0.xyz, R0, R1;
  11136. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11137. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11138. OR.U  R0.xyz, R0, R1;
  11139. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11140. OR.U  R17.xyz, R0, R2;
  11141. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11142. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  11143. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11144. OR.U  R1.xy, R1, R1.zwzw;
  11145. SHL.U R8.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11146. AND.U R1.zw, R8.xyxy, {16711680, 0, 0, 0}.x;
  11147. SHL.U R8.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11148. OR.U  R1.xy, R1, R1.zwzw;
  11149. OR.U  R29.xy, R1, R8;
  11150. MOV.U R8.x, R29;
  11151. MOV.F R8.z, R8.x;
  11152. MOV.U R8.y, R29;
  11153. ADD.F32 R8.x, -R8.y, {1, 0, 0, 0};
  11154. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  11155. MOV.S R29.z, R8.x;
  11156. MOV.S R11.w, R8.y;
  11157. MOV.S R2, {0, 0, 0, 0}.x;
  11158. MOV.S R0, {0, 0, 0, 0}.x;
  11159. MOV.S R3, {0, 0, 0, 0}.x;
  11160. MOV.S R4, {0, 0, 0, 0}.x;
  11161. MOV.S R5, {0, 0, 0, 0}.x;
  11162. MOV.S R6, {0, 0, 0, 0}.x;
  11163. MOV.S R7, {0, 0, 0, 0}.x;
  11164. MOV.S R1, {0, 0, 0, 0}.x;
  11165. MOV.S R31.xyz, {0, 0, 0, 0}.x;
  11166. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11167. MOV.S R8.yz, {0, 0, 0, 0};
  11168. MOV.S R8.x, vertex.id;
  11169. MOV.S R8.w, vertex.instance.x;
  11170. MOV.S R25.w, {0, 0, 0, 0}.x;
  11171. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  11172. IF    NE.x;
  11173. MOV.F R3.z, c[1].y;
  11174. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11175. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  11176. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11177. MOV.S R3.z, R3;
  11178. MOV.S R18.w, {1065353216, 0, 0, 0}.x;
  11179. ENDIF;
  11180. SEQ.U R19.x, R19, {0, 0, 0, 0};
  11181. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11182. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11183. MOV.U.CC RC.x, -R19;
  11184. IF    NE.x;
  11185. MOV.S R18.w, {0, 0, 0, 0}.x;
  11186. ENDIF;
  11187. SEQ.S R19.x, R18.w, {0, 0, 0, 0};
  11188. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11189. SEQ.U R19.z, -R19.y, {1, 0, 0, 0}.x;
  11190. MOV.U.CC RC.x, -R19.z;
  11191. MOV.U R19.x, -R19;
  11192. MOV.U R34.x, -R19.y;
  11193. IF    NE.x;
  11194. MOV.F R19.y, R10.w;
  11195. TRUNC.S R19.y, R19;
  11196. I2F.S R19.y, R19;
  11197. MOV.F R19.z, R13.w;
  11198. SGE.F32 R19.z, R19, R19.y;
  11199. TRUNC.U R19.z, R19;
  11200. SEQ.U R19.w, R34.x, {1, 0, 0, 0}.x;
  11201. SEQ.U R19.z, R19, {1, 0, 0, 0}.x;
  11202. AND.U R27.w, -R19.z, -R19;
  11203. MOV.S R31.x, R19.y;
  11204. MOV.S R31.yz, {0, 0, 0, 0}.x;
  11205. ELSE;
  11206. MOV.U R27.w, {0, 0, 0, 0}.x;
  11207. ENDIF;
  11208. SEQ.U R19.y, R27.w, {1, 0, 0, 0}.x;
  11209. MOV.U.CC RC.x, -R19.y;
  11210. IF    NE.x;
  11211. MOV.F R3.z, c[1].y;
  11212. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11213. MOV.S R3.xy, {0, 0, 0, 0};
  11214. MOV.S R3.z, R3;
  11215. MOV.S R33.x, {0, 0, 0, 0};
  11216. MOV.S R25.w, {1065353216, 0, 0, 0}.x;
  11217. ENDIF;
  11218. SEQ.U R19.x, R19, {1, 0, 0, 0};
  11219. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11220. MOV.U.CC RC.x, -R19.y;
  11221. MOV.U R34.x, -R19;
  11222. IF    NE.x;
  11223. SEQ.S R19.x, R25.w, {0, 0, 0, 0};
  11224. MOV.U R34.y, -R19.x;
  11225. SEQ.U R19.y, R34.x, {1, 0, 0, 0}.x;
  11226. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11227. AND.U R27.w, -R19.x, -R19.y;
  11228. ELSE;
  11229. MOV.U R34.y, {0, 0, 0, 0}.x;
  11230. MOV.U R27.w, {0, 0, 0, 0}.x;
  11231. ENDIF;
  11232. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  11233. MOV.U.CC RC.x, -R19;
  11234. IF    NE.x;
  11235. MOV.F R8.x, R12.y;
  11236. MOV.F R8.y, R12.z;
  11237. ADD.F32 R8.z, R8.x, R8.y;
  11238. MOV.F R8.w, R12.x;
  11239. ADD.F32 R8.y, R8, R8.w;
  11240. MOV.S R19.z, R8;
  11241. ADD.F32 R8.z, R8.x, R8.w;
  11242. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11243. MUL.F32 R8.z, R8, {0.5, 0, 0, 0}.x;
  11244. MOV.S R20.x, R8.y;
  11245. MUL.F32 R8.y, R8.w, {2, 0, 0, 0}.x;
  11246. MOV.S R22.w, R8.x;
  11247. AND.S R8.x, c[2], {65536, 0, 0, 0};
  11248. I2F.S R8.x, R8;
  11249. MOV.S R20.y, R8;
  11250. SGT.F32 R8.y, R8.x, {0, 0, 0, 0}.x;
  11251. TRUNC.U.CC HC.x, R8.y;
  11252. MOV.S R21.x, R8.z;
  11253. AND.S R19.y, c[2].x, {131072, 0, 0, 0}.x;
  11254. AND.S R19.x, c[2], {262144, 0, 0, 0};
  11255. MOV.S R23.z, R8.x;
  11256. IF    NE.x;
  11257. MOV.F R8.x, {1, 0, 0, 0};
  11258. ELSE;
  11259. MOV.F R8.x, {0, 0, 0, 0};
  11260. ENDIF;
  11261. MOV.F R8.y, R20.x;
  11262. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11263. MOV.F R8.z, R22.w;
  11264. MOV.S R21.y, R8;
  11265. FLR.F R8.y, R8.z;
  11266. MOV.S R20.z, R8.y;
  11267. MOV.F R8.y, R23.z;
  11268. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11269. TRUNC.U.CC HC.x, R8.y;
  11270. MOV.S R24.x, R8;
  11271. IF    NE.x;
  11272. MOV.F R8.x, {1, 0, 0, 0};
  11273. ELSE;
  11274. MOV.F R8.x, {0, 0, 0, 0};
  11275. ENDIF;
  11276. I2F.S R8.y, R19.x;
  11277. MOV.F R8.z, R24.x;
  11278. MOV.S R22.w, R8.y;
  11279. ADD.F32 R8.x, R8.z, -R8;
  11280. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11281. TRUNC.U.CC HC.x, R8.y;
  11282. MOV.S R22.x, R8;
  11283. IF    NE.x;
  11284. MOV.F R8.x, {1, 0, 0, 0};
  11285. ELSE;
  11286. MOV.F R8.x, {0, 0, 0, 0};
  11287. ENDIF;
  11288. MOV.F R8.y, R22.w;
  11289. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11290. TRUNC.U.CC HC.x, R8.y;
  11291. MOV.S R22.y, R8.x;
  11292. IF    NE.x;
  11293. MOV.F R8.x, {1, 0, 0, 0};
  11294. ELSE;
  11295. MOV.F R8.x, {0, 0, 0, 0};
  11296. ENDIF;
  11297. MOV.F R8.z, R22.y;
  11298. ADD.F32 R8.x, R8, -R8.z;
  11299. MOV.F R8.y, R12.z;
  11300. MUL.F32 R8.y, R8, {2, 0, 0, 0}.x;
  11301. MOV.S R20.w, R8.y;
  11302. I2F.S R8.y, R19;
  11303. MOV.S R23.z, R8.y;
  11304. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11305. TRUNC.U.CC HC.x, R8.y;
  11306. MOV.F R8.z, R20.y;
  11307. MOV.S R24.x, R8;
  11308. FLR.F R8.x, R8.z;
  11309. MOV.S R23.y, R8.x;
  11310. IF    NE.x;
  11311. MOV.F R8.x, {1, 0, 0, 0};
  11312. ELSE;
  11313. MOV.F R8.x, {0, 0, 0, 0};
  11314. ENDIF;
  11315. MOV.F R8.y, R23.z;
  11316. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11317. TRUNC.U.CC HC.x, R8.y;
  11318. MOV.S R24.z, R8.x;
  11319. IF    NE.x;
  11320. MOV.F R8.x, {1, 0, 0, 0};
  11321. ELSE;
  11322. MOV.F R8.x, {0, 0, 0, 0};
  11323. ENDIF;
  11324. MOV.F R8.y, R22.x;
  11325. TRUNC.S R8.y, R8;
  11326. MOV.F R8.z, R24;
  11327. ADD.F32 R8.x, R8, -R8.z;
  11328. MOV.S R20.y, R8;
  11329. ADD.S R22.x, -R8.y, {0, 0, 0, 0};
  11330. MOV.F R8.y, c[3].x;
  11331. MOV.S R19.y, R8.x;
  11332. SGT.F32 R8.x, R8.y, {0, 0, 0, 0};
  11333. TRUNC.U.CC HC.x, R8;
  11334. IF    NE.x;
  11335. MOV.F R8.x, {1, 0, 0, 0};
  11336. ELSE;
  11337. MOV.F R8.x, {0, 0, 0, 0};
  11338. ENDIF;
  11339. MOV.F R8.y, c[3].x;
  11340. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11341. TRUNC.U.CC HC.x, R8.y;
  11342. MOV.S R21.z, R8.x;
  11343. IF    NE.x;
  11344. MOV.F R8.x, {1, 0, 0, 0};
  11345. ELSE;
  11346. MOV.F R8.x, {0, 0, 0, 0};
  11347. ENDIF;
  11348. MOV.F R8.y, R24.x;
  11349. TRUNC.S R19.w, R8.y;
  11350. MOV.F R8.y, R19.z;
  11351. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11352. MOV.S R20.x, R8.y;
  11353. MOV.F R8.y, R12.x;
  11354. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11355. MOV.F R8.z, c[4].y;
  11356. MUL.F32 R8.y, R8, R8.z;
  11357. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  11358. TRUNC.U R8.w, R8;
  11359. TRUNC.U R8.z, R8;
  11360. AND.U.CC HC.x, R8.w, R8.z;
  11361. MOV.S R34.w, R20.y;
  11362. MOV.S R21.w, R8.x;
  11363. IF    NE.x;
  11364. MOV.F R8.x, R8.y;
  11365. ELSE;
  11366. MOV.F R8.x, {0, 0, 0, 0};
  11367. ENDIF;
  11368. MOV.F R8.z, R21.y;
  11369. ADD.S R8.y, -R19.w, {0, 0, 0, 0}.x;
  11370. MAX.S R21.y, R19.w, R8;
  11371. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11372. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  11373. MOV.F R8.y, R20.z;
  11374. MOV.S R23.x, R8.z;
  11375. MOV.F R8.z, R21.x;
  11376. MOV.F R8.w, R19.y;
  11377. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11378. MUL.F32 R10.w, R8.z, {2, 0, 0, 0}.x;
  11379. TRUNC.S R21.x, R8.w;
  11380. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11381. TRUNC.U.CC HC.x, R8.y;
  11382. MOV.F R8.z, c[3].x;
  11383. MOV.F R8.w, R13;
  11384. DIV.F32 R8.z, R8.w, R8.z;
  11385. MAX.S R23.w, R34, R22.x;
  11386. MOV.S R19.w, R8.z;
  11387. MOV.S R19.z, R10.w;
  11388. MOV.S R20.y, R8.x;
  11389. IF    NE.x;
  11390. MOV.F R8.x, {1, 0, 0, 0};
  11391. ELSE;
  11392. MOV.F R8.x, {0, 0, 0, 0};
  11393. ENDIF;
  11394. MOV.F R8.y, R20.z;
  11395. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11396. TRUNC.U.CC HC.x, R8.y;
  11397. MOV.S R19.x, R8;
  11398. IF    NE.x;
  11399. MOV.F R8.y, {1, 0, 0, 0}.x;
  11400. ELSE;
  11401. MOV.F R8.y, {0, 0, 0, 0}.x;
  11402. ENDIF;
  11403. MOV.F R8.x, R20.w;
  11404. FLR.F R8.x, R8;
  11405. MOV.F R8.z, c[5].w;
  11406. MAX.F R8.z, R8, {0, 0, 0, 0}.x;
  11407. MOV.S R20.z, R8.x;
  11408. LG2.F32 R8.x, R8.z;
  11409. MUL.F32 R8.z, R8.x, {2, 0, 0, 0}.x;
  11410. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11411. SEQ.F R8.z, R8.x, R8;
  11412. TRUNC.U R8.w, R8;
  11413. TRUNC.U R8.z, R8;
  11414. AND.U R8.z, R8, R8.w;
  11415. SEQ.U R8.z, R8, {1, 0, 0, 0}.x;
  11416. MOV.U.CC RC.x, -R8.z;
  11417. ADD.S R20.w, -R21.x, {0, 0, 0, 0}.x;
  11418. MOV.S R19.y, R8;
  11419. IF    NE.x;
  11420. MOV.F R8.x, {-3.40282347e+38, 0, 0, 0};
  11421. ENDIF;
  11422. MOV.F R8.z, R13.w;
  11423. MUL.F32 R8.y, R8.z, R8.x;
  11424. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11425. SNE.F32 R8.x, R8.z, {0, 0, 0, 0};
  11426. TRUNC.U R8.z, R8.w;
  11427. TRUNC.U R8.x, R8;
  11428. AND.U.CC HC.x, R8, R8.z;
  11429. MOV.S R34.w, R23.y;
  11430. IF    NE.x;
  11431. MOV.F R8.x, R8.y;
  11432. ELSE;
  11433. MOV.F R8.x, {0, 0, 0, 0};
  11434. ENDIF;
  11435. MOV.F R8.z, R21.w;
  11436. MOV.F R8.y, R21.z;
  11437. ADD.F32 R8.y, R8, -R8.z;
  11438. MOV.S R23.y, R8;
  11439. MOV.F R8.y, R34.w;
  11440. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11441. TRUNC.U.CC HC.x, R8.y;
  11442. MOV.S R8.x, R8;
  11443. IF    NE.x;
  11444. MOV.F R8.y, {1, 0, 0, 0}.x;
  11445. ELSE;
  11446. MOV.F R8.y, {0, 0, 0, 0}.x;
  11447. ENDIF;
  11448. MOV.F R8.z, R34.w;
  11449. SGT.F32 R8.z, R8, {0, 0, 0, 0}.x;
  11450. TRUNC.U.CC HC.x, R8.z;
  11451. MOV.S R22.z, R8.y;
  11452. IF    NE.x;
  11453. MOV.F R8.z, {1, 0, 0, 0}.x;
  11454. ELSE;
  11455. MOV.F R8.z, {0, 0, 0, 0}.x;
  11456. ENDIF;
  11457. MOV.F R8.w, R19;
  11458. MOV.F R8.y, R20;
  11459. ADD.F32 R8.y, R8, R8.w;
  11460. MOV.S R21.z, R8.y;
  11461. MOV.F R8.w, R19.z;
  11462. MOV.S R8.y, R19;
  11463. SNE.F32 R19.y, R8.w, {0, 0, 0, 0}.x;
  11464. MOV.F R10.w, c[6].x;
  11465. MUL.F32 R8.w, R8, R10;
  11466. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11467. TRUNC.U R19.y, R19;
  11468. TRUNC.U R10.w, R10;
  11469. AND.U.CC HC.x, R19.y, R10.w;
  11470. MOV.S R34.w, R21.x;
  11471. MOV.S R22.w, R8.z;
  11472. IF    NE.x;
  11473. MOV.F R8.z, R8.w;
  11474. ELSE;
  11475. MOV.F R8.z, {0, 0, 0, 0}.x;
  11476. ENDIF;
  11477. MAX.S R19.z, R34.w, R20.w;
  11478. MOV.F R10.w, R22.z;
  11479. MOV.F R8.w, R22;
  11480. ADD.F32 R8.w, R8, -R10;
  11481. MOV.S R19.y, R8.w;
  11482. MOV.F R8.w, R19.x;
  11483. ADD.F32 R8.y, R8, -R8.w;
  11484. MOV.F R8.w, R23.x;
  11485. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11486. MOV.F R10.w, c[6].z;
  11487. MOV.S R20.w, R8.y;
  11488. MUL.F32 R8.y, R8.w, R10.w;
  11489. MOV.F R8.w, R31.x;
  11490. TRUNC.U R19.w, R19.x;
  11491. RCP.F32 R8.w, R8.w;
  11492. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11493. MOV.S R19.x, R8.w;
  11494. TRUNC.U R8.w, R10;
  11495. AND.U.CC HC.x, R19.w, R8.w;
  11496. MOV.S R34.w, R20.x;
  11497. MOV.S R21.x, R8.z;
  11498. IF    NE.x;
  11499. ELSE;
  11500. MOV.F R8.y, {0, 0, 0, 0}.x;
  11501. ENDIF;
  11502. MOV.F R8.z, R34.w;
  11503. MOV.F R8.w, R20.z;
  11504. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11505. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  11506. SGT.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11507. TRUNC.U.CC HC.x, R8.w;
  11508. MOV.S R20.y, R8.z;
  11509. MOV.S R20.x, R8.y;
  11510. IF    NE.x;
  11511. MOV.F R8.y, {1, 0, 0, 0}.x;
  11512. ELSE;
  11513. MOV.F R8.y, {0, 0, 0, 0}.x;
  11514. ENDIF;
  11515. MOV.F R8.z, R20;
  11516. SGT.F32 R8.z, {0, 0, 0, 0}.x, R8;
  11517. TRUNC.U.CC HC.x, R8.z;
  11518. MOV.S R22.z, R8.y;
  11519. IF    NE.x;
  11520. MOV.F R8.y, {1, 0, 0, 0}.x;
  11521. ELSE;
  11522. MOV.F R8.y, {0, 0, 0, 0}.x;
  11523. ENDIF;
  11524. I2F.S R8.z, R23.w;
  11525. MOV.F R10.w, R22.z;
  11526. ADD.F32 R10.w, R10, -R8.y;
  11527. MUL.F32 R8.w, R8.z, {2, 0, 0, 0}.x;
  11528. MOV.F R19.w, R20;
  11529. MUL.F32 R8.z, -R8.w, R19.w;
  11530. MOV.S R23.x, R10.w;
  11531. SNE.F32 R10.w, R19, {0, 0, 0, 0}.x;
  11532. SNE.F32 R8.w, -R8, {0, 0, 0, 0}.x;
  11533. TRUNC.U R10.w, R10;
  11534. TRUNC.U R8.w, R8;
  11535. AND.U.CC HC.x, R8.w, R10.w;
  11536. MOV.S R34.w, R21.z;
  11537. MOV.S R8.y, R21;
  11538. IF    NE.x;
  11539. ELSE;
  11540. MOV.F R8.z, {0, 0, 0, 0}.x;
  11541. ENDIF;
  11542. MOV.F R19.w, R19.y;
  11543. MOV.F R8.w, R23.y;
  11544. ADD.F32 R8.w, -R8, {1, 0, 0, 0}.x;
  11545. MOV.S R22.x, R8.w;
  11546. MOV.F R10.w, c[5].x;
  11547. MOV.F R8.w, R21.x;
  11548. ADD.F32 R8.w, R8, R10;
  11549. I2F.S R8.y, R8;
  11550. MUL.F32 R10.w, R8.y, {2, 0, 0, 0}.x;
  11551. MUL.F32 R8.y, -R10.w, R19.w;
  11552. MOV.S R19.y, R8.w;
  11553. MOV.F R8.w, c[5];
  11554. SNE.F32 R20.z, R19.w, {0, 0, 0, 0}.x;
  11555. ADD.F32 R19.w, -R8, {1, 0, 0, 0}.x;
  11556. MOV.S R21.z, R19.w;
  11557. TRUNC.U R8.w, R20.z;
  11558. MOV.F R19.w, R34;
  11559. MOV.S R21.y, R8.z;
  11560. FRC.F32 R8.z, R19.w;
  11561. SNE.F32 R10.w, -R10, {0, 0, 0, 0}.x;
  11562. MOV.S R20.w, R8.z;
  11563. TRUNC.U R8.z, R10.w;
  11564. AND.U.CC HC.x, R8.z, R8.w;
  11565. IF    NE.x;
  11566. MOV.F R8.z, R8.y;
  11567. ELSE;
  11568. MOV.F R8.z, {0, 0, 0, 0}.x;
  11569. ENDIF;
  11570. MOV.F R8.w, R19.x;
  11571. MOV.F R8.y, R13.w;
  11572. MUL.F32 R8.y, R8, R8.w;
  11573. MOV.F R19.x, R22;
  11574. MUL.F32 R8.w, R8.y, R19.x;
  11575. MOV.S R10.w, R8.y;
  11576. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11577. TRUNC.U R19.w, R8.y;
  11578. EX2.F32 R8.x, R8.x;
  11579. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11580. TRUNC.U R19.x, R19;
  11581. AND.U.CC HC.x, R19.w, R19;
  11582. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  11583. MOV.S R8.y, R20.x;
  11584. MOV.S R20.x, R8;
  11585. MOV.S R34.w, R20.y;
  11586. MOV.S R8.x, R19.z;
  11587. MOV.S R20.z, R8;
  11588. IF    NE.x;
  11589. MOV.F R8.z, R8.w;
  11590. ELSE;
  11591. MOV.F R8.z, {0, 0, 0, 0}.x;
  11592. ENDIF;
  11593. MOV.F R19.x, R34.w;
  11594. MOV.F R19.z, c[6].y;
  11595. MUL.F32 R8.w, R19.x, R19.z;
  11596. MOV.S R20.y, R8.z;
  11597. SNE.F32 R8.z, R19.x, {0, 0, 0, 0}.x;
  11598. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11599. TRUNC.U R19.x, R19.z;
  11600. TRUNC.U R8.z, R8;
  11601. AND.U.CC HC.x, R8.z, R19;
  11602. IF    NE.x;
  11603. ELSE;
  11604. MOV.F R8.w, {0, 0, 0, 0}.x;
  11605. ENDIF;
  11606. MOV.F R19.z, R20.w;
  11607. MOV.F R19.x, R23.y;
  11608. MUL.F32 R8.z, R19.x, R19;
  11609. SNE.F32 R20.w, R19.z, {0, 0, 0, 0}.x;
  11610. MOV.F R19.w, R8.y;
  11611. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11612. MOV.F R19.z, c[5];
  11613. ADD.F32 R19.z, R19, R19.w;
  11614. I2F.S R8.x, R8;
  11615. MOV.S R23.w, R19.z;
  11616. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11617. TRUNC.U R19.x, R19;
  11618. TRUNC.U R20.w, R20;
  11619. AND.U.CC HC.x, R19, R20.w;
  11620. MOV.S R34.w, R23.x;
  11621. MOV.S R8.y, R21.z;
  11622. MOV.S R19.z, R8.w;
  11623. MOV.S R22.w, R8.x;
  11624. IF    NE.x;
  11625. MOV.F R8.x, R8.z;
  11626. ELSE;
  11627. MOV.F R8.x, {0, 0, 0, 0};
  11628. ENDIF;
  11629. MOV.F R8.z, R12.x;
  11630. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11631. MOV.F R8.w, R12.z;
  11632. MOV.S R23.y, R8.z;
  11633. ADD.F32 R8.z, R8.w, {-0.5, 0, 0, 0}.x;
  11634. MOV.F R8.w, R22;
  11635. MOV.S R23.x, R8;
  11636. SNE.F32 R8.x, -R8.w, {0, 0, 0, 0};
  11637. MOV.F R19.x, R34.w;
  11638. MOV.S R21.z, R8;
  11639. MUL.F32 R8.z, -R8.w, R19.x;
  11640. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11641. TRUNC.U R8.w, R19.x;
  11642. TRUNC.U R8.x, R8;
  11643. AND.U.CC HC.x, R8, R8.w;
  11644. IF    NE.x;
  11645. MOV.F R8.x, R8.z;
  11646. ELSE;
  11647. MOV.F R8.x, {0, 0, 0, 0};
  11648. ENDIF;
  11649. MOV.F R8.z, R8.y;
  11650. MOV.F R8.y, R20.x;
  11651. DIV.F32 R8.y, R8, R8.z;
  11652. MOV.S R20.x, R8.y;
  11653. MOV.F R19.x, R13;
  11654. MOV.F R19.w, R21.y;
  11655. MOV.F R8.w, R19.z;
  11656. MOV.F R8.y, c[5];
  11657. ADD.F32 R8.y, R8, R8.w;
  11658. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11659. MUL.F32 R8.z, R19.x, R19.w;
  11660. SNE.F32 R19.x, R19.w, {0, 0, 0, 0};
  11661. TRUNC.U R8.w, R8;
  11662. TRUNC.U R19.x, R19;
  11663. AND.U.CC HC.x, R8.w, R19;
  11664. MOV.S R8.y, R8;
  11665. MOV.S R20.w, R8.x;
  11666. IF    NE.x;
  11667. MOV.F R8.x, R8.z;
  11668. ELSE;
  11669. MOV.F R8.x, {0, 0, 0, 0};
  11670. ENDIF;
  11671. MOV.F R19.x, R21.y;
  11672. MOV.F R8.w, R19.y;
  11673. MUL.F32 R8.z, R8.w, R19.x;
  11674. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11675. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11676. TRUNC.U R8.w, R8;
  11677. TRUNC.U R19.x, R19;
  11678. AND.U.CC HC.x, R8.w, R19;
  11679. MOV.S R24.z, R8.x;
  11680. IF    NE.x;
  11681. MOV.F R8.x, R8.z;
  11682. ELSE;
  11683. MOV.F R8.x, {0, 0, 0, 0};
  11684. ENDIF;
  11685. MOV.F R19.x, R20.z;
  11686. MOV.F R8.w, R23;
  11687. MUL.F32 R8.z, R8.w, R19.x;
  11688. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11689. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11690. TRUNC.U R8.w, R8;
  11691. TRUNC.U R19.x, R19;
  11692. AND.U.CC HC.x, R8.w, R19;
  11693. MOV.S R24.w, R8.x;
  11694. IF    NE.x;
  11695. MOV.F R8.x, R8.z;
  11696. ELSE;
  11697. MOV.F R8.x, {0, 0, 0, 0};
  11698. ENDIF;
  11699. MOV.F R8.z, c[5].w;
  11700. SEQ.F R8.z, R8, {1, 0, 0, 0}.x;
  11701. TRUNC.U.CC HC.x, R8.z;
  11702. MOV.S R34.w, R19.y;
  11703. MOV.S R21.y, R8.x;
  11704. IF    NE.x;
  11705. MOV.S R8.x, {-1, 0, 0, 0};
  11706. ELSE;
  11707. MOV.S R8.x, {0, 0, 0, 0};
  11708. ENDIF;
  11709. MOV.F R19.x, R13.z;
  11710. MOV.F R8.w, R23.x;
  11711. MOV.F R8.z, R20.y;
  11712. ADD.F32 R8.z, R8, R8.w;
  11713. MOV.S R19.y, R8.z;
  11714. MOV.F R8.z, R34.w;
  11715. MOV.F R8.w, R24;
  11716. ADD.F32 R8.w, R8.z, R8;
  11717. MOV.F R19.z, R20;
  11718. MUL.F32 R8.z, R19.x, R19;
  11719. MOV.S R23.z, R8.w;
  11720. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11721. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11722. TRUNC.U R19.x, R19.z;
  11723. TRUNC.U R8.w, R8;
  11724. AND.U.CC HC.x, R8.w, R19;
  11725. IF    NE.x;
  11726. ELSE;
  11727. MOV.F R8.z, {0, 0, 0, 0}.x;
  11728. ENDIF;
  11729. MOV.F R8.w, R13.x;
  11730. MOV.F R19.x, R24.z;
  11731. ADD.F32 R8.w, R8, R19.x;
  11732. MOV.S R23.x, R8.w;
  11733. SEQ.S R8.x, R8, {0, 0, 0, 0};
  11734. MOV.U.CC RC.x, -R8;
  11735. MOV.S R8.z, R8;
  11736. MOV.F R13.x, R21.y;
  11737. MOV.F R8.w, R23;
  11738. ADD.F32 R8.w, R8, R13.x;
  11739. MOV.S R34.w, R20.x;
  11740. MOV.S R20.x, R8.w;
  11741. MOV.F R8.w, R8.z;
  11742. MOV.F R8.z, R13;
  11743. ADD.F32 R8.z, R8, R8.w;
  11744. MOV.S R20.z, R8;
  11745. MOV.F R8.w, c[8];
  11746. MOV.F R8.z, c[7].w;
  11747. ADD.F32 R8.z, -R8, R8.w;
  11748. MOV.S R24.y, R8.z;
  11749. IF    NE.x;
  11750. MOV.S R8.x, R34.w;
  11751. ELSE;
  11752. MOV.S R8.x, R13.w;
  11753. ENDIF;
  11754. MOV.F R8.z, R12.y;
  11755. ADD.F32 R8.w, R8.z, {-0.5, 0, 0, 0}.x;
  11756. MOV.F R13.x, R13.y;
  11757. MOV.F R13.z, R20.w;
  11758. MUL.F32 R8.z, R13.x, R13;
  11759. MOV.S R19.z, R8.w;
  11760. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  11761. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11762. TRUNC.U R13.x, R13.z;
  11763. TRUNC.U R8.w, R8;
  11764. AND.U.CC HC.x, R8.w, R13;
  11765. IF    NE.x;
  11766. ELSE;
  11767. MOV.F R8.z, {0, 0, 0, 0}.x;
  11768. ENDIF;
  11769. MOV.F R13.z, c[9].x;
  11770. MOV.F R13.x, R23.y;
  11771. MUL.F32 R8.w, R13.x, R13.z;
  11772. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11773. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11774. TRUNC.U R13.x, R13;
  11775. TRUNC.U R13.z, R13;
  11776. AND.U.CC HC.x, R13, R13.z;
  11777. MOV.S R22.x, R8.z;
  11778. IF    NE.x;
  11779. MOV.F R8.z, R8.w;
  11780. ELSE;
  11781. MOV.F R8.z, {0, 0, 0, 0}.x;
  11782. ENDIF;
  11783. MOV.F R13.z, R20.w;
  11784. MOV.F R13.x, R8.y;
  11785. MUL.F32 R8.w, R13.x, R13.z;
  11786. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11787. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11788. TRUNC.U R13.x, R13;
  11789. TRUNC.U R13.z, R13;
  11790. AND.U.CC HC.x, R13, R13.z;
  11791. MOV.S R22.y, R8.z;
  11792. IF    NE.x;
  11793. MOV.F R8.z, R8.w;
  11794. ELSE;
  11795. MOV.F R8.z, {0, 0, 0, 0}.x;
  11796. ENDIF;
  11797. MOV.F R13.z, c[9];
  11798. MOV.F R13.x, R21.z;
  11799. MUL.F32 R8.w, R13.x, R13.z;
  11800. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11801. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11802. TRUNC.U R13.x, R13;
  11803. TRUNC.U R13.z, R13;
  11804. AND.U.CC HC.x, R13, R13.z;
  11805. MOV.S R22.z, R8;
  11806. IF    NE.x;
  11807. MOV.F R8.z, R8.w;
  11808. ELSE;
  11809. MOV.F R8.z, {0, 0, 0, 0}.x;
  11810. ENDIF;
  11811. MOV.F R8.w, R22.z;
  11812. ADD.F32 R13.x, R8.y, R8.w;
  11813. MOV.F R8.w, R22.y;
  11814. MOV.F R8.y, R23.x;
  11815. ADD.F32 R8.y, R8, R8.w;
  11816. MOV.S R23.x, R8.y;
  11817. MOV.F R8.y, R13;
  11818. MOV.F R8.w, R22.x;
  11819. ADD.F32 R8.w, R8.y, R8;
  11820. MOV.F R8.y, R24;
  11821. RCP.F32 R8.y, R8.y;
  11822. MOV.S R20.w, R8;
  11823. MOV.F R8.w, R20.z;
  11824. MOV.S R27.y, R8;
  11825. ADD.F32 R8.y, R8.w, R8.z;
  11826. MOV.F R8.z, R8.x;
  11827. MOV.S R20.z, R8.y;
  11828. MOV.F R8.y, R23.z;
  11829. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11830. MOV.S R23.y, R13.x;
  11831. TRUNC.U R13.x, R8.w;
  11832. SNE.F32 R13.y, R8.z, {0, 0, 0, 0}.x;
  11833. MUL.F32 R8.y, R8, R8.z;
  11834. MOV.F R8.w, c[8].z;
  11835. MOV.F R8.z, c[7];
  11836. ADD.F32 R8.z, -R8, R8.w;
  11837. TRUNC.U R8.w, R13.y;
  11838. AND.U.CC HC.x, R13, R8.w;
  11839. MOV.S R22.w, R8.z;
  11840. IF    NE.x;
  11841. ELSE;
  11842. MOV.F R8.y, {0, 0, 0, 0}.x;
  11843. ENDIF;
  11844. MOV.F R13.x, R8;
  11845. MOV.F R8.w, R20.x;
  11846. MUL.F32 R8.z, R8.w, R13.x;
  11847. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11848. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11849. TRUNC.U R8.w, R8;
  11850. TRUNC.U R13.x, R13;
  11851. AND.U.CC HC.x, R8.w, R13;
  11852. MOV.S R22.x, R8.y;
  11853. IF    NE.x;
  11854. MOV.F R8.y, R8.z;
  11855. ELSE;
  11856. MOV.F R8.y, {0, 0, 0, 0}.x;
  11857. ENDIF;
  11858. MOV.F R8.w, c[8];
  11859. MOV.F R8.z, R19.y;
  11860. ADD.F32 R8.z, R8, -R8.w;
  11861. MOV.F R13.x, c[9].y;
  11862. MOV.F R8.w, R19.z;
  11863. MOV.S R22.z, R8;
  11864. MUL.F32 R8.z, R8.w, R13.x;
  11865. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11866. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11867. TRUNC.U R8.w, R8;
  11868. TRUNC.U R13.x, R13;
  11869. AND.U.CC HC.x, R8.w, R13;
  11870. MOV.S R22.y, R8;
  11871. IF    NE.x;
  11872. MOV.F R8.y, R8.z;
  11873. ELSE;
  11874. MOV.F R8.y, {0, 0, 0, 0}.x;
  11875. ENDIF;
  11876. MOV.F R8.w, R22.y;
  11877. MOV.F R8.z, R20;
  11878. ADD.F32 R8.z, R8, R8.w;
  11879. MOV.S R13.y, R8.z;
  11880. MOV.F R8.w, R22.x;
  11881. MOV.F R8.z, R23.x;
  11882. ADD.F32 R13.x, R8.z, R8.w;
  11883. MOV.F R8.w, R27.y;
  11884. MOV.F R8.z, R22.w;
  11885. MUL.F32 R8.z, R8, R8.w;
  11886. MOV.S R19.z, R8;
  11887. MOV.F R8.w, c[7];
  11888. MOV.F R8.z, R19.y;
  11889. ADD.F32 R8.z, R8, -R8.w;
  11890. MOV.F R8.w, R20;
  11891. ADD.F32 R8.y, R8.w, R8;
  11892. MOV.S R13.z, R8.y;
  11893. MOV.F R8.y, R22.z;
  11894. SGE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11895. TRUNC.U.CC HC.x, R8.y;
  11896. MOV.S R25.w, R13.x;
  11897. MOV.S R27.x, R8.z;
  11898. IF    NE.x;
  11899. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  11900. ELSE;
  11901. MOV.S R8.y, {0, 0, 0, 0}.x;
  11902. ENDIF;
  11903. MOV.F R8.z, R23.y;
  11904. MOV.F R13.x, R8;
  11905. SNE.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  11906. MUL.F32 R8.x, R8.z, R13;
  11907. TRUNC.U R19.x, R8.w;
  11908. MOV.F R8.w, c[8].x;
  11909. MOV.F R8.z, c[7].x;
  11910. ADD.F32 R8.z, -R8, R8.w;
  11911. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  11912. MOV.S R13.x, R8.z;
  11913. TRUNC.U R8.z, R8.w;
  11914. AND.U.CC HC.x, R19, R8.z;
  11915. MOV.S R31.y, R8;
  11916. IF    NE.x;
  11917. ELSE;
  11918. MOV.F R8.x, {0, 0, 0, 0};
  11919. ENDIF;
  11920. MOV.F R8.w, R19.z;
  11921. MOV.F R8.y, R27.x;
  11922. MUL.F32 R8.z, R8.y, R8.w;
  11923. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11924. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11925. TRUNC.U R8.w, R8.y;
  11926. TRUNC.U R19.x, R19;
  11927. AND.U.CC HC.x, R8.w, R19;
  11928. MOV.S R8.y, R8.x;
  11929. IF    NE.x;
  11930. MOV.F R8.x, R8.z;
  11931. ELSE;
  11932. MOV.F R8.x, {0, 0, 0, 0};
  11933. ENDIF;
  11934. MOV.F R19.x, R27;
  11935. SGE.F32 R19.x, R19, {0, 0, 0, 0};
  11936. TRUNC.U.CC HC.x, R19;
  11937. MOV.F R8.w, c[8].y;
  11938. MOV.F R8.z, c[7].y;
  11939. ADD.F32 R8.z, -R8, R8.w;
  11940. MOV.S R8.w, R8.z;
  11941. MOV.S R8.z, R8.x;
  11942. IF    NE.x;
  11943. MOV.S R8.x, {1065353216, 0, 0, 0};
  11944. ELSE;
  11945. MOV.S R8.x, {0, 0, 0, 0};
  11946. ENDIF;
  11947. ENDIF;
  11948. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  11949. MOV.U.CC RC.x, -R19;
  11950. IF    NE.x;
  11951. MOV.F R2.y, R27;
  11952. MOV.F R2.x, R8.w;
  11953. MUL.F32 R2.x, R2, R2.y;
  11954. MOV.F R2.w, R13.x;
  11955. MUL.F32 R2.y, R2, R2.w;
  11956. MOV.S R24.x, R2;
  11957. MOV.S R20.w, R2.y;
  11958. MOV.F R2.z, R8.y;
  11959. MOV.F R2.x, R13.z;
  11960. ADD.F32 R2.x, R2, R2.z;
  11961. MOV.S R19.z, R2.x;
  11962. MOV.F R2.z, R8.x;
  11963. MOV.F R2.x, c[7].z;
  11964. MOV.F R2.y, R8.z;
  11965. ADD.F32 R2.y, R2.x, R2;
  11966. MOV.F R2.x, R25.w;
  11967. MAD.F32 R2.x, R2, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  11968. MOV.S R23.y, R2;
  11969. MOV.F R2.y, R13;
  11970. MOV.S R23.w, R2.x;
  11971. MAD.F32 R2.x, R2.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  11972. MOV.F R2.y, R31;
  11973. MOV.S R26.x, R2;
  11974. ADD.F32 R2.x, -R2.y, {1, 0, 0, 0};
  11975. SNE.F32 R2.w, -R2.y, {-1, 0, 0, 0}.x;
  11976. SNE.F32 R2.y, R2.z, {0, 0, 0, 0}.x;
  11977. MUL.F32 R2.x, R2.z, R2;
  11978. TRUNC.U R2.z, R2.w;
  11979. TRUNC.U R2.y, R2;
  11980. AND.U.CC HC.x, R2.y, R2.z;
  11981. IF    NE.x;
  11982. ELSE;
  11983. MOV.F R2.x, {0, 0, 0, 0};
  11984. ENDIF;
  11985. MOV.F R2.w, R24.x;
  11986. MOV.F R2.z, R27.x;
  11987. MUL.F32 R2.y, R2.z, R2.w;
  11988. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  11989. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  11990. TRUNC.U R2.z, R2;
  11991. TRUNC.U R2.w, R2;
  11992. AND.U.CC HC.x, R2.z, R2.w;
  11993. MOV.S R23.z, R2.x;
  11994. IF    NE.x;
  11995. MOV.F R2.x, R2.y;
  11996. ELSE;
  11997. MOV.F R2.x, {0, 0, 0, 0};
  11998. ENDIF;
  11999. MOV.F R2.z, R8.x;
  12000. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  12001. MOV.F R8.y, R20.w;
  12002. MOV.F R8.x, R27;
  12003. MOV.F R2.w, R26.x;
  12004. MOV.S R19.w, R2.z;
  12005. FRC.F32 R2.z, R2.w;
  12006. MOV.S R24.x, R2.z;
  12007. SNE.F32 R2.z, R8.x, {0, 0, 0, 0}.x;
  12008. SNE.F32 R2.w, R8.y, {0, 0, 0, 0}.x;
  12009. TRUNC.U R2.z, R2;
  12010. TRUNC.U R2.w, R2;
  12011. AND.U.CC HC.x, R2.z, R2.w;
  12012. MUL.F32 R2.y, R8.x, R8;
  12013. MOV.S R22.w, R2.x;
  12014. IF    NE.x;
  12015. MOV.F R2.x, R2.y;
  12016. ELSE;
  12017. MOV.F R2.x, {0, 0, 0, 0};
  12018. ENDIF;
  12019. MOV.F R2.w, R19;
  12020. MOV.F R2.y, R19.z;
  12021. MAD.F32 R2.y, R2, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  12022. MOV.F R2.z, R23.w;
  12023. FRC.F32 R2.z, R2;
  12024. MOV.S R26.z, R2.y;
  12025. MOV.S R24.w, R2.z;
  12026. MOV.F R2.z, R22.w;
  12027. MOV.F R2.y, c[7];
  12028. ADD.F32 R2.y, R2, R2.z;
  12029. MOV.F R2.z, c[7];
  12030. MOV.S R21.y, R2;
  12031. MUL.F32 R2.y, R2.z, R2.w;
  12032. SNE.F32 R8.x, R2.w, {0, 0, 0, 0};
  12033. TRUNC.U R2.w, R8.x;
  12034. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12035. MOV.S R19.y, R2.x;
  12036. TRUNC.U R2.x, R2.z;
  12037. AND.U.CC HC.x, R2, R2.w;
  12038. IF    NE.x;
  12039. MOV.F R2.x, R2.y;
  12040. ELSE;
  12041. MOV.F R2.x, {0, 0, 0, 0};
  12042. ENDIF;
  12043. MOV.F R2.w, R23.z;
  12044. MOV.F R2.z, R23.y;
  12045. MUL.F32 R2.y, R2.z, R2.w;
  12046. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12047. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12048. TRUNC.U R2.z, R2;
  12049. TRUNC.U R2.w, R2;
  12050. AND.U.CC HC.x, R2.z, R2.w;
  12051. MOV.S R22.x, R2;
  12052. IF    NE.x;
  12053. MOV.F R2.x, R2.y;
  12054. ELSE;
  12055. MOV.F R2.x, {0, 0, 0, 0};
  12056. ENDIF;
  12057. MOV.F R2.y, R24.w;
  12058. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12059. MOV.S R19.z, R2.y;
  12060. MOV.F R2.y, R24.x;
  12061. MAD.F32 R2.z, R2.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  12062. MOV.F R2.y, R26.z;
  12063. FRC.F32 R2.y, R2;
  12064. MOV.S R20.z, R2;
  12065. MOV.S R20.w, R2.y;
  12066. MOV.F R2.w, R19.y;
  12067. MOV.F R2.z, c[7].x;
  12068. ADD.F32 R2.z, R2, R2.w;
  12069. MOV.F R2.y, R31;
  12070. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12071. MOV.S R23.x, R2.z;
  12072. MOV.F R2.z, c[8];
  12073. MUL.F32 R2.y, R2.z, R2;
  12074. TRUNC.U R2.w, R2;
  12075. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12076. MOV.S R22.y, R2.x;
  12077. TRUNC.U R2.x, R2.z;
  12078. AND.U.CC HC.x, R2, R2.w;
  12079. IF    NE.x;
  12080. MOV.F R2.x, R2.y;
  12081. ELSE;
  12082. MOV.F R2.x, {0, 0, 0, 0};
  12083. ENDIF;
  12084. MOV.F R2.z, R22.x;
  12085. MOV.F R2.y, R22;
  12086. ADD.F32 R2.y, R2, R2.z;
  12087. MOV.F R2.w, R23.z;
  12088. MOV.F R2.z, R21.y;
  12089. MOV.S R24.z, R2.y;
  12090. MUL.F32 R2.y, R2.z, R2.w;
  12091. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12092. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12093. TRUNC.U R2.z, R2;
  12094. TRUNC.U R2.w, R2;
  12095. AND.U.CC HC.x, R2.z, R2.w;
  12096. MOV.S R24.y, R2.x;
  12097. IF    NE.x;
  12098. MOV.F R2.x, R2.y;
  12099. ELSE;
  12100. MOV.F R2.x, {0, 0, 0, 0};
  12101. ENDIF;
  12102. MOV.F R2.y, R19.w;
  12103. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12104. MOV.F R2.z, c[7].y;
  12105. MUL.F32 R2.y, R2.z, R2;
  12106. TRUNC.U R2.w, R2;
  12107. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12108. MOV.S R24.w, R2.x;
  12109. TRUNC.U R2.x, R2.z;
  12110. AND.U.CC HC.x, R2, R2.w;
  12111. IF    NE.x;
  12112. MOV.F R2.x, R2.y;
  12113. ELSE;
  12114. MOV.F R2.x, {0, 0, 0, 0};
  12115. ENDIF;
  12116. MOV.F R2.z, R24;
  12117. MOV.F R2.y, R24;
  12118. ADD.F32 R2.y, R2, R2.z;
  12119. MOV.F R2.z, R24.w;
  12120. ADD.F32 R2.x, R2.z, R2;
  12121. MOV.S R19.x, R2.y;
  12122. MOV.F R2.y, R20.w;
  12123. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12124. MOV.S R20.w, R2.x;
  12125. MOV.F R2.x, R19.z;
  12126. MUL.F32 R2.x, R2, {0.159154937, 0, 0, 0};
  12127. MOV.S R20.x, R2.y;
  12128. MOV.F R2.y, R20.z;
  12129. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12130. MOV.S R19.z, R2.y;
  12131. MOV.F R2.z, R31.y;
  12132. MOV.F R2.y, c[8];
  12133. MOV.S R19.y, R2.x;
  12134. MUL.F32 R2.x, R2.y, R2.z;
  12135. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12136. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12137. TRUNC.U R2.z, R2;
  12138. TRUNC.U R2.y, R2;
  12139. AND.U.CC HC.x, R2.y, R2.z;
  12140. IF    NE.x;
  12141. ELSE;
  12142. MOV.F R2.x, {0, 0, 0, 0};
  12143. ENDIF;
  12144. MOV.F R2.w, R23.z;
  12145. MOV.F R2.z, R23.x;
  12146. MUL.F32 R2.y, R2.z, R2.w;
  12147. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12148. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12149. TRUNC.U R2.z, R2;
  12150. TRUNC.U R2.w, R2;
  12151. AND.U.CC HC.x, R2.z, R2.w;
  12152. MOV.S R24.x, R2;
  12153. IF    NE.x;
  12154. MOV.F R2.x, R2.y;
  12155. ELSE;
  12156. MOV.F R2.x, {0, 0, 0, 0};
  12157. ENDIF;
  12158. MOV.F R2.y, R12.x;
  12159. MAX.F R2.y, R2, {0, 0, 0, 0}.x;
  12160. MOV.S R23.z, R2.y;
  12161. MOV.F R2.y, R19.w;
  12162. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12163. MOV.F R2.z, c[7].x;
  12164. MUL.F32 R2.y, R2.z, R2;
  12165. TRUNC.U R2.w, R2;
  12166. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12167. MOV.S R24.y, R2.x;
  12168. TRUNC.U R2.x, R2.z;
  12169. AND.U.CC HC.x, R2, R2.w;
  12170. IF    NE.x;
  12171. MOV.F R2.x, R2.y;
  12172. ELSE;
  12173. MOV.F R2.x, {0, 0, 0, 0};
  12174. ENDIF;
  12175. MOV.F R2.y, R19;
  12176. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12177. COS.F32 R2.y, R2.y;
  12178. MOV.S R23.w, R2.y;
  12179. MOV.F R2.y, R24;
  12180. ADD.F32 R2.x, R2.y, R2;
  12181. MOV.F R2.y, R30.z;
  12182. MOV.F R2.w, R20;
  12183. MOV.F R2.z, R24.x;
  12184. ADD.F32 R2.z, R2, R2.w;
  12185. MOV.S R22.y, R2.z;
  12186. MOV.F R2.z, R19.x;
  12187. MOV.S R19.x, R2;
  12188. MUL.F32 R2.x, R2.y, R2.z;
  12189. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12190. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12191. TRUNC.U R2.z, R2;
  12192. TRUNC.U R2.y, R2;
  12193. AND.U.CC HC.x, R2.y, R2.z;
  12194. IF    NE.x;
  12195. ELSE;
  12196. MOV.F R2.x, {0, 0, 0, 0};
  12197. ENDIF;
  12198. MOV.F R2.z, R19;
  12199. MOV.F R2.y, R20.x;
  12200. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12201. MUL.F32 R2.z, R2, {6.28318548, 0, 0, 0}.x;
  12202. SIN.F32 R2.z, R2.z;
  12203. MOV.S R21.x, R2.z;
  12204. MOV.F R2.w, R22.y;
  12205. MOV.F R2.z, R30.y;
  12206. MOV.S R20.w, R2.y;
  12207. MUL.F32 R2.y, R2.z, R2.w;
  12208. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12209. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12210. TRUNC.U R2.w, R2;
  12211. TRUNC.U R2.z, R2;
  12212. AND.U.CC HC.x, R2.z, R2.w;
  12213. MOV.S R34.w, R19.z;
  12214. MOV.S R20.z, R2.x;
  12215. IF    NE.x;
  12216. MOV.F R2.x, R2.y;
  12217. ELSE;
  12218. MOV.F R2.x, {0, 0, 0, 0};
  12219. ENDIF;
  12220. MOV.F R2.z, R23;
  12221. MIN.F R2.z, R2, {0, 0, 0, 0}.x;
  12222. MOV.F R2.w, R23;
  12223. MOV.F R8.x, R21;
  12224. MOV.S R24.y, R2.z;
  12225. SNE.F32 R2.z, R2.w, {0, 0, 0, 0}.x;
  12226. MUL.F32 R2.y, R2.w, R8.x;
  12227. SNE.F32 R2.w, R8.x, {0, 0, 0, 0}.x;
  12228. TRUNC.U R2.z, R2;
  12229. TRUNC.U R2.w, R2;
  12230. AND.U.CC HC.x, R2.z, R2.w;
  12231. MOV.S R20.x, R2;
  12232. IF    NE.x;
  12233. MOV.F R2.x, R2.y;
  12234. ELSE;
  12235. MOV.F R2.x, {0, 0, 0, 0};
  12236. ENDIF;
  12237. MOV.F R2.y, R31;
  12238. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12239. MOV.F R2.z, c[8].x;
  12240. MUL.F32 R2.y, R2.z, R2;
  12241. TRUNC.U R2.w, R2;
  12242. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12243. MOV.S R19.z, R2.x;
  12244. TRUNC.U R2.x, R2.z;
  12245. AND.U.CC HC.x, R2, R2.w;
  12246. IF    NE.x;
  12247. MOV.F R2.x, R2.y;
  12248. ELSE;
  12249. MOV.F R2.x, {0, 0, 0, 0};
  12250. ENDIF;
  12251. MOV.F R2.y, R34.w;
  12252. MOV.F R2.w, R24.y;
  12253. MOV.F R2.z, R30.x;
  12254. ADD.F32 R2.z, R2, R2.w;
  12255. MOV.F R2.w, R23;
  12256. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12257. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12258. MOV.S R8.x, R2.z;
  12259. COS.F32 R2.z, R2.y;
  12260. MUL.F32 R2.y, R2.z, R2.w;
  12261. TRUNC.U R2.w, R8.y;
  12262. SNE.F32 R8.y, R2.z, {0, 0, 0, 0}.x;
  12263. MOV.S R24.w, R2.x;
  12264. TRUNC.U R2.x, R8.y;
  12265. AND.U.CC HC.x, R2.w, R2;
  12266. MOV.S R34.w, R19.y;
  12267. MOV.S R21.w, R2.z;
  12268. IF    NE.x;
  12269. MOV.F R2.x, R2.y;
  12270. ELSE;
  12271. MOV.F R2.x, {0, 0, 0, 0};
  12272. ENDIF;
  12273. MOV.F R2.z, R19.x;
  12274. MOV.F R2.y, R24.w;
  12275. ADD.F32 R2.y, R2, R2.z;
  12276. MOV.F R2.w, c[10];
  12277. MOV.F R2.z, R20;
  12278. MOV.S R22.z, R2.y;
  12279. MUL.F32 R2.y, R2.z, R2.w;
  12280. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12281. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12282. TRUNC.U R2.z, R2;
  12283. TRUNC.U R2.w, R2;
  12284. AND.U.CC HC.x, R2.z, R2.w;
  12285. MOV.S R19.y, R2.x;
  12286. IF    NE.x;
  12287. MOV.F R2.x, R2.y;
  12288. ELSE;
  12289. MOV.F R2.x, {0, 0, 0, 0};
  12290. ENDIF;
  12291. MOV.F R2.w, R21.x;
  12292. MOV.F R2.y, R34.w;
  12293. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12294. SIN.F32 R2.z, R2.y;
  12295. MOV.S R22.w, R2.x;
  12296. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  12297. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12298. MUL.F32 R2.y, R2.z, R2.w;
  12299. TRUNC.U R2.w, R8.y;
  12300. TRUNC.U R2.x, R2;
  12301. AND.U.CC HC.x, R2, R2.w;
  12302. MOV.S R23.x, R2.z;
  12303. IF    NE.x;
  12304. MOV.F R2.x, R2.y;
  12305. ELSE;
  12306. MOV.F R2.x, {0, 0, 0, 0};
  12307. ENDIF;
  12308. MOV.F R2.w, R22;
  12309. MOV.F R2.z, R32;
  12310. MUL.F32 R2.y, R2.z, R2.w;
  12311. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12312. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12313. TRUNC.U R2.w, R2;
  12314. TRUNC.U R2.z, R2;
  12315. AND.U.CC HC.x, R2.z, R2.w;
  12316. MOV.S R19.x, R2;
  12317. IF    NE.x;
  12318. MOV.F R2.x, R2.y;
  12319. ELSE;
  12320. MOV.F R2.x, {0, 0, 0, 0};
  12321. ENDIF;
  12322. MOV.F R2.w, R22.z;
  12323. MOV.F R2.z, R8.x;
  12324. MUL.F32 R2.y, R2.z, R2.w;
  12325. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12326. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12327. TRUNC.U R2.z, R2;
  12328. TRUNC.U R2.w, R2;
  12329. AND.U.CC HC.x, R2.z, R2.w;
  12330. MOV.S R21.y, R2.x;
  12331. IF    NE.x;
  12332. MOV.F R2.x, R2.y;
  12333. ELSE;
  12334. MOV.F R2.x, {0, 0, 0, 0};
  12335. ENDIF;
  12336. MOV.F R2.w, R21;
  12337. MOV.F R2.z, R23.x;
  12338. MUL.F32 R2.y, R2.z, R2.w;
  12339. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12340. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12341. TRUNC.U R2.z, R2;
  12342. TRUNC.U R2.w, R2;
  12343. AND.U.CC HC.x, R2.z, R2.w;
  12344. MOV.S R20.z, R2.x;
  12345. IF    NE.x;
  12346. MOV.F R2.x, R2.y;
  12347. ELSE;
  12348. MOV.F R2.x, {0, 0, 0, 0};
  12349. ENDIF;
  12350. MOV.F R2.y, R20.w;
  12351. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12352. SIN.F32 R2.z, R2.y;
  12353. MOV.F R2.w, R19.z;
  12354. MUL.F32 R2.y, R2.z, R2.w;
  12355. MOV.S R23.z, R2;
  12356. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12357. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12358. TRUNC.U R2.z, R2;
  12359. TRUNC.U R2.w, R2;
  12360. AND.U.CC HC.x, R2.z, R2.w;
  12361. MOV.S R19.w, R2.x;
  12362. IF    NE.x;
  12363. MOV.F R2.x, R2.y;
  12364. ELSE;
  12365. MOV.F R2.x, {0, 0, 0, 0};
  12366. ENDIF;
  12367. MOV.F R2.w, c[10].z;
  12368. MOV.F R2.z, R20.x;
  12369. MUL.F32 R2.y, R2.z, R2.w;
  12370. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12371. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12372. TRUNC.U R2.z, R2;
  12373. TRUNC.U R2.w, R2;
  12374. AND.U.CC HC.x, R2.z, R2.w;
  12375. MOV.S R22.x, R2;
  12376. IF    NE.x;
  12377. MOV.F R2.x, R2.y;
  12378. ELSE;
  12379. MOV.F R2.x, {0, 0, 0, 0};
  12380. ENDIF;
  12381. MOV.F R2.w, R19.y;
  12382. MOV.F R2.z, R23;
  12383. MUL.F32 R2.y, R2.z, R2.w;
  12384. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12385. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12386. TRUNC.U R2.z, R2;
  12387. TRUNC.U R2.w, R2;
  12388. AND.U.CC HC.x, R2.z, R2.w;
  12389. MOV.S R31.y, R2.x;
  12390. IF    NE.x;
  12391. MOV.F R2.x, R2.y;
  12392. ELSE;
  12393. MOV.F R2.x, {0, 0, 0, 0};
  12394. ENDIF;
  12395. MOV.F R2.w, R19;
  12396. MOV.F R2.z, R23;
  12397. MUL.F32 R2.y, R2.z, R2.w;
  12398. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12399. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12400. TRUNC.U R2.z, R2;
  12401. TRUNC.U R2.w, R2;
  12402. AND.U.CC HC.x, R2.z, R2.w;
  12403. MOV.S R22.z, R2.x;
  12404. IF    NE.x;
  12405. MOV.F R2.x, R2.y;
  12406. ELSE;
  12407. MOV.F R2.x, {0, 0, 0, 0};
  12408. ENDIF;
  12409. MOV.F R2.w, R19.x;
  12410. MOV.F R2.y, R22.z;
  12411. ADD.F32 R2.y, R2.w, R2;
  12412. MOV.S R8.x, R2.y;
  12413. MOV.F R2.y, R20.w;
  12414. MUL.F32 R2.z, R2.y, {6.28318548, 0, 0, 0}.x;
  12415. MOV.F R8.y, R23.z;
  12416. COS.F32 R2.z, R2.z;
  12417. MUL.F32 R2.y, R2.w, R8;
  12418. MOV.S R23.y, R2.z;
  12419. SNE.F32 R2.z, R8.y, {0, 0, 0, 0}.x;
  12420. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12421. TRUNC.U R2.z, R2;
  12422. TRUNC.U R2.w, R2;
  12423. AND.U.CC HC.x, R2.z, R2.w;
  12424. MOV.S R22.w, R2.x;
  12425. IF    NE.x;
  12426. MOV.F R2.x, R2.y;
  12427. ELSE;
  12428. MOV.F R2.x, {0, 0, 0, 0};
  12429. ENDIF;
  12430. MOV.F R2.w, R23.y;
  12431. MOV.F R2.z, R23.w;
  12432. MUL.F32 R2.y, R2.z, R2.w;
  12433. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12434. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12435. TRUNC.U R2.z, R2;
  12436. TRUNC.U R2.w, R2;
  12437. AND.U.CC HC.x, R2.z, R2.w;
  12438. MOV.S R24.y, R2.x;
  12439. IF    NE.x;
  12440. MOV.F R2.x, R2.y;
  12441. ELSE;
  12442. MOV.F R2.x, {0, 0, 0, 0};
  12443. ENDIF;
  12444. MOV.F R2.z, R24.y;
  12445. MOV.F R2.y, R19;
  12446. ADD.F32 R2.y, R2, R2.z;
  12447. MOV.S R27.x, R2.y;
  12448. MOV.F R2.z, R22.x;
  12449. MOV.F R2.y, R19.w;
  12450. ADD.F32 R2.y, -R2, R2.z;
  12451. MOV.S R17.w, R2.y;
  12452. MOV.F R2.w, R22;
  12453. MOV.F R2.z, R19;
  12454. ADD.F32 R2.z, -R2, R2.w;
  12455. MOV.F R2.y, R20.z;
  12456. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12457. MOV.S R31.z, R2;
  12458. MOV.F R2.z, c[10].y;
  12459. MUL.F32 R2.y, R2, R2.z;
  12460. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12461. TRUNC.U R2.w, R2;
  12462. TRUNC.U R2.z, R2;
  12463. AND.U.CC HC.x, R2.w, R2.z;
  12464. MOV.S R27.z, R2.x;
  12465. IF    NE.x;
  12466. MOV.F R2.x, R2.y;
  12467. ELSE;
  12468. MOV.F R2.x, {0, 0, 0, 0};
  12469. ENDIF;
  12470. MOV.F R2.w, R21.y;
  12471. MOV.F R2.z, R8.x;
  12472. MUL.F32 R2.y, R2.z, R2.w;
  12473. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12474. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12475. TRUNC.U R2.z, R2;
  12476. TRUNC.U R2.w, R2;
  12477. AND.U.CC HC.x, R2.z, R2.w;
  12478. MOV.S R13.y, R2.x;
  12479. IF    NE.x;
  12480. MOV.F R2.x, R2.y;
  12481. ELSE;
  12482. MOV.F R2.x, {0, 0, 0, 0};
  12483. ENDIF;
  12484. MOV.F R2.w, R23.y;
  12485. MOV.F R2.z, R23.x;
  12486. MUL.F32 R2.y, R2.z, R2.w;
  12487. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12488. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12489. TRUNC.U R2.z, R2;
  12490. TRUNC.U R2.w, R2;
  12491. AND.U.CC HC.x, R2.z, R2.w;
  12492. MOV.S R8.z, R2.x;
  12493. IF    NE.x;
  12494. MOV.F R2.x, R2.y;
  12495. ELSE;
  12496. MOV.F R2.x, {0, 0, 0, 0};
  12497. ENDIF;
  12498. MOV.F R2.w, R21.y;
  12499. MOV.F R2.z, R17.w;
  12500. MUL.F32 R2.y, R2.z, R2.w;
  12501. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12502. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12503. TRUNC.U R2.z, R2;
  12504. TRUNC.U R2.w, R2;
  12505. AND.U.CC HC.x, R2.z, R2.w;
  12506. MOV.S R25.w, R2.x;
  12507. IF    NE.x;
  12508. MOV.F R2.x, R2.y;
  12509. ELSE;
  12510. MOV.F R2.x, {0, 0, 0, 0};
  12511. ENDIF;
  12512. MOV.F R2.w, R21.x;
  12513. MOV.F R2.z, R23.y;
  12514. MUL.F32 R2.y, R2.z, R2.w;
  12515. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12516. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12517. TRUNC.U R2.z, R2;
  12518. TRUNC.U R2.w, R2;
  12519. AND.U.CC HC.x, R2.z, R2.w;
  12520. MOV.S R13.z, R2.x;
  12521. IF    NE.x;
  12522. MOV.F R2.x, R2.y;
  12523. ELSE;
  12524. MOV.F R2.x, {0, 0, 0, 0};
  12525. ENDIF;
  12526. MOV.F R2.w, R21.y;
  12527. MOV.F R2.z, R27;
  12528. MUL.F32 R2.y, R2.z, R2.w;
  12529. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12530. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12531. TRUNC.U R2.z, R2;
  12532. TRUNC.U R2.w, R2;
  12533. AND.U.CC HC.x, R2.z, R2.w;
  12534. MOV.S R13.x, R2;
  12535. IF    NE.x;
  12536. MOV.F R2.x, R2.y;
  12537. ELSE;
  12538. MOV.F R2.x, {0, 0, 0, 0};
  12539. ENDIF;
  12540. MOV.F R2.w, R21;
  12541. MOV.F R2.z, R23.y;
  12542. MUL.F32 R2.y, R2.z, R2.w;
  12543. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12544. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12545. TRUNC.U R2.z, R2;
  12546. TRUNC.U R2.w, R2;
  12547. AND.U.CC HC.x, R2.z, R2.w;
  12548. MOV.S R8.y, R2.x;
  12549. IF    NE.x;
  12550. MOV.F R8.w, R2.y;
  12551. ELSE;
  12552. MOV.F R8.w, {0, 0, 0, 0}.x;
  12553. ENDIF;
  12554. MOV.F R2.x, R23.z;
  12555. MOV.F R2.w, -R2.x;
  12556. MOV.F R2.xyz, R12.zyxw;
  12557. ADD.F32 R2.xyz, R2, {1, 0, 0, 0}.x;
  12558. MOV.S R30.xyz, R2;
  12559. MOV.F R2.x, R13.w;
  12560. SEQ.F R19.x, R2, {0, 0, 0, 0};
  12561. MOV.S R18.w, R2;
  12562. MOV.S R2.z, R8.w;
  12563. TRUNC.U.CC HC.x, R19;
  12564. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  12565. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  12566. IF    NE.x;
  12567. MOV.S R21.x, {-1, 0, 0, 0};
  12568. ELSE;
  12569. MOV.S R21.x, {0, 0, 0, 0};
  12570. ENDIF;
  12571. MOV.F R20, R14;
  12572. SEQ.S R14.y, R21.x, {0, 0, 0, 0}.x;
  12573. MOV.U.CC RC.x, -R14.y;
  12574. MOV.F R19.w, {1, 0, 0, 0}.x;
  12575. MOV.F R19.xyz, R10;
  12576. DP4.F32 R14.x, R20, R19;
  12577. MOV.S R14.x, R14;
  12578. IF    NE.x;
  12579. MOV.S R14.z, R13.w;
  12580. ELSE;
  12581. MOV.S R14.z, {1065353216, 0, 0, 0}.x;
  12582. ENDIF;
  12583. MOV.F R20, R15;
  12584. MOV.F R19.xyz, R10;
  12585. MOV.F R19.w, {1, 0, 0, 0}.x;
  12586. DP4.F32 R10.x, R20, R19;
  12587. MOV.F R21.xyz, R11;
  12588. MOV.F R21.w, {0, 0, 0, 0}.x;
  12589. MOV.F R20.xyz, R17;
  12590. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12591. MOV.S R14.y, R10.x;
  12592. DP4.F32 R10.x, R20, R21;
  12593. MOV.F R20.xyz, R18;
  12594. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12595. DP4.F32 R10.y, R21, R20;
  12596. MOV.S R15.y, R10.x;
  12597. MOV.S R10.x, R10.y;
  12598. MOV.S R10.y, R10.x;
  12599. MOV.F R20, R16;
  12600. DP4.F32 R10.x, R19, R20;
  12601. ADD.F32 R10.y, R10, {9.99999997e-07, 0, 0, 0}.x;
  12602. MOV.S R15.z, R10.x;
  12603. MOV.F R19.w, {-0, 0, 0, 0}.x;
  12604. MOV.F R19.xyz, R25;
  12605. DP4.F32 R10.x, R21, R19;
  12606. MOV.S R18.z, R10.y;
  12607. MOV.S R18.x, R10;
  12608. ENDIF;
  12609. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12610. MOV.U.CC RC.x, -R10;
  12611. IF    NE.x;
  12612. MOV.F R10.y, c[11].x;
  12613. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12614. MOV.S R24.y, R10;
  12615. MOV.F R10.y, c[11];
  12616. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12617. MOV.F R11.x, c[12];
  12618. MOV.F R10.z, R30;
  12619. MUL.F32 R10.x, R10.z, R11;
  12620. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12621. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12622. TRUNC.U R10.z, R10;
  12623. TRUNC.U R11.x, R11;
  12624. AND.U.CC HC.x, R10.z, R11;
  12625. MOV.S R24.x, R10.y;
  12626. IF    NE.x;
  12627. ELSE;
  12628. MOV.F R10.x, {0, 0, 0, 0};
  12629. ENDIF;
  12630. MOV.F R11.x, c[12];
  12631. MOV.F R10.z, R30.y;
  12632. MUL.F32 R10.y, R10.z, R11.x;
  12633. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12634. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12635. TRUNC.U R10.z, R10;
  12636. TRUNC.U R11.x, R11;
  12637. AND.U.CC HC.x, R10.z, R11;
  12638. MOV.S R30.z, R10.x;
  12639. IF    NE.x;
  12640. MOV.F R10.x, R10.y;
  12641. ELSE;
  12642. MOV.F R10.x, {0, 0, 0, 0};
  12643. ENDIF;
  12644. MOV.F R11.x, c[12];
  12645. MOV.F R10.z, R30.x;
  12646. MUL.F32 R10.y, R10.z, R11.x;
  12647. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12648. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12649. TRUNC.U R10.z, R10;
  12650. TRUNC.U R11.x, R11;
  12651. AND.U.CC HC.x, R10.z, R11;
  12652. MOV.S R16.w, R10.x;
  12653. IF    NE.x;
  12654. MOV.F R10.x, R10.y;
  12655. ELSE;
  12656. MOV.F R10.x, {0, 0, 0, 0};
  12657. ENDIF;
  12658. MOV.F R11.x, c[13].w;
  12659. MOV.F R10.z, R31.x;
  12660. MUL.F32 R10.y, R10.z, R11.x;
  12661. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12662. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12663. TRUNC.U R10.z, R10;
  12664. TRUNC.U R11.x, R11;
  12665. AND.U.CC HC.x, R10.z, R11;
  12666. MOV.S R30.y, R10.x;
  12667. IF    NE.x;
  12668. MOV.F R10.x, R10.y;
  12669. ELSE;
  12670. MOV.F R10.x, {0, 0, 0, 0};
  12671. ENDIF;
  12672. MOV.F R10.z, R24.y;
  12673. MOV.F R10.y, R32.x;
  12674. ADD.F32 R10.y, R10, R10.z;
  12675. MOV.F R10.z, R32.y;
  12676. MOV.F R11.x, R24;
  12677. MOV.S R22.w, R10.y;
  12678. ADD.F32 R10.y, R10.z, R11.x;
  12679. MOV.F R11.y, R31;
  12680. SNE.F32 R11.x, R10.z, -R11;
  12681. SNE.F32 R10.z, R11.y, {0, 0, 0, 0}.x;
  12682. TRUNC.U R11.x, R11;
  12683. TRUNC.U R10.z, R10;
  12684. AND.U.CC HC.x, R10.z, R11;
  12685. MUL.F32 R10.y, R11, R10;
  12686. MOV.S R22.y, R10.x;
  12687. IF    NE.x;
  12688. MOV.F R10.x, R10.y;
  12689. ELSE;
  12690. MOV.F R10.x, {0, 0, 0, 0};
  12691. ENDIF;
  12692. MOV.F R11.x, R22.w;
  12693. MOV.F R10.z, R13.y;
  12694. MUL.F32 R10.y, R10.z, R11.x;
  12695. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12696. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12697. TRUNC.U R10.z, R10;
  12698. TRUNC.U R11.x, R11;
  12699. AND.U.CC HC.x, R10.z, R11;
  12700. MOV.S R24.x, R10;
  12701. IF    NE.x;
  12702. MOV.F R10.x, R10.y;
  12703. ELSE;
  12704. MOV.F R10.x, {0, 0, 0, 0};
  12705. ENDIF;
  12706. MOV.F R10.y, R22;
  12707. RCP.F32 R10.y, R10.y;
  12708. MOV.F R11.x, R31.z;
  12709. MOV.F R10.z, R24.x;
  12710. MOV.S R21.x, R10.y;
  12711. MUL.F32 R10.y, R10.z, R11.x;
  12712. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12713. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12714. TRUNC.U R10.z, R10;
  12715. TRUNC.U R11.x, R11;
  12716. AND.U.CC HC.x, R10.z, R11;
  12717. MOV.S R21.y, R10.x;
  12718. IF    NE.x;
  12719. MOV.F R10.x, R10.y;
  12720. ELSE;
  12721. MOV.F R10.x, {0, 0, 0, 0};
  12722. ENDIF;
  12723. MOV.F R10.y, R8.z;
  12724. ADD.F32 R10.y, R10.x, R10;
  12725. MOV.F R10.z, R24.x;
  12726. MOV.F R11.x, R25.w;
  12727. MUL.F32 R10.x, R10.z, R11;
  12728. MOV.S R26.x, R10.y;
  12729. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  12730. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12731. TRUNC.U R10.z, R11.x;
  12732. TRUNC.U R10.y, R10;
  12733. AND.U.CC HC.x, R10.y, R10.z;
  12734. IF    NE.x;
  12735. ELSE;
  12736. MOV.F R10.x, {0, 0, 0, 0};
  12737. ENDIF;
  12738. ADD.F32 R10.x, R10, R8.y;
  12739. MOV.F R10.y, R24.x;
  12740. MOV.F R10.z, R27.x;
  12741. MUL.F32 R8.y, R10, R10.z;
  12742. MOV.S R26.z, R10.x;
  12743. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12744. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12745. TRUNC.U R10.y, R10.z;
  12746. TRUNC.U R10.x, R10;
  12747. AND.U.CC HC.x, R10, R10.y;
  12748. IF    NE.x;
  12749. ELSE;
  12750. MOV.F R8.y, {0, 0, 0, 0}.x;
  12751. ENDIF;
  12752. MOV.F R10.x, R13.z;
  12753. ADD.F32 R10.x, R8.y, R10;
  12754. MOV.F R10.y, R21;
  12755. MOV.F R10.z, R2;
  12756. MUL.F32 R8.y, R10, R10.z;
  12757. MOV.S R26.w, R10.x;
  12758. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12759. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12760. TRUNC.U R10.y, R10.z;
  12761. TRUNC.U R10.x, R10;
  12762. AND.U.CC HC.x, R10, R10.y;
  12763. MOV.S R34.w, R14.z;
  12764. IF    NE.x;
  12765. ELSE;
  12766. MOV.F R8.y, {0, 0, 0, 0}.x;
  12767. ENDIF;
  12768. MOV.F R10.x, R26;
  12769. ADD.F32 R10.x, R8.y, R10;
  12770. MOV.F R10.y, R21;
  12771. MOV.F R10.z, R13.x;
  12772. MUL.F32 R8.y, R10, R10.z;
  12773. MOV.S R32.x, R10;
  12774. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12775. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12776. TRUNC.U R10.y, R10.z;
  12777. TRUNC.U R10.x, R10;
  12778. AND.U.CC HC.x, R10, R10.y;
  12779. IF    NE.x;
  12780. ELSE;
  12781. MOV.F R8.y, {0, 0, 0, 0}.x;
  12782. ENDIF;
  12783. MOV.F R10.x, R26.w;
  12784. ADD.F32 R8.y, R8, R10.x;
  12785. MOV.F R10.z, R18.w;
  12786. MOV.F R10.y, R21;
  12787. MUL.F32 R10.x, R10.y, R10.z;
  12788. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12789. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12790. TRUNC.U R10.z, R10;
  12791. TRUNC.U R10.y, R10;
  12792. AND.U.CC HC.x, R10.y, R10.z;
  12793. MOV.S R8.y, R8;
  12794. IF    NE.x;
  12795. ELSE;
  12796. MOV.F R10.x, {0, 0, 0, 0};
  12797. ENDIF;
  12798. MOV.F R10.y, R26.z;
  12799. ADD.F32 R10.x, R10, R10.y;
  12800. MOV.F R11.x, R21;
  12801. MOV.F R10.z, R34.w;
  12802. MUL.F32 R10.z, R10, R11.x;
  12803. MOV.S R14.z, R10.x;
  12804. MOV.S R10.x, R10.z;
  12805. SEQ.S R10.y, R10.x, {2147483647, 0, 0, 0}.x;
  12806. MOV.U.CC RC.x, -R10.y;
  12807. MOV.S R14.w, R10.z;
  12808. MOV.U R10.x, {1, 0, 0, 0};
  12809. IF    NE.x;
  12810. MOV.S R26.y, {1065353216, 0, 0, 0}.x;
  12811. MOV.U R10.x, {0, 0, 0, 0};
  12812. ELSE;
  12813. SEQ.S R10.y, R14.w, {-1, 0, 0, 0}.x;
  12814. MOV.U.CC RC.x, -R10.y;
  12815. IF    NE.x;
  12816. MOV.S R26.y, {0, 0, 0, 0}.x;
  12817. MOV.U R10.x, {0, 0, 0, 0};
  12818. ENDIF;
  12819. ENDIF;
  12820. MOV.U.CC RC.x, R10;
  12821. IF    NE.x;
  12822. MOV.F.SAT R10.x, R14.w;
  12823. MOV.S R26.y, R10.x;
  12824. ENDIF;
  12825. MOV.S R14.w, R26.y;
  12826. ENDIF;
  12827. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12828. MOV.U.CC RC.x, -R10;
  12829. IF    NE.x;
  12830. MOV.F R8.z, R14.x;
  12831. MOV.F R20, c[14];
  12832. MOV.F R19.z, R14;
  12833. MOV.F R19.yw, R8;
  12834. MOV.F R19.x, R32;
  12835. DP4.F32 R10.x, R20, R19;
  12836. ADD.F32 R10.x, R10, R8.z;
  12837. MOV.F R20, c[15];
  12838. MOV.F R10.y, R14;
  12839. DP4.F32 R8.z, R19, R20;
  12840. ADD.F32 R8.z, R10.y, R8;
  12841. MOV.F R10.y, c[14].z;
  12842. MOV.S R15.x, R10;
  12843. MOV.F R10.z, R30;
  12844. ADD.F32 R10.x, R10, R10.z;
  12845. MOV.S R21.w, R10.x;
  12846. MOV.F R10.x, R27.z;
  12847. MOV.S R16.y, R8.z;
  12848. MUL.F32 R8.z, R10.x, R10.y;
  12849. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12850. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12851. TRUNC.U R10.y, R10;
  12852. TRUNC.U R10.x, R10;
  12853. AND.U.CC HC.x, R10, R10.y;
  12854. IF    NE.x;
  12855. MOV.F R10.x, R8.z;
  12856. ELSE;
  12857. MOV.F R10.x, {0, 0, 0, 0};
  12858. ENDIF;
  12859. MOV.F R8.z, R15;
  12860. MOV.F R10.z, c[15];
  12861. MOV.F R19, c[16];
  12862. MOV.F R20.z, R14;
  12863. MOV.F R20.yw, R8;
  12864. MOV.F R20.x, R32;
  12865. DP4.F32 R8.y, R19, R20;
  12866. ADD.F32 R10.y, R8.z, R8;
  12867. MOV.F R8.z, R16.w;
  12868. MOV.F R8.y, R16;
  12869. ADD.F32 R8.y, R8, R8.z;
  12870. MOV.F R8.z, R21.w;
  12871. ADD.F32 R8.y, R8.z, R8;
  12872. MOV.S R8.z, R10.y;
  12873. MOV.F R10.y, R27.z;
  12874. MOV.S R21.y, R8;
  12875. MUL.F32 R8.y, R10, R10.z;
  12876. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12877. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12878. TRUNC.U R10.y, R10;
  12879. TRUNC.U R10.z, R10;
  12880. AND.U.CC HC.x, R10.y, R10.z;
  12881. MOV.S R23.z, R10.x;
  12882. IF    NE.x;
  12883. ELSE;
  12884. MOV.F R8.y, {0, 0, 0, 0}.x;
  12885. ENDIF;
  12886. MOV.F R10.y, R30;
  12887. MOV.F R10.x, R8.z;
  12888. ADD.F32 R10.x, R10, R10.y;
  12889. MOV.F R10.y, R21;
  12890. MOV.S R10.x, R10;
  12891. ADD.F32 R10.x, R10, R10.y;
  12892. MOV.F R10.z, c[14];
  12893. MOV.F R10.y, R25.w;
  12894. MOV.S R16.x, R10;
  12895. MUL.F32 R10.x, R10.y, R10.z;
  12896. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12897. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12898. TRUNC.U R10.y, R10;
  12899. TRUNC.U R10.z, R10;
  12900. AND.U.CC HC.x, R10.y, R10.z;
  12901. MOV.S R23.y, R8;
  12902. IF    NE.x;
  12903. MOV.F R8.y, R10.x;
  12904. ELSE;
  12905. MOV.F R8.y, {0, 0, 0, 0}.x;
  12906. ENDIF;
  12907. MOV.F R10.z, c[15];
  12908. MOV.F R10.y, R25.w;
  12909. MUL.F32 R10.x, R10.y, R10.z;
  12910. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12911. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12912. TRUNC.U R10.y, R10;
  12913. TRUNC.U R10.z, R10;
  12914. AND.U.CC HC.x, R10.y, R10.z;
  12915. MOV.S R24.z, R8.y;
  12916. IF    NE.x;
  12917. MOV.F R8.y, R10.x;
  12918. ELSE;
  12919. MOV.F R8.y, {0, 0, 0, 0}.x;
  12920. ENDIF;
  12921. MOV.F R10.z, c[14].y;
  12922. MOV.F R10.y, R17.w;
  12923. MUL.F32 R10.x, R10.y, R10.z;
  12924. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12925. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12926. TRUNC.U R10.y, R10;
  12927. TRUNC.U R10.z, R10;
  12928. AND.U.CC HC.x, R10.y, R10.z;
  12929. MOV.S R34.w, R23.y;
  12930. MOV.S R24.w, R8.y;
  12931. IF    NE.x;
  12932. MOV.F R8.y, R10.x;
  12933. ELSE;
  12934. MOV.F R8.y, {0, 0, 0, 0}.x;
  12935. ENDIF;
  12936. MOV.F R10.x, R23.z;
  12937. ADD.F32 R8.y, R8, R10.x;
  12938. MOV.F R10.y, c[15];
  12939. MOV.F R10.x, R17.w;
  12940. MOV.S R19.x, R8.y;
  12941. MUL.F32 R8.y, R10.x, R10;
  12942. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12943. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12944. TRUNC.U R10.y, R10;
  12945. TRUNC.U R10.x, R10;
  12946. AND.U.CC HC.x, R10, R10.y;
  12947. IF    NE.x;
  12948. ELSE;
  12949. MOV.F R8.y, {0, 0, 0, 0}.x;
  12950. ENDIF;
  12951. MOV.F R10.x, R27;
  12952. SNE.F32 R10.y, R10.x, {0, 0, 0, 0}.x;
  12953. MOV.F R10.z, c[14].y;
  12954. TRUNC.U R11.x, R10.y;
  12955. MOV.F R10.y, R34.w;
  12956. ADD.F32 R8.y, R8, R10;
  12957. MUL.F32 R10.x, R10, R10.z;
  12958. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12959. TRUNC.U R10.y, R10.z;
  12960. AND.U.CC HC.x, R11, R10.y;
  12961. MOV.S R23.z, R8.y;
  12962. IF    NE.x;
  12963. MOV.F R8.y, R10.x;
  12964. ELSE;
  12965. MOV.F R8.y, {0, 0, 0, 0}.x;
  12966. ENDIF;
  12967. MOV.F R10.x, R24.z;
  12968. ADD.F32 R8.y, R8, R10.x;
  12969. MOV.F R10.y, c[15];
  12970. MOV.F R10.x, R27;
  12971. MOV.S R21.w, R8.y;
  12972. MUL.F32 R8.y, R10.x, R10;
  12973. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12974. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12975. TRUNC.U R10.y, R10;
  12976. TRUNC.U R10.x, R10;
  12977. AND.U.CC HC.x, R10, R10.y;
  12978. IF    NE.x;
  12979. ELSE;
  12980. MOV.F R8.y, {0, 0, 0, 0}.x;
  12981. ENDIF;
  12982. MOV.F R10.x, R24.w;
  12983. ADD.F32 R8.y, R8, R10.x;
  12984. MOV.F R10.z, c[15];
  12985. MOV.F R10.y, R18.w;
  12986. MUL.F32 R10.x, R10.y, R10.z;
  12987. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12988. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12989. TRUNC.U R10.z, R10;
  12990. TRUNC.U R10.y, R10;
  12991. AND.U.CC HC.x, R10.y, R10.z;
  12992. MOV.S R8.y, R8;
  12993. IF    NE.x;
  12994. ELSE;
  12995. MOV.F R10.x, {0, 0, 0, 0};
  12996. ENDIF;
  12997. MOV.F R11.x, c[14].z;
  12998. MOV.F R10.z, R18.w;
  12999. MUL.F32 R10.y, R10.z, R11.x;
  13000. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13001. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13002. TRUNC.U R10.z, R10;
  13003. TRUNC.U R11.x, R11;
  13004. AND.U.CC HC.x, R10.z, R11;
  13005. MOV.S R21.x, R10;
  13006. IF    NE.x;
  13007. MOV.F R10.x, R10.y;
  13008. ELSE;
  13009. MOV.F R10.x, {0, 0, 0, 0};
  13010. ENDIF;
  13011. MOV.F R11.x, c[15];
  13012. MOV.F R10.z, R31;
  13013. MUL.F32 R10.y, R10.z, R11.x;
  13014. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13015. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13016. TRUNC.U R10.z, R10;
  13017. TRUNC.U R11.x, R11;
  13018. AND.U.CC HC.x, R10.z, R11;
  13019. MOV.S R21.y, R10.x;
  13020. IF    NE.x;
  13021. MOV.F R10.x, R10.y;
  13022. ELSE;
  13023. MOV.F R10.x, {0, 0, 0, 0};
  13024. ENDIF;
  13025. MOV.F R10.y, R8.x;
  13026. SNE.F32 R11.x, R10.y, {0, 0, 0, 0};
  13027. MOV.F R10.z, c[15].x;
  13028. ADD.F32 R8.y, R10.x, R8;
  13029. MUL.F32 R10.y, R10, R10.z;
  13030. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13031. TRUNC.U R11.x, R11;
  13032. TRUNC.U R10.x, R10.z;
  13033. AND.U.CC HC.x, R11, R10;
  13034. MOV.S R34.w, R19.x;
  13035. MOV.S R20.w, R8.y;
  13036. IF    NE.x;
  13037. MOV.F R8.y, R10;
  13038. ELSE;
  13039. MOV.F R8.y, {0, 0, 0, 0}.x;
  13040. ENDIF;
  13041. MOV.F R10.x, R23.z;
  13042. ADD.F32 R8.y, R8, R10.x;
  13043. MOV.F R10.y, c[14].x;
  13044. MOV.F R10.x, R31.z;
  13045. MOV.S R19.x, R8.y;
  13046. MUL.F32 R8.y, R10.x, R10;
  13047. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  13048. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13049. TRUNC.U R10.y, R10;
  13050. TRUNC.U R10.x, R10;
  13051. AND.U.CC HC.x, R10, R10.y;
  13052. IF    NE.x;
  13053. ELSE;
  13054. MOV.F R8.y, {0, 0, 0, 0}.x;
  13055. ENDIF;
  13056. MOV.F R10.x, R21.w;
  13057. ADD.F32 R8.y, R8, R10.x;
  13058. MOV.S R20.y, R8;
  13059. MOV.F R8.y, R8.x;
  13060. MOV.F R10.x, c[14];
  13061. MUL.F32 R8.x, R8.y, R10;
  13062. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13063. SNE.F32
  13064. [07:59:02] Link error in shader. Log:
  13065. [07:59:02] Vertex info
  13066. -----------
  13067. Internal error: assembly compile error for vertex shader at offset 2169:
  13068. -- error message --
  13069. line 45, column 45:  error: invalid vertex attribute reference
  13070. line 79, column 25:  error: invalid vertex attribute reference
  13071. line 80, column 25:  error: invalid vertex attribute reference
  13072. line 82, column 25:  error: invalid vertex attribute reference
  13073. line 86, column 25:  error: invalid vertex attribute reference
  13074. -- internal assembly text --
  13075. !!NVvp5.0
  13076. OPTION NV_internal;
  13077. OPTION NV_gpu_program_fp64;
  13078. OPTION NV_bindless_texture;
  13079. # cgc version 3.4.0001, build date Jul  3 2019
  13080. # command line args:
  13081. #vendor NVIDIA Corporation
  13082. #version 3.4.0.1 COP Build Date Jul  3 2019
  13083. #profile gp5vp
  13084. #program main
  13085. #semantic textureUnitVS13 : TEXUNIT[0]
  13086. #semantic uf_remappedVS
  13087. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  13088. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  13089. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  13090. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  13091. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  13092. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  13093. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 1
  13094. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  13095. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  13096. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  13097. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 0
  13098. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 0
  13099. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 0
  13100. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  13101. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  13102. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  13103. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  13104. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  13105. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  13106. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  13107. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  13108. #var float4 passParameterSem11 : $vout.ATTR6 : ATTR6 : -1 : 1
  13109. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  13110. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  13111. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  13112. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  13113. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  13114. #var ulong textureUnitVS13 : TEXUNIT[0] : c[51] : -1 : 1
  13115. #var int4 uf_remappedVS[0] :  : c[0], 51 : -1 : 1
  13116. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  13117. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  13118. PARAM c[52] = { program.local[0..51] };
  13119. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  13120. OUTPUT result_attrib[] = { result.attrib[0..7] };
  13121. 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;
  13122. LONG TEMP D0;
  13123. TEMP T;
  13124. TEMP RC;
  13125. SHORT TEMP HC;
  13126. SHR.U R1, vertex.attrib[11], {8, 0, 0, 0}.x;
  13127. SHL.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  13128. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13129. SHR.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  13130. OR.U  R2, R2, R1;
  13131. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13132. OR.U  R1, R2, R1;
  13133. SHL.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  13134. OR.U  R3, R1, R0;
  13135. SHR.U R1, vertex.attrib[14], {8, 0, 0, 0}.x;
  13136. SHL.U R0, vertex.attrib[14], {8, 0, 0, 0}.x;
  13137. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13138. SHR.U R2, vertex.attrib[14], {24, 0, 0, 0}.x;
  13139. OR.U  R2, R2, R1;
  13140. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13141. OR.U  R1, R2, R1;
  13142. SHL.U R0, vertex.attrib[14], {24, 0, 0, 0}.x;
  13143. OR.U  R4, R1, R0;
  13144. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  13145. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  13146. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13147. SHR.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  13148. OR.U  R2, R2, R1;
  13149. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13150. OR.U  R1, R2, R1;
  13151. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  13152. OR.U  R21, R1, R0;
  13153. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  13154. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  13155. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13156. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  13157. OR.U  R2, R2, R1;
  13158. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13159. OR.U  R1, R2, R1;
  13160. SHL.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  13161. OR.U  R5, R1, R0;
  13162. MOV.U R0.y, R21.w;
  13163. MOV.F R0.x, c[0];
  13164. ADD.F32 R7.x, -R0.y, R0;
  13165. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  13166. MOV.S R13.w, R7.x;
  13167. SGT.F32 R7.x, {0, 0, 0, 0}, R7;
  13168. TRUNC.U R18.w, R7.x;
  13169. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  13170. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  13171. AND.U R0, R0, {65280, 0, 0, 0}.x;
  13172. OR.U  R0, R2, R0;
  13173. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  13174. OR.U  R0, R0, R2;
  13175. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  13176. OR.U  R16, R0, R1;
  13177. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  13178. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  13179. SHR.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  13180. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13181. OR.U  R1, R2, R1;
  13182. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13183. OR.U  R1, R1, R2;
  13184. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  13185. OR.U  R9, R1, R0;
  13186. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  13187. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  13188. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  13189. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13190. OR.U  R1, R2, R1;
  13191. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13192. OR.U  R1, R1, R2;
  13193. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  13194. OR.U  R6, R1, R0;
  13195. SHR.U R1, vertex.attrib[1], {8, 0, 0, 0}.x;
  13196. SHL.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  13197. SHR.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  13198. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13199. OR.U  R1, R2, R1;
  13200. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13201. OR.U  R1, R1, R2;
  13202. SHL.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  13203. OR.U  R11, R1, R0;
  13204. SHR.U R1, vertex.attrib[2], {8, 0, 0, 0}.x;
  13205. SHL.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  13206. SHR.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  13207. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13208. OR.U  R1, R2, R1;
  13209. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13210. OR.U  R1, R1, R2;
  13211. SHL.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  13212. OR.U  R14, R1, R0;
  13213. SHR.U R1.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13214. SHL.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13215. SHR.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13216. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13217. OR.U  R1.xyz, R2, R1;
  13218. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13219. OR.U  R1.xyz, R1, R2;
  13220. SHL.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13221. OR.U  R19.xyz, R1, R0;
  13222. SEQ.U R0.x, R18.w, {1, 0, 0, 0};
  13223. MOV.U R0.y, R19.x;
  13224. SEQ.U R24.x, -R0, {1, 0, 0, 0};
  13225. MOV.F R0.w, R0.y;
  13226. SHR.U R1.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  13227. MOV.U.CC RC.x, -R24;
  13228. SHL.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  13229. SHR.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  13230. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13231. OR.U  R1.xyz, R2, R1;
  13232. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13233. OR.U  R1.xyz, R1, R2;
  13234. SHL.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  13235. OR.U  R20.xyz, R1, R0;
  13236. ADD.F32 R0.x, -R0.w, {1, 0, 0, 0};
  13237. MOV.U R0.y, R19;
  13238. MOV.F R0.w, R0.y;
  13239. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  13240. MOV.S R19.w, R0.x;
  13241. SHR.U R1.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13242. SHL.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13243. SHR.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13244. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13245. OR.U  R1.xyz, R2, R1;
  13246. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13247. OR.U  R1.xyz, R1, R2;
  13248. SHL.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13249. OR.U  R13.xyz, R1, R0;
  13250. SHR.U R1.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13251. SHL.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13252. SHR.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13253. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13254. OR.U  R1.xyz, R2, R1;
  13255. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13256. OR.U  R1.xyz, R1, R2;
  13257. SHL.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13258. OR.U  R15.xyz, R1, R0;
  13259. MOV.S R27.y, R0.w;
  13260. MOV.S R10, {0, 0, 0, 0}.x;
  13261. MOV.S R12, {0, 0, 0, 0}.x;
  13262. MOV.S R8, {0, 0, 0, 0}.x;
  13263. MOV.S R1, {0, 0, 0, 0}.x;
  13264. MOV.S R0, {0, 0, 0, 0}.x;
  13265. MOV.S R2, {0, 0, 0, 0}.x;
  13266. MOV.S R7, {0, 0, 0, 0}.x;
  13267. MOV.S R23.xyz, {0, 0, 0, 0}.x;
  13268. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  13269. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  13270. MOV.S R17.yzw, {0, 0, 0, 0};
  13271. MOV.S R17.x, vertex.id;
  13272. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  13273. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  13274. IF    NE.x;
  13275. MOV.F R0.z, c[1].y;
  13276. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  13277. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  13278. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  13279. MOV.S R0.z, R0;
  13280. MOV.S R21.w, {1065353216, 0, 0, 0}.x;
  13281. ENDIF;
  13282. SEQ.U R18.w, R18, {0, 0, 0, 0}.x;
  13283. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  13284. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  13285. MOV.U.CC RC.x, -R18.w;
  13286. IF    NE.x;
  13287. MOV.S R21.w, {0, 0, 0, 0}.x;
  13288. ENDIF;
  13289. SEQ.S R18.w, R21, {0, 0, 0, 0}.x;
  13290. SEQ.U R24.y, -R18.w, {1, 0, 0, 0}.x;
  13291. MOV.U R24.x, -R18.w;
  13292. SEQ.U R18.w, -R24.y, {1, 0, 0, 0}.x;
  13293. MOV.U.CC RC.x, -R18.w;
  13294. MOV.U R24.z, -R24.y;
  13295. IF    NE.x;
  13296. MOV.F R17.x, R16.w;
  13297. TRUNC.S R17.x, R17;
  13298. I2F.S R24.y, R17.x;
  13299. MOV.F R17.x, R13.w;
  13300. SGE.F32 R17.x, R17, R24.y;
  13301. TRUNC.U R18.w, R17.x;
  13302. SEQ.U R17.x, R24.z, {1, 0, 0, 0};
  13303. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  13304. AND.U R18.w, -R18, -R17.x;
  13305. MOV.S R17.x, R24.y;
  13306. ELSE;
  13307. MOV.U R18.w, {0, 0, 0, 0}.x;
  13308. ENDIF;
  13309. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  13310. MOV.U.CC RC.x, -R18.w;
  13311. IF    NE.x;
  13312. MOV.F R0.x, c[1].y;
  13313. MUL.F32 R0.z, R0.x, {5, 0, 0, 0}.x;
  13314. MOV.S R0.xy, {0, 0, 0, 0};
  13315. MOV.S R0.z, R0;
  13316. MOV.S R18.x, {0, 0, 0, 0};
  13317. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  13318. ENDIF;
  13319. SEQ.U R24.x, R24, {1, 0, 0, 0};
  13320. SEQ.U R18.w, -R24.x, {1, 0, 0, 0}.x;
  13321. MOV.U.CC RC.x, -R18.w;
  13322. MOV.U R24.z, -R24.x;
  13323. IF    NE.x;
  13324. SEQ.S R24.x, R17.w, {0, 0, 0, 0};
  13325. SEQ.U R18.w, R24.z, {1, 0, 0, 0}.x;
  13326. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  13327. AND.U R18.w, -R24.x, -R18;
  13328. ELSE;
  13329. MOV.U R18.w, {0, 0, 0, 0}.x;
  13330. ENDIF;
  13331. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  13332. MOV.U.CC RC.x, -R24;
  13333. IF    NE.x;
  13334. MOV.F R4.x, R9;
  13335. MAX.F R4.x, R4, {0, 0, 0, 0};
  13336. MOV.S R19.z, R4.x;
  13337. MOV.F R4.x, c[4];
  13338. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  13339. TRUNC.U.CC HC.x, R4;
  13340. MOV.F R4.y, c[3].z;
  13341. MOV.F R4.z, R13.w;
  13342. ADD.F32 R4.y, R4.z, R4;
  13343. MOV.S R25.w, R4.y;
  13344. AND.S R24.y, c[2].x, {4, 0, 0, 0}.x;
  13345. AND.S R24.x, c[2], {2, 0, 0, 0};
  13346. AND.S R29.z, c[2].x, {1, 0, 0, 0}.x;
  13347. IF    NE.x;
  13348. MOV.F R10.y, {1, 0, 0, 0}.x;
  13349. ELSE;
  13350. MOV.F R10.y, {0, 0, 0, 0}.x;
  13351. ENDIF;
  13352. MOV.F R4.y, R9.x;
  13353. MOV.F R4.z, c[5].y;
  13354. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  13355. MUL.F32 R10.x, R4.y, R4.z;
  13356. TRUNC.U R4.y, R4.x;
  13357. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13358. MOV.F R4.z, R10.y;
  13359. TRUNC.U R4.x, R4;
  13360. AND.U.CC HC.x, R4.y, R4;
  13361. MOV.S R30.x, R4.z;
  13362. IF    NE.x;
  13363. MOV.F R4.y, R10.x;
  13364. ELSE;
  13365. MOV.F R4.y, {0, 0, 0, 0}.x;
  13366. ENDIF;
  13367. MOV.F R4.x, c[4];
  13368. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  13369. TRUNC.U.CC HC.x, R4;
  13370. MOV.S R28.y, R4;
  13371. IF    NE.x;
  13372. MOV.F R10.x, {1, 0, 0, 0};
  13373. ELSE;
  13374. MOV.F R10.x, {0, 0, 0, 0};
  13375. ENDIF;
  13376. I2F.S R4.z, R29;
  13377. MOV.F R4.x, R19.z;
  13378. MIN.F R4.y, R4.x, {0, 0, 0, 0}.x;
  13379. MOV.F R4.x, R13;
  13380. ADD.F32 R4.y, R4.x, R4;
  13381. MOV.F R4.x, R30;
  13382. ADD.F32 R4.x, R4, -R10;
  13383. MOV.S R17.y, R4.x;
  13384. SGT.F32 R4.x, R4.z, {0, 0, 0, 0};
  13385. TRUNC.U.CC HC.x, R4;
  13386. MOV.S R27.z, R4;
  13387. MOV.S R13.x, R4.y;
  13388. IF    NE.x;
  13389. MOV.F R4.y, {1, 0, 0, 0}.x;
  13390. ELSE;
  13391. MOV.F R4.y, {0, 0, 0, 0}.x;
  13392. ENDIF;
  13393. MOV.F R4.x, R27.z;
  13394. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  13395. TRUNC.U.CC HC.x, R4;
  13396. MOV.S R29.z, R4.y;
  13397. IF    NE.x;
  13398. MOV.F R4.y, {1, 0, 0, 0}.x;
  13399. ELSE;
  13400. MOV.F R4.y, {0, 0, 0, 0}.x;
  13401. ENDIF;
  13402. I2F.S R4.x, R24;
  13403. MOV.S R19.z, R4.x;
  13404. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  13405. TRUNC.U.CC HC.x, R4;
  13406. MOV.S R29.w, R4.y;
  13407. IF    NE.x;
  13408. MOV.F R10.x, {1, 0, 0, 0};
  13409. ELSE;
  13410. MOV.F R10.x, {0, 0, 0, 0};
  13411. ENDIF;
  13412. MOV.F R4.x, R17.y;
  13413. ADD.F32 R4.x, -R4, {1, 0, 0, 0};
  13414. MOV.S R26.y, R4.x;
  13415. MOV.F R4.x, R19.z;
  13416. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  13417. TRUNC.U.CC HC.x, R4;
  13418. MOV.F R4.y, R29.w;
  13419. MOV.F R4.z, R29;
  13420. ADD.F32 R4.y, R4.z, -R4;
  13421. MOV.S R30.z, R4.y;
  13422. MOV.F R4.y, R10.x;
  13423. MOV.S R30.x, R4.y;
  13424. IF    NE.x;
  13425. MOV.F R4.y, {1, 0, 0, 0}.x;
  13426. ELSE;
  13427. MOV.F R4.y, {0, 0, 0, 0}.x;
  13428. ENDIF;
  13429. I2F.S R4.x, R24.y;
  13430. MOV.S R27.z, R4.x;
  13431. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  13432. TRUNC.U.CC HC.x, R4;
  13433. MOV.S R30.w, R4.y;
  13434. IF    NE.x;
  13435. MOV.F R4.y, {1, 0, 0, 0}.x;
  13436. ELSE;
  13437. MOV.F R4.y, {0, 0, 0, 0}.x;
  13438. ENDIF;
  13439. MOV.F R4.x, R27.z;
  13440. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  13441. TRUNC.U.CC HC.x, R4;
  13442. MOV.S R29.x, R4.y;
  13443. IF    NE.x;
  13444. MOV.F R10.x, {1, 0, 0, 0};
  13445. ELSE;
  13446. MOV.F R10.x, {0, 0, 0, 0};
  13447. ENDIF;
  13448. MOV.F R4.z, R29.x;
  13449. ADD.F32 R4.z, R10.x, -R4;
  13450. TRUNC.S R4.z, R4;
  13451. MOV.F R4.y, R30.w;
  13452. MOV.F R4.x, R30;
  13453. ADD.F32 R4.x, R4.y, -R4;
  13454. TRUNC.S R4.y, R4.x;
  13455. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  13456. MAX.S R4.x, R4.y, R4;
  13457. I2F.S R4.x, R4;
  13458. MOV.S R21.y, R4.x;
  13459. MOV.F R4.x, R30.z;
  13460. TRUNC.S R4.y, R4.x;
  13461. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  13462. MAX.S R4.x, R4.y, R4;
  13463. ADD.S R4.y, -R4.z, {0, 0, 0, 0}.x;
  13464. MAX.S R4.y, R4.z, R4;
  13465. I2F.S R4.x, R4;
  13466. MOV.S R25.x, R4;
  13467. I2F.S R4.x, R4.y;
  13468. MOV.F R4.z, R25.w;
  13469. MOV.F R4.y, c[8].z;
  13470. DIV.F32 R4.y, R4.z, R4.y;
  13471. MOV.S R30.y, R4;
  13472. MOV.F R4.y, R9.x;
  13473. MOV.F R4.z, c[3].x;
  13474. MOV.S R28.z, R4.x;
  13475. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  13476. MUL.F32 R10.z, R4.y, R4;
  13477. TRUNC.U R4.y, R4.x;
  13478. MOV.F R4.x, c[7].z;
  13479. MOV.F R10.x, c[6].z;
  13480. ADD.F32 R10.y, -R10.x, R4.x;
  13481. MOV.F R10.x, c[6];
  13482. MOV.F R4.x, c[7];
  13483. ADD.F32 R4.x, -R10, R4;
  13484. MOV.S R24.w, R4.x;
  13485. MOV.F R4.x, c[7].y;
  13486. MOV.F R10.x, c[6].y;
  13487. MOV.S R24.z, R10.y;
  13488. ADD.F32 R10.y, -R10.x, R4.x;
  13489. MOV.F R10.x, c[6].w;
  13490. MOV.F R4.x, c[7].w;
  13491. ADD.F32 R4.x, -R10, R4;
  13492. MOV.S R25.y, R4.x;
  13493. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13494. MOV.F R10.x, c[4];
  13495. RCP.F32 R4.z, R10.x;
  13496. TRUNC.U R4.x, R4;
  13497. AND.U.CC HC.x, R4.y, R4;
  13498. MOV.S R24.y, R10;
  13499. MOV.S R27.z, R4;
  13500. IF    NE.x;
  13501. MOV.F R10.x, R10.z;
  13502. ELSE;
  13503. MOV.F R10.x, {0, 0, 0, 0};
  13504. ENDIF;
  13505. MOV.F R4.y, R13.w;
  13506. MOV.F R4.x, R27.z;
  13507. MUL.F32 R4.x, R4.y, R4;
  13508. MOV.F R4.z, R28.y;
  13509. MOV.S R4.x, R4;
  13510. ADD.F32 R4.x, R4.z, R4;
  13511. FRC.F32 R4.x, R4;
  13512. MOV.F R4.z, R30.y;
  13513. ADD.F32 R4.z, R10.x, R4;
  13514. MOV.S R29.y, R4.x;
  13515. MOV.F R4.x, R17;
  13516. DIV.F32 R4.x, R4.y, R4.x;
  13517. ADD.F32 R4.y, R4.z, {0.5, 0, 0, 0}.x;
  13518. MOV.S R10.z, R4.x;
  13519. MOV.F R4.x, R25.y;
  13520. RCP.F32 R4.x, R4.x;
  13521. FRC.F32 R4.z, R4;
  13522. MOV.S R30.y, R4;
  13523. ADD.F32 R4.y, R4.z, {-0.5, 0, 0, 0}.x;
  13524. MOV.S R29.x, R4.y;
  13525. MOV.S R28.w, R4.x;
  13526. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13527. MOV.F R4.y, c[8].x;
  13528. MUL.F32 R4.z, R4, -R4.y;
  13529. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13530. TRUNC.U R4.x, R4;
  13531. TRUNC.U R4.y, R4;
  13532. AND.U.CC HC.x, R4.y, R4;
  13533. MOV.S R10.xyw, {0, 0, 0, 0}.x;
  13534. IF    NE.x;
  13535. MOV.F R12.y, R4.z;
  13536. ELSE;
  13537. MOV.F R12.y, {0, 0, 0, 0}.x;
  13538. ENDIF;
  13539. MOV.F R4.z, R26.y;
  13540. MOV.F R4.x, R10.z;
  13541. MUL.F32 R12.x, R4, R4.z;
  13542. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13543. TRUNC.U R4.y, R4.x;
  13544. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13545. ADD.F32 R4.z, R12.y, {1, 0, 0, 0}.x;
  13546. TRUNC.U R4.x, R4;
  13547. AND.U.CC HC.x, R4.y, R4;
  13548. MOV.S R30.z, R4;
  13549. IF    NE.x;
  13550. ELSE;
  13551. MOV.F R12.x, {0, 0, 0, 0};
  13552. ENDIF;
  13553. MOV.F R4.x, R29.y;
  13554. MOV.F R4.y, R17;
  13555. MUL.F32 R4.z, R4.y, R4.x;
  13556. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13557. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13558. TRUNC.U R4.y, R4;
  13559. TRUNC.U R4.x, R4;
  13560. AND.U.CC HC.x, R4.y, R4;
  13561. MOV.S R25.w, R12.x;
  13562. IF    NE.x;
  13563. ELSE;
  13564. MOV.F R4.z, {0, 0, 0, 0}.x;
  13565. ENDIF;
  13566. MOV.F R4.y, R30;
  13567. MOV.F R4.x, R30.z;
  13568. MAX.F R4.x, R4, -R4;
  13569. FRC.F32 R4.y, R4;
  13570. MOV.S R25.z, R4.x;
  13571. MOV.F R4.x, R29;
  13572. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  13573. TRUNC.U.CC HC.x, R4;
  13574. MOV.S R30.y, R4;
  13575. MOV.S R30.x, R4.z;
  13576. IF    NE.x;
  13577. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  13578. ELSE;
  13579. MOV.S R12.z, {0, 0, 0, 0}.x;
  13580. ENDIF;
  13581. MOV.F R12.y, R28.w;
  13582. MOV.F R4.x, R24.z;
  13583. MUL.F32 R4.y, R4.x, R12;
  13584. MOV.F R4.x, R24.y;
  13585. MOV.F R4.z, R24.w;
  13586. MUL.F32 R12.x, R4.z, R12.y;
  13587. MOV.S R24.y, R4;
  13588. MOV.F R4.z, R25.w;
  13589. MUL.F32 R4.x, R12.y, R4;
  13590. MOV.F R4.y, R30.x;
  13591. ADD.F32 R4.y, R4.z, R4;
  13592. MOV.S R21.z, R4.y;
  13593. MOV.F R4.y, R30;
  13594. MAD.F32 R4.y, R4, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  13595. MOV.S R29.x, R4.y;
  13596. MOV.F R4.z, R12;
  13597. MOV.S R25.w, R4.x;
  13598. ADD.F32 R4.x, -R4.z, {1, 0, 0, 0};
  13599. MOV.F R4.y, c[8].x;
  13600. MOV.S R24.x, R12;
  13601. MUL.F32 R12.x, -R4.y, R4;
  13602. SNE.F32 R4.x, -R4.z, {-1, 0, 0, 0};
  13603. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13604. TRUNC.U R4.x, R4;
  13605. TRUNC.U R4.y, R4;
  13606. AND.U.CC HC.x, R4.y, R4;
  13607. IF    NE.x;
  13608. MOV.F R12.z, R12.x;
  13609. ELSE;
  13610. MOV.F R12.z, {0, 0, 0, 0}.x;
  13611. ENDIF;
  13612. MOV.F R4.z, R25.w;
  13613. MOV.F R4.y, R21.z;
  13614. MOV.F R4.x, c[6].w;
  13615. ADD.F32 R4.x, R4.y, -R4;
  13616. MOV.S R12.x, R4;
  13617. MOV.S R4.x, R12;
  13618. MUL.F32 R12.y, R4.x, R4.z;
  13619. MOV.F R4.y, R29.x;
  13620. MUL.F32 R4.y, R4, {0.159154937, 0, 0, 0}.x;
  13621. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13622. MOV.S R30.w, R4.y;
  13623. TRUNC.U R4.y, R4.x;
  13624. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13625. ADD.F32 R4.z, R12, {1, 0, 0, 0}.x;
  13626. TRUNC.U R4.x, R4;
  13627. AND.U.CC HC.x, R4.y, R4;
  13628. MOV.S R26.y, R12.x;
  13629. MOV.S R30.x, R4.z;
  13630. IF    NE.x;
  13631. MOV.F R12.x, R12.y;
  13632. ELSE;
  13633. MOV.F R12.x, {0, 0, 0, 0};
  13634. ENDIF;
  13635. MOV.F R4.x, R24.y;
  13636. MOV.F R4.y, R26;
  13637. MUL.F32 R4.z, R4.y, R4.x;
  13638. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13639. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13640. TRUNC.U R4.y, R4;
  13641. TRUNC.U R4.x, R4;
  13642. AND.U.CC HC.x, R4.y, R4;
  13643. MOV.S R29.x, R12;
  13644. IF    NE.x;
  13645. MOV.F R12.y, R4.z;
  13646. ELSE;
  13647. MOV.F R12.y, {0, 0, 0, 0}.x;
  13648. ENDIF;
  13649. MOV.F R4.z, R30.x;
  13650. MAX.F R4.z, R4, -R4;
  13651. MOV.F R4.x, R24;
  13652. MOV.F R4.y, R26;
  13653. MUL.F32 R12.x, R4.y, R4;
  13654. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13655. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13656. TRUNC.U R4.y, R4;
  13657. TRUNC.U R4.x, R4;
  13658. AND.U.CC HC.x, R4.y, R4;
  13659. MOV.S R24.z, R4;
  13660. MOV.S R29.y, R12;
  13661. IF    NE.x;
  13662. MOV.F R12.y, R12.x;
  13663. ELSE;
  13664. MOV.F R12.y, {0, 0, 0, 0}.x;
  13665. ENDIF;
  13666. MOV.F R4.x, R30.w;
  13667. MUL.F32 R4.x, R4, {6.28318548, 0, 0, 0};
  13668. COS.F32 R4.x, R4.x;
  13669. ADD.F32 R4.x, R4, {1, 0, 0, 0};
  13670. MOV.S R4.x, R4;
  13671. MOV.S R4.z, R4.x;
  13672. MOV.F R4.y, c[6].z;
  13673. MOV.F R4.x, R29.y;
  13674. ADD.F32 R4.x, R4.y, R4;
  13675. MOV.F R4.y, R4.z;
  13676. MUL.F32 R4.z, R4.y, {0.5, 0, 0, 0}.x;
  13677. MOV.S R22.z, R4.x;
  13678. MOV.F R4.y, c[6];
  13679. MOV.F R4.x, R29;
  13680. ADD.F32 R4.x, R4.y, R4;
  13681. MOV.S R4.y, R4.z;
  13682. MOV.S R21.w, R4.x;
  13683. MOV.S R4.x, R4.y;
  13684. MOV.F R4.y, c[8].x;
  13685. MUL.F32 R12.x, -R4.y, R4;
  13686. MOV.F R4.z, c[6].x;
  13687. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13688. ADD.F32 R4.z, R4, R12.y;
  13689. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13690. TRUNC.U R4.x, R4;
  13691. TRUNC.U R4.y, R4;
  13692. AND.U.CC HC.x, R4.y, R4;
  13693. MOV.S R23.x, R4.z;
  13694. MOV.S R22.xy, {0, 0, 0, 0}.x;
  13695. IF    NE.x;
  13696. MOV.F R4.x, R12;
  13697. ELSE;
  13698. MOV.F R4.x, {0, 0, 0, 0};
  13699. ENDIF;
  13700. MOV.F R4.z, c[7].w;
  13701. MOV.F R12.x, R25;
  13702. MOV.F R12.y, R21;
  13703. MOV.F R12.z, R28;
  13704. MOV.F R12.w, {-0, 0, 0, 0}.x;
  13705. MOV.F R17.y, R25.z;
  13706. MOV.F R17.z, R24;
  13707. MOV.F R17.w, {0, 0, 0, 0}.x;
  13708. ADD.F32 R17.x, R4, {1, 0, 0, 0};
  13709. DP4.F32 R4.x, R12, R17;
  13710. MOV.F R12.x, R21.z;
  13711. ADD.F32 R4.y, R12.x, -R4.z;
  13712. MOV.S R12.z, R4.x;
  13713. SGE.F32 R4.x, R12, R4.z;
  13714. MOV.S R26.z, R4.y;
  13715. TRUNC.U.CC HC.x, R4;
  13716. MOV.F R4.y, c[9].x;
  13717. MOV.F R4.z, c[7].x;
  13718. ADD.F32 R4.y, -R4.z, R4;
  13719. MOV.S R12.xyw, {0, 0, 0, 0}.x;
  13720. MOV.S R24.y, R4;
  13721. IF    NE.x;
  13722. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  13723. ELSE;
  13724. MOV.S R4.z, {0, 0, 0, 0}.x;
  13725. ENDIF;
  13726. MOV.F R4.x, R26.y;
  13727. SGE.F32 R4.y, R4.x, {0, 0, 0, 0}.x;
  13728. TRUNC.U.CC HC.x, R4.y;
  13729. MOV.S R4.x, R4.z;
  13730. IF    NE.x;
  13731. MOV.S R17.z, {1065353216, 0, 0, 0}.x;
  13732. ELSE;
  13733. MOV.S R17.z, {0, 0, 0, 0}.x;
  13734. ENDIF;
  13735. MOV.F R15.w, c[9];
  13736. MOV.F R4.z, R21;
  13737. ADD.F32 R4.y, R4.z, -R15.w;
  13738. MOV.S R21.y, R4;
  13739. SGE.F32 R4.y, R4.z, R15.w;
  13740. TRUNC.U.CC HC.x, R4.y;
  13741. MOV.F R17.x, c[7].z;
  13742. MOV.F R4.z, c[9];
  13743. ADD.F32 R4.z, -R17.x, R4;
  13744. MOV.S R25.x, R4.z;
  13745. MOV.F R4.z, c[7].w;
  13746. ADD.F32 R4.z, R15.w, -R4;
  13747. MOV.F R17.x, c[9].y;
  13748. MOV.F R17.y, c[7];
  13749. ADD.F32 R17.x, -R17.y, R17;
  13750. MOV.S R25.w, R17.x;
  13751. MOV.S R30.z, R4;
  13752. MOV.S R23.y, R17.z;
  13753. IF    NE.x;
  13754. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  13755. ELSE;
  13756. MOV.S R4.y, {0, 0, 0, 0}.x;
  13757. ENDIF;
  13758. MOV.F R17.x, R30.z;
  13759. MOV.F R4.z, R24.y;
  13760. DIV.F32 R15.w, R4.z, R17.x;
  13761. MOV.F R4.z, R25.w;
  13762. DIV.F32 R4.z, R4, R17.x;
  13763. MOV.S R30.w, R15;
  13764. MOV.F R15.w, R25.x;
  13765. MOV.S R30.x, R4.z;
  13766. DIV.F32 R4.z, R15.w, R17.x;
  13767. SNE.F32 R15.w, R4.z, {0, 0, 0, 0}.x;
  13768. MOV.F R17.x, R26.z;
  13769. MUL.F32 R4.z, R17.x, R4;
  13770. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  13771. MOV.F R17.y, c[10];
  13772. MOV.F R17.z, c[9].y;
  13773. ADD.F32 R17.w, -R17.z, R17.y;
  13774. MOV.F R17.z, c[9];
  13775. MOV.F R17.y, c[10].z;
  13776. ADD.F32 R17.y, -R17.z, R17;
  13777. MOV.S R24.y, R17;
  13778. MOV.F R17.y, c[10].x;
  13779. MOV.F R17.z, c[9].x;
  13780. MOV.S R26.y, R17.w;
  13781. ADD.F32 R17.w, -R17.z, R17.y;
  13782. TRUNC.U R15.w, R15;
  13783. TRUNC.U R17.x, R17;
  13784. AND.U.CC HC.x, R17, R15.w;
  13785. MOV.F R17.y, c[10].w;
  13786. MOV.F R17.z, c[9].w;
  13787. ADD.F32 R17.y, -R17.z, R17;
  13788. MOV.S R24.z, R17.w;
  13789. MOV.S R27.z, R17.y;
  13790. MOV.S R21.x, R4.y;
  13791. IF    NE.x;
  13792. MOV.F R17.x, R4.z;
  13793. ELSE;
  13794. MOV.F R17.x, {0, 0, 0, 0};
  13795. ENDIF;
  13796. MOV.F R4.y, R30.w;
  13797. MOV.F R4.z, R26;
  13798. MUL.F32 R15.w, R4.z, R4.y;
  13799. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  13800. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13801. TRUNC.U R4.z, R4;
  13802. TRUNC.U R4.y, R4;
  13803. AND.U.CC HC.x, R4.z, R4.y;
  13804. MOV.S R29.x, R17;
  13805. IF    NE.x;
  13806. MOV.F R17.z, R15.w;
  13807. ELSE;
  13808. MOV.F R17.z, {0, 0, 0, 0}.x;
  13809. ENDIF;
  13810. MOV.F R4.y, R30.x;
  13811. MOV.F R15.w, R26.z;
  13812. MUL.F32 R17.y, R15.w, R4;
  13813. SNE.F32 R15.w, R15, {0, 0, 0, 0}.x;
  13814. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13815. MOV.F R4.z, c[10].w;
  13816. MOV.F R17.x, R21.z;
  13817. ADD.F32 R4.z, R17.x, -R4;
  13818. TRUNC.U R15.w, R15;
  13819. TRUNC.U R4.y, R4;
  13820. AND.U.CC HC.x, R15.w, R4.y;
  13821. MOV.S R4.z, R4;
  13822. MOV.S R29.y, R17.z;
  13823. IF    NE.x;
  13824. MOV.F R4.y, R17;
  13825. ELSE;
  13826. MOV.F R4.y, {0, 0, 0, 0}.x;
  13827. ENDIF;
  13828. MOV.F R24.x, R27.z;
  13829. MOV.F R15.w, R26.y;
  13830. DIV.F32 R17.z, R15.w, R24.x;
  13831. MOV.F R17.x, R24.z;
  13832. DIV.F32 R17.w, R17.x, R24.x;
  13833. MOV.F R17.x, R21.y;
  13834. MUL.F32 R17.y, R17.x, R17.z;
  13835. MOV.S R30.x, R17.w;
  13836. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  13837. MOV.F R15.w, R29.y;
  13838. MOV.F R17.w, c[7].x;
  13839. ADD.F32 R19.z, R17.w, R15.w;
  13840. MOV.F R17.w, c[7].z;
  13841. MOV.F R15.w, R29.x;
  13842. ADD.F32 R15.w, R17, R15;
  13843. MOV.F R17.w, R24.y;
  13844. MOV.S R23.z, R19;
  13845. DIV.F32 R19.z, R17.w, R24.x;
  13846. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  13847. MOV.S R17.x, R19.z;
  13848. MOV.F R19.z, c[7].y;
  13849. ADD.F32 R4.y, R19.z, R4;
  13850. TRUNC.U R17.w, R17;
  13851. TRUNC.U R17.z, R17;
  13852. AND.U.CC HC.x, R17.w, R17.z;
  13853. MOV.S R15.w, R15;
  13854. MOV.S R4.y, R4;
  13855. IF    NE.x;
  13856. MOV.F R24.x, R17.y;
  13857. ELSE;
  13858. MOV.F R24.x, {0, 0, 0, 0};
  13859. ENDIF;
  13860. MOV.F R17.y, R30.x;
  13861. MOV.F R17.z, R21.y;
  13862. MUL.F32 R19.z, R17, R17.y;
  13863. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  13864. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  13865. TRUNC.U R17.w, R17.z;
  13866. TRUNC.U R17.z, R17.y;
  13867. AND.U.CC HC.x, R17.w, R17.z;
  13868. MOV.S R17.y, R24.x;
  13869. IF    NE.x;
  13870. MOV.F R24.x, R19.z;
  13871. ELSE;
  13872. MOV.F R24.x, {0, 0, 0, 0};
  13873. ENDIF;
  13874. MOV.F R17.z, c[11].x;
  13875. MOV.F R17.w, c[10].x;
  13876. ADD.F32 R19.z, -R17.w, R17;
  13877. MOV.F R17.w, c[10].y;
  13878. MOV.F R17.z, c[11].y;
  13879. ADD.F32 R17.z, -R17.w, R17;
  13880. MOV.S R17.w, R19.z;
  13881. MOV.S R19.z, R17;
  13882. MOV.S R17.z, R24.x;
  13883. ENDIF;
  13884. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  13885. MOV.U.CC RC.x, -R24;
  13886. IF    NE.x;
  13887. MOV.F R16.w, R4.z;
  13888. SGE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13889. TRUNC.U.CC HC.x, R16.w;
  13890. MOV.F R22.x, R17.z;
  13891. MOV.F R24.x, c[9];
  13892. ADD.F32 R22.x, R24, R22;
  13893. MOV.S R25.x, R22;
  13894. IF    NE.x;
  13895. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  13896. ELSE;
  13897. MOV.S R16.w, {0, 0, 0, 0}.x;
  13898. ENDIF;
  13899. MOV.F R24.x, c[9].y;
  13900. MOV.F R22.x, R17.y;
  13901. ADD.F32 R22.x, R24, R22;
  13902. MUL.F32 R24.x, R21.y, R17;
  13903. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  13904. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  13905. TRUNC.U R17.x, R17;
  13906. TRUNC.U R21.y, R21;
  13907. AND.U.CC HC.x, R21.y, R17;
  13908. MOV.S R26.z, R22.x;
  13909. IF    NE.x;
  13910. MOV.F R22.x, R24;
  13911. ELSE;
  13912. MOV.F R22.x, {0, 0, 0, 0};
  13913. ENDIF;
  13914. MOV.F R21.y, R21.z;
  13915. MOV.S R21.z, R22.x;
  13916. MOV.F R17.x, R21;
  13917. ADD.F32 R17.x, -R17, {1, 0, 0, 0};
  13918. MOV.S R25.z, R17.x;
  13919. MOV.F R17.x, c[11].w;
  13920. SGE.F32 R17.x, R21.y, R17;
  13921. MOV.S R21.y, R21.z;
  13922. MOV.F R21.z, c[9];
  13923. ADD.F32 R21.y, R21.z, R21;
  13924. MOV.F R22.x, R16.w;
  13925. ADD.F32 R21.z, -R22.x, {1, 0, 0, 0}.x;
  13926. TRUNC.U.CC HC.x, R17;
  13927. MOV.S R25.y, R21;
  13928. MOV.S R30.x, R21.z;
  13929. IF    NE.x;
  13930. MOV.S R17.x, {1065353216, 0, 0, 0};
  13931. ELSE;
  13932. MOV.S R17.x, {0, 0, 0, 0};
  13933. ENDIF;
  13934. MOV.F R21.y, R4.x;
  13935. ADD.F32 R21.y, -R21, {1, 0, 0, 0}.x;
  13936. MOV.S R28.y, R21;
  13937. MOV.F R21.y, R17.x;
  13938. MOV.F R21.z, c[11];
  13939. MUL.F32 R22.x, R21.z, R21.y;
  13940. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  13941. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  13942. TRUNC.U R21.y, R21;
  13943. TRUNC.U R21.z, R21;
  13944. AND.U.CC HC.x, R21.z, R21.y;
  13945. IF    NE.x;
  13946. MOV.F R21.y, R22.x;
  13947. ELSE;
  13948. MOV.F R21.y, {0, 0, 0, 0}.x;
  13949. ENDIF;
  13950. MOV.F R21.z, R21.x;
  13951. MOV.F R22.x, R30;
  13952. MUL.F32 R21.x, R21.z, R22;
  13953. SNE.F32 R22.x, R22, {0, 0, 0, 0};
  13954. TRUNC.U R24.x, R22;
  13955. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  13956. TRUNC.U R21.z, R21;
  13957. AND.U.CC HC.x, R21.z, R24;
  13958. MOV.F R24.y, c[10].z;
  13959. MOV.F R22.x, c[11].z;
  13960. ADD.F32 R22.x, -R24.y, R22;
  13961. MOV.S R26.y, R22.x;
  13962. MOV.F R24.y, c[10].w;
  13963. MOV.F R22.x, c[11].w;
  13964. ADD.F32 R22.x, -R24.y, R22;
  13965. MOV.F R24.y, R17.x;
  13966. MOV.S R29.w, R22.x;
  13967. ADD.F32 R24.y, -R24, {1, 0, 0, 0}.x;
  13968. MOV.S R22.x, R21.y;
  13969. MOV.S R29.z, R24.y;
  13970. IF    NE.x;
  13971. MOV.F R24.y, R21.x;
  13972. ELSE;
  13973. MOV.F R24.y, {0, 0, 0, 0}.x;
  13974. ENDIF;
  13975. MOV.F R21.x, R29.z;
  13976. MOV.F R21.z, R16.w;
  13977. SNE.F32 R16.w, R21.x, {0, 0, 0, 0}.x;
  13978. MUL.F32 R24.x, R21.z, R21;
  13979. SNE.F32 R21.x, R21.z, {0, 0, 0, 0};
  13980. TRUNC.U R16.w, R16;
  13981. TRUNC.U R21.x, R21;
  13982. AND.U.CC HC.x, R21, R16.w;
  13983. MOV.S R21.y, R25.x;
  13984. MOV.S R24.z, R24.y;
  13985. IF    NE.x;
  13986. ELSE;
  13987. MOV.F R24.x, {0, 0, 0, 0};
  13988. ENDIF;
  13989. MOV.F R16.w, R17.x;
  13990. MOV.F R21.x, c[11];
  13991. MUL.F32 R21.z, R21.x, R16.w;
  13992. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13993. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  13994. TRUNC.U R16.w, R16;
  13995. TRUNC.U R21.x, R21;
  13996. AND.U.CC HC.x, R21, R16.w;
  13997. MOV.S R25.x, R24;
  13998. IF    NE.x;
  13999. ELSE;
  14000. MOV.F R21.z, {0, 0, 0, 0}.x;
  14001. ENDIF;
  14002. MOV.F R16.w, R17.x;
  14003. MOV.F R17.x, c[11].y;
  14004. MUL.F32 R21.x, R17, R16.w;
  14005. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14006. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  14007. TRUNC.U R16.w, R16;
  14008. TRUNC.U R17.x, R17;
  14009. AND.U.CC HC.x, R17, R16.w;
  14010. MOV.S R24.y, R21.z;
  14011. IF    NE.x;
  14012. MOV.F R21.z, R21.x;
  14013. ELSE;
  14014. MOV.F R21.z, {0, 0, 0, 0}.x;
  14015. ENDIF;
  14016. MOV.F R17.x, R24.z;
  14017. MOV.F R21.x, R21.y;
  14018. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  14019. MUL.F32 R21.y, R21.x, R17.x;
  14020. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  14021. TRUNC.U R16.w, R16;
  14022. TRUNC.U R17.x, R17;
  14023. AND.U.CC HC.x, R17, R16.w;
  14024. MOV.S R28.z, R21;
  14025. IF    NE.x;
  14026. MOV.F R16.w, R21.y;
  14027. ELSE;
  14028. MOV.F R16.w, {0, 0, 0, 0}.x;
  14029. ENDIF;
  14030. MOV.F R21.z, R29.w;
  14031. RCP.F32 R21.z, R21.z;
  14032. MOV.F R21.x, R24.z;
  14033. MOV.F R21.y, R26.z;
  14034. MUL.F32 R17.x, R21.y, R21;
  14035. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  14036. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  14037. TRUNC.U R21.y, R21;
  14038. TRUNC.U R21.x, R21;
  14039. AND.U.CC HC.x, R21.y, R21;
  14040. MOV.S R27.z, R21;
  14041. MOV.S R24.w, R16;
  14042. IF    NE.x;
  14043. MOV.F R16.w, R17.x;
  14044. ELSE;
  14045. MOV.F R16.w, {0, 0, 0, 0}.x;
  14046. ENDIF;
  14047. MOV.F R21.x, R24.z;
  14048. MOV.F R21.y, R25;
  14049. MOV.F R24.x, R27.z;
  14050. MOV.F R21.z, R26.y;
  14051. MUL.F32 R21.z, R21, R24.x;
  14052. MOV.S R29.w, R21.z;
  14053. MOV.F R21.z, R19;
  14054. MUL.F32 R19.z, R24.x, R17.w;
  14055. MUL.F32 R17.w, R24.x, R21.z;
  14056. MOV.S R29.z, R19;
  14057. MOV.S R29.y, R17.w;
  14058. SNE.F32 R17.w, R21.x, {0, 0, 0, 0}.x;
  14059. MUL.F32 R17.x, R21.y, R21;
  14060. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  14061. TRUNC.U R19.z, R19;
  14062. TRUNC.U R17.w, R17;
  14063. AND.U.CC HC.x, R19.z, R17.w;
  14064. MOV.S R21.x, R16.w;
  14065. IF    NE.x;
  14066. MOV.F R21.y, R17.x;
  14067. ELSE;
  14068. MOV.F R21.y, {0, 0, 0, 0}.x;
  14069. ENDIF;
  14070. MOV.F R16.w, R29.z;
  14071. MOV.F R17.x, R4.z;
  14072. MUL.F32 R19.z, R17.x, R16.w;
  14073. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  14074. TRUNC.U R17.w, R17.x;
  14075. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14076. TRUNC.U R16.w, R16;
  14077. AND.U.CC HC.x, R17.w, R16.w;
  14078. MOV.S R17.x, R21.y;
  14079. IF    NE.x;
  14080. MOV.F R21.y, R19.z;
  14081. ELSE;
  14082. MOV.F R21.y, {0, 0, 0, 0}.x;
  14083. ENDIF;
  14084. MOV.F R16.w, R29;
  14085. MOV.F R17.w, R4.z;
  14086. MUL.F32 R19.z, R17.w, R16.w;
  14087. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14088. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14089. TRUNC.U R17.w, R17;
  14090. TRUNC.U R16.w, R16;
  14091. AND.U.CC HC.x, R17.w, R16.w;
  14092. MOV.S R30.x, R21.y;
  14093. IF    NE.x;
  14094. MOV.F R21.y, R19.z;
  14095. ELSE;
  14096. MOV.F R21.y, {0, 0, 0, 0}.x;
  14097. ENDIF;
  14098. MOV.F R16.w, R29.y;
  14099. MOV.F R17.w, R4.z;
  14100. MUL.F32 R19.z, R17.w, R16.w;
  14101. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14102. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14103. TRUNC.U R17.w, R17;
  14104. TRUNC.U R16.w, R16;
  14105. AND.U.CC HC.x, R17.w, R16.w;
  14106. MOV.S R30.y, R21;
  14107. IF    NE.x;
  14108. MOV.F R21.y, R19.z;
  14109. ELSE;
  14110. MOV.F R21.y, {0, 0, 0, 0}.x;
  14111. ENDIF;
  14112. MOV.F R16.w, R25.z;
  14113. MOV.F R17.w, R4.x;
  14114. MUL.F32 R19.z, R17.w, R16.w;
  14115. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14116. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14117. TRUNC.U R17.w, R17;
  14118. TRUNC.U R16.w, R16;
  14119. AND.U.CC HC.x, R17.w, R16.w;
  14120. MOV.S R30.z, R21.y;
  14121. IF    NE.x;
  14122. MOV.F R21.y, R19.z;
  14123. ELSE;
  14124. MOV.F R21.y, {0, 0, 0, 0}.x;
  14125. ENDIF;
  14126. MOV.F R16.w, R28.y;
  14127. MOV.F R17.w, R23.y;
  14128. MUL.F32 R19.z, R17.w, R16.w;
  14129. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14130. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14131. TRUNC.U R16.w, R16;
  14132. TRUNC.U R17.w, R17;
  14133. AND.U.CC HC.x, R17.w, R16.w;
  14134. MOV.S R25.w, R21.y;
  14135. IF    NE.x;
  14136. MOV.F R16.w, R19.z;
  14137. ELSE;
  14138. MOV.F R16.w, {0, 0, 0, 0}.x;
  14139. ENDIF;
  14140. MOV.F R19.z, c[10].y;
  14141. MOV.F R17.w, R30.z;
  14142. ADD.F32 R17.w, R19.z, R17;
  14143. MOV.S R29.x, R17.w;
  14144. MOV.F R17.w, R25;
  14145. MOV.F R19.z, R23;
  14146. MUL.F32 R21.y, R19.z, R17.w;
  14147. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14148. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14149. TRUNC.U R17.w, R17;
  14150. TRUNC.U R19.z, R19;
  14151. AND.U.CC HC.x, R19.z, R17.w;
  14152. MOV.S R28.w, R16;
  14153. IF    NE.x;
  14154. MOV.F R17.w, R21.y;
  14155. ELSE;
  14156. MOV.F R17.w, {0, 0, 0, 0}.x;
  14157. ENDIF;
  14158. MOV.F R19.z, R25.w;
  14159. MOV.F R21.y, R4;
  14160. MUL.F32 R16.w, R21.y, R19.z;
  14161. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  14162. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14163. MOV.F R21.z, R30.x;
  14164. MOV.F R23.z, c[10].x;
  14165. ADD.F32 R23.z, R23, R21;
  14166. MOV.F R21.z, R30.y;
  14167. MOV.F R24.x, c[10].z;
  14168. ADD.F32 R21.z, R24.x, R21;
  14169. TRUNC.U R21.y, R21;
  14170. TRUNC.U R19.z, R19;
  14171. AND.U.CC HC.x, R21.y, R19.z;
  14172. MOV.S R29.w, R23.z;
  14173. MOV.S R29.z, R21;
  14174. MOV.S R28.y, R17.w;
  14175. IF    NE.x;
  14176. MOV.F R21.y, R16.w;
  14177. ELSE;
  14178. MOV.F R21.y, {0, 0, 0, 0}.x;
  14179. ENDIF;
  14180. MOV.F R16.w, R25;
  14181. MOV.F R17.w, R15;
  14182. MUL.F32 R19.z, R17.w, R16.w;
  14183. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14184. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14185. TRUNC.U R17.w, R17;
  14186. TRUNC.U R16.w, R16;
  14187. AND.U.CC HC.x, R17.w, R16.w;
  14188. MOV.S R28.x, R21.y;
  14189. IF    NE.x;
  14190. MOV.F R21.y, R19.z;
  14191. ELSE;
  14192. MOV.F R21.y, {0, 0, 0, 0}.x;
  14193. ENDIF;
  14194. MOV.F R16.w, R25.x;
  14195. MOV.F R17.w, R29.x;
  14196. MUL.F32 R19.z, R17.w, R16.w;
  14197. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14198. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14199. TRUNC.U R17.w, R17;
  14200. TRUNC.U R16.w, R16;
  14201. AND.U.CC HC.x, R17.w, R16.w;
  14202. MOV.S R26.x, R21.y;
  14203. IF    NE.x;
  14204. MOV.F R21.y, R19.z;
  14205. ELSE;
  14206. MOV.F R21.y, {0, 0, 0, 0}.x;
  14207. ENDIF;
  14208. MOV.F R16.w, R25.x;
  14209. MOV.F R17.w, R29;
  14210. MUL.F32 R19.z, R17.w, R16.w;
  14211. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14212. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14213. TRUNC.U R17.w, R17;
  14214. TRUNC.U R16.w, R16;
  14215. AND.U.CC HC.x, R17.w, R16.w;
  14216. MOV.S R26.y, R21;
  14217. IF    NE.x;
  14218. MOV.F R21.y, R19.z;
  14219. ELSE;
  14220. MOV.F R21.y, {0, 0, 0, 0}.x;
  14221. ENDIF;
  14222. MOV.F R16.w, R25.x;
  14223. MOV.F R17.w, R29.z;
  14224. MUL.F32 R19.z, R17.w, R16.w;
  14225. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14226. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14227. TRUNC.U R17.w, R17;
  14228. TRUNC.U R16.w, R16;
  14229. AND.U.CC HC.x, R17.w, R16.w;
  14230. MOV.S R24.z, R21.y;
  14231. IF    NE.x;
  14232. MOV.F R21.y, R19.z;
  14233. ELSE;
  14234. MOV.F R21.y, {0, 0, 0, 0}.x;
  14235. ENDIF;
  14236. MOV.F R16.w, R28;
  14237. MOV.F R17.w, R23.x;
  14238. MUL.F32 R19.z, R17.w, R16.w;
  14239. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14240. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14241. TRUNC.U R16.w, R16;
  14242. TRUNC.U R17.w, R17;
  14243. AND.U.CC HC.x, R17.w, R16.w;
  14244. MOV.S R25.w, R21.y;
  14245. IF    NE.x;
  14246. MOV.F R16.w, R19.z;
  14247. ELSE;
  14248. MOV.F R16.w, {0, 0, 0, 0}.x;
  14249. ENDIF;
  14250. MOV.F R19.z, R9.x;
  14251. MOV.F R17.w, R9.y;
  14252. ADD.F32 R17.w, R19.z, R17;
  14253. MOV.S R24.x, R17.w;
  14254. MOV.F R17.w, R28;
  14255. MOV.F R19.z, R22;
  14256. MUL.F32 R21.y, R19.z, R17.w;
  14257. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14258. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14259. TRUNC.U R17.w, R17;
  14260. TRUNC.U R19.z, R19;
  14261. AND.U.CC HC.x, R19.z, R17.w;
  14262. MOV.S R25.x, R16.w;
  14263. IF    NE.x;
  14264. ELSE;
  14265. MOV.F R21.y, {0, 0, 0, 0}.x;
  14266. ENDIF;
  14267. MOV.F R16.w, R28;
  14268. MOV.F R17.w, R21;
  14269. MUL.F32 R19.z, R17.w, R16.w;
  14270. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14271. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14272. TRUNC.U R17.w, R17;
  14273. TRUNC.U R16.w, R16;
  14274. AND.U.CC HC.x, R17.w, R16.w;
  14275. MOV.S R25.y, R21;
  14276. IF    NE.x;
  14277. MOV.F R16.w, R19.z;
  14278. ELSE;
  14279. MOV.F R16.w, {0, 0, 0, 0}.x;
  14280. ENDIF;
  14281. MOV.F R29, R6;
  14282. MOV.F R6.w, R23.y;
  14283. ADD.F32 R19.z, -R6.w, {1, 0, 0, 0}.x;
  14284. SNE.F32 R6.w, -R6, {-1, 0, 0, 0}.x;
  14285. MOV.F R17.w, c[6].x;
  14286. MOV.S R28.w, R19.z;
  14287. MOV.S R25.z, R16.w;
  14288. SNE.F32 R16.w, R17, {0, 0, 0, 0}.x;
  14289. MUL.F32 R19.z, R19, R17.w;
  14290. MOV.F R30.w, {1, 0, 0, 0}.x;
  14291. MOV.F R30.xyz, R16;
  14292. DP4.F32 R6.z, R29, R30;
  14293. TRUNC.U R6.w, R6;
  14294. TRUNC.U R16.w, R16;
  14295. AND.U.CC HC.x, R16.w, R6.w;
  14296. MOV.S R6.z, R6;
  14297. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  14298. IF    NE.x;
  14299. MOV.F R6.w, R19.z;
  14300. ELSE;
  14301. MOV.F R6.w, {0, 0, 0, 0}.x;
  14302. ENDIF;
  14303. MOV.F R29.xyz, R16;
  14304. MOV.F R16.z, R25.x;
  14305. MOV.F R30, R11;
  14306. MOV.F R29.w, {1, 0, 0, 0}.x;
  14307. DP4.F32 R11.w, R29, R14;
  14308. DP4.F32 R11.y, R30, R29;
  14309. MOV.F R14.x, R28.y;
  14310. ADD.F32 R6.w, R16.z, R6;
  14311. ADD.F32 R6.w, R14.x, R6;
  14312. MOV.S R14.x, R11.w;
  14313. MOV.S R27.z, R6.w;
  14314. MOV.F R6.w, R28;
  14315. MOV.F R11.w, c[6].y;
  14316. MUL.F32 R14.y, R11.w, R6.w;
  14317. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14318. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14319. TRUNC.U R6.w, R6;
  14320. TRUNC.U R11.w, R11;
  14321. AND.U.CC HC.x, R11.w, R6.w;
  14322. MOV.S R11.y, R11;
  14323. IF    NE.x;
  14324. MOV.F R14.w, R14.y;
  14325. ELSE;
  14326. MOV.F R14.w, {0, 0, 0, 0}.x;
  14327. ENDIF;
  14328. MOV.F R11.w, R28;
  14329. MOV.F R14.y, c[6].z;
  14330. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  14331. MUL.F32 R14.z, R14.y, R11.w;
  14332. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  14333. TRUNC.U R6.w, R6;
  14334. TRUNC.U R11.w, R11;
  14335. AND.U.CC HC.x, R11.w, R6.w;
  14336. MOV.S R29.x, R14.w;
  14337. IF    NE.x;
  14338. MOV.F R14.w, R14.z;
  14339. ELSE;
  14340. MOV.F R14.w, {0, 0, 0, 0}.x;
  14341. ENDIF;
  14342. MOV.F R6.w, R9.z;
  14343. MOV.F R11.w, R9.x;
  14344. ADD.F32 R11.w, R11, R6;
  14345. MUL.F32 R11.w, R11, {0.5, 0, 0, 0}.x;
  14346. MOV.S R29.z, R11.w;
  14347. MOV.F R14.y, R29.x;
  14348. MOV.F R14.z, R25;
  14349. ADD.F32 R14.y, R14.z, R14;
  14350. MOV.F R14.z, R28.x;
  14351. ADD.F32 R14.y, R14.z, R14;
  14352. MOV.F R14.z, R9.y;
  14353. ADD.F32 R6.w, R14.z, R6;
  14354. MOV.F R14.z, R24.y;
  14355. MOV.F R11.w, R25.y;
  14356. MOV.S R29.w, R14.y;
  14357. ADD.F32 R14.y, R11.w, R14.w;
  14358. MOV.F R11.w, R26.x;
  14359. ADD.F32 R11.w, R11, R14.y;
  14360. MOV.S R29.x, R11.w;
  14361. MUL.F32 R11.w, R6, {0.5, 0, 0, 0}.x;
  14362. MOV.F R6.w, R24.x;
  14363. MOV.S R28.w, R11;
  14364. MAD.F32 R6.w, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  14365. MOV.F R11.w, R27.z;
  14366. MOV.F R14.y, R24.w;
  14367. ADD.F32 R14.y, R14, R11.w;
  14368. MOV.F R11.w, R24.z;
  14369. ADD.F32 R14.w, R11, R14.y;
  14370. MOV.F R11.w, R13.x;
  14371. MOV.S R6.w, R6;
  14372. MOV.F R13.x, R6.w;
  14373. ADD.F32 R14.y, R14.z, R14.w;
  14374. MUL.F32 R14.y, R11.w, R14;
  14375. SNE.F32 R6.w, R14.z, -R14;
  14376. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  14377. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14378. TRUNC.U R6.w, R6;
  14379. TRUNC.U R11.w, R11;
  14380. AND.U.CC HC.x, R11.w, R6.w;
  14381. MOV.S R24.y, R13.x;
  14382. IF    NE.x;
  14383. ELSE;
  14384. MOV.F R14.y, {0, 0, 0, 0}.x;
  14385. ENDIF;
  14386. MOV.F R11.w, R17.x;
  14387. MOV.F R6.w, R29.x;
  14388. ADD.F32 R6.w, R11, R6;
  14389. MOV.S R30.w, R6;
  14390. MOV.F R6.w, R29;
  14391. MOV.F R11.w, R21.x;
  14392. ADD.F32 R11.w, R11, R6;
  14393. MOV.F R6.w, R28;
  14394. MOV.S R30.y, R11.w;
  14395. ADD.F32 R11.w, R6, {-0.5, 0, 0, 0}.x;
  14396. MUL.F32 R11.w, R11, {2, 0, 0, 0}.x;
  14397. MOV.F R6.w, R29.z;
  14398. ADD.F32 R6.w, R6, {-0.5, 0, 0, 0}.x;
  14399. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  14400. MOV.S R24.z, R11.w;
  14401. MOV.S R28.w, R6;
  14402. MOV.F R6.w, c[12].y;
  14403. MUL.F32 R13.x, R14.y, R6.w;
  14404. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14405. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  14406. TRUNC.U R6.w, R6;
  14407. TRUNC.U R11.w, R11;
  14408. AND.U.CC HC.x, R11.w, R6.w;
  14409. MOV.S R30.x, R14.y;
  14410. IF    NE.x;
  14411. MOV.F R14.y, R13.x;
  14412. ELSE;
  14413. MOV.F R14.y, {0, 0, 0, 0}.x;
  14414. ENDIF;
  14415. MOV.F R6.w, R30.y;
  14416. MOV.F R11.w, R26.y;
  14417. ADD.F32 R11.w, R11, R6;
  14418. MOV.S R29.z, R11.w;
  14419. MOV.F R13.x, R25.w;
  14420. MOV.F R6.w, R30;
  14421. ADD.F32 R6.w, R13.x, R6;
  14422. MOV.S R29.y, R6.w;
  14423. MOV.F R6.w, c[12].y;
  14424. MOV.F R11.w, R30.x;
  14425. MUL.F32 R13.x, R11.w, R6.w;
  14426. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14427. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14428. TRUNC.U R11.w, R11;
  14429. TRUNC.U R6.w, R6;
  14430. AND.U.CC HC.x, R11.w, R6.w;
  14431. MOV.S R17.x, R14.y;
  14432. IF    NE.x;
  14433. MOV.F R6.w, R13.x;
  14434. ELSE;
  14435. MOV.F R6.w, {0, 0, 0, 0}.x;
  14436. ENDIF;
  14437. MOV.F R13.x, R28.z;
  14438. MOV.F R11.w, R29.z;
  14439. ADD.F32 R11.w, R13.x, R11;
  14440. MOV.S R30.x, R11.w;
  14441. MOV.F R11.w, R9.x;
  14442. ADD.F32 R14.y, R11.w, {-0.5, 0, 0, 0}.x;
  14443. MOV.S R25.z, R14.y;
  14444. MOV.F R14.y, R9;
  14445. MOV.F R13.x, R22;
  14446. MOV.F R11.w, R29.y;
  14447. ADD.F32 R11.w, R13.x, R11;
  14448. MOV.S R30.z, R11.w;
  14449. MOV.F R11.w, R9.z;
  14450. ADD.F32 R11.w, R11, {-0.5, 0, 0, 0}.x;
  14451. MOV.S R14.w, R11;
  14452. MOV.F R13.x, R24.y;
  14453. ADD.F32 R14.y, R14, {-0.5, 0, 0, 0}.x;
  14454. MOV.F R11.w, c[13].x;
  14455. MUL.F32 R14.z, R13.x, R11.w;
  14456. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14457. MOV.S R24.y, R14;
  14458. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14459. TRUNC.U R14.y, R13.x;
  14460. TRUNC.U R13.x, R11.w;
  14461. AND.U.CC HC.x, R14.y, R13;
  14462. MOV.S R11.w, R6;
  14463. IF    NE.x;
  14464. MOV.F R14.y, R14.z;
  14465. ELSE;
  14466. MOV.F R14.y, {0, 0, 0, 0}.x;
  14467. ENDIF;
  14468. MOV.F R13.x, R13.z;
  14469. MOV.F R6.w, R30.z;
  14470. MUL.F32 R13.z, R13.x, R6.w;
  14471. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14472. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14473. TRUNC.U R13.x, R13;
  14474. TRUNC.U R6.w, R6;
  14475. AND.U.CC HC.x, R13, R6.w;
  14476. MOV.S R27.z, R14.y;
  14477. IF    NE.x;
  14478. MOV.F R14.y, R13.z;
  14479. ELSE;
  14480. MOV.F R14.y, {0, 0, 0, 0}.x;
  14481. ENDIF;
  14482. MOV.F R6.w, c[13].y;
  14483. MOV.F R13.x, R24.z;
  14484. MUL.F32 R13.z, R13.x, R6.w;
  14485. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14486. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14487. TRUNC.U R13.x, R13;
  14488. TRUNC.U R6.w, R6;
  14489. AND.U.CC HC.x, R13, R6.w;
  14490. MOV.S R29.x, R14.y;
  14491. IF    NE.x;
  14492. MOV.F R16.z, R13;
  14493. ELSE;
  14494. MOV.F R16.z, {0, 0, 0, 0}.x;
  14495. ENDIF;
  14496. MOV.F R6.w, R13.y;
  14497. MOV.F R13.z, R30.x;
  14498. MUL.F32 R14.y, R6.w, R13.z;
  14499. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14500. TRUNC.U R13.x, R6.w;
  14501. SNE.F32 R6.w, R13.z, {0, 0, 0, 0}.x;
  14502. TRUNC.U R6.w, R6;
  14503. AND.U.CC HC.x, R13, R6.w;
  14504. MOV.F R13.y, c[14].x;
  14505. MOV.F R13.z, R27;
  14506. ADD.F32 R13.y, R13.z, R13;
  14507. MOV.S R14.z, R13.y;
  14508. MOV.S R29.y, R16.z;
  14509. IF    NE.x;
  14510. MOV.F R13.z, R14.y;
  14511. ELSE;
  14512. MOV.F R13.z, {0, 0, 0, 0}.x;
  14513. ENDIF;
  14514. MOV.F R6.w, R9.y;
  14515. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  14516. MOV.S R19.z, R6.w;
  14517. MOV.F R6.w, c[12];
  14518. MOV.F R13.x, R29;
  14519. MUL.F32 R13.y, R13.x, R6.w;
  14520. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14521. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14522. TRUNC.U R13.x, R13;
  14523. TRUNC.U R6.w, R6;
  14524. AND.U.CC HC.x, R13, R6.w;
  14525. MOV.S R29.w, R13.z;
  14526. IF    NE.x;
  14527. MOV.F R13.z, R13.y;
  14528. ELSE;
  14529. MOV.F R13.z, {0, 0, 0, 0}.x;
  14530. ENDIF;
  14531. MOV.S R21.x, R13.z;
  14532. MOV.F R13.y, c[12].z;
  14533. MOV.F R13.x, c[14].y;
  14534. MOV.F R6.w, R29.y;
  14535. ADD.F32 R6.w, R13.x, R6;
  14536. MOV.F R13.x, R29.w;
  14537. MOV.S R14.y, R6.w;
  14538. SNE.F32 R6.w, R13.x, {0, 0, 0, 0}.x;
  14539. MUL.F32 R16.z, R13.x, R13.y;
  14540. TRUNC.U R13.x, R6.w;
  14541. SNE.F32 R6.w, R13.y, {0, 0, 0, 0}.x;
  14542. MOV.F R13.z, R19;
  14543. FLR.F R13.y, R13.z;
  14544. TRUNC.U R6.w, R6;
  14545. AND.U.CC HC.x, R13, R6.w;
  14546. MOV.S R30.z, R13.y;
  14547. IF    NE.x;
  14548. MOV.F R13.y, R16.z;
  14549. ELSE;
  14550. MOV.F R13.y, {0, 0, 0, 0}.x;
  14551. ENDIF;
  14552. MOV.F R6.w, R9.z;
  14553. MUL.F32 R13.x, R6.w, {2, 0, 0, 0};
  14554. MOV.F R6.w, R30.z;
  14555. MOV.S R27.z, R13.x;
  14556. SGT.F32 R13.x, R6.w, {0, 0, 0, 0};
  14557. TRUNC.U.CC HC.x, R13;
  14558. MOV.S R6.w, R13.y;
  14559. IF    NE.x;
  14560. MOV.F R13.y, {1, 0, 0, 0}.x;
  14561. ELSE;
  14562. MOV.F R13.y, {0, 0, 0, 0}.x;
  14563. ENDIF;
  14564. MOV.F R13.x, R30.z;
  14565. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  14566. TRUNC.U.CC HC.x, R13;
  14567. MOV.S R29.x, R13.y;
  14568. IF    NE.x;
  14569. MOV.F R19.z, {1, 0, 0, 0}.x;
  14570. ELSE;
  14571. MOV.F R19.z, {0, 0, 0, 0}.x;
  14572. ENDIF;
  14573. MOV.F R13.y, R27.z;
  14574. FLR.F R16.z, R13.y;
  14575. MOV.F R13.z, c[13];
  14576. MOV.F R13.x, R28.w;
  14577. MUL.F32 R16.w, R13.x, R13.z;
  14578. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14579. TRUNC.U R13.y, R13.x;
  14580. SNE.F32 R13.x, R13.z, {0, 0, 0, 0};
  14581. MOV.F R13.z, R19;
  14582. TRUNC.U R13.x, R13;
  14583. AND.U.CC HC.x, R13.y, R13;
  14584. MOV.S R29.z, R16;
  14585. MOV.S R29.y, R13.z;
  14586. IF    NE.x;
  14587. MOV.F R13.z, R16.w;
  14588. ELSE;
  14589. MOV.F R13.z, {0, 0, 0, 0}.x;
  14590. ENDIF;
  14591. MOV.F R13.x, R9;
  14592. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  14593. MOV.S R19.z, R13.x;
  14594. MOV.F R13.x, R29.z;
  14595. MOV.F R13.y, c[14].z;
  14596. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  14597. ADD.F32 R13.y, R13, R13.z;
  14598. TRUNC.U.CC HC.x, R13;
  14599. MOV.S R22.x, R13.y;
  14600. IF    NE.x;
  14601. MOV.F R16.z, {1, 0, 0, 0}.x;
  14602. ELSE;
  14603. MOV.F R16.z, {0, 0, 0, 0}.x;
  14604. ENDIF;
  14605. MOV.F R13.y, R29.x;
  14606. MOV.F R13.x, R29.y;
  14607. ADD.F32 R13.x, R13.y, -R13;
  14608. MOV.S R13.z, R13.x;
  14609. MOV.F R13.x, R29.z;
  14610. MOV.F R13.y, R16.z;
  14611. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  14612. TRUNC.U.CC HC.x, R13;
  14613. MOV.S R30.y, R13;
  14614. IF    NE.x;
  14615. MOV.F R13.y, {1, 0, 0, 0}.x;
  14616. ELSE;
  14617. MOV.F R13.y, {0, 0, 0, 0}.x;
  14618. ENDIF;
  14619. MOV.F R16.z, R13.y;
  14620. MOV.F R13.x, R19.z;
  14621. FLR.F R13.y, R13.x;
  14622. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  14623. TRUNC.U.CC HC.x, R13;
  14624. MOV.S R30.w, R16.z;
  14625. MOV.S R27.z, R13.y;
  14626. IF    NE.x;
  14627. MOV.F R16.z, {1, 0, 0, 0}.x;
  14628. ELSE;
  14629. MOV.F R16.z, {0, 0, 0, 0}.x;
  14630. ENDIF;
  14631. MOV.F R13.y, R30.w;
  14632. MOV.F R13.x, R30.y;
  14633. ADD.F32 R13.x, R13.y, -R13;
  14634. MOV.S R13.y, R13.x;
  14635. MOV.F R13.x, R27.z;
  14636. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  14637. TRUNC.U.CC HC.x, R13;
  14638. MOV.S R29.x, R16.z;
  14639. IF    NE.x;
  14640. MOV.F R21.y, {1, 0, 0, 0}.x;
  14641. ELSE;
  14642. MOV.F R21.y, {0, 0, 0, 0}.x;
  14643. ENDIF;
  14644. MOV.F R16.z, R25;
  14645. MOV.F R16.w, c[15].x;
  14646. SNE.F32 R13.x, R16.z, {0, 0, 0, 0};
  14647. MUL.F32 R19.z, R16, R16.w;
  14648. TRUNC.U R16.z, R13.x;
  14649. SNE.F32 R13.x, R16.w, {0, 0, 0, 0};
  14650. MOV.F R16.w, R21.y;
  14651. TRUNC.U R13.x, R13;
  14652. AND.U.CC HC.x, R16.z, R13;
  14653. MOV.S R29.z, R16.w;
  14654. IF    NE.x;
  14655. MOV.F R16.w, R19.z;
  14656. ELSE;
  14657. MOV.F R16.w, {0, 0, 0, 0}.x;
  14658. ENDIF;
  14659. MOV.F R13.x, c[15].y;
  14660. MOV.F R16.z, R24.y;
  14661. MUL.F32 R19.z, R16, R13.x;
  14662. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  14663. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14664. TRUNC.U R16.z, R16;
  14665. TRUNC.U R13.x, R13;
  14666. AND.U.CC HC.x, R16.z, R13;
  14667. MOV.S R16.w, R16;
  14668. IF    NE.x;
  14669. ELSE;
  14670. MOV.F R19.z, {0, 0, 0, 0}.x;
  14671. ENDIF;
  14672. MOV.F R16.z, R29;
  14673. MOV.F R13.x, R29;
  14674. ADD.F32 R13.x, R16.z, -R13;
  14675. MOV.S R13.x, R13;
  14676. MOV.S R16.z, R19;
  14677. ENDIF;
  14678. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  14679. MOV.U.CC RC.x, -R19.z;
  14680. IF    NE.x;
  14681. MOV.F R21.y, R14.w;
  14682. MOV.F R21.z, c[15];
  14683. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  14684. MUL.F32 R23.x, R21.y, R21.z;
  14685. TRUNC.U R21.y, R19.z;
  14686. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14687. AND.S R22.z, c[2].x, {65536, 0, 0, 0}.x;
  14688. I2F.S R21.z, R22;
  14689. TRUNC.U R19.z, R19;
  14690. AND.U.CC HC.x, R21.y, R19.z;
  14691. AND.S R28.w, c[2].x, {262144, 0, 0, 0}.x;
  14692. AND.S R28.x, c[2], {131072, 0, 0, 0};
  14693. MOV.S R27.z, R21;
  14694. IF    NE.x;
  14695. MOV.F R21.y, R23.x;
  14696. ELSE;
  14697. MOV.F R21.y, {0, 0, 0, 0}.x;
  14698. ENDIF;
  14699. MOV.F R19.z, R27;
  14700. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  14701. TRUNC.U.CC HC.x, R19.z;
  14702. MOV.S R26.x, R21.y;
  14703. IF    NE.x;
  14704. MOV.F R21.y, {1, 0, 0, 0}.x;
  14705. ELSE;
  14706. MOV.F R21.y, {0, 0, 0, 0}.x;
  14707. ENDIF;
  14708. MOV.F R19.z, R27;
  14709. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14710. TRUNC.U.CC HC.x, R19.z;
  14711. MOV.S R29.z, R21.y;
  14712. IF    NE.x;
  14713. MOV.F R21.z, {1, 0, 0, 0}.x;
  14714. ELSE;
  14715. MOV.F R21.z, {0, 0, 0, 0}.x;
  14716. ENDIF;
  14717. I2F.S R21.y, R28.x;
  14718. MOV.S R19.z, R21.y;
  14719. SGT.F32 R21.y, {0, 0, 0, 0}.x, R21;
  14720. TRUNC.U.CC HC.x, R21.y;
  14721. MOV.S R29.w, R21.z;
  14722. IF    NE.x;
  14723. MOV.F R22.z, {1, 0, 0, 0}.x;
  14724. ELSE;
  14725. MOV.F R22.z, {0, 0, 0, 0}.x;
  14726. ENDIF;
  14727. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14728. TRUNC.U.CC HC.x, R19.z;
  14729. MOV.F R21.y, R29.z;
  14730. MOV.F R21.z, R29.w;
  14731. ADD.F32 R21.y, R21.z, -R21;
  14732. MOV.S R30.y, R21;
  14733. MOV.F R21.y, R22.z;
  14734. MOV.S R30.x, R21.y;
  14735. IF    NE.x;
  14736. MOV.F R21.y, {1, 0, 0, 0}.x;
  14737. ELSE;
  14738. MOV.F R21.y, {0, 0, 0, 0}.x;
  14739. ENDIF;
  14740. I2F.S R21.z, R28.w;
  14741. MOV.F R19.z, R30.x;
  14742. ADD.F32 R21.y, R21, -R19.z;
  14743. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14744. TRUNC.U.CC HC.x, R19.z;
  14745. MOV.S R27.z, R21;
  14746. MOV.S R29.x, R21.y;
  14747. IF    NE.x;
  14748. MOV.F R21.y, {1, 0, 0, 0}.x;
  14749. ELSE;
  14750. MOV.F R21.y, {0, 0, 0, 0}.x;
  14751. ENDIF;
  14752. MOV.F R19.z, R27;
  14753. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  14754. TRUNC.U.CC HC.x, R19.z;
  14755. MOV.S R29.y, R21;
  14756. IF    NE.x;
  14757. MOV.F R22.z, {1, 0, 0, 0}.x;
  14758. ELSE;
  14759. MOV.F R22.z, {0, 0, 0, 0}.x;
  14760. ENDIF;
  14761. MOV.F R19.z, R30.y;
  14762. TRUNC.S R21.y, R19.z;
  14763. ADD.S R19.z, -R21.y, {0, 0, 0, 0}.x;
  14764. MAX.S R29.z, R21.y, R19;
  14765. MOV.F R21.z, R29.x;
  14766. TRUNC.S R21.z, R21;
  14767. MOV.F R21.y, R29;
  14768. MOV.F R19.z, c[14].w;
  14769. ADD.F32 R21.y, R21, -R22.z;
  14770. SEQ.F R19.z, R19, {1, 0, 0, 0}.x;
  14771. TRUNC.U.CC HC.x, R19.z;
  14772. ADD.S R29.x, -R21.z, {0, 0, 0, 0};
  14773. MOV.S R28.w, R21.z;
  14774. MOV.S R30.w, R21.y;
  14775. IF    NE.x;
  14776. MOV.S R21.y, {-1, 0, 0, 0}.x;
  14777. ELSE;
  14778. MOV.S R21.y, {0, 0, 0, 0}.x;
  14779. ENDIF;
  14780. MOV.F R19.z, R30.w;
  14781. TRUNC.S R22.z, R19;
  14782. ADD.S R21.z, -R22, {0, 0, 0, 0}.x;
  14783. MAX.S R30.y, R28.w, R29.x;
  14784. MAX.S R29.x, R22.z, R21.z;
  14785. I2F.S R19.z, R29;
  14786. MUL.F32 R21.z, R19, {2, 0, 0, 0}.x;
  14787. MOV.F R22.z, R13;
  14788. SNE.F32 R19.z, -R21, {0, 0, 0, 0}.x;
  14789. MUL.F32 R23.z, -R21, R22;
  14790. TRUNC.U R21.z, R19;
  14791. SNE.F32 R19.z, R22, {0, 0, 0, 0}.x;
  14792. MOV.F R23.x, c[14].w;
  14793. ADD.F32 R22.z, -R23.x, {1, 0, 0, 0}.x;
  14794. TRUNC.U R19.z, R19;
  14795. AND.U.CC HC.x, R21.z, R19.z;
  14796. MOV.S R24.y, R22.z;
  14797. IF    NE.x;
  14798. ELSE;
  14799. MOV.F R23.z, {0, 0, 0, 0}.x;
  14800. ENDIF;
  14801. MOV.F R21.z, R14;
  14802. SNE.F32 R22.z, R21, {0, 0, 0, 0}.x;
  14803. I2F.S R19.z, R30.y;
  14804. MUL.F32 R19.z, R19, {2, 0, 0, 0}.x;
  14805. MUL.F32 R23.x, R23.z, R21.z;
  14806. SNE.F32 R21.z, R23, {0, 0, 0, 0}.x;
  14807. TRUNC.U R22.z, R22;
  14808. TRUNC.U R21.z, R21;
  14809. AND.U.CC HC.x, R22.z, R21.z;
  14810. MOV.S R19.z, R19;
  14811. MOV.S R29.w, R23.z;
  14812. IF    NE.x;
  14813. MOV.F R23.z, R23.x;
  14814. ELSE;
  14815. MOV.F R23.z, {0, 0, 0, 0}.x;
  14816. ENDIF;
  14817. MOV.F R21.z, R29.w;
  14818. MOV.F R22.z, R15.x;
  14819. MUL.F32 R23.x, R22.z, R21.z;
  14820. SNE.F32 R22.z, R22, {0, 0, 0, 0}.x;
  14821. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  14822. TRUNC.U R22.z, R22;
  14823. TRUNC.U R21.z, R21;
  14824. AND.U.CC HC.x, R22.z, R21.z;
  14825. MOV.S R30.x, R23.z;
  14826. IF    NE.x;
  14827. MOV.F R23.z, R23.x;
  14828. ELSE;
  14829. MOV.F R23.z, {0, 0, 0, 0}.x;
  14830. ENDIF;
  14831. MOV.F R21.z, R13.y;
  14832. MOV.F R22.z, R19;
  14833. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14834. MUL.F32 R23.x, -R22.z, R21.z;
  14835. SNE.F32 R21.z, -R22, {0, 0, 0, 0}.x;
  14836. TRUNC.U R19.z, R19;
  14837. TRUNC.U R21.z, R21;
  14838. AND.U.CC HC.x, R21.z, R19.z;
  14839. MOV.S R30.y, R23.z;
  14840. IF    NE.x;
  14841. ELSE;
  14842. MOV.F R23.x, {0, 0, 0, 0};
  14843. ENDIF;
  14844. I2F.S R21.z, R29.x;
  14845. MOV.F R19.z, R13.x;
  14846. MUL.F32 R21.z, R21, {2, 0, 0, 0}.x;
  14847. MUL.F32 R22.z, -R21, R19;
  14848. SNE.F32 R21.z, -R21, {0, 0, 0, 0}.x;
  14849. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14850. TRUNC.U R21.z, R21;
  14851. TRUNC.U R19.z, R19;
  14852. AND.U.CC HC.x, R21.z, R19.z;
  14853. MOV.S R30.z, R23.x;
  14854. IF    NE.x;
  14855. MOV.F R23.x, R22.z;
  14856. ELSE;
  14857. MOV.F R23.x, {0, 0, 0, 0};
  14858. ENDIF;
  14859. MOV.F R21.z, R14;
  14860. MOV.F R19.z, R30.x;
  14861. ADD.F32 R19.z, R21, R19;
  14862. MOV.S R26.y, R19.z;
  14863. MOV.F R19.z, R30;
  14864. MOV.F R21.z, R14.y;
  14865. MUL.F32 R22.z, R21, R19;
  14866. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  14867. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14868. TRUNC.U R21.z, R21;
  14869. TRUNC.U R19.z, R19;
  14870. AND.U.CC HC.x, R21.z, R19.z;
  14871. MOV.S R29.x, R23;
  14872. IF    NE.x;
  14873. ELSE;
  14874. MOV.F R22.z, {0, 0, 0, 0}.x;
  14875. ENDIF;
  14876. MOV.F R19.z, R30.y;
  14877. ADD.F32 R15.x, R15, R19.z;
  14878. MOV.S R29.w, R15.x;
  14879. MOV.F R15.x, R30.z;
  14880. MOV.F R19.z, R15.y;
  14881. MUL.F32 R21.z, R19, R15.x;
  14882. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14883. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14884. TRUNC.U R19.z, R19;
  14885. TRUNC.U R15.x, R15;
  14886. AND.U.CC HC.x, R19.z, R15;
  14887. MOV.S R29.z, R22;
  14888. IF    NE.x;
  14889. MOV.F R19.z, R21;
  14890. ELSE;
  14891. MOV.F R19.z, {0, 0, 0, 0}.x;
  14892. ENDIF;
  14893. MOV.F R15.x, R29.z;
  14894. ADD.F32 R14.y, R14, R15.x;
  14895. MOV.S R28.x, R14.y;
  14896. MOV.F R14.y, R29.x;
  14897. MOV.F R15.x, R22;
  14898. MUL.F32 R21.z, R15.x, R14.y;
  14899. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14900. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14901. TRUNC.U R14.y, R14;
  14902. TRUNC.U R15.x, R15;
  14903. AND.U.CC HC.x, R15, R14.y;
  14904. MOV.S R19.z, R19;
  14905. IF    NE.x;
  14906. MOV.F R14.y, R21.z;
  14907. ELSE;
  14908. MOV.F R14.y, {0, 0, 0, 0}.x;
  14909. ENDIF;
  14910. MOV.F R15.x, R16.w;
  14911. MOV.F R16.w, R29;
  14912. ADD.F32 R15.x, R16.w, R15;
  14913. MOV.S R24.w, R15.x;
  14914. MOV.F R15.x, R19.z;
  14915. ADD.F32 R16.w, R15.y, R15.x;
  14916. MOV.F R15.x, R29;
  14917. MOV.F R15.y, R15.z;
  14918. MUL.F32 R19.z, R15.y, R15.x;
  14919. SNE.F32 R15.y, R15, {0, 0, 0, 0}.x;
  14920. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14921. TRUNC.U R15.y, R15;
  14922. TRUNC.U R15.x, R15;
  14923. AND.U.CC HC.x, R15.y, R15;
  14924. MOV.S R30.z, R16.w;
  14925. MOV.S R30.y, R14;
  14926. IF    NE.x;
  14927. MOV.F R15.y, R19.z;
  14928. ELSE;
  14929. MOV.F R15.y, {0, 0, 0, 0}.x;
  14930. ENDIF;
  14931. MOV.F R14.y, R16.z;
  14932. MOV.F R15.x, R30.z;
  14933. ADD.F32 R15.x, R15, R14.y;
  14934. MOV.F R14.y, R15.z;
  14935. ADD.F32 R14.y, R14, R15;
  14936. MOV.S R24.x, R15;
  14937. MOV.S R29.y, R14;
  14938. MOV.F R14.y, c[14].w;
  14939. MAX.F R14.y, R14, {0, 0, 0, 0}.x;
  14940. LG2.F32 R16.w, R14.y;
  14941. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  14942. MOV.F R15.x, R30.y;
  14943. MOV.F R15.y, R22.x;
  14944. ADD.F32 R15.y, R15, R15.x;
  14945. MUL.F32 R15.x, R16.w, {2, 0, 0, 0};
  14946. SEQ.F R15.x, R16.w, R15;
  14947. TRUNC.U R14.y, R14;
  14948. TRUNC.U R15.x, R15;
  14949. AND.U R14.y, R15.x, R14;
  14950. SEQ.U R14.y, R14, {1, 0, 0, 0}.x;
  14951. MOV.U.CC RC.x, -R14.y;
  14952. MOV.S R28.w, R15.y;
  14953. IF    NE.x;
  14954. MOV.F R16.w, {-3.40282347e+38, 0, 0, 0}.x;
  14955. ENDIF;
  14956. MOV.F R15.x, R13.w;
  14957. MUL.F32 R15.y, R15.x, R16.w;
  14958. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  14959. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14960. TRUNC.U R14.y, R14;
  14961. TRUNC.U R15.x, R15;
  14962. AND.U.CC HC.x, R15, R14.y;
  14963. IF    NE.x;
  14964. MOV.F R14.y, R15;
  14965. ELSE;
  14966. MOV.F R14.y, {0, 0, 0, 0}.x;
  14967. ENDIF;
  14968. MOV.S R14.y, R14;
  14969. MOV.F R15.y, R14;
  14970. MOV.F R15.x, R29.y;
  14971. MOV.F R14.y, R26.x;
  14972. ADD.F32 R14.y, R15.x, R14;
  14973. EX2.F32 R15.y, R15.y;
  14974. ADD.F32 R15.x, -R15.y, {1, 0, 0, 0};
  14975. MOV.S R26.w, R14.y;
  14976. MOV.S R14.y, R15.x;
  14977. MOV.F R15.x, R24.y;
  14978. DIV.F32 R15.x, R14.y, R15.x;
  14979. SEQ.S R14.y, R21, {0, 0, 0, 0}.x;
  14980. MOV.U.CC RC.x, -R14.y;
  14981. MOV.S R29.w, R15.x;
  14982. IF    NE.x;
  14983. MOV.S R19.z, R29.w;
  14984. ELSE;
  14985. MOV.S R19.z, R13.w;
  14986. ENDIF;
  14987. MOV.F R14.y, R19.z;
  14988. MOV.F R15.x, R28;
  14989. MUL.F32 R15.y, R15.x, R14;
  14990. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14991. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14992. TRUNC.U R14.y, R14;
  14993. TRUNC.U R15.x, R15;
  14994. AND.U.CC HC.x, R15, R14.y;
  14995. IF    NE.x;
  14996. MOV.F R16.w, R15.y;
  14997. ELSE;
  14998. MOV.F R16.w, {0, 0, 0, 0}.x;
  14999. ENDIF;
  15000. MOV.F R14.y, R19.z;
  15001. MOV.F R15.x, R26.y;
  15002. MUL.F32 R15.y, R15.x, R14;
  15003. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  15004. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  15005. TRUNC.U R15.x, R15;
  15006. TRUNC.U R14.y, R14;
  15007. AND.U.CC HC.x, R15, R14.y;
  15008. MOV.S R29.x, R16.w;
  15009. IF    NE.x;
  15010. MOV.F R16.w, R15.y;
  15011. ELSE;
  15012. MOV.F R16.w, {0, 0, 0, 0}.x;
  15013. ENDIF;
  15014. MOV.F R14.y, R19.z;
  15015. MOV.F R15.x, R28.w;
  15016. MUL.F32 R15.y, R15.x, R14;
  15017. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  15018. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  15019. TRUNC.U R15.x, R15;
  15020. TRUNC.U R14.y, R14;
  15021. AND.U.CC HC.x, R15, R14.y;
  15022. MOV.S R29.y, R16.w;
  15023. IF    NE.x;
  15024. MOV.F R21.y, R15;
  15025. ELSE;
  15026. MOV.F R21.y, {0, 0, 0, 0}.x;
  15027. ENDIF;
  15028. MOV.F R15.x, R24.w;
  15029. MOV.F R14.y, R29;
  15030. ADD.F32 R14.y, R15.x, R14;
  15031. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  15032. FRC.F32 R14.y, R14;
  15033. MAD.F32 R14.y, R14, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  15034. MUL.F32 R14.y, R14, {0.159154937, 0, 0, 0}.x;
  15035. MOV.S R14.y, R14;
  15036. MOV.F R15.y, R24.x;
  15037. MOV.F R15.x, R29;
  15038. ADD.F32 R15.x, R15.y, R15;
  15039. MOV.S R16.w, R15.x;
  15040. MOV.F R15.x, R14.y;
  15041. MUL.F32 R19.z, R15.x, {6.28318548, 0, 0, 0}.x;
  15042. SIN.F32 R15.x, R19.z;
  15043. MOV.F R14.y, R26.w;
  15044. ADD.F32 R14.y, R14, R21;
  15045. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  15046. MOV.S R15.y, R15.x;
  15047. FRC.F32 R15.x, R14.y;
  15048. COS.F32 R14.y, R19.z;
  15049. MAD.F32 R19.z, R15.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  15050. MOV.S R22.x, R14.y;
  15051. MUL.F32 R14.y, R19.z, {0.159154937, 0, 0, 0}.x;
  15052. MOV.S R15.x, R14.y;
  15053. SIN.F32 R14.y, R19.z;
  15054. MOV.S R14.y, R14;
  15055. ENDIF;
  15056. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  15057. MOV.U.CC RC.x, -R19.z;
  15058. IF    NE.x;
  15059. MOV.F R11.z, R6;
  15060. MOV.F R3.w, c[16].x;
  15061. ADD.F32 R3.w, -R11.z, R3;
  15062. MOV.S R11.z, R3.w;
  15063. MOV.S R3.w, R11.z;
  15064. SGT.F32 R3.w, -R3, {0, 0, 0, 0}.x;
  15065. TRUNC.U.CC HC.x, R3.w;
  15066. MOV.F R13.x, c[16].z;
  15067. MOV.F R13.y, R14.x;
  15068. ADD.F32 R13.x, -R13.y, R13;
  15069. MOV.S R24.x, R13;
  15070. MOV.S R26.y, R11.z;
  15071. IF    NE.x;
  15072. MOV.F R11.z, {1, 0, 0, 0}.x;
  15073. ELSE;
  15074. MOV.F R11.z, {0, 0, 0, 0}.x;
  15075. ENDIF;
  15076. MOV.F R3.w, R26.y;
  15077. SEQ.F R3.w, -R3, {0, 0, 0, 0}.x;
  15078. TRUNC.U.CC HC.x, R3.w;
  15079. MOV.S R30.x, R11.z;
  15080. IF    NE.x;
  15081. MOV.S R11.z, {-1, 0, 0, 0}.x;
  15082. ELSE;
  15083. MOV.S R11.z, {0, 0, 0, 0}.x;
  15084. ENDIF;
  15085. MOV.F R3.w, R24.x;
  15086. SEQ.F R3.w, R3, {0, 0, 0, 0}.x;
  15087. TRUNC.U.CC HC.x, R3.w;
  15088. IF    NE.x;
  15089. MOV.S R3.w, {-1, 0, 0, 0}.x;
  15090. ELSE;
  15091. MOV.S R3.w, {0, 0, 0, 0}.x;
  15092. ENDIF;
  15093. MOV.F R13.x, R26.y;
  15094. SGT.F32 R13.x, {0, 0, 0, 0}, -R13;
  15095. TRUNC.U.CC HC.x, R13;
  15096. IF    NE.x;
  15097. MOV.F R13.z, {1, 0, 0, 0}.x;
  15098. ELSE;
  15099. MOV.F R13.z, {0, 0, 0, 0}.x;
  15100. ENDIF;
  15101. MOV.F R13.y, R24.x;
  15102. MOV.F R13.x, R26.y;
  15103. DIV.F32 R13.x, -R13, R13.y;
  15104. MOV.S R29.x, R13;
  15105. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  15106. TRUNC.U.CC HC.x, R13;
  15107. MOV.S R30.w, R13.z;
  15108. IF    NE.x;
  15109. MOV.S R14.z, {-1, 0, 0, 0}.x;
  15110. ELSE;
  15111. MOV.S R14.z, {0, 0, 0, 0}.x;
  15112. ENDIF;
  15113. MOV.F R13.y, R30.x;
  15114. MOV.F R13.x, R30.w;
  15115. ADD.F32 R13.x, R13.y, -R13;
  15116. MOV.F R13.y, R15.x;
  15117. MOV.S R28.z, R13.x;
  15118. MUL.F32 R13.y, R13, {6.28318548, 0, 0, 0}.x;
  15119. MOV.F R13.x, R29;
  15120. COS.F32 R13.y, R13.y;
  15121. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  15122. TRUNC.U.CC HC.x, R13;
  15123. MOV.S R28.x, R13.y;
  15124. IF    NE.x;
  15125. MOV.F R13.y, {1, 0, 0, 0}.x;
  15126. ELSE;
  15127. MOV.F R13.y, {0, 0, 0, 0}.x;
  15128. ENDIF;
  15129. MOV.F R13.x, R29;
  15130. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  15131. TRUNC.U.CC HC.x, R13;
  15132. MOV.S R30.x, R13.y;
  15133. IF    NE.x;
  15134. MOV.F R13.y, {1, 0, 0, 0}.x;
  15135. ELSE;
  15136. MOV.F R13.y, {0, 0, 0, 0}.x;
  15137. ENDIF;
  15138. MOV.F R13.z, R13.y;
  15139. MOV.F R13.x, R29;
  15140. MAX.F R13.x, R13, -R13;
  15141. MOV.S R25.z, R13.x;
  15142. MOV.F R13.x, R14.z;
  15143. MOV.F R13.y, R11.z;
  15144. SNE.F32 R11.z, R13.x, {0, 0, 0, 0}.x;
  15145. MUL.F32 R14.z, R13.y, R13.x;
  15146. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  15147. TRUNC.U R11.z, R11;
  15148. TRUNC.U R13.x, R13;
  15149. AND.U.CC HC.x, R13, R11.z;
  15150. MOV.S R30.y, R13.z;
  15151. IF    NE.x;
  15152. MOV.F R13.x, R14.z;
  15153. ELSE;
  15154. MOV.F R13.x, {0, 0, 0, 0};
  15155. ENDIF;
  15156. MOV.F R11.z, R28;
  15157. MUL.F32 R11.z, R11, {1.57079637, 0, 0, 0}.x;
  15158. MOV.S R15.z, R11;
  15159. MOV.F R11.z, R25;
  15160. SGT.F32 R11.z, R11, {1, 0, 0, 0}.x;
  15161. TRUNC.U.CC HC.x, R11.z;
  15162. MOV.S R26.w, R13.x;
  15163. IF    NE.x;
  15164. MOV.S R13.y, {-1, 0, 0, 0}.x;
  15165. ELSE;
  15166. MOV.S R13.y, {0, 0, 0, 0}.x;
  15167. ENDIF;
  15168. MOV.F R11.z, R30.x;
  15169. MOV.F R13.x, R30.y;
  15170. ADD.F32 R13.x, R13, -R11.z;
  15171. MOV.F R11.z, R25;
  15172. MOV.S R29.w, R13.x;
  15173. RCP.F32 R13.x, R11.z;
  15174. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  15175. MOV.U.CC RC.x, -R11.z;
  15176. MOV.S R19.z, R13.x;
  15177. IF    NE.x;
  15178. MOV.S R14.w, R25.z;
  15179. ELSE;
  15180. MOV.S R14.w, R19.z;
  15181. ENDIF;
  15182. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  15183.  
  15184. [07:59:02] Link error in shader. Log:
  15185. [07:59:02] Vertex info
  15186. -----------
  15187. Internal error: assembly compile error for vertex shader at offset 1860:
  15188. -- error message --
  15189. line 39, column 45:  error: invalid vertex attribute reference
  15190. line 45, column 25:  error: invalid vertex attribute reference
  15191. line 49, column 25:  error: invalid vertex attribute reference
  15192. line 52, column 25:  error: invalid vertex attribute reference
  15193. line 55, column 25:  error: invalid vertex attribute reference
  15194. -- internal assembly text --
  15195. !!NVvp5.0
  15196. OPTION NV_internal;
  15197. OPTION NV_bindless_texture;
  15198. # cgc version 3.4.0001, build date Jul  3 2019
  15199. # command line args:
  15200. #vendor NVIDIA Corporation
  15201. #version 3.4.0.1 COP Build Date Jul  3 2019
  15202. #profile gp5vp
  15203. #program main
  15204. #semantic uf_remappedVS
  15205. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  15206. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  15207. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  15208. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  15209. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  15210. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  15211. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  15212. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  15213. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  15214. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  15215. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  15216. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  15217. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  15218. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  15219. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  15220. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  15221. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  15222. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  15223. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  15224. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  15225. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  15226. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  15227. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  15228. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  15229. #var int4 uf_remappedVS[0] :  : c[0], 39 : -1 : 1
  15230. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  15231. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  15232. PARAM c[39] = { program.local[0..38] };
  15233. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  15234. OUTPUT result_attrib[] = { result.attrib[0..4] };
  15235. 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;
  15236. TEMP T;
  15237. TEMP RC;
  15238. SHORT TEMP HC;
  15239. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  15240. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15241. SHR.U R3.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  15242. AND.U R3.zw, R3.xyxy, {65280, 0, 0, 0}.x;
  15243. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  15244. SHR.U R3.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  15245. OR.U  R0, R0, R1;
  15246. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  15247. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15248. OR.U  R0, R0, R1;
  15249. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  15250. OR.U  R4, R0, R2;
  15251. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  15252. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15253. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  15254. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  15255. OR.U  R1, R1, R2;
  15256. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  15257. OR.U  R0, R1, R0;
  15258. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  15259. OR.U  R5, R0, R2;
  15260. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  15261. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15262. SHR.U R1, vertex.attrib[0], {24, 0, 0, 0}.x;
  15263. OR.U  R1, R1, R2;
  15264. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  15265. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15266. OR.U  R1, R1, R2;
  15267. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  15268. OR.U  R15, R1, R0;
  15269. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  15270. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15271. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  15272. OR.U  R0, R0, R1;
  15273. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  15274. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15275. OR.U  R0, R0, R1;
  15276. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  15277. OR.U  R6, R0, R2;
  15278. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  15279. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15280. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  15281. OR.U  R0, R0, R1;
  15282. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  15283. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15284. OR.U  R0, R0, R1;
  15285. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  15286. OR.U  R7, R0, R2;
  15287. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  15288. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15289. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  15290. OR.U  R0, R0, R1;
  15291. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  15292. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15293. OR.U  R0, R0, R1;
  15294. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  15295. OR.U  R9, R0, R2;
  15296. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  15297. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15298. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  15299. OR.U  R0.xyz, R0, R1;
  15300. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  15301. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15302. OR.U  R0.xyz, R0, R1;
  15303. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  15304. OR.U  R17.xyz, R0, R2;
  15305. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15306. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15307. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15308. OR.U  R0.xyz, R0, R1;
  15309. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15310. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15311. OR.U  R0.xyz, R0, R1;
  15312. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15313. OR.U  R21.xyz, R0, R2;
  15314. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  15315. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15316. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  15317. OR.U  R0.xyz, R0, R1;
  15318. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  15319. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15320. OR.U  R0.xyz, R0, R1;
  15321. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  15322. OR.U  R20.xyz, R0, R2;
  15323. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15324. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15325. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15326. OR.U  R0.xyz, R0, R1;
  15327. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15328. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15329. OR.U  R0.xyz, R0, R1;
  15330. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15331. OR.U  R18.xyz, R0, R2;
  15332. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15333. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15334. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15335. OR.U  R0.xyz, R0, R1;
  15336. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15337. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15338. OR.U  R0.xyz, R0, R1;
  15339. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15340. OR.U  R8.xyz, R0, R2;
  15341. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;