Guest User

Untitled

a guest
Jul 28th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 254.17 KB | None | 0 0
  1. [17:50:02] ------- Init Cemu 1.12.2d -------
  2. [17:50:02] mlc01 path: H:\cemu_1.12.2\mlc01\
  3. [17:50:02] Cemuhook version: 0.5.6.5
  4. [17:50:02] CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
  5. [17:50:02] RAM: 16344MB
  6. [17:50:02] Used CPU extensions: SSSE3, SSE4.1, AVX2, AES-NI
  7. [17:50:06] Loading .rpx -> Map "E:/The Legend of Zelda Breath of the Wild/The Legend of Zelda Breath of the Wild [ALZP01]/content/" to /vol/content/
  8. [17:50:06] Loaded RPL module u-king (checksum 0xD472D8A5)
  9. [17:50:06] ------- Loaded title -------
  10. [17:50:06] TitleId: 00050000-101c9500
  11. [17:50:06] TitleVersion: v192
  12. [17:50:06] Update path: H:\cemu_1.12.2\mlc01\usr\title\00050000\101C9500\
  13. [17:50:06] AOC path: H:\cemu_1.12.2\mlc01\usr\title\00050000\101C9500\aoc\
  14. [17:50:06] shaderCache name: dcac9927
  15. [17:50:06] gameprofile path: gameProfiles\00050000101c9500.ini
  16. [17:50:06] RPX hash: a6152715
  17. [17:50:06] RPL link time: 203ms
  18. [17:50:06] HLE: Patch BotW crash candidate at 0x038e3a30
  19. [17:50:06] HLE scan time: 109ms
  20. [17:50:06] ------- Active settings -------
  21. [17:50:06] CPU-Timer: host-based
  22. [17:50:06] CPU-Mode: Triple-core recompiler (gameprofile)
  23. [17:50:06] Load shared libraries: true
  24. [17:50:06] Use RDTSC: false (gameprofile)
  25. [17:50:06] UseSeparableShaders: true
  26. [17:50:06] GPUBufferCacheAccuracy: low (gameprofile)
  27. [17:50:06] Disable GPU fence: false (gameprofile)
  28. [17:50:06] Disable precompiled shaders: true
  29. [17:50:06] ------- Init OpenGL graphics backend -------
  30. [17:50:07] Using OpenGL version 4.6
  31. [17:50:07] OpenGL extensions:
  32. [17:50:07] ARB_clip_control: available
  33. [17:50:07] ARB_get_program_binary: available
  34. [17:50:07] ARB_clear_texture: available
  35. [17:50:07] ARB_copy_image: available
  36. [17:50:07] GL_VENDOR: NVIDIA Corporation
  37. [17:50:07] GL_RENDERER: GeForce GTX 1080/PCIe/SSE2
  38. [17:50:07] GL_VERSION: 4.6.0 NVIDIA 398.36
  39. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - 2560x1440
  40. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - FPS++
  41. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - LWZX Crash workaround
  42. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - NVIDIA Glitch Artifacts Workaround
  43. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - NVIDIA Explosion Smoke
  44. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - ReflExtra - Enhanced Reflections
  45. [17:50:07] Activate graphic pack: The Legend of Zelda: Breath of the Wild - Square Kakariko Torch Shadows Fix
  46. [17:50:07] ------- Run title -------
  47. [17:50:19] Link error in shader 0086e7ebadb97735. Log:
  48. [17:50:19] Vertex info
  49. -----------
  50. Internal error: assembly compile error for vertex shader at offset 2096:
  51. -- error message --
  52. line 44, column 45: error: invalid vertex attribute reference
  53. line 59, column 25: error: invalid vertex attribute reference
  54. line 61, column 25: error: invalid vertex attribute reference
  55. line 63, column 25: error: invalid vertex attribute reference
  56. line 66, column 25: error: invalid vertex attribute reference
  57. -- internal assembly text --
  58. !!NVvp5.0
  59. OPTION NV_internal;
  60. OPTION NV_bindless_texture;
  61. # cgc version 3.4.0001, build date Jun 24 2018
  62. # command line args:
  63. #vendor NVIDIA Corporation
  64. #version 3.4.0.1 COP Build Date Jun 24 2018
  65. #profile gp5vp
  66. #program main
  67. #semantic uf_alphaTestRef
  68. #semantic uf_remappedVS
  69. #semantic uf_windowSpaceToClipSpaceTransform
  70. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  71. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  72. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  73. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  74. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  75. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  76. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  77. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  78. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  79. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  80. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  81. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  82. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  83. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  84. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  85. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  86. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  87. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  88. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  89. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  90. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  91. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  92. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  93. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  94. #var float4 passParameterSem9 : $vout.ATTR5 : ATTR5 : -1 : 1
  95. #var float uf_alphaTestRef : : : -1 : 0
  96. #var int4 uf_remappedVS[0] : : c[0], 48 : -1 : 1
  97. #var float2 uf_windowSpaceToClipSpaceTransform : : : -1 : 0
  98. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  99. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  100. PARAM c[48] = { program.local[0..47] };
  101. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  102. OUTPUT result_attrib[] = { result.attrib[0..5] };
  103. 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;
  104. TEMP T;
  105. TEMP RC;
  106. SHORT TEMP HC;
  107. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  108. AND.U R1, R0, {65280, 0, 0, 0}.x;
  109. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  110. OR.U R0, R0, R1;
  111. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  112. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  113. OR.U R0, R0, R1;
  114. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  115. OR.U R4, R0, R2;
  116. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  117. AND.U R1, R0, {65280, 0, 0, 0}.x;
  118. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  119. OR.U R0, R0, R1;
  120. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  121. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  122. OR.U R0, R0, R1;
  123. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  124. OR.U R6, R0, R2;
  125. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  126. AND.U R2, R1, {65280, 0, 0, 0}.x;
  127. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  128. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  129. OR.U R1, R1, R2;
  130. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  131. OR.U R0, R1, R0;
  132. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  133. OR.U R0, R0, R2;
  134. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  135. AND.U R3, R2, {65280, 0, 0, 0}.x;
  136. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  137. OR.U R2, R2, R3;
  138. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  139. AND.U R3, R1, {16711680, 0, 0, 0}.x;
  140. OR.U R2, R2, R3;
  141. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  142. OR.U R7, R2, R1;
  143. MOV.F R1.x, c[0];
  144. ADD.F32 R3.x, -R0.w, R1;
  145. MOV.S R8.xyz, R0;
  146. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  147. AND.U R1, R0, {65280, 0, 0, 0}.x;
  148. MOV.S R9.w, R3.x;
  149. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  150. SHR.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  151. TRUNC.U R17.x, R3;
  152. SEQ.U R3.x, R17, {1, 0, 0, 0};
  153. SEQ.U R17.y, -R3.x, {1, 0, 0, 0}.x;
  154. MOV.U.CC RC.x, -R17.y;
  155. OR.U R0, R0, R1;
  156. SHL.U R2, vertex.attrib[12], {8, 0, 0, 0}.x;
  157. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  158. OR.U R0, R0, R1;
  159. SHL.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  160. OR.U R10, R0, R2;
  161. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  162. AND.U R1, R0, {65280, 0, 0, 0}.x;
  163. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  164. OR.U R0, R0, R1;
  165. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  166. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  167. OR.U R0, R0, R1;
  168. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  169. OR.U R11, R0, R2;
  170. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  171. AND.U R1, R0, {65280, 0, 0, 0}.x;
  172. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  173. OR.U R0, R0, R1;
  174. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  175. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  176. OR.U R0, R0, R1;
  177. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  178. OR.U R12, R0, R2;
  179. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  180. AND.U R1, R0, {65280, 0, 0, 0}.x;
  181. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  182. OR.U R0, R0, R1;
  183. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  184. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  185. OR.U R0, R0, R1;
  186. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  187. OR.U R13, R0, R2;
  188. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  189. AND.U R1, R0, {65280, 0, 0, 0}.x;
  190. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  191. OR.U R0, R0, R1;
  192. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  193. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  194. OR.U R0, R0, R1;
  195. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  196. OR.U R14, R0, R2;
  197. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  198. AND.U R1, R0, {65280, 0, 0, 0}.x;
  199. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  200. OR.U R0, R0, R1;
  201. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  202. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  203. OR.U R0, R0, R1;
  204. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  205. OR.U R22, R0, R2;
  206. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  207. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  208. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  209. OR.U R0.xyz, R0, R1;
  210. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  211. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  212. OR.U R0.xyz, R0, R1;
  213. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  214. OR.U R9.xyz, R0, R2;
  215. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  216. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  217. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  218. OR.U R0.xyz, R0, R1;
  219. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  220. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  221. OR.U R0.xyz, R0, R1;
  222. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  223. OR.U R25.xyz, R0, R2;
  224. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  225. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  226. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  227. OR.U R0.xyz, R0, R1;
  228. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  229. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  230. OR.U R0.xyz, R0, R1;
  231. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  232. OR.U R15.xyz, R0, R2;
  233. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  234. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  235. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  236. OR.U R0.xyz, R0, R1;
  237. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  238. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  239. OR.U R0.xyz, R0, R1;
  240. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  241. OR.U R16.xyz, R0, R2;
  242. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  243. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  244. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  245. OR.U R1.xy, R1, R1.zwzw;
  246. SHL.U R2.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  247. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  248. OR.U R1.xy, R1, R1.zwzw;
  249. SHL.U R2.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  250. OR.U R24.xy, R1, R2;
  251. MOV.U R1.x, R24;
  252. MOV.F R1.z, R1.x;
  253. MOV.U R1.y, R24;
  254. ADD.F32 R1.x, -R1.y, {1, 0, 0, 0};
  255. ADD.F32 R1.y, -R1.z, {1, 0, 0, 0}.x;
  256. MOV.S R24.z, R1.x;
  257. MOV.S R8.w, R1.y;
  258. MOV.S R0, {0, 0, 0, 0}.x;
  259. MOV.S R5, {0, 0, 0, 0}.x;
  260. MOV.S R3, {0, 0, 0, 0}.x;
  261. MOV.S R2, {0, 0, 0, 0}.x;
  262. MOV.S R26.xy, {0, 0, 0, 0}.x;
  263. MOV.S R1.yz, {0, 0, 0, 0};
  264. MOV.S R17.z, {0, 0, 0, 0}.x;
  265. MOV.S R1.x, vertex.id;
  266. MOV.S R1.w, vertex.instance.x;
  267. MOV.S R15.w, {0, 0, 0, 0}.x;
  268. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  269. IF NE.x;
  270. MOV.F R3.z, c[1].y;
  271. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  272. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  273. MOV.S R26.xy, {0, 0, 0, 0}.x;
  274. MOV.S R3.z, R3;
  275. MOV.S R22.w, {1065353216, 0, 0, 0}.x;
  276. ENDIF;
  277. SEQ.U R17.x, R17, {0, 0, 0, 0};
  278. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  279. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  280. MOV.U.CC RC.x, -R17;
  281. IF NE.x;
  282. MOV.S R22.w, {0, 0, 0, 0}.x;
  283. ENDIF;
  284. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  285. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  286. SEQ.U R17.w, -R17.y, {1, 0, 0, 0}.x;
  287. MOV.U.CC RC.x, -R17.w;
  288. MOV.U R17.x, -R17;
  289. MOV.U R23.z, -R17.y;
  290. IF NE.x;
  291. MOV.F R17.y, R7.w;
  292. TRUNC.S R17.y, R17;
  293. I2F.S R17.y, R17;
  294. MOV.F R17.z, R9.w;
  295. SGE.F32 R17.z, R17, R17.y;
  296. TRUNC.U R17.z, R17;
  297. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  298. SEQ.U R17.w, R23.z, {1, 0, 0, 0}.x;
  299. AND.U R26.z, -R17, -R17.w;
  300. MOV.S R17.z, R17.y;
  301. ELSE;
  302. MOV.U R26.z, {0, 0, 0, 0}.x;
  303. ENDIF;
  304. SEQ.U R17.y, R26.z, {1, 0, 0, 0}.x;
  305. MOV.U.CC RC.x, -R17.y;
  306. IF NE.x;
  307. MOV.F R3.z, c[1].y;
  308. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  309. MOV.S R3.xy, {0, 0, 0, 0};
  310. MOV.S R3.z, R3;
  311. MOV.S R26.x, {0, 0, 0, 0};
  312. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  313. ENDIF;
  314. SEQ.U R17.x, R17, {1, 0, 0, 0};
  315. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  316. MOV.U.CC RC.x, -R17.y;
  317. MOV.U R23.z, -R17.x;
  318. IF NE.x;
  319. SEQ.S R17.x, R15.w, {0, 0, 0, 0};
  320. MOV.U R24.w, -R17.x;
  321. SEQ.U R17.y, R23.z, {1, 0, 0, 0}.x;
  322. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  323. AND.U R26.z, -R17.x, -R17.y;
  324. ELSE;
  325. MOV.U R24.w, {0, 0, 0, 0}.x;
  326. MOV.U R26.z, {0, 0, 0, 0}.x;
  327. ENDIF;
  328. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  329. MOV.U.CC RC.x, -R17;
  330. IF NE.x;
  331. MOV.F R0.xyz, R15;
  332. MOV.F R1.xyz, R9;
  333. MOV.F R1.w, {0, 0, 0, 0}.x;
  334. MOV.F R0.w, {-0, 0, 0, 0}.x;
  335. DP4.F32 R4.w, R0, R1;
  336. MOV.F R0.xyz, R16;
  337. MOV.F R0.w, {-0, 0, 0, 0}.x;
  338. DP4.F32 R0.y, R1, R0;
  339. MOV.S R5.y, R0;
  340. MOV.F R0.y, R10.x;
  341. MIN.F.SAT R0.w, R0.y, {0, 0, 0, 0}.x;
  342. MOV.F R0.y, R25.x;
  343. ADD.F32 R0.y, R0, R0.w;
  344. MOV.S R25.x, R0.y;
  345. MOV.F R0.y, c[2].x;
  346. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  347. TRUNC.U.CC HC.x, R0.y;
  348. MOV.F R15.xyz, R22;
  349. MOV.F R15.w, {-0, 0, 0, 0}.x;
  350. DP4.F32 R0.z, R1, R15;
  351. MOV.S R15.y, R0.z;
  352. MOV.S R0.x, R4.w;
  353. MOV.S R5.xzw, {0, 0, 0, 0}.x;
  354. MOV.S R0.zw, {0, 0, 0, 0}.x;
  355. IF NE.x;
  356. MOV.F R0.y, {1, 0, 0, 0}.x;
  357. ELSE;
  358. MOV.F R0.y, {0, 0, 0, 0}.x;
  359. ENDIF;
  360. MOV.F R1.x, R10;
  361. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  362. MOV.F R1.y, c[3];
  363. MUL.F32 R1.x, R1, R1.y;
  364. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  365. TRUNC.U R1.z, R1;
  366. TRUNC.U R1.y, R1;
  367. AND.U.CC HC.x, R1.z, R1.y;
  368. MOV.S R18.x, R0.y;
  369. IF NE.x;
  370. MOV.F R0.y, R1.x;
  371. ELSE;
  372. MOV.F R0.y, {0, 0, 0, 0}.x;
  373. ENDIF;
  374. MOV.F R1.x, c[2];
  375. SGT.F32 R1.x, R1, {0, 0, 0, 0};
  376. TRUNC.U.CC HC.x, R1;
  377. MOV.S R19.y, R0;
  378. IF NE.x;
  379. MOV.F R0.y, {1, 0, 0, 0}.x;
  380. ELSE;
  381. MOV.F R0.y, {0, 0, 0, 0}.x;
  382. ENDIF;
  383. MOV.F R1.y, c[2].x;
  384. MOV.F R1.z, R19.y;
  385. MOV.F R1.x, R9.w;
  386. RCP.F32 R1.y, R1.y;
  387. MAD.F32 R1.y, R1.x, R1, R1.z;
  388. FRC.F32 R1.y, R1;
  389. MOV.F R1.z, R18.x;
  390. MOV.S R20.y, R1;
  391. ADD.F32 R1.y, R0, -R1.z;
  392. MOV.F R0.y, R17.z;
  393. DIV.F32 R1.x, R1, R0.y;
  394. ADD.F32 R1.z, -R1.y, {1, 0, 0, 0}.x;
  395. MUL.F32 R0.y, R1.x, R1.z;
  396. SNE.F32 R1.z, -R1.y, {-1, 0, 0, 0}.x;
  397. TRUNC.U R8.y, R1.z;
  398. MOV.S R19.z, R1.y;
  399. MOV.S R4.w, R1.x;
  400. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  401. TRUNC.U R8.x, R1;
  402. AND.U.CC HC.x, R8, R8.y;
  403. MOV.F R1.y, c[5].w;
  404. MOV.F R1.x, c[4].w;
  405. ADD.F32 R1.x, -R1, R1.y;
  406. MOV.S R9.y, R1.x;
  407. MOV.F R1.x, c[5].y;
  408. MOV.F R1.y, c[6];
  409. ADD.F32 R1.y, -R1.x, R1;
  410. MOV.S R21.x, R1.y;
  411. MOV.F R1.w, c[5].x;
  412. MOV.F R1.z, c[4].x;
  413. ADD.F32 R1.z, -R1, R1.w;
  414. MOV.S R21.y, R1.z;
  415. MOV.F R1.w, c[4].y;
  416. ADD.F32 R1.x, R1, -R1.w;
  417. MOV.F R1.z, c[5];
  418. MOV.F R1.y, c[4].z;
  419. ADD.F32 R1.y, -R1, R1.z;
  420. MOV.S R19.y, R1;
  421. MOV.S R19.w, R1.x;
  422. IF NE.x;
  423. ELSE;
  424. MOV.F R0.y, {0, 0, 0, 0}.x;
  425. ENDIF;
  426. MOV.F R1.z, R19;
  427. MOV.F R8.x, R20.y;
  428. MUL.F32 R1.x, R1.z, R8;
  429. MOV.F R1.w, R9.y;
  430. MOV.F R1.y, R21;
  431. DIV.F32 R1.y, R1, R1.w;
  432. MOV.S R19.x, R1.y;
  433. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  434. TRUNC.U R8.y, R1;
  435. MOV.F R1.z, c[6].x;
  436. MOV.F R1.y, c[5].x;
  437. ADD.F32 R1.y, -R1, R1.z;
  438. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  439. TRUNC.U R1.z, R8.x;
  440. MOV.S R21.w, R1.y;
  441. RCP.F32 R1.y, R1.w;
  442. AND.U.CC HC.x, R8.y, R1.z;
  443. MOV.S R21.z, R0.y;
  444. MOV.S R18.z, R1.y;
  445. IF NE.x;
  446. MOV.F R0.y, R1.x;
  447. ELSE;
  448. MOV.F R0.y, {0, 0, 0, 0}.x;
  449. ENDIF;
  450. MOV.F R1.z, R19.y;
  451. MOV.F R1.w, c[4];
  452. MOV.F R1.y, R18.z;
  453. MOV.F R1.x, R19.w;
  454. MUL.F32 R1.x, R1, R1.y;
  455. MUL.F32 R1.y, R1, R1.z;
  456. MOV.S R19.z, R1.x;
  457. MOV.S R0.y, R0;
  458. MOV.F R1.z, R21;
  459. ADD.F32 R1.z, R1, R0.y;
  460. ADD.F32 R8.x, R1.z, -R1.w;
  461. MUL.F32 R0.y, R8.x, R1;
  462. MOV.F R1.x, c[5].w;
  463. MOV.S R23.w, R8.x;
  464. ADD.F32 R8.x, R1.z, -R1;
  465. MOV.S R23.x, R1.z;
  466. SNE.F32 R1.z, R1, R1.w;
  467. MOV.S R17.x, R8;
  468. MOV.F R8.x, c[6].w;
  469. ADD.F32 R1.x, -R1, R8;
  470. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  471. TRUNC.U R8.x, R1.y;
  472. TRUNC.U R1.w, R1.z;
  473. MOV.S R1.x, R1;
  474. MOV.F R1.z, R1.x;
  475. AND.U.CC HC.x, R1.w, R8;
  476. MOV.F R1.y, c[6].z;
  477. MOV.F R1.x, c[5].z;
  478. ADD.F32 R1.x, -R1, R1.y;
  479. RCP.F32 R1.y, R1.z;
  480. MOV.S R19.y, R1.x;
  481. MOV.S R17.w, R1.y;
  482. IF NE.x;
  483. ELSE;
  484. MOV.F R0.y, {0, 0, 0, 0}.x;
  485. ENDIF;
  486. MOV.F R1.z, R19;
  487. MOV.F R1.y, R23.w;
  488. MUL.F32 R1.x, R1.y, R1.z;
  489. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  490. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  491. TRUNC.U R1.y, R1;
  492. TRUNC.U R1.z, R1;
  493. AND.U.CC HC.x, R1.y, R1.z;
  494. MOV.S R20.x, R0.y;
  495. IF NE.x;
  496. MOV.F R0.y, R1.x;
  497. ELSE;
  498. MOV.F R0.y, {0, 0, 0, 0}.x;
  499. ENDIF;
  500. MOV.F R1.z, R19.x;
  501. MOV.F R1.y, R23.w;
  502. MUL.F32 R1.x, R1.y, R1.z;
  503. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  504. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  505. TRUNC.U R1.y, R1;
  506. TRUNC.U R1.z, R1;
  507. AND.U.CC HC.x, R1.y, R1.z;
  508. MOV.S R20.y, R0;
  509. IF NE.x;
  510. MOV.F R0.y, R1.x;
  511. ELSE;
  512. MOV.F R0.y, {0, 0, 0, 0}.x;
  513. ENDIF;
  514. MOV.F R1.y, R17.w;
  515. MOV.F R1.x, R21;
  516. MUL.F32 R1.x, R1, R1.y;
  517. MOV.F R1.z, R19.y;
  518. MUL.F32 R1.z, R1, R1.y;
  519. MOV.S R21.y, R1.x;
  520. MOV.F R1.x, R21.w;
  521. MUL.F32 R1.x, R1, R1.y;
  522. SNE.F32 R1.y, R1.x, {0, 0, 0, 0}.x;
  523. MOV.F R8.x, R17;
  524. TRUNC.U R8.y, R1;
  525. MOV.S R18.x, R1.z;
  526. MOV.F R1.z, R20.x;
  527. MOV.F R1.y, c[4].z;
  528. ADD.F32 R1.y, R1, R1.z;
  529. MOV.F R1.w, R20.y;
  530. MOV.F R1.z, c[4].y;
  531. ADD.F32 R1.z, R1, R1.w;
  532. MOV.S R15.z, R1;
  533. MOV.F R1.z, c[4].x;
  534. ADD.F32 R0.y, R1.z, R0;
  535. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  536. TRUNC.U R1.z, R1.w;
  537. AND.U.CC HC.x, R1.z, R8.y;
  538. MUL.F32 R1.x, R8, R1;
  539. MOV.S R1.y, R1;
  540. MOV.S R22.w, R0.y;
  541. IF NE.x;
  542. MOV.F R0.y, R1.x;
  543. ELSE;
  544. MOV.F R0.y, {0, 0, 0, 0}.x;
  545. ENDIF;
  546. MOV.F R1.x, R17;
  547. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  548. MOV.F R1.w, R18.x;
  549. TRUNC.U R8.x, R1.z;
  550. MOV.F R1.z, c[5].x;
  551. ADD.F32 R0.y, R1.z, R0;
  552. MUL.F32 R1.x, R1, R1.w;
  553. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  554. TRUNC.U R1.z, R1.w;
  555. AND.U.CC HC.x, R8, R1.z;
  556. MOV.S R16.x, R0.y;
  557. IF NE.x;
  558. MOV.F R0.y, R1.x;
  559. ELSE;
  560. MOV.F R0.y, {0, 0, 0, 0}.x;
  561. ENDIF;
  562. MOV.F R1.w, R21.y;
  563. MOV.F R1.z, R17.x;
  564. MUL.F32 R1.x, R1.z, R1.w;
  565. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  566. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  567. TRUNC.U R1.z, R1;
  568. TRUNC.U R1.w, R1;
  569. AND.U.CC HC.x, R1.z, R1.w;
  570. MOV.S R20.y, R0;
  571. IF NE.x;
  572. MOV.F R0.y, R1.x;
  573. ELSE;
  574. MOV.F R0.y, {0, 0, 0, 0}.x;
  575. ENDIF;
  576. MOV.F R1.z, c[6].w;
  577. MOV.F R1.x, R23;
  578. ADD.F32 R1.x, R1, -R1.z;
  579. MOV.S R17.w, R1.x;
  580. MOV.F R1.x, R23.w;
  581. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  582. TRUNC.U.CC HC.x, R1;
  583. MOV.S R20.z, R0.y;
  584. IF NE.x;
  585. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  586. ELSE;
  587. MOV.S R0.y, {0, 0, 0, 0}.x;
  588. ENDIF;
  589. MOV.F R1.x, R17;
  590. SGE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  591. TRUNC.U.CC HC.x, R1.z;
  592. MOV.S R1.x, R0.y;
  593. IF NE.x;
  594. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  595. ELSE;
  596. MOV.S R15.w, {0, 0, 0, 0}.x;
  597. ENDIF;
  598. MOV.F R0.y, R17.w;
  599. SGE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  600. TRUNC.U.CC HC.x, R0.y;
  601. MOV.S R15.x, R15.w;
  602. IF NE.x;
  603. MOV.S R16.z, {1065353216, 0, 0, 0}.x;
  604. ELSE;
  605. MOV.S R16.z, {0, 0, 0, 0}.x;
  606. ENDIF;
  607. MOV.F R8.x, c[7].w;
  608. MOV.F R1.w, R23.x;
  609. SGE.F32 R8.z, R1.w, R8.x;
  610. TRUNC.U.CC HC.x, R8.z;
  611. MOV.F R1.z, R20.y;
  612. MOV.F R0.y, c[5].z;
  613. ADD.F32 R0.y, R0, R1.z;
  614. MOV.S R9.z, R0.y;
  615. MOV.F R1.z, R20;
  616. MOV.F R0.y, c[5];
  617. ADD.F32 R0.y, R0, R1.z;
  618. MOV.S R16.w, R0.y;
  619. ADD.F32 R0.y, R1.w, -R8.x;
  620. MOV.S R21.x, R0.y;
  621. MOV.F R1.z, c[7].x;
  622. MOV.F R0.y, c[6].x;
  623. ADD.F32 R0.y, -R0, R1.z;
  624. MOV.S R17.x, R0.y;
  625. MOV.F R1.w, c[7].y;
  626. MOV.F R0.y, c[6];
  627. ADD.F32 R0.y, -R0, R1.w;
  628. MOV.F R8.y, c[8].x;
  629. MOV.S R23.w, R0.y;
  630. ADD.F32 R0.y, -R1.z, R8;
  631. MOV.F R1.z, c[6].w;
  632. MOV.S R21.y, R0;
  633. ADD.F32 R0.y, R8.x, -R1.z;
  634. MOV.F R1.z, c[8].y;
  635. ADD.F32 R1.w, -R1, R1.z;
  636. MOV.S R18.y, R0;
  637. MOV.F R1.z, c[7];
  638. MOV.F R0.y, c[6].z;
  639. ADD.F32 R0.y, -R0, R1.z;
  640. MOV.S R19.x, R1.w;
  641. MOV.S R19.z, R0.y;
  642. IF NE.x;
  643. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  644. ELSE;
  645. MOV.S R0.y, {0, 0, 0, 0}.x;
  646. ENDIF;
  647. MOV.F R1.w, R18.y;
  648. MOV.F R1.z, R23.w;
  649. DIV.F32 R1.z, R1, R1.w;
  650. MOV.F R8.x, R19.z;
  651. MOV.S R18.z, R1;
  652. DIV.F32 R1.z, R8.x, R1.w;
  653. MOV.F R8.x, R17;
  654. MOV.S R18.y, R1.z;
  655. DIV.F32 R1.z, R8.x, R1.w;
  656. SNE.F32 R8.x, R1.z, {0, 0, 0, 0};
  657. MOV.F R1.w, R17;
  658. TRUNC.U R9.x, R8;
  659. MUL.F32 R1.z, R1.w, R1;
  660. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  661. TRUNC.U R8.z, R1.w;
  662. AND.U.CC HC.x, R8.z, R9;
  663. MOV.F R8.x, c[8].z;
  664. MOV.F R1.w, c[7].z;
  665. ADD.F32 R1.w, -R1, R8.x;
  666. MOV.F R8.y, c[8].w;
  667. MOV.F R8.x, c[7].w;
  668. ADD.F32 R8.x, -R8, R8.y;
  669. MOV.S R17.x, R1.w;
  670. MOV.S R9.y, R8.x;
  671. IF NE.x;
  672. ELSE;
  673. MOV.F R1.z, {0, 0, 0, 0}.x;
  674. ENDIF;
  675. MOV.F R8.y, R17.w;
  676. MOV.F R1.w, R23.x;
  677. MOV.F R8.x, c[8].w;
  678. ADD.F32 R8.x, R1.w, -R8;
  679. MOV.F R8.z, R18.y;
  680. MOV.S R17.y, R8.x;
  681. SNE.F32 R8.x, R8.y, {0, 0, 0, 0};
  682. MUL.F32 R1.w, R8.y, R8.z;
  683. SNE.F32 R8.y, R8.z, {0, 0, 0, 0}.x;
  684. TRUNC.U R8.x, R8;
  685. TRUNC.U R8.y, R8;
  686. AND.U.CC HC.x, R8, R8.y;
  687. MOV.S R20.x, R1.z;
  688. IF NE.x;
  689. MOV.F R1.z, R1.w;
  690. ELSE;
  691. MOV.F R1.z, {0, 0, 0, 0}.x;
  692. ENDIF;
  693. MOV.F R8.y, R18.z;
  694. MOV.F R8.x, R17.w;
  695. MUL.F32 R1.w, R8.x, R8.y;
  696. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  697. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  698. TRUNC.U R8.x, R8;
  699. TRUNC.U R8.y, R8;
  700. AND.U.CC HC.x, R8, R8.y;
  701. MOV.S R20.z, R1;
  702. IF NE.x;
  703. MOV.F R1.z, R1.w;
  704. ELSE;
  705. MOV.F R1.z, {0, 0, 0, 0}.x;
  706. ENDIF;
  707. MOV.F R8.y, R9;
  708. MOV.F R11.w, R21.x;
  709. MOV.F R8.x, R20;
  710. MOV.F R1.w, c[6].x;
  711. ADD.F32 R1.w, R1, R8.x;
  712. MOV.F R8.x, R19;
  713. DIV.F32 R16.y, R8.x, R8.y;
  714. MOV.S R9.y, R1.w;
  715. MOV.F R1.w, R21.y;
  716. DIV.F32 R1.w, R1, R8.y;
  717. MUL.F32 R8.x, R11.w, R16.y;
  718. MOV.F R9.x, R20.z;
  719. MOV.F R8.z, c[6];
  720. ADD.F32 R8.z, R8, R9.x;
  721. SNE.F32 R9.x, R16.y, {0, 0, 0, 0};
  722. MOV.S R18.z, R1.w;
  723. MOV.S R1.w, R8.z;
  724. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  725. TRUNC.U R11.w, R8.z;
  726. TRUNC.U R16.y, R9.x;
  727. MOV.F R8.z, c[6].y;
  728. ADD.F32 R8.z, R8, R1;
  729. RCP.F32 R1.z, R8.y;
  730. AND.U.CC HC.x, R11.w, R16.y;
  731. MOV.S R9.x, R8.z;
  732. MOV.S R19.y, R1.z;
  733. IF NE.x;
  734. MOV.F R1.z, R8.x;
  735. ELSE;
  736. MOV.F R1.z, {0, 0, 0, 0}.x;
  737. ENDIF;
  738. MOV.F R8.z, R18;
  739. MOV.F R8.y, R21.x;
  740. MUL.F32 R8.x, R8.y, R8.z;
  741. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  742. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  743. TRUNC.U R8.y, R8;
  744. TRUNC.U R8.z, R8;
  745. AND.U.CC HC.x, R8.y, R8.z;
  746. MOV.S R20.x, R1.z;
  747. IF NE.x;
  748. MOV.F R1.z, R8.x;
  749. ELSE;
  750. MOV.F R1.z, {0, 0, 0, 0}.x;
  751. ENDIF;
  752. MOV.F R8.y, R19;
  753. MOV.F R8.x, R17;
  754. MUL.F32 R8.x, R8, R8.y;
  755. MOV.S R20.z, R8.x;
  756. MOV.F R8.x, R17.y;
  757. SGE.F32 R11.w, R8.x, {0, 0, 0, 0}.x;
  758. TRUNC.U.CC HC.x, R11.w;
  759. MOV.F R8.y, c[9].x;
  760. MOV.F R8.x, c[8];
  761. ADD.F32 R8.x, -R8, R8.y;
  762. MOV.F R8.z, c[9].y;
  763. MOV.F R8.y, c[8];
  764. ADD.F32 R8.y, -R8, R8.z;
  765. MOV.S R17.w, R8.x;
  766. MOV.S R19.y, R8;
  767. MOV.S R20.y, R1.z;
  768. IF NE.x;
  769. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  770. ELSE;
  771. MOV.S R1.z, {0, 0, 0, 0}.x;
  772. ENDIF;
  773. MOV.F R17.x, R20.z;
  774. MOV.F R16.y, R21.x;
  775. MOV.F R8.z, R20.x;
  776. MOV.F R8.y, c[7];
  777. ADD.F32 R8.y, R8, R8.z;
  778. MOV.S R21.y, R8;
  779. SNE.F32 R8.y, R16, {0, 0, 0, 0}.x;
  780. MOV.F R11.w, R20.y;
  781. MOV.F R8.z, c[7].x;
  782. ADD.F32 R8.z, R8, R11.w;
  783. MOV.S R17.z, R8;
  784. SNE.F32 R8.z, R17.x, {0, 0, 0, 0}.x;
  785. TRUNC.U R8.z, R8;
  786. TRUNC.U R8.y, R8;
  787. AND.U.CC HC.x, R8.y, R8.z;
  788. MUL.F32 R8.x, R16.y, R17;
  789. IF NE.x;
  790. ELSE;
  791. MOV.F R8.x, {0, 0, 0, 0};
  792. ENDIF;
  793. MOV.F R8.y, R23.x;
  794. MOV.F R8.z, c[9].w;
  795. SGE.F32 R11.w, R8.y, R8.z;
  796. MOV.S R8.x, R8;
  797. MOV.F R8.y, R8.x;
  798. MOV.F R8.x, c[7].z;
  799. ADD.F32 R8.x, R8, R8.y;
  800. MOV.F R8.z, R1;
  801. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  802. TRUNC.U.CC HC.x, R11.w;
  803. MOV.S R17.x, R8;
  804. MOV.S R20.y, R8;
  805. IF NE.x;
  806. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  807. ELSE;
  808. MOV.S R8.y, {0, 0, 0, 0}.x;
  809. ENDIF;
  810. MOV.F R8.z, R0.y;
  811. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  812. MOV.F R16.y, R16.z;
  813. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  814. MOV.F R11.w, c[9].z;
  815. MOV.F R8.x, c[8].z;
  816. ADD.F32 R8.x, -R8, R11.w;
  817. MOV.S R23.w, R8.z;
  818. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  819. MOV.F R18.x, R8.y;
  820. MOV.S R23.x, R8;
  821. MOV.S R19.w, R16.y;
  822. MUL.F32 R8.x, R11.w, R18;
  823. SNE.F32 R16.y, R18.x, {0, 0, 0, 0}.x;
  824. TRUNC.U R11.w, R16.y;
  825. TRUNC.U R8.z, R8;
  826. AND.U.CC HC.x, R8.z, R11.w;
  827. IF NE.x;
  828. MOV.F R8.z, R8.x;
  829. ELSE;
  830. MOV.F R8.z, {0, 0, 0, 0}.x;
  831. ENDIF;
  832. MOV.F R16.y, R20;
  833. MOV.F R11.w, R0.y;
  834. MUL.F32 R8.x, R11.w, R16.y;
  835. SNE.F32 R18.x, R16.y, {0, 0, 0, 0};
  836. MOV.F R16.y, c[9].w;
  837. MOV.F R0.y, c[8].w;
  838. ADD.F32 R0.y, -R0, R16;
  839. MOV.S R18.w, R0.y;
  840. TRUNC.U R18.x, R18;
  841. MOV.F R16.y, R8;
  842. MOV.S R0.y, R8.z;
  843. ADD.F32 R8.z, -R16.y, {1, 0, 0, 0}.x;
  844. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  845. MOV.S R18.z, R8;
  846. TRUNC.U R8.z, R11.w;
  847. AND.U.CC HC.x, R8.z, R18;
  848. IF NE.x;
  849. ELSE;
  850. MOV.F R8.x, {0, 0, 0, 0};
  851. ENDIF;
  852. MOV.F R11.w, c[9].x;
  853. MOV.F R16.y, R8;
  854. MUL.F32 R8.z, R11.w, R16.y;
  855. MOV.S R19.x, R8;
  856. SNE.F32 R8.x, R11.w, {0, 0, 0, 0};
  857. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  858. TRUNC.U R11.w, R16.y;
  859. TRUNC.U R8.x, R8;
  860. AND.U.CC HC.x, R8, R11.w;
  861. IF NE.x;
  862. MOV.F R8.x, R8.z;
  863. ELSE;
  864. MOV.F R8.x, {0, 0, 0, 0};
  865. ENDIF;
  866. MOV.F R11.w, R18.z;
  867. MOV.F R8.z, R1;
  868. MUL.F32 R1.z, R8, R11.w;
  869. SNE.F32 R16.y, R11.w, {0, 0, 0, 0}.x;
  870. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  871. TRUNC.U R11.w, R16.y;
  872. TRUNC.U R8.z, R8;
  873. AND.U.CC HC.x, R8.z, R11.w;
  874. MOV.S R8.x, R8;
  875. IF NE.x;
  876. ELSE;
  877. MOV.F R1.z, {0, 0, 0, 0}.x;
  878. ENDIF;
  879. MOV.F R11.w, R8.y;
  880. MOV.F R8.z, c[9].y;
  881. MUL.F32 R8.y, R8.z, R11.w;
  882. MOV.S R16.y, R1.z;
  883. SNE.F32 R1.z, R8, {0, 0, 0, 0}.x;
  884. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  885. TRUNC.U R8.z, R11.w;
  886. TRUNC.U R1.z, R1;
  887. AND.U.CC HC.x, R1.z, R8.z;
  888. IF NE.x;
  889. MOV.F R1.z, R8.y;
  890. ELSE;
  891. MOV.F R1.z, {0, 0, 0, 0}.x;
  892. ENDIF;
  893. MOV.F R11.w, R19.x;
  894. MOV.F R8.z, R17;
  895. MUL.F32 R8.y, R8.z, R11.w;
  896. SNE.F32 R17.z, R11.w, {0, 0, 0, 0}.x;
  897. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  898. TRUNC.U R11.w, R8.z;
  899. TRUNC.U R17.z, R17;
  900. AND.U.CC HC.x, R11.w, R17.z;
  901. MOV.S R8.z, R1;
  902. IF NE.x;
  903. MOV.F R1.z, R8.y;
  904. ELSE;
  905. MOV.F R1.z, {0, 0, 0, 0}.x;
  906. ENDIF;
  907. MOV.F R17.z, R17.w;
  908. MOV.F R11.w, R18;
  909. DIV.F32 R17.z, R17, R11.w;
  910. MOV.F R8.y, R19;
  911. DIV.F32 R8.y, R8, R11.w;
  912. RCP.F32 R11.w, R11.w;
  913. MOV.S R18.y, R17.z;
  914. MOV.F R17.z, R21.y;
  915. MOV.S R18.z, R11.w;
  916. SNE.F32 R11.w, R17.z, {0, 0, 0, 0}.x;
  917. MOV.F R17.w, R19.x;
  918. MOV.S R18.x, R8.y;
  919. MUL.F32 R8.y, R17.z, R17.w;
  920. TRUNC.U R17.z, R11.w;
  921. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  922. TRUNC.U R17.w, R17;
  923. AND.U.CC HC.x, R17.z, R17.w;
  924. MOV.S R11.w, R1.z;
  925. IF NE.x;
  926. MOV.F R1.z, R8.y;
  927. ELSE;
  928. MOV.F R1.z, {0, 0, 0, 0}.x;
  929. ENDIF;
  930. MOV.F R17.w, R17.x;
  931. MOV.F R17.z, R18;
  932. MOV.F R17.x, R23;
  933. MUL.F32 R17.x, R17, R17.z;
  934. MOV.S R18.w, R17.x;
  935. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  936. SNE.F32 R17.z, R19.x, {0, 0, 0, 0}.x;
  937. TRUNC.U R17.x, R17;
  938. TRUNC.U R17.z, R17;
  939. AND.U.CC HC.x, R17, R17.z;
  940. MUL.F32 R8.y, R17.w, R19.x;
  941. MOV.S R1.z, R1;
  942. IF NE.x;
  943. ELSE;
  944. MOV.F R8.y, {0, 0, 0, 0}.x;
  945. ENDIF;
  946. MOV.F R17.w, R18;
  947. MOV.F R17.z, R17.y;
  948. MUL.F32 R17.x, R17.z, R17.w;
  949. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  950. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  951. TRUNC.U R17.z, R17;
  952. TRUNC.U R17.w, R17;
  953. AND.U.CC HC.x, R17.z, R17.w;
  954. MOV.S R8.y, R8;
  955. IF NE.x;
  956. ELSE;
  957. MOV.F R17.x, {0, 0, 0, 0};
  958. ENDIF;
  959. MOV.F R17.w, R17.y;
  960. MUL.F32 R17.z, R17.w, R18.x;
  961. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  962. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  963. TRUNC.U R17.w, R17;
  964. TRUNC.U R18.x, R18;
  965. AND.U.CC HC.x, R17.w, R18;
  966. MOV.S R22.x, R17;
  967. IF NE.x;
  968. MOV.F R17.x, R17.z;
  969. ELSE;
  970. MOV.F R17.x, {0, 0, 0, 0};
  971. ENDIF;
  972. MOV.F R17.z, R17.y;
  973. MOV.F R17.w, R18.y;
  974. MUL.F32 R17.y, R17.z, R17.w;
  975. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  976. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  977. TRUNC.U R17.z, R17;
  978. TRUNC.U R17.w, R17;
  979. AND.U.CC HC.x, R17.z, R17.w;
  980. MOV.S R22.y, R17.x;
  981. IF NE.x;
  982. MOV.F R17.x, R17.y;
  983. ELSE;
  984. MOV.F R17.x, {0, 0, 0, 0};
  985. ENDIF;
  986. MOV.F R17.z, R23.w;
  987. MOV.F R17.y, R16.z;
  988. MUL.F32 R16.z, R17.y, R17;
  989. SNE.F32 R17.w, R17.z, {0, 0, 0, 0}.x;
  990. TRUNC.U R17.z, R17.w;
  991. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  992. MOV.S R22.z, R17.x;
  993. TRUNC.U R17.x, R17.y;
  994. AND.U.CC HC.x, R17, R17.z;
  995. IF NE.x;
  996. ELSE;
  997. MOV.F R16.z, {0, 0, 0, 0}.x;
  998. ENDIF;
  999. MOV.F R17.x, R19.w;
  1000. SNE.F32 R17.y, R17.x, {0, 0, 0, 0}.x;
  1001. TRUNC.U R17.z, R17.y;
  1002. SNE.F32 R17.y, R15.w, {0, 0, 0, 0}.x;
  1003. MUL.F32 R17.x, R15.w, R17;
  1004. MOV.S R15.w, R16.z;
  1005. TRUNC.U R16.z, R17.y;
  1006. AND.U.CC HC.x, R16.z, R17.z;
  1007. IF NE.x;
  1008. MOV.F R16.z, R17.x;
  1009. ELSE;
  1010. MOV.F R16.z, {0, 0, 0, 0}.x;
  1011. ENDIF;
  1012. MOV.S R16.z, R16;
  1013. ENDIF;
  1014. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  1015. MOV.U.CC RC.x, -R17;
  1016. IF NE.x;
  1017. MOV.F R17.x, R15.w;
  1018. MUL.F32 R7.w, R9.y, R17.x;
  1019. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  1020. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1021. TRUNC.U R17.x, R17;
  1022. TRUNC.U R9.y, R9;
  1023. AND.U.CC HC.x, R9.y, R17;
  1024. IF NE.x;
  1025. ELSE;
  1026. MOV.F R7.w, {0, 0, 0, 0}.x;
  1027. ENDIF;
  1028. MOV.F R9.y, c[8].x;
  1029. MOV.F R17.x, R22.z;
  1030. ADD.F32 R17.x, R9.y, R17;
  1031. MOV.S R20.w, R17.x;
  1032. MOV.F R18.x, R15.w;
  1033. MOV.F R17.w, R9.x;
  1034. MOV.F R17.y, R22;
  1035. MOV.F R17.x, c[8].y;
  1036. ADD.F32 R17.z, R17.x, R17.y;
  1037. MOV.S R20.z, R17;
  1038. SNE.F32 R17.z, R18.x, {0, 0, 0, 0}.x;
  1039. MOV.F R17.y, R22.x;
  1040. MOV.F R17.x, c[8].z;
  1041. ADD.F32 R17.x, R17, R17.y;
  1042. MOV.S R20.y, R17.x;
  1043. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  1044. TRUNC.U R17.y, R17.x;
  1045. TRUNC.U R17.z, R17;
  1046. AND.U.CC HC.x, R17.y, R17.z;
  1047. MUL.F32 R9.y, R17.w, R18.x;
  1048. MOV.S R17.x, R7.w;
  1049. IF NE.x;
  1050. MOV.F R7.w, R9.y;
  1051. ELSE;
  1052. MOV.F R7.w, {0, 0, 0, 0}.x;
  1053. ENDIF;
  1054. MOV.F R17.z, R16.y;
  1055. MOV.F R17.y, R20.w;
  1056. MUL.F32 R9.y, R17, R17.z;
  1057. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  1058. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  1059. TRUNC.U R17.y, R17;
  1060. TRUNC.U R17.z, R17;
  1061. AND.U.CC HC.x, R17.y, R17.z;
  1062. MOV.S R19.y, R7.w;
  1063. IF NE.x;
  1064. MOV.F R7.w, R9.y;
  1065. ELSE;
  1066. MOV.F R7.w, {0, 0, 0, 0}.x;
  1067. ENDIF;
  1068. MOV.F R9.y, R1.w;
  1069. MOV.F R17.y, R15.w;
  1070. MUL.F32 R1.w, R9.y, R17.y;
  1071. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1072. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  1073. TRUNC.U R9.y, R9;
  1074. TRUNC.U R17.y, R17;
  1075. AND.U.CC HC.x, R9.y, R17.y;
  1076. MOV.S R21.x, R7.w;
  1077. IF NE.x;
  1078. ELSE;
  1079. MOV.F R1.w, {0, 0, 0, 0}.x;
  1080. ENDIF;
  1081. MOV.F R17.y, R16;
  1082. MOV.F R9.y, R20;
  1083. MUL.F32 R7.w, R9.y, R17.y;
  1084. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1085. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  1086. TRUNC.U R9.y, R9;
  1087. TRUNC.U R17.y, R17;
  1088. AND.U.CC HC.x, R9.y, R17.y;
  1089. MOV.S R21.y, R1.w;
  1090. IF NE.x;
  1091. MOV.F R1.w, R7;
  1092. ELSE;
  1093. MOV.F R1.w, {0, 0, 0, 0}.x;
  1094. ENDIF;
  1095. MOV.F R9.y, R20.z;
  1096. MUL.F32 R7.w, R9.y, R16.y;
  1097. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1098. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1099. TRUNC.U R9.y, R9;
  1100. TRUNC.U R16.y, R16;
  1101. AND.U.CC HC.x, R9.y, R16.y;
  1102. MOV.S R17.z, R1.w;
  1103. IF NE.x;
  1104. MOV.F R1.w, R7;
  1105. ELSE;
  1106. MOV.F R1.w, {0, 0, 0, 0}.x;
  1107. ENDIF;
  1108. MOV.F R16.y, R16.z;
  1109. MOV.F R9.y, R16.x;
  1110. MUL.F32 R7.w, R9.y, R16.y;
  1111. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1112. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1113. TRUNC.U R9.y, R9;
  1114. TRUNC.U R16.y, R16;
  1115. AND.U.CC HC.x, R9.y, R16.y;
  1116. MOV.S R17.w, R1;
  1117. IF NE.x;
  1118. MOV.F R1.w, R7;
  1119. ELSE;
  1120. MOV.F R1.w, {0, 0, 0, 0}.x;
  1121. ENDIF;
  1122. MOV.F R16.y, R16.z;
  1123. MOV.F R9.y, R16.w;
  1124. MUL.F32 R7.w, R9.y, R16.y;
  1125. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1126. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1127. TRUNC.U R9.y, R9;
  1128. TRUNC.U R16.y, R16;
  1129. AND.U.CC HC.x, R9.y, R16.y;
  1130. MOV.S R17.y, R1.w;
  1131. IF NE.x;
  1132. MOV.F R1.w, R7;
  1133. ELSE;
  1134. MOV.F R1.w, {0, 0, 0, 0}.x;
  1135. ENDIF;
  1136. MOV.F R16.w, R16.z;
  1137. MOV.F R16.z, R9;
  1138. MOV.F R16.y, R15.x;
  1139. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  1140. MOV.F R9.y, R1.x;
  1141. ADD.F32 R9.y, -R9, {1, 0, 0, 0}.x;
  1142. MOV.S R20.z, R16.y;
  1143. MOV.S R20.y, R9;
  1144. SNE.F32 R9.y, R16.z, {0, 0, 0, 0}.x;
  1145. SNE.F32 R16.y, R16.w, {0, 0, 0, 0}.x;
  1146. TRUNC.U R9.y, R9;
  1147. TRUNC.U R16.y, R16;
  1148. AND.U.CC HC.x, R9.y, R16.y;
  1149. MUL.F32 R7.w, R16.z, R16;
  1150. MOV.S R23.x, R1.w;
  1151. IF NE.x;
  1152. MOV.F R1.w, R7;
  1153. ELSE;
  1154. MOV.F R1.w, {0, 0, 0, 0}.x;
  1155. ENDIF;
  1156. MOV.F R7.w, R15.y;
  1157. ADD.F32 R7.w, R7, {9.99999997e-07, 0, 0, 0}.x;
  1158. MOV.S R16.z, R7.w;
  1159. MOV.F R7.w, R20.y;
  1160. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  1161. MOV.F R9.y, c[4].x;
  1162. MUL.F32 R7.w, R9.y, R7;
  1163. TRUNC.U R16.y, R16;
  1164. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1165. MOV.S R23.w, R1;
  1166. TRUNC.U R1.w, R9.y;
  1167. AND.U.CC HC.x, R1.w, R16.y;
  1168. IF NE.x;
  1169. MOV.F R1.w, R7;
  1170. ELSE;
  1171. MOV.F R1.w, {0, 0, 0, 0}.x;
  1172. ENDIF;
  1173. MOV.F R16.y, R20.z;
  1174. MOV.F R9.y, R1.x;
  1175. MUL.F32 R7.w, R9.y, R16.y;
  1176. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1177. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1178. TRUNC.U R9.y, R9;
  1179. TRUNC.U R16.y, R16;
  1180. AND.U.CC HC.x, R9.y, R16.y;
  1181. MOV.S R19.x, R1.w;
  1182. IF NE.x;
  1183. MOV.F R1.w, R7;
  1184. ELSE;
  1185. MOV.F R1.w, {0, 0, 0, 0}.x;
  1186. ENDIF;
  1187. MOV.F R7.w, R20.y;
  1188. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  1189. MOV.F R9.y, c[4].z;
  1190. MUL.F32 R7.w, R9.y, R7;
  1191. TRUNC.U R16.y, R16;
  1192. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1193. MOV.S R23.y, R1.w;
  1194. TRUNC.U R1.w, R9.y;
  1195. AND.U.CC HC.x, R1.w, R16.y;
  1196. IF NE.x;
  1197. MOV.F R1.w, R7;
  1198. ELSE;
  1199. MOV.F R1.w, {0, 0, 0, 0}.x;
  1200. ENDIF;
  1201. MOV.F R7.w, R20.y;
  1202. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  1203. MOV.F R9.y, c[4];
  1204. MUL.F32 R7.w, R9.y, R7;
  1205. TRUNC.U R16.y, R16;
  1206. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1207. MOV.S R19.z, R1.w;
  1208. TRUNC.U R1.w, R9.y;
  1209. AND.U.CC HC.x, R1.w, R16.y;
  1210. IF NE.x;
  1211. MOV.F R1.w, R7;
  1212. ELSE;
  1213. MOV.F R1.w, {0, 0, 0, 0}.x;
  1214. ENDIF;
  1215. MOV.F R20, R12;
  1216. MOV.S R19.w, R1;
  1217. MOV.F R12.w, R23.y;
  1218. MOV.F R9.y, R22.w;
  1219. MOV.F R18.w, {1, 0, 0, 0}.x;
  1220. MOV.F R18.xyz, R7;
  1221. DP4.F32 R7.w, R20, R18;
  1222. MOV.S R12.x, R7.w;
  1223. MUL.F32 R7.w, R9.y, R12;
  1224. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1225. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  1226. TRUNC.U R9.y, R9;
  1227. TRUNC.U R12.w, R12;
  1228. AND.U.CC HC.x, R9.y, R12.w;
  1229. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  1230. IF NE.x;
  1231. ELSE;
  1232. MOV.F R7.w, {0, 0, 0, 0}.x;
  1233. ENDIF;
  1234. MOV.F R20.xyz, R7;
  1235. MOV.F R18, R13;
  1236. MOV.F R20.w, {1, 0, 0, 0}.x;
  1237. DP4.F32 R7.x, R18, R20;
  1238. MOV.F R18, R14;
  1239. DP4.F32 R9.y, R20, R18;
  1240. MOV.S R22.w, R7.x;
  1241. MOV.F R7.x, R19;
  1242. ADD.F32 R7.y, R7.w, R7.x;
  1243. MOV.F R7.x, R17.y;
  1244. ADD.F32 R7.x, R7, R7.y;
  1245. MOV.F R7.w, R23.y;
  1246. MOV.F R7.y, R15.z;
  1247. MOV.S R18.z, R7.x;
  1248. MUL.F32 R7.x, R7.y, R7.w;
  1249. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1250. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1251. TRUNC.U R7.w, R7;
  1252. TRUNC.U R7.y, R7;
  1253. AND.U.CC HC.x, R7.y, R7.w;
  1254. MOV.S R14.z, R9.y;
  1255. IF NE.x;
  1256. ELSE;
  1257. MOV.F R7.x, {0, 0, 0, 0};
  1258. ENDIF;
  1259. MOV.F R7.w, R10.y;
  1260. MOV.F R7.y, R10.x;
  1261. ADD.F32 R7.y, R7, R7.w;
  1262. MOV.F R9.y, R23;
  1263. MOV.F R7.w, R1.y;
  1264. MOV.S R18.y, R7;
  1265. MUL.F32 R7.y, R7.w, R9;
  1266. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1267. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1268. TRUNC.U R7.w, R7;
  1269. TRUNC.U R9.y, R9;
  1270. AND.U.CC HC.x, R7.w, R9.y;
  1271. MOV.S R18.x, R7;
  1272. IF NE.x;
  1273. MOV.F R7.x, R7.y;
  1274. ELSE;
  1275. MOV.F R7.x, {0, 0, 0, 0};
  1276. ENDIF;
  1277. MOV.F R7.w, R10.z;
  1278. MOV.F R7.y, R10.x;
  1279. ADD.F32 R7.y, R7, R7.w;
  1280. MUL.F32 R12.w, R7.y, {0.5, 0, 0, 0}.x;
  1281. MOV.F R9.y, R10;
  1282. ADD.F32 R7.y, R7.w, R9;
  1283. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  1284. MOV.F R7.w, R19;
  1285. MOV.F R7.y, R18.x;
  1286. ADD.F32 R7.y, R7, R7.w;
  1287. MOV.F R7.w, R23.x;
  1288. ADD.F32 R7.y, R7.w, R7;
  1289. MOV.F R7.w, R19.y;
  1290. ADD.F32 R7.y, R7.w, R7;
  1291. MOV.S R20.z, R7.y;
  1292. MOV.F R7.y, R19.z;
  1293. ADD.F32 R7.x, R7, R7.y;
  1294. MOV.F R7.y, R23.w;
  1295. ADD.F32 R7.x, R7.y, R7;
  1296. MOV.F R7.y, R21;
  1297. ADD.F32 R7.x, R7.y, R7;
  1298. MOV.S R7.w, R9.y;
  1299. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  1300. MOV.S R20.y, R7.x;
  1301. MOV.S R19.z, R7.y;
  1302. MOV.F R7.y, R18.z;
  1303. MOV.F R7.x, R17;
  1304. ADD.F32 R7.x, R7, R7.y;
  1305. MOV.F R7.y, R11.w;
  1306. ADD.F32 R7.w, R7.y, R7.x;
  1307. MOV.F R7.y, R18;
  1308. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  1309. MOV.F R7.y, R8.x;
  1310. MOV.S R8.x, R9.y;
  1311. MOV.F R7.x, R21;
  1312. ADD.F32 R7.w, R7.x, R7;
  1313. ADD.F32 R7.x, R7.y, R7.w;
  1314. SNE.F32 R7.w, R7.y, -R7;
  1315. MOV.F R7.y, R8.x;
  1316. MOV.F R9.y, R25.x;
  1317. TRUNC.U R8.x, R7.w;
  1318. MUL.F32 R7.y, R7, {2, 0, 0, 0}.x;
  1319. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  1320. MOV.S R23.w, R7.y;
  1321. TRUNC.U R7.y, R7.w;
  1322. AND.U.CC HC.x, R7.y, R8;
  1323. MOV.S R20.w, R12;
  1324. MUL.F32 R7.x, R9.y, R7;
  1325. IF NE.x;
  1326. ELSE;
  1327. MOV.F R7.x, {0, 0, 0, 0};
  1328. ENDIF;
  1329. MOV.F R7.w, R20.y;
  1330. MOV.F R7.y, R8;
  1331. ADD.F32 R7.y, R7, R7.w;
  1332. MOV.S R18.z, R7.y;
  1333. MOV.F R7.y, R20.z;
  1334. ADD.F32 R1.z, R1, R7.y;
  1335. MOV.F R7.w, R17;
  1336. ADD.F32 R7.w, R7, R1.z;
  1337. MOV.F R7.y, R20.w;
  1338. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  1339. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  1340. MOV.S R20.x, R7.w;
  1341. MOV.F R7.y, R10.x;
  1342. MOV.S R19.y, R1.z;
  1343. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  1344. MOV.F R7.w, c[10].y;
  1345. MOV.S R21.x, R1.z;
  1346. MUL.F32 R1.z, R7.x, R7.w;
  1347. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1348. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  1349. TRUNC.U R7.w, R7;
  1350. TRUNC.U R7.x, R7;
  1351. AND.U.CC HC.x, R7, R7.w;
  1352. MOV.S R7.y, R17.z;
  1353. IF NE.x;
  1354. MOV.F R7.x, R1.z;
  1355. ELSE;
  1356. MOV.F R7.x, {0, 0, 0, 0};
  1357. ENDIF;
  1358. MOV.F R7.w, R20.x;
  1359. MOV.F R1.z, R8;
  1360. ADD.F32 R8.x, R1.z, R7.w;
  1361. MOV.F R1.z, R7.y;
  1362. MOV.F R7.w, R18.z;
  1363. ADD.F32 R1.z, R1, R7.w;
  1364. MOV.F R7.y, R0;
  1365. ADD.F32 R1.z, R7.y, R1;
  1366. MOV.S R18.y, R8.x;
  1367. MOV.S R18.x, R1.z;
  1368. MOV.F R1.z, R10.y;
  1369. ADD.F32 R1.z, R1, {-0.5, 0, 0, 0}.x;
  1370. MOV.F R7.y, R10.z;
  1371. ADD.F32 R7.y, R7, {-0.5, 0, 0, 0}.x;
  1372. MOV.S R17.z, R1;
  1373. MOV.F R8.x, c[11];
  1374. MOV.F R7.w, R23;
  1375. MOV.S R1.z, R7.y;
  1376. MUL.F32 R7.y, R7.w, R8.x;
  1377. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1378. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1379. TRUNC.U R7.w, R7;
  1380. TRUNC.U R8.x, R8;
  1381. AND.U.CC HC.x, R7.w, R8;
  1382. MOV.S R8.y, R7.x;
  1383. IF NE.x;
  1384. MOV.F R7.x, R7.y;
  1385. ELSE;
  1386. MOV.F R7.x, {0, 0, 0, 0};
  1387. ENDIF;
  1388. MOV.F R8.x, c[11].y;
  1389. MOV.F R7.w, R19.z;
  1390. MUL.F32 R7.y, R7.w, R8.x;
  1391. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1392. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1393. TRUNC.U R7.w, R7;
  1394. TRUNC.U R8.x, R8;
  1395. AND.U.CC HC.x, R7.w, R8;
  1396. MOV.S R18.z, R7.x;
  1397. IF NE.x;
  1398. MOV.F R7.x, R7.y;
  1399. ELSE;
  1400. MOV.F R7.x, {0, 0, 0, 0};
  1401. ENDIF;
  1402. MOV.F R8.x, c[11].z;
  1403. MOV.F R7.w, R19.y;
  1404. MUL.F32 R7.y, R7.w, R8.x;
  1405. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1406. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1407. TRUNC.U R7.w, R7;
  1408. TRUNC.U R8.x, R8;
  1409. AND.U.CC HC.x, R7.w, R8;
  1410. MOV.S R18.w, R7.x;
  1411. IF NE.x;
  1412. MOV.F R7.x, R7.y;
  1413. ELSE;
  1414. MOV.F R7.x, {0, 0, 0, 0};
  1415. ENDIF;
  1416. MOV.F R7.w, c[12].x;
  1417. MOV.F R7.y, R18.z;
  1418. ADD.F32 R7.y, R7, R7.w;
  1419. MOV.F R8.z, R18.x;
  1420. MOV.F R7.w, R25.z;
  1421. MOV.S R8.x, R7.y;
  1422. MUL.F32 R7.y, R7.w, R8.z;
  1423. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1424. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1425. TRUNC.U R8.z, R8;
  1426. TRUNC.U R7.w, R7;
  1427. AND.U.CC HC.x, R7.w, R8.z;
  1428. MOV.S R9.y, R7.x;
  1429. IF NE.x;
  1430. MOV.F R7.x, R7.y;
  1431. ELSE;
  1432. MOV.F R7.x, {0, 0, 0, 0};
  1433. ENDIF;
  1434. MOV.F R8.z, R18.y;
  1435. MOV.F R7.w, R25.y;
  1436. MUL.F32 R7.y, R7.w, R8.z;
  1437. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1438. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1439. TRUNC.U R8.z, R8;
  1440. TRUNC.U R7.w, R7;
  1441. AND.U.CC HC.x, R7.w, R8.z;
  1442. MOV.S R20.y, R7.x;
  1443. IF NE.x;
  1444. MOV.F R7.x, R7.y;
  1445. ELSE;
  1446. MOV.F R7.x, {0, 0, 0, 0};
  1447. ENDIF;
  1448. MOV.F R7.w, R18;
  1449. MOV.F R7.y, c[12];
  1450. ADD.F32 R7.y, R7, R7.w;
  1451. MOV.F R7.w, R10.y;
  1452. MOV.S R14.w, R7.y;
  1453. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  1454. MOV.S R18.x, R7.y;
  1455. MOV.F R7.y, R20;
  1456. SNE.F32 R7.w, R7.y, {0, 0, 0, 0}.x;
  1457. MOV.F R11.w, c[10];
  1458. TRUNC.U R12.w, R7;
  1459. MOV.F R8.z, R9.y;
  1460. MOV.F R7.w, c[12].z;
  1461. ADD.F32 R7.w, R7, R8.z;
  1462. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  1463. MOV.S R14.x, R7.w;
  1464. TRUNC.U R7.w, R8.z;
  1465. AND.U.CC HC.x, R12.w, R7.w;
  1466. MUL.F32 R7.y, R7, R11.w;
  1467. MOV.S R20.z, R7.x;
  1468. IF NE.x;
  1469. MOV.F R7.x, R7.y;
  1470. ELSE;
  1471. MOV.F R7.x, {0, 0, 0, 0};
  1472. ENDIF;
  1473. MOV.F R8.z, c[10];
  1474. MOV.F R7.w, R20.z;
  1475. MUL.F32 R7.y, R7.w, R8.z;
  1476. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1477. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1478. TRUNC.U R7.w, R7;
  1479. TRUNC.U R8.z, R8;
  1480. AND.U.CC HC.x, R7.w, R8.z;
  1481. MOV.S R18.z, R7.x;
  1482. IF NE.x;
  1483. MOV.F R7.x, R7.y;
  1484. ELSE;
  1485. MOV.F R7.x, {0, 0, 0, 0};
  1486. ENDIF;
  1487. MOV.F R7.w, R10.x;
  1488. MUL.F32 R7.w, R7, {2, 0, 0, 0}.x;
  1489. MOV.S R20.z, R7.w;
  1490. MOV.F R8.z, R10;
  1491. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  1492. MOV.F R7.w, R18.x;
  1493. FLR.F R7.w, R7;
  1494. MOV.F R9.y, R4.z;
  1495. MOV.F R11.w, R18.z;
  1496. MOV.S R20.x, R7.w;
  1497. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  1498. MUL.F32 R7.y, R9, R11.w;
  1499. MOV.S R20.y, R8.z;
  1500. TRUNC.U R8.z, R7.w;
  1501. SNE.F32 R9.y, R11.w, {0, 0, 0, 0}.x;
  1502. TRUNC.U R9.y, R9;
  1503. AND.U.CC HC.x, R8.z, R9.y;
  1504. MOV.S R7.w, R7.x;
  1505. IF NE.x;
  1506. MOV.F R7.x, R7.y;
  1507. ELSE;
  1508. MOV.F R7.x, {0, 0, 0, 0};
  1509. ENDIF;
  1510. MOV.F R9.y, c[13].x;
  1511. MOV.F R8.z, R21.x;
  1512. MUL.F32 R7.y, R8.z, R9;
  1513. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1514. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1515. TRUNC.U R8.z, R8;
  1516. TRUNC.U R9.y, R9;
  1517. AND.U.CC HC.x, R8.z, R9.y;
  1518. MOV.S R12.w, R7.x;
  1519. IF NE.x;
  1520. MOV.F R7.x, R7.y;
  1521. ELSE;
  1522. MOV.F R7.x, {0, 0, 0, 0};
  1523. ENDIF;
  1524. MOV.F R7.y, R20;
  1525. FLR.F R7.y, R7;
  1526. MOV.F R8.z, R20.x;
  1527. MOV.S R18.x, R7.y;
  1528. SGT.F32 R7.y, {0, 0, 0, 0}.x, R8.z;
  1529. TRUNC.U.CC HC.x, R7.y;
  1530. MOV.S R8.z, R7.x;
  1531. IF NE.x;
  1532. MOV.F R7.x, {1, 0, 0, 0};
  1533. ELSE;
  1534. MOV.F R7.x, {0, 0, 0, 0};
  1535. ENDIF;
  1536. MOV.F R7.y, R20.x;
  1537. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1538. TRUNC.U.CC HC.x, R7.y;
  1539. MOV.S R18.y, R7.x;
  1540. IF NE.x;
  1541. MOV.F R7.x, {1, 0, 0, 0};
  1542. ELSE;
  1543. MOV.F R7.x, {0, 0, 0, 0};
  1544. ENDIF;
  1545. MOV.F R7.y, R20.z;
  1546. FLR.F R7.y, R7;
  1547. MOV.S R18.w, R7.y;
  1548. MOV.F R7.y, R17.z;
  1549. SNE.F32 R11.w, R7.y, {0, 0, 0, 0}.x;
  1550. MOV.F R9.y, c[13];
  1551. MUL.F32 R7.y, R7, R9;
  1552. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1553. TRUNC.U R11.w, R11;
  1554. TRUNC.U R9.y, R9;
  1555. AND.U.CC HC.x, R11.w, R9.y;
  1556. MOV.S R18.z, R7.x;
  1557. IF NE.x;
  1558. MOV.F R7.x, R7.y;
  1559. ELSE;
  1560. MOV.F R7.x, {0, 0, 0, 0};
  1561. ENDIF;
  1562. MOV.F R9.y, R18;
  1563. MOV.F R7.y, R18.z;
  1564. ADD.F32 R7.y, R7, -R9;
  1565. MOV.S R25.x, R7.y;
  1566. MOV.F R7.y, R18.x;
  1567. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1568. TRUNC.U.CC HC.x, R7.y;
  1569. MOV.S R7.x, R7;
  1570. IF NE.x;
  1571. MOV.F R7.y, {1, 0, 0, 0}.x;
  1572. ELSE;
  1573. MOV.F R7.y, {0, 0, 0, 0}.x;
  1574. ENDIF;
  1575. MOV.F R9.y, R18.x;
  1576. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  1577. TRUNC.U.CC HC.x, R9.y;
  1578. MOV.S R20.y, R7;
  1579. IF NE.x;
  1580. MOV.F R7.y, {1, 0, 0, 0}.x;
  1581. ELSE;
  1582. MOV.F R7.y, {0, 0, 0, 0}.x;
  1583. ENDIF;
  1584. MOV.F R9.y, R18.w;
  1585. SGT.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1586. TRUNC.U.CC HC.x, R9.y;
  1587. MOV.S R20.z, R7.y;
  1588. IF NE.x;
  1589. MOV.F R7.y, {1, 0, 0, 0}.x;
  1590. ELSE;
  1591. MOV.F R7.y, {0, 0, 0, 0}.x;
  1592. ENDIF;
  1593. MOV.F R9.y, R18.w;
  1594. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  1595. TRUNC.U.CC HC.x, R9.y;
  1596. MOV.S R20.w, R7.y;
  1597. IF NE.x;
  1598. MOV.F R7.y, {1, 0, 0, 0}.x;
  1599. ELSE;
  1600. MOV.F R7.y, {0, 0, 0, 0}.x;
  1601. ENDIF;
  1602. MOV.F R9.y, R20.w;
  1603. ADD.F32 R7.y, R9, -R7;
  1604. MOV.F R13.w, R20.z;
  1605. MOV.F R11.w, R20.y;
  1606. ADD.F32 R11.w, R11, -R13;
  1607. MOV.S R11.w, R11;
  1608. MOV.S R25.z, R7.y;
  1609. MOV.S R13.w, c[0];
  1610. ENDIF;
  1611. SEQ.U R7.y, R26.z, {1, 0, 0, 0}.x;
  1612. MOV.U.CC RC.x, -R7.y;
  1613. IF NE.x;
  1614. AND.S R1.x, c[14], {65536, 0, 0, 0};
  1615. I2F.S R1.x, R1;
  1616. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1.x;
  1617. TRUNC.U.CC HC.x, R1.y;
  1618. AND.S R19.y, c[14].x, {262144, 0, 0, 0}.x;
  1619. AND.S R17.z, c[14].x, {131072, 0, 0, 0}.x;
  1620. MOV.S R9.y, R1.x;
  1621. IF NE.x;
  1622. MOV.F R1.x, {1, 0, 0, 0};
  1623. ELSE;
  1624. MOV.F R1.x, {0, 0, 0, 0};
  1625. ENDIF;
  1626. MOV.F R1.y, R9;
  1627. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  1628. TRUNC.U.CC HC.x, R1.y;
  1629. MOV.S R20.x, R1;
  1630. IF NE.x;
  1631. MOV.F R1.x, {1, 0, 0, 0};
  1632. ELSE;
  1633. MOV.F R1.x, {0, 0, 0, 0};
  1634. ENDIF;
  1635. MOV.F R1.y, R1.z;
  1636. SNE.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  1637. MOV.F R1.z, c[13];
  1638. MUL.F32 R1.y, R1, R1.z;
  1639. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1640. TRUNC.U R4.z, R4;
  1641. TRUNC.U R1.z, R1;
  1642. AND.U.CC HC.x, R4.z, R1.z;
  1643. MOV.S R20.y, R1.x;
  1644. IF NE.x;
  1645. MOV.F R1.x, R1.y;
  1646. ELSE;
  1647. MOV.F R1.x, {0, 0, 0, 0};
  1648. ENDIF;
  1649. I2F.S R1.y, R17.z;
  1650. MOV.S R18.z, R1.y;
  1651. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  1652. TRUNC.U.CC HC.x, R1.y;
  1653. MOV.S R19.z, R1.x;
  1654. IF NE.x;
  1655. MOV.F R1.x, {1, 0, 0, 0};
  1656. ELSE;
  1657. MOV.F R1.x, {0, 0, 0, 0};
  1658. ENDIF;
  1659. MOV.F R1.y, R18.z;
  1660. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  1661. TRUNC.U.CC HC.x, R1.y;
  1662. MOV.S R18.x, R1;
  1663. IF NE.x;
  1664. MOV.F R1.x, {1, 0, 0, 0};
  1665. ELSE;
  1666. MOV.F R1.x, {0, 0, 0, 0};
  1667. ENDIF;
  1668. MOV.F R1.z, R20.x;
  1669. MOV.F R1.y, R20;
  1670. ADD.F32 R1.y, R1, -R1.z;
  1671. MOV.S R18.w, R1.y;
  1672. I2F.S R1.y, R19;
  1673. MOV.S R9.y, R1;
  1674. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  1675. TRUNC.U.CC HC.x, R1.y;
  1676. MOV.S R18.y, R1.x;
  1677. IF NE.x;
  1678. MOV.F R1.x, {1, 0, 0, 0};
  1679. ELSE;
  1680. MOV.F R1.x, {0, 0, 0, 0};
  1681. ENDIF;
  1682. MOV.F R1.z, R18.y;
  1683. MOV.F R1.y, R18.x;
  1684. ADD.F32 R1.y, R1, -R1.z;
  1685. MOV.S R20.z, R1.y;
  1686. MOV.F R1.y, R9;
  1687. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  1688. TRUNC.U.CC HC.x, R1.y;
  1689. MOV.S R20.x, R1;
  1690. IF NE.x;
  1691. MOV.F R1.x, {1, 0, 0, 0};
  1692. ELSE;
  1693. MOV.F R1.x, {0, 0, 0, 0};
  1694. ENDIF;
  1695. MOV.F R4.z, R20.x;
  1696. ADD.F32 R1.x, R1, -R4.z;
  1697. MOV.F R1.z, R18.w;
  1698. TRUNC.S R1.z, R1;
  1699. MOV.F R1.y, R20.z;
  1700. TRUNC.S R1.y, R1;
  1701. ADD.S R7.y, -R1.z, {0, 0, 0, 0}.x;
  1702. MOV.S R18.y, R1.x;
  1703. MOV.F R1.x, c[12].w;
  1704. SEQ.F R1.x, R1, {1, 0, 0, 0};
  1705. TRUNC.U.CC HC.x, R1;
  1706. MAX.S R20.x, R1.z, R7.y;
  1707. ADD.S R20.y, -R1, {0, 0, 0, 0}.x;
  1708. MOV.S R19.y, R1;
  1709. IF NE.x;
  1710. MOV.S R1.x, {-1, 0, 0, 0};
  1711. ELSE;
  1712. MOV.S R1.x, {0, 0, 0, 0};
  1713. ENDIF;
  1714. MOV.F R1.y, R18;
  1715. TRUNC.S R21.x, R1.y;
  1716. I2F.S R1.y, R20.x;
  1717. MUL.F32 R1.z, R1.y, {2, 0, 0, 0}.x;
  1718. MOV.F R4.z, R25.x;
  1719. MUL.F32 R1.y, -R1.z, R4.z;
  1720. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1721. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  1722. TRUNC.U R4.z, R4;
  1723. TRUNC.U R1.z, R1;
  1724. AND.U.CC HC.x, R1.z, R4.z;
  1725. MAX.S R18.w, R19.y, R20.y;
  1726. ADD.S R18.x, -R21, {0, 0, 0, 0};
  1727. IF NE.x;
  1728. ELSE;
  1729. MOV.F R1.y, {0, 0, 0, 0}.x;
  1730. ENDIF;
  1731. MOV.F R4.z, R11.w;
  1732. SNE.F32 R9.y, R4.z, {0, 0, 0, 0}.x;
  1733. I2F.S R1.z, R18.w;
  1734. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  1735. SNE.F32 R7.y, -R1.z, {0, 0, 0, 0}.x;
  1736. MUL.F32 R1.z, -R1, R4;
  1737. MOV.F R4.z, c[12].w;
  1738. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  1739. TRUNC.U R7.y, R7;
  1740. TRUNC.U R9.y, R9;
  1741. AND.U.CC HC.x, R7.y, R9.y;
  1742. MAX.S R20.z, R21.x, R18.x;
  1743. MOV.S R20.y, R1;
  1744. MOV.S R23.w, R4.z;
  1745. IF NE.x;
  1746. MOV.F R1.y, R1.z;
  1747. ELSE;
  1748. MOV.F R1.y, {0, 0, 0, 0}.x;
  1749. ENDIF;
  1750. MOV.F R7.y, R20;
  1751. MOV.F R4.z, R8.x;
  1752. MUL.F32 R1.z, R4, R7.y;
  1753. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1754. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1755. TRUNC.U R4.z, R4;
  1756. TRUNC.U R7.y, R7;
  1757. AND.U.CC HC.x, R4.z, R7.y;
  1758. MOV.S R18.x, R1.y;
  1759. IF NE.x;
  1760. MOV.F R1.y, R1.z;
  1761. ELSE;
  1762. MOV.F R1.y, {0, 0, 0, 0}.x;
  1763. ENDIF;
  1764. MOV.F R7.y, R20;
  1765. MOV.F R4.z, R11.x;
  1766. MUL.F32 R1.z, R4, R7.y;
  1767. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1768. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1769. TRUNC.U R4.z, R4;
  1770. TRUNC.U R7.y, R7;
  1771. AND.U.CC HC.x, R4.z, R7.y;
  1772. MOV.S R18.y, R1;
  1773. IF NE.x;
  1774. MOV.F R1.y, R1.z;
  1775. ELSE;
  1776. MOV.F R1.y, {0, 0, 0, 0}.x;
  1777. ENDIF;
  1778. I2F.S R1.z, R20;
  1779. MUL.F32 R4.z, R1, {2, 0, 0, 0}.x;
  1780. MOV.F R7.y, R25.z;
  1781. MUL.F32 R1.z, -R4, R7.y;
  1782. SNE.F32 R4.z, -R4, {0, 0, 0, 0}.x;
  1783. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1784. TRUNC.U R4.z, R4;
  1785. TRUNC.U R7.y, R7;
  1786. AND.U.CC HC.x, R4.z, R7.y;
  1787. MOV.S R18.z, R1.y;
  1788. IF NE.x;
  1789. MOV.F R1.y, R1.z;
  1790. ELSE;
  1791. MOV.F R1.y, {0, 0, 0, 0}.x;
  1792. ENDIF;
  1793. MOV.F R4.z, R18;
  1794. MOV.F R1.z, R11.x;
  1795. ADD.F32 R1.z, R1, R4;
  1796. MOV.F R7.y, R18.x;
  1797. MOV.F R4.z, R14.w;
  1798. MOV.S R20.y, R1.z;
  1799. MUL.F32 R1.z, R4, R7.y;
  1800. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1801. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1802. TRUNC.U R4.z, R4;
  1803. TRUNC.U R7.y, R7;
  1804. AND.U.CC HC.x, R4.z, R7.y;
  1805. MOV.S R20.x, R1.y;
  1806. IF NE.x;
  1807. MOV.F R1.y, R1.z;
  1808. ELSE;
  1809. MOV.F R1.y, {0, 0, 0, 0}.x;
  1810. ENDIF;
  1811. MOV.F R4.z, R18.y;
  1812. MOV.F R1.z, R8.x;
  1813. ADD.F32 R1.z, R1, R4;
  1814. MOV.F R7.y, R18.x;
  1815. MOV.F R4.z, R11.y;
  1816. MOV.S R17.w, R1.z;
  1817. MUL.F32 R1.z, R4, R7.y;
  1818. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1819. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1820. TRUNC.U R4.z, R4;
  1821. TRUNC.U R7.y, R7;
  1822. AND.U.CC HC.x, R4.z, R7.y;
  1823. MOV.S R20.z, R1.y;
  1824. IF NE.x;
  1825. MOV.F R1.y, R1.z;
  1826. ELSE;
  1827. MOV.F R1.y, {0, 0, 0, 0}.x;
  1828. ENDIF;
  1829. MOV.F R4.z, R20;
  1830. MOV.F R1.z, R14.w;
  1831. ADD.F32 R1.z, R1, R4;
  1832. MOV.S R21.z, R1;
  1833. MOV.F R1.z, R20.y;
  1834. MOV.F R4.z, R8;
  1835. ADD.F32 R4.z, R1, R4;
  1836. MOV.F R1.z, R11.y;
  1837. ADD.F32 R1.z, R1, R1.y;
  1838. MOV.S R21.y, R4.z;
  1839. MOV.F R4.z, R14.x;
  1840. MOV.F R7.y, R20.x;
  1841. MUL.F32 R1.y, R4.z, R7;
  1842. MOV.S R18.x, R1.z;
  1843. SNE.F32 R1.z, R4, {0, 0, 0, 0}.x;
  1844. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1845. TRUNC.U R4.z, R7.y;
  1846. TRUNC.U R1.z, R1;
  1847. AND.U.CC HC.x, R1.z, R4.z;
  1848. IF NE.x;
  1849. ELSE;
  1850. MOV.F R1.y, {0, 0, 0, 0}.x;
  1851. ENDIF;
  1852. MOV.F R7.y, R20.x;
  1853. MOV.F R4.z, R11;
  1854. MUL.F32 R1.z, R4, R7.y;
  1855. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1856. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1857. TRUNC.U R4.z, R4;
  1858. TRUNC.U R7.y, R7;
  1859. AND.U.CC HC.x, R4.z, R7.y;
  1860. MOV.S R18.w, R1.y;
  1861. IF NE.x;
  1862. ELSE;
  1863. MOV.F R1.z, {0, 0, 0, 0}.x;
  1864. ENDIF;
  1865. MOV.F R4.z, R7.x;
  1866. MOV.F R1.y, R18.x;
  1867. ADD.F32 R1.y, R1, R4.z;
  1868. MOV.S R21.x, R1.y;
  1869. MOV.F R1.y, c[12].w;
  1870. LG2.F32 R1.y, R1.y;
  1871. SNE.F32 R9.y, R1, {0, 0, 0, 0}.x;
  1872. MOV.F R7.y, R18.w;
  1873. MOV.F R4.z, R14.x;
  1874. ADD.F32 R4.z, R4, R7.y;
  1875. MOV.S R19.y, R4.z;
  1876. MOV.F R4.z, R11;
  1877. ADD.F32 R1.z, R4, R1;
  1878. MUL.F32 R7.y, R1, {2, 0, 0, 0}.x;
  1879. SEQ.F R7.y, R1, R7;
  1880. TRUNC.U R9.y, R9;
  1881. TRUNC.U R7.y, R7;
  1882. AND.U R7.y, R7, R9;
  1883. SEQ.U R4.z, R7.y, {1, 0, 0, 0}.x;
  1884. MOV.U.CC RC.x, -R4.z;
  1885. MOV.S R20.w, R1.z;
  1886. IF NE.x;
  1887. MOV.F R1.y, {-3.40282347e+38, 0, 0, 0}.x;
  1888. ENDIF;
  1889. MOV.F R4.z, R19;
  1890. MOV.F R1.z, R20.w;
  1891. ADD.F32 R1.z, R1, R4;
  1892. MOV.F R4.z, c[15].x;
  1893. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  1894. MOV.S R18.z, R4;
  1895. MOV.F R7.y, R9.w;
  1896. MOV.S R23.y, R1.z;
  1897. MUL.F32 R1.z, R7.y, R1.y;
  1898. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1899. MOV.F R4.z, c[15].y;
  1900. SNE.F32 R9.y, R1, {0, 0, 0, 0}.x;
  1901. MUL.F32 R1.y, R4.z, {0.5, 0, 0, 0}.x;
  1902. TRUNC.U R7.y, R7;
  1903. TRUNC.U R4.z, R9.y;
  1904. AND.U.CC HC.x, R7.y, R4.z;
  1905. MOV.S R18.x, R1.y;
  1906. IF NE.x;
  1907. MOV.F R1.y, R1.z;
  1908. ELSE;
  1909. MOV.F R1.y, {0, 0, 0, 0}.x;
  1910. ENDIF;
  1911. MOV.F R1.z, R4.x;
  1912. MOV.F R4.z, R18;
  1913. ADD.F32 R1.z, R1, R4;
  1914. MOV.F R4.x, R23.w;
  1915. RCP.F32 R4.x, R4.x;
  1916. MOV.S R19.z, R4.x;
  1917. EX2.F32 R1.y, R1.y;
  1918. SNE.F32 R4.x, R7.w, {0, 0, 0, 0};
  1919. MOV.F R4.z, R18.x;
  1920. MOV.S R20.x, R1.z;
  1921. ADD.F32 R1.z, R4.y, R4;
  1922. SNE.F32 R4.y, R4, -R4.z;
  1923. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  1924. TRUNC.U R4.y, R4;
  1925. TRUNC.U R4.x, R4;
  1926. AND.U.CC HC.x, R4, R4.y;
  1927. MUL.F32 R1.z, R7.w, R1;
  1928. MOV.S R7.y, R8;
  1929. MOV.S R18.x, R1.y;
  1930. IF NE.x;
  1931. MOV.F R1.y, R1.z;
  1932. ELSE;
  1933. MOV.F R1.y, {0, 0, 0, 0}.x;
  1934. ENDIF;
  1935. MOV.F R1.z, R20.x;
  1936. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  1937. MOV.F R4.x, R7.y;
  1938. MUL.F32 R1.z, R4.x, R1;
  1939. TRUNC.U R4.y, R4;
  1940. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1941. MOV.S R8.y, R1;
  1942. TRUNC.U R1.y, R4.x;
  1943. AND.U.CC HC.x, R1.y, R4.y;
  1944. IF NE.x;
  1945. MOV.F R1.y, R1.z;
  1946. ELSE;
  1947. MOV.F R1.y, {0, 0, 0, 0}.x;
  1948. ENDIF;
  1949. SEQ.S R1.x, R1, {0, 0, 0, 0};
  1950. MOV.U.CC RC.x, -R1;
  1951. MOV.F R4.x, R19.z;
  1952. MOV.F R1.z, R18.x;
  1953. MUL.F32 R1.z, R1, R4.x;
  1954. MOV.S R20.y, R1.z;
  1955. MOV.S R4.z, R1.y;
  1956. IF NE.x;
  1957. MOV.S R1.x, R20.y;
  1958. ELSE;
  1959. MOV.S R1.x, R9.w;
  1960. ENDIF;
  1961. MOV.F R4.x, R1;
  1962. MOV.F R1.z, R19.y;
  1963. MUL.F32 R1.y, R1.z, R4.x;
  1964. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1965. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1966. TRUNC.U R4.x, R4;
  1967. TRUNC.U R1.z, R1;
  1968. AND.U.CC HC.x, R1.z, R4;
  1969. IF NE.x;
  1970. ELSE;
  1971. MOV.F R1.y, {0, 0, 0, 0}.x;
  1972. ENDIF;
  1973. MOV.F R4.y, R1.x;
  1974. MOV.F R4.x, R21.z;
  1975. MUL.F32 R1.z, R4.x, R4.y;
  1976. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1977. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  1978. TRUNC.U R4.x, R4;
  1979. TRUNC.U R4.y, R4;
  1980. AND.U.CC HC.x, R4, R4.y;
  1981. MOV.S R20.y, R1;
  1982. IF NE.x;
  1983. MOV.F R1.y, R1.z;
  1984. ELSE;
  1985. MOV.F R1.y, {0, 0, 0, 0}.x;
  1986. ENDIF;
  1987. MOV.F R4.x, R1;
  1988. MOV.F R1.z, R17.w;
  1989. MUL.F32 R1.x, R1.z, R4;
  1990. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1991. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1992. TRUNC.U R1.z, R1;
  1993. TRUNC.U R4.x, R4;
  1994. AND.U.CC HC.x, R1.z, R4;
  1995. MOV.S R20.z, R1.y;
  1996. IF NE.x;
  1997. ELSE;
  1998. MOV.F R1.x, {0, 0, 0, 0};
  1999. ENDIF;
  2000. MOV.F R4.y, R21;
  2001. ADD.F32 R1.x, R4.y, R1;
  2002. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  2003. MOV.F R1.z, R20;
  2004. MOV.F R1.y, R21.x;
  2005. ADD.F32 R1.y, R1, R1.z;
  2006. MAD.F32 R4.x, R1.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  2007. MOV.F R1.z, R20.y;
  2008. MOV.F R1.y, R23;
  2009. ADD.F32 R1.y, R1, R1.z;
  2010. FRC.F32 R1.z, R4.x;
  2011. MAD.F32 R1.z, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  2012. MUL.F32 R4.x, R1.z, {0.159154937, 0, 0, 0};
  2013. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  2014. FRC.F32 R1.y, R1;
  2015. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  2016. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  2017. MOV.S R21.y, R1;
  2018. SIN.F32 R1.y, R1.z;
  2019. MOV.S R1.y, R1;
  2020. MOV.S R1.z, R1.y;
  2021. MOV.S R21.x, R4;
  2022. MOV.F R4.x, R1.z;
  2023. FRC.F32 R1.x, R1;
  2024. MOV.S R17.w, R1.y;
  2025. MAD.F32 R1.y, R1.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  2026. COS.F32 R1.z, R1.y;
  2027. SIN.F32 R1.y, R1.y;
  2028. MUL.F32 R1.x, R1.z, R4;
  2029. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2030. MOV.S R19.y, R1;
  2031. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  2032. TRUNC.U R4.x, R4;
  2033. TRUNC.U R1.y, R1;
  2034. AND.U.CC HC.x, R1.y, R4;
  2035. MOV.S R23.x, R1.z;
  2036. IF NE.x;
  2037. ELSE;
  2038. MOV.F R1.x, {0, 0, 0, 0};
  2039. ENDIF;
  2040. MOV.F R4.x, R17.w;
  2041. MOV.F R1.z, R19.y;
  2042. MUL.F32 R1.y, R1.z, R4.x;
  2043. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2044. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2045. TRUNC.U R1.z, R1;
  2046. TRUNC.U R4.x, R4;
  2047. AND.U.CC HC.x, R1.z, R4;
  2048. MOV.S R17.z, R1.x;
  2049. IF NE.x;
  2050. MOV.F R1.x, R1.y;
  2051. ELSE;
  2052. MOV.F R1.x, {0, 0, 0, 0};
  2053. ENDIF;
  2054. MOV.F R1.y, R21.x;
  2055. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  2056. COS.F32 R1.z, R1.y;
  2057. MOV.F R4.x, R23;
  2058. MUL.F32 R1.y, R1.z, R4.x;
  2059. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2060. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  2061. MOV.S R21.z, R1;
  2062. TRUNC.U R1.z, R4.x;
  2063. TRUNC.U R4.x, R4.y;
  2064. AND.U.CC HC.x, R1.z, R4;
  2065. MOV.S R23.w, R1.x;
  2066. IF NE.x;
  2067. MOV.F R1.x, R1.y;
  2068. ELSE;
  2069. MOV.F R1.x, {0, 0, 0, 0};
  2070. ENDIF;
  2071. MOV.F R4.x, R21.z;
  2072. MOV.F R1.z, R19.y;
  2073. MUL.F32 R1.y, R1.z, R4.x;
  2074. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2075. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2076. TRUNC.U R1.z, R1;
  2077. TRUNC.U R4.x, R4;
  2078. AND.U.CC HC.x, R1.z, R4;
  2079. MOV.S R17.x, R1;
  2080. IF NE.x;
  2081. MOV.F R1.x, R1.y;
  2082. ELSE;
  2083. MOV.F R1.x, {0, 0, 0, 0};
  2084. ENDIF;
  2085. MOV.F R1.y, R21;
  2086. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  2087. SIN.F32 R1.z, R1.y;
  2088. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  2089. MOV.S R17.y, R1.z;
  2090. MUL.F32 R1.y, R1.x, R1.z;
  2091. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2092. TRUNC.U R1.z, R1;
  2093. TRUNC.U R4.x, R4;
  2094. AND.U.CC HC.x, R1.z, R4;
  2095. MOV.S R7.y, R21;
  2096. MOV.S R23.y, R1.x;
  2097. IF NE.x;
  2098. MOV.F R1.x, R1.y;
  2099. ELSE;
  2100. MOV.F R1.x, {0, 0, 0, 0};
  2101. ENDIF;
  2102. MOV.F R1.z, R17.y;
  2103. MOV.F R4.x, -R1.z;
  2104. MOV.F R4.y, R17.x;
  2105. MUL.F32 R1.y, R1.z, R4;
  2106. MOV.S R21.y, R4.x;
  2107. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2108. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  2109. TRUNC.U R1.z, R1;
  2110. TRUNC.U R4.x, R4;
  2111. AND.U.CC HC.x, R1.z, R4;
  2112. MOV.S R18.x, R1;
  2113. IF NE.x;
  2114. MOV.F R1.x, R1.y;
  2115. ELSE;
  2116. MOV.F R1.x, {0, 0, 0, 0};
  2117. ENDIF;
  2118. MOV.F R4.x, R17.z;
  2119. MOV.F R1.z, R17.y;
  2120. MUL.F32 R1.y, R1.z, R4.x;
  2121. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2122. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2123. TRUNC.U R1.z, R1;
  2124. TRUNC.U R4.x, R4;
  2125. AND.U.CC HC.x, R1.z, R4;
  2126. MOV.S R18.z, R1.x;
  2127. IF NE.x;
  2128. MOV.F R1.x, R1.y;
  2129. ELSE;
  2130. MOV.F R1.x, {0, 0, 0, 0};
  2131. ENDIF;
  2132. MOV.F R1.y, R7;
  2133. MOV.F R1.z, R17;
  2134. MOV.F R4.x, R18;
  2135. ADD.F32 R4.y, -R1.z, R4.x;
  2136. MOV.F R4.x, R18.z;
  2137. MOV.F R1.z, R23.w;
  2138. ADD.F32 R1.z, R1, R4.x;
  2139. MOV.S R7.y, R23.x;
  2140. MOV.S R23.x, R1.z;
  2141. MOV.F R1.z, R23.y;
  2142. ADD.F32 R1.x, -R1.z, R1;
  2143. MOV.S R20.y, R1.x;
  2144. MUL.F32 R1.x, R1.y, {6.28318548, 0, 0, 0};
  2145. COS.F32 R1.y, R1.x;
  2146. MOV.F R1.z, R21;
  2147. MUL.F32 R1.x, R1.y, R1.z;
  2148. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2149. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  2150. TRUNC.U R1.z, R1;
  2151. TRUNC.U R4.x, R4;
  2152. AND.U.CC HC.x, R1.z, R4;
  2153. MOV.S R11.z, R4.y;
  2154. MOV.S R21.x, R1.y;
  2155. IF NE.x;
  2156. ELSE;
  2157. MOV.F R1.x, {0, 0, 0, 0};
  2158. ENDIF;
  2159. MOV.F R1.y, R21.x;
  2160. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  2161. MOV.F R1.z, R7.y;
  2162. MUL.F32 R1.y, R1.z, R1;
  2163. TRUNC.U R4.x, R4;
  2164. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2165. MOV.S R19.w, R1.x;
  2166. TRUNC.U R1.x, R1.z;
  2167. AND.U.CC HC.x, R1, R4;
  2168. IF NE.x;
  2169. MOV.F R1.x, R1.y;
  2170. ELSE;
  2171. MOV.F R1.x, {0, 0, 0, 0};
  2172. ENDIF;
  2173. MOV.F R4.x, R21;
  2174. MOV.F R1.z, R19.y;
  2175. MUL.F32 R1.y, R1.z, R4.x;
  2176. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2177. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2178. TRUNC.U R1.z, R1;
  2179. TRUNC.U R4.x, R4;
  2180. AND.U.CC HC.x, R1.z, R4;
  2181. MOV.S R7.y, R21.x;
  2182. MOV.S R23.y, R1.x;
  2183. IF NE.x;
  2184. MOV.F R1.x, R1.y;
  2185. ELSE;
  2186. MOV.F R1.x, {0, 0, 0, 0};
  2187. ENDIF;
  2188. MOV.F R4.x, R23.w;
  2189. MOV.F R1.z, R17.y;
  2190. MUL.F32 R1.y, R1.z, R4.x;
  2191. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2192. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2193. TRUNC.U R1.z, R1;
  2194. TRUNC.U R4.x, R4;
  2195. AND.U.CC HC.x, R1.z, R4;
  2196. MOV.S R21.x, R1;
  2197. IF NE.x;
  2198. MOV.F R1.x, R1.y;
  2199. ELSE;
  2200. MOV.F R1.x, {0, 0, 0, 0};
  2201. ENDIF;
  2202. MOV.F R4.x, R12.w;
  2203. MOV.F R1.z, R20.y;
  2204. MUL.F32 R1.y, R1.z, R4.x;
  2205. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2206. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2207. TRUNC.U R1.z, R1;
  2208. TRUNC.U R4.x, R4;
  2209. AND.U.CC HC.x, R1.z, R4;
  2210. MOV.S R18.y, R1.x;
  2211. IF NE.x;
  2212. MOV.F R1.x, R1.y;
  2213. ELSE;
  2214. MOV.F R1.x, {0, 0, 0, 0};
  2215. ENDIF;
  2216. MOV.F R4.x, R7.y;
  2217. MOV.F R1.z, R17.w;
  2218. MUL.F32 R1.y, R1.z, R4.x;
  2219. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2220. SNE.F32 R4.x, R4, {
  2221. [17:50:24] Link error in shader 553f11c13d4a304b. Log:
  2222. [17:50:24] Vertex info
  2223. -----------
  2224. Internal error: assembly compile error for vertex shader at offset 2561:
  2225. -- error message --
  2226. line 53, column 45: error: invalid vertex attribute reference
  2227. line 60, column 25: error: invalid vertex attribute reference
  2228. line 62, column 25: error: invalid vertex attribute reference
  2229. line 64, column 25: error: invalid vertex attribute reference
  2230. line 67, column 25: error: invalid vertex attribute reference
  2231. -- internal assembly text --
  2232. !!NVvp5.0
  2233. OPTION NV_internal;
  2234. OPTION NV_gpu_program_fp64;
  2235. OPTION NV_bindless_texture;
  2236. # cgc version 3.4.0001, build date Jun 24 2018
  2237. # command line args:
  2238. #vendor NVIDIA Corporation
  2239. #version 3.4.0.1 COP Build Date Jun 24 2018
  2240. #profile gp5vp
  2241. #program main
  2242. #semantic textureUnitVS13 : TEXUNIT[1]
  2243. #semantic textureUnitVS8 : TEXUNIT[0]
  2244. #semantic uf_alphaTestRef
  2245. #semantic uf_remappedVS
  2246. #semantic uf_windowSpaceToClipSpaceTransform
  2247. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  2248. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  2249. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  2250. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  2251. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  2252. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  2253. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  2254. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  2255. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  2256. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  2257. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  2258. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  2259. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  2260. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  2261. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  2262. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  2263. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  2264. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  2265. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  2266. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  2267. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  2268. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  2269. #var float4 passParameterSem15 : $vout.ATTR8 : ATTR8 : -1 : 1
  2270. #var float4 passParameterSem16 : $vout.ATTR9 : ATTR9 : -1 : 1
  2271. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  2272. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  2273. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  2274. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  2275. #var float4 passParameterSem9 : $vout.ATTR6 : ATTR6 : -1 : 1
  2276. #var ulong textureUnitVS13 : TEXUNIT[1] : c[65] : -1 : 1
  2277. #var ulong textureUnitVS8 : TEXUNIT[0] : c[66] : -1 : 1
  2278. #var float uf_alphaTestRef : : : -1 : 0
  2279. #var int4 uf_remappedVS[0] : : c[0], 65 : -1 : 1
  2280. #var float2 uf_windowSpaceToClipSpaceTransform : : : -1 : 0
  2281. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  2282. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  2283. PARAM c[67] = { program.local[0..66] };
  2284. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  2285. OUTPUT result_attrib[] = { result.attrib[0..9] };
  2286. 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;
  2287. LONG TEMP D0;
  2288. TEMP T;
  2289. TEMP RC;
  2290. SHORT TEMP HC;
  2291. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  2292. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2293. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  2294. OR.U R0, R0, R1;
  2295. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  2296. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2297. OR.U R0, R0, R1;
  2298. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  2299. OR.U R9, R0, R2;
  2300. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  2301. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2302. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  2303. OR.U R0, R0, R1;
  2304. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  2305. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2306. OR.U R0, R0, R1;
  2307. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  2308. OR.U R27, R0, R2;
  2309. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  2310. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2311. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  2312. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  2313. OR.U R1, R1, R2;
  2314. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  2315. OR.U R0, R1, R0;
  2316. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  2317. OR.U R10, R0, R2;
  2318. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  2319. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2320. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  2321. OR.U R1, R1, R2;
  2322. MOV.U R0.x, R27.w;
  2323. MOV.F R0.y, c[0].x;
  2324. ADD.F32 R3.x, -R0, R0.y;
  2325. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  2326. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  2327. OR.U R1, R1, R2;
  2328. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  2329. OR.U R12, R1, R0;
  2330. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  2331. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2332. MOV.S R13.w, R3.x;
  2333. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  2334. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  2335. TRUNC.U R19.x, R3;
  2336. SEQ.U R3.x, R19, {1, 0, 0, 0};
  2337. SEQ.U R19.y, -R3.x, {1, 0, 0, 0}.x;
  2338. MOV.U.CC RC.x, -R19.y;
  2339. OR.U R0, R0, R1;
  2340. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  2341. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2342. OR.U R0, R0, R1;
  2343. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  2344. OR.U R14, R0, R2;
  2345. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  2346. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2347. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  2348. OR.U R0, R0, R1;
  2349. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  2350. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2351. OR.U R0, R0, R1;
  2352. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  2353. OR.U R15, R0, R2;
  2354. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  2355. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2356. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  2357. OR.U R0, R0, R1;
  2358. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  2359. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2360. OR.U R0, R0, R1;
  2361. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  2362. OR.U R16, R0, R2;
  2363. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  2364. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2365. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  2366. OR.U R0, R0, R1;
  2367. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  2368. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2369. OR.U R0, R0, R1;
  2370. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  2371. OR.U R18, R0, R2;
  2372. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2373. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2374. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2375. OR.U R0.xyz, R0, R1;
  2376. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2377. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2378. OR.U R0.xyz, R0, R1;
  2379. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2380. OR.U R32.xyz, R0, R2;
  2381. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  2382. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2383. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  2384. OR.U R0.xyz, R0, R1;
  2385. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  2386. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2387. OR.U R0.xyz, R0, R1;
  2388. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  2389. OR.U R28.xyz, R0, R2;
  2390. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2391. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2392. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2393. OR.U R0.xyz, R0, R1;
  2394. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  2395. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2396. OR.U R0.xyz, R0, R1;
  2397. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  2398. OR.U R11.xyz, R0, R2;
  2399. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2400. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2401. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2402. OR.U R0.xyz, R0, R1;
  2403. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2404. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2405. OR.U R0.xyz, R0, R1;
  2406. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2407. OR.U R30.xyz, R0, R2;
  2408. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2409. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2410. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2411. OR.U R0.xyz, R0, R1;
  2412. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2413. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2414. OR.U R0.xyz, R0, R1;
  2415. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2416. OR.U R13.xyz, R0, R2;
  2417. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2418. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2419. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2420. OR.U R0.xyz, R0, R1;
  2421. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2422. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2423. OR.U R0.xyz, R0, R1;
  2424. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2425. OR.U R25.xyz, R0, R2;
  2426. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2427. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2428. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2429. OR.U R0.xyz, R0, R1;
  2430. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2431. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2432. OR.U R0.xyz, R0, R1;
  2433. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2434. OR.U R17.xyz, R0, R2;
  2435. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2436. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  2437. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2438. OR.U R1.xy, R1, R1.zwzw;
  2439. SHL.U R8.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  2440. AND.U R1.zw, R8.xyxy, {16711680, 0, 0, 0}.x;
  2441. SHL.U R8.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  2442. OR.U R1.xy, R1, R1.zwzw;
  2443. OR.U R29.xy, R1, R8;
  2444. MOV.U R8.x, R29;
  2445. MOV.F R8.z, R8.x;
  2446. MOV.U R8.y, R29;
  2447. ADD.F32 R8.x, -R8.y, {1, 0, 0, 0};
  2448. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  2449. MOV.S R29.z, R8.x;
  2450. MOV.S R11.w, R8.y;
  2451. MOV.S R2, {0, 0, 0, 0}.x;
  2452. MOV.S R0, {0, 0, 0, 0}.x;
  2453. MOV.S R3, {0, 0, 0, 0}.x;
  2454. MOV.S R4, {0, 0, 0, 0}.x;
  2455. MOV.S R5, {0, 0, 0, 0}.x;
  2456. MOV.S R6, {0, 0, 0, 0}.x;
  2457. MOV.S R7, {0, 0, 0, 0}.x;
  2458. MOV.S R1, {0, 0, 0, 0}.x;
  2459. MOV.S R31.xyz, {0, 0, 0, 0}.x;
  2460. MOV.S R33.xy, {0, 0, 0, 0}.x;
  2461. MOV.S R8.yz, {0, 0, 0, 0};
  2462. MOV.S R8.x, vertex.id;
  2463. MOV.S R8.w, vertex.instance.x;
  2464. MOV.S R25.w, {0, 0, 0, 0}.x;
  2465. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  2466. IF NE.x;
  2467. MOV.F R3.z, c[1].y;
  2468. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2469. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  2470. MOV.S R33.xy, {0, 0, 0, 0}.x;
  2471. MOV.S R3.z, R3;
  2472. MOV.S R18.w, {1065353216, 0, 0, 0}.x;
  2473. ENDIF;
  2474. SEQ.U R19.x, R19, {0, 0, 0, 0};
  2475. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2476. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2477. MOV.U.CC RC.x, -R19;
  2478. IF NE.x;
  2479. MOV.S R18.w, {0, 0, 0, 0}.x;
  2480. ENDIF;
  2481. SEQ.S R19.x, R18.w, {0, 0, 0, 0};
  2482. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  2483. SEQ.U R19.z, -R19.y, {1, 0, 0, 0}.x;
  2484. MOV.U.CC RC.x, -R19.z;
  2485. MOV.U R19.x, -R19;
  2486. MOV.U R34.x, -R19.y;
  2487. IF NE.x;
  2488. MOV.F R19.y, R10.w;
  2489. TRUNC.S R19.y, R19;
  2490. I2F.S R19.y, R19;
  2491. MOV.F R19.z, R13.w;
  2492. SGE.F32 R19.z, R19, R19.y;
  2493. TRUNC.U R19.z, R19;
  2494. SEQ.U R19.w, R34.x, {1, 0, 0, 0}.x;
  2495. SEQ.U R19.z, R19, {1, 0, 0, 0}.x;
  2496. AND.U R27.w, -R19.z, -R19;
  2497. MOV.S R31.x, R19.y;
  2498. MOV.S R31.yz, {0, 0, 0, 0}.x;
  2499. ELSE;
  2500. MOV.U R27.w, {0, 0, 0, 0}.x;
  2501. ENDIF;
  2502. SEQ.U R19.y, R27.w, {1, 0, 0, 0}.x;
  2503. MOV.U.CC RC.x, -R19.y;
  2504. IF NE.x;
  2505. MOV.F R3.z, c[1].y;
  2506. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  2507. MOV.S R3.xy, {0, 0, 0, 0};
  2508. MOV.S R3.z, R3;
  2509. MOV.S R33.x, {0, 0, 0, 0};
  2510. MOV.S R25.w, {1065353216, 0, 0, 0}.x;
  2511. ENDIF;
  2512. SEQ.U R19.x, R19, {1, 0, 0, 0};
  2513. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  2514. MOV.U.CC RC.x, -R19.y;
  2515. MOV.U R34.x, -R19;
  2516. IF NE.x;
  2517. SEQ.S R19.x, R25.w, {0, 0, 0, 0};
  2518. MOV.U R34.y, -R19.x;
  2519. SEQ.U R19.y, R34.x, {1, 0, 0, 0}.x;
  2520. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  2521. AND.U R27.w, -R19.x, -R19.y;
  2522. ELSE;
  2523. MOV.U R34.y, {0, 0, 0, 0}.x;
  2524. MOV.U R27.w, {0, 0, 0, 0}.x;
  2525. ENDIF;
  2526. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  2527. MOV.U.CC RC.x, -R19;
  2528. IF NE.x;
  2529. MOV.F R8.x, R12.y;
  2530. MOV.F R8.y, R12.z;
  2531. ADD.F32 R8.z, R8.x, R8.y;
  2532. MOV.F R8.w, R12.x;
  2533. ADD.F32 R8.y, R8, R8.w;
  2534. MOV.S R19.z, R8;
  2535. ADD.F32 R8.z, R8.x, R8.w;
  2536. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  2537. MUL.F32 R8.z, R8, {0.5, 0, 0, 0}.x;
  2538. MOV.S R20.x, R8.y;
  2539. MUL.F32 R8.y, R8.w, {2, 0, 0, 0}.x;
  2540. MOV.S R22.w, R8.x;
  2541. AND.S R8.x, c[2], {65536, 0, 0, 0};
  2542. I2F.S R8.x, R8;
  2543. MOV.S R20.y, R8;
  2544. SGT.F32 R8.y, R8.x, {0, 0, 0, 0}.x;
  2545. TRUNC.U.CC HC.x, R8.y;
  2546. MOV.S R21.x, R8.z;
  2547. AND.S R19.y, c[2].x, {131072, 0, 0, 0}.x;
  2548. AND.S R19.x, c[2], {262144, 0, 0, 0};
  2549. MOV.S R23.z, R8.x;
  2550. IF NE.x;
  2551. MOV.F R8.x, {1, 0, 0, 0};
  2552. ELSE;
  2553. MOV.F R8.x, {0, 0, 0, 0};
  2554. ENDIF;
  2555. MOV.F R8.y, R20.x;
  2556. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  2557. MOV.F R8.z, R22.w;
  2558. MOV.S R21.y, R8;
  2559. FLR.F R8.y, R8.z;
  2560. MOV.S R20.z, R8.y;
  2561. MOV.F R8.y, R23.z;
  2562. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2563. TRUNC.U.CC HC.x, R8.y;
  2564. MOV.S R24.x, R8;
  2565. IF NE.x;
  2566. MOV.F R8.x, {1, 0, 0, 0};
  2567. ELSE;
  2568. MOV.F R8.x, {0, 0, 0, 0};
  2569. ENDIF;
  2570. I2F.S R8.y, R19.x;
  2571. MOV.F R8.z, R24.x;
  2572. MOV.S R22.w, R8.y;
  2573. ADD.F32 R8.x, R8.z, -R8;
  2574. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2575. TRUNC.U.CC HC.x, R8.y;
  2576. MOV.S R22.x, R8;
  2577. IF NE.x;
  2578. MOV.F R8.x, {1, 0, 0, 0};
  2579. ELSE;
  2580. MOV.F R8.x, {0, 0, 0, 0};
  2581. ENDIF;
  2582. MOV.F R8.y, R22.w;
  2583. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2584. TRUNC.U.CC HC.x, R8.y;
  2585. MOV.S R22.y, R8.x;
  2586. IF NE.x;
  2587. MOV.F R8.x, {1, 0, 0, 0};
  2588. ELSE;
  2589. MOV.F R8.x, {0, 0, 0, 0};
  2590. ENDIF;
  2591. MOV.F R8.z, R22.y;
  2592. ADD.F32 R8.x, R8, -R8.z;
  2593. MOV.F R8.y, R12.z;
  2594. MUL.F32 R8.y, R8, {2, 0, 0, 0}.x;
  2595. MOV.S R20.w, R8.y;
  2596. I2F.S R8.y, R19;
  2597. MOV.S R23.z, R8.y;
  2598. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2599. TRUNC.U.CC HC.x, R8.y;
  2600. MOV.F R8.z, R20.y;
  2601. MOV.S R24.x, R8;
  2602. FLR.F R8.x, R8.z;
  2603. MOV.S R23.y, R8.x;
  2604. IF NE.x;
  2605. MOV.F R8.x, {1, 0, 0, 0};
  2606. ELSE;
  2607. MOV.F R8.x, {0, 0, 0, 0};
  2608. ENDIF;
  2609. MOV.F R8.y, R23.z;
  2610. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2611. TRUNC.U.CC HC.x, R8.y;
  2612. MOV.S R24.z, R8.x;
  2613. IF NE.x;
  2614. MOV.F R8.x, {1, 0, 0, 0};
  2615. ELSE;
  2616. MOV.F R8.x, {0, 0, 0, 0};
  2617. ENDIF;
  2618. MOV.F R8.y, R22.x;
  2619. TRUNC.S R8.y, R8;
  2620. MOV.F R8.z, R24;
  2621. ADD.F32 R8.x, R8, -R8.z;
  2622. MOV.S R20.y, R8;
  2623. ADD.S R22.x, -R8.y, {0, 0, 0, 0};
  2624. MOV.F R8.y, c[3].x;
  2625. MOV.S R19.y, R8.x;
  2626. SGT.F32 R8.x, R8.y, {0, 0, 0, 0};
  2627. TRUNC.U.CC HC.x, R8;
  2628. IF NE.x;
  2629. MOV.F R8.x, {1, 0, 0, 0};
  2630. ELSE;
  2631. MOV.F R8.x, {0, 0, 0, 0};
  2632. ENDIF;
  2633. MOV.F R8.y, c[3].x;
  2634. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2635. TRUNC.U.CC HC.x, R8.y;
  2636. MOV.S R21.z, R8.x;
  2637. IF NE.x;
  2638. MOV.F R8.x, {1, 0, 0, 0};
  2639. ELSE;
  2640. MOV.F R8.x, {0, 0, 0, 0};
  2641. ENDIF;
  2642. MOV.F R8.y, R24.x;
  2643. TRUNC.S R19.w, R8.y;
  2644. MOV.F R8.y, R19.z;
  2645. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  2646. MOV.S R20.x, R8.y;
  2647. MOV.F R8.y, R12.x;
  2648. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  2649. MOV.F R8.z, c[4].y;
  2650. MUL.F32 R8.y, R8, R8.z;
  2651. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  2652. TRUNC.U R8.w, R8;
  2653. TRUNC.U R8.z, R8;
  2654. AND.U.CC HC.x, R8.w, R8.z;
  2655. MOV.S R34.w, R20.y;
  2656. MOV.S R21.w, R8.x;
  2657. IF NE.x;
  2658. MOV.F R8.x, R8.y;
  2659. ELSE;
  2660. MOV.F R8.x, {0, 0, 0, 0};
  2661. ENDIF;
  2662. MOV.F R8.z, R21.y;
  2663. ADD.S R8.y, -R19.w, {0, 0, 0, 0}.x;
  2664. MAX.S R21.y, R19.w, R8;
  2665. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2666. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  2667. MOV.F R8.y, R20.z;
  2668. MOV.S R23.x, R8.z;
  2669. MOV.F R8.z, R21.x;
  2670. MOV.F R8.w, R19.y;
  2671. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2672. MUL.F32 R10.w, R8.z, {2, 0, 0, 0}.x;
  2673. TRUNC.S R21.x, R8.w;
  2674. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2675. TRUNC.U.CC HC.x, R8.y;
  2676. MOV.F R8.z, c[3].x;
  2677. MOV.F R8.w, R13;
  2678. DIV.F32 R8.z, R8.w, R8.z;
  2679. MAX.S R23.w, R34, R22.x;
  2680. MOV.S R19.w, R8.z;
  2681. MOV.S R19.z, R10.w;
  2682. MOV.S R20.y, R8.x;
  2683. IF NE.x;
  2684. MOV.F R8.x, {1, 0, 0, 0};
  2685. ELSE;
  2686. MOV.F R8.x, {0, 0, 0, 0};
  2687. ENDIF;
  2688. MOV.F R8.y, R20.z;
  2689. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2690. TRUNC.U.CC HC.x, R8.y;
  2691. MOV.S R19.x, R8;
  2692. IF NE.x;
  2693. MOV.F R8.y, {1, 0, 0, 0}.x;
  2694. ELSE;
  2695. MOV.F R8.y, {0, 0, 0, 0}.x;
  2696. ENDIF;
  2697. MOV.F R8.x, R20.w;
  2698. FLR.F R8.x, R8;
  2699. MOV.F R8.z, c[5].w;
  2700. MOV.S R20.z, R8.x;
  2701. LG2.F32 R8.x, R8.z;
  2702. MUL.F32 R8.z, R8.x, {2, 0, 0, 0}.x;
  2703. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  2704. SEQ.F R8.z, R8.x, R8;
  2705. TRUNC.U R8.w, R8;
  2706. TRUNC.U R8.z, R8;
  2707. AND.U R8.z, R8, R8.w;
  2708. SEQ.U R8.z, R8, {1, 0, 0, 0}.x;
  2709. MOV.U.CC RC.x, -R8.z;
  2710. ADD.S R20.w, -R21.x, {0, 0, 0, 0}.x;
  2711. MOV.S R19.y, R8;
  2712. IF NE.x;
  2713. MOV.F R8.x, {-3.40282347e+38, 0, 0, 0};
  2714. ENDIF;
  2715. MOV.F R8.z, R13.w;
  2716. MUL.F32 R8.y, R8.z, R8.x;
  2717. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  2718. SNE.F32 R8.x, R8.z, {0, 0, 0, 0};
  2719. TRUNC.U R8.z, R8.w;
  2720. TRUNC.U R8.x, R8;
  2721. AND.U.CC HC.x, R8, R8.z;
  2722. MOV.S R34.w, R23.y;
  2723. IF NE.x;
  2724. MOV.F R8.x, R8.y;
  2725. ELSE;
  2726. MOV.F R8.x, {0, 0, 0, 0};
  2727. ENDIF;
  2728. MOV.F R8.z, R21.w;
  2729. MOV.F R8.y, R21.z;
  2730. ADD.F32 R8.y, R8, -R8.z;
  2731. MOV.S R23.y, R8;
  2732. MOV.F R8.y, R34.w;
  2733. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  2734. TRUNC.U.CC HC.x, R8.y;
  2735. MOV.S R8.x, R8;
  2736. IF NE.x;
  2737. MOV.F R8.y, {1, 0, 0, 0}.x;
  2738. ELSE;
  2739. MOV.F R8.y, {0, 0, 0, 0}.x;
  2740. ENDIF;
  2741. MOV.F R8.z, R34.w;
  2742. SGT.F32 R8.z, R8, {0, 0, 0, 0}.x;
  2743. TRUNC.U.CC HC.x, R8.z;
  2744. MOV.S R22.z, R8.y;
  2745. IF NE.x;
  2746. MOV.F R8.z, {1, 0, 0, 0}.x;
  2747. ELSE;
  2748. MOV.F R8.z, {0, 0, 0, 0}.x;
  2749. ENDIF;
  2750. MOV.F R8.w, R19;
  2751. MOV.F R8.y, R20;
  2752. ADD.F32 R8.y, R8, R8.w;
  2753. MOV.S R21.z, R8.y;
  2754. MOV.F R8.w, R19.z;
  2755. MOV.S R8.y, R19;
  2756. SNE.F32 R19.y, R8.w, {0, 0, 0, 0}.x;
  2757. MOV.F R10.w, c[6].x;
  2758. MUL.F32 R8.w, R8, R10;
  2759. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2760. TRUNC.U R19.y, R19;
  2761. TRUNC.U R10.w, R10;
  2762. AND.U.CC HC.x, R19.y, R10.w;
  2763. MOV.S R34.w, R21.x;
  2764. MOV.S R22.w, R8.z;
  2765. IF NE.x;
  2766. MOV.F R8.z, R8.w;
  2767. ELSE;
  2768. MOV.F R8.z, {0, 0, 0, 0}.x;
  2769. ENDIF;
  2770. MAX.S R19.z, R34.w, R20.w;
  2771. MOV.F R10.w, R22.z;
  2772. MOV.F R8.w, R22;
  2773. ADD.F32 R8.w, R8, -R10;
  2774. MOV.S R19.y, R8.w;
  2775. MOV.F R8.w, R19.x;
  2776. ADD.F32 R8.y, R8, -R8.w;
  2777. MOV.F R8.w, R23.x;
  2778. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  2779. MOV.F R10.w, c[6].z;
  2780. MOV.S R20.w, R8.y;
  2781. MUL.F32 R8.y, R8.w, R10.w;
  2782. MOV.F R8.w, R31.x;
  2783. TRUNC.U R19.w, R19.x;
  2784. RCP.F32 R8.w, R8.w;
  2785. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2786. MOV.S R19.x, R8.w;
  2787. TRUNC.U R8.w, R10;
  2788. AND.U.CC HC.x, R19.w, R8.w;
  2789. MOV.S R34.w, R20.x;
  2790. MOV.S R21.x, R8.z;
  2791. IF NE.x;
  2792. ELSE;
  2793. MOV.F R8.y, {0, 0, 0, 0}.x;
  2794. ENDIF;
  2795. MOV.F R8.z, R34.w;
  2796. MOV.F R8.w, R20.z;
  2797. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2798. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  2799. SGT.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2800. TRUNC.U.CC HC.x, R8.w;
  2801. MOV.S R20.y, R8.z;
  2802. MOV.S R20.x, R8.y;
  2803. IF NE.x;
  2804. MOV.F R8.y, {1, 0, 0, 0}.x;
  2805. ELSE;
  2806. MOV.F R8.y, {0, 0, 0, 0}.x;
  2807. ENDIF;
  2808. MOV.F R8.z, R20;
  2809. SGT.F32 R8.z, {0, 0, 0, 0}.x, R8;
  2810. TRUNC.U.CC HC.x, R8.z;
  2811. MOV.S R22.z, R8.y;
  2812. IF NE.x;
  2813. MOV.F R8.y, {1, 0, 0, 0}.x;
  2814. ELSE;
  2815. MOV.F R8.y, {0, 0, 0, 0}.x;
  2816. ENDIF;
  2817. I2F.S R8.z, R23.w;
  2818. MOV.F R10.w, R22.z;
  2819. ADD.F32 R10.w, R10, -R8.y;
  2820. MUL.F32 R8.w, R8.z, {2, 0, 0, 0}.x;
  2821. MOV.F R19.w, R20;
  2822. MUL.F32 R8.z, -R8.w, R19.w;
  2823. MOV.S R23.x, R10.w;
  2824. SNE.F32 R10.w, R19, {0, 0, 0, 0}.x;
  2825. SNE.F32 R8.w, -R8, {0, 0, 0, 0}.x;
  2826. TRUNC.U R10.w, R10;
  2827. TRUNC.U R8.w, R8;
  2828. AND.U.CC HC.x, R8.w, R10.w;
  2829. MOV.S R34.w, R21.z;
  2830. MOV.S R8.y, R21;
  2831. IF NE.x;
  2832. ELSE;
  2833. MOV.F R8.z, {0, 0, 0, 0}.x;
  2834. ENDIF;
  2835. MOV.F R19.w, R19.y;
  2836. MOV.F R8.w, R23.y;
  2837. ADD.F32 R8.w, -R8, {1, 0, 0, 0}.x;
  2838. MOV.S R22.x, R8.w;
  2839. MOV.F R10.w, c[5].x;
  2840. MOV.F R8.w, R21.x;
  2841. ADD.F32 R8.w, R8, R10;
  2842. I2F.S R8.y, R8;
  2843. MUL.F32 R10.w, R8.y, {2, 0, 0, 0}.x;
  2844. MUL.F32 R8.y, -R10.w, R19.w;
  2845. MOV.S R19.y, R8.w;
  2846. MOV.F R8.w, c[5];
  2847. SNE.F32 R20.z, R19.w, {0, 0, 0, 0}.x;
  2848. ADD.F32 R19.w, -R8, {1, 0, 0, 0}.x;
  2849. MOV.S R21.z, R19.w;
  2850. TRUNC.U R8.w, R20.z;
  2851. MOV.F R19.w, R34;
  2852. MOV.S R21.y, R8.z;
  2853. FRC.F32 R8.z, R19.w;
  2854. SNE.F32 R10.w, -R10, {0, 0, 0, 0}.x;
  2855. MOV.S R20.w, R8.z;
  2856. TRUNC.U R8.z, R10.w;
  2857. AND.U.CC HC.x, R8.z, R8.w;
  2858. IF NE.x;
  2859. MOV.F R8.z, R8.y;
  2860. ELSE;
  2861. MOV.F R8.z, {0, 0, 0, 0}.x;
  2862. ENDIF;
  2863. MOV.F R8.w, R19.x;
  2864. MOV.F R8.y, R13.w;
  2865. MUL.F32 R8.y, R8, R8.w;
  2866. MOV.F R19.x, R22;
  2867. MUL.F32 R8.w, R8.y, R19.x;
  2868. MOV.S R10.w, R8.y;
  2869. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  2870. TRUNC.U R19.w, R8.y;
  2871. EX2.F32 R8.x, R8.x;
  2872. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2873. TRUNC.U R19.x, R19;
  2874. AND.U.CC HC.x, R19.w, R19;
  2875. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  2876. MOV.S R8.y, R20.x;
  2877. MOV.S R20.x, R8;
  2878. MOV.S R34.w, R20.y;
  2879. MOV.S R8.x, R19.z;
  2880. MOV.S R20.z, R8;
  2881. IF NE.x;
  2882. MOV.F R8.z, R8.w;
  2883. ELSE;
  2884. MOV.F R8.z, {0, 0, 0, 0}.x;
  2885. ENDIF;
  2886. MOV.F R19.x, R34.w;
  2887. MOV.F R19.z, c[6].y;
  2888. MUL.F32 R8.w, R19.x, R19.z;
  2889. MOV.S R20.y, R8.z;
  2890. SNE.F32 R8.z, R19.x, {0, 0, 0, 0}.x;
  2891. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  2892. TRUNC.U R19.x, R19.z;
  2893. TRUNC.U R8.z, R8;
  2894. AND.U.CC HC.x, R8.z, R19;
  2895. IF NE.x;
  2896. ELSE;
  2897. MOV.F R8.w, {0, 0, 0, 0}.x;
  2898. ENDIF;
  2899. MOV.F R19.z, R20.w;
  2900. MOV.F R19.x, R23.y;
  2901. MUL.F32 R8.z, R19.x, R19;
  2902. SNE.F32 R20.w, R19.z, {0, 0, 0, 0}.x;
  2903. MOV.F R19.w, R8.y;
  2904. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2905. MOV.F R19.z, c[5];
  2906. ADD.F32 R19.z, R19, R19.w;
  2907. I2F.S R8.x, R8;
  2908. MOV.S R23.w, R19.z;
  2909. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  2910. TRUNC.U R19.x, R19;
  2911. TRUNC.U R20.w, R20;
  2912. AND.U.CC HC.x, R19, R20.w;
  2913. MOV.S R34.w, R23.x;
  2914. MOV.S R8.y, R21.z;
  2915. MOV.S R19.z, R8.w;
  2916. MOV.S R22.w, R8.x;
  2917. IF NE.x;
  2918. MOV.F R8.x, R8.z;
  2919. ELSE;
  2920. MOV.F R8.x, {0, 0, 0, 0};
  2921. ENDIF;
  2922. MOV.F R8.z, R12.x;
  2923. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  2924. MOV.F R8.w, R12.z;
  2925. MOV.S R23.y, R8.z;
  2926. ADD.F32 R8.z, R8.w, {-0.5, 0, 0, 0}.x;
  2927. MOV.F R8.w, R22;
  2928. MOV.S R23.x, R8;
  2929. SNE.F32 R8.x, -R8.w, {0, 0, 0, 0};
  2930. MOV.F R19.x, R34.w;
  2931. MOV.S R21.z, R8;
  2932. MUL.F32 R8.z, -R8.w, R19.x;
  2933. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2934. TRUNC.U R8.w, R19.x;
  2935. TRUNC.U R8.x, R8;
  2936. AND.U.CC HC.x, R8, R8.w;
  2937. IF NE.x;
  2938. MOV.F R8.x, R8.z;
  2939. ELSE;
  2940. MOV.F R8.x, {0, 0, 0, 0};
  2941. ENDIF;
  2942. MOV.F R8.z, R8.y;
  2943. MOV.F R8.y, R20.x;
  2944. DIV.F32 R8.y, R8, R8.z;
  2945. MOV.S R20.x, R8.y;
  2946. MOV.F R19.x, R13;
  2947. MOV.F R19.w, R21.y;
  2948. MOV.F R8.w, R19.z;
  2949. MOV.F R8.y, c[5];
  2950. ADD.F32 R8.y, R8, R8.w;
  2951. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  2952. MUL.F32 R8.z, R19.x, R19.w;
  2953. SNE.F32 R19.x, R19.w, {0, 0, 0, 0};
  2954. TRUNC.U R8.w, R8;
  2955. TRUNC.U R19.x, R19;
  2956. AND.U.CC HC.x, R8.w, R19;
  2957. MOV.S R8.y, R8;
  2958. MOV.S R20.w, R8.x;
  2959. IF NE.x;
  2960. MOV.F R8.x, R8.z;
  2961. ELSE;
  2962. MOV.F R8.x, {0, 0, 0, 0};
  2963. ENDIF;
  2964. MOV.F R19.x, R21.y;
  2965. MOV.F R8.w, R19.y;
  2966. MUL.F32 R8.z, R8.w, R19.x;
  2967. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2968. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2969. TRUNC.U R8.w, R8;
  2970. TRUNC.U R19.x, R19;
  2971. AND.U.CC HC.x, R8.w, R19;
  2972. MOV.S R24.z, R8.x;
  2973. IF NE.x;
  2974. MOV.F R8.x, R8.z;
  2975. ELSE;
  2976. MOV.F R8.x, {0, 0, 0, 0};
  2977. ENDIF;
  2978. MOV.F R19.x, R20.z;
  2979. MOV.F R8.w, R23;
  2980. MUL.F32 R8.z, R8.w, R19.x;
  2981. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  2982. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  2983. TRUNC.U R8.w, R8;
  2984. TRUNC.U R19.x, R19;
  2985. AND.U.CC HC.x, R8.w, R19;
  2986. MOV.S R24.w, R8.x;
  2987. IF NE.x;
  2988. MOV.F R8.x, R8.z;
  2989. ELSE;
  2990. MOV.F R8.x, {0, 0, 0, 0};
  2991. ENDIF;
  2992. MOV.F R8.z, c[5].w;
  2993. SEQ.F R8.z, R8, {1, 0, 0, 0}.x;
  2994. TRUNC.U.CC HC.x, R8.z;
  2995. MOV.S R34.w, R19.y;
  2996. MOV.S R21.y, R8.x;
  2997. IF NE.x;
  2998. MOV.S R8.x, {-1, 0, 0, 0};
  2999. ELSE;
  3000. MOV.S R8.x, {0, 0, 0, 0};
  3001. ENDIF;
  3002. MOV.F R19.x, R13.z;
  3003. MOV.F R8.w, R23.x;
  3004. MOV.F R8.z, R20.y;
  3005. ADD.F32 R8.z, R8, R8.w;
  3006. MOV.S R19.y, R8.z;
  3007. MOV.F R8.z, R34.w;
  3008. MOV.F R8.w, R24;
  3009. ADD.F32 R8.w, R8.z, R8;
  3010. MOV.F R19.z, R20;
  3011. MUL.F32 R8.z, R19.x, R19;
  3012. MOV.S R23.z, R8.w;
  3013. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  3014. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  3015. TRUNC.U R19.x, R19.z;
  3016. TRUNC.U R8.w, R8;
  3017. AND.U.CC HC.x, R8.w, R19;
  3018. IF NE.x;
  3019. ELSE;
  3020. MOV.F R8.z, {0, 0, 0, 0}.x;
  3021. ENDIF;
  3022. MOV.F R8.w, R13.x;
  3023. MOV.F R19.x, R24.z;
  3024. ADD.F32 R8.w, R8, R19.x;
  3025. MOV.S R23.x, R8.w;
  3026. SEQ.S R8.x, R8, {0, 0, 0, 0};
  3027. MOV.U.CC RC.x, -R8;
  3028. MOV.S R8.z, R8;
  3029. MOV.F R13.x, R21.y;
  3030. MOV.F R8.w, R23;
  3031. ADD.F32 R8.w, R8, R13.x;
  3032. MOV.S R34.w, R20.x;
  3033. MOV.S R20.x, R8.w;
  3034. MOV.F R8.w, R8.z;
  3035. MOV.F R8.z, R13;
  3036. ADD.F32 R8.z, R8, R8.w;
  3037. MOV.S R20.z, R8;
  3038. MOV.F R8.w, c[8];
  3039. MOV.F R8.z, c[7].w;
  3040. ADD.F32 R8.z, -R8, R8.w;
  3041. MOV.S R24.y, R8.z;
  3042. IF NE.x;
  3043. MOV.S R8.x, R34.w;
  3044. ELSE;
  3045. MOV.S R8.x, R13.w;
  3046. ENDIF;
  3047. MOV.F R8.z, R12.y;
  3048. ADD.F32 R8.w, R8.z, {-0.5, 0, 0, 0}.x;
  3049. MOV.F R13.x, R13.y;
  3050. MOV.F R13.z, R20.w;
  3051. MUL.F32 R8.z, R13.x, R13;
  3052. MOV.S R19.z, R8.w;
  3053. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  3054. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3055. TRUNC.U R13.x, R13.z;
  3056. TRUNC.U R8.w, R8;
  3057. AND.U.CC HC.x, R8.w, R13;
  3058. IF NE.x;
  3059. ELSE;
  3060. MOV.F R8.z, {0, 0, 0, 0}.x;
  3061. ENDIF;
  3062. MOV.F R13.z, c[9].x;
  3063. MOV.F R13.x, R23.y;
  3064. MUL.F32 R8.w, R13.x, R13.z;
  3065. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3066. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3067. TRUNC.U R13.x, R13;
  3068. TRUNC.U R13.z, R13;
  3069. AND.U.CC HC.x, R13, R13.z;
  3070. MOV.S R22.x, R8.z;
  3071. IF NE.x;
  3072. MOV.F R8.z, R8.w;
  3073. ELSE;
  3074. MOV.F R8.z, {0, 0, 0, 0}.x;
  3075. ENDIF;
  3076. MOV.F R13.z, R20.w;
  3077. MOV.F R13.x, R8.y;
  3078. MUL.F32 R8.w, R13.x, R13.z;
  3079. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3080. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3081. TRUNC.U R13.x, R13;
  3082. TRUNC.U R13.z, R13;
  3083. AND.U.CC HC.x, R13, R13.z;
  3084. MOV.S R22.y, R8.z;
  3085. IF NE.x;
  3086. MOV.F R8.z, R8.w;
  3087. ELSE;
  3088. MOV.F R8.z, {0, 0, 0, 0}.x;
  3089. ENDIF;
  3090. MOV.F R13.z, c[9];
  3091. MOV.F R13.x, R21.z;
  3092. MUL.F32 R8.w, R13.x, R13.z;
  3093. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3094. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  3095. TRUNC.U R13.x, R13;
  3096. TRUNC.U R13.z, R13;
  3097. AND.U.CC HC.x, R13, R13.z;
  3098. MOV.S R22.z, R8;
  3099. IF NE.x;
  3100. MOV.F R8.z, R8.w;
  3101. ELSE;
  3102. MOV.F R8.z, {0, 0, 0, 0}.x;
  3103. ENDIF;
  3104. MOV.F R8.w, R22.z;
  3105. ADD.F32 R13.x, R8.y, R8.w;
  3106. MOV.F R8.w, R22.y;
  3107. MOV.F R8.y, R23.x;
  3108. ADD.F32 R8.y, R8, R8.w;
  3109. MOV.S R23.x, R8.y;
  3110. MOV.F R8.y, R13;
  3111. MOV.F R8.w, R22.x;
  3112. ADD.F32 R8.w, R8.y, R8;
  3113. MOV.F R8.y, R24;
  3114. RCP.F32 R8.y, R8.y;
  3115. MOV.S R20.w, R8;
  3116. MOV.F R8.w, R20.z;
  3117. MOV.S R27.y, R8;
  3118. ADD.F32 R8.y, R8.w, R8.z;
  3119. MOV.F R8.z, R8.x;
  3120. MOV.S R20.z, R8.y;
  3121. MOV.F R8.y, R23.z;
  3122. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  3123. MOV.S R23.y, R13.x;
  3124. TRUNC.U R13.x, R8.w;
  3125. SNE.F32 R13.y, R8.z, {0, 0, 0, 0}.x;
  3126. MUL.F32 R8.y, R8, R8.z;
  3127. MOV.F R8.w, c[8].z;
  3128. MOV.F R8.z, c[7];
  3129. ADD.F32 R8.z, -R8, R8.w;
  3130. TRUNC.U R8.w, R13.y;
  3131. AND.U.CC HC.x, R13, R8.w;
  3132. MOV.S R22.w, R8.z;
  3133. IF NE.x;
  3134. ELSE;
  3135. MOV.F R8.y, {0, 0, 0, 0}.x;
  3136. ENDIF;
  3137. MOV.F R13.x, R8;
  3138. MOV.F R8.w, R20.x;
  3139. MUL.F32 R8.z, R8.w, R13.x;
  3140. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  3141. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3142. TRUNC.U R8.w, R8;
  3143. TRUNC.U R13.x, R13;
  3144. AND.U.CC HC.x, R8.w, R13;
  3145. MOV.S R22.x, R8.y;
  3146. IF NE.x;
  3147. MOV.F R8.y, R8.z;
  3148. ELSE;
  3149. MOV.F R8.y, {0, 0, 0, 0}.x;
  3150. ENDIF;
  3151. MOV.F R8.w, c[8];
  3152. MOV.F R8.z, R19.y;
  3153. ADD.F32 R8.z, R8, -R8.w;
  3154. MOV.F R13.x, c[9].y;
  3155. MOV.F R8.w, R19.z;
  3156. MOV.S R22.z, R8;
  3157. MUL.F32 R8.z, R8.w, R13.x;
  3158. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  3159. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  3160. TRUNC.U R8.w, R8;
  3161. TRUNC.U R13.x, R13;
  3162. AND.U.CC HC.x, R8.w, R13;
  3163. MOV.S R22.y, R8;
  3164. IF NE.x;
  3165. MOV.F R8.y, R8.z;
  3166. ELSE;
  3167. MOV.F R8.y, {0, 0, 0, 0}.x;
  3168. ENDIF;
  3169. MOV.F R8.w, R22.y;
  3170. MOV.F R8.z, R20;
  3171. ADD.F32 R8.z, R8, R8.w;
  3172. MOV.S R13.y, R8.z;
  3173. MOV.F R8.w, R22.x;
  3174. MOV.F R8.z, R23.x;
  3175. ADD.F32 R13.x, R8.z, R8.w;
  3176. MOV.F R8.w, R27.y;
  3177. MOV.F R8.z, R22.w;
  3178. MUL.F32 R8.z, R8, R8.w;
  3179. MOV.S R19.z, R8;
  3180. MOV.F R8.w, c[7];
  3181. MOV.F R8.z, R19.y;
  3182. ADD.F32 R8.z, R8, -R8.w;
  3183. MOV.F R8.w, R20;
  3184. ADD.F32 R8.y, R8.w, R8;
  3185. MOV.S R13.z, R8.y;
  3186. MOV.F R8.y, R22.z;
  3187. SGE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  3188. TRUNC.U.CC HC.x, R8.y;
  3189. MOV.S R25.w, R13.x;
  3190. MOV.S R27.x, R8.z;
  3191. IF NE.x;
  3192. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  3193. ELSE;
  3194. MOV.S R8.y, {0, 0, 0, 0}.x;
  3195. ENDIF;
  3196. MOV.F R8.z, R23.y;
  3197. MOV.F R13.x, R8;
  3198. SNE.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  3199. MUL.F32 R8.x, R8.z, R13;
  3200. TRUNC.U R19.x, R8.w;
  3201. MOV.F R8.w, c[8].x;
  3202. MOV.F R8.z, c[7].x;
  3203. ADD.F32 R8.z, -R8, R8.w;
  3204. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  3205. MOV.S R13.x, R8.z;
  3206. TRUNC.U R8.z, R8.w;
  3207. AND.U.CC HC.x, R19, R8.z;
  3208. MOV.S R31.y, R8;
  3209. IF NE.x;
  3210. ELSE;
  3211. MOV.F R8.x, {0, 0, 0, 0};
  3212. ENDIF;
  3213. MOV.F R8.w, R19.z;
  3214. MOV.F R8.y, R27.x;
  3215. MUL.F32 R8.z, R8.y, R8.w;
  3216. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  3217. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  3218. TRUNC.U R8.w, R8.y;
  3219. TRUNC.U R19.x, R19;
  3220. AND.U.CC HC.x, R8.w, R19;
  3221. MOV.S R8.y, R8.x;
  3222. IF NE.x;
  3223. MOV.F R8.x, R8.z;
  3224. ELSE;
  3225. MOV.F R8.x, {0, 0, 0, 0};
  3226. ENDIF;
  3227. MOV.F R19.x, R27;
  3228. SGE.F32 R19.x, R19, {0, 0, 0, 0};
  3229. TRUNC.U.CC HC.x, R19;
  3230. MOV.F R8.w, c[8].y;
  3231. MOV.F R8.z, c[7].y;
  3232. ADD.F32 R8.z, -R8, R8.w;
  3233. MOV.S R8.w, R8.z;
  3234. MOV.S R8.z, R8.x;
  3235. IF NE.x;
  3236. MOV.S R8.x, {1065353216, 0, 0, 0};
  3237. ELSE;
  3238. MOV.S R8.x, {0, 0, 0, 0};
  3239. ENDIF;
  3240. ENDIF;
  3241. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  3242. MOV.U.CC RC.x, -R19;
  3243. IF NE.x;
  3244. MOV.F R2.y, R27;
  3245. MOV.F R2.x, R8.w;
  3246. MUL.F32 R2.x, R2, R2.y;
  3247. MOV.F R2.w, R13.x;
  3248. MUL.F32 R2.y, R2, R2.w;
  3249. MOV.S R24.x, R2;
  3250. MOV.S R20.w, R2.y;
  3251. MOV.F R2.z, R8.y;
  3252. MOV.F R2.x, R13.z;
  3253. ADD.F32 R2.x, R2, R2.z;
  3254. MOV.S R19.z, R2.x;
  3255. MOV.F R2.z, R8.x;
  3256. MOV.F R2.x, c[7].z;
  3257. MOV.F R2.y, R8.z;
  3258. ADD.F32 R2.y, R2.x, R2;
  3259. MOV.F R2.x, R25.w;
  3260. MAD.F32 R2.x, R2, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3261. MOV.S R23.y, R2;
  3262. MOV.F R2.y, R13;
  3263. MOV.S R23.w, R2.x;
  3264. MAD.F32 R2.x, R2.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3265. MOV.F R2.y, R31;
  3266. MOV.S R26.x, R2;
  3267. ADD.F32 R2.x, -R2.y, {1, 0, 0, 0};
  3268. SNE.F32 R2.w, -R2.y, {-1, 0, 0, 0}.x;
  3269. SNE.F32 R2.y, R2.z, {0, 0, 0, 0}.x;
  3270. MUL.F32 R2.x, R2.z, R2;
  3271. TRUNC.U R2.z, R2.w;
  3272. TRUNC.U R2.y, R2;
  3273. AND.U.CC HC.x, R2.y, R2.z;
  3274. IF NE.x;
  3275. ELSE;
  3276. MOV.F R2.x, {0, 0, 0, 0};
  3277. ENDIF;
  3278. MOV.F R2.w, R24.x;
  3279. MOV.F R2.z, R27.x;
  3280. MUL.F32 R2.y, R2.z, R2.w;
  3281. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3282. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3283. TRUNC.U R2.z, R2;
  3284. TRUNC.U R2.w, R2;
  3285. AND.U.CC HC.x, R2.z, R2.w;
  3286. MOV.S R23.z, R2.x;
  3287. IF NE.x;
  3288. MOV.F R2.x, R2.y;
  3289. ELSE;
  3290. MOV.F R2.x, {0, 0, 0, 0};
  3291. ENDIF;
  3292. MOV.F R2.z, R8.x;
  3293. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  3294. MOV.F R8.y, R20.w;
  3295. MOV.F R8.x, R27;
  3296. MOV.F R2.w, R26.x;
  3297. MOV.S R19.w, R2.z;
  3298. FRC.F32 R2.z, R2.w;
  3299. MOV.S R24.x, R2.z;
  3300. SNE.F32 R2.z, R8.x, {0, 0, 0, 0}.x;
  3301. SNE.F32 R2.w, R8.y, {0, 0, 0, 0}.x;
  3302. TRUNC.U R2.z, R2;
  3303. TRUNC.U R2.w, R2;
  3304. AND.U.CC HC.x, R2.z, R2.w;
  3305. MUL.F32 R2.y, R8.x, R8;
  3306. MOV.S R22.w, R2.x;
  3307. IF NE.x;
  3308. MOV.F R2.x, R2.y;
  3309. ELSE;
  3310. MOV.F R2.x, {0, 0, 0, 0};
  3311. ENDIF;
  3312. MOV.F R2.w, R19;
  3313. MOV.F R2.y, R19.z;
  3314. MAD.F32 R2.y, R2, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  3315. MOV.F R2.z, R23.w;
  3316. FRC.F32 R2.z, R2;
  3317. MOV.S R26.z, R2.y;
  3318. MOV.S R24.w, R2.z;
  3319. MOV.F R2.z, R22.w;
  3320. MOV.F R2.y, c[7];
  3321. ADD.F32 R2.y, R2, R2.z;
  3322. MOV.F R2.z, c[7];
  3323. MOV.S R21.y, R2;
  3324. MUL.F32 R2.y, R2.z, R2.w;
  3325. SNE.F32 R8.x, R2.w, {0, 0, 0, 0};
  3326. TRUNC.U R2.w, R8.x;
  3327. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3328. MOV.S R19.y, R2.x;
  3329. TRUNC.U R2.x, R2.z;
  3330. AND.U.CC HC.x, R2, R2.w;
  3331. IF NE.x;
  3332. MOV.F R2.x, R2.y;
  3333. ELSE;
  3334. MOV.F R2.x, {0, 0, 0, 0};
  3335. ENDIF;
  3336. MOV.F R2.w, R23.z;
  3337. MOV.F R2.z, R23.y;
  3338. MUL.F32 R2.y, R2.z, R2.w;
  3339. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3340. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3341. TRUNC.U R2.z, R2;
  3342. TRUNC.U R2.w, R2;
  3343. AND.U.CC HC.x, R2.z, R2.w;
  3344. MOV.S R22.x, R2;
  3345. IF NE.x;
  3346. MOV.F R2.x, R2.y;
  3347. ELSE;
  3348. MOV.F R2.x, {0, 0, 0, 0};
  3349. ENDIF;
  3350. MOV.F R2.y, R24.w;
  3351. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3352. MOV.S R19.z, R2.y;
  3353. MOV.F R2.y, R24.x;
  3354. MAD.F32 R2.z, R2.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  3355. MOV.F R2.y, R26.z;
  3356. FRC.F32 R2.y, R2;
  3357. MOV.S R20.z, R2;
  3358. MOV.S R20.w, R2.y;
  3359. MOV.F R2.w, R19.y;
  3360. MOV.F R2.z, c[7].x;
  3361. ADD.F32 R2.z, R2, R2.w;
  3362. MOV.F R2.y, R31;
  3363. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3364. MOV.S R23.x, R2.z;
  3365. MOV.F R2.z, c[8];
  3366. MUL.F32 R2.y, R2.z, R2;
  3367. TRUNC.U R2.w, R2;
  3368. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3369. MOV.S R22.y, R2.x;
  3370. TRUNC.U R2.x, R2.z;
  3371. AND.U.CC HC.x, R2, R2.w;
  3372. IF NE.x;
  3373. MOV.F R2.x, R2.y;
  3374. ELSE;
  3375. MOV.F R2.x, {0, 0, 0, 0};
  3376. ENDIF;
  3377. MOV.F R2.z, R22.x;
  3378. MOV.F R2.y, R22;
  3379. ADD.F32 R2.y, R2, R2.z;
  3380. MOV.F R2.w, R23.z;
  3381. MOV.F R2.z, R21.y;
  3382. MOV.S R24.z, R2.y;
  3383. MUL.F32 R2.y, R2.z, R2.w;
  3384. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3385. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3386. TRUNC.U R2.z, R2;
  3387. TRUNC.U R2.w, R2;
  3388. AND.U.CC HC.x, R2.z, R2.w;
  3389. MOV.S R24.y, R2.x;
  3390. IF NE.x;
  3391. MOV.F R2.x, R2.y;
  3392. ELSE;
  3393. MOV.F R2.x, {0, 0, 0, 0};
  3394. ENDIF;
  3395. MOV.F R2.y, R19.w;
  3396. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3397. MOV.F R2.z, c[7].y;
  3398. MUL.F32 R2.y, R2.z, R2;
  3399. TRUNC.U R2.w, R2;
  3400. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3401. MOV.S R24.w, R2.x;
  3402. TRUNC.U R2.x, R2.z;
  3403. AND.U.CC HC.x, R2, R2.w;
  3404. IF NE.x;
  3405. MOV.F R2.x, R2.y;
  3406. ELSE;
  3407. MOV.F R2.x, {0, 0, 0, 0};
  3408. ENDIF;
  3409. MOV.F R2.z, R24;
  3410. MOV.F R2.y, R24;
  3411. ADD.F32 R2.y, R2, R2.z;
  3412. MOV.F R2.z, R24.w;
  3413. ADD.F32 R2.x, R2.z, R2;
  3414. MOV.S R19.x, R2.y;
  3415. MOV.F R2.y, R20.w;
  3416. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3417. MOV.S R20.w, R2.x;
  3418. MOV.F R2.x, R19.z;
  3419. MUL.F32 R2.x, R2, {0.159154937, 0, 0, 0};
  3420. MOV.S R20.x, R2.y;
  3421. MOV.F R2.y, R20.z;
  3422. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  3423. MOV.S R19.z, R2.y;
  3424. MOV.F R2.z, R31.y;
  3425. MOV.F R2.y, c[8];
  3426. MOV.S R19.y, R2.x;
  3427. MUL.F32 R2.x, R2.y, R2.z;
  3428. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3429. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  3430. TRUNC.U R2.z, R2;
  3431. TRUNC.U R2.y, R2;
  3432. AND.U.CC HC.x, R2.y, R2.z;
  3433. IF NE.x;
  3434. ELSE;
  3435. MOV.F R2.x, {0, 0, 0, 0};
  3436. ENDIF;
  3437. MOV.F R2.w, R23.z;
  3438. MOV.F R2.z, R23.x;
  3439. MUL.F32 R2.y, R2.z, R2.w;
  3440. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3441. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3442. TRUNC.U R2.z, R2;
  3443. TRUNC.U R2.w, R2;
  3444. AND.U.CC HC.x, R2.z, R2.w;
  3445. MOV.S R24.x, R2;
  3446. IF NE.x;
  3447. MOV.F R2.x, R2.y;
  3448. ELSE;
  3449. MOV.F R2.x, {0, 0, 0, 0};
  3450. ENDIF;
  3451. MOV.F R2.y, R12.x;
  3452. MAX.F R2.y, R2, {0, 0, 0, 0}.x;
  3453. MOV.S R23.z, R2.y;
  3454. MOV.F R2.y, R19.w;
  3455. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3456. MOV.F R2.z, c[7].x;
  3457. MUL.F32 R2.y, R2.z, R2;
  3458. TRUNC.U R2.w, R2;
  3459. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3460. MOV.S R24.y, R2.x;
  3461. TRUNC.U R2.x, R2.z;
  3462. AND.U.CC HC.x, R2, R2.w;
  3463. IF NE.x;
  3464. MOV.F R2.x, R2.y;
  3465. ELSE;
  3466. MOV.F R2.x, {0, 0, 0, 0};
  3467. ENDIF;
  3468. MOV.F R2.y, R19;
  3469. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3470. COS.F32 R2.y, R2.y;
  3471. MOV.S R23.w, R2.y;
  3472. MOV.F R2.y, R24;
  3473. ADD.F32 R2.x, R2.y, R2;
  3474. MOV.F R2.y, R30.z;
  3475. MOV.F R2.w, R20;
  3476. MOV.F R2.z, R24.x;
  3477. ADD.F32 R2.z, R2, R2.w;
  3478. MOV.S R22.y, R2.z;
  3479. MOV.F R2.z, R19.x;
  3480. MOV.S R19.x, R2;
  3481. MUL.F32 R2.x, R2.y, R2.z;
  3482. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3483. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  3484. TRUNC.U R2.z, R2;
  3485. TRUNC.U R2.y, R2;
  3486. AND.U.CC HC.x, R2.y, R2.z;
  3487. IF NE.x;
  3488. ELSE;
  3489. MOV.F R2.x, {0, 0, 0, 0};
  3490. ENDIF;
  3491. MOV.F R2.z, R19;
  3492. MOV.F R2.y, R20.x;
  3493. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  3494. MUL.F32 R2.z, R2, {6.28318548, 0, 0, 0}.x;
  3495. SIN.F32 R2.z, R2.z;
  3496. MOV.S R21.x, R2.z;
  3497. MOV.F R2.w, R22.y;
  3498. MOV.F R2.z, R30.y;
  3499. MOV.S R20.w, R2.y;
  3500. MUL.F32 R2.y, R2.z, R2.w;
  3501. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3502. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3503. TRUNC.U R2.w, R2;
  3504. TRUNC.U R2.z, R2;
  3505. AND.U.CC HC.x, R2.z, R2.w;
  3506. MOV.S R34.w, R19.z;
  3507. MOV.S R20.z, R2.x;
  3508. IF NE.x;
  3509. MOV.F R2.x, R2.y;
  3510. ELSE;
  3511. MOV.F R2.x, {0, 0, 0, 0};
  3512. ENDIF;
  3513. MOV.F R2.z, R23;
  3514. MIN.F R2.z, R2, {0, 0, 0, 0}.x;
  3515. MOV.F R2.w, R23;
  3516. MOV.F R8.x, R21;
  3517. MOV.S R24.y, R2.z;
  3518. SNE.F32 R2.z, R2.w, {0, 0, 0, 0}.x;
  3519. MUL.F32 R2.y, R2.w, R8.x;
  3520. SNE.F32 R2.w, R8.x, {0, 0, 0, 0}.x;
  3521. TRUNC.U R2.z, R2;
  3522. TRUNC.U R2.w, R2;
  3523. AND.U.CC HC.x, R2.z, R2.w;
  3524. MOV.S R20.x, R2;
  3525. IF NE.x;
  3526. MOV.F R2.x, R2.y;
  3527. ELSE;
  3528. MOV.F R2.x, {0, 0, 0, 0};
  3529. ENDIF;
  3530. MOV.F R2.y, R31;
  3531. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3532. MOV.F R2.z, c[8].x;
  3533. MUL.F32 R2.y, R2.z, R2;
  3534. TRUNC.U R2.w, R2;
  3535. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3536. MOV.S R19.z, R2.x;
  3537. TRUNC.U R2.x, R2.z;
  3538. AND.U.CC HC.x, R2, R2.w;
  3539. IF NE.x;
  3540. MOV.F R2.x, R2.y;
  3541. ELSE;
  3542. MOV.F R2.x, {0, 0, 0, 0};
  3543. ENDIF;
  3544. MOV.F R2.y, R34.w;
  3545. MOV.F R2.w, R24.y;
  3546. MOV.F R2.z, R30.x;
  3547. ADD.F32 R2.z, R2, R2.w;
  3548. MOV.F R2.w, R23;
  3549. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  3550. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3551. MOV.S R8.x, R2.z;
  3552. COS.F32 R2.z, R2.y;
  3553. MUL.F32 R2.y, R2.z, R2.w;
  3554. TRUNC.U R2.w, R8.y;
  3555. SNE.F32 R8.y, R2.z, {0, 0, 0, 0}.x;
  3556. MOV.S R24.w, R2.x;
  3557. TRUNC.U R2.x, R8.y;
  3558. AND.U.CC HC.x, R2.w, R2;
  3559. MOV.S R34.w, R19.y;
  3560. MOV.S R21.w, R2.z;
  3561. IF NE.x;
  3562. MOV.F R2.x, R2.y;
  3563. ELSE;
  3564. MOV.F R2.x, {0, 0, 0, 0};
  3565. ENDIF;
  3566. MOV.F R2.z, R19.x;
  3567. MOV.F R2.y, R24.w;
  3568. ADD.F32 R2.y, R2, R2.z;
  3569. MOV.F R2.w, c[10];
  3570. MOV.F R2.z, R20;
  3571. MOV.S R22.z, R2.y;
  3572. MUL.F32 R2.y, R2.z, R2.w;
  3573. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3574. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3575. TRUNC.U R2.z, R2;
  3576. TRUNC.U R2.w, R2;
  3577. AND.U.CC HC.x, R2.z, R2.w;
  3578. MOV.S R19.y, R2.x;
  3579. IF NE.x;
  3580. MOV.F R2.x, R2.y;
  3581. ELSE;
  3582. MOV.F R2.x, {0, 0, 0, 0};
  3583. ENDIF;
  3584. MOV.F R2.w, R21.x;
  3585. MOV.F R2.y, R34.w;
  3586. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3587. SIN.F32 R2.z, R2.y;
  3588. MOV.S R22.w, R2.x;
  3589. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  3590. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  3591. MUL.F32 R2.y, R2.z, R2.w;
  3592. TRUNC.U R2.w, R8.y;
  3593. TRUNC.U R2.x, R2;
  3594. AND.U.CC HC.x, R2, R2.w;
  3595. MOV.S R23.x, R2.z;
  3596. IF NE.x;
  3597. MOV.F R2.x, R2.y;
  3598. ELSE;
  3599. MOV.F R2.x, {0, 0, 0, 0};
  3600. ENDIF;
  3601. MOV.F R2.w, R22;
  3602. MOV.F R2.z, R32;
  3603. MUL.F32 R2.y, R2.z, R2.w;
  3604. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3605. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3606. TRUNC.U R2.w, R2;
  3607. TRUNC.U R2.z, R2;
  3608. AND.U.CC HC.x, R2.z, R2.w;
  3609. MOV.S R19.x, R2;
  3610. IF NE.x;
  3611. MOV.F R2.x, R2.y;
  3612. ELSE;
  3613. MOV.F R2.x, {0, 0, 0, 0};
  3614. ENDIF;
  3615. MOV.F R2.w, R22.z;
  3616. MOV.F R2.z, R8.x;
  3617. MUL.F32 R2.y, R2.z, R2.w;
  3618. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3619. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3620. TRUNC.U R2.z, R2;
  3621. TRUNC.U R2.w, R2;
  3622. AND.U.CC HC.x, R2.z, R2.w;
  3623. MOV.S R21.y, R2.x;
  3624. IF NE.x;
  3625. MOV.F R2.x, R2.y;
  3626. ELSE;
  3627. MOV.F R2.x, {0, 0, 0, 0};
  3628. ENDIF;
  3629. MOV.F R2.w, R21;
  3630. MOV.F R2.z, R23.x;
  3631. MUL.F32 R2.y, R2.z, R2.w;
  3632. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3633. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3634. TRUNC.U R2.z, R2;
  3635. TRUNC.U R2.w, R2;
  3636. AND.U.CC HC.x, R2.z, R2.w;
  3637. MOV.S R20.z, R2.x;
  3638. IF NE.x;
  3639. MOV.F R2.x, R2.y;
  3640. ELSE;
  3641. MOV.F R2.x, {0, 0, 0, 0};
  3642. ENDIF;
  3643. MOV.F R2.y, R20.w;
  3644. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  3645. SIN.F32 R2.z, R2.y;
  3646. MOV.F R2.w, R19.z;
  3647. MUL.F32 R2.y, R2.z, R2.w;
  3648. MOV.S R23.z, R2;
  3649. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3650. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3651. TRUNC.U R2.z, R2;
  3652. TRUNC.U R2.w, R2;
  3653. AND.U.CC HC.x, R2.z, R2.w;
  3654. MOV.S R19.w, R2.x;
  3655. IF NE.x;
  3656. MOV.F R2.x, R2.y;
  3657. ELSE;
  3658. MOV.F R2.x, {0, 0, 0, 0};
  3659. ENDIF;
  3660. MOV.F R2.w, c[10].z;
  3661. MOV.F R2.z, R20.x;
  3662. MUL.F32 R2.y, R2.z, R2.w;
  3663. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3664. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3665. TRUNC.U R2.z, R2;
  3666. TRUNC.U R2.w, R2;
  3667. AND.U.CC HC.x, R2.z, R2.w;
  3668. MOV.S R22.x, R2;
  3669. IF NE.x;
  3670. MOV.F R2.x, R2.y;
  3671. ELSE;
  3672. MOV.F R2.x, {0, 0, 0, 0};
  3673. ENDIF;
  3674. MOV.F R2.w, R19.y;
  3675. MOV.F R2.z, R23;
  3676. MUL.F32 R2.y, R2.z, R2.w;
  3677. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3678. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3679. TRUNC.U R2.z, R2;
  3680. TRUNC.U R2.w, R2;
  3681. AND.U.CC HC.x, R2.z, R2.w;
  3682. MOV.S R31.y, R2.x;
  3683. IF NE.x;
  3684. MOV.F R2.x, R2.y;
  3685. ELSE;
  3686. MOV.F R2.x, {0, 0, 0, 0};
  3687. ENDIF;
  3688. MOV.F R2.w, R19;
  3689. MOV.F R2.z, R23;
  3690. MUL.F32 R2.y, R2.z, R2.w;
  3691. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3692. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3693. TRUNC.U R2.z, R2;
  3694. TRUNC.U R2.w, R2;
  3695. AND.U.CC HC.x, R2.z, R2.w;
  3696. MOV.S R22.z, R2.x;
  3697. IF NE.x;
  3698. MOV.F R2.x, R2.y;
  3699. ELSE;
  3700. MOV.F R2.x, {0, 0, 0, 0};
  3701. ENDIF;
  3702. MOV.F R2.w, R19.x;
  3703. MOV.F R2.y, R22.z;
  3704. ADD.F32 R2.y, R2.w, R2;
  3705. MOV.S R8.x, R2.y;
  3706. MOV.F R2.y, R20.w;
  3707. MUL.F32 R2.z, R2.y, {6.28318548, 0, 0, 0}.x;
  3708. MOV.F R8.y, R23.z;
  3709. COS.F32 R2.z, R2.z;
  3710. MUL.F32 R2.y, R2.w, R8;
  3711. MOV.S R23.y, R2.z;
  3712. SNE.F32 R2.z, R8.y, {0, 0, 0, 0}.x;
  3713. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3714. TRUNC.U R2.z, R2;
  3715. TRUNC.U R2.w, R2;
  3716. AND.U.CC HC.x, R2.z, R2.w;
  3717. MOV.S R22.w, R2.x;
  3718. IF NE.x;
  3719. MOV.F R2.x, R2.y;
  3720. ELSE;
  3721. MOV.F R2.x, {0, 0, 0, 0};
  3722. ENDIF;
  3723. MOV.F R2.w, R23.y;
  3724. MOV.F R2.z, R23.w;
  3725. MUL.F32 R2.y, R2.z, R2.w;
  3726. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3727. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3728. TRUNC.U R2.z, R2;
  3729. TRUNC.U R2.w, R2;
  3730. AND.U.CC HC.x, R2.z, R2.w;
  3731. MOV.S R24.y, R2.x;
  3732. IF NE.x;
  3733. MOV.F R2.x, R2.y;
  3734. ELSE;
  3735. MOV.F R2.x, {0, 0, 0, 0};
  3736. ENDIF;
  3737. MOV.F R2.z, R24.y;
  3738. MOV.F R2.y, R19;
  3739. ADD.F32 R2.y, R2, R2.z;
  3740. MOV.S R27.x, R2.y;
  3741. MOV.F R2.z, R22.x;
  3742. MOV.F R2.y, R19.w;
  3743. ADD.F32 R2.y, -R2, R2.z;
  3744. MOV.S R17.w, R2.y;
  3745. MOV.F R2.w, R22;
  3746. MOV.F R2.z, R19;
  3747. ADD.F32 R2.z, -R2, R2.w;
  3748. MOV.F R2.y, R20.z;
  3749. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  3750. MOV.S R31.z, R2;
  3751. MOV.F R2.z, c[10].y;
  3752. MUL.F32 R2.y, R2, R2.z;
  3753. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3754. TRUNC.U R2.w, R2;
  3755. TRUNC.U R2.z, R2;
  3756. AND.U.CC HC.x, R2.w, R2.z;
  3757. MOV.S R27.z, R2.x;
  3758. IF NE.x;
  3759. MOV.F R2.x, R2.y;
  3760. ELSE;
  3761. MOV.F R2.x, {0, 0, 0, 0};
  3762. ENDIF;
  3763. MOV.F R2.w, R21.y;
  3764. MOV.F R2.z, R8.x;
  3765. MUL.F32 R2.y, R2.z, R2.w;
  3766. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3767. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3768. TRUNC.U R2.z, R2;
  3769. TRUNC.U R2.w, R2;
  3770. AND.U.CC HC.x, R2.z, R2.w;
  3771. MOV.S R13.y, R2.x;
  3772. IF NE.x;
  3773. MOV.F R2.x, R2.y;
  3774. ELSE;
  3775. MOV.F R2.x, {0, 0, 0, 0};
  3776. ENDIF;
  3777. MOV.F R2.w, R23.y;
  3778. MOV.F R2.z, R23.x;
  3779. MUL.F32 R2.y, R2.z, R2.w;
  3780. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3781. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3782. TRUNC.U R2.z, R2;
  3783. TRUNC.U R2.w, R2;
  3784. AND.U.CC HC.x, R2.z, R2.w;
  3785. MOV.S R8.z, R2.x;
  3786. IF NE.x;
  3787. MOV.F R2.x, R2.y;
  3788. ELSE;
  3789. MOV.F R2.x, {0, 0, 0, 0};
  3790. ENDIF;
  3791. MOV.F R2.w, R21.y;
  3792. MOV.F R2.z, R17.w;
  3793. MUL.F32 R2.y, R2.z, R2.w;
  3794. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3795. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3796. TRUNC.U R2.z, R2;
  3797. TRUNC.U R2.w, R2;
  3798. AND.U.CC HC.x, R2.z, R2.w;
  3799. MOV.S R25.w, R2.x;
  3800. IF NE.x;
  3801. MOV.F R2.x, R2.y;
  3802. ELSE;
  3803. MOV.F R2.x, {0, 0, 0, 0};
  3804. ENDIF;
  3805. MOV.F R2.w, R21.x;
  3806. MOV.F R2.z, R23.y;
  3807. MUL.F32 R2.y, R2.z, R2.w;
  3808. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3809. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3810. TRUNC.U R2.z, R2;
  3811. TRUNC.U R2.w, R2;
  3812. AND.U.CC HC.x, R2.z, R2.w;
  3813. MOV.S R13.z, R2.x;
  3814. IF NE.x;
  3815. MOV.F R2.x, R2.y;
  3816. ELSE;
  3817. MOV.F R2.x, {0, 0, 0, 0};
  3818. ENDIF;
  3819. MOV.F R2.w, R21.y;
  3820. MOV.F R2.z, R27;
  3821. MUL.F32 R2.y, R2.z, R2.w;
  3822. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3823. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3824. TRUNC.U R2.z, R2;
  3825. TRUNC.U R2.w, R2;
  3826. AND.U.CC HC.x, R2.z, R2.w;
  3827. MOV.S R13.x, R2;
  3828. IF NE.x;
  3829. MOV.F R2.x, R2.y;
  3830. ELSE;
  3831. MOV.F R2.x, {0, 0, 0, 0};
  3832. ENDIF;
  3833. MOV.F R2.w, R21;
  3834. MOV.F R2.z, R23.y;
  3835. MUL.F32 R2.y, R2.z, R2.w;
  3836. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  3837. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  3838. TRUNC.U R2.z, R2;
  3839. TRUNC.U R2.w, R2;
  3840. AND.U.CC HC.x, R2.z, R2.w;
  3841. MOV.S R8.y, R2.x;
  3842. IF NE.x;
  3843. MOV.F R8.w, R2.y;
  3844. ELSE;
  3845. MOV.F R8.w, {0, 0, 0, 0}.x;
  3846. ENDIF;
  3847. MOV.F R2.x, R23.z;
  3848. MOV.F R2.w, -R2.x;
  3849. MOV.F R2.xyz, R12.zyxw;
  3850. ADD.F32 R2.xyz, R2, {1, 0, 0, 0}.x;
  3851. MOV.S R30.xyz, R2;
  3852. MOV.F R2.x, R13.w;
  3853. SEQ.F R19.x, R2, {0, 0, 0, 0};
  3854. MOV.S R18.w, R2;
  3855. MOV.S R2.z, R8.w;
  3856. TRUNC.U.CC HC.x, R19;
  3857. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  3858. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  3859. IF NE.x;
  3860. MOV.S R21.x, {-1, 0, 0, 0};
  3861. ELSE;
  3862. MOV.S R21.x, {0, 0, 0, 0};
  3863. ENDIF;
  3864. MOV.F R20, R14;
  3865. SEQ.S R14.y, R21.x, {0, 0, 0, 0}.x;
  3866. MOV.U.CC RC.x, -R14.y;
  3867. MOV.F R19.w, {1, 0, 0, 0}.x;
  3868. MOV.F R19.xyz, R10;
  3869. DP4.F32 R14.x, R20, R19;
  3870. MOV.S R14.x, R14;
  3871. IF NE.x;
  3872. MOV.S R14.z, R13.w;
  3873. ELSE;
  3874. MOV.S R14.z, {1065353216, 0, 0, 0}.x;
  3875. ENDIF;
  3876. MOV.F R20, R15;
  3877. MOV.F R19.xyz, R10;
  3878. MOV.F R19.w, {1, 0, 0, 0}.x;
  3879. DP4.F32 R10.x, R20, R19;
  3880. MOV.F R21.xyz, R11;
  3881. MOV.F R21.w, {0, 0, 0, 0}.x;
  3882. MOV.F R20.xyz, R17;
  3883. MOV.F R20.w, {-0, 0, 0, 0}.x;
  3884. MOV.S R14.y, R10.x;
  3885. DP4.F32 R10.x, R20, R21;
  3886. MOV.F R20.xyz, R18;
  3887. MOV.F R20.w, {-0, 0, 0, 0}.x;
  3888. DP4.F32 R10.y, R21, R20;
  3889. MOV.S R15.y, R10.x;
  3890. MOV.S R10.x, R10.y;
  3891. MOV.S R10.y, R10.x;
  3892. MOV.F R20, R16;
  3893. DP4.F32 R10.x, R19, R20;
  3894. ADD.F32 R10.y, R10, {9.99999997e-07, 0, 0, 0}.x;
  3895. MOV.S R15.z, R10.x;
  3896. MOV.F R19.w, {-0, 0, 0, 0}.x;
  3897. MOV.F R19.xyz, R25;
  3898. DP4.F32 R10.x, R21, R19;
  3899. MOV.S R18.z, R10.y;
  3900. MOV.S R18.x, R10;
  3901. ENDIF;
  3902. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  3903. MOV.U.CC RC.x, -R10;
  3904. IF NE.x;
  3905. MOV.F R10.y, c[11].x;
  3906. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  3907. MOV.S R24.y, R10;
  3908. MOV.F R10.y, c[11];
  3909. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  3910. MOV.F R11.x, c[12];
  3911. MOV.F R10.z, R30;
  3912. MUL.F32 R10.x, R10.z, R11;
  3913. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3914. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3915. TRUNC.U R10.z, R10;
  3916. TRUNC.U R11.x, R11;
  3917. AND.U.CC HC.x, R10.z, R11;
  3918. MOV.S R24.x, R10.y;
  3919. IF NE.x;
  3920. ELSE;
  3921. MOV.F R10.x, {0, 0, 0, 0};
  3922. ENDIF;
  3923. MOV.F R11.x, c[12];
  3924. MOV.F R10.z, R30.y;
  3925. MUL.F32 R10.y, R10.z, R11.x;
  3926. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3927. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3928. TRUNC.U R10.z, R10;
  3929. TRUNC.U R11.x, R11;
  3930. AND.U.CC HC.x, R10.z, R11;
  3931. MOV.S R30.z, R10.x;
  3932. IF NE.x;
  3933. MOV.F R10.x, R10.y;
  3934. ELSE;
  3935. MOV.F R10.x, {0, 0, 0, 0};
  3936. ENDIF;
  3937. MOV.F R11.x, c[12];
  3938. MOV.F R10.z, R30.x;
  3939. MUL.F32 R10.y, R10.z, R11.x;
  3940. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3941. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3942. TRUNC.U R10.z, R10;
  3943. TRUNC.U R11.x, R11;
  3944. AND.U.CC HC.x, R10.z, R11;
  3945. MOV.S R16.w, R10.x;
  3946. IF NE.x;
  3947. MOV.F R10.x, R10.y;
  3948. ELSE;
  3949. MOV.F R10.x, {0, 0, 0, 0};
  3950. ENDIF;
  3951. MOV.F R11.x, c[13].w;
  3952. MOV.F R10.z, R31.x;
  3953. MUL.F32 R10.y, R10.z, R11.x;
  3954. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3955. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3956. TRUNC.U R10.z, R10;
  3957. TRUNC.U R11.x, R11;
  3958. AND.U.CC HC.x, R10.z, R11;
  3959. MOV.S R30.y, R10.x;
  3960. IF NE.x;
  3961. MOV.F R10.x, R10.y;
  3962. ELSE;
  3963. MOV.F R10.x, {0, 0, 0, 0};
  3964. ENDIF;
  3965. MOV.F R10.z, R24.y;
  3966. MOV.F R10.y, R32.x;
  3967. ADD.F32 R10.y, R10, R10.z;
  3968. MOV.F R10.z, R32.y;
  3969. MOV.F R11.x, R24;
  3970. MOV.S R22.w, R10.y;
  3971. ADD.F32 R10.y, R10.z, R11.x;
  3972. MOV.F R11.y, R31;
  3973. SNE.F32 R11.x, R10.z, -R11;
  3974. SNE.F32 R10.z, R11.y, {0, 0, 0, 0}.x;
  3975. TRUNC.U R11.x, R11;
  3976. TRUNC.U R10.z, R10;
  3977. AND.U.CC HC.x, R10.z, R11;
  3978. MUL.F32 R10.y, R11, R10;
  3979. MOV.S R22.y, R10.x;
  3980. IF NE.x;
  3981. MOV.F R10.x, R10.y;
  3982. ELSE;
  3983. MOV.F R10.x, {0, 0, 0, 0};
  3984. ENDIF;
  3985. MOV.F R11.x, R22.w;
  3986. MOV.F R10.z, R13.y;
  3987. MUL.F32 R10.y, R10.z, R11.x;
  3988. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  3989. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3990. TRUNC.U R10.z, R10;
  3991. TRUNC.U R11.x, R11;
  3992. AND.U.CC HC.x, R10.z, R11;
  3993. MOV.S R24.x, R10;
  3994. IF NE.x;
  3995. MOV.F R10.x, R10.y;
  3996. ELSE;
  3997. MOV.F R10.x, {0, 0, 0, 0};
  3998. ENDIF;
  3999. MOV.F R10.y, R22;
  4000. RCP.F32 R10.y, R10.y;
  4001. MOV.F R11.x, R31.z;
  4002. MOV.F R10.z, R24.x;
  4003. MOV.S R21.x, R10.y;
  4004. MUL.F32 R10.y, R10.z, R11.x;
  4005. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4006. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4007. TRUNC.U R10.z, R10;
  4008. TRUNC.U R11.x, R11;
  4009. AND.U.CC HC.x, R10.z, R11;
  4010. MOV.S R21.y, R10.x;
  4011. IF NE.x;
  4012. MOV.F R10.x, R10.y;
  4013. ELSE;
  4014. MOV.F R10.x, {0, 0, 0, 0};
  4015. ENDIF;
  4016. MOV.F R10.y, R8.z;
  4017. ADD.F32 R10.y, R10.x, R10;
  4018. MOV.F R10.z, R24.x;
  4019. MOV.F R11.x, R25.w;
  4020. MUL.F32 R10.x, R10.z, R11;
  4021. MOV.S R26.x, R10.y;
  4022. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  4023. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4024. TRUNC.U R10.z, R11.x;
  4025. TRUNC.U R10.y, R10;
  4026. AND.U.CC HC.x, R10.y, R10.z;
  4027. IF NE.x;
  4028. ELSE;
  4029. MOV.F R10.x, {0, 0, 0, 0};
  4030. ENDIF;
  4031. ADD.F32 R10.x, R10, R8.y;
  4032. MOV.F R10.y, R24.x;
  4033. MOV.F R10.z, R27.x;
  4034. MUL.F32 R8.y, R10, R10.z;
  4035. MOV.S R26.z, R10.x;
  4036. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  4037. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4038. TRUNC.U R10.y, R10.z;
  4039. TRUNC.U R10.x, R10;
  4040. AND.U.CC HC.x, R10, R10.y;
  4041. IF NE.x;
  4042. ELSE;
  4043. MOV.F R8.y, {0, 0, 0, 0}.x;
  4044. ENDIF;
  4045. MOV.F R10.x, R13.z;
  4046. ADD.F32 R10.x, R8.y, R10;
  4047. MOV.F R10.y, R21;
  4048. MOV.F R10.z, R2;
  4049. MUL.F32 R8.y, R10, R10.z;
  4050. MOV.S R26.w, R10.x;
  4051. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  4052. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4053. TRUNC.U R10.y, R10.z;
  4054. TRUNC.U R10.x, R10;
  4055. AND.U.CC HC.x, R10, R10.y;
  4056. MOV.S R34.w, R14.z;
  4057. IF NE.x;
  4058. ELSE;
  4059. MOV.F R8.y, {0, 0, 0, 0}.x;
  4060. ENDIF;
  4061. MOV.F R10.x, R26;
  4062. ADD.F32 R10.x, R8.y, R10;
  4063. MOV.F R10.y, R21;
  4064. MOV.F R10.z, R13.x;
  4065. MUL.F32 R8.y, R10, R10.z;
  4066. MOV.S R32.x, R10;
  4067. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  4068. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4069. TRUNC.U R10.y, R10.z;
  4070. TRUNC.U R10.x, R10;
  4071. AND.U.CC HC.x, R10, R10.y;
  4072. IF NE.x;
  4073. ELSE;
  4074. MOV.F R8.y, {0, 0, 0, 0}.x;
  4075. ENDIF;
  4076. MOV.F R10.x, R26.w;
  4077. ADD.F32 R8.y, R8, R10.x;
  4078. MOV.F R10.z, R18.w;
  4079. MOV.F R10.y, R21;
  4080. MUL.F32 R10.x, R10.y, R10.z;
  4081. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4082. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4083. TRUNC.U R10.z, R10;
  4084. TRUNC.U R10.y, R10;
  4085. AND.U.CC HC.x, R10.y, R10.z;
  4086. MOV.S R8.y, R8;
  4087. IF NE.x;
  4088. ELSE;
  4089. MOV.F R10.x, {0, 0, 0, 0};
  4090. ENDIF;
  4091. MOV.F R10.y, R26.z;
  4092. ADD.F32 R10.x, R10, R10.y;
  4093. MOV.F R11.x, R21;
  4094. MOV.F R10.z, R34.w;
  4095. MUL.F32 R10.z, R10, R11.x;
  4096. MOV.S R14.z, R10.x;
  4097. MOV.S R10.x, R10.z;
  4098. SEQ.S R10.y, R10.x, {2147483647, 0, 0, 0}.x;
  4099. MOV.U.CC RC.x, -R10.y;
  4100. MOV.S R14.w, R10.z;
  4101. MOV.U R10.x, {1, 0, 0, 0};
  4102. IF NE.x;
  4103. MOV.S R26.y, {1065353216, 0, 0, 0}.x;
  4104. MOV.U R10.x, {0, 0, 0, 0};
  4105. ELSE;
  4106. SEQ.S R10.y, R14.w, {-1, 0, 0, 0}.x;
  4107. MOV.U.CC RC.x, -R10.y;
  4108. IF NE.x;
  4109. MOV.S R26.y, {0, 0, 0, 0}.x;
  4110. MOV.U R10.x, {0, 0, 0, 0};
  4111. ENDIF;
  4112. ENDIF;
  4113. MOV.U.CC RC.x, R10;
  4114. IF NE.x;
  4115. MOV.F.SAT R10.x, R14.w;
  4116. MOV.S R26.y, R10.x;
  4117. ENDIF;
  4118. MOV.S R14.w, R26.y;
  4119. ENDIF;
  4120. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  4121. MOV.U.CC RC.x, -R10;
  4122. IF NE.x;
  4123. MOV.F R8.z, R14.x;
  4124. MOV.F R20, c[14];
  4125. MOV.F R19.z, R14;
  4126. MOV.F R19.yw, R8;
  4127. MOV.F R19.x, R32;
  4128. DP4.F32 R10.x, R20, R19;
  4129. ADD.F32 R10.x, R10, R8.z;
  4130. MOV.F R20, c[15];
  4131. MOV.F R10.y, R14;
  4132. DP4.F32 R8.z, R19, R20;
  4133. ADD.F32 R8.z, R10.y, R8;
  4134. MOV.F R10.y, c[14].z;
  4135. MOV.S R15.x, R10;
  4136. MOV.F R10.z, R30;
  4137. ADD.F32 R10.x, R10, R10.z;
  4138. MOV.S R21.w, R10.x;
  4139. MOV.F R10.x, R27.z;
  4140. MOV.S R16.y, R8.z;
  4141. MUL.F32 R8.z, R10.x, R10.y;
  4142. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4143. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4144. TRUNC.U R10.y, R10;
  4145. TRUNC.U R10.x, R10;
  4146. AND.U.CC HC.x, R10, R10.y;
  4147. IF NE.x;
  4148. MOV.F R10.x, R8.z;
  4149. ELSE;
  4150. MOV.F R10.x, {0, 0, 0, 0};
  4151. ENDIF;
  4152. MOV.F R8.z, R15;
  4153. MOV.F R10.z, c[15];
  4154. MOV.F R19, c[16];
  4155. MOV.F R20.z, R14;
  4156. MOV.F R20.yw, R8;
  4157. MOV.F R20.x, R32;
  4158. DP4.F32 R8.y, R19, R20;
  4159. ADD.F32 R10.y, R8.z, R8;
  4160. MOV.F R8.z, R16.w;
  4161. MOV.F R8.y, R16;
  4162. ADD.F32 R8.y, R8, R8.z;
  4163. MOV.F R8.z, R21.w;
  4164. ADD.F32 R8.y, R8.z, R8;
  4165. MOV.S R8.z, R10.y;
  4166. MOV.F R10.y, R27.z;
  4167. MOV.S R21.y, R8;
  4168. MUL.F32 R8.y, R10, R10.z;
  4169. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4170. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4171. TRUNC.U R10.y, R10;
  4172. TRUNC.U R10.z, R10;
  4173. AND.U.CC HC.x, R10.y, R10.z;
  4174. MOV.S R23.z, R10.x;
  4175. IF NE.x;
  4176. ELSE;
  4177. MOV.F R8.y, {0, 0, 0, 0}.x;
  4178. ENDIF;
  4179. MOV.F R10.y, R30;
  4180. MOV.F R10.x, R8.z;
  4181. ADD.F32 R10.x, R10, R10.y;
  4182. MOV.F R10.y, R21;
  4183. MOV.S R10.x, R10;
  4184. ADD.F32 R10.x, R10, R10.y;
  4185. MOV.F R10.z, c[14];
  4186. MOV.F R10.y, R25.w;
  4187. MOV.S R16.x, R10;
  4188. MUL.F32 R10.x, R10.y, R10.z;
  4189. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4190. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4191. TRUNC.U R10.y, R10;
  4192. TRUNC.U R10.z, R10;
  4193. AND.U.CC HC.x, R10.y, R10.z;
  4194. MOV.S R23.y, R8;
  4195. IF NE.x;
  4196. MOV.F R8.y, R10.x;
  4197. ELSE;
  4198. MOV.F R8.y, {0, 0, 0, 0}.x;
  4199. ENDIF;
  4200. MOV.F R10.z, c[15];
  4201. MOV.F R10.y, R25.w;
  4202. MUL.F32 R10.x, R10.y, R10.z;
  4203. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4204. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4205. TRUNC.U R10.y, R10;
  4206. TRUNC.U R10.z, R10;
  4207. AND.U.CC HC.x, R10.y, R10.z;
  4208. MOV.S R24.z, R8.y;
  4209. IF NE.x;
  4210. MOV.F R8.y, R10.x;
  4211. ELSE;
  4212. MOV.F R8.y, {0, 0, 0, 0}.x;
  4213. ENDIF;
  4214. MOV.F R10.z, c[14].y;
  4215. MOV.F R10.y, R17.w;
  4216. MUL.F32 R10.x, R10.y, R10.z;
  4217. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4218. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4219. TRUNC.U R10.y, R10;
  4220. TRUNC.U R10.z, R10;
  4221. AND.U.CC HC.x, R10.y, R10.z;
  4222. MOV.S R34.w, R23.y;
  4223. MOV.S R24.w, R8.y;
  4224. IF NE.x;
  4225. MOV.F R8.y, R10.x;
  4226. ELSE;
  4227. MOV.F R8.y, {0, 0, 0, 0}.x;
  4228. ENDIF;
  4229. MOV.F R10.x, R23.z;
  4230. ADD.F32 R8.y, R8, R10.x;
  4231. MOV.F R10.y, c[15];
  4232. MOV.F R10.x, R17.w;
  4233. MOV.S R19.x, R8.y;
  4234. MUL.F32 R8.y, R10.x, R10;
  4235. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4236. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4237. TRUNC.U R10.y, R10;
  4238. TRUNC.U R10.x, R10;
  4239. AND.U.CC HC.x, R10, R10.y;
  4240. IF NE.x;
  4241. ELSE;
  4242. MOV.F R8.y, {0, 0, 0, 0}.x;
  4243. ENDIF;
  4244. MOV.F R10.x, R27;
  4245. SNE.F32 R10.y, R10.x, {0, 0, 0, 0}.x;
  4246. MOV.F R10.z, c[14].y;
  4247. TRUNC.U R11.x, R10.y;
  4248. MOV.F R10.y, R34.w;
  4249. ADD.F32 R8.y, R8, R10;
  4250. MUL.F32 R10.x, R10, R10.z;
  4251. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4252. TRUNC.U R10.y, R10.z;
  4253. AND.U.CC HC.x, R11, R10.y;
  4254. MOV.S R23.z, R8.y;
  4255. IF NE.x;
  4256. MOV.F R8.y, R10.x;
  4257. ELSE;
  4258. MOV.F R8.y, {0, 0, 0, 0}.x;
  4259. ENDIF;
  4260. MOV.F R10.x, R24.z;
  4261. ADD.F32 R8.y, R8, R10.x;
  4262. MOV.F R10.y, c[15];
  4263. MOV.F R10.x, R27;
  4264. MOV.S R21.w, R8.y;
  4265. MUL.F32 R8.y, R10.x, R10;
  4266. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4267. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4268. TRUNC.U R10.y, R10;
  4269. TRUNC.U R10.x, R10;
  4270. AND.U.CC HC.x, R10, R10.y;
  4271. IF NE.x;
  4272. ELSE;
  4273. MOV.F R8.y, {0, 0, 0, 0}.x;
  4274. ENDIF;
  4275. MOV.F R10.x, R24.w;
  4276. ADD.F32 R8.y, R8, R10.x;
  4277. MOV.F R10.z, c[15];
  4278. MOV.F R10.y, R18.w;
  4279. MUL.F32 R10.x, R10.y, R10.z;
  4280. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4281. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4282. TRUNC.U R10.z, R10;
  4283. TRUNC.U R10.y, R10;
  4284. AND.U.CC HC.x, R10.y, R10.z;
  4285. MOV.S R8.y, R8;
  4286. IF NE.x;
  4287. ELSE;
  4288. MOV.F R10.x, {0, 0, 0, 0};
  4289. ENDIF;
  4290. MOV.F R11.x, c[14].z;
  4291. MOV.F R10.z, R18.w;
  4292. MUL.F32 R10.y, R10.z, R11.x;
  4293. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4294. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4295. TRUNC.U R10.z, R10;
  4296. TRUNC.U R11.x, R11;
  4297. AND.U.CC HC.x, R10.z, R11;
  4298. MOV.S R21.x, R10;
  4299. IF NE.x;
  4300. MOV.F R10.x, R10.y;
  4301. ELSE;
  4302. MOV.F R10.x, {0, 0, 0, 0};
  4303. ENDIF;
  4304. MOV.F R11.x, c[15];
  4305. MOV.F R10.z, R31;
  4306. MUL.F32 R10.y, R10.z, R11.x;
  4307. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4308. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4309. TRUNC.U R10.z, R10;
  4310. TRUNC.U R11.x, R11;
  4311. AND.U.CC HC.x, R10.z, R11;
  4312. MOV.S R21.y, R10.x;
  4313. IF NE.x;
  4314. MOV.F R10.x, R10.y;
  4315. ELSE;
  4316. MOV.F R10.x, {0, 0, 0, 0};
  4317. ENDIF;
  4318. MOV.F R10.y, R8.x;
  4319. SNE.F32 R11.x, R10.y, {0, 0, 0, 0};
  4320. MOV.F R10.z, c[15].x;
  4321. ADD.F32 R8.y, R10.x, R8;
  4322. MUL.F32 R10.y, R10, R10.z;
  4323. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  4324. TRUNC.U R11.x, R11;
  4325. TRUNC.U R10.x, R10.z;
  4326. AND.U.CC HC.x, R11, R10;
  4327. MOV.S R34.w, R19.x;
  4328. MOV.S R20.w, R8.y;
  4329. IF NE.x;
  4330. MOV.F R8.y, R10;
  4331. ELSE;
  4332. MOV.F R8.y, {0, 0, 0, 0}.x;
  4333. ENDIF;
  4334. MOV.F R10.x, R23.z;
  4335. ADD.F32 R8.y, R8, R10.x;
  4336. MOV.F R10.y, c[14].x;
  4337. MOV.F R10.x, R31.z;
  4338. MOV.S R19.x, R8.y;
  4339. MUL.F32 R8.y, R10.x, R10;
  4340. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  4341. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  4342. TRUNC.U R10.y, R10;
  4343. TRUNC.U R10.x, R10;
  4344. AND.U.CC HC.x, R10, R10.y;
  4345. IF NE.x;
  4346. ELSE;
  4347. MOV.F R8.y, {0, 0, 0, 0}.x;
  4348. ENDIF;
  4349. MOV.F R10.x, R21.w;
  4350. ADD.
  4351. [17:50:24] Link error in shader ae8c799828381bd7. Log:
  4352. [17:50:24] Vertex info
  4353. -----------
  4354. Internal error: assembly compile error for vertex shader at offset 2035:
  4355. -- error message --
  4356. line 43, column 45: error: invalid vertex attribute reference
  4357. line 49, column 25: error: invalid vertex attribute reference
  4358. line 51, column 25: error: invalid vertex attribute reference
  4359. line 53, column 25: error: invalid vertex attribute reference
  4360. line 56, column 25: error: invalid vertex attribute reference
  4361. -- internal assembly text --
  4362. !!NVvp5.0
  4363. OPTION NV_internal;
  4364. OPTION NV_bindless_texture;
  4365. # cgc version 3.4.0001, build date Jun 24 2018
  4366. # command line args:
  4367. #vendor NVIDIA Corporation
  4368. #version 3.4.0.1 COP Build Date Jun 24 2018
  4369. #profile gp5vp
  4370. #program main
  4371. #semantic uf_alphaTestRef
  4372. #semantic uf_remappedVS
  4373. #semantic uf_windowSpaceToClipSpaceTransform
  4374. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  4375. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  4376. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  4377. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  4378. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  4379. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  4380. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  4381. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  4382. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  4383. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  4384. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  4385. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  4386. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  4387. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  4388. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  4389. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  4390. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  4391. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  4392. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  4393. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  4394. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  4395. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  4396. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  4397. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  4398. #var float uf_alphaTestRef : : : -1 : 0
  4399. #var int4 uf_remappedVS[0] : : c[0], 36 : -1 : 1
  4400. #var float2 uf_windowSpaceToClipSpaceTransform : : : -1 : 0
  4401. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  4402. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  4403. PARAM c[36] = { program.local[0..35] };
  4404. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  4405. OUTPUT result_attrib[] = { result.attrib[0..4] };
  4406. 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;
  4407. TEMP T;
  4408. TEMP RC;
  4409. SHORT TEMP HC;
  4410. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  4411. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4412. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  4413. OR.U R0, R0, R1;
  4414. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  4415. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4416. OR.U R0, R0, R1;
  4417. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  4418. OR.U R4, R0, R2;
  4419. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  4420. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4421. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  4422. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  4423. OR.U R1, R1, R2;
  4424. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4425. OR.U R0, R1, R0;
  4426. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  4427. OR.U R5, R0, R2;
  4428. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  4429. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4430. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  4431. OR.U R1, R1, R2;
  4432. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  4433. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  4434. OR.U R1, R1, R2;
  4435. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  4436. OR.U R18, R1, R0;
  4437. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  4438. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4439. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  4440. OR.U R0, R0, R1;
  4441. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  4442. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4443. OR.U R0, R0, R1;
  4444. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  4445. OR.U R6, R0, R2;
  4446. MOV.U R0.x, R18.w;
  4447. MOV.F R0.y, c[0].x;
  4448. ADD.F32 R3.x, -R0, R0.y;
  4449. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  4450. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  4451. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4452. TRUNC.U R11.x, R3.y;
  4453. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  4454. MOV.S R18.w, R3.x;
  4455. OR.U R0, R0, R1;
  4456. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  4457. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4458. OR.U R0, R0, R1;
  4459. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  4460. OR.U R7, R0, R2;
  4461. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  4462. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4463. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  4464. OR.U R0, R0, R1;
  4465. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  4466. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4467. OR.U R0, R0, R1;
  4468. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  4469. OR.U R8, R0, R2;
  4470. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  4471. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4472. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  4473. OR.U R0, R0, R1;
  4474. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  4475. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4476. OR.U R0, R0, R1;
  4477. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  4478. OR.U R17, R0, R2;
  4479. SEQ.U R0.x, R11, {1, 0, 0, 0};
  4480. SEQ.U R11.y, -R0.x, {1, 0, 0, 0}.x;
  4481. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4482. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4483. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4484. MOV.U.CC RC.x, -R11.y;
  4485. OR.U R0.xyz, R0, R1;
  4486. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4487. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4488. OR.U R0.xyz, R0, R1;
  4489. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4490. OR.U R19.xyz, R0, R2;
  4491. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4492. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4493. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4494. OR.U R0.xyz, R0, R1;
  4495. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4496. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4497. OR.U R0.xyz, R0, R1;
  4498. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4499. OR.U R23.xyz, R0, R2;
  4500. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4501. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4502. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4503. OR.U R0.xyz, R0, R1;
  4504. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4505. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4506. OR.U R0.xyz, R0, R1;
  4507. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4508. OR.U R20.xyz, R0, R2;
  4509. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4510. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4511. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4512. OR.U R0.xyz, R0, R1;
  4513. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4514. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4515. OR.U R0.xyz, R0, R1;
  4516. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4517. OR.U R21.xyz, R0, R2;
  4518. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4519. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4520. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4521. OR.U R0.xyz, R0, R1;
  4522. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4523. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4524. OR.U R0.xyz, R0, R1;
  4525. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4526. OR.U R22.xyz, R0, R2;
  4527. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4528. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4529. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4530. OR.U R0.xyz, R0, R1;
  4531. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4532. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4533. OR.U R0.xyz, R0, R1;
  4534. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4535. OR.U R9.xyz, R0, R2;
  4536. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4537. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4538. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4539. OR.U R0.xyz, R0, R1;
  4540. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4541. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4542. OR.U R0.xyz, R0, R1;
  4543. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4544. OR.U R10.xyz, R0, R2;
  4545. MOV.S R0, {0, 0, 0, 0}.x;
  4546. MOV.S R1, {0, 0, 0, 0}.x;
  4547. MOV.S R2, {0, 0, 0, 0}.x;
  4548. MOV.S R24.xy, {0, 0, 0, 0}.x;
  4549. MOV.S R3.yz, {0, 0, 0, 0};
  4550. MOV.S R3.x, vertex.id;
  4551. MOV.S R3.w, vertex.instance.x;
  4552. MOV.S R9.w, {0, 0, 0, 0}.x;
  4553. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  4554. IF NE.x;
  4555. MOV.F R0.z, c[1].y;
  4556. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  4557. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  4558. MOV.S R24.xy, {0, 0, 0, 0}.x;
  4559. MOV.S R0.z, R0;
  4560. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  4561. ENDIF;
  4562. SEQ.U R11.x, R11, {0, 0, 0, 0};
  4563. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  4564. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  4565. MOV.U.CC RC.x, -R11;
  4566. IF NE.x;
  4567. MOV.S R17.w, {0, 0, 0, 0}.x;
  4568. ENDIF;
  4569. SEQ.S R11.x, R17.w, {0, 0, 0, 0};
  4570. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  4571. SEQ.U R11.z, -R11.y, {1, 0, 0, 0}.x;
  4572. MOV.U.CC RC.x, -R11.z;
  4573. MOV.U R11.x, -R11;
  4574. MOV.U R11.y, -R11;
  4575. IF NE.x;
  4576. MOV.F R11.z, R5.w;
  4577. TRUNC.S R11.z, R11;
  4578. I2F.S R11.z, R11;
  4579. MOV.F R11.w, R18;
  4580. SGE.F32 R11.w, R11, R11.z;
  4581. MOV.S R23.z, R11;
  4582. TRUNC.U R11.z, R11.w;
  4583. SEQ.U R11.w, R11.y, {1, 0, 0, 0}.x;
  4584. SEQ.U R11.y, R11.z, {1, 0, 0, 0}.x;
  4585. AND.U R17.w, -R11.y, -R11;
  4586. ELSE;
  4587. MOV.U R17.w, {0, 0, 0, 0}.x;
  4588. ENDIF;
  4589. SEQ.U R11.y, R17.w, {1, 0, 0, 0}.x;
  4590. MOV.U.CC RC.x, -R11.y;
  4591. IF NE.x;
  4592. MOV.F R0.z, c[1].y;
  4593. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  4594. MOV.S R0.xy, {0, 0, 0, 0};
  4595. MOV.S R0.z, R0;
  4596. MOV.S R24.x, {0, 0, 0, 0};
  4597. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  4598. ENDIF;
  4599. SEQ.U R11.x, R11, {1, 0, 0, 0};
  4600. SEQ.U R11.z, -R11.x, {1, 0, 0, 0}.x;
  4601. MOV.U.CC RC.x, -R11.z;
  4602. MOV.U R11.y, -R11.x;
  4603. IF NE.x;
  4604. SEQ.S R11.x, R9.w, {0, 0, 0, 0};
  4605. SEQ.U R11.y, R11, {1, 0, 0, 0}.x;
  4606. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  4607. AND.U R17.w, -R11.x, -R11.y;
  4608. ELSE;
  4609. MOV.U R17.w, {0, 0, 0, 0}.x;
  4610. ENDIF;
  4611. SEQ.U R11.x, R17.w, {1, 0, 0, 0};
  4612. MOV.U.CC RC.x, -R11;
  4613. IF NE.x;
  4614. MOV.F R3.x, c[2];
  4615. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  4616. TRUNC.U.CC HC.x, R3;
  4617. IF NE.x;
  4618. MOV.F R3.x, {1, 0, 0, 0};
  4619. ELSE;
  4620. MOV.F R3.x, {0, 0, 0, 0};
  4621. ENDIF;
  4622. MOV.F R3.y, R21.x;
  4623. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  4624. MOV.S R11.y, R3;
  4625. MOV.F R3.y, c[2].x;
  4626. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  4627. TRUNC.U.CC HC.x, R3.y;
  4628. MOV.S R11.x, R3;
  4629. IF NE.x;
  4630. MOV.F R3.x, {1, 0, 0, 0};
  4631. ELSE;
  4632. MOV.F R3.x, {0, 0, 0, 0};
  4633. ENDIF;
  4634. MOV.F R3.y, R21.x;
  4635. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  4636. MOV.F R3.z, c[3].y;
  4637. MUL.F32 R3.y, R3, R3.z;
  4638. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  4639. TRUNC.U R3.w, R3;
  4640. TRUNC.U R3.z, R3;
  4641. AND.U.CC HC.x, R3.w, R3.z;
  4642. MOV.S R11.z, R3.x;
  4643. IF NE.x;
  4644. MOV.F R3.x, R3.y;
  4645. ELSE;
  4646. MOV.F R3.x, {0, 0, 0, 0};
  4647. ENDIF;
  4648. MOV.F R3.y, R11.z;
  4649. MOV.F R3.z, R11.x;
  4650. ADD.F32 R3.z, R3.y, -R3;
  4651. MOV.F R5.w, R18;
  4652. MOV.F R3.w, R23.z;
  4653. DIV.F32 R3.w, R5, R3.w;
  4654. MOV.S R11.x, R3.w;
  4655. MOV.S R3.w, R11.x;
  4656. MOV.F R11.z, R3.w;
  4657. MOV.F R3.w, R11.y;
  4658. ADD.F32 R3.y, -R3.z, {1, 0, 0, 0}.x;
  4659. MIN.F R9.w, R3, {0, 0, 0, 0}.x;
  4660. MOV.F R10.w, R20.x;
  4661. ADD.F32 R9.w, R10, R9;
  4662. MOV.S R13.x, R3.z;
  4663. SNE.F32 R3.z, -R3, {-1, 0, 0, 0}.x;
  4664. MOV.F R3.w, c[2].x;
  4665. RCP.F32 R3.w, R3.w;
  4666. MAD.F32 R3.x, R5.w, R3.w, R3;
  4667. MOV.S R11.y, R3.x;
  4668. SNE.F32 R3.x, R11.z, {0, 0, 0, 0};
  4669. MOV.S R20.x, R9.w;
  4670. TRUNC.U R9.w, R3.x;
  4671. TRUNC.U R3.z, R3;
  4672. AND.U.CC HC.x, R9.w, R3.z;
  4673. MOV.F R3.w, c[5].x;
  4674. MOV.F R3.x, c[4];
  4675. ADD.F32 R3.x, -R3, R3.w;
  4676. MOV.F R5.w, c[5].y;
  4677. MOV.F R3.w, c[4].y;
  4678. ADD.F32 R3.w, -R3, R5;
  4679. MUL.F32 R3.y, R11.z, R3;
  4680. MOV.S R18.z, R11.x;
  4681. MOV.S R13.z, R3.x;
  4682. MOV.S R12.z, R3.w;
  4683. IF NE.x;
  4684. MOV.F R3.x, R3.y;
  4685. ELSE;
  4686. MOV.F R3.x, {0, 0, 0, 0};
  4687. ENDIF;
  4688. MOV.F R3.y, R11;
  4689. FRC.F32 R3.z, R3.y;
  4690. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  4691. MOV.F R3.w, R13.x;
  4692. MUL.F32 R3.y, R3.w, R3.z;
  4693. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  4694. TRUNC.U R9.w, R3;
  4695. TRUNC.U R10.w, R5;
  4696. AND.U.CC HC.x, R9.w, R10.w;
  4697. MOV.F R3.w, c[5].z;
  4698. MOV.F R3.z, c[4];
  4699. ADD.F32 R3.z, -R3, R3.w;
  4700. MOV.S R13.y, R3.z;
  4701. MOV.F R3.w, c[5];
  4702. MOV.F R3.z, c[4].w;
  4703. ADD.F32 R3.z, -R3, R3.w;
  4704. MOV.F R5.w, c[6].x;
  4705. MOV.F R3.w, c[5].x;
  4706. ADD.F32 R3.w, -R3, R5;
  4707. MOV.S R16.z, R3;
  4708. MOV.S R15.x, R3.w;
  4709. MOV.S R12.x, R3;
  4710. IF NE.x;
  4711. MOV.F R3.x, R3.y;
  4712. ELSE;
  4713. MOV.F R3.x, {0, 0, 0, 0};
  4714. ENDIF;
  4715. MOV.F R3.z, R16;
  4716. MOV.F R3.y, R13.z;
  4717. DIV.F32 R5.w, R3.y, R3.z;
  4718. MOV.F R3.y, R12.z;
  4719. DIV.F32 R3.y, R3, R3.z;
  4720. MOV.F R3.w, R12.x;
  4721. MOV.S R3.x, R3;
  4722. ADD.F32 R3.w, R3, R3.x;
  4723. MOV.F R9.w, c[4];
  4724. ADD.F32 R10.w, R3, -R9;
  4725. MOV.S R12.x, R3.y;
  4726. MOV.F R3.y, R13;
  4727. DIV.F32 R3.y, R3, R3.z;
  4728. SNE.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  4729. MUL.F32 R3.x, R10.w, R3.y;
  4730. TRUNC.U R3.y, R3.z;
  4731. SNE.F32 R9.w, R3, R9;
  4732. MOV.S R13.x, R10.w;
  4733. TRUNC.U R10.w, R9;
  4734. AND.U.CC HC.x, R10.w, R3.y;
  4735. MOV.F R3.z, c[5].w;
  4736. MOV.S R13.z, R5.w;
  4737. ADD.F32 R5.w, R3, -R3.z;
  4738. MOV.S R15.y, R3.w;
  4739. MOV.S R13.y, R5.w;
  4740. MOV.F R9.w, c[6];
  4741. ADD.F32 R3.z, -R3, R9.w;
  4742. MOV.F R5.w, c[6].z;
  4743. MOV.F R3.w, c[5].z;
  4744. ADD.F32 R3.w, -R3, R5;
  4745. MOV.S R12.z, R3.w;
  4746. MOV.F R5.w, c[6].y;
  4747. MOV.F R3.w, c[5].y;
  4748. ADD.F32 R3.w, -R3, R5;
  4749. MOV.S R12.w, R3;
  4750. MOV.S R16.x, R3.z;
  4751. IF NE.x;
  4752. ELSE;
  4753. MOV.F R3.x, {0, 0, 0, 0};
  4754. ENDIF;
  4755. MOV.F R3.w, R12.x;
  4756. MOV.F R3.z, R13.x;
  4757. MUL.F32 R3.y, R3.z, R3.w;
  4758. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  4759. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  4760. TRUNC.U R3.z, R3;
  4761. TRUNC.U R3.w, R3;
  4762. AND.U.CC HC.x, R3.z, R3.w;
  4763. MOV.S R16.y, R3.x;
  4764. IF NE.x;
  4765. MOV.F R3.x, R3.y;
  4766. ELSE;
  4767. MOV.F R3.x, {0, 0, 0, 0};
  4768. ENDIF;
  4769. MOV.F R3.w, R13.z;
  4770. MOV.F R3.z, R13.x;
  4771. MUL.F32 R3.y, R3.z, R3.w;
  4772. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  4773. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  4774. TRUNC.U R3.z, R3;
  4775. TRUNC.U R3.w, R3;
  4776. AND.U.CC HC.x, R3.z, R3.w;
  4777. MOV.S R16.z, R3.x;
  4778. IF NE.x;
  4779. MOV.F R3.x, R3.y;
  4780. ELSE;
  4781. MOV.F R3.x, {0, 0, 0, 0};
  4782. ENDIF;
  4783. MOV.F R3.z, c[6].w;
  4784. MOV.F R3.y, R15;
  4785. ADD.F32 R3.y, R3, -R3.z;
  4786. MOV.S R13.z, R3.y;
  4787. MOV.F R3.y, c[4].x;
  4788. ADD.F32 R3.x, R3.y, R3;
  4789. MOV.F R3.z, R13.x;
  4790. SGE.F32 R3.y, R3.z, {0, 0, 0, 0}.x;
  4791. TRUNC.U.CC HC.x, R3.y;
  4792. MOV.S R14.x, R3;
  4793. IF NE.x;
  4794. MOV.S R3.z, {1065353216, 0, 0, 0}.x;
  4795. ELSE;
  4796. MOV.S R3.z, {0, 0, 0, 0}.x;
  4797. ENDIF;
  4798. MOV.F R3.w, R16.x;
  4799. MOV.F R3.x, R12.w;
  4800. DIV.F32 R3.x, R3, R3.w;
  4801. MOV.F R3.y, R16.z;
  4802. MOV.F R9.w, R16.y;
  4803. MOV.F R10.w, R13.y;
  4804. MOV.F R5.w, R12.z;
  4805. MOV.S R16.z, R3.x;
  4806. DIV.F32 R3.x, R5.w, R3.w;
  4807. MOV.F R5.w, R15.x;
  4808. DIV.F32 R3.w, R5, R3.w;
  4809. MOV.S R16.y, R3.x;
  4810. MUL.F32 R3.x, R10.w, R3.w;
  4811. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  4812. MOV.F R5.w, c[4].z;
  4813. ADD.F32 R5.w, R5, R9;
  4814. MOV.F R9.w, c[4].y;
  4815. ADD.F32 R3.y, R9.w, R3;
  4816. MOV.S R14.z, R5.w;
  4817. MOV.S R13.w, R3.y;
  4818. SNE.F32 R3.y, R10.w, {0, 0, 0, 0}.x;
  4819. TRUNC.U R10.w, R3.y;
  4820. TRUNC.U R3.w, R3;
  4821. AND.U.CC HC.x, R10.w, R3.w;
  4822. MOV.F R5.w, c[7].y;
  4823. MOV.F R3.y, c[6];
  4824. ADD.F32 R3.y, -R3, R5.w;
  4825. MOV.S R13.x, R3.y;
  4826. MOV.F R9.w, c[7].x;
  4827. MOV.F R5.w, c[6].x;
  4828. ADD.F32 R5.w, -R5, R9;
  4829. MOV.S R15.x, R5.w;
  4830. MOV.S R3.y, R3.z;
  4831. IF NE.x;
  4832. ELSE;
  4833. MOV.F R3.x, {0, 0, 0, 0};
  4834. ENDIF;
  4835. MOV.F R9.w, R16.y;
  4836. MOV.F R3.w, R13.y;
  4837. SNE.F32 R5.w, R3, {0, 0, 0, 0}.x;
  4838. SNE.F32 R11.x, R9.w, {0, 0, 0, 0};
  4839. MUL.F32 R3.w, R3, R9;
  4840. MOV.F R10.w, c[7].z;
  4841. MOV.F R9.w, c[6].z;
  4842. ADD.F32 R9.w, -R9, R10;
  4843. TRUNC.U R10.w, R11.x;
  4844. TRUNC.U R5.w, R5;
  4845. AND.U.CC HC.x, R5.w, R10.w;
  4846. MOV.S R12.y, R9.w;
  4847. MOV.S R11.x, R3;
  4848. IF NE.x;
  4849. MOV.F R3.x, R3.w;
  4850. ELSE;
  4851. MOV.F R3.x, {0, 0, 0, 0};
  4852. ENDIF;
  4853. MOV.F R9.w, R16.z;
  4854. MOV.F R5.w, R13.y;
  4855. MUL.F32 R3.w, R5, R9;
  4856. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4857. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  4858. TRUNC.U R5.w, R5;
  4859. TRUNC.U R9.w, R9;
  4860. AND.U.CC HC.x, R5.w, R9.w;
  4861. MOV.S R11.z, R3.x;
  4862. IF NE.x;
  4863. MOV.F R3.x, R3.w;
  4864. ELSE;
  4865. MOV.F R3.x, {0, 0, 0, 0};
  4866. ENDIF;
  4867. MOV.F R9.w, R13.y;
  4868. SGE.F32 R10.w, R9, {0, 0, 0, 0}.x;
  4869. MOV.F R9.w, c[5].y;
  4870. ADD.F32 R3.x, R9.w, R3;
  4871. TRUNC.U.CC HC.x, R10.w;
  4872. MOV.F R5.w, R11.x;
  4873. MOV.F R3.w, c[5].x;
  4874. ADD.F32 R3.w, R3, R5;
  4875. MOV.S R13.y, R3.w;
  4876. MOV.F R5.w, c[7];
  4877. MOV.F R3.w, c[6];
  4878. ADD.F32 R3.w, -R3, R5;
  4879. MOV.S R14.y, R3.w;
  4880. MOV.S R12.x, R3;
  4881. IF NE.x;
  4882. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  4883. ELSE;
  4884. MOV.S R5.w, {0, 0, 0, 0}.x;
  4885. ENDIF;
  4886. MOV.F R3.w, R11.z;
  4887. MOV.F R3.x, c[5].z;
  4888. ADD.F32 R3.x, R3, R3.w;
  4889. MOV.S R12.w, R3.x;
  4890. MOV.F R3.x, R14.y;
  4891. MOV.F R3.w, R15.x;
  4892. DIV.F32 R3.w, R3, R3.x;
  4893. MOV.S R11.x, R3.w;
  4894. MOV.F R3.w, R13.z;
  4895. RCP.F32 R3.x, R3.x;
  4896. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  4897. TRUNC.U.CC HC.x, R3.w;
  4898. MOV.S R11.y, R3.x;
  4899. IF NE.x;
  4900. MOV.S R3.x, {1065353216, 0, 0, 0};
  4901. ELSE;
  4902. MOV.S R3.x, {0, 0, 0, 0};
  4903. ENDIF;
  4904. MOV.F R10.w, R11.y;
  4905. MOV.F R3.w, R12.y;
  4906. MUL.F32 R11.y, R3.w, R10.w;
  4907. MOV.F R9.w, R13.x;
  4908. MUL.F32 R3.w, R9, R10;
  4909. MOV.F R10.w, R13.z;
  4910. MOV.S R11.z, R11.y;
  4911. MUL.F32 R9.w, R10, R3;
  4912. MOV.F R11.w, c[7];
  4913. MOV.F R11.y, R15;
  4914. ADD.F32 R11.y, R11, -R11.w;
  4915. MOV.S R14.y, R11;
  4916. SNE.F32 R11.y, R3.w, {0, 0, 0, 0}.x;
  4917. SNE.F32 R3.w, R10, {0, 0, 0, 0}.x;
  4918. TRUNC.U R10.w, R11.y;
  4919. TRUNC.U R3.w, R3;
  4920. AND.U.CC HC.x, R3.w, R10.w;
  4921. IF NE.x;
  4922. ELSE;
  4923. MOV.F R9.w, {0, 0, 0, 0}.x;
  4924. ENDIF;
  4925. MOV.F R10.w, R13.z;
  4926. MUL.F32 R3.w, R10, R11.x;
  4927. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  4928. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4929. TRUNC.U R10.w, R10;
  4930. TRUNC.U R11.x, R11;
  4931. AND.U.CC HC.x, R10.w, R11;
  4932. MOV.S R16.x, R9.w;
  4933. IF NE.x;
  4934. ELSE;
  4935. MOV.F R3.w, {0, 0, 0, 0}.x;
  4936. ENDIF;
  4937. MOV.F R9.w, R14.y;
  4938. SGE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  4939. TRUNC.U.CC HC.x, R9.w;
  4940. MOV.S R16.y, R3.w;
  4941. IF NE.x;
  4942. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  4943. ELSE;
  4944. MOV.S R3.w, {0, 0, 0, 0}.x;
  4945. ENDIF;
  4946. MOV.F R11.x, R11.z;
  4947. MOV.F R10.w, R13.z;
  4948. MUL.F32 R9.w, R10, R11.x;
  4949. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  4950. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  4951. TRUNC.U R11.x, R11;
  4952. TRUNC.U R10.w, R10;
  4953. AND.U.CC HC.x, R10.w, R11;
  4954. IF NE.x;
  4955. ELSE;
  4956. MOV.F R9.w, {0, 0, 0, 0}.x;
  4957. ENDIF;
  4958. MOV.F R11.x, R16;
  4959. MOV.F R10.w, c[6].y;
  4960. ADD.F32 R10.w, R10, R11.x;
  4961. MOV.S R15.y, R10.w;
  4962. MOV.F R10.w, c[6].x;
  4963. MOV.F R11.x, R16.y;
  4964. ADD.F32 R11.x, R10.w, R11;
  4965. MOV.F R10.w, c[6].z;
  4966. ADD.F32 R9.w, R10, R9;
  4967. MOV.S R13.x, R9.w;
  4968. MOV.F R10.w, R3.x;
  4969. MOV.F R9.w, R3;
  4970. MOV.S R12.z, R11.x;
  4971. ADD.F32 R11.x, -R9.w, {1, 0, 0, 0};
  4972. MOV.S R11.w, R11.x;
  4973. SNE.F32 R11.x, -R10.w, {-1, 0, 0, 0};
  4974. ADD.F32 R9.w, -R10, {1, 0, 0, 0}.x;
  4975. MOV.F R11.y, R5.w;
  4976. SNE.F32 R10.w, R11.y, {0, 0, 0, 0}.x;
  4977. TRUNC.U R11.x, R11;
  4978. TRUNC.U R10.w, R10;
  4979. AND.U.CC HC.x, R10.w, R11;
  4980. MUL.F32 R9.w, R11.y, R9;
  4981. IF NE.x;
  4982. MOV.F R10.w, R9;
  4983. ELSE;
  4984. MOV.F R10.w, {0, 0, 0, 0}.x;
  4985. ENDIF;
  4986. MOV.F R11.x, c[7];
  4987. MOV.F R11.y, R3.w;
  4988. MUL.F32 R9.w, R11.x, R11.y;
  4989. MOV.S R14.y, R10.w;
  4990. SNE.F32 R10.w, R11.x, {0, 0, 0, 0}.x;
  4991. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  4992. TRUNC.U R11.x, R11.y;
  4993. TRUNC.U R10.w, R10;
  4994. AND.U.CC HC.x, R10.w, R11;
  4995. IF NE.x;
  4996. MOV.F R11.x, R9.w;
  4997. ELSE;
  4998. MOV.F R11.x, {0, 0, 0, 0};
  4999. ENDIF;
  5000. MOV.F R11.y, R3.w;
  5001. MOV.F R10.w, c[7].y;
  5002. MUL.F32 R9.w, R10, R11.y;
  5003. MOV.S R18.x, R11;
  5004. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  5005. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  5006. TRUNC.U R11.x, R11;
  5007. TRUNC.U R10.w, R10;
  5008. AND.U.CC HC.x, R10.w, R11;
  5009. IF NE.x;
  5010. ELSE;
  5011. MOV.F R9.w, {0, 0, 0, 0}.x;
  5012. ENDIF;
  5013. MOV.F R10.w, R11;
  5014. MOV.F R11.x, R3;
  5015. MUL.F32 R3.x, R11, R10.w;
  5016. SNE.F32 R11.y, R10.w, {0, 0, 0, 0}.x;
  5017. TRUNC.U R10.w, R11.y;
  5018. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5019. MOV.S R18.y, R9.w;
  5020. TRUNC.U R9.w, R11.x;
  5021. AND.U.CC HC.x, R9.w, R10.w;
  5022. IF NE.x;
  5023. MOV.F R9.w, R3.x;
  5024. ELSE;
  5025. MOV.F R9.w, {0, 0, 0, 0}.x;
  5026. ENDIF;
  5027. MOV.F R10.w, R3;
  5028. MOV.F R3.w, c[7].z;
  5029. MUL.F32 R3.x, R3.w, R10.w;
  5030. MOV.S R16.z, R9.w;
  5031. SNE.F32 R9.w, R10, {0, 0, 0, 0}.x;
  5032. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5033. TRUNC.U R9.w, R9;
  5034. TRUNC.U R3.w, R3;
  5035. AND.U.CC HC.x, R3.w, R9.w;
  5036. IF NE.x;
  5037. MOV.F R3.w, R3.x;
  5038. ELSE;
  5039. MOV.F R3.w, {0, 0, 0, 0}.x;
  5040. ENDIF;
  5041. MOV.F R10.w, R14.y;
  5042. MOV.F R9.w, R13.y;
  5043. MUL.F32 R3.x, R9.w, R10.w;
  5044. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  5045. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  5046. TRUNC.U R9.w, R9;
  5047. TRUNC.U R10.w, R10;
  5048. AND.U.CC HC.x, R9.w, R10.w;
  5049. MOV.S R3.w, R3;
  5050. IF NE.x;
  5051. ELSE;
  5052. MOV.F R3.x, {0, 0, 0, 0};
  5053. ENDIF;
  5054. MOV.F R11.x, R16.z;
  5055. MOV.F R10.w, R15.y;
  5056. MUL.F32 R9.w, R10, R11.x;
  5057. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  5058. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5059. TRUNC.U R10.w, R10;
  5060. TRUNC.U R11.x, R11;
  5061. AND.U.CC HC.x, R10.w, R11;
  5062. MOV.S R15.x, R3;
  5063. IF NE.x;
  5064. MOV.F R3.x, R9.w;
  5065. ELSE;
  5066. MOV.F R3.x, {0, 0, 0, 0};
  5067. ENDIF;
  5068. MOV.F R11.x, R16.z;
  5069. MOV.F R10.w, R12.z;
  5070. MUL.F32 R9.w, R10, R11.x;
  5071. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  5072. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5073. TRUNC.U R10.w, R10;
  5074. TRUNC.U R11.x, R11;
  5075. AND.U.CC HC.x, R10.w, R11;
  5076. MOV.S R3.x, R3;
  5077. IF NE.x;
  5078. MOV.F R10.w, R9;
  5079. ELSE;
  5080. MOV.F R10.w, {0, 0, 0, 0}.x;
  5081. ENDIF;
  5082. MOV.F R11.y, R14;
  5083. MOV.F R11.x, R12;
  5084. MUL.F32 R9.w, R11.x, R11.y;
  5085. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5086. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5087. TRUNC.U R11.x, R11;
  5088. TRUNC.U R11.y, R11;
  5089. AND.U.CC HC.x, R11, R11.y;
  5090. MOV.S R15.y, R10.w;
  5091. IF NE.x;
  5092. ELSE;
  5093. MOV.F R9.w, {0, 0, 0, 0}.x;
  5094. ENDIF;
  5095. MOV.F R11.y, R16.z;
  5096. MOV.F R11.x, R13;
  5097. MUL.F32 R10.w, R11.x, R11.y;
  5098. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5099. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5100. TRUNC.U R11.x, R11;
  5101. TRUNC.U R11.y, R11;
  5102. AND.U.CC HC.x, R11, R11.y;
  5103. MOV.S R13.z, R9.w;
  5104. IF NE.x;
  5105. MOV.F R9.w, R10;
  5106. ELSE;
  5107. MOV.F R9.w, {0, 0, 0, 0}.x;
  5108. ENDIF;
  5109. MOV.F R11.y, R14;
  5110. MOV.F R11.x, R12.w;
  5111. MUL.F32 R10.w, R11.x, R11.y;
  5112. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5113. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5114. TRUNC.U R11.x, R11;
  5115. TRUNC.U R11.y, R11;
  5116. AND.U.CC HC.x, R11, R11.y;
  5117. MOV.S R14.w, R9;
  5118. IF NE.x;
  5119. MOV.F R9.w, R10;
  5120. ELSE;
  5121. MOV.F R9.w, {0, 0, 0, 0}.x;
  5122. ENDIF;
  5123. MOV.F R11, R6;
  5124. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  5125. MOV.F R6.xyz, R5;
  5126. MOV.F R6.w, {1, 0, 0, 0}.x;
  5127. DP4.F32 R6.x, R11, R6;
  5128. MOV.S R5.w, R5;
  5129. MOV.S R6.w, R6.x;
  5130. MOV.F R6.y, R21;
  5131. MOV.F R6.x, R21.z;
  5132. ADD.F32 R6.x, R6.y, R6;
  5133. MOV.S R15.w, R6.x;
  5134. MOV.F R6.x, R21;
  5135. ADD.F32 R6.x, R6.y, R6;
  5136. MOV.S R15.z, R6.x;
  5137. MOV.F R6.x, R3.z;
  5138. MOV.F R6.z, R5.w;
  5139. ADD.F32 R6.y, -R6.x, {1, 0, 0, 0}.x;
  5140. MUL.F32 R5.w, R6.x, R6.z;
  5141. MOV.S R12.x, R6.y;
  5142. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  5143. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5144. TRUNC.U R6.y, R6;
  5145. TRUNC.U R6.x, R6;
  5146. AND.U.CC HC.x, R6, R6.y;
  5147. MOV.S R3.z, R9.w;
  5148. IF NE.x;
  5149. ELSE;
  5150. MOV.F R5.w, {0, 0, 0, 0}.x;
  5151. ENDIF;
  5152. SNE.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  5153. MOV.F R6.y, R14.x;
  5154. MOV.F R16, R7;
  5155. MOV.F R11.w, {1, 0, 0, 0}.x;
  5156. MOV.F R11.xyz, R5;
  5157. DP4.F32 R6.x, R16, R11;
  5158. MOV.S R10.w, R6.x;
  5159. MUL.F32 R6.x, R5.w, R6.y;
  5160. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5161. TRUNC.U R6.y, R6;
  5162. TRUNC.U R6.z, R6;
  5163. AND.U.CC HC.x, R6.y, R6.z;
  5164. MOV.S R13.x, R5.w;
  5165. IF NE.x;
  5166. ELSE;
  5167. MOV.F R6.x, {0, 0, 0, 0};
  5168. ENDIF;
  5169. MOV.F R11, R8;
  5170. MOV.F R5.w, {1, 0, 0, 0}.x;
  5171. DP4.F32 R5.x, R11, R5;
  5172. MOV.F R5.z, R13.x;
  5173. MOV.F R5.y, R13.w;
  5174. MOV.S R9.w, R5.x;
  5175. MUL.F32 R5.x, R5.y, R5.z;
  5176. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5177. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5178. TRUNC.U R5.y, R5;
  5179. TRUNC.U R5.z, R5;
  5180. AND.U.CC HC.x, R5.y, R5.z;
  5181. MOV.S R12.w, R6.x;
  5182. IF NE.x;
  5183. ELSE;
  5184. MOV.F R5.x, {0, 0, 0, 0};
  5185. ENDIF;
  5186. MOV.F R5.y, R12.x;
  5187. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  5188. MOV.F R5.z, c[4];
  5189. MUL.F32 R5.y, R5.z, R5;
  5190. TRUNC.U R5.w, R5;
  5191. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5192. MOV.S R12.z, R5.x;
  5193. TRUNC.U R5.x, R5.z;
  5194. AND.U.CC HC.x, R5, R5.w;
  5195. IF NE.x;
  5196. MOV.F R5.x, R5.y;
  5197. ELSE;
  5198. MOV.F R5.x, {0, 0, 0, 0};
  5199. ENDIF;
  5200. MOV.F R5.w, R13.x;
  5201. MOV.F R5.z, R14;
  5202. MUL.F32 R5.y, R5.z, R5.w;
  5203. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5204. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5205. TRUNC.U R5.z, R5;
  5206. TRUNC.U R5.w, R5;
  5207. AND.U.CC HC.x, R5.z, R5.w;
  5208. MOV.S R16.x, R5;
  5209. IF NE.x;
  5210. MOV.F R5.x, R5.y;
  5211. ELSE;
  5212. MOV.F R5.x, {0, 0, 0, 0};
  5213. ENDIF;
  5214. MOV.F R5.y, R12.x;
  5215. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  5216. MOV.F R5.z, c[4].y;
  5217. MUL.F32 R5.y, R5.z, R5;
  5218. TRUNC.U R5.w, R5;
  5219. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5220. MOV.S R16.y, R5.x;
  5221. TRUNC.U R5.x, R5.z;
  5222. AND.U.CC HC.x, R5, R5.w;
  5223. IF NE.x;
  5224. MOV.F R5.x, R5.y;
  5225. ELSE;
  5226. MOV.F R5.x, {0, 0, 0, 0};
  5227. ENDIF;
  5228. MOV.F R5.y, R12.x;
  5229. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  5230. MOV.F R5.z, c[4].x;
  5231. MUL.F32 R5.y, R5.z, R5;
  5232. TRUNC.U R5.w, R5;
  5233. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5234. MOV.S R16.z, R5.x;
  5235. TRUNC.U R5.x, R5.z;
  5236. AND.U.CC HC.x, R5, R5.w;
  5237. IF NE.x;
  5238. MOV.F R5.x, R5.y;
  5239. ELSE;
  5240. MOV.F R5.x, {0, 0, 0, 0};
  5241. ENDIF;
  5242. MOV.F R5.z, R16;
  5243. MOV.F R5.y, R12.z;
  5244. ADD.F32 R5.y, R5, R5.z;
  5245. MOV.F R5.z, R13;
  5246. ADD.F32 R5.y, R5.z, R5;
  5247. ADD.F32 R5.y, R3.x, R5;
  5248. MOV.F R3.x, R12.w;
  5249. ADD.F32 R3.x, R3, R5;
  5250. MOV.S R8.y, R5;
  5251. MOV.F R5.x, R15;
  5252. ADD.F32 R5.x, R5, R3;
  5253. MOV.F R3.x, R3.z;
  5254. MOV.F R3.z, R15.y;
  5255. ADD.F32 R3.z, R3, R5.x;
  5256. MOV.F R5.y, R16.x;
  5257. MOV.F R5.x, R16.y;
  5258. ADD.F32 R5.x, R5, R5.y;
  5259. ADD.F32 R3.x, R3, R5;
  5260. MOV.F R5.y, R15.z;
  5261. MAD.F32 R5.x, R5.y, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  5262. MOV.F R5.y, R14.w;
  5263. ADD.F32 R3.x, R5.y, R3;
  5264. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  5265. MOV.S R8.w, R5.x;
  5266. MOV.F R5.x, R15.w;
  5267. MAD.F32 R5.x, R5, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  5268. MOV.S R5.z, R5.x;
  5269. MOV.F R5.y, R21.z;
  5270. MOV.F R5.x, R21;
  5271. ADD.F32 R5.x, R5, R5.y;
  5272. MOV.S R5.y, R5.z;
  5273. MAD.F32 R5.z, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  5274. MOV.F R5.x, R5.y;
  5275. MUL.F32 R5.y, R5.z, {2, 0, 0, 0}.x;
  5276. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  5277. MOV.S R3.z, R3;
  5278. MOV.S R3.x, R3;
  5279. MOV.S R5.y, R5;
  5280. MOV.S R5.w, R5.x;
  5281. ENDIF;
  5282. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  5283. MOV.U.CC RC.x, -R5;
  5284. IF NE.x;
  5285. MOV.F R5.x, R18.y;
  5286. MOV.F R5.z, R8.y;
  5287. ADD.F32 R5.z, R5.x, R5;
  5288. MOV.F R5.x, R3;
  5289. MOV.F R3.x, R3.w;
  5290. ADD.F32 R3.x, R3, R5;
  5291. MOV.S R11.z, R5;
  5292. MOV.S R11.y, R3.x;
  5293. MOV.F R3.x, R18;
  5294. SNE.F32 R5.x, R3, -R3.z;
  5295. ADD.F32 R3.x, R3, R3.z;
  5296. MOV.F R5.z, R20.x;
  5297. TRUNC.U R6.x, R5;
  5298. MOV.F R3.z, R21.x;
  5299. ADD.F32 R3.z, R3, {-0.5, 0, 0, 0}.x;
  5300. MOV.F R5.x, R21.y;
  5301. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  5302. MOV.S R13.x, R3.z;
  5303. MOV.S R14.w, R5.x;
  5304. SNE.F32 R3.z, R5, {0, 0, 0, 0}.x;
  5305. TRUNC.U R3.z, R3;
  5306. AND.U.CC HC.x, R3.z, R6;
  5307. MUL.F32 R3.x, R5.z, R3;
  5308. MOV.S R5.x, R20.y;
  5309. IF NE.x;
  5310. ELSE;
  5311. MOV.F R3.x, {0, 0, 0, 0};
  5312. ENDIF;
  5313. MOV.F R5.z, R11.y;
  5314. MOV.F R6.x, R20.z;
  5315. MUL.F32 R3.z, R6.x, R5;
  5316. SNE.F32 R6.y, R5.z, {0, 0, 0, 0}.x;
  5317. MOV.F R5.z, R21;
  5318. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  5319. TRUNC.U R6.y, R6;
  5320. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5321. MOV.S R20.y, R5.z;
  5322. TRUNC.U R5.z, R6.x;
  5323. AND.U.CC HC.x, R5.z, R6.y;
  5324. MOV.S R16.x, R3;
  5325. IF NE.x;
  5326. MOV.F R3.x, R3.z;
  5327. ELSE;
  5328. MOV.F R3.x, {0, 0, 0, 0};
  5329. ENDIF;
  5330. MOV.F R3.z, R11;
  5331. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  5332. MUL.F32 R3.z, R5.x, R3;
  5333. TRUNC.U R5.z, R5;
  5334. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5335. MOV.S R16.z, R3.x;
  5336. TRUNC.U R3.x, R5;
  5337. AND.U.CC HC.x, R3, R5.z;
  5338. IF NE.x;
  5339. MOV.F R3.x, R3.z;
  5340. ELSE;
  5341. MOV.F R3.x, {0, 0, 0, 0};
  5342. ENDIF;
  5343. MOV.F R5.z, c[8].x;
  5344. MOV.F R5.x, R8.w;
  5345. MUL.F32 R3.z, R5.x, R5;
  5346. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5347. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5348. TRUNC.U R5.x, R5;
  5349. TRUNC.U R5.z, R5;
  5350. AND.U.CC HC.x, R5, R5.z;
  5351. MOV.S R16.w, R3.x;
  5352. IF NE.x;
  5353. MOV.F R3.x, R3.z;
  5354. ELSE;
  5355. MOV.F R3.x, {0, 0, 0, 0};
  5356. ENDIF;
  5357. MOV.F R5.z, c[9];
  5358. MOV.F R5.x, R16.w;
  5359. MUL.F32 R3.z, R5.x, R5;
  5360. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5361. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5362. TRUNC.U R5.x, R5;
  5363. TRUNC.U R5.z, R5;
  5364. AND.U.CC HC.x, R5, R5.z;
  5365. MOV.S R15.y, R3.x;
  5366. IF NE.x;
  5367. MOV.F R3.x, R3.z;
  5368. ELSE;
  5369. MOV.F R3.x, {0, 0, 0, 0};
  5370. ENDIF;
  5371. MOV.F R5.z, c[9].y;
  5372. MOV.F R5.x, R16;
  5373. MUL.F32 R3.z, R5.x, R5;
  5374. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5375. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5376. TRUNC.U R5.x, R5;
  5377. TRUNC.U R5.z, R5;
  5378. AND.U.CC HC.x, R5, R5.z;
  5379. MOV.S R18.x, R3;
  5380. IF NE.x;
  5381. MOV.F R3.x, R3.z;
  5382. ELSE;
  5383. MOV.F R3.x, {0, 0, 0, 0};
  5384. ENDIF;
  5385. MOV.F R5.z, c[9].w;
  5386. MOV.F R5.x, R16.z;
  5387. MUL.F32 R3.z, R5.x, R5;
  5388. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5389. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5390. TRUNC.U R5.x, R5;
  5391. TRUNC.U R5.z, R5;
  5392. AND.U.CC HC.x, R5, R5.z;
  5393. MOV.S R18.y, R3.x;
  5394. IF NE.x;
  5395. MOV.F R3.x, R3.z;
  5396. ELSE;
  5397. MOV.F R3.x, {0, 0, 0, 0};
  5398. ENDIF;
  5399. MOV.F R3.z, R21.y;
  5400. MUL.F32 R3.z, R3, {2, 0, 0, 0}.x;
  5401. MOV.F R5.x, R21.z;
  5402. MOV.S R11.w, R3.z;
  5403. MUL.F32 R3.z, R5.x, {2, 0, 0, 0}.x;
  5404. MOV.F R5.x, R19.z;
  5405. MOV.S R14.y, R3.z;
  5406. MUL.F32 R3.z, R5.x, R3.x;
  5407. SNE.F32 R5.z, R3.x, {0, 0, 0, 0}.x;
  5408. SNE.F32 R3.x, R5, {0, 0, 0, 0};
  5409. TRUNC.U R5.x, R5.z;
  5410. TRUNC.U R3.x, R3;
  5411. AND.U.CC HC.x, R3, R5;
  5412. IF NE.x;
  5413. MOV.F R3.x, R3.z;
  5414. ELSE;
  5415. MOV.F R3.x, {0, 0, 0, 0};
  5416. ENDIF;
  5417. MOV.F R5.x, c[10];
  5418. MOV.F R3.z, R15.y;
  5419. ADD.F32 R3.z, R3, R5.x;
  5420. MOV.F R5.x, R11.w;
  5421. MOV.S R8.y, R3.z;
  5422. FLR.F R3.z, R5.x;
  5423. MOV.F R5.z, c[8].y;
  5424. MOV.F R5.x, R5.w;
  5425. MOV.S R16.z, R3;
  5426. MUL.F32 R3.z, R5.x, R5;
  5427. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5428. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5429. TRUNC.U R5.x, R5;
  5430. TRUNC.U R5.z, R5;
  5431. AND.U.CC HC.x, R5, R5.z;
  5432. MOV.S R8.x, R3;
  5433. IF NE.x;
  5434. MOV.F R3.x, R3.z;
  5435. ELSE;
  5436. MOV.F R3.x, {0, 0, 0, 0};
  5437. ENDIF;
  5438. MOV.F R5.x, R16.z;
  5439. MOV.F R3.z, R14.y;
  5440. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5441. FLR.F R3.z, R3;
  5442. TRUNC.U.CC HC.x, R5;
  5443. MOV.S R16.w, R3.x;
  5444. MOV.S R13.z, R3;
  5445. IF NE.x;
  5446. MOV.F R3.x, {1, 0, 0, 0};
  5447. ELSE;
  5448. MOV.F R3.x, {0, 0, 0, 0};
  5449. ENDIF;
  5450. MOV.F R3.z, R5.y;
  5451. SNE.F32 R5.y, R3.z, {0, 0, 0, 0}.x;
  5452. MOV.F R5.x, c[8].z;
  5453. MUL.F32 R3.z, R3, R5.x;
  5454. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5455. TRUNC.U R5.y, R5;
  5456. TRUNC.U R5.x, R5;
  5457. AND.U.CC HC.x, R5.y, R5;
  5458. MOV.S R11.x, R3;
  5459. IF NE.x;
  5460. MOV.F R3.x, R3.z;
  5461. ELSE;
  5462. MOV.F R3.x, {0, 0, 0, 0};
  5463. ENDIF;
  5464. MOV.F R5.x, R16.w;
  5465. MOV.F R3.z, c[10].y;
  5466. ADD.F32 R3.z, R3, R5.x;
  5467. MOV.F R5.x, R16.z;
  5468. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  5469. TRUNC.U.CC HC.x, R5;
  5470. MOV.S R3.z, R3;
  5471. MOV.S R11.y, R3.x;
  5472. IF NE.x;
  5473. MOV.F R3.x, {1, 0, 0, 0};
  5474. ELSE;
  5475. MOV.F R3.x, {0, 0, 0, 0};
  5476. ENDIF;
  5477. MOV.F R5.x, R13.z;
  5478. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5479. TRUNC.U.CC HC.x, R5;
  5480. MOV.S R11.w, R3.x;
  5481. IF NE.x;
  5482. MOV.F R3.x, {1, 0, 0, 0};
  5483. ELSE;
  5484. MOV.F R3.x, {0, 0, 0, 0};
  5485. ENDIF;
  5486. MOV.F R5.y, R11.w;
  5487. MOV.F R5.x, R11;
  5488. ADD.F32 R5.x, R5, -R5.y;
  5489. MOV.S R20.x, R5;
  5490. MOV.F R5.y, R11;
  5491. MOV.F R5.x, c[10].z;
  5492. ADD.F32 R5.x, R5, R5.y;
  5493. MOV.F R5.z, R13;
  5494. MOV.S R5.y, R5.x;
  5495. SGT.F32 R5.x, {0, 0, 0, 0}, R5.z;
  5496. TRUNC.U.CC HC.x, R5;
  5497. MOV.S R15.y, R3.x;
  5498. IF NE.x;
  5499. MOV.F R3.x, {1, 0, 0, 0};
  5500. ELSE;
  5501. MOV.F R3.x, {0, 0, 0, 0};
  5502. ENDIF;
  5503. MOV.F R5.z, R21.x;
  5504. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  5505. MOV.F R6.x, c[11];
  5506. MOV.F R5.w, R13.x;
  5507. MUL.F32 R5.x, R5.w, R6;
  5508. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5509. MOV.S R16.w, R5.z;
  5510. SNE.F32 R5.z, R6.x, {0, 0, 0, 0}.x;
  5511. TRUNC.U R5.w, R5;
  5512. TRUNC.U R5.z, R5;
  5513. AND.U.CC HC.x, R5.w, R5.z;
  5514. MOV.S R16.z, R3.x;
  5515. IF NE.x;
  5516. MOV.F R3.x, R5;
  5517. ELSE;
  5518. MOV.F R3.x, {0, 0, 0, 0};
  5519. ENDIF;
  5520. MOV.F R5.w, c[11].y;
  5521. MOV.F R5.z, R14.w;
  5522. MUL.F32 R5.x, R5.z, R5.w;
  5523. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5524. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5525. TRUNC.U R5.z, R5;
  5526. TRUNC.U R5.w, R5;
  5527. AND.U.CC HC.x, R5.z, R5.w;
  5528. MOV.S R8.z, R3.x;
  5529. IF NE.x;
  5530. MOV.F R3.x, R5;
  5531. ELSE;
  5532. MOV.F R3.x, {0, 0, 0, 0};
  5533. ENDIF;
  5534. MOV.F R5.x, R16.w;
  5535. FLR.F R5.x, R5;
  5536. MOV.S R5.x, R5;
  5537. MOV.F R5.w, R16.z;
  5538. MOV.F R5.z, R15.y;
  5539. ADD.F32 R5.z, R5, -R5.w;
  5540. MOV.S R5.w, R5.z;
  5541. MOV.S R5.z, R5.x;
  5542. MOV.S R11.y, R5.x;
  5543. MOV.F R5.x, R5.z;
  5544. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5545. TRUNC.U.CC HC.x, R5;
  5546. MOV.S R3.x, R3;
  5547. IF NE.x;
  5548. MOV.F R5.x, {1, 0, 0, 0};
  5549. ELSE;
  5550. MOV.F R5.x, {0, 0, 0, 0};
  5551. ENDIF;
  5552. MOV.F R5.z, R11.y;
  5553. SGT.F32 R5.z, {0, 0, 0, 0}.x, R5;
  5554. TRUNC.U.CC HC.x, R5.z;
  5555. MOV.S R16.x, R5;
  5556. IF NE.x;
  5557. MOV.F R5.x, {1, 0, 0, 0};
  5558. ELSE;
  5559. MOV.F R5.x, {0, 0, 0, 0};
  5560. ENDIF;
  5561. MOV.F R5.z, R16.x;
  5562. ADD.F32 R5.x, R5.z, -R5;
  5563. MOV.S R20.z, R5.x;
  5564. ENDIF;
  5565. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  5566. MOV.U.CC RC.x, -R5;
  5567. IF NE.x;
  5568. AND.S R3.w, c[12].x, {65536, 0, 0, 0}.x;
  5569. I2F.S R3.w, R3;
  5570. SGT.F32 R5.x, {0, 0, 0, 0}, R3.w;
  5571. TRUNC.U.CC HC.x, R5;
  5572. AND.S R15.y, c[12].x, {262144, 0, 0, 0}.x;
  5573. AND.S R13.z, c[12].x, {131072, 0, 0, 0}.x;
  5574. MOV.S R11.y, R3.w;
  5575. IF NE.x;
  5576. MOV.F R3.w, {1, 0, 0, 0}.x;
  5577. ELSE;
  5578. MOV.F R3.w, {0, 0, 0, 0}.x;
  5579. ENDIF;
  5580. MOV.F R5.x, R11.y;
  5581. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5582. TRUNC.U.CC HC.x, R5;
  5583. MOV.S R11.x, R3.w;
  5584. IF NE.x;
  5585. MOV.F R3.w, {1, 0, 0, 0}.x;
  5586. ELSE;
  5587. MOV.F R3.w, {0, 0, 0, 0}.x;
  5588. ENDIF;
  5589. MOV.F R5.x, R20.y;
  5590. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  5591. MOV.F R5.z, c[11];
  5592. MUL.F32 R5.x, R5, R5.z;
  5593. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5594. TRUNC.U R6.x, R6;
  5595. TRUNC.U R5.z, R5;
  5596. AND.U.CC HC.x, R6, R5.z;
  5597. MOV.S R11.y, R3.w;
  5598. IF NE.x;
  5599. MOV.F R3.w, R5.x;
  5600. ELSE;
  5601. MOV.F R3.w, {0, 0, 0, 0}.x;
  5602. ENDIF;
  5603. I2F.S R5.x, R13.z;
  5604. MOV.S R14.y, R5.x;
  5605. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5606. TRUNC.U.CC HC.x, R5;
  5607. MOV.S R12.z, R3.w;
  5608. IF NE.x;
  5609. MOV.F R3.w, {1, 0, 0, 0}.x;
  5610. ELSE;
  5611. MOV.F R3.w, {0, 0, 0, 0}.x;
  5612. ENDIF;
  5613. MOV.F R5.x, R14.y;
  5614. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  5615. TRUNC.U.CC HC.x, R5;
  5616. MOV.S R16.x, R3.w;
  5617. IF NE.x;
  5618. MOV.F R3.w, {1, 0, 0, 0}.x;
  5619. ELSE;
  5620. MOV.F R3.w, {0, 0, 0, 0}.x;
  5621. ENDIF;
  5622. MOV.F R5.x, R11.y;
  5623. MOV.F R5.z, R11.x;
  5624. ADD.F32 R5.x, R5, -R5.z;
  5625. MOV.S R16.w, R5.x;
  5626. I2F.S R5.x, R15.y;
  5627. MOV.S R11.y, R5.x;
  5628. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  5629. TRUNC.U.CC HC.x, R5;
  5630. MOV.S R16.y, R3.w;
  5631. IF NE.x;
  5632. MOV.F R3.w, {1, 0, 0, 0}.x;
  5633. ELSE;
  5634. MOV.F R3.w, {0, 0, 0, 0}.x;
  5635. ENDIF;
  5636. MOV.F R5.z, R16.y;
  5637. MOV.F R5.x, R16;
  5638. ADD.F32 R5.x, R5, -R5.z;
  5639. MOV.S R11.z, R5.x;
  5640. MOV.F R5.x, R11.y;
  5641. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  5642. TRUNC.U.CC HC.x, R5;
  5643. MOV.S R11.x, R3.w;
  5644. IF NE.x;
  5645. MOV.F R3.w, {1, 0, 0, 0}.x;
  5646. ELSE;
  5647. MOV.F R3.w, {0, 0, 0, 0}.x;
  5648. ENDIF;
  5649. MOV.F R6.x, R11;
  5650. ADD.F32 R3.w, R3, -R6.x;
  5651. MOV.F R5.x, R11.z;
  5652. TRUNC.S R5.x, R5;
  5653. MOV.F R5.z, R16.w;
  5654. TRUNC.S R5.z, R5;
  5655. ADD.S R6.y, -R5.z, {0, 0, 0, 0}.x;
  5656. MAX.S R11.x, R5.z, R6.y;
  5657. MOV.F R5.z, c[10].w;
  5658. MOV.S R16.y, R3.w;
  5659. SEQ.F R3.w, R5.z, {1, 0, 0, 0}.x;
  5660. TRUNC.U.CC HC.x, R3.w;
  5661. ADD.S R11.y, -R5.x, {0, 0, 0, 0}.x;
  5662. MOV.S R15.y, R5.x;
  5663. IF NE.x;
  5664. MOV.S R3.w, {-1, 0, 0, 0}.x;
  5665. ELSE;
  5666. MOV.S R3.w, {0, 0, 0, 0}.x;
  5667. ENDIF;
  5668. MOV.F R5.x, R16.y;
  5669. TRUNC.S R13.x, R5;
  5670. I2F.S R5.x, R11;
  5671. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  5672. MOV.F R6.x, R20;
  5673. MUL.F32 R5.x, -R5.z, R6;
  5674. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5675. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  5676. TRUNC.U R6.x, R6;
  5677. TRUNC.U R5.z, R5;
  5678. AND.U.CC HC.x, R5.z, R6;
  5679. MAX.S R16.w, R15.y, R11.y;
  5680. ADD.S R16.x, -R13, {0, 0, 0, 0};
  5681. IF NE.x;
  5682. ELSE;
  5683. MOV.F R5.x, {0, 0, 0, 0};
  5684. ENDIF;
  5685. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  5686. I2F.S R5.z, R16.w;
  5687. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  5688. SNE.F32 R6.x, -R5.z, {0, 0, 0, 0};
  5689. MUL.F32 R5.z, -R5, R5.w;
  5690. MOV.F R5.w, c[10];
  5691. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  5692. TRUNC.U R6.x, R6;
  5693. TRUNC.U R6.y, R6;
  5694. AND.U.CC HC.x, R6, R6.y;
  5695. MAX.S R11.z, R13.x, R16.x;
  5696. MOV.S R11.y, R5.x;
  5697. MOV.S R14.w, R5;
  5698. IF NE.x;
  5699. MOV.F R5.x, R5.z;
  5700. ELSE;
  5701. MOV.F R5.x, {0, 0, 0, 0};
  5702. ENDIF;
  5703. MOV.F R6.x, R11.y;
  5704. MOV.F R5.w, R8.y;
  5705. MUL.F32 R5.z, R5.w, R6.x;
  5706. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5707. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5708. TRUNC.U R5.w, R5;
  5709. TRUNC.U R6.x, R6;
  5710. AND.U.CC HC.x, R5.w, R6;
  5711. MOV.S R16.x, R5;
  5712. IF NE.x;
  5713. MOV.F R5.x, R5.z;
  5714. ELSE;
  5715. MOV.F R5.x, {0, 0, 0, 0};
  5716. ENDIF;
  5717. MOV.F R6.x, R11.y;
  5718. MOV.F R5.w, R22.x;
  5719. MUL.F32 R5.z, R5.w, R6.x;
  5720. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5721. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5722. TRUNC.U R6.x, R6;
  5723. TRUNC.U R5.w, R5;
  5724. AND.U.CC HC.x, R5.w, R6;
  5725. MOV.S R16.y, R5.x;
  5726. IF NE.x;
  5727. MOV.F R5.x, R5.z;
  5728. ELSE;
  5729. MOV.F R5.x, {0, 0, 0, 0};
  5730. ENDIF;
  5731. I2F.S R5.z, R11;
  5732. MUL.F32 R5.w, R5.z, {2, 0, 0, 0}.x;
  5733. MOV.F R6.x, R20.z;
  5734. MUL.F32 R5.z, -R5.w, R6.x;
  5735. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  5736. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5737. TRUNC.U R5.w, R5;
  5738. TRUNC.U R6.x, R6;
  5739. AND.U.CC HC.x, R5.w, R6;
  5740. MOV.S R16.z, R5.x;
  5741. IF NE.x;
  5742. MOV.F R5.x, R5.z;
  5743. ELSE;
  5744. MOV.F R5.x, {0, 0, 0, 0};
  5745. ENDIF;
  5746. MOV.F R6.x, R3.z;
  5747. MOV.F R5.z, R22.x;
  5748. MOV.F R5.w, R16.z;
  5749. ADD.F32 R5.w, R5.z, R5;
  5750. MOV.F R6.y, R16.x;
  5751. MOV.S R11.y, R5.w;
  5752. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  5753. MUL.F32 R5.z, R6.x, R6.y;
  5754. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  5755. TRUNC.U R5.w, R5;
  5756. TRUNC.U R6.x, R6;
  5757. AND.U.CC HC.x, R5.w, R6;
  5758. MOV.S R11.x, R5;
  5759. IF NE.x;
  5760. MOV.F R5.x, R5.z;
  5761. ELSE;
  5762. MOV.F R5.x, {0, 0, 0, 0};
  5763. ENDIF;
  5764. MOV.F R5.w, R16.y;
  5765. MOV.F R5.z, R8.y;
  5766. ADD.F32 R5.z, R5, R5.w;
  5767. MOV.F R6.x, R16;
  5768. MOV.F R5.w, R22.y;
  5769. MOV.S R12.w, R5.z;
  5770. MUL.F32 R5.z, R5.w, R6.x;
  5771. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5772. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5773. TRUNC.U R6.x, R6;
  5774. TRUNC.U R5.w, R5;
  5775. AND.U.CC HC.x, R5.w, R6;
  5776. MOV.S R11.z, R5.x;
  5777. IF NE.x;
  5778. MOV.F R5.x, R5.z;
  5779. ELSE;
  5780. MOV.F R5.x, {0, 0, 0, 0};
  5781. ENDIF;
  5782. MOV.F R5.w, R8.z;
  5783. MOV.F R5.z, R11.y;
  5784. ADD.F32 R5.z, R5, R5.w;
  5785. MOV.F R5.w, R11.z;
  5786. ADD.F32 R3.z, R3, R5.w;
  5787. MOV.S R14.y, R5.z;
  5788. MOV.F R5.w, R11.x;
  5789. MOV.F R5.z, R5.y;
  5790. MOV.S R15.z, R3;
  5791. MUL.F32 R3.z, R5, R5.w;
  5792. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5793. TRUNC.U R6.x, R5.z;
  5794. MOV.F R5.z, R22.y;
  5795. ADD.F32 R5.x, R5.z, R5;
  5796. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5797. TRUNC.U R5.z, R5.w;
  5798. AND.U.CC HC.x, R6, R5.z;
  5799. MOV.S R16.x, R5;
  5800. IF NE.x;
  5801. ELSE;
  5802. MOV.F R3.z, {0, 0, 0, 0}.x;
  5803. ENDIF;
  5804. MOV.F R5.w, R11.x;
  5805. MOV.F R5.z, R22;
  5806. MUL.F32 R5.x, R5.z, R5.w;
  5807. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5808. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5809. TRUNC.U R5.w, R5;
  5810. TRUNC.U R5.z, R5;
  5811. AND.U.CC HC.x, R5.z, R5.w;
  5812. MOV.S R16.w, R3.z;
  5813. IF NE.x;
  5814. MOV.F R3.z, R5.x;
  5815. ELSE;
  5816. MOV.F R3.z, {0, 0, 0, 0}.x;
  5817. ENDIF;
  5818. MOV.F R5.z, R3.x;
  5819. MOV.F R5.x, R16;
  5820. ADD.F32 R5.x, R5, R5.z;
  5821. MOV.F R5.z, R16.w;
  5822. ADD.F32 R5.y, R5, R5.z;
  5823. MOV.S R13.x, R5;
  5824. MOV.S R15.y, R5;
  5825. MOV.F R5.y, R22.z;
  5826. ADD.F32 R3.z, R5.y, R3;
  5827. MOV.F R5.x, c[10].w;
  5828. LG2.F32 R5.x, R5.x;
  5829. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  5830. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  5831. SEQ.F R5.z, R5.x, R5;
  5832. TRUNC.U R5.w, R5;
  5833. TRUNC.U R5.z, R5;
  5834. AND.U R5.z, R5, R5.w;
  5835. SEQ.U R5.y, R5.z, {1, 0, 0, 0}.x;
  5836. MOV.U.CC RC.x, -R5.y;
  5837. MOV.S R11.w, R3.z;
  5838. IF NE.x;
  5839. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  5840. ENDIF;
  5841. MOV.F R5.z, c[13].x;
  5842. MUL.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  5843. MOV.F R5.y, R12.z;
  5844. MOV.F R3.z, R11.w;
  5845. ADD.F32 R3.z, R3, R5.y;
  5846. MOV.F R5.y, c[13];
  5847. MUL.F32 R5.y, R5, {0.5, 0, 0, 0}.x;
  5848. MOV.S R16.x, R5.y;
  5849. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  5850. MOV.F R5.w, R18;
  5851. MOV.S R13.y, R3.z;
  5852. MUL.F32 R3.z, R5.w, R5.x;
  5853. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  5854. TRUNC.U R5.y, R5;
  5855. TRUNC.U R5.x, R5;
  5856. AND.U.CC HC.x, R5, R5.y;
  5857. MOV.S R16.z, R5;
  5858. IF NE.x;
  5859. ELSE;
  5860. MOV.F R3.z, {0, 0, 0, 0}.x;
  5861. ENDIF;
  5862. MOV.F R5.x, R14.w;
  5863. RCP.F32 R5.x, R5.x;
  5864. MOV.S R12.z, R5.x;
  5865. EX2.F32 R3.z, R3.z;
  5866. MOV.F R6.x, R16;
  5867. MOV.F R5.w, R19.y;
  5868. ADD.F32 R5.y, R5.w, R6.x;
  5869. MOV.F R6.y, R18.x;
  5870. SNE.F32 R5.w, R5, -R6.x;
  5871. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  5872. MOV.F R5.z, R16;
  5873. MOV.F R5.x, R19;
  5874. ADD.F32 R5.x, R5, R5.z;
  5875. MOV.S R11.x, R5;
  5876. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  5877. TRUNC.U R5.z, R5;
  5878. TRUNC.U R5.w, R5;
  5879. AND.U.CC HC.x, R5.z, R5.w;
  5880. MUL.F32 R5.y, R6, R5;
  5881. MOV.S R5.x, R18.y;
  5882. MOV.S R16.x, R3.z;
  5883. IF NE.x;
  5884. MOV.F R3.z, R5.y;
  5885. ELSE;
  5886. MOV.F R3.z, {0, 0, 0, 0}.x;
  5887. ENDIF;
  5888. MOV.F R5.z, R11.x;
  5889. MOV.F R5.y, R5.x;
  5890. MUL.F32 R5.x, R5.y, R5.z;
  5891. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  5892. TRUNC.U R5.z, R5.w;
  5893. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5894. MOV.S R18.y, R3.z;
  5895. TRUNC.U R3.z, R5.y;
  5896. AND.U.CC HC.x, R3.z, R5.z;
  5897. IF NE.x;
  5898. MOV.F R3.z, R5.x;
  5899. ELSE;
  5900. MOV.F R3.z, {0, 0, 0, 0}.x;
  5901. ENDIF;
  5902. MOV.S R22.z, R3;
  5903. SEQ.S R3.z, R3.w, {0, 0, 0, 0}.x;
  5904. MOV.U.CC RC.x, -R3.z;
  5905. MOV.F R5.y, R12.z;
  5906. MOV.F R5.x, R16;
  5907. MUL.F32 R5.x, R5, R5.y;
  5908. MOV.S R11.y, R5.x;
  5909. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  5910. IF NE.x;
  5911. MOV.S R3.z, R11.y;
  5912. ELSE;
  5913. MOV.S R3.z, R18.w;
  5914. ENDIF;
  5915. MOV.F R5.z, R3;
  5916. MOV.F R5.y, R15;
  5917. MUL.F32 R5.x, R5.y, R5.z;
  5918. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5919. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5920. TRUNC.U R5.z, R5;
  5921. TRUNC.U R5.y, R5;
  5922. AND.U.CC HC.x, R5.y, R5.z;
  5923. IF NE.x;
  5924. ELSE;
  5925. MOV.F R5.x, {0, 0, 0, 0};
  5926. ENDIF;
  5927. MOV.F R5.w, R3.z;
  5928. MOV.F R5.z, R15;
  5929. MUL.F32 R5.y, R5.z, R5.w;
  5930. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5931. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  5932. TRUNC.U R5.z, R5;
  5933. TRUNC.U R5.w, R5;
  5934. AND.U.CC HC.x, R5.z, R5.w;
  5935. MOV.S R11.y, R5.x;
  5936. IF NE.x;
  5937. MOV.F R5.x, R5.y;
  5938. ELSE;
  5939. MOV.F R5.x, {0, 0, 0, 0};
  5940. ENDIF;
  5941. MOV.F R5.z, R3;
  5942. MOV.F R5.y, R12.w;
  5943. MUL.F32 R3.z, R5.y, R5;
  5944. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  5945. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5946. TRUNC.U R5.y, R5;
  5947. TRUNC.U R5.z, R5;
  5948. AND.U.CC HC.x, R5.y, R5.z;
  5949. MOV.S R11.z, R5.x;
  5950. IF NE.x;
  5951. ELSE;
  5952. MOV.F R3.z, {0, 0, 0, 0}.x;
  5953. ENDIF;
  5954. MOV.F R5.y, R11;
  5955. MOV.F R5.x, R13.y;
  5956. ADD.F32 R5.x, R5, R5.y;
  5957. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  5958. FRC.F32 R5.x, R5;
  5959. MAD.F32 R5.x, R5, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  5960. MUL.F32 R5.x, R5, {0.159154937, 0, 0, 0};
  5961. MOV.S R13.y, R5.x;
  5962. MOV.F R5.x, R14.y;
  5963. ADD.F32 R3.z, R5.x, R3;
  5964. MAD.F32 R3.z, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5965. FRC.F32 R3.z, R3;
  5966. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5967. MOV.F R5.z, R11;
  5968. MOV.F R5.y, R13.x;
  5969. ADD.F32 R5.y, R5, R5.z;
  5970. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  5971. FRC.F32 R5.y, R5;
  5972. MAD.F32 R5.y, R5, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  5973. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  5974. SIN.F32 R5.y, R5.y;
  5975. MOV.S R5.x, R5.y;
  5976. MUL.F32 R5.y, R3.z, {0.159154937, 0, 0, 0}.x;
  5977. MOV.S R13.x, R5.z;
  5978. MOV.S R5.y, R5;
  5979. MUL.F32 R5.y, R5, {6.28318548, 0, 0, 0}.x;
  5980. SIN.F32 R5.y, R5.y;
  5981. MOV.F R5.z, R5.x;
  5982. MOV.S R12.w, R5.x;
  5983. COS.F32 R5.x, R3.z;
  5984. MUL.F32 R3.z, R5.x, R5;
  5985. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  5986. MOV.S R15.x, R5;
  5987. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  5988. TRUNC.U R5.z, R5;
  5989. TRUNC.U R5.x, R5;
  5990. AND.U.CC HC.x, R5, R5.z;
  5991. MOV.S R15.y, R5;
  5992. MOV.S R8.z, {1065353216, 0, 0, 0}.x;
  5993. IF NE.x;
  5994. ELSE;
  5995. MOV.F R3.z, {0, 0, 0, 0}.x;
  5996. ENDIF;
  5997. MOV.F R5.z, R12.w;
  5998. MOV.F R5.y, R15;
  5999. MUL.F32 R5.x, R5.y, R5.z;
  6000. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6001. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6002. TRUNC.U R5.y, R5;
  6003. TRUNC.U R5.z, R5;
  6004. AND.U.CC HC.x, R5.y, R5.z;
  6005. MOV.S R13.z, R3;
  6006. IF NE.x;
  6007. MOV.F R3.z, R5.x;
  6008. ELSE;
  6009. MOV.F R3.z, {0, 0, 0, 0}.x;
  6010. ENDIF;
  6011. MOV.F R5.x, R13;
  6012. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  6013. COS.F32 R5.y, R5.x;
  6014. MOV.F R5.z, R15.x;
  6015. MUL.F32 R5.x, R5.y, R5.z;
  6016. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6017. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  6018. MOV.S R15.z, R5.y;
  6019. TRUNC.U R5.y, R5.z;
  6020. TRUNC.U R5.z, R5.w;
  6021. AND.U.CC HC.x, R5.y, R5.z;
  6022. MOV.S R14.w, R3.z;
  6023. IF NE.x;
  6024. MOV.F R3.z, R5.x;
  6025. ELSE;
  6026. MOV.F R3.z, {0, 0, 0, 0}.x;
  6027. ENDIF;
  6028. MOV.F R5.z, R15;
  6029. MOV.F R5.y, R15;
  6030. MUL.F32 R5.x, R5.y, R5.z;
  6031. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6032. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6033. TRUNC.U R5.y, R5;
  6034. TRUNC.U R5.z, R5;
  6035. AND.U.CC HC.x, R5.y, R5.z;
  6036. MOV.S R12.x, R3.z;
  6037. IF NE.x;
  6038. MOV.F R3.z, R5.x;
  6039. ELSE;
  6040. MOV.F R3.z, {0, 0, 0, 0}.x;
  6041. ENDIF;
  6042. MOV.F R5.x, R13.y;
  6043. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  6044. SIN.F32 R5.z, R5.x;
  6045. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  6046. MOV.S R12.y, R5.z;
  6047. MUL.F32 R5.y, R3.z, R5.z;
  6048. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6049. TRUNC.U R5.z, R5;
  6050. TRUNC.U R5.w, R5;
  6051. AND.U.CC HC.x, R5.z, R5.w;
  6052. MOV.S R5.x, R13.y;
  6053. MOV.S R14.y, R3.z;
  6054. IF NE.x;
  6055. MOV.F R3.z, R5.y;
  6056. ELSE;
  6057. MOV.F R3.z, {0, 0, 0, 0}.x;
  6058. ENDIF;
  6059. MOV.F R5.z, R12.y;
  6060. MOV.F R5.w, -R5.z;
  6061. MOV.F R6.x, R12;
  6062. MUL.F32 R5.y, R5.z, R6.x;
  6063. MOV.S R13.y, R5.w;
  6064. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6065. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  6066. TRUNC.U R5.z, R5;
  6067. TRUNC.U R5.w, R5;
  6068. AND.U.CC HC.x, R5.z, R5.w;
  6069. MOV.S R16.x, R3.z;
  6070. IF NE.x;
  6071. MOV.F R3.z, R5.y;
  6072. ELSE;
  6073. MOV.F R3.z, {0, 0, 0, 0}.x;
  6074. ENDIF;
  6075. MOV.F R5.w, R13.z;
  6076. MOV.F R5.z, R12.y;
  6077. MUL.F32 R5.y, R5.z, R5.w;
  6078. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6079. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  6080. TRUNC.U R5.z, R5;
  6081. TRUNC.U R5.w, R5;
  6082. AND.U.CC HC.x, R5.z, R5.w;
  6083. MOV.S R16.z, R3;
  6084. IF NE.x;
  6085. ELSE;
  6086. MOV.F R5.y, {0, 0, 0, 0}.x;
  6087. ENDIF;
  6088. MOV.F R5.z, R5.x;
  6089. MOV.F R3.z, R13;
  6090. MOV.F R5.w, R16.x;
  6091. ADD.F32 R6.x, -R3.z, R5.w;
  6092. MOV.F R5.w, R16.z;
  6093. MOV.F R3.z, R14.w;
  6094. ADD.F32 R3.z, R3, R5.w;
  6095. MOV.F R5.w, R14.y;
  6096. ADD.F32 R5.y, -R5.w, R5;
  6097. MOV.S R5.x, R15;
  6098. MOV.S R15.x, R3.z;
  6099. MOV.S R11.y, R5;
  6100. MUL.F32 R5.y, R5.z, {6.28318548, 0, 0, 0}.x;
  6101. COS.F32 R5.z, R5.y;
  6102. MOV.F R5.w, R15.z;
  6103. MOV.S R3.z, R6.x;
  6104. MUL.F32 R5.y, R5.z, R5.w;
  6105. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  6106. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  6107. TRUNC.U R5.w, R5;
  6108. TRUNC.U R6.x, R6;
  6109. AND.U.CC HC.x, R5.w, R6;
  6110. MOV.S R13.x, R5.z;
  6111. IF NE.x;
  6112. ELSE;
  6113. MOV.F R5.y, {0, 0, 0, 0}.x;
  6114. ENDIF;
  6115. MOV.F R5.w, R13.x;
  6116. MOV.F R5.z, R5.x;
  6117. SNE.F32 R6.x, R5.w, {0, 0, 0, 0};
  6118. MUL.F32 R5.x, R5.z, R5.w;
  6119. TRUNC.U R6.x, R6;
  6120. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6121. MOV.S R5.w, R5.y;
  6122. TRUNC.U R5.y, R5.z;
  6123. AND.U.CC HC.x, R5.y, R6;
  6124. IF NE.x;
  6125. ELSE;
  6126. MOV.F R5.x, {0, 0, 0, 0};
  6127. ENDIF;
  6128. MOV.F R6.x, R13;
  6129. MOV.F R5.z, R15.y;
  6130. MUL.F32 R5.y, R5.z, R6.x;
  6131. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6132. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6133. TRUNC.U R5.z, R5;
  6134. TRUNC.U R6.x, R6;
  6135. AND.U.CC HC.x, R5.z, R6;
  6136. MOV.S R14.y, R5.x;
  6137. IF NE.x;
  6138. MOV.F R5.x, R5.y;
  6139. ELSE;
  6140. MOV.F R5.x, {0, 0, 0, 0};
  6141. ENDIF;
  6142. MOV.F R6.x, R14.w;
  6143. MOV.F R5.z, R12.y;
  6144. MUL.F32 R5.y, R5.z, R6.x;
  6145. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6146. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6147. TRUNC.U R5.z, R5;
  6148. TRUNC.U R6.x, R6;
  6149. AND.U.CC HC.x, R5.z, R6;
  6150. MOV.S R18.x, R5;
  6151. IF NE.x;
  6152. MOV.F R5.x, R5.y;
  6153. ELSE;
  6154. MOV.F R5.x, {0, 0, 0, 0};
  6155. ENDIF;
  6156. MOV.F R6.x, R8;
  6157. MOV.F R5.z, R11.y;
  6158. MUL.F32 R5.y, R5.z, R6.x;
  6159. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6160. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6161. TRUNC.U R5.z, R5;
  6162. TRUNC.U R6.x, R6;
  6163. AND.U.CC HC.x, R5.z, R6;
  6164. MOV.S R16.y, R5.x;
  6165. IF NE.x;
  6166. MOV.F R5.x, R5.y;
  6167. ELSE;
  6168. MOV.F R5.x, {0, 0, 0, 0};
  6169. ENDIF;
  6170. MOV.F R6.x, R13;
  6171. MOV.F R5.z, R12.w;
  6172. MUL.F32 R5.y, R5.z, R6.x;
  6173. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6174. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6175. TRUNC.U R5.z, R5;
  6176. TRUNC.U R6.x, R6;
  6177. AND.U.CC HC.x, R5.z, R6;
  6178. MOV.S R16.z, R5.x;
  6179. IF NE.x;
  6180. MOV.F R5.x, R5.y;
  6181. ELSE;
  6182. MOV.F R5.x, {0, 0, 0, 0};
  6183. ENDIF;
  6184. MOV.F R6.x, R14.y;
  6185. MOV.F R5.z, R18.y;
  6186. MUL.F32 R5.y, R5.z, R6.x;
  6187. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6188. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6189. TRUNC.U R5.z, R5;
  6190. TRUNC.U R6.x, R6;
  6191. AND.U.CC HC.x, R5.z, R6;
  6192. MOV.S R16.w, R5.x;
  6193. IF NE.x;
  6194. MOV.F R5.x, R5.y;
  6195. ELSE;
  6196. MOV.F R5.x, {0, 0, 0, 0};
  6197. ENDIF;
  6198. MOV.F R5.y, R16.z;
  6199. ADD.F32 R5.y, R5.x, R5;
  6200. MOV.F R6.x, R8;
  6201. MOV.F R5.z, R16.w;
  6202. MUL.F32 R5.x, R5.z, R6;
  6203. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6204. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  6205. TRUNC.U R6.x, R6;
  6206. TRUNC.U R5.z, R5;
  6207. AND.U.CC HC.x, R5.z, R6;
  6208. MOV.S R5.y, R5;
  6209. IF NE.x;
  6210. ELSE;
  6211. MOV.F R5.x, {0, 0, 0, 0};
  6212. ENDIF;
  6213. MOV.F R6.y, R16;
  6214. MOV.F R6.x, R12;
  6215. ADD.F32 R5.z, R6.x, R6.y;
  6216. SNE.F32 R6.x, R6, -R6.y;
  6217. MOV.F R6.z, R8.x;
  6218. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  6219. TRUNC.U R6.x, R6;
  6220. TRUNC.U R6.y, R6;
  6221. AND.U.CC HC.x, R6, R6.y;
  6222. MUL.F32 R5.z, R5, R6;
  6223. MOV.S R11.z, R5.x;
  6224. IF NE.x;
  6225. MOV.F R5.x, R5.z;
  6226. ELSE;
  6227. MOV.F R5.x, {0, 0, 0, 0};
  6228. ENDIF;
  6229. MOV.F R6.y, R15.x;
  6230. MOV.F R6.x, R22.z;
  6231. MUL.F32 R5.z, R6.x, R6.y;
  6232. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6233. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6234. TRUNC.U R6.y, R6;
  6235. TRUNC.U R6.x, R6;
  6236. AND.U.CC HC.x, R6, R6.y;
  6237. MOV.S R8.x, R5;
  6238. IF NE.x;
  6239. MOV.F R5.x, R5.z;
  6240. ELSE;
  6241. MOV.F R5.x, {0, 0, 0, 0};
  6242. ENDIF;
  6243. ADD.F32 R5.y, R5.x, R5;
  6244. MOV.F R5.z, R18.y;
  6245. MOV.F R6.x, R13.y;
  6246. MUL.F32 R5.x, R5.z, R6;
  6247. MOV.S R19.y, R5;
  6248. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  6249. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6250. TRUNC.U R5.z, R6.x;
  6251. TRUNC.U R5.y, R5;
  6252. AND.U.CC HC.x, R5.y, R5.z;
  6253. IF NE.x;
  6254. ELSE;
  6255. MOV.F R5.x, {0, 0, 0, 0};
  6256. ENDIF;
  6257. MOV.F R5.y, R11.z;
  6258. ADD.F32 R5.x, R5, R5.y;
  6259. MOV.S R19.z, R5.x;
  6260. MOV.F R5.x, R21;
  6261. SGT.F32 R5.x, R5, {0.5, 0, 0, 0};
  6262. TRUNC.U.CC HC.x, R5;
  6263. AND.S R8.w, c[12].x, {524288, 0, 0, 0}.x;
  6264. IF NE.x;
  6265. MOV.S R5.x, {-1, 0, 0, 0};
  6266. ELSE;
  6267. MOV.S R5.x, {0, 0, 0, 0};
  6268. ENDIF;
  6269. MOV.S R7.w, R5.x;
  6270. ENDIF;
  6271. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  6272. MOV.U.CC RC.x, -R5;
  6273. IF NE.x;
  6274. MOV.F R2.z, R5.w;
  6275. MOV.F R2.y, R22.z;
  6276. MUL.F32 R2.x, R2.y, R2.z;
  6277. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6278. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6279. TRUNC.U R2.z, R2;
  6280. TRUNC.U R2.y, R2;
  6281. AND.U.CC HC.x, R2.y, R2.z;
  6282. IF NE.x;
  6283. ELSE;
  6284. MOV.F R2.x, {0, 0, 0, 0};
  6285. ENDIF;
  6286. MOV.F R2.y, R18;
  6287. SNE.F32 R2.z, R2.y, {0, 0, 0, 0}.x;
  6288. MOV.F R2.w, R18.x;
  6289. TRUNC.U R3.x, R2.z;
  6290. MOV.F R2.z, R19;
  6291. ADD.F32 R2.x, R2, R2.z;
  6292. MUL.F32 R2.y, R2, R2.w;
  6293. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6294. TRUNC.U R2.z, R2.w;
  6295. AND.U.CC HC.x, R3, R2.z;
  6296. MOV.S R12.x, R2;
  6297. IF NE.x;
  6298. MOV.F R2.x, R2.y;
  6299. ELSE;
  6300. MOV.F R2.x, {0, 0, 0, 0};
  6301. ENDIF;
  6302. MOV.F R2.y, R8.x;
  6303. ADD.F32 R2.x, R2, R2.y;
  6304. MOV.F R2.z, c[15].x;
  6305. MOV.F R2.y, c[14].x;
  6306. MOV.S R5.w, R2.x;
  6307. MUL.F32 R2.x, R2.y, R2.z;
  6308. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6309. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6310. TRUNC.U R2.z, R2;
  6311. TRUNC.U R2.y, R2;
  6312. AND.U.CC HC.x, R2.y, R2.z;
  6313. IF NE.x;
  6314. ELSE;
  6315. MOV.F R2.x, {0, 0, 0, 0};
  6316. ENDIF;
  6317. MOV.F R2.z, c[14].y;
  6318. MOV.F R2.w, c[15].y;
  6319. MUL.F32 R2.y, R2.z, R2.w;
  6320. MOV.S R3.x, R2;
  6321. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  6322. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6323. TRUNC.U R2.z, R2.w;
  6324. TRUNC.U R2.x, R2;
  6325. AND.U.CC HC.x, R2, R2.z;
  6326. IF NE.x;
  6327. MOV.F R2.x, R2.y;
  6328. ELSE;
  6329. MOV.F R2.x, {0, 0, 0, 0};
  6330. ENDIF;
  6331. MOV.F R2.w, R3.z;
  6332. MOV.F R2.z, R22;
  6333. MUL.F32 R2.y, R2.z, R2.w;
  6334. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  6335. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6336. TRUNC.U R2.w, R2;
  6337. TRUNC.U R2.z, R2;
  6338. AND.U.CC HC.x, R2.z, R2.w;
  6339. MOV.S R3.y, R2.x;
  6340. IF NE.x;
  6341. MOV.F R2.x, R2.y;
  6342. ELSE;
  6343. MOV.F R2.x, {0, 0, 0, 0};
  6344. ENDIF;
  6345. MOV.F R2.y, R5.w;
  6346. ADD.F32 R2.x, R2, R2.y;
  6347. SEQ.S R2.y, R8.w, {524288, 0, 0, 0}.x;
  6348. MOV.U.CC RC.x, -R2.y;
  6349. MOV.S R13.z, R2.x;
  6350. IF NE.x;
  6351. MOV.S R6.x, {-1, 0, 0, 0};
  6352. ELSE;
  6353. MOV.S R6.x, {0, 0, 0, 0};
  6354. ENDIF;
  6355. MOV.F R2.xyz, R9;
  6356. MOV.F R2.w, R6;
  6357. MOV.F R5.x, R12;
  6358. MOV.F R5.z, R13;
  6359. MOV.F R5.w, R3;
  6360. MOV.F R5.y, R19;
  6361. DP4.F32 R2.x, R2, R5;
  6362. MOV.F R2.z, c[15];
  6363. MOV.F R2.y, c[14].z;
  6364. MOV.S R9.x, R2;
  6365. MUL.F32 R2.x, R2.y, R2.z;
  6366. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6367. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6368. TRUNC.U R2.z, R2;
  6369. TRUNC.U R2.y, R2;
  6370. AND.U.CC HC.x, R2.y, R2.z;
  6371. IF NE.x;
  6372. MOV.F R3.z, R2.x;
  6373. ELSE;
  6374. MOV.F R3.z, {0, 0, 0, 0}.x;
  6375. ENDIF;
  6376. MOV.F R5, R10;
  6377. MOV.F R2.z, R13;
  6378. MOV.F R2.y, R19;
  6379. MOV.F R2.x, R12;
  6380. MOV.F R2.w, R3;
  6381. DP4.F32 R2.x, R5, R2;
  6382. MOV.F R2.z, c[15].w;
  6383. MOV.F R2.y, c[16].x;
  6384. MOV.S R10.y, R2.x;
  6385. MUL.F32 R2.x, R2.y, R2.z;
  6386. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6387. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6388. TRUNC.U R2.z, R2;
  6389. TRUNC.U R2.y, R2;
  6390. AND.U.CC HC.x, R2.y, R2.z;
  6391. MOV.S R3.z, R3;
  6392. IF NE.x;
  6393. MOV.F R6.y, R2.x;
  6394. ELSE;
  6395. MOV.F R6.y, {0, 0, 0, 0}.x;
  6396. ENDIF;
  6397. MOV.F R2.xyz, R17;
  6398. MOV.F R2.w, R9;
  6399. MOV.F R5.x, R12;
  6400. MOV.F R5.z, R13;
  6401. MOV.F R5.w, R3;
  6402. MOV.F R5.y, R19;
  6403. DP4.F32 R2.x, R2, R5;
  6404. MOV.F R2.z, c[17].x;
  6405. MOV.F R2.y, R3.x;
  6406. MOV.S R17.z, R2.x;
  6407. MUL.F32 R2.x, R2.y, R2.z;
  6408. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  6409. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  6410. TRUNC.U R2.y, R2;
  6411. TRUNC.U R2.z, R2;
  6412. AND.U.CC HC.x, R2.y, R2.z;
  6413. MOV.S R2.w, R6.y;
  6414. IF NE.x;
  6415. ELSE;
  6416. MOV.F R2.x, {0, 0, 0, 0};
  6417. ENDIF;
  6418. MOV.F R2.z, R3.y;
  6419. MOV.F R3.x, c[17];
  6420. SNE.F32 R5.x, R2.z, {0, 0, 0, 0};
  6421. MUL.F32 R2.y, R2.z, R3.x;
  6422. MOV.F R2.z, R23.x;
  6423. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  6424. SNE.F32 R5.y, R3.x, {0, 0, 0, 0}.x;
  6425. MOV.S R3.x, R2.z;
  6426. TRUNC.U R5.x, R5;
  6427. TRUNC.U R2.z, R5.y;
  6428. AND.U.CC HC.x, R5, R2.z;
  6429. MOV.S R2.x, R2;
  6430. IF NE.x;
  6431. ELSE;
  6432. MOV.F R2.y, {0, 0, 0, 0}.x;
  6433. ENDIF;
  6434. MOV.F R5.y, c[17].x;
  6435. MOV.F R5.x, R3.z;
  6436. MUL.F32 R2.z, R5.x, R5.y;
  6437. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  6438. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  6439. TRUNC.U R5.x, R5;
  6440. TRUNC.U R5.y, R5;
  6441. AND.U.CC HC.x, R5, R5.y;
  6442. MOV.S R2.y, R2;
  6443. IF NE.x;
  6444. ELSE;
  6445. MOV.F R2.z, {0, 0, 0, 0}.x;
  6446. ENDIF;
  6447. SEQ.S R5.x, R7.w, {0, 0, 0, 0};
  6448. MOV.U.CC RC.x, -R5;
  6449. MOV.S R2.z, R2;
  6450. IF NE.x;
  6451. MOV.S R5.x, R23.y;
  6452. ELSE;
  6453. MOV.S R5.x, R23.y;
  6454. ENDIF;
  6455. MOV.F R5.y, c[18].z;
  6456. RCP.F32 R5.y, R5.y;
  6457. SEQ.S R5.z, R7.w, {0, 0, 0, 0}.x;
  6458. MOV.U.CC RC.x, -R5.z;
  6459. MOV.S R17.x, R5.y;
  6460. IF NE.x;
  6461. MOV.S R5.y, R23.x;
  6462. ELSE;
  6463. MOV.S R5.y, R3.x;
  6464. ENDIF;
  6465. MOV.F R5.z, R21.y;
  6466. SGT.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  6467. TRUNC.U.CC HC.x, R5.z;
  6468. IF NE.x;
  6469. MOV.S R5.z, {-1, 0, 0, 0}.x;
  6470. ELSE;
  6471. MOV.S R5.z, {0, 0, 0, 0}.x;
  6472. ENDIF;
  6473. SEQ.S R5.w, R6.x, {0, 0, 0, 0}.x;
  6474. MOV.U.CC RC.x, -R5.w;
  6475. IF NE.x;
  6476. MOV.S R5.x, R23.y;
  6477. ELSE;
  6478. ENDIF;
  6479. MOV.F R5.w, c[18];
  6480. RCP.F32 R5.w, R5.w;
  6481. SEQ.S R6.x, R6, {0, 0, 0, 0};
  6482. MOV.U.CC RC.x, -R6;
  6483. MOV.S R7.w, R5.x;
  6484. MOV.S R10.z, R5.w;
  6485. IF NE.x;
  6486. MOV.S R5.y, R23.x;
  6487. ELSE;
  6488. ENDIF;
  6489. MOV.F R5.w, R5.x;
  6490. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  6491. SEQ.S R6.x, R5.z, {0, 0, 0, 0};
  6492. MOV.U.CC RC.x, -R6;
  6493. MOV.S R23.y, R5;
  6494. MOV.S R16.w, R5;
  6495. IF NE.x;
  6496. ELSE;
  6497. ENDIF;
  6498. SEQ.S R5.z, R5, {0, 0, 0, 0}.x;
  6499. MOV.U.CC RC.x, -R5.z;
  6500. MOV.S R21.x, R5.y;
  6501. IF NE.x;
  6502. ELSE;
  6503. MOV.S R5.x, R16.w;
  6504. ENDIF;
  6505. MOV.S R21.z, R5.x;
  6506. MOV.S R23.x, c[9];
  6507. ENDIF;
  6508. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  6509. MOV.U.CC RC.x, -R5;
  6510. IF NE.x;
  6511. MOV.F R1.w, R8.z;
  6512. MOV.F R1.x, R9;
  6513. MOV.F R1.y, R10;
  6514. MOV.F R1.z, R17;
  6515. MOV.F R0, c[22];
  6516. DP4.F32 R5.x, R1, R0;
  6517. MOV.F R0, c[23];
  6518. DP4.F32 R3.w, R1, R0;
  6519. MOV.F R6, c[24];
  6520. DP4.F32 R0.y, R1, R6;
  6521. MOV.F R0.x, c[13].z;
  6522. ADD.F32 R0.x, R0, R0.y;
  6523. MOV.S R7.y, R0.x;
  6524. MOV.F R0, c[25];
  6525. DP4.F32 R7.x, R1, R0;
  6526. MOV.F R0, c[21];
  6527. DP4.F32 R0.z, R0, R1;
  6528. MOV.S R0.w, R0.z;
  6529. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  6530. MOV.F R8, c[20];
  6531. DP4.F32 R0.y, R8, R1;
  6532. MOV.S R14.w, R0.z;
  6533. AND.S R0.z, c[12].x, {1048576, 0, 0, 0}.x;
  6534. SEQ.S R0.z, R0, {1048576, 0, 0, 0}.x;
  6535. MOV.U.CC RC.x, -R0.z;
  6536. MOV.F R5.y, R3.w;
  6537. MOV.S R14.y, R3.w;
  6538. MOV.F R6, c[26];
  6539. MOV.S R5.z, R7.y;
  6540. MOV.F R5.w, R7.x;
  6541. DP4.F32 R5.y, R5, R6;
  6542. MOV.F R6, c[19];
  6543. DP4.F32 R0.x, R1, R6;
  6544. MOV.S R15.z, R5.y;
  6545. MOV.S R0.y, R0;
  6546. MOV.S R0.x, R0;
  6547. MOV.S R15.x, R5;
  6548. MOV.S R12.w, R7.x;
  6549. MOV.S R13.z, R7.y;
  6550. MOV.S R3.w, R18.z;
  6551. MOV.S R24.x, R23;
  6552. IF NE.x;
  6553. MOV.S R0.z, {-1, 0, 0, 0}.x;
  6554. ELSE;
  6555. MOV.S R0.z, {0, 0, 0, 0}.x;
  6556. ENDIF;
  6557. SEQ.S R1.x, R0.z, {0, 0, 0, 0};
  6558. MOV.U.CC RC.x, -R1;
  6559. IF N
  6560. [17:50:25] Compile error in shader 3793ef813291202f. Log:
  6561. [17:50:25] 0(211) : error C1008: undefined variable "textureUnitPS18"
  6562.  
  6563. [17:50:29] Link error in shader f5d76d8d8fbfa76f. Log:
  6564. [17:50:29] Vertex info
  6565. -----------
  6566. Internal error: assembly compile error for vertex shader at offset 2344:
  6567. -- error message --
  6568. line 49, column 45: error: invalid vertex attribute reference
  6569. line 74, column 25: error: invalid vertex attribute reference
  6570. line 75, column 25: error: invalid vertex attribute reference
  6571. line 77, column 25: error: invalid vertex attribute reference
  6572. line 81, column 25: error: invalid vertex attribute reference
  6573. -- internal assembly text --
  6574. !!NVvp5.0
  6575. OPTION NV_internal;
  6576. OPTION NV_gpu_program_fp64;
  6577. OPTION NV_bindless_texture;
  6578. # cgc version 3.4.0001, build date Jun 24 2018
  6579. # command line args:
  6580. #vendor NVIDIA Corporation
  6581. #version 3.4.0.1 COP Build Date Jun 24 2018
  6582. #profile gp5vp
  6583. #program main
  6584. #semantic textureUnitVS13 : TEXUNIT[0]
  6585. #semantic uf_alphaTestRef
  6586. #semantic uf_remappedVS
  6587. #semantic uf_windowSpaceToClipSpaceTransform
  6588. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  6589. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  6590. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  6591. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  6592. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  6593. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  6594. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  6595. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  6596. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  6597. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  6598. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 0
  6599. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 0
  6600. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 0
  6601. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  6602. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  6603. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  6604. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  6605. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  6606. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  6607. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  6608. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  6609. #var float4 passParameterSem11 : $vout.ATTR6 : ATTR6 : -1 : 1
  6610. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  6611. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  6612. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  6613. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  6614. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  6615. #var ulong textureUnitVS13 : TEXUNIT[0] : c[51] : -1 : 1
  6616. #var float uf_alphaTestRef : : : -1 : 0
  6617. #var int4 uf_remappedVS[0] : : c[0], 51 : -1 : 1
  6618. #var float2 uf_windowSpaceToClipSpaceTransform : : : -1 : 0
  6619. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  6620. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  6621. PARAM c[52] = { program.local[0..51] };
  6622. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  6623. OUTPUT result_attrib[] = { result.attrib[0..7] };
  6624. 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;
  6625. LONG TEMP D0;
  6626. TEMP T;
  6627. TEMP RC;
  6628. SHORT TEMP HC;
  6629. SHR.U R1, vertex.attrib[11], {8, 0, 0, 0}.x;
  6630. SHL.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  6631. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6632. SHR.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  6633. OR.U R2, R2, R1;
  6634. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  6635. OR.U R1, R2, R1;
  6636. SHL.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  6637. OR.U R4, R1, R0;
  6638. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  6639. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  6640. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6641. SHR.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  6642. OR.U R2, R2, R1;
  6643. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  6644. OR.U R1, R2, R1;
  6645. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  6646. OR.U R21, R1, R0;
  6647. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  6648. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  6649. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6650. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  6651. OR.U R2, R2, R1;
  6652. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  6653. OR.U R1, R2, R1;
  6654. SHL.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  6655. OR.U R5, R1, R0;
  6656. MOV.U R0.y, R21.w;
  6657. MOV.F R0.x, c[0];
  6658. ADD.F32 R3.x, -R0.y, R0;
  6659. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  6660. MOV.S R13.w, R3.x;
  6661. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  6662. TRUNC.U R18.w, R3.x;
  6663. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  6664. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  6665. AND.U R0, R0, {65280, 0, 0, 0}.x;
  6666. OR.U R0, R2, R0;
  6667. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  6668. OR.U R0, R0, R2;
  6669. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  6670. OR.U R16, R0, R1;
  6671. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  6672. SHL.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  6673. SHR.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  6674. AND.U R0, R0, {65280, 0, 0, 0}.x;
  6675. OR.U R0, R2, R0;
  6676. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  6677. OR.U R0, R0, R2;
  6678. SHL.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  6679. OR.U R8, R0, R1;
  6680. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  6681. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  6682. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  6683. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6684. OR.U R1, R2, R1;
  6685. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  6686. OR.U R1, R1, R2;
  6687. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  6688. OR.U R6, R1, R0;
  6689. SHR.U R1, vertex.attrib[1], {8, 0, 0, 0}.x;
  6690. SHL.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  6691. SHR.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  6692. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6693. OR.U R1, R2, R1;
  6694. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  6695. OR.U R1, R1, R2;
  6696. SHL.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  6697. OR.U R10, R1, R0;
  6698. SHR.U R1, vertex.attrib[2], {8, 0, 0, 0}.x;
  6699. SHL.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  6700. SHR.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  6701. AND.U R1, R1, {65280, 0, 0, 0}.x;
  6702. OR.U R1, R2, R1;
  6703. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  6704. OR.U R1, R1, R2;
  6705. SHL.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  6706. OR.U R14, R1, R0;
  6707. SHR.U R1.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  6708. SHL.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  6709. SHR.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  6710. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  6711. OR.U R1.xyz, R2, R1;
  6712. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  6713. OR.U R1.xyz, R1, R2;
  6714. SHL.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  6715. OR.U R19.xyz, R1, R0;
  6716. SEQ.U R0.x, R18.w, {1, 0, 0, 0};
  6717. MOV.U R0.y, R19.x;
  6718. SEQ.U R24.x, -R0, {1, 0, 0, 0};
  6719. MOV.F R0.w, R0.y;
  6720. SHR.U R1.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6721. MOV.U.CC RC.x, -R24;
  6722. SHL.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6723. SHR.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6724. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  6725. OR.U R1.xyz, R2, R1;
  6726. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  6727. OR.U R1.xyz, R1, R2;
  6728. SHL.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6729. OR.U R20.xyz, R1, R0;
  6730. ADD.F32 R0.x, -R0.w, {1, 0, 0, 0};
  6731. MOV.U R0.y, R19;
  6732. MOV.F R0.w, R0.y;
  6733. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  6734. MOV.S R19.w, R0.x;
  6735. SHR.U R1.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6736. SHL.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6737. SHR.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6738. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  6739. OR.U R1.xyz, R2, R1;
  6740. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  6741. OR.U R1.xyz, R1, R2;
  6742. SHL.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6743. OR.U R13.xyz, R1, R0;
  6744. SHR.U R1.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6745. SHL.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6746. SHR.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6747. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  6748. OR.U R1.xyz, R2, R1;
  6749. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  6750. OR.U R1.xyz, R1, R2;
  6751. SHL.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6752. OR.U R15.xyz, R1, R0;
  6753. MOV.S R27.y, R0.w;
  6754. MOV.S R12, {0, 0, 0, 0}.x;
  6755. MOV.S R9, {0, 0, 0, 0}.x;
  6756. MOV.S R11, {0, 0, 0, 0}.x;
  6757. MOV.S R7, {0, 0, 0, 0}.x;
  6758. MOV.S R0, {0, 0, 0, 0}.x;
  6759. MOV.S R1, {0, 0, 0, 0}.x;
  6760. MOV.S R2, {0, 0, 0, 0}.x;
  6761. MOV.S R3, {0, 0, 0, 0}.x;
  6762. MOV.S R23.xyz, {0, 0, 0, 0}.x;
  6763. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  6764. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  6765. MOV.S R17.yzw, {0, 0, 0, 0};
  6766. MOV.S R17.x, vertex.id;
  6767. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  6768. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  6769. IF NE.x;
  6770. MOV.F R1.z, c[1].y;
  6771. MUL.F32 R1.z, R1, {5, 0, 0, 0}.x;
  6772. MOV.S R1.xyw, {0, 0, 0, 0}.x;
  6773. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  6774. MOV.S R1.z, R1;
  6775. MOV.S R21.w, {1065353216, 0, 0, 0}.x;
  6776. ENDIF;
  6777. SEQ.U R18.w, R18, {0, 0, 0, 0}.x;
  6778. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  6779. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  6780. MOV.U.CC RC.x, -R18.w;
  6781. IF NE.x;
  6782. MOV.S R21.w, {0, 0, 0, 0}.x;
  6783. ENDIF;
  6784. SEQ.S R18.w, R21, {0, 0, 0, 0}.x;
  6785. SEQ.U R24.y, -R18.w, {1, 0, 0, 0}.x;
  6786. MOV.U R24.x, -R18.w;
  6787. SEQ.U R18.w, -R24.y, {1, 0, 0, 0}.x;
  6788. MOV.U.CC RC.x, -R18.w;
  6789. MOV.U R24.z, -R24.y;
  6790. IF NE.x;
  6791. MOV.F R17.x, R16.w;
  6792. TRUNC.S R17.x, R17;
  6793. I2F.S R24.y, R17.x;
  6794. MOV.F R17.x, R13.w;
  6795. SGE.F32 R17.x, R17, R24.y;
  6796. TRUNC.U R18.w, R17.x;
  6797. SEQ.U R17.x, R24.z, {1, 0, 0, 0};
  6798. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  6799. AND.U R18.w, -R18, -R17.x;
  6800. MOV.S R17.x, R24.y;
  6801. ELSE;
  6802. MOV.U R18.w, {0, 0, 0, 0}.x;
  6803. ENDIF;
  6804. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  6805. MOV.U.CC RC.x, -R18.w;
  6806. IF NE.x;
  6807. MOV.F R1.x, c[1].y;
  6808. MUL.F32 R1.z, R1.x, {5, 0, 0, 0}.x;
  6809. MOV.S R1.xy, {0, 0, 0, 0};
  6810. MOV.S R1.z, R1;
  6811. MOV.S R18.x, {0, 0, 0, 0};
  6812. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  6813. ENDIF;
  6814. SEQ.U R24.x, R24, {1, 0, 0, 0};
  6815. SEQ.U R18.w, -R24.x, {1, 0, 0, 0}.x;
  6816. MOV.U.CC RC.x, -R18.w;
  6817. MOV.U R24.z, -R24.x;
  6818. IF NE.x;
  6819. SEQ.S R24.x, R17.w, {0, 0, 0, 0};
  6820. SEQ.U R18.w, R24.z, {1, 0, 0, 0}.x;
  6821. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  6822. AND.U R18.w, -R24.x, -R18;
  6823. ELSE;
  6824. MOV.U R18.w, {0, 0, 0, 0}.x;
  6825. ENDIF;
  6826. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  6827. MOV.U.CC RC.x, -R24;
  6828. IF NE.x;
  6829. MOV.F R9.x, R8;
  6830. MAX.F R9.x, R9, {0, 0, 0, 0};
  6831. MOV.S R19.z, R9.x;
  6832. MOV.F R9.x, c[4];
  6833. SGT.F32 R9.x, R9, {0, 0, 0, 0};
  6834. TRUNC.U.CC HC.x, R9;
  6835. MOV.F R9.y, c[3].z;
  6836. MOV.F R9.z, R13.w;
  6837. ADD.F32 R9.y, R9.z, R9;
  6838. MOV.S R25.w, R9.y;
  6839. AND.S R24.y, c[2].x, {4, 0, 0, 0}.x;
  6840. AND.S R24.x, c[2], {2, 0, 0, 0};
  6841. AND.S R29.z, c[2].x, {1, 0, 0, 0}.x;
  6842. IF NE.x;
  6843. MOV.F R11.x, {1, 0, 0, 0};
  6844. ELSE;
  6845. MOV.F R11.x, {0, 0, 0, 0};
  6846. ENDIF;
  6847. MOV.F R9.y, R8.x;
  6848. MOV.F R9.z, c[5].y;
  6849. SNE.F32 R9.x, R9.y, {0, 0, 0, 0};
  6850. MUL.F32 R9.w, R9.y, R9.z;
  6851. TRUNC.U R9.y, R9.x;
  6852. SNE.F32 R9.x, R9.z, {0, 0, 0, 0};
  6853. MOV.F R9.z, R11.x;
  6854. TRUNC.U R9.x, R9;
  6855. AND.U.CC HC.x, R9.y, R9;
  6856. MOV.S R30.x, R9.z;
  6857. IF NE.x;
  6858. MOV.F R9.y, R9.w;
  6859. ELSE;
  6860. MOV.F R9.y, {0, 0, 0, 0}.x;
  6861. ENDIF;
  6862. MOV.F R9.x, c[4];
  6863. SGT.F32 R9.x, {0, 0, 0, 0}, R9;
  6864. TRUNC.U.CC HC.x, R9;
  6865. MOV.S R28.y, R9;
  6866. IF NE.x;
  6867. MOV.F R9.w, {1, 0, 0, 0}.x;
  6868. ELSE;
  6869. MOV.F R9.w, {0, 0, 0, 0}.x;
  6870. ENDIF;
  6871. I2F.S R9.z, R29;
  6872. MOV.F R9.x, R19.z;
  6873. MIN.F R9.y, R9.x, {0, 0, 0, 0}.x;
  6874. MOV.F R9.x, R13;
  6875. ADD.F32 R9.y, R9.x, R9;
  6876. MOV.F R9.x, R30;
  6877. ADD.F32 R9.x, R9, -R9.w;
  6878. MOV.S R17.y, R9.x;
  6879. SGT.F32 R9.x, R9.z, {0, 0, 0, 0};
  6880. TRUNC.U.CC HC.x, R9;
  6881. MOV.S R27.z, R9;
  6882. MOV.S R13.x, R9.y;
  6883. IF NE.x;
  6884. MOV.F R9.y, {1, 0, 0, 0}.x;
  6885. ELSE;
  6886. MOV.F R9.y, {0, 0, 0, 0}.x;
  6887. ENDIF;
  6888. MOV.F R9.x, R27.z;
  6889. SGT.F32 R9.x, {0, 0, 0, 0}, R9;
  6890. TRUNC.U.CC HC.x, R9;
  6891. MOV.S R29.z, R9.y;
  6892. IF NE.x;
  6893. MOV.F R9.y, {1, 0, 0, 0}.x;
  6894. ELSE;
  6895. MOV.F R9.y, {0, 0, 0, 0}.x;
  6896. ENDIF;
  6897. I2F.S R9.x, R24;
  6898. MOV.S R19.z, R9.x;
  6899. SGT.F32 R9.x, {0, 0, 0, 0}, R9;
  6900. TRUNC.U.CC HC.x, R9;
  6901. MOV.S R29.w, R9.y;
  6902. IF NE.x;
  6903. MOV.F R9.w, {1, 0, 0, 0}.x;
  6904. ELSE;
  6905. MOV.F R9.w, {0, 0, 0, 0}.x;
  6906. ENDIF;
  6907. MOV.F R9.x, R17.y;
  6908. ADD.F32 R9.x, -R9, {1, 0, 0, 0};
  6909. MOV.S R26.y, R9.x;
  6910. MOV.F R9.x, R19.z;
  6911. SGT.F32 R9.x, R9, {0, 0, 0, 0};
  6912. TRUNC.U.CC HC.x, R9;
  6913. MOV.F R9.y, R29.w;
  6914. MOV.F R9.z, R29;
  6915. ADD.F32 R9.y, R9.z, -R9;
  6916. MOV.S R30.z, R9.y;
  6917. MOV.F R9.y, R9.w;
  6918. MOV.S R30.x, R9.y;
  6919. IF NE.x;
  6920. MOV.F R9.y, {1, 0, 0, 0}.x;
  6921. ELSE;
  6922. MOV.F R9.y, {0, 0, 0, 0}.x;
  6923. ENDIF;
  6924. I2F.S R9.x, R24.y;
  6925. MOV.S R27.z, R9.x;
  6926. SGT.F32 R9.x, {0, 0, 0, 0}, R9;
  6927. TRUNC.U.CC HC.x, R9;
  6928. MOV.S R30.w, R9.y;
  6929. IF NE.x;
  6930. MOV.F R9.y, {1, 0, 0, 0}.x;
  6931. ELSE;
  6932. MOV.F R9.y, {0, 0, 0, 0}.x;
  6933. ENDIF;
  6934. MOV.F R9.x, R27.z;
  6935. SGT.F32 R9.x, R9, {0, 0, 0, 0};
  6936. TRUNC.U.CC HC.x, R9;
  6937. MOV.S R29.x, R9.y;
  6938. IF NE.x;
  6939. MOV.F R9.w, {1, 0, 0, 0}.x;
  6940. ELSE;
  6941. MOV.F R9.w, {0, 0, 0, 0}.x;
  6942. ENDIF;
  6943. MOV.F R9.z, R29.x;
  6944. ADD.F32 R9.z, R9.w, -R9;
  6945. TRUNC.S R9.z, R9;
  6946. MOV.F R9.y, R30.w;
  6947. MOV.F R9.x, R30;
  6948. ADD.F32 R9.x, R9.y, -R9;
  6949. TRUNC.S R9.y, R9.x;
  6950. ADD.S R9.x, -R9.y, {0, 0, 0, 0};
  6951. MAX.S R9.x, R9.y, R9;
  6952. I2F.S R9.x, R9;
  6953. MOV.S R21.y, R9.x;
  6954. MOV.F R9.x, R30.z;
  6955. TRUNC.S R9.y, R9.x;
  6956. ADD.S R9.x, -R9.y, {0, 0, 0, 0};
  6957. MAX.S R9.x, R9.y, R9;
  6958. ADD.S R9.y, -R9.z, {0, 0, 0, 0}.x;
  6959. MAX.S R9.y, R9.z, R9;
  6960. I2F.S R9.x, R9;
  6961. MOV.S R25.x, R9;
  6962. I2F.S R9.x, R9.y;
  6963. MOV.F R9.z, R25.w;
  6964. MOV.F R9.y, c[8].z;
  6965. DIV.F32 R9.y, R9.z, R9.y;
  6966. MOV.S R30.y, R9;
  6967. MOV.F R9.y, R8.x;
  6968. MOV.F R9.z, c[3].x;
  6969. MOV.S R28.z, R9.x;
  6970. SNE.F32 R9.x, R9.y, {0, 0, 0, 0};
  6971. MUL.F32 R11.y, R9, R9.z;
  6972. TRUNC.U R9.y, R9.x;
  6973. MOV.F R9.x, c[7].z;
  6974. MOV.F R9.w, c[6].z;
  6975. ADD.F32 R11.x, -R9.w, R9;
  6976. MOV.F R9.w, c[6].x;
  6977. MOV.F R9.x, c[7];
  6978. ADD.F32 R9.x, -R9.w, R9;
  6979. MOV.S R24.w, R9.x;
  6980. MOV.F R9.x, c[7].y;
  6981. MOV.F R9.w, c[6].y;
  6982. MOV.S R24.z, R11.x;
  6983. ADD.F32 R11.x, -R9.w, R9;
  6984. MOV.F R9.w, c[6];
  6985. MOV.F R9.x, c[7].w;
  6986. ADD.F32 R9.x, -R9.w, R9;
  6987. MOV.S R25.y, R9.x;
  6988. SNE.F32 R9.x, R9.z, {0, 0, 0, 0};
  6989. MOV.F R9.w, c[4].x;
  6990. RCP.F32 R9.z, R9.w;
  6991. TRUNC.U R9.x, R9;
  6992. AND.U.CC HC.x, R9.y, R9;
  6993. MOV.S R24.y, R11.x;
  6994. MOV.S R27.z, R9;
  6995. IF NE.x;
  6996. MOV.F R9.w, R11.y;
  6997. ELSE;
  6998. MOV.F R9.w, {0, 0, 0, 0}.x;
  6999. ENDIF;
  7000. MOV.F R9.y, R13.w;
  7001. MOV.F R9.x, R27.z;
  7002. MUL.F32 R9.x, R9.y, R9;
  7003. MOV.F R9.z, R28.y;
  7004. MOV.S R9.x, R9;
  7005. ADD.F32 R9.x, R9.z, R9;
  7006. MOV.F R9.z, R30.y;
  7007. FRC.F32 R9.x, R9;
  7008. MOV.S R29.y, R9.x;
  7009. MOV.F R9.x, R17;
  7010. ADD.F32 R9.w, R9, R9.z;
  7011. DIV.F32 R9.x, R9.y, R9.x;
  7012. ADD.F32 R9.y, R9.w, {0.5, 0, 0, 0}.x;
  7013. MOV.S R9.z, R9.x;
  7014. MOV.F R9.x, R25.y;
  7015. RCP.F32 R9.x, R9.x;
  7016. FRC.F32 R9.w, R9;
  7017. MOV.S R30.y, R9;
  7018. ADD.F32 R9.y, R9.w, {-0.5, 0, 0, 0}.x;
  7019. MOV.S R29.x, R9.y;
  7020. MOV.F R9.y, c[8].x;
  7021. SNE.F32 R11.y, -R9, {0, 0, 0, 0}.x;
  7022. MOV.S R28.w, R9.x;
  7023. SNE.F32 R9.x, R9.w, {0, 0, 0, 0};
  7024. TRUNC.U R11.x, R9;
  7025. MUL.F32 R11.z, R9.w, -R9.y;
  7026. TRUNC.U R11.y, R11;
  7027. AND.U.CC HC.x, R11.y, R11;
  7028. MOV.S R9.xyw, {0, 0, 0, 0}.x;
  7029. IF NE.x;
  7030. MOV.F R12.x, R11.z;
  7031. ELSE;
  7032. MOV.F R12.x, {0, 0, 0, 0};
  7033. ENDIF;
  7034. MOV.F R11.z, R26.y;
  7035. MOV.F R11.x, R9.z;
  7036. MUL.F32 R11.w, R11.x, R11.z;
  7037. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7038. TRUNC.U R11.y, R11.x;
  7039. SNE.F32 R11.x, R11.z, {0, 0, 0, 0};
  7040. ADD.F32 R11.z, R12.x, {1, 0, 0, 0}.x;
  7041. TRUNC.U R11.x, R11;
  7042. AND.U.CC HC.x, R11.y, R11;
  7043. MOV.S R30.z, R11;
  7044. IF NE.x;
  7045. ELSE;
  7046. MOV.F R11.w, {0, 0, 0, 0}.x;
  7047. ENDIF;
  7048. MOV.F R11.x, R29.y;
  7049. MOV.F R11.y, R17;
  7050. MUL.F32 R11.z, R11.y, R11.x;
  7051. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7052. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7053. TRUNC.U R11.y, R11;
  7054. TRUNC.U R11.x, R11;
  7055. AND.U.CC HC.x, R11.y, R11;
  7056. MOV.S R25.w, R11;
  7057. IF NE.x;
  7058. ELSE;
  7059. MOV.F R11.z, {0, 0, 0, 0}.x;
  7060. ENDIF;
  7061. MOV.F R11.y, R30;
  7062. MOV.F R11.x, R30.z;
  7063. MAX.F R11.x, R11, -R11;
  7064. FRC.F32 R11.y, R11;
  7065. MOV.S R25.z, R11.x;
  7066. MOV.F R11.x, R29;
  7067. SGE.F32 R11.x, R11, {0, 0, 0, 0};
  7068. TRUNC.U.CC HC.x, R11;
  7069. MOV.S R30.y, R11;
  7070. MOV.S R30.x, R11.z;
  7071. IF NE.x;
  7072. MOV.S R12.y, {1065353216, 0, 0, 0}.x;
  7073. ELSE;
  7074. MOV.S R12.y, {0, 0, 0, 0}.x;
  7075. ENDIF;
  7076. MOV.F R12.x, R28.w;
  7077. MOV.F R11.x, R24.z;
  7078. MUL.F32 R11.y, R11.x, R12.x;
  7079. MOV.F R11.x, R24.y;
  7080. MOV.F R11.z, R24.w;
  7081. MUL.F32 R11.w, R11.z, R12.x;
  7082. MOV.S R24.y, R11;
  7083. MOV.F R11.z, R25.w;
  7084. MUL.F32 R11.x, R12, R11;
  7085. MOV.F R11.y, R30.x;
  7086. ADD.F32 R11.y, R11.z, R11;
  7087. MOV.S R21.z, R11.y;
  7088. MOV.F R11.y, R30;
  7089. MAD.F32 R11.y, R11, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  7090. MOV.S R29.x, R11.y;
  7091. MOV.F R11.z, R12.y;
  7092. MOV.S R25.w, R11.x;
  7093. ADD.F32 R11.x, -R11.z, {1, 0, 0, 0};
  7094. MOV.F R11.y, c[8].x;
  7095. MOV.S R24.x, R11.w;
  7096. MUL.F32 R11.w, -R11.y, R11.x;
  7097. SNE.F32 R11.x, -R11.z, {-1, 0, 0, 0};
  7098. SNE.F32 R11.y, -R11, {0, 0, 0, 0}.x;
  7099. TRUNC.U R11.x, R11;
  7100. TRUNC.U R11.y, R11;
  7101. AND.U.CC HC.x, R11.y, R11;
  7102. IF NE.x;
  7103. MOV.F R12.y, R11.w;
  7104. ELSE;
  7105. MOV.F R12.y, {0, 0, 0, 0}.x;
  7106. ENDIF;
  7107. MOV.F R11.z, R25.w;
  7108. MOV.F R11.y, R21.z;
  7109. MOV.F R11.x, c[6].w;
  7110. ADD.F32 R11.x, R11.y, -R11;
  7111. MOV.S R11.w, R11.x;
  7112. MOV.S R11.x, R11.w;
  7113. MUL.F32 R12.x, R11, R11.z;
  7114. MOV.F R11.y, R29.x;
  7115. MUL.F32 R11.y, R11, {0.159154937, 0, 0, 0}.x;
  7116. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7117. MOV.S R30.w, R11.y;
  7118. TRUNC.U R11.y, R11.x;
  7119. SNE.F32 R11.x, R11.z, {0, 0, 0, 0};
  7120. ADD.F32 R11.z, R12.y, {1, 0, 0, 0}.x;
  7121. TRUNC.U R11.x, R11;
  7122. AND.U.CC HC.x, R11.y, R11;
  7123. MOV.S R26.y, R11.w;
  7124. MOV.S R30.x, R11.z;
  7125. IF NE.x;
  7126. MOV.F R11.w, R12.x;
  7127. ELSE;
  7128. MOV.F R11.w, {0, 0, 0, 0}.x;
  7129. ENDIF;
  7130. MOV.F R11.x, R24.y;
  7131. MOV.F R11.y, R26;
  7132. MUL.F32 R11.z, R11.y, R11.x;
  7133. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7134. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7135. TRUNC.U R11.y, R11;
  7136. TRUNC.U R11.x, R11;
  7137. AND.U.CC HC.x, R11.y, R11;
  7138. MOV.S R29.x, R11.w;
  7139. IF NE.x;
  7140. MOV.F R12.x, R11.z;
  7141. ELSE;
  7142. MOV.F R12.x, {0, 0, 0, 0};
  7143. ENDIF;
  7144. MOV.F R11.z, R30.x;
  7145. MAX.F R11.z, R11, -R11;
  7146. MOV.F R11.x, R24;
  7147. MOV.F R11.y, R26;
  7148. MUL.F32 R11.w, R11.y, R11.x;
  7149. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7150. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7151. TRUNC.U R11.y, R11;
  7152. TRUNC.U R11.x, R11;
  7153. AND.U.CC HC.x, R11.y, R11;
  7154. MOV.S R24.z, R11;
  7155. MOV.S R29.y, R12.x;
  7156. IF NE.x;
  7157. MOV.F R12.x, R11.w;
  7158. ELSE;
  7159. MOV.F R12.x, {0, 0, 0, 0};
  7160. ENDIF;
  7161. MOV.F R11.x, R30.w;
  7162. MUL.F32 R11.x, R11, {6.28318548, 0, 0, 0};
  7163. COS.F32 R11.x, R11.x;
  7164. ADD.F32 R11.x, R11, {1, 0, 0, 0};
  7165. MOV.S R11.x, R11;
  7166. MOV.S R11.z, R11.x;
  7167. MOV.F R11.y, c[6].z;
  7168. MOV.F R11.x, R29.y;
  7169. ADD.F32 R11.x, R11.y, R11;
  7170. MOV.F R11.y, R11.z;
  7171. MUL.F32 R11.z, R11.y, {0.5, 0, 0, 0}.x;
  7172. MOV.S R22.z, R11.x;
  7173. MOV.F R11.y, c[6];
  7174. MOV.F R11.x, R29;
  7175. ADD.F32 R11.x, R11.y, R11;
  7176. MOV.S R11.y, R11.z;
  7177. MOV.S R21.w, R11.x;
  7178. MOV.S R11.x, R11.y;
  7179. MOV.F R11.y, c[8].x;
  7180. MUL.F32 R11.w, -R11.y, R11.x;
  7181. MOV.F R11.z, c[6].x;
  7182. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7183. ADD.F32 R11.z, R11, R12.x;
  7184. SNE.F32 R11.y, -R11, {0, 0, 0, 0}.x;
  7185. TRUNC.U R11.x, R11;
  7186. TRUNC.U R11.y, R11;
  7187. AND.U.CC HC.x, R11.y, R11;
  7188. MOV.S R23.x, R11.z;
  7189. MOV.S R22.xy, {0, 0, 0, 0}.x;
  7190. IF NE.x;
  7191. MOV.F R12.x, R11.w;
  7192. ELSE;
  7193. MOV.F R12.x, {0, 0, 0, 0};
  7194. ENDIF;
  7195. MOV.F R11.y, R21;
  7196. MOV.F R11.z, R28;
  7197. MOV.F R12.y, R25.z;
  7198. MOV.F R11.w, {-0, 0, 0, 0}.x;
  7199. ADD.F32 R12.x, R12, {1, 0, 0, 0};
  7200. MOV.F R11.x, R25;
  7201. MOV.F R12.z, R24;
  7202. MOV.F R12.w, {0, 0, 0, 0}.x;
  7203. DP4.F32 R11.x, R11, R12;
  7204. MOV.S R11.z, R11.x;
  7205. MOV.F R11.w, c[7];
  7206. MOV.F R12.x, R21.z;
  7207. ADD.F32 R11.y, R12.x, -R11.w;
  7208. SGE.F32 R12.x, R12, R11.w;
  7209. MOV.S R26.z, R11.y;
  7210. TRUNC.U.CC HC.x, R12;
  7211. MOV.F R11.x, c[9];
  7212. MOV.F R11.y, c[7].x;
  7213. ADD.F32 R12.y, -R11, R11.x;
  7214. MOV.S R11.xyw, {0, 0, 0, 0}.x;
  7215. MOV.S R24.y, R12;
  7216. IF NE.x;
  7217. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  7218. ELSE;
  7219. MOV.S R12.z, {0, 0, 0, 0}.x;
  7220. ENDIF;
  7221. MOV.F R12.x, R26.y;
  7222. SGE.F32 R12.y, R12.x, {0, 0, 0, 0}.x;
  7223. TRUNC.U.CC HC.x, R12.y;
  7224. MOV.S R12.x, R12.z;
  7225. MOV.S R12.w, {0, 0, 0, 0}.x;
  7226. IF NE.x;
  7227. MOV.S R17.z, {1065353216, 0, 0, 0}.x;
  7228. ELSE;
  7229. MOV.S R17.z, {0, 0, 0, 0}.x;
  7230. ENDIF;
  7231. MOV.F R15.w, c[9];
  7232. MOV.F R12.z, R21;
  7233. ADD.F32 R12.y, R12.z, -R15.w;
  7234. MOV.S R21.y, R12;
  7235. SGE.F32 R12.y, R12.z, R15.w;
  7236. TRUNC.U.CC HC.x, R12.y;
  7237. MOV.F R17.x, c[7].z;
  7238. MOV.F R12.z, c[9];
  7239. ADD.F32 R12.z, -R17.x, R12;
  7240. MOV.S R25.x, R12.z;
  7241. MOV.F R12.z, c[7].w;
  7242. ADD.F32 R12.z, R15.w, -R12;
  7243. MOV.F R17.x, c[9].y;
  7244. MOV.F R17.y, c[7];
  7245. ADD.F32 R17.x, -R17.y, R17;
  7246. MOV.S R25.w, R17.x;
  7247. MOV.S R30.z, R12;
  7248. MOV.S R23.y, R17.z;
  7249. IF NE.x;
  7250. MOV.S R12.y, {1065353216, 0, 0, 0}.x;
  7251. ELSE;
  7252. MOV.S R12.y, {0, 0, 0, 0}.x;
  7253. ENDIF;
  7254. MOV.F R17.x, R30.z;
  7255. MOV.F R12.z, R24.y;
  7256. DIV.F32 R15.w, R12.z, R17.x;
  7257. MOV.F R12.z, R25.w;
  7258. DIV.F32 R12.z, R12, R17.x;
  7259. MOV.S R30.w, R15;
  7260. MOV.F R15.w, R25.x;
  7261. MOV.S R30.x, R12.z;
  7262. DIV.F32 R12.z, R15.w, R17.x;
  7263. SNE.F32 R15.w, R12.z, {0, 0, 0, 0}.x;
  7264. MOV.F R17.x, R26.z;
  7265. MUL.F32 R12.z, R17.x, R12;
  7266. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7267. MOV.F R17.y, c[10];
  7268. MOV.F R17.z, c[9].y;
  7269. ADD.F32 R17.w, -R17.z, R17.y;
  7270. MOV.F R17.z, c[9];
  7271. MOV.F R17.y, c[10].z;
  7272. ADD.F32 R17.y, -R17.z, R17;
  7273. MOV.S R24.y, R17;
  7274. MOV.F R17.y, c[10].x;
  7275. MOV.F R17.z, c[9].x;
  7276. MOV.S R26.y, R17.w;
  7277. ADD.F32 R17.w, -R17.z, R17.y;
  7278. TRUNC.U R15.w, R15;
  7279. TRUNC.U R17.x, R17;
  7280. AND.U.CC HC.x, R17, R15.w;
  7281. MOV.F R17.y, c[10].w;
  7282. MOV.F R17.z, c[9].w;
  7283. ADD.F32 R17.y, -R17.z, R17;
  7284. MOV.S R24.z, R17.w;
  7285. MOV.S R27.z, R17.y;
  7286. MOV.S R21.x, R12.y;
  7287. IF NE.x;
  7288. MOV.F R17.x, R12.z;
  7289. ELSE;
  7290. MOV.F R17.x, {0, 0, 0, 0};
  7291. ENDIF;
  7292. MOV.F R12.y, R30.w;
  7293. MOV.F R12.z, R26;
  7294. MUL.F32 R15.w, R12.z, R12.y;
  7295. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  7296. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7297. TRUNC.U R12.z, R12;
  7298. TRUNC.U R12.y, R12;
  7299. AND.U.CC HC.x, R12.z, R12.y;
  7300. MOV.S R29.x, R17;
  7301. IF NE.x;
  7302. MOV.F R17.z, R15.w;
  7303. ELSE;
  7304. MOV.F R17.z, {0, 0, 0, 0}.x;
  7305. ENDIF;
  7306. MOV.F R12.y, R30.x;
  7307. MOV.F R15.w, R26.z;
  7308. MUL.F32 R17.y, R15.w, R12;
  7309. SNE.F32 R15.w, R15, {0, 0, 0, 0}.x;
  7310. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7311. MOV.F R12.z, c[10].w;
  7312. MOV.F R17.x, R21.z;
  7313. ADD.F32 R12.z, R17.x, -R12;
  7314. TRUNC.U R15.w, R15;
  7315. TRUNC.U R12.y, R12;
  7316. AND.U.CC HC.x, R15.w, R12.y;
  7317. MOV.S R12.z, R12;
  7318. MOV.S R29.y, R17.z;
  7319. IF NE.x;
  7320. MOV.F R12.y, R17;
  7321. ELSE;
  7322. MOV.F R12.y, {0, 0, 0, 0}.x;
  7323. ENDIF;
  7324. MOV.F R24.x, R27.z;
  7325. MOV.F R15.w, R26.y;
  7326. DIV.F32 R17.z, R15.w, R24.x;
  7327. MOV.F R17.x, R24.z;
  7328. DIV.F32 R17.w, R17.x, R24.x;
  7329. MOV.F R17.x, R21.y;
  7330. MUL.F32 R17.y, R17.x, R17.z;
  7331. MOV.S R30.x, R17.w;
  7332. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7333. MOV.F R15.w, R29.y;
  7334. MOV.F R17.w, c[7].x;
  7335. ADD.F32 R19.z, R17.w, R15.w;
  7336. MOV.F R17.w, c[7].z;
  7337. MOV.F R15.w, R29.x;
  7338. ADD.F32 R15.w, R17, R15;
  7339. MOV.F R17.w, R24.y;
  7340. MOV.S R23.z, R19;
  7341. DIV.F32 R19.z, R17.w, R24.x;
  7342. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  7343. MOV.S R17.x, R19.z;
  7344. MOV.F R19.z, c[7].y;
  7345. ADD.F32 R12.y, R19.z, R12;
  7346. TRUNC.U R17.w, R17;
  7347. TRUNC.U R17.z, R17;
  7348. AND.U.CC HC.x, R17.w, R17.z;
  7349. MOV.S R15.w, R15;
  7350. MOV.S R12.y, R12;
  7351. IF NE.x;
  7352. MOV.F R24.x, R17.y;
  7353. ELSE;
  7354. MOV.F R24.x, {0, 0, 0, 0};
  7355. ENDIF;
  7356. MOV.F R17.y, R30.x;
  7357. MOV.F R17.z, R21.y;
  7358. MUL.F32 R19.z, R17, R17.y;
  7359. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7360. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  7361. TRUNC.U R17.w, R17.z;
  7362. TRUNC.U R17.z, R17.y;
  7363. AND.U.CC HC.x, R17.w, R17.z;
  7364. MOV.S R17.y, R24.x;
  7365. IF NE.x;
  7366. MOV.F R24.x, R19.z;
  7367. ELSE;
  7368. MOV.F R24.x, {0, 0, 0, 0};
  7369. ENDIF;
  7370. MOV.F R17.z, c[11].x;
  7371. MOV.F R17.w, c[10].x;
  7372. ADD.F32 R19.z, -R17.w, R17;
  7373. MOV.F R17.w, c[10].y;
  7374. MOV.F R17.z, c[11].y;
  7375. ADD.F32 R17.z, -R17.w, R17;
  7376. MOV.S R17.w, R19.z;
  7377. MOV.S R19.z, R17;
  7378. MOV.S R17.z, R24.x;
  7379. ENDIF;
  7380. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  7381. MOV.U.CC RC.x, -R24;
  7382. IF NE.x;
  7383. MOV.F R16.w, R12.z;
  7384. SGE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7385. TRUNC.U.CC HC.x, R16.w;
  7386. MOV.F R22.x, R17.z;
  7387. MOV.F R24.x, c[9];
  7388. ADD.F32 R22.x, R24, R22;
  7389. MOV.S R25.x, R22;
  7390. IF NE.x;
  7391. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  7392. ELSE;
  7393. MOV.S R16.w, {0, 0, 0, 0}.x;
  7394. ENDIF;
  7395. MOV.F R24.x, c[9].y;
  7396. MOV.F R22.x, R17.y;
  7397. ADD.F32 R22.x, R24, R22;
  7398. MUL.F32 R24.x, R21.y, R17;
  7399. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7400. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  7401. TRUNC.U R17.x, R17;
  7402. TRUNC.U R21.y, R21;
  7403. AND.U.CC HC.x, R21.y, R17;
  7404. MOV.S R26.z, R22.x;
  7405. IF NE.x;
  7406. MOV.F R22.x, R24;
  7407. ELSE;
  7408. MOV.F R22.x, {0, 0, 0, 0};
  7409. ENDIF;
  7410. MOV.F R21.y, R21.z;
  7411. MOV.S R21.z, R22.x;
  7412. MOV.F R17.x, R21;
  7413. ADD.F32 R17.x, -R17, {1, 0, 0, 0};
  7414. MOV.S R25.z, R17.x;
  7415. MOV.F R17.x, c[11].w;
  7416. SGE.F32 R17.x, R21.y, R17;
  7417. MOV.S R21.y, R21.z;
  7418. MOV.F R21.z, c[9];
  7419. ADD.F32 R21.y, R21.z, R21;
  7420. MOV.F R22.x, R16.w;
  7421. ADD.F32 R21.z, -R22.x, {1, 0, 0, 0}.x;
  7422. TRUNC.U.CC HC.x, R17;
  7423. MOV.S R25.y, R21;
  7424. MOV.S R30.x, R21.z;
  7425. IF NE.x;
  7426. MOV.S R17.x, {1065353216, 0, 0, 0};
  7427. ELSE;
  7428. MOV.S R17.x, {0, 0, 0, 0};
  7429. ENDIF;
  7430. MOV.F R21.y, R12.x;
  7431. ADD.F32 R21.y, -R21, {1, 0, 0, 0}.x;
  7432. MOV.S R28.y, R21;
  7433. MOV.F R21.y, R17.x;
  7434. MOV.F R21.z, c[11];
  7435. MUL.F32 R22.x, R21.z, R21.y;
  7436. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  7437. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  7438. TRUNC.U R21.y, R21;
  7439. TRUNC.U R21.z, R21;
  7440. AND.U.CC HC.x, R21.z, R21.y;
  7441. IF NE.x;
  7442. MOV.F R21.y, R22.x;
  7443. ELSE;
  7444. MOV.F R21.y, {0, 0, 0, 0}.x;
  7445. ENDIF;
  7446. MOV.F R21.z, R21.x;
  7447. MOV.F R22.x, R30;
  7448. MUL.F32 R21.x, R21.z, R22;
  7449. SNE.F32 R22.x, R22, {0, 0, 0, 0};
  7450. TRUNC.U R24.x, R22;
  7451. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  7452. TRUNC.U R21.z, R21;
  7453. AND.U.CC HC.x, R21.z, R24;
  7454. MOV.F R24.y, c[10].z;
  7455. MOV.F R22.x, c[11].z;
  7456. ADD.F32 R22.x, -R24.y, R22;
  7457. MOV.S R26.y, R22.x;
  7458. MOV.F R24.y, c[10].w;
  7459. MOV.F R22.x, c[11].w;
  7460. ADD.F32 R22.x, -R24.y, R22;
  7461. MOV.F R24.y, R17.x;
  7462. MOV.S R29.w, R22.x;
  7463. ADD.F32 R24.y, -R24, {1, 0, 0, 0}.x;
  7464. MOV.S R22.x, R21.y;
  7465. MOV.S R29.z, R24.y;
  7466. IF NE.x;
  7467. MOV.F R24.y, R21.x;
  7468. ELSE;
  7469. MOV.F R24.y, {0, 0, 0, 0}.x;
  7470. ENDIF;
  7471. MOV.F R21.x, R29.z;
  7472. MOV.F R21.z, R16.w;
  7473. SNE.F32 R16.w, R21.x, {0, 0, 0, 0}.x;
  7474. MUL.F32 R24.x, R21.z, R21;
  7475. SNE.F32 R21.x, R21.z, {0, 0, 0, 0};
  7476. TRUNC.U R16.w, R16;
  7477. TRUNC.U R21.x, R21;
  7478. AND.U.CC HC.x, R21, R16.w;
  7479. MOV.S R21.y, R25.x;
  7480. MOV.S R24.z, R24.y;
  7481. IF NE.x;
  7482. ELSE;
  7483. MOV.F R24.x, {0, 0, 0, 0};
  7484. ENDIF;
  7485. MOV.F R16.w, R17.x;
  7486. MOV.F R21.x, c[11];
  7487. MUL.F32 R21.z, R21.x, R16.w;
  7488. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7489. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  7490. TRUNC.U R16.w, R16;
  7491. TRUNC.U R21.x, R21;
  7492. AND.U.CC HC.x, R21, R16.w;
  7493. MOV.S R25.x, R24;
  7494. IF NE.x;
  7495. ELSE;
  7496. MOV.F R21.z, {0, 0, 0, 0}.x;
  7497. ENDIF;
  7498. MOV.F R16.w, R17.x;
  7499. MOV.F R17.x, c[11].y;
  7500. MUL.F32 R21.x, R17, R16.w;
  7501. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7502. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7503. TRUNC.U R16.w, R16;
  7504. TRUNC.U R17.x, R17;
  7505. AND.U.CC HC.x, R17, R16.w;
  7506. MOV.S R24.y, R21.z;
  7507. IF NE.x;
  7508. MOV.F R21.z, R21.x;
  7509. ELSE;
  7510. MOV.F R21.z, {0, 0, 0, 0}.x;
  7511. ENDIF;
  7512. MOV.F R17.x, R24.z;
  7513. MOV.F R21.x, R21.y;
  7514. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  7515. MUL.F32 R21.y, R21.x, R17.x;
  7516. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  7517. TRUNC.U R16.w, R16;
  7518. TRUNC.U R17.x, R17;
  7519. AND.U.CC HC.x, R17, R16.w;
  7520. MOV.S R28.z, R21;
  7521. IF NE.x;
  7522. MOV.F R16.w, R21.y;
  7523. ELSE;
  7524. MOV.F R16.w, {0, 0, 0, 0}.x;
  7525. ENDIF;
  7526. MOV.F R21.z, R29.w;
  7527. RCP.F32 R21.z, R21.z;
  7528. MOV.F R21.x, R24.z;
  7529. MOV.F R21.y, R26.z;
  7530. MUL.F32 R17.x, R21.y, R21;
  7531. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  7532. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  7533. TRUNC.U R21.y, R21;
  7534. TRUNC.U R21.x, R21;
  7535. AND.U.CC HC.x, R21.y, R21;
  7536. MOV.S R27.z, R21;
  7537. MOV.S R24.w, R16;
  7538. IF NE.x;
  7539. MOV.F R16.w, R17.x;
  7540. ELSE;
  7541. MOV.F R16.w, {0, 0, 0, 0}.x;
  7542. ENDIF;
  7543. MOV.F R21.x, R24.z;
  7544. MOV.F R21.y, R25;
  7545. MOV.F R24.x, R27.z;
  7546. MOV.F R21.z, R26.y;
  7547. MUL.F32 R21.z, R21, R24.x;
  7548. MOV.S R29.w, R21.z;
  7549. MOV.F R21.z, R19;
  7550. MUL.F32 R19.z, R24.x, R17.w;
  7551. MUL.F32 R17.w, R24.x, R21.z;
  7552. MOV.S R29.z, R19;
  7553. MOV.S R29.y, R17.w;
  7554. SNE.F32 R17.w, R21.x, {0, 0, 0, 0}.x;
  7555. MUL.F32 R17.x, R21.y, R21;
  7556. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  7557. TRUNC.U R19.z, R19;
  7558. TRUNC.U R17.w, R17;
  7559. AND.U.CC HC.x, R19.z, R17.w;
  7560. MOV.S R21.x, R16.w;
  7561. IF NE.x;
  7562. MOV.F R21.y, R17.x;
  7563. ELSE;
  7564. MOV.F R21.y, {0, 0, 0, 0}.x;
  7565. ENDIF;
  7566. MOV.F R16.w, R29.z;
  7567. MOV.F R17.x, R12.z;
  7568. MUL.F32 R19.z, R17.x, R16.w;
  7569. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7570. TRUNC.U R17.w, R17.x;
  7571. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7572. TRUNC.U R16.w, R16;
  7573. AND.U.CC HC.x, R17.w, R16.w;
  7574. MOV.S R17.x, R21.y;
  7575. IF NE.x;
  7576. MOV.F R21.y, R19.z;
  7577. ELSE;
  7578. MOV.F R21.y, {0, 0, 0, 0}.x;
  7579. ENDIF;
  7580. MOV.F R16.w, R29;
  7581. MOV.F R17.w, R12.z;
  7582. MUL.F32 R19.z, R17.w, R16.w;
  7583. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7584. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7585. TRUNC.U R17.w, R17;
  7586. TRUNC.U R16.w, R16;
  7587. AND.U.CC HC.x, R17.w, R16.w;
  7588. MOV.S R30.x, R21.y;
  7589. IF NE.x;
  7590. MOV.F R21.y, R19.z;
  7591. ELSE;
  7592. MOV.F R21.y, {0, 0, 0, 0}.x;
  7593. ENDIF;
  7594. MOV.F R16.w, R29.y;
  7595. MOV.F R17.w, R12.z;
  7596. MUL.F32 R19.z, R17.w, R16.w;
  7597. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7598. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7599. TRUNC.U R17.w, R17;
  7600. TRUNC.U R16.w, R16;
  7601. AND.U.CC HC.x, R17.w, R16.w;
  7602. MOV.S R30.y, R21;
  7603. IF NE.x;
  7604. MOV.F R21.y, R19.z;
  7605. ELSE;
  7606. MOV.F R21.y, {0, 0, 0, 0}.x;
  7607. ENDIF;
  7608. MOV.F R16.w, R25.z;
  7609. MOV.F R17.w, R12.x;
  7610. MUL.F32 R19.z, R17.w, R16.w;
  7611. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7612. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7613. TRUNC.U R17.w, R17;
  7614. TRUNC.U R16.w, R16;
  7615. AND.U.CC HC.x, R17.w, R16.w;
  7616. MOV.S R30.z, R21.y;
  7617. IF NE.x;
  7618. MOV.F R21.y, R19.z;
  7619. ELSE;
  7620. MOV.F R21.y, {0, 0, 0, 0}.x;
  7621. ENDIF;
  7622. MOV.F R16.w, R28.y;
  7623. MOV.F R17.w, R23.y;
  7624. MUL.F32 R19.z, R17.w, R16.w;
  7625. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7626. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7627. TRUNC.U R16.w, R16;
  7628. TRUNC.U R17.w, R17;
  7629. AND.U.CC HC.x, R17.w, R16.w;
  7630. MOV.S R25.w, R21.y;
  7631. IF NE.x;
  7632. MOV.F R16.w, R19.z;
  7633. ELSE;
  7634. MOV.F R16.w, {0, 0, 0, 0}.x;
  7635. ENDIF;
  7636. MOV.F R19.z, c[10].y;
  7637. MOV.F R17.w, R30.z;
  7638. ADD.F32 R17.w, R19.z, R17;
  7639. MOV.S R29.x, R17.w;
  7640. MOV.F R17.w, R25;
  7641. MOV.F R19.z, R23;
  7642. MUL.F32 R21.y, R19.z, R17.w;
  7643. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7644. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7645. TRUNC.U R17.w, R17;
  7646. TRUNC.U R19.z, R19;
  7647. AND.U.CC HC.x, R19.z, R17.w;
  7648. MOV.S R28.w, R16;
  7649. IF NE.x;
  7650. MOV.F R17.w, R21.y;
  7651. ELSE;
  7652. MOV.F R17.w, {0, 0, 0, 0}.x;
  7653. ENDIF;
  7654. MOV.F R19.z, R25.w;
  7655. MOV.F R21.y, R12;
  7656. MUL.F32 R16.w, R21.y, R19.z;
  7657. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  7658. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7659. MOV.F R21.z, R30.x;
  7660. MOV.F R23.z, c[10].x;
  7661. ADD.F32 R23.z, R23, R21;
  7662. MOV.F R21.z, R30.y;
  7663. MOV.F R24.x, c[10].z;
  7664. ADD.F32 R21.z, R24.x, R21;
  7665. TRUNC.U R21.y, R21;
  7666. TRUNC.U R19.z, R19;
  7667. AND.U.CC HC.x, R21.y, R19.z;
  7668. MOV.S R29.w, R23.z;
  7669. MOV.S R29.z, R21;
  7670. MOV.S R28.y, R17.w;
  7671. IF NE.x;
  7672. MOV.F R21.y, R16.w;
  7673. ELSE;
  7674. MOV.F R21.y, {0, 0, 0, 0}.x;
  7675. ENDIF;
  7676. MOV.F R16.w, R25;
  7677. MOV.F R17.w, R15;
  7678. MUL.F32 R19.z, R17.w, R16.w;
  7679. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7680. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7681. TRUNC.U R17.w, R17;
  7682. TRUNC.U R16.w, R16;
  7683. AND.U.CC HC.x, R17.w, R16.w;
  7684. MOV.S R28.x, R21.y;
  7685. IF NE.x;
  7686. MOV.F R21.y, R19.z;
  7687. ELSE;
  7688. MOV.F R21.y, {0, 0, 0, 0}.x;
  7689. ENDIF;
  7690. MOV.F R16.w, R25.x;
  7691. MOV.F R17.w, R29.x;
  7692. MUL.F32 R19.z, R17.w, R16.w;
  7693. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7694. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7695. TRUNC.U R17.w, R17;
  7696. TRUNC.U R16.w, R16;
  7697. AND.U.CC HC.x, R17.w, R16.w;
  7698. MOV.S R26.x, R21.y;
  7699. IF NE.x;
  7700. MOV.F R21.y, R19.z;
  7701. ELSE;
  7702. MOV.F R21.y, {0, 0, 0, 0}.x;
  7703. ENDIF;
  7704. MOV.F R16.w, R25.x;
  7705. MOV.F R17.w, R29;
  7706. MUL.F32 R19.z, R17.w, R16.w;
  7707. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7708. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7709. TRUNC.U R17.w, R17;
  7710. TRUNC.U R16.w, R16;
  7711. AND.U.CC HC.x, R17.w, R16.w;
  7712. MOV.S R26.y, R21;
  7713. IF NE.x;
  7714. MOV.F R21.y, R19.z;
  7715. ELSE;
  7716. MOV.F R21.y, {0, 0, 0, 0}.x;
  7717. ENDIF;
  7718. MOV.F R16.w, R25.x;
  7719. MOV.F R17.w, R29.z;
  7720. MUL.F32 R19.z, R17.w, R16.w;
  7721. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7722. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7723. TRUNC.U R17.w, R17;
  7724. TRUNC.U R16.w, R16;
  7725. AND.U.CC HC.x, R17.w, R16.w;
  7726. MOV.S R24.z, R21.y;
  7727. IF NE.x;
  7728. MOV.F R21.y, R19.z;
  7729. ELSE;
  7730. MOV.F R21.y, {0, 0, 0, 0}.x;
  7731. ENDIF;
  7732. MOV.F R16.w, R28;
  7733. MOV.F R17.w, R23.x;
  7734. MUL.F32 R19.z, R17.w, R16.w;
  7735. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7736. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7737. TRUNC.U R16.w, R16;
  7738. TRUNC.U R17.w, R17;
  7739. AND.U.CC HC.x, R17.w, R16.w;
  7740. MOV.S R25.w, R21.y;
  7741. IF NE.x;
  7742. MOV.F R16.w, R19.z;
  7743. ELSE;
  7744. MOV.F R16.w, {0, 0, 0, 0}.x;
  7745. ENDIF;
  7746. MOV.F R19.z, R8.x;
  7747. MOV.F R17.w, R8.y;
  7748. ADD.F32 R17.w, R19.z, R17;
  7749. MOV.S R24.x, R17.w;
  7750. MOV.F R17.w, R28;
  7751. MOV.F R19.z, R22;
  7752. MUL.F32 R21.y, R19.z, R17.w;
  7753. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7754. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7755. TRUNC.U R17.w, R17;
  7756. TRUNC.U R19.z, R19;
  7757. AND.U.CC HC.x, R19.z, R17.w;
  7758. MOV.S R25.x, R16.w;
  7759. IF NE.x;
  7760. ELSE;
  7761. MOV.F R21.y, {0, 0, 0, 0}.x;
  7762. ENDIF;
  7763. MOV.F R16.w, R28;
  7764. MOV.F R17.w, R21;
  7765. MUL.F32 R19.z, R17.w, R16.w;
  7766. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7767. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7768. TRUNC.U R17.w, R17;
  7769. TRUNC.U R16.w, R16;
  7770. AND.U.CC HC.x, R17.w, R16.w;
  7771. MOV.S R25.y, R21;
  7772. IF NE.x;
  7773. MOV.F R16.w, R19.z;
  7774. ELSE;
  7775. MOV.F R16.w, {0, 0, 0, 0}.x;
  7776. ENDIF;
  7777. MOV.F R29, R6;
  7778. MOV.F R6.w, R23.y;
  7779. ADD.F32 R19.z, -R6.w, {1, 0, 0, 0}.x;
  7780. SNE.F32 R6.w, -R6, {-1, 0, 0, 0}.x;
  7781. MOV.F R17.w, c[6].x;
  7782. MOV.S R28.w, R19.z;
  7783. MOV.S R25.z, R16.w;
  7784. SNE.F32 R16.w, R17, {0, 0, 0, 0}.x;
  7785. MUL.F32 R19.z, R19, R17.w;
  7786. MOV.F R30.w, {1, 0, 0, 0}.x;
  7787. MOV.F R30.xyz, R16;
  7788. DP4.F32 R6.z, R29, R30;
  7789. TRUNC.U R6.w, R6;
  7790. TRUNC.U R16.w, R16;
  7791. AND.U.CC HC.x, R16.w, R6.w;
  7792. MOV.S R6.z, R6;
  7793. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  7794. IF NE.x;
  7795. MOV.F R6.w, R19.z;
  7796. ELSE;
  7797. MOV.F R6.w, {0, 0, 0, 0}.x;
  7798. ENDIF;
  7799. MOV.F R29.xyz, R16;
  7800. MOV.F R16.z, R25.x;
  7801. MOV.F R30, R10;
  7802. MOV.F R29.w, {1, 0, 0, 0}.x;
  7803. DP4.F32 R10.w, R29, R14;
  7804. DP4.F32 R10.y, R30, R29;
  7805. MOV.F R14.x, R28.y;
  7806. ADD.F32 R6.w, R16.z, R6;
  7807. ADD.F32 R6.w, R14.x, R6;
  7808. MOV.S R14.x, R10.w;
  7809. MOV.S R27.z, R6.w;
  7810. MOV.F R6.w, R28;
  7811. MOV.F R10.w, c[6].y;
  7812. MUL.F32 R14.y, R10.w, R6.w;
  7813. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7814. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7815. TRUNC.U R6.w, R6;
  7816. TRUNC.U R10.w, R10;
  7817. AND.U.CC HC.x, R10.w, R6.w;
  7818. MOV.S R10.y, R10;
  7819. IF NE.x;
  7820. MOV.F R14.w, R14.y;
  7821. ELSE;
  7822. MOV.F R14.w, {0, 0, 0, 0}.x;
  7823. ENDIF;
  7824. MOV.F R10.w, R28;
  7825. MOV.F R14.y, c[6].z;
  7826. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  7827. MUL.F32 R14.z, R14.y, R10.w;
  7828. SNE.F32 R10.w, R14.y, {0, 0, 0, 0}.x;
  7829. TRUNC.U R6.w, R6;
  7830. TRUNC.U R10.w, R10;
  7831. AND.U.CC HC.x, R10.w, R6.w;
  7832. MOV.S R29.x, R14.w;
  7833. IF NE.x;
  7834. MOV.F R14.w, R14.z;
  7835. ELSE;
  7836. MOV.F R14.w, {0, 0, 0, 0}.x;
  7837. ENDIF;
  7838. MOV.F R6.w, R8.z;
  7839. MOV.F R10.w, R8.x;
  7840. ADD.F32 R10.w, R10, R6;
  7841. MUL.F32 R10.w, R10, {0.5, 0, 0, 0}.x;
  7842. MOV.S R29.z, R10.w;
  7843. MOV.F R14.y, R29.x;
  7844. MOV.F R14.z, R25;
  7845. ADD.F32 R14.y, R14.z, R14;
  7846. MOV.F R14.z, R28.x;
  7847. ADD.F32 R14.y, R14.z, R14;
  7848. MOV.F R14.z, R8.y;
  7849. ADD.F32 R6.w, R14.z, R6;
  7850. MOV.F R14.z, R24.y;
  7851. MOV.F R10.w, R25.y;
  7852. MOV.S R29.w, R14.y;
  7853. ADD.F32 R14.y, R10.w, R14.w;
  7854. MOV.F R10.w, R26.x;
  7855. ADD.F32 R10.w, R10, R14.y;
  7856. MOV.S R29.x, R10.w;
  7857. MUL.F32 R10.w, R6, {0.5, 0, 0, 0}.x;
  7858. MOV.F R6.w, R24.x;
  7859. MOV.S R28.w, R10;
  7860. MAD.F32 R6.w, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7861. MOV.F R10.w, R27.z;
  7862. MOV.F R14.y, R24.w;
  7863. ADD.F32 R14.y, R14, R10.w;
  7864. MOV.F R10.w, R24.z;
  7865. ADD.F32 R14.w, R10, R14.y;
  7866. MOV.F R10.w, R13.x;
  7867. MOV.S R6.w, R6;
  7868. MOV.F R13.x, R6.w;
  7869. ADD.F32 R14.y, R14.z, R14.w;
  7870. MUL.F32 R14.y, R10.w, R14;
  7871. SNE.F32 R6.w, R14.z, -R14;
  7872. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  7873. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7874. TRUNC.U R6.w, R6;
  7875. TRUNC.U R10.w, R10;
  7876. AND.U.CC HC.x, R10.w, R6.w;
  7877. MOV.S R24.y, R13.x;
  7878. IF NE.x;
  7879. ELSE;
  7880. MOV.F R14.y, {0, 0, 0, 0}.x;
  7881. ENDIF;
  7882. MOV.F R10.w, R17.x;
  7883. MOV.F R6.w, R29.x;
  7884. ADD.F32 R6.w, R10, R6;
  7885. MOV.S R30.w, R6;
  7886. MOV.F R6.w, R29;
  7887. MOV.F R10.w, R21.x;
  7888. ADD.F32 R10.w, R10, R6;
  7889. MOV.F R6.w, R28;
  7890. MOV.S R30.y, R10.w;
  7891. ADD.F32 R10.w, R6, {-0.5, 0, 0, 0}.x;
  7892. MUL.F32 R10.w, R10, {2, 0, 0, 0}.x;
  7893. MOV.F R6.w, R29.z;
  7894. ADD.F32 R6.w, R6, {-0.5, 0, 0, 0}.x;
  7895. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  7896. MOV.S R24.z, R10.w;
  7897. MOV.S R28.w, R6;
  7898. MOV.F R6.w, c[12].y;
  7899. MUL.F32 R13.x, R14.y, R6.w;
  7900. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7901. SNE.F32 R10.w, R14.y, {0, 0, 0, 0}.x;
  7902. TRUNC.U R6.w, R6;
  7903. TRUNC.U R10.w, R10;
  7904. AND.U.CC HC.x, R10.w, R6.w;
  7905. MOV.S R30.x, R14.y;
  7906. IF NE.x;
  7907. MOV.F R14.y, R13.x;
  7908. ELSE;
  7909. MOV.F R14.y, {0, 0, 0, 0}.x;
  7910. ENDIF;
  7911. MOV.F R6.w, R30.y;
  7912. MOV.F R10.w, R26.y;
  7913. ADD.F32 R10.w, R10, R6;
  7914. MOV.S R29.z, R10.w;
  7915. MOV.F R13.x, R25.w;
  7916. MOV.F R6.w, R30;
  7917. ADD.F32 R6.w, R13.x, R6;
  7918. MOV.S R29.y, R6.w;
  7919. MOV.F R6.w, c[12].y;
  7920. MOV.F R10.w, R30.x;
  7921. MUL.F32 R13.x, R10.w, R6.w;
  7922. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7923. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7924. TRUNC.U R10.w, R10;
  7925. TRUNC.U R6.w, R6;
  7926. AND.U.CC HC.x, R10.w, R6.w;
  7927. MOV.S R17.x, R14.y;
  7928. IF NE.x;
  7929. MOV.F R6.w, R13.x;
  7930. ELSE;
  7931. MOV.F R6.w, {0, 0, 0, 0}.x;
  7932. ENDIF;
  7933. MOV.F R13.x, R28.z;
  7934. MOV.F R10.w, R29.z;
  7935. ADD.F32 R10.w, R13.x, R10;
  7936. MOV.S R30.x, R10.w;
  7937. MOV.F R10.w, R8.x;
  7938. ADD.F32 R14.y, R10.w, {-0.5, 0, 0, 0}.x;
  7939. MOV.S R25.z, R14.y;
  7940. MOV.F R14.y, R8;
  7941. MOV.F R13.x, R22;
  7942. MOV.F R10.w, R29.y;
  7943. ADD.F32 R10.w, R13.x, R10;
  7944. MOV.S R30.z, R10.w;
  7945. MOV.F R10.w, R8.z;
  7946. ADD.F32 R10.w, R10, {-0.5, 0, 0, 0}.x;
  7947. MOV.S R14.w, R10;
  7948. MOV.F R13.x, R24.y;
  7949. ADD.F32 R14.y, R14, {-0.5, 0, 0, 0}.x;
  7950. MOV.F R10.w, c[13].x;
  7951. MUL.F32 R14.z, R13.x, R10.w;
  7952. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7953. MOV.S R24.y, R14;
  7954. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7955. TRUNC.U R14.y, R13.x;
  7956. TRUNC.U R13.x, R10.w;
  7957. AND.U.CC HC.x, R14.y, R13;
  7958. MOV.S R10.w, R6;
  7959. IF NE.x;
  7960. MOV.F R14.y, R14.z;
  7961. ELSE;
  7962. MOV.F R14.y, {0, 0, 0, 0}.x;
  7963. ENDIF;
  7964. MOV.F R13.x, R13.z;
  7965. MOV.F R6.w, R30.z;
  7966. MUL.F32 R13.z, R13.x, R6.w;
  7967. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7968. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7969. TRUNC.U R13.x, R13;
  7970. TRUNC.U R6.w, R6;
  7971. AND.U.CC HC.x, R13, R6.w;
  7972. MOV.S R27.z, R14.y;
  7973. IF NE.x;
  7974. MOV.F R14.y, R13.z;
  7975. ELSE;
  7976. MOV.F R14.y, {0, 0, 0, 0}.x;
  7977. ENDIF;
  7978. MOV.F R6.w, c[13].y;
  7979. MOV.F R13.x, R24.z;
  7980. MUL.F32 R13.z, R13.x, R6.w;
  7981. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7982. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7983. TRUNC.U R13.x, R13;
  7984. TRUNC.U R6.w, R6;
  7985. AND.U.CC HC.x, R13, R6.w;
  7986. MOV.S R29.x, R14.y;
  7987. IF NE.x;
  7988. MOV.F R16.z, R13;
  7989. ELSE;
  7990. MOV.F R16.z, {0, 0, 0, 0}.x;
  7991. ENDIF;
  7992. MOV.F R6.w, R13.y;
  7993. MOV.F R13.z, R30.x;
  7994. MUL.F32 R14.y, R6.w, R13.z;
  7995. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7996. TRUNC.U R13.x, R6.w;
  7997. SNE.F32 R6.w, R13.z, {0, 0, 0, 0}.x;
  7998. TRUNC.U R6.w, R6;
  7999. AND.U.CC HC.x, R13, R6.w;
  8000. MOV.F R13.y, c[14].x;
  8001. MOV.F R13.z, R27;
  8002. ADD.F32 R13.y, R13.z, R13;
  8003. MOV.S R14.z, R13.y;
  8004. MOV.S R29.y, R16.z;
  8005. IF NE.x;
  8006. MOV.F R13.z, R14.y;
  8007. ELSE;
  8008. MOV.F R13.z, {0, 0, 0, 0}.x;
  8009. ENDIF;
  8010. MOV.F R6.w, R8.y;
  8011. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  8012. MOV.S R19.z, R6.w;
  8013. MOV.F R6.w, c[12];
  8014. MOV.F R13.x, R29;
  8015. MUL.F32 R13.y, R13.x, R6.w;
  8016. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8017. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  8018. TRUNC.U R13.x, R13;
  8019. TRUNC.U R6.w, R6;
  8020. AND.U.CC HC.x, R13, R6.w;
  8021. MOV.S R29.w, R13.z;
  8022. IF NE.x;
  8023. MOV.F R13.z, R13.y;
  8024. ELSE;
  8025. MOV.F R13.z, {0, 0, 0, 0}.x;
  8026. ENDIF;
  8027. MOV.S R21.x, R13.z;
  8028. MOV.F R13.y, c[12].z;
  8029. MOV.F R13.x, c[14].y;
  8030. MOV.F R6.w, R29.y;
  8031. ADD.F32 R6.w, R13.x, R6;
  8032. MOV.F R13.x, R29.w;
  8033. MOV.S R14.y, R6.w;
  8034. SNE.F32 R6.w, R13.x, {0, 0, 0, 0}.x;
  8035. MUL.F32 R16.z, R13.x, R13.y;
  8036. TRUNC.U R13.x, R6.w;
  8037. SNE.F32 R6.w, R13.y, {0, 0, 0, 0}.x;
  8038. MOV.F R13.z, R19;
  8039. FLR.F R13.y, R13.z;
  8040. TRUNC.U R6.w, R6;
  8041. AND.U.CC HC.x, R13, R6.w;
  8042. MOV.S R30.z, R13.y;
  8043. IF NE.x;
  8044. MOV.F R13.y, R16.z;
  8045. ELSE;
  8046. MOV.F R13.y, {0, 0, 0, 0}.x;
  8047. ENDIF;
  8048. MOV.F R6.w, R8.z;
  8049. MUL.F32 R13.x, R6.w, {2, 0, 0, 0};
  8050. MOV.F R6.w, R30.z;
  8051. MOV.S R27.z, R13.x;
  8052. SGT.F32 R13.x, R6.w, {0, 0, 0, 0};
  8053. TRUNC.U.CC HC.x, R13;
  8054. MOV.S R6.w, R13.y;
  8055. IF NE.x;
  8056. MOV.F R13.y, {1, 0, 0, 0}.x;
  8057. ELSE;
  8058. MOV.F R13.y, {0, 0, 0, 0}.x;
  8059. ENDIF;
  8060. MOV.F R13.x, R30.z;
  8061. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  8062. TRUNC.U.CC HC.x, R13;
  8063. MOV.S R29.x, R13.y;
  8064. IF NE.x;
  8065. MOV.F R19.z, {1, 0, 0, 0}.x;
  8066. ELSE;
  8067. MOV.F R19.z, {0, 0, 0, 0}.x;
  8068. ENDIF;
  8069. MOV.F R13.y, R27.z;
  8070. FLR.F R16.z, R13.y;
  8071. MOV.F R13.z, c[13];
  8072. MOV.F R13.x, R28.w;
  8073. MUL.F32 R16.w, R13.x, R13.z;
  8074. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8075. TRUNC.U R13.y, R13.x;
  8076. SNE.F32 R13.x, R13.z, {0, 0, 0, 0};
  8077. MOV.F R13.z, R19;
  8078. TRUNC.U R13.x, R13;
  8079. AND.U.CC HC.x, R13.y, R13;
  8080. MOV.S R29.z, R16;
  8081. MOV.S R29.y, R13.z;
  8082. IF NE.x;
  8083. MOV.F R13.z, R16.w;
  8084. ELSE;
  8085. MOV.F R13.z, {0, 0, 0, 0}.x;
  8086. ENDIF;
  8087. MOV.F R13.x, R8;
  8088. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  8089. MOV.S R19.z, R13.x;
  8090. MOV.F R13.x, R29.z;
  8091. MOV.F R13.y, c[14].z;
  8092. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  8093. ADD.F32 R13.y, R13, R13.z;
  8094. TRUNC.U.CC HC.x, R13;
  8095. MOV.S R22.x, R13.y;
  8096. IF NE.x;
  8097. MOV.F R16.z, {1, 0, 0, 0}.x;
  8098. ELSE;
  8099. MOV.F R16.z, {0, 0, 0, 0}.x;
  8100. ENDIF;
  8101. MOV.F R13.y, R29.x;
  8102. MOV.F R13.x, R29.y;
  8103. ADD.F32 R13.x, R13.y, -R13;
  8104. MOV.S R13.z, R13.x;
  8105. MOV.F R13.x, R29.z;
  8106. MOV.F R13.y, R16.z;
  8107. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  8108. TRUNC.U.CC HC.x, R13;
  8109. MOV.S R30.y, R13;
  8110. IF NE.x;
  8111. MOV.F R13.y, {1, 0, 0, 0}.x;
  8112. ELSE;
  8113. MOV.F R13.y, {0, 0, 0, 0}.x;
  8114. ENDIF;
  8115. MOV.F R16.z, R13.y;
  8116. MOV.F R13.x, R19.z;
  8117. FLR.F R13.y, R13.x;
  8118. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  8119. TRUNC.U.CC HC.x, R13;
  8120. MOV.S R30.w, R16.z;
  8121. MOV.S R27.z, R13.y;
  8122. IF NE.x;
  8123. MOV.F R16.z, {1, 0, 0, 0}.x;
  8124. ELSE;
  8125. MOV.F R16.z, {0, 0, 0, 0}.x;
  8126. ENDIF;
  8127. MOV.F R13.y, R30.w;
  8128. MOV.F R13.x, R30.y;
  8129. ADD.F32 R13.x, R13.y, -R13;
  8130. MOV.S R13.y, R13.x;
  8131. MOV.F R13.x, R27.z;
  8132. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  8133. TRUNC.U.CC HC.x, R13;
  8134. MOV.S R29.x, R16.z;
  8135. IF NE.x;
  8136. MOV.F R21.y, {1, 0, 0, 0}.x;
  8137. ELSE;
  8138. MOV.F R21.y, {0, 0, 0, 0}.x;
  8139. ENDIF;
  8140. MOV.F R16.z, R25;
  8141. MOV.F R16.w, c[15].x;
  8142. SNE.F32 R13.x, R16.z, {0, 0, 0, 0};
  8143. MUL.F32 R19.z, R16, R16.w;
  8144. TRUNC.U R16.z, R13.x;
  8145. SNE.F32 R13.x, R16.w, {0, 0, 0, 0};
  8146. MOV.F R16.w, R21.y;
  8147. TRUNC.U R13.x, R13;
  8148. AND.U.CC HC.x, R16.z, R13;
  8149. MOV.S R29.z, R16.w;
  8150. IF NE.x;
  8151. MOV.F R16.w, R19.z;
  8152. ELSE;
  8153. MOV.F R16.w, {0, 0, 0, 0}.x;
  8154. ENDIF;
  8155. MOV.F R13.x, c[15].y;
  8156. MOV.F R16.z, R24.y;
  8157. MUL.F32 R19.z, R16, R13.x;
  8158. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  8159. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8160. TRUNC.U R16.z, R16;
  8161. TRUNC.U R13.x, R13;
  8162. AND.U.CC HC.x, R16.z, R13;
  8163. MOV.S R16.w, R16;
  8164. IF NE.x;
  8165. ELSE;
  8166. MOV.F R19.z, {0, 0, 0, 0}.x;
  8167. ENDIF;
  8168. MOV.F R16.z, R29;
  8169. MOV.F R13.x, R29;
  8170. ADD.F32 R13.x, R16.z, -R13;
  8171. MOV.S R13.x, R13;
  8172. MOV.S R16.z, R19;
  8173. ENDIF;
  8174. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  8175. MOV.U.CC RC.x, -R19.z;
  8176. IF NE.x;
  8177. MOV.F R21.y, R14.w;
  8178. MOV.F R21.z, c[15];
  8179. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  8180. MUL.F32 R23.x, R21.y, R21.z;
  8181. TRUNC.U R21.y, R19.z;
  8182. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  8183. AND.S R22.z, c[2].x, {65536, 0, 0, 0}.x;
  8184. I2F.S R21.z, R22;
  8185. TRUNC.U R19.z, R19;
  8186. AND.U.CC HC.x, R21.y, R19.z;
  8187. AND.S R28.w, c[2].x, {262144, 0, 0, 0}.x;
  8188. AND.S R28.x, c[2], {131072, 0, 0, 0};
  8189. MOV.S R27.z, R21;
  8190. IF NE.x;
  8191. MOV.F R21.y, R23.x;
  8192. ELSE;
  8193. MOV.F R21.y, {0, 0, 0, 0}.x;
  8194. ENDIF;
  8195. MOV.F R19.z, R27;
  8196. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  8197. TRUNC.U.CC HC.x, R19.z;
  8198. MOV.S R26.x, R21.y;
  8199. IF NE.x;
  8200. MOV.F R21.y, {1, 0, 0, 0}.x;
  8201. ELSE;
  8202. MOV.F R21.y, {0, 0, 0, 0}.x;
  8203. ENDIF;
  8204. MOV.F R19.z, R27;
  8205. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  8206. TRUNC.U.CC HC.x, R19.z;
  8207. MOV.S R29.z, R21.y;
  8208. IF NE.x;
  8209. MOV.F R21.z, {1, 0, 0, 0}.x;
  8210. ELSE;
  8211. MOV.F R21.z, {0, 0, 0, 0}.x;
  8212. ENDIF;
  8213. I2F.S R21.y, R28.x;
  8214. MOV.S R19.z, R21.y;
  8215. SGT.F32 R21.y, {0, 0, 0, 0}.x, R21;
  8216. TRUNC.U.CC HC.x, R21.y;
  8217. MOV.S R29.w, R21.z;
  8218. IF NE.x;
  8219. MOV.F R22.z, {1, 0, 0, 0}.x;
  8220. ELSE;
  8221. MOV.F R22.z, {0, 0, 0, 0}.x;
  8222. ENDIF;
  8223. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  8224. TRUNC.U.CC HC.x, R19.z;
  8225. MOV.F R21.y, R29.z;
  8226. MOV.F R21.z, R29.w;
  8227. ADD.F32 R21.y, R21.z, -R21;
  8228. MOV.S R30.y, R21;
  8229. MOV.F R21.y, R22.z;
  8230. MOV.S R30.x, R21.y;
  8231. IF NE.x;
  8232. MOV.F R21.y, {1, 0, 0, 0}.x;
  8233. ELSE;
  8234. MOV.F R21.y, {0, 0, 0, 0}.x;
  8235. ENDIF;
  8236. I2F.S R21.z, R28.w;
  8237. MOV.F R19.z, R30.x;
  8238. ADD.F32 R21.y, R21, -R19.z;
  8239. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  8240. TRUNC.U.CC HC.x, R19.z;
  8241. MOV.S R27.z, R21;
  8242. MOV.S R29.x, R21.y;
  8243. IF NE.x;
  8244. MOV.F R21.y, {1, 0, 0, 0}.x;
  8245. ELSE;
  8246. MOV.F R21.y, {0, 0, 0, 0}.x;
  8247. ENDIF;
  8248. MOV.F R19.z, R27;
  8249. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  8250. TRUNC.U.CC HC.x, R19.z;
  8251. MOV.S R29.y, R21;
  8252. IF NE.x;
  8253. MOV.F R22.z, {1, 0, 0, 0}.x;
  8254. ELSE;
  8255. MOV.F R22.z, {0, 0, 0, 0}.x;
  8256. ENDIF;
  8257. MOV.F R19.z, R30.y;
  8258. TRUNC.S R21.y, R19.z;
  8259. ADD.S R19.z, -R21.y, {0, 0, 0, 0}.x;
  8260. MAX.S R29.z, R21.y, R19;
  8261. MOV.F R21.z, R29.x;
  8262. TRUNC.S R21.z, R21;
  8263. MOV.F R21.y, R29;
  8264. MOV.F R19.z, c[14].w;
  8265. ADD.F32 R21.y, R21, -R22.z;
  8266. SEQ.F R19.z, R19, {1, 0, 0, 0}.x;
  8267. TRUNC.U.CC HC.x, R19.z;
  8268. ADD.S R29.x, -R21.z, {0, 0, 0, 0};
  8269. MOV.S R28.w, R21.z;
  8270. MOV.S R30.w, R21.y;
  8271. IF NE.x;
  8272. MOV.S R21.y, {-1, 0, 0, 0}.x;
  8273. ELSE;
  8274. MOV.S R21.y, {0, 0, 0, 0}.x;
  8275. ENDIF;
  8276. MOV.F R19.z, R30.w;
  8277. TRUNC.S R22.z, R19;
  8278. ADD.S R21.z, -R22, {0, 0, 0, 0}.x;
  8279. MAX.S R30.y, R28.w, R29.x;
  8280. MAX.S R29.x, R22.z, R21.z;
  8281. I2F.S R19.z, R29;
  8282. MUL.F32 R21.z, R19, {2, 0, 0, 0}.x;
  8283. MOV.F R22.z, R13;
  8284. SNE.F32 R19.z, -R21, {0, 0, 0, 0}.x;
  8285. MUL.F32 R23.z, -R21, R22;
  8286. TRUNC.U R21.z, R19;
  8287. SNE.F32 R19.z, R22, {0, 0, 0, 0}.x;
  8288. MOV.F R23.x, c[14].w;
  8289. ADD.F32 R22.z, -R23.x, {1, 0, 0, 0}.x;
  8290. TRUNC.U R19.z, R19;
  8291. AND.U.CC HC.x, R21.z, R19.z;
  8292. MOV.S R24.y, R22.z;
  8293. IF NE.x;
  8294. ELSE;
  8295. MOV.F R23.z, {0, 0, 0, 0}.x;
  8296. ENDIF;
  8297. MOV.F R21.z, R14;
  8298. SNE.F32 R22.z, R21, {0, 0, 0, 0}.x;
  8299. I2F.S R19.z, R30.y;
  8300. MUL.F32 R19.z, R19, {2, 0, 0, 0}.x;
  8301. MUL.F32 R23.x, R23.z, R21.z;
  8302. SNE.F32 R21.z, R23, {0, 0, 0, 0}.x;
  8303. TRUNC.U R22.z, R22;
  8304. TRUNC.U R21.z, R21;
  8305. AND.U.CC HC.x, R22.z, R21.z;
  8306. MOV.S R19.z, R19;
  8307. MOV.S R29.w, R23.z;
  8308. IF NE.x;
  8309. MOV.F R23.z, R23.x;
  8310. ELSE;
  8311. MOV.F R23.z, {0, 0, 0, 0}.x;
  8312. ENDIF;
  8313. MOV.F R21.z, R29.w;
  8314. MOV.F R22.z, R15.x;
  8315. MUL.F32 R23.x, R22.z, R21.z;
  8316. SNE.F32 R22.z, R22, {0, 0, 0, 0}.x;
  8317. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  8318. TRUNC.U R22.z, R22;
  8319. TRUNC.U R21.z, R21;
  8320. AND.U.CC HC.x, R22.z, R21.z;
  8321. MOV.S R30.x, R23.z;
  8322. IF NE.x;
  8323. MOV.F R23.z, R23.x;
  8324. ELSE;
  8325. MOV.F R23.z, {0, 0, 0, 0}.x;
  8326. ENDIF;
  8327. MOV.F R21.z, R13.y;
  8328. MOV.F R22.z, R19;
  8329. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  8330. MUL.F32 R23.x, -R22.z, R21.z;
  8331. SNE.F32 R21.z, -R22, {0, 0, 0, 0}.x;
  8332. TRUNC.U R19.z, R19;
  8333. TRUNC.U R21.z, R21;
  8334. AND.U.CC HC.x, R21.z, R19.z;
  8335. MOV.S R30.y, R23.z;
  8336. IF NE.x;
  8337. ELSE;
  8338. MOV.F R23.x, {0, 0, 0, 0};
  8339. ENDIF;
  8340. I2F.S R21.z, R29.x;
  8341. MOV.F R19.z, R13.x;
  8342. MUL.F32 R21.z, R21, {2, 0, 0, 0}.x;
  8343. MUL.F32 R22.z, -R21, R19;
  8344. SNE.F32 R21.z, -R21, {0, 0, 0, 0}.x;
  8345. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  8346. TRUNC.U R21.z, R21;
  8347. TRUNC.U R19.z, R19;
  8348. AND.U.CC HC.x, R21.z, R19.z;
  8349. MOV.S R30.z, R23.x;
  8350. IF NE.x;
  8351. MOV.F R23.x, R22.z;
  8352. ELSE;
  8353. MOV.F R23.x, {0, 0, 0, 0};
  8354. ENDIF;
  8355. MOV.F R21.z, R14;
  8356. MOV.F R19.z, R30.x;
  8357. ADD.F32 R19.z, R21, R19;
  8358. MOV.S R26.y, R19.z;
  8359. MOV.F R19.z, R30;
  8360. MOV.F R21.z, R14.y;
  8361. MUL.F32 R22.z, R21, R19;
  8362. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  8363. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  8364. TRUNC.U R21.z, R21;
  8365. TRUNC.U R19.z, R19;
  8366. AND.U.CC HC.x, R21.z, R19.z;
  8367. MOV.S R29.x, R23;
  8368. IF NE.x;
  8369. ELSE;
  8370. MOV.F R22.z, {0, 0, 0, 0}.x;
  8371. ENDIF;
  8372. MOV.F R19.z, R30.y;
  8373. ADD.F32 R15.x, R15, R19.z;
  8374. MOV.S R29.w, R15.x;
  8375. MOV.F R15.x, R30.z;
  8376. MOV.F R19.z, R15.y;
  8377. MUL.F32 R21.z, R19, R15.x;
  8378. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  8379. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8380. TRUNC.U R19.z, R19;
  8381. TRUNC.U R15.x, R15;
  8382. AND.U.CC HC.x, R19.z, R15;
  8383. MOV.S R29.z, R22;
  8384. IF NE.x;
  8385. MOV.F R19.z, R21;
  8386. ELSE;
  8387. MOV.F R19.z, {0, 0, 0, 0}.x;
  8388. ENDIF;
  8389. MOV.F R15.x, R29.z;
  8390. ADD.F32 R14.y, R14, R15.x;
  8391. MOV.S R28.x, R14.y;
  8392. MOV.F R14.y, R29.x;
  8393. MOV.F R15.x, R22;
  8394. MUL.F32 R21.z, R15.x, R14.y;
  8395. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  8396. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8397. TRUNC.U R14.y, R14;
  8398. TRUNC.U R15.x, R15;
  8399. AND.U.CC HC.x, R15, R14.y;
  8400. MOV.S R19.z, R19;
  8401. IF NE.x;
  8402. MOV.F R14.y, R21.z;
  8403. ELSE;
  8404. MOV.F R14.y, {0, 0, 0, 0}.x;
  8405. ENDIF;
  8406. MOV.F R15.x, R16.w;
  8407. MOV.F R16.w, R29;
  8408. ADD.F32 R15.x, R16.w, R15;
  8409. MOV.S R24.w, R15.x;
  8410. MOV.F R15.x, R19.z;
  8411. ADD.F32 R16.w, R15.y, R15.x;
  8412. MOV.F R15.x, R29;
  8413. MOV.F R15.y, R15.z;
  8414. MUL.F32 R19.z, R15.y, R15.x;
  8415. SNE.F32 R15.y, R15, {0, 0, 0, 0}.x;
  8416. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8417. TRUNC.U R15.y, R15;
  8418. TRUNC.U R15.x, R15;
  8419. AND.U.CC HC.x, R15.y, R15;
  8420. MOV.S R30.z, R16.w;
  8421. MOV.S R30.y, R14;
  8422. IF NE.x;
  8423. MOV.F R15.y, R19.z;
  8424. ELSE;
  8425. MOV.F R15.y, {0, 0, 0, 0}.x;
  8426. ENDIF;
  8427. MOV.F R14.y, R16.z;
  8428. MOV.F R15.x, R30.z;
  8429. ADD.F32 R15.x, R15, R14.y;
  8430. MOV.F R14.y, R15.z;
  8431. ADD.F32 R14.y, R14, R15;
  8432. MOV.S R24.x, R15;
  8433. MOV.S R29.y, R14;
  8434. MOV.F R14.y, c[14].w;
  8435. LG2.F32 R16.w, R14.y;
  8436. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  8437. MOV.F R15.x, R30.y;
  8438. MOV.F R15.y, R22.x;
  8439. ADD.F32 R15.y, R15, R15.x;
  8440. MUL.F32 R15.x, R16.w, {2, 0, 0, 0};
  8441. SEQ.F R15.x, R16.w, R15;
  8442. TRUNC.U R14.y, R14;
  8443. TRUNC.U R15.x, R15;
  8444. AND.U R14.y, R15.x, R14;
  8445. SEQ.U R14.y, R14, {1, 0, 0, 0}.x;
  8446. MOV.U.CC RC.x, -R14.y;
  8447. MOV.S R28.w, R15.y;
  8448. IF NE.x;
  8449. MOV.F R16.w, {-3.40282347e+38, 0, 0, 0}.x;
  8450. ENDIF;
  8451. MOV.F R15.x, R13.w;
  8452. MUL.F32 R15.y, R15.x, R16.w;
  8453. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  8454. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8455. TRUNC.U R14.y, R14;
  8456. TRUNC.U R15.x, R15;
  8457. AND.U.CC HC.x, R15, R14.y;
  8458. IF NE.x;
  8459. MOV.F R14.y, R15;
  8460. ELSE;
  8461. MOV.F R14.y, {0, 0, 0, 0}.x;
  8462. ENDIF;
  8463. MOV.S R14.y, R14;
  8464. MOV.F R15.y, R14;
  8465. MOV.F R15.x, R29.y;
  8466. MOV.F R14.y, R26.x;
  8467. ADD.F32 R14.y, R15.x, R14;
  8468. EX2.F32 R15.y, R15.y;
  8469. ADD.F32 R15.x, -R15.y, {1, 0, 0, 0};
  8470. MOV.S R26.w, R14.y;
  8471. MOV.S R14.y, R15.x;
  8472. MOV.F R15.x, R24.y;
  8473. DIV.F32 R15.x, R14.y, R15.x;
  8474. SEQ.S R14.y, R21, {0, 0, 0, 0}.x;
  8475. MOV.U.CC RC.x, -R14.y;
  8476. MOV.S R29.w, R15.x;
  8477. IF NE.x;
  8478. MOV.S R19.z, R29.w;
  8479. ELSE;
  8480. MOV.S R19.z, R13.w;
  8481. ENDIF;
  8482. MOV.F R14.y, R19.z;
  8483. MOV.F R15.x, R28;
  8484. MUL.F32 R15.y, R15.x, R14;
  8485. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  8486. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8487. TRUNC.U R14.y, R14;
  8488. TRUNC.U R15.x, R15;
  8489. AND.U.CC HC.x, R15, R14.y;
  8490. IF NE.x;
  8491. MOV.F R16.w, R15.y;
  8492. ELSE;
  8493. MOV.F R16.w, {0, 0, 0, 0}.x;
  8494. ENDIF;
  8495. MOV.F R14.y, R19.z;
  8496. MOV.F R15.x, R26.y;
  8497. MUL.F32 R15.y, R15.x, R14;
  8498. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8499. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  8500. TRUNC.U R15.x, R15;
  8501. TRUNC.U R14.y, R14;
  8502. AND.U.CC HC.x, R15, R14.y;
  8503. MOV.S R29.x, R16.w;
  8504. IF NE.x;
  8505. MOV.F R16.w, R15.y;
  8506. ELSE;
  8507. MOV.F R16.w, {0, 0, 0, 0}.x;
  8508. ENDIF;
  8509. MOV.F R14.y, R19.z;
  8510. MOV.F R15.x, R28.w;
  8511. MUL.F32 R15.y, R15.x, R14;
  8512. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  8513. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  8514. TRUNC.U R15.x, R15;
  8515. TRUNC.U R14.y, R14;
  8516. AND.U.CC HC.x, R15, R14.y;
  8517. MOV.S R29.y, R16.w;
  8518. IF NE.x;
  8519. MOV.F R21.y, R15;
  8520. ELSE;
  8521. MOV.F R21.y, {0, 0, 0, 0}.x;
  8522. ENDIF;
  8523. MOV.F R15.x, R24.w;
  8524. MOV.F R14.y, R29;
  8525. ADD.F32 R14.y, R15.x, R14;
  8526. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8527. FRC.F32 R14.y, R14;
  8528. MAD.F32 R14.y, R14, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  8529. MUL.F32 R14.y, R14, {0.159154937, 0, 0, 0}.x;
  8530. MOV.S R14.y, R14;
  8531. MOV.F R15.y, R24.x;
  8532. MOV.F R15.x, R29;
  8533. ADD.F32 R15.x, R15.y, R15;
  8534. MOV.S R16.w, R15.x;
  8535. MOV.F R15.x, R14.y;
  8536. MUL.F32 R19.z, R15.x, {6.28318548, 0, 0, 0}.x;
  8537. SIN.F32 R15.x, R19.z;
  8538. MOV.F R14.y, R26.w;
  8539. ADD.F32 R14.y, R14, R21;
  8540. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8541. MOV.S R15.y, R15.x;
  8542. FRC.F32 R15.x, R14.y;
  8543. COS.F32 R14.y, R19.z;
  8544. MAD.F32 R19.z, R15.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  8545. MOV.S R22.x, R14.y;
  8546. MUL.F32 R14.y, R19.z, {0.159154937, 0, 0, 0}.x;
  8547. MOV.S R15.x, R14.y;
  8548. SIN.F32 R14.y, R19.z;
  8549. MOV.S R14.y, R14;
  8550. ENDIF;
  8551. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  8552. MOV.U.CC RC.x, -R19.z;
  8553. IF NE.x;
  8554. MOV.F R10.z, R6;
  8555. MOV.F R4.w, c[16].x;
  8556. ADD.F32 R4.w, -R10.z, R4;
  8557. MOV.S R10.z, R4.w;
  8558. MOV.S R4.w, R10.z;
  8559. SGT.F32 R4.w, -R4, {0, 0, 0, 0}.x;
  8560. TRUNC.U.CC HC.x, R4.w;
  8561. MOV.F R13.x, c[16].z;
  8562. MOV.F R13.y, R14.x;
  8563. ADD.F32 R13.x, -R13.y, R13;
  8564. MOV.S R24.x, R13;
  8565. MOV.S R26.y, R10.z;
  8566. IF NE.x;
  8567. MOV.F R10.z, {1, 0, 0, 0}.x;
  8568. ELSE;
  8569. MOV.F R10.z, {0, 0, 0, 0}.x;
  8570. ENDIF;
  8571. MOV.F R4.w, R26.y;
  8572. SEQ.F R4.w, -R4, {0, 0, 0, 0}.x;
  8573. TRUNC.U.CC HC.x, R4.w;
  8574. MOV.S R30.x, R10.z;
  8575. IF NE.x;
  8576. MOV.S R10.z, {-1, 0, 0, 0}.x;
  8577. ELSE;
  8578. MOV.S R10.z, {0, 0, 0, 0}.x;
  8579. ENDIF;
  8580. MOV.F R4.w, R24.x;
  8581. SEQ.F R4.w, R4, {0, 0, 0, 0}.x;
  8582. TRUNC.U.CC HC.x, R4.w;
  8583. IF NE.x;
  8584. MOV.S R4.w, {-1, 0, 0, 0}.x;
  8585. ELSE;
  8586. MOV.S R4.w, {0, 0, 0, 0}.x;
  8587. ENDIF;
  8588. MOV.F R13.x, R26.y;
  8589. SGT.F32 R13.x, {0, 0, 0, 0}, -R13;
  8590. TRUNC.U.CC HC.x, R13;
  8591. IF NE.x;
  8592. MOV.F R13.z, {1, 0, 0, 0}.x;
  8593. ELSE;
  8594. MOV.F R13.z, {0, 0, 0, 0}.x;
  8595. ENDIF;
  8596. MOV.F R13.y, R24.x;
  8597. MOV.F R13.x, R26.y;
  8598. DIV.F32 R13.x, -R13, R13.y;
  8599. MOV.S R29.x, R13;
  8600. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  8601. TRUNC.U.CC HC.x, R13;
  8602. MOV.S R30.w, R13.z;
  8603. IF NE.x;
  8604. MOV.S R14.z, {-1, 0, 0, 0}.x;
  8605. ELSE;
  8606. MOV.S R14.z, {0, 0, 0, 0}.x;
  8607. ENDIF;
  8608. MOV.F R13.y, R30.x;
  8609. MOV.F R13.x, R30.w;
  8610. ADD.F32 R13.x, R13.y, -R13;
  8611. MOV.F R13.y, R15.x;
  8612. MOV.S R28.z, R13.x;
  8613. MUL.F32 R13.y, R13, {6.28318548, 0, 0, 0}.x;
  8614. MOV.F R13.x, R29;
  8615. COS.F32 R13.y, R13.y;
  8616. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  8617. TRUNC.U.CC HC.x, R13;
  8618. MOV.S R28.x, R13.y;
  8619. IF NE.x;
  8620. MOV.F R13.y, {1, 0, 0, 0}.x;
  8621. ELSE;
  8622. MOV.F R13.y, {0, 0, 0, 0}.x;
  8623. ENDIF;
  8624. MOV.F R13.x, R29;
  8625. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  8626. TRUNC.U.CC HC.x, R13;
  8627. MOV.S R30.x, R13.y;
  8628. IF NE.x;
  8629. MOV.F R13.y, {1, 0, 0, 0}.x;
  8630. ELSE;
  8631. MOV.F R13.y, {0, 0, 0, 0}.x;
  8632. ENDIF;
  8633. MOV.F R13.z, R13.y;
  8634. MOV.F R13.x, R29;
  8635. MAX.F R13.x, R13, -R13;
  8636. MOV.S R25.z, R13.x;
  8637. MOV.F R13.x, R14.z;
  8638. MOV.F R13.y, R10.z;
  8639. SNE.F32 R10.z, R13.x, {0, 0, 0, 0}.x;
  8640. MUL.F32 R14.z, R13.y, R13.x;
  8641. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  8642. TRUNC.U R10.z, R10;
  8643. TRUNC.U R13.x, R13;
  8644. AND.U.CC HC.x, R13, R10.z;
  8645. MOV.S R30.y, R13.z;
  8646. IF NE.x;
  8647. MOV.F R13.x, R14.z;
  8648. ELSE;
  8649. MOV.F R13.x, {0, 0, 0, 0};
  8650. ENDIF;
  8651. MOV.F R10.z, R28;
  8652. MUL.F32 R10.z, R10, {1.57079637, 0, 0, 0}.x;
  8653. MOV.S R15.z, R10;
  8654. MOV.F R10.z, R25;
  8655. SGT.F32 R10.z, R10, {1, 0, 0, 0}.x;
  8656. TRUNC.U.CC HC.x, R10.z;
  8657. MOV.S R26.w, R13.x;
  8658. IF NE.x;
  8659. MOV.S R13.y, {-1, 0, 0, 0}.x;
  8660. ELSE;
  8661. MOV.S R13.y, {0, 0, 0, 0}.x;
  8662. ENDIF;
  8663. MOV.F R10.z, R30.x;
  8664. MOV.F R13.x, R30.y;
  8665. ADD.F32 R13.x, R13, -R10.z;
  8666. MOV.F R10.z, R25;
  8667. MOV.S R29.w, R13.x;
  8668. RCP.F32 R13.x,
  8669. [17:50:31] Link error in shader b55a376f265097d6. Log:
  8670. [17:50:31] Vertex info
  8671. -----------
  8672. Internal error: assembly compile error for vertex shader at offset 2036:
  8673. -- error message --
  8674. line 43, column 45: error: invalid vertex attribute reference
  8675. line 58, column 25: error: invalid vertex attribute reference
  8676. line 60, column 25: error: invalid vertex attribute reference
  8677. line 69, column 25: error: invalid vertex attribute reference
  8678. line 72, column 25: error: invalid vertex attribute reference
  8679. -- internal assembly text --
  8680. !!NVvp5.0
  8681. OPTION NV_internal;
  8682. OPTION NV_bindless_texture;
  8683. # cgc version 3.4.0001, build date Jun 24 2018
  8684. # command line args:
  8685. #vendor NVIDIA Corporation
  8686. #version 3.4.0.1 COP Build Date Jun 24 2018
  8687. #profile gp5vp
  8688. #program main
  8689. #semantic uf_alphaTestRef
  8690. #semantic uf_remappedVS
  8691. #semantic uf_windowSpaceToClipSpaceTransform
  8692. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  8693. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  8694. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  8695. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  8696. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  8697. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  8698. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  8699. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  8700. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  8701. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  8702. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  8703. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  8704. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  8705. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  8706. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  8707. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  8708. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  8709. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  8710. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  8711. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  8712. #var float4 passParameterSem11 : $vout.ATTR4 : ATTR4 : -1 : 1
  8713. #var float4 passParameterSem4 : $vout.ATTR1 : ATTR1 : -1 : 1
  8714. #var float4 passParameterSem7 : $vout.ATTR2 : ATTR2 : -1 : 1
  8715. #var float4 passParameterSem8 : $vout.ATTR3 : ATTR3 : -1 : 1
  8716. #var float uf_alphaTestRef : : : -1 : 0
  8717. #var int4 uf_remappedVS[0] : : c[0], 34 : -1 : 1
  8718. #var float2 uf_windowSpaceToClipSpaceTransform : : : -1 : 0
  8719. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  8720. #var float gl_PointSize : $vout.PSIZE : PSIZ : -1 : 0
  8721. PARAM c[34] = { program.local[0..33] };
  8722. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  8723. OUTPUT result_attrib[] = { result.attrib[0..4] };
  8724. 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;
  8725. TEMP T;
  8726. TEMP RC;
  8727. SHORT TEMP HC;
  8728. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  8729. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8730. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  8731. OR.U R0, R0, R1;
  8732. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  8733. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8734. OR.U R0, R0, R1;
  8735. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  8736. OR.U R5, R0, R2;
  8737. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  8738. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8739. SHR.U R1, vertex.attrib[16], {24, 0, 0, 0}.x;
  8740. OR.U R1, R1, R2;
  8741. MOV.U R0.x, R5.w;
  8742. MOV.F R0.y, c[0].x;
  8743. ADD.F32 R8.x, -R0, R0.y;
  8744. SGT.F32 R9.x, {0, 0, 0, 0}, R8;
  8745. TRUNC.U R13.x, R9;
  8746. SEQ.U R10.x, R13, {1, 0, 0, 0};
  8747. SEQ.U R13.y, -R10.x, {1, 0, 0, 0}.x;
  8748. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  8749. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8750. OR.U R0, R1, R0;
  8751. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  8752. OR.U R4, R0, R2;
  8753. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  8754. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8755. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  8756. MOV.U.CC RC.x, -R13.y;
  8757. OR.U R1, R1, R2;
  8758. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  8759. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  8760. OR.U R1, R1, R2;
  8761. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  8762. OR.U R19, R1, R0;
  8763. SHR.U R0, vertex.attrib[7], {8, 0, 0, 0}.x;
  8764. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8765. SHR.U R0, vertex.attrib[7], {24, 0, 0, 0}.x;
  8766. OR.U R0, R0, R1;
  8767. SHL.U R2, vertex.attrib[7], {8, 0, 0, 0}.x;
  8768. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8769. OR.U R0, R0, R1;
  8770. SHL.U R2, vertex.attrib[7], {24, 0, 0, 0}.x;
  8771. OR.U R1, R0, R2;
  8772. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  8773. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8774. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  8775. OR.U R0, R0, R2;
  8776. SHL.U R3, vertex.attrib[6], {8, 0, 0, 0}.x;
  8777. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8778. OR.U R0, R0, R2;
  8779. SHL.U R3, vertex.attrib[6], {24, 0, 0, 0}.x;
  8780. OR.U R6, R0, R3;
  8781. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  8782. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8783. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  8784. OR.U R0, R0, R2;
  8785. SHL.U R3, vertex.attrib[0], {8, 0, 0, 0}.x;
  8786. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8787. OR.U R0, R0, R2;
  8788. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  8789. OR.U R7, R0, R3;
  8790. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  8791. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8792. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  8793. OR.U R0, R0, R2;
  8794. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  8795. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8796. OR.U R0, R0, R2;
  8797. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  8798. MOV.S R26.y, R8.x;
  8799. OR.U R8, R0, R3;
  8800. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  8801. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8802. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  8803. OR.U R0, R0, R2;
  8804. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  8805. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8806. OR.U R0, R0, R2;
  8807. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  8808. OR.U R9, R0, R3;
  8809. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  8810. AND.U R2, R0, {65280, 0, 0, 0}.x;
  8811. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  8812. OR.U R0, R0, R2;
  8813. SHL.U R3, vertex.attrib[5], {8, 0, 0, 0}.x;
  8814. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  8815. OR.U R0, R0, R2;
  8816. SHL.U R3, vertex.attrib[5], {24, 0, 0, 0}.x;
  8817. OR.U R12, R0, R3;
  8818. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8819. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8820. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8821. OR.U R0.xyz, R0, R2;
  8822. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8823. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8824. OR.U R0.xyz, R0, R2;
  8825. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8826. OR.U R21.xyz, R0, R3;
  8827. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8828. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8829. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8830. OR.U R0.xyz, R0, R2;
  8831. SHL.U R3.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8832. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8833. OR.U R0.xyz, R0, R2;
  8834. SHL.U R3.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8835. OR.U R22.xyz, R0, R3;
  8836. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  8837. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8838. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  8839. OR.U R0.xyz, R0, R2;
  8840. SHL.U R3.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  8841. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8842. OR.U R0.xyz, R0, R2;
  8843. SHL.U R3.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  8844. OR.U R23.xyz, R0, R3;
  8845. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8846. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8847. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8848. OR.U R0.xyz, R0, R2;
  8849. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8850. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8851. OR.U R0.xyz, R0, R2;
  8852. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8853. OR.U R24.xyz, R0, R3;
  8854. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8855. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8856. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8857. OR.U R0.xyz, R0, R2;
  8858. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8859. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8860. OR.U R0.xyz, R0, R2;
  8861. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8862. OR.U R25.xyz, R0, R3;
  8863. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8864. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8865. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8866. OR.U R0.xyz, R0, R2;
  8867. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8868. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8869. OR.U R0.xyz, R0, R2;
  8870. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8871. OR.U R10.xyz, R0, R3;
  8872. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8873. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  8874. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8875. OR.U R0.xyz, R0, R2;
  8876. SHL.U R3.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8877. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  8878. OR.U R0.xyz, R0, R2;
  8879. SHL.U R3.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8880. OR.U R11.xyz, R0, R3;
  8881. MOV.S R2, {0, 0, 0, 0}.x;
  8882. MOV.S R3, {0, 0, 0, 0}.x;
  8883. MOV.S R20.xyz, {0, 0, 0, 0}.x;
  8884. MOV.S R26.xz, {0, 0, 0, 0}.x;
  8885. MOV.S R27.zw, {0, 0, 0, 0}.x;
  8886. MOV.S R27.xy, {0, 0, 0, 0}.x;
  8887. MOV.S R0.yz, {0, 0, 0, 0};
  8888. MOV.S R0.x, vertex.id;
  8889. MOV.S R0.w, vertex.instance.x;
  8890. MOV.S R10.w, {0, 0, 0, 0}.x;
  8891. MOV.S R11.w, {1065353216, 0, 0, 0}.x;
  8892. IF NE.x;
  8893. MOV.F R2.z, c[1].y;
  8894. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  8895. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  8896. MOV.S R27.xy, {0, 0, 0, 0}.x;
  8897. MOV.S R2.z, R2;
  8898. MOV.S R12.w, {1065353216, 0, 0, 0}.x;
  8899. ENDIF;
  8900. SEQ.U R13.x, R13, {0, 0, 0, 0};
  8901. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8902. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8903. MOV.U.CC RC.x, -R13;
  8904. IF NE.x;
  8905. MOV.S R12.w, {0, 0, 0, 0}.x;
  8906. ENDIF;
  8907. SEQ.S R13.x, R12.w, {0, 0, 0, 0};
  8908. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  8909. SEQ.U R13.z, -R13.y, {1, 0, 0, 0}.x;
  8910. MOV.U.CC RC.x, -R13.z;
  8911. MOV.U R13.x, -R13;
  8912. MOV.U R22.w, -R13.y;
  8913. IF NE.x;
  8914. MOV.F R13.y, R19.w;
  8915. TRUNC.S R13.y, R13;
  8916. I2F.S R13.y, R13;
  8917. MOV.F R13.z, R26.y;
  8918. SGE.F32 R13.z, R13, R13.y;
  8919. MOV.S R23.z, R13.y;
  8920. TRUNC.U R13.y, R13.z;
  8921. SEQ.U R13.z, R22.w, {1, 0, 0, 0}.x;
  8922. SEQ.U R13.y, R13, {1, 0, 0, 0}.x;
  8923. AND.U R23.w, -R13.y, -R13.z;
  8924. ELSE;
  8925. MOV.U R23.w, {0, 0, 0, 0}.x;
  8926. ENDIF;
  8927. SEQ.U R13.y, R23.w, {1, 0, 0, 0}.x;
  8928. MOV.U.CC RC.x, -R13.y;
  8929. IF NE.x;
  8930. MOV.F R2.z, c[1].y;
  8931. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  8932. MOV.S R2.xy, {0, 0, 0, 0};
  8933. MOV.S R2.z, R2;
  8934. MOV.S R27.x, {0, 0, 0, 0};
  8935. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  8936. ENDIF;
  8937. SEQ.U R13.x, R13, {1, 0, 0, 0};
  8938. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  8939. MOV.U.CC RC.x, -R13.y;
  8940. MOV.U R22.w, -R13.x;
  8941. IF NE.x;
  8942. SEQ.S R13.x, R10.w, {0, 0, 0, 0};
  8943. MOV.U R19.w, -R13.x;
  8944. SEQ.U R13.y, R22.w, {1, 0, 0, 0}.x;
  8945. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  8946. AND.U R23.w, -R13.x, -R13.y;
  8947. ELSE;
  8948. MOV.U R19.w, {0, 0, 0, 0}.x;
  8949. MOV.U R23.w, {0, 0, 0, 0}.x;
  8950. ENDIF;
  8951. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  8952. MOV.U.CC RC.x, -R13;
  8953. IF NE.x;
  8954. MOV.F R0.y, R25.z;
  8955. MOV.F R0.x, R25.y;
  8956. ADD.F32 R0.x, R0, R0.y;
  8957. MOV.S R13.x, R0;
  8958. MOV.F R0.x, c[3];
  8959. RCP.F32 R0.y, R0.x;
  8960. SGT.F32 R0.x, R0, {0, 0, 0, 0};
  8961. TRUNC.U.CC HC.x, R0;
  8962. AND.S R13.w, c[2].x, {65536, 0, 0, 0}.x;
  8963. AND.S R13.y, c[2].x, {262144, 0, 0, 0}.x;
  8964. AND.S R18.z, c[2].x, {131072, 0, 0, 0}.x;
  8965. MOV.S R16.y, R0;
  8966. IF NE.x;
  8967. MOV.F R0.x, {1, 0, 0, 0};
  8968. ELSE;
  8969. MOV.F R0.x, {0, 0, 0, 0};
  8970. ENDIF;
  8971. MOV.F R0.z, R25.x;
  8972. MOV.F R0.y, R25.z;
  8973. ADD.F32 R0.w, R0.y, R0.z;
  8974. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  8975. MOV.S R14.y, R0.w;
  8976. I2F.S R0.w, R18.z;
  8977. MOV.S R11.w, R0;
  8978. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8979. MOV.S R16.w, R0.y;
  8980. MUL.F32 R0.y, R0.z, {2, 0, 0, 0}.x;
  8981. TRUNC.U.CC HC.x, R0.w;
  8982. MOV.S R18.z, R13.y;
  8983. MOV.S R13.z, R0.y;
  8984. MOV.S R16.x, R0;
  8985. IF NE.x;
  8986. MOV.F R0.x, {1, 0, 0, 0};
  8987. ELSE;
  8988. MOV.F R0.x, {0, 0, 0, 0};
  8989. ENDIF;
  8990. MOV.F R0.y, c[3].x;
  8991. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  8992. TRUNC.U.CC HC.x, R0.y;
  8993. MOV.S R18.x, R0;
  8994. IF NE.x;
  8995. MOV.F R0.x, {1, 0, 0, 0};
  8996. ELSE;
  8997. MOV.F R0.x, {0, 0, 0, 0};
  8998. ENDIF;
  8999. MOV.F R0.y, R25.x;
  9000. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  9001. MOV.F R0.z, c[4].y;
  9002. MUL.F32 R0.y, R0, R0.z;
  9003. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9004. TRUNC.U R0.w, R0;
  9005. TRUNC.U R0.z, R0;
  9006. AND.U.CC HC.x, R0.w, R0.z;
  9007. MOV.S R13.y, R0.x;
  9008. IF NE.x;
  9009. MOV.F R0.x, R0.y;
  9010. ELSE;
  9011. MOV.F R0.x, {0, 0, 0, 0};
  9012. ENDIF;
  9013. MOV.F R0.y, R11.w;
  9014. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9015. TRUNC.U.CC HC.x, R0.y;
  9016. MOV.S R16.z, R0.x;
  9017. IF NE.x;
  9018. MOV.F R0.x, {1, 0, 0, 0};
  9019. ELSE;
  9020. MOV.F R0.x, {0, 0, 0, 0};
  9021. ENDIF;
  9022. MOV.F R0.y, R18.x;
  9023. ADD.F32 R0.x, R0.y, -R0;
  9024. MOV.S R17.x, R0;
  9025. I2F.S R0.x, R18.z;
  9026. MOV.F R0.z, R16.y;
  9027. MOV.F R0.y, R26;
  9028. MUL.F32 R0.y, R0, R0.z;
  9029. MOV.S R16.y, R0;
  9030. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0.x;
  9031. TRUNC.U.CC HC.x, R0.y;
  9032. MOV.S R11.w, R0.x;
  9033. IF NE.x;
  9034. MOV.F R0.x, {1, 0, 0, 0};
  9035. ELSE;
  9036. MOV.F R0.x, {0, 0, 0, 0};
  9037. ENDIF;
  9038. MOV.F R0.y, R11.w;
  9039. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9040. TRUNC.U.CC HC.x, R0.y;
  9041. MOV.S R17.z, R0.x;
  9042. IF NE.x;
  9043. MOV.F R0.x, {1, 0, 0, 0};
  9044. ELSE;
  9045. MOV.F R0.x, {0, 0, 0, 0};
  9046. ENDIF;
  9047. I2F.S R0.y, R13.w;
  9048. MOV.S R11.w, R0.y;
  9049. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9050. TRUNC.U.CC HC.x, R0.y;
  9051. MOV.S R17.w, R0.x;
  9052. IF NE.x;
  9053. MOV.F R0.x, {1, 0, 0, 0};
  9054. ELSE;
  9055. MOV.F R0.x, {0, 0, 0, 0};
  9056. ENDIF;
  9057. MOV.F R0.z, R17;
  9058. MOV.F R0.y, R17.w;
  9059. ADD.F32 R0.y, R0, -R0.z;
  9060. MOV.S R18.y, R0;
  9061. MOV.F R0.y, R11.w;
  9062. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9063. TRUNC.U.CC HC.x, R0.y;
  9064. MOV.S R18.x, R0;
  9065. IF NE.x;
  9066. MOV.F R0.y, {1, 0, 0, 0}.x;
  9067. ELSE;
  9068. MOV.F R0.y, {0, 0, 0, 0}.x;
  9069. ENDIF;
  9070. MOV.F R0.x, R18.y;
  9071. MOV.F R0.w, R13.y;
  9072. MOV.F R0.z, R16.x;
  9073. ADD.F32 R0.z, R0, -R0.w;
  9074. TRUNC.S R0.x, R0;
  9075. MOV.S R15.w, R0.z;
  9076. ADD.S R0.z, -R0.x, {0, 0, 0, 0}.x;
  9077. MOV.F R0.w, R16.z;
  9078. MAX.S R16.z, R0.x, R0;
  9079. MOV.F R5.x, R16.y;
  9080. ADD.F32 R0.w, R0, R5.x;
  9081. MOV.S R16.x, R0.w;
  9082. MOV.F R0.w, R18.x;
  9083. ADD.F32 R0.w, R0, -R0.y;
  9084. MOV.F R0.x, R25.y;
  9085. MOV.F R0.z, R25.x;
  9086. ADD.F32 R0.z, R0, R0.x;
  9087. MUL.F32 R0.y, R0.z, {0.5, 0, 0, 0}.x;
  9088. MOV.S R0.z, R0.w;
  9089. MOV.S R0.w, R0.z;
  9090. MOV.S R13.y, R0;
  9091. MOV.F R0.y, R13.z;
  9092. MOV.F R0.z, R16.w;
  9093. FLR.F R0.z, R0;
  9094. MOV.S R13.z, R0;
  9095. MOV.F R0.z, R17.x;
  9096. TRUNC.S R0.z, R0;
  9097. TRUNC.S R15.z, R0.w;
  9098. MOV.F R0.w, R13.x;
  9099. MUL.F32 R5.x, R0.w, {0.5, 0, 0, 0};
  9100. MOV.F R0.w, R14.y;
  9101. MUL.F32 R0.w, R0, {0.5, 0, 0, 0}.x;
  9102. FLR.F R0.y, R0;
  9103. MUL.F32 R0.x, R0, {2, 0, 0, 0};
  9104. MOV.S R15.y, R0.z;
  9105. ADD.S R14.y, -R0.z, {0, 0, 0, 0}.x;
  9106. MOV.F R0.z, c[5].w;
  9107. LG2.F32 R0.z, R0.z;
  9108. MOV.S R14.z, R5.x;
  9109. MOV.S R14.x, R0.w;
  9110. MUL.F32 R0.w, R0.z, {2, 0, 0, 0}.x;
  9111. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  9112. SEQ.F R0.w, R0.z, R0;
  9113. TRUNC.U R5.x, R5;
  9114. TRUNC.U R0.w, R0;
  9115. AND.U R0.w, R0, R5.x;
  9116. SEQ.U R0.w, R0, {1, 0, 0, 0}.x;
  9117. MOV.U.CC RC.x, -R0.w;
  9118. MOV.S R0.y, R0;
  9119. MOV.S R15.x, R0;
  9120. IF NE.x;
  9121. MOV.F R0.z, {-3.40282347e+38, 0, 0, 0}.x;
  9122. ENDIF;
  9123. MOV.F R0.w, R14.x;
  9124. MOV.F R0.x, R14.z;
  9125. ADD.F32 R0.x, R0, {-0.5, 0, 0, 0};
  9126. MUL.F32 R0.x, R0, {2, 0, 0, 0};
  9127. MAX.S R13.w, R15.y, R14.y;
  9128. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  9129. MOV.S R14.z, R0.x;
  9130. MUL.F32 R0.x, R0.w, {2, 0, 0, 0};
  9131. MOV.F R5.x, R13.z;
  9132. MOV.S R15.y, R0.x;
  9133. MOV.F R0.x, R23.z;
  9134. RCP.F32 R0.x, R0.x;
  9135. SGT.F32 R0.w, {0, 0, 0, 0}.x, R5.x;
  9136. TRUNC.U.CC HC.x, R0.w;
  9137. ADD.S R14.x, -R15.z, {0, 0, 0, 0};
  9138. MOV.S R14.y, R0.x;
  9139. MOV.S R13.x, R0.z;
  9140. IF NE.x;
  9141. MOV.F R0.x, {1, 0, 0, 0};
  9142. ELSE;
  9143. MOV.F R0.x, {0, 0, 0, 0};
  9144. ENDIF;
  9145. MOV.F R0.z, R13;
  9146. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9147. TRUNC.U.CC HC.x, R0.z;
  9148. MOV.S R17.x, R0;
  9149. IF NE.x;
  9150. MOV.F R0.x, {1, 0, 0, 0};
  9151. ELSE;
  9152. MOV.F R0.x, {0, 0, 0, 0};
  9153. ENDIF;
  9154. MOV.F R0.z, R0.y;
  9155. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9156. TRUNC.U.CC HC.x, R0.z;
  9157. MOV.S R17.y, R0.x;
  9158. IF NE.x;
  9159. MOV.F R0.x, {1, 0, 0, 0};
  9160. ELSE;
  9161. MOV.F R0.x, {0, 0, 0, 0};
  9162. ENDIF;
  9163. MOV.F R0.z, R15.x;
  9164. FLR.F R0.z, R0;
  9165. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9166. TRUNC.U.CC HC.x, R0.y;
  9167. MOV.S R16.w, R0.z;
  9168. MOV.S R17.z, R0.x;
  9169. IF NE.x;
  9170. MOV.F R0.x, {1, 0, 0, 0};
  9171. ELSE;
  9172. MOV.F R0.x, {0, 0, 0, 0};
  9173. ENDIF;
  9174. MOV.S R18.z, R16.x;
  9175. MOV.F R0.z, R17.x;
  9176. MOV.F R0.y, R17;
  9177. ADD.F32 R0.y, R0, -R0.z;
  9178. MOV.S R16.y, R0;
  9179. MOV.F R0.y, R17.z;
  9180. ADD.F32 R0.x, R0.y, -R0;
  9181. MAX.S R16.x, R15.z, R14;
  9182. MOV.F R0.z, R13.x;
  9183. MOV.F R0.y, R26;
  9184. MOV.S R15.z, R0.x;
  9185. MUL.F32 R0.x, R0.y, R0.z;
  9186. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9187. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9188. TRUNC.U R0.z, R0;
  9189. TRUNC.U R0.y, R0;
  9190. AND.U.CC HC.x, R0.y, R0.z;
  9191. IF NE.x;
  9192. ELSE;
  9193. MOV.F R0.x, {0, 0, 0, 0};
  9194. ENDIF;
  9195. MOV.F R0.y, R13;
  9196. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  9197. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  9198. MOV.S R14.w, R0.x;
  9199. MOV.F R0.x, R18.z;
  9200. FRC.F32 R0.x, R0;
  9201. MOV.F R0.z, R14.y;
  9202. MOV.F R0.y, R26;
  9203. MUL.F32 R0.y, R0, R0.z;
  9204. MOV.S R13.x, R0.y;
  9205. MOV.F R0.y, R14.z;
  9206. MOV.S R13.y, R0.w;
  9207. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  9208. MOV.F R0.z, c[6].y;
  9209. MUL.F32 R0.y, R0, R0.z;
  9210. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9211. TRUNC.U R0.w, R0;
  9212. TRUNC.U R0.z, R0;
  9213. AND.U.CC HC.x, R0.w, R0.z;
  9214. MOV.S R10.w, R13;
  9215. MOV.S R13.z, R0.x;
  9216. IF NE.x;
  9217. MOV.F R5.x, R0.y;
  9218. ELSE;
  9219. MOV.F R5.x, {0, 0, 0, 0};
  9220. ENDIF;
  9221. MOV.F R0.xyz, R1;
  9222. MOV.F R5.y, R15.w;
  9223. MOV.F R17.xyz, R12;
  9224. MOV.F R0.w, {0, 0, 0, 0}.x;
  9225. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9226. DP4.F32 R0.y, R17, R0;
  9227. ADD.F32 R0.x, -R5.y, {1, 0, 0, 0};
  9228. MOV.S R13.w, R0.x;
  9229. MOV.F R0.x, R15.y;
  9230. MOV.S R17.x, R0.y;
  9231. SNE.F32 R0.y, R0.x, {0, 0, 0, 0}.x;
  9232. MOV.F R0.w, c[6].z;
  9233. TRUNC.U R5.y, R0;
  9234. MUL.F32 R0.x, R0, R0.w;
  9235. I2F.S R0.y, R10.w;
  9236. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9237. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  9238. TRUNC.U R0.w, R0;
  9239. AND.U.CC HC.x, R5.y, R0.w;
  9240. MOV.S R0.z, R5.x;
  9241. MOV.S R14.z, R0.y;
  9242. IF NE.x;
  9243. ELSE;
  9244. MOV.F R0.x, {0, 0, 0, 0};
  9245. ENDIF;
  9246. MOV.F R5.x, R13.w;
  9247. MOV.F R0.w, R13.x;
  9248. MUL.F32 R0.y, R0.w, R5.x;
  9249. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9250. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9251. TRUNC.U R0.w, R0;
  9252. TRUNC.U R5.x, R5;
  9253. AND.U.CC HC.x, R0.w, R5;
  9254. MOV.S R14.y, R0.x;
  9255. IF NE.x;
  9256. MOV.F R0.x, R0.y;
  9257. ELSE;
  9258. MOV.F R0.x, {0, 0, 0, 0};
  9259. ENDIF;
  9260. MOV.F R0.y, R16.w;
  9261. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  9262. TRUNC.U.CC HC.x, R0.y;
  9263. MOV.S R13.x, R0;
  9264. IF NE.x;
  9265. MOV.F R0.x, {1, 0, 0, 0};
  9266. ELSE;
  9267. MOV.F R0.x, {0, 0, 0, 0};
  9268. ENDIF;
  9269. MOV.F R0.y, R16.w;
  9270. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  9271. TRUNC.U.CC HC.x, R0.y;
  9272. MOV.S R17.y, R0.x;
  9273. IF NE.x;
  9274. MOV.F R0.w, {1, 0, 0, 0}.x;
  9275. ELSE;
  9276. MOV.F R0.w, {0, 0, 0, 0}.x;
  9277. ENDIF;
  9278. MOV.F R5.y, R17;
  9279. ADD.F32 R0.w, R0, -R5.y;
  9280. MOV.F R0.y, R16;
  9281. MOV.F R5.z, R14;
  9282. I2F.S R5.x, R16.z;
  9283. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  9284. MOV.S R14.x, R0.w;
  9285. SNE.F32 R0.w, -R5.z, {0, 0, 0, 0}.x;
  9286. MOV.S R11.w, R5.x;
  9287. TRUNC.U R5.x, R0.w;
  9288. MOV.F R0.w, c[5];
  9289. SNE.F32 R5.y, R0, {0, 0, 0, 0}.x;
  9290. MUL.F32 R0.x, -R5.z, R0.y;
  9291. ADD.F32 R0.y, -R0.w, {1, 0, 0, 0}.x;
  9292. TRUNC.U R0.w, R5.y;
  9293. AND.U.CC HC.x, R5, R0.w;
  9294. MOV.S R13.w, R0.y;
  9295. IF NE.x;
  9296. ELSE;
  9297. MOV.F R0.x, {0, 0, 0, 0};
  9298. ENDIF;
  9299. MOV.F R5.x, R13.z;
  9300. MOV.F R0.w, R15;
  9301. MUL.F32 R0.y, R0.w, R5.x;
  9302. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9303. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9304. TRUNC.U R0.w, R0;
  9305. TRUNC.U R5.x, R5;
  9306. AND.U.CC HC.x, R0.w, R5;
  9307. MOV.S R16.y, R0.x;
  9308. IF NE.x;
  9309. MOV.F R0.x, R0.y;
  9310. ELSE;
  9311. MOV.F R0.x, {0, 0, 0, 0};
  9312. ENDIF;
  9313. MOV.F R0.y, R15.z;
  9314. SNE.F32 R5.x, R0.y, {0, 0, 0, 0};
  9315. MOV.F R0.w, R11;
  9316. MUL.F32 R0.y, -R0.w, R0;
  9317. TRUNC.U R5.x, R5;
  9318. SNE.F32 R0.w, -R0, {0, 0, 0, 0}.x;
  9319. MOV.S R13.z, R0.x;
  9320. TRUNC.U R0.x, R0.w;
  9321. AND.U.CC HC.x, R0, R5;
  9322. IF NE.x;
  9323. MOV.F R0.x, R0.y;
  9324. ELSE;
  9325. MOV.F R0.x, {0, 0, 0, 0};
  9326. ENDIF;
  9327. MOV.F R0.y, R14.w;
  9328. EX2.F32 R0.y, R0.y;
  9329. MOV.S R11.w, R0.y;
  9330. MOV.F R0.y, c[5];
  9331. ADD.F32 R0.y, R0, R0.z;
  9332. MOV.S R10.w, R16.x;
  9333. MOV.F R0.w, c[6].x;
  9334. MOV.F R0.z, R13.y;
  9335. MOV.S R16.x, R0.y;
  9336. MUL.F32 R0.y, R0.z, R0.w;
  9337. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9338. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  9339. TRUNC.U R0.z, R0;
  9340. TRUNC.U R0.w, R0;
  9341. AND.U.CC HC.x, R0.z, R0.w;
  9342. MOV.S R15.w, R0.x;
  9343. IF NE.x;
  9344. MOV.F R0.x, R0.y;
  9345. ELSE;
  9346. MOV.F R0.x, {0, 0, 0, 0};
  9347. ENDIF;
  9348. MOV.S R13.y, R0.x;
  9349. MOV.F R0.x, R11.w;
  9350. ADD.F32 R0.x, -R0, {1, 0, 0, 0};
  9351. MOV.F R0.y, R13.x;
  9352. MOV.F R0.z, R13;
  9353. ADD.F32 R0.w, R0.y, R0.z;
  9354. MOV.F R0.z, R14.y;
  9355. MOV.F R0.y, c[5].z;
  9356. ADD.F32 R0.y, R0, R0.z;
  9357. MOV.F R0.z, R14.x;
  9358. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  9359. MOV.S R13.x, R0.y;
  9360. I2F.S R0.y, R10.w;
  9361. MOV.S R5.y, R0.w;
  9362. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  9363. MUL.F32 R0.y, -R0.w, R0.z;
  9364. MOV.F R0.z, R17.x;
  9365. ADD.F32 R0.z, R0, {9.99999997e-07, 0, 0, 0}.x;
  9366. MOV.S R26.z, R0;
  9367. TRUNC.U R5.x, R5;
  9368. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  9369. MOV.S R14.w, R0.x;
  9370. TRUNC.U R0.x, R0.z;
  9371. AND.U.CC HC.x, R0, R5;
  9372. IF NE.x;
  9373. ELSE;
  9374. MOV.F R0.y, {0, 0, 0, 0}.x;
  9375. ENDIF;
  9376. MOV.F R0.x, R13.w;
  9377. MOV.F R0.z, R14.w;
  9378. DIV.F32 R0.x, R0.z, R0.x;
  9379. MOV.S R14.y, R0.x;
  9380. MOV.F R0.z, R16.y;
  9381. MOV.F R0.x, R16;
  9382. MUL.F32 R0.w, R0.x, R0.z;
  9383. SNE.F32 R0.x, R0, {0, 0, 0, 0};
  9384. TRUNC.U R5.x, R0;
  9385. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9386. TRUNC.U R12.x, R0.z;
  9387. MOV.F R0.x, R25.y;
  9388. ADD.F32 R0.x, R0, {-0.5, 0, 0, 0};
  9389. MOV.F R0.z, R25;
  9390. AND.U.CC HC.x, R5, R12;
  9391. ADD.F32 R0.z, R0, {-0.5, 0, 0, 0}.x;
  9392. MOV.F R5.z, c[7].w;
  9393. MOV.F R10.w, c[8];
  9394. ADD.F32 R10.w, -R5.z, R10;
  9395. MOV.S R5.z, R0;
  9396. MOV.S R11, R11.xyzy;
  9397. MOV.S R0.x, R0;
  9398. MOV.S R13.w, R10;
  9399. MOV.S R0.z, R0.y;
  9400. IF NE.x;
  9401. ELSE;
  9402. MOV.F R0.w, {0, 0, 0, 0}.x;
  9403. ENDIF;
  9404. MOV.F R18.xyz, R1;
  9405. MOV.F R17.xyz, R10;
  9406. MOV.F R18.w, {0, 0, 0, 0}.x;
  9407. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9408. DP4.F32 R0.y, R17, R18;
  9409. MOV.F R17.xyz, R11;
  9410. MOV.F R17.w, {-0, 0, 0, 0}.x;
  9411. DP4.F32 R1.x, R18, R17;
  9412. MOV.S R26.x, R0.y;
  9413. MOV.F R11.x, R15.w;
  9414. MOV.F R10.w, R13.x;
  9415. MOV.S R0.y, R1.x;
  9416. MOV.F R1.z, c[5].x;
  9417. MOV.F R1.y, R13;
  9418. ADD.F32 R1.y, R1, R1.z;
  9419. MOV.S R5.x, R1.y;
  9420. SNE.F32 R1.y, R10.w, {0, 0, 0, 0}.x;
  9421. SNE.F32 R1.z, R11.x, {0, 0, 0, 0}.x;
  9422. TRUNC.U R1.y, R1;
  9423. TRUNC.U R1.z, R1;
  9424. AND.U.CC HC.x, R1.y, R1.z;
  9425. MUL.F32 R1.x, R10.w, R11;
  9426. MOV.S R14.w, R0;
  9427. IF NE.x;
  9428. MOV.F R0.w, R1.x;
  9429. ELSE;
  9430. MOV.F R0.w, {0, 0, 0, 0}.x;
  9431. ENDIF;
  9432. MOV.F R1.z, R15.w;
  9433. MOV.F R1.y, R6.z;
  9434. MUL.F32 R1.x, R1.y, R1.z;
  9435. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9436. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9437. TRUNC.U R1.y, R1;
  9438. TRUNC.U R1.z, R1;
  9439. AND.U.CC HC.x, R1.y, R1.z;
  9440. MOV.S R13.z, R0.w;
  9441. IF NE.x;
  9442. MOV.F R0.w, R1.x;
  9443. ELSE;
  9444. MOV.F R0.w, {0, 0, 0, 0}.x;
  9445. ENDIF;
  9446. MOV.F R1.z, R16.y;
  9447. MOV.F R1.y, R6;
  9448. MUL.F32 R1.x, R1.y, R1.z;
  9449. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9450. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9451. TRUNC.U R1.y, R1;
  9452. TRUNC.U R1.z, R1;
  9453. AND.U.CC HC.x, R1.y, R1.z;
  9454. MOV.S R14.x, R0.w;
  9455. IF NE.x;
  9456. MOV.F R0.w, R1.x;
  9457. ELSE;
  9458. MOV.F R0.w, {0, 0, 0, 0}.x;
  9459. ENDIF;
  9460. MOV.F R1.x, c[5].w;
  9461. SEQ.F R1.x, R1, {1, 0, 0, 0};
  9462. TRUNC.U.CC HC.x, R1;
  9463. MOV.S R18.y, R0.w;
  9464. IF NE.x;
  9465. MOV.S R0.w, {-1, 0, 0, 0}.x;
  9466. ELSE;
  9467. MOV.S R0.w, {0, 0, 0, 0}.x;
  9468. ENDIF;
  9469. MOV.F R1.z, R26;
  9470. MOV.F R1.y, R11;
  9471. MUL.F32 R1.x, R1.y, R1.z;
  9472. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9473. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  9474. TRUNC.U R1.z, R1;
  9475. TRUNC.U R1.y, R1;
  9476. AND.U.CC HC.x, R1.y, R1.z;
  9477. MOV.S R12.zw, R12.xyzy;
  9478. IF NE.x;
  9479. ELSE;
  9480. MOV.F R1.x, {0, 0, 0, 0};
  9481. ENDIF;
  9482. MOV.S R11.yw, R11.xzzw;
  9483. SEQ.S R0.w, R0, {0, 0, 0, 0}.x;
  9484. MOV.U.CC RC.x, -R0.w;
  9485. MOV.F R1.z, R14.w;
  9486. MOV.F R1.y, R16.x;
  9487. ADD.F32 R1.y, R1, R1.z;
  9488. MOV.F R10.w, R18.y;
  9489. MOV.F R1.z, R6.y;
  9490. ADD.F32 R1.z, R1, R10.w;
  9491. MOV.S R10.w, R1.y;
  9492. MOV.S R12.x, R1.z;
  9493. MOV.S R11.z, R10;
  9494. MOV.S R11.x, R12.z;
  9495. MOV.S R1.y, R1.x;
  9496. IF NE.x;
  9497. MOV.S R1.x, R14.y;
  9498. ELSE;
  9499. MOV.S R1.x, R26.y;
  9500. ENDIF;
  9501. MOV.F R0.w, R13.x;
  9502. MOV.F R1.z, R13;
  9503. ADD.F32 R0.w, R0, R1.z;
  9504. MOV.S R12.y, R0.w;
  9505. MOV.F R0.w, R13;
  9506. MOV.F R1.z, R6;
  9507. MOV.F R12.z, R14.x;
  9508. ADD.F32 R12.z, R1, R12;
  9509. RCP.F32 R1.z, R0.w;
  9510. MOV.S R0.w, R12.z;
  9511. MOV.F R13.x, c[8].z;
  9512. MOV.F R12.z, c[7];
  9513. ADD.F32 R12.z, -R12, R13.x;
  9514. MOV.S R1.z, R1;
  9515. MOV.S R12.z, R12;
  9516. ENDIF;
  9517. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  9518. MOV.U.CC RC.x, -R13;
  9519. IF NE.x;
  9520. MOV.F R6.w, R0.z;
  9521. MOV.F R6.z, R5.x;
  9522. MOV.F R5.w, c[8];
  9523. MOV.F R1.w, R5.y;
  9524. ADD.F32 R6.y, R1.w, -R5.w;
  9525. MOV.S R27.z, R6.y;
  9526. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  9527. MUL.F32 R1.w, R6.z, R6;
  9528. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  9529. TRUNC.U R6.w, R6.y;
  9530. TRUNC.U R10.z, R6;
  9531. MOV.F R6.z, R25.x;
  9532. MOV.F R6.y, c[9].w;
  9533. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  9534. ADD.F32 R5.w, -R5, R6.y;
  9535. AND.U.CC HC.x, R6.w, R10.z;
  9536. MOV.S R15.z, R6;
  9537. MOV.S R14.y, R5.w;
  9538. IF NE.x;
  9539. ELSE;
  9540. MOV.F R1.w, {0, 0, 0, 0}.x;
  9541. ENDIF;
  9542. MOV.F R6.y, R0.z;
  9543. MOV.F R5.w, R6.x;
  9544. MUL.F32 R0.z, R5.w, R6.y;
  9545. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9546. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9547. TRUNC.U R5.w, R5;
  9548. TRUNC.U R6.y, R6;
  9549. AND.U.CC HC.x, R5.w, R6.y;
  9550. MOV.S R13.w, R1;
  9551. IF NE.x;
  9552. ELSE;
  9553. MOV.F R0.z, {0, 0, 0, 0}.x;
  9554. ENDIF;
  9555. MOV.F R1.w, R0.x;
  9556. MOV.F R5.w, c[10].y;
  9557. MUL.F32 R0.x, R1.w, R5.w;
  9558. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9559. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9560. TRUNC.U R1.w, R1;
  9561. TRUNC.U R5.w, R5;
  9562. AND.U.CC HC.x, R1.w, R5.w;
  9563. MOV.S R13.z, R0;
  9564. IF NE.x;
  9565. ELSE;
  9566. MOV.F R0.x, {0, 0, 0, 0};
  9567. ENDIF;
  9568. MOV.F R1.w, R5.z;
  9569. MOV.F R5.w, c[10].z;
  9570. MUL.F32 R0.z, R1.w, R5.w;
  9571. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9572. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  9573. TRUNC.U R1.w, R1;
  9574. TRUNC.U R5.z, R5;
  9575. AND.U.CC HC.x, R1.w, R5.z;
  9576. MOV.S R13.x, R0;
  9577. IF NE.x;
  9578. MOV.F R0.x, R0.z;
  9579. ELSE;
  9580. MOV.F R0.x, {0, 0, 0, 0};
  9581. ENDIF;
  9582. MOV.F R5.z, R12.w;
  9583. MOV.F R1.w, R0.y;
  9584. MUL.F32 R0.z, -R1.w, R5;
  9585. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  9586. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9587. TRUNC.U R1.w, R1;
  9588. TRUNC.U R5.z, R5;
  9589. AND.U.CC HC.x, R1.w, R5.z;
  9590. MOV.S R17.z, R0.x;
  9591. IF NE.x;
  9592. MOV.F R0.x, R0.z;
  9593. ELSE;
  9594. MOV.F R0.x, {0, 0, 0, 0};
  9595. ENDIF;
  9596. MOV.F R16.xz, R26;
  9597. MOV.F R16.y, R0;
  9598. MOV.F R18.xyz, R16;
  9599. MOV.F R1.w, R13.z;
  9600. MOV.F R16.w, {0, 0, 0, 0}.x;
  9601. MOV.F R18.w, {-0, 0, 0, 0}.x;
  9602. DP4.F32 R0.z, R18, R16;
  9603. MOV.S R17.x, R0.z;
  9604. MOV.F R0.z, R6.x;
  9605. ADD.F32 R0.z, R0, R1.w;
  9606. MOV.S R15.x, R0.z;
  9607. MOV.F R0.z, R5.x;
  9608. MOV.F R5.z, R1;
  9609. MOV.F R1.w, R12.z;
  9610. MUL.F32 R1.w, R1, R5.z;
  9611. MOV.S R16.x, R1.w;
  9612. MOV.F R1.w, R13;
  9613. ADD.F32 R0.z, R0, R1.w;
  9614. MOV.S R16.w, R0.z;
  9615. MOV.F R0.z, R0.w;
  9616. MOV.F R5.x, R13;
  9617. MOV.F R1.w, R12.x;
  9618. ADD.F32 R1.w, R1, R5.x;
  9619. MOV.S R13.w, R1;
  9620. MOV.F R1.w, R17.z;
  9621. ADD.F32 R0.w, R0.z, R1;
  9622. MOV.F R0.z, R1.y;
  9623. ADD.F32 R0.x, R0, R0.z;
  9624. MOV.F R0.z, R11;
  9625. MOV.S R14.w, R0.x;
  9626. MUL.F32 R0.x, R0.z, {0.00100000005, 0, 0, 0};
  9627. MOV.S R15.w, R0.x;
  9628. MOV.F R0.x, R11;
  9629. MOV.S R13.y, R0.w;
  9630. MUL.F32 R0.w, R0.x, {0.00100000005, 0, 0, 0}.x;
  9631. MOV.F R0.z, R11.y;
  9632. MUL.F32 R0.x, R0.z, {0.00100000005, 0, 0, 0};
  9633. MOV.S R16.y, R0.w;
  9634. MOV.S R13.z, R0.x;
  9635. MOV.F R0.z, c[9].w;
  9636. MOV.F R0.x, R5.y;
  9637. ADD.F32 R0.x, R0, -R0.z;
  9638. MOV.F R0.w, R27.z;
  9639. SGE.F32 R0.z, R0.w, {0, 0, 0, 0}.x;
  9640. TRUNC.U.CC HC.x, R0.z;
  9641. MOV.S R6.y, R0.x;
  9642. IF NE.x;
  9643. MOV.S R0.z, {1065353216, 0, 0, 0}.x;
  9644. ELSE;
  9645. MOV.S R0.z, {0, 0, 0, 0}.x;
  9646. ENDIF;
  9647. MOV.F R1.w, R12.y;
  9648. MOV.F R5.x, R1;
  9649. MUL.F32 R0.x, R1.w, R5;
  9650. MOV.F R1.y, c[7].w;
  9651. MOV.F R0.w, R5.y;
  9652. ADD.F32 R0.w, R0, -R1.y;
  9653. MOV.F R1.y, R14;
  9654. MOV.S R6.w, R0;
  9655. RCP.F32 R0.w, R1.y;
  9656. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  9657. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9658. TRUNC.U R1.w, R5.x;
  9659. TRUNC.U R1.y, R1;
  9660. AND.U.CC HC.x, R1.y, R1.w;
  9661. MOV.S R0.w, R0;
  9662. IF NE.x;
  9663. ELSE;
  9664. MOV.F R0.x, {0, 0, 0, 0};
  9665. ENDIF;
  9666. MOV.F R5.x, R1;
  9667. MOV.F R1.w, R10;
  9668. MUL.F32 R1.y, R1.w, R5.x;
  9669. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9670. TRUNC.U R5.z, R1.w;
  9671. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  9672. MOV.F R5.x, c[8].y;
  9673. MOV.F R1.w, c[7].y;
  9674. ADD.F32 R1.w, -R1, R5.x;
  9675. TRUNC.U R5.x, R5.w;
  9676. AND.U.CC HC.x, R5.z, R5;
  9677. MOV.S R14.y, R1.w;
  9678. MOV.S R13.x, R0;
  9679. IF NE.x;
  9680. MOV.F R0.x, R1.y;
  9681. ELSE;
  9682. MOV.F R0.x, {0, 0, 0, 0};
  9683. ENDIF;
  9684. MOV.F R1.y, R14.w;
  9685. SEQ.F R1.y, R1, {0, 0, 0, 0}.x;
  9686. TRUNC.U.CC HC.x, R1.y;
  9687. MOV.S R17.z, R0.x;
  9688. IF NE.x;
  9689. MOV.S R0.x, {-1, 0, 0, 0};
  9690. ELSE;
  9691. MOV.S R0.x, {0, 0, 0, 0};
  9692. ENDIF;
  9693. MOV.F R1.w, R15;
  9694. MOV.F R1.y, R10;
  9695. ADD.F32 R1.y, R1, R1.w;
  9696. MOV.S R14.x, R1.y;
  9697. MOV.F R5.x, R17.z;
  9698. MOV.F R1.w, R13;
  9699. ADD.F32 R1.w, R1, R5.x;
  9700. MOV.S R12.x, R1.w;
  9701. MOV.F R1.w, R13.z;
  9702. MOV.F R1.y, R11.w;
  9703. ADD.F32 R5.x, R1.y, R1.w;
  9704. MOV.S R18.w, R5.x;
  9705. MOV.F R1.w, R16.y;
  9706. MOV.F R1.y, R12.w;
  9707. ADD.F32 R1.y, R1, R1.w;
  9708. MOV.S R18.z, R1.y;
  9709. MOV.F R1.y, R17.x;
  9710. RSQ.F32 R1.y, R1.y;
  9711. MOV.F R5.x, c[9].z;
  9712. MOV.F R1.w, c[8].z;
  9713. ADD.F32 R1.w, -R1, R5.x;
  9714. MOV.S R16.y, R1.w;
  9715. SEQ.S R1.w, R0.x, {0, 0, 0, 0}.x;
  9716. MOV.U.CC RC.x, -R1.w;
  9717. MOV.S R12.y, R1;
  9718. IF NE.x;
  9719. MOV.S R1.y, R10;
  9720. ELSE;
  9721. MOV.S R1.y, R14.x;
  9722. ENDIF;
  9723. MOV.F R5.x, R13;
  9724. MOV.F R1.w, R13.y;
  9725. ADD.F32 R1.w, R1, R5.x;
  9726. MOV.S R14.z, R1.w;
  9727. MOV.F R5.x, c[11].w;
  9728. MOV.F R1.w, c[9];
  9729. ADD.F32 R1.w, -R1, R5.x;
  9730. SEQ.S R5.x, R0, {0, 0, 0, 0};
  9731. MOV.U.CC RC.x, -R5;
  9732. MOV.S R17.y, R1.w;
  9733. IF NE.x;
  9734. MOV.S R5.z, R11.w;
  9735. ELSE;
  9736. MOV.S R5.z, R18.w;
  9737. ENDIF;
  9738. SEQ.S R0.x, R0, {0, 0, 0, 0};
  9739. MOV.U.CC RC.x, -R0;
  9740. IF NE.x;
  9741. MOV.S R5.x, R12.w;
  9742. ELSE;
  9743. MOV.S R5.x, R18.z;
  9744. ENDIF;
  9745. MOV.F R5.w, R16.x;
  9746. MOV.F R1.w, R1.z;
  9747. MOV.F R0.x, R14.y;
  9748. MUL.F32 R0.x, R0, R1.w;
  9749. MOV.F R1.w, R6;
  9750. MOV.S R16.x, R0;
  9751. MUL.F32 R0.x, R1.w, R5.w;
  9752. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9753. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9754. TRUNC.U R5.w, R5;
  9755. TRUNC.U R1.w, R1;
  9756. AND.U.CC HC.x, R1.w, R5.w;
  9757. IF NE.x;
  9758. ELSE;
  9759. MOV.F R0.x, {0, 0, 0, 0};
  9760. ENDIF;
  9761. MOV.F R6.x, c[10];
  9762. MOV.F R5.w, R15.z;
  9763. MUL.F32 R1.w, R5, R6.x;
  9764. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9765. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9766. TRUNC.U R5.w, R5;
  9767. TRUNC.U R6.x, R6;
  9768. AND.U.CC HC.x, R5.w, R6;
  9769. MOV.S R14.y, R0.x;
  9770. IF NE.x;
  9771. MOV.F R0.x, R1.w;
  9772. ELSE;
  9773. MOV.F R0.x, {0, 0, 0, 0};
  9774. ENDIF;
  9775. MOV.F R1.w, R16.y;
  9776. MOV.F R5.w, R0;
  9777. MUL.F32 R5.w, R1, R5;
  9778. MOV.F R6.x, R17.y;
  9779. RCP.F32 R1.w, R6.x;
  9780. MOV.S R14.x, R1.w;
  9781. MOV.F R1.w, R6.y;
  9782. SGE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  9783. TRUNC.U.CC HC.x, R1.w;
  9784. MOV.S R14.w, R5;
  9785. MOV.S R18.z, R0.x;
  9786. IF NE.x;
  9787. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  9788. ELSE;
  9789. MOV.S R1.w, {0, 0, 0, 0}.x;
  9790. ENDIF;
  9791. MOV.F R5.w, R18.z;
  9792. MOV.F R0.x, R15;
  9793. ADD.F32 R0.x, R0, R5.w;
  9794. MOV.S R16.y, R0.x;
  9795. MOV.F R5.w, c[8].x;
  9796. MOV.F R0.x, c[7];
  9797. ADD.F32 R0.x, -R0, R5.w;
  9798. MOV.F R6.x, R6.w;
  9799. SGE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  9800. TRUNC.U.CC HC.x, R5.w;
  9801. MOV.S R15.z, R0.x;
  9802. IF NE.x;
  9803. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  9804. ELSE;
  9805. MOV.S R5.w, {0, 0, 0, 0}.x;
  9806. ENDIF;
  9807. MOV.F R0.x, R12.y;
  9808. SNE.F32 R6.x, R0, {0, 0, 0, 0};
  9809. MOV.F R6.z, R26.x;
  9810. TRUNC.U R10.y, R6.x;
  9811. MUL.F32 R0.x, R6.z, R0;
  9812. MOV.F R6.x, R0.z;
  9813. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9814. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  9815. TRUNC.U R6.z, R6;
  9816. AND.U.CC HC.x, R6.z, R10.y;
  9817. MOV.S R13.w, R6.x;
  9818. IF NE.x;
  9819. ELSE;
  9820. MOV.F R0.x, {0, 0, 0, 0};
  9821. ENDIF;
  9822. MOV.F R6.x, R0.y;
  9823. MOV.F R6.z, R12.y;
  9824. MUL.F32 R0.y, R6.x, R6.z;
  9825. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9826. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9827. TRUNC.U R6.x, R6;
  9828. TRUNC.U R6.z, R6;
  9829. AND.U.CC HC.x, R6, R6.z;
  9830. MOV.S R0.x, R0;
  9831. IF NE.x;
  9832. ELSE;
  9833. MOV.F R0.y, {0, 0, 0, 0}.x;
  9834. ENDIF;
  9835. MOV.F R6.z, R1.x;
  9836. MOV.F R6.x, R16.w;
  9837. MUL.F32 R1.x, R6, R6.z;
  9838. SNE.F32 R10.y, R6.z, {0, 0, 0, 0}.x;
  9839. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9840. TRUNC.U R10.z, R6.x;
  9841. MOV.F R6.z, c[9].y;
  9842. MOV.F R6.x, c[8].y;
  9843. ADD.F32 R6.x, -R6, R6.z;
  9844. TRUNC.U R6.z, R10.y;
  9845. AND.U.CC HC.x, R10.z, R6.z;
  9846. MOV.S R13.z, R6.x;
  9847. MOV.S R10.y, R0;
  9848. IF NE.x;
  9849. MOV.F R0.y, R1.x;
  9850. ELSE;
  9851. MOV.F R0.y, {0, 0, 0, 0}.x;
  9852. ENDIF;
  9853. MOV.F R6.z, R12.y;
  9854. MOV.F R6.x, R26.z;
  9855. MUL.F32 R1.x, R6, R6.z;
  9856. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9857. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9858. TRUNC.U R6.z, R6;
  9859. TRUNC.U R6.x, R6;
  9860. AND.U.CC HC.x, R6, R6.z;
  9861. MOV.S R18.w, R0.y;
  9862. IF NE.x;
  9863. MOV.F R0.y, R1.x;
  9864. ELSE;
  9865. MOV.F R0.y, {0, 0, 0, 0}.x;
  9866. ENDIF;
  9867. MOV.F R1.x, R15.z;
  9868. MUL.F32 R1.x, R1, R1.z;
  9869. MOV.F R1.z, R16.y;
  9870. MOV.F R6.x, R18.w;
  9871. ADD.F32 R1.z, R1, R6.x;
  9872. MOV.S R16.y, R1.x;
  9873. MOV.S R10.w, R1.z;
  9874. MOV.F R10.z, R16.x;
  9875. MOV.F R6.z, R6.w;
  9876. MOV.F R1.x, R5.y;
  9877. MOV.F R1.z, c[11].w;
  9878. ADD.F32 R1.z, R1.x, -R1;
  9879. MOV.S R6.x, R1.z;
  9880. SNE.F32 R1.z, R6, {0, 0, 0, 0}.x;
  9881. MUL.F32 R1.x, R6.z, R10.z;
  9882. SNE.F32 R6.z, R10, {0, 0, 0, 0}.x;
  9883. TRUNC.U R10.z, R1;
  9884. TRUNC.U R11.x, R6.z;
  9885. AND.U.CC HC.x, R10.z, R11;
  9886. MOV.F R6.z, c[11];
  9887. MOV.F R1.z, c[9];
  9888. ADD.F32 R1.z, -R1, R6;
  9889. MOV.S R17.z, R1;
  9890. MOV.S R27.w, R0.y;
  9891. IF NE.x;
  9892. MOV.F R0.y, R1.x;
  9893. ELSE;
  9894. MOV.F R0.y, {0, 0, 0, 0}.x;
  9895. ENDIF;
  9896. MOV.F R6.z, R14.w;
  9897. MOV.F R1.z, R27;
  9898. MUL.F32 R1.x, R1.z, R6.z;
  9899. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9900. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  9901. TRUNC.U R6.z, R6;
  9902. TRUNC.U R1.z, R1;
  9903. AND.U.CC HC.x, R1.z, R6.z;
  9904. MOV.S R13.y, R0;
  9905. IF NE.x;
  9906. MOV.F R0.y, R1.x;
  9907. ELSE;
  9908. MOV.F R0.y, {0, 0, 0, 0}.x;
  9909. ENDIF;
  9910. MOV.F R1.z, R0.w;
  9911. MOV.F R1.x, R13.z;
  9912. MUL.F32 R1.x, R1, R1.z;
  9913. MOV.S R15.y, R1.x;
  9914. MOV.F R1.x, R6;
  9915. SGE.F32 R10.z, R1.x, {0, 0, 0, 0}.x;
  9916. TRUNC.U.CC HC.x, R10.z;
  9917. MOV.F R6.z, R14.x;
  9918. MOV.F R1.z, R17;
  9919. MUL.F32 R1.z, R1, R6;
  9920. MOV.S R14.w, R1.z;
  9921. MOV.F R1.z, c[12];
  9922. MOV.F R1.x, c[11].z;
  9923. ADD.F32 R1.x, -R1, R1.z;
  9924. MOV.F R6.z, c[12].w;
  9925. MOV.F R1.z, c[11].w;
  9926. ADD.F32 R1.z, -R1, R6;
  9927. MOV.S R16.w, R1.x;
  9928. MOV.S R18.z, R1;
  9929. MOV.S R16.x, R0.y;
  9930. IF NE.x;
  9931. MOV.S R1.x, {1065353216, 0, 0, 0};
  9932. ELSE;
  9933. MOV.S R1.x, {0, 0, 0, 0};
  9934. ENDIF;
  9935. MOV.F R1.z, R14.y;
  9936. MOV.F R0.y, c[7].z;
  9937. ADD.F32 R0.y, R0, R1.z;
  9938. MOV.S R14.y, R0;
  9939. MOV.F R1.z, c[12].w;
  9940. MOV.F R0.y, R5;
  9941. ADD.F32 R0.y, R0, -R1.z;
  9942. MOV.S R12.w, R0.y;
  9943. MOV.F R0.y, R18.z;
  9944. RCP.F32 R0.y, R0.y;
  9945. MOV.F R1.z, R12.x;
  9946. MAD.F32 R1.z, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  9947. MOV.S R5.y, R1.z;
  9948. MOV.F R1.z, R13.w;
  9949. SNE.F32 R6.z, R1, {0, 0, 0, 0}.x;
  9950. MOV.S R11.y, R0;
  9951. MUL.F32 R0.y, R5.w, R1.z;
  9952. MOV.F R1.z, R1.w;
  9953. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  9954. MOV.S R13.z, R1;
  9955. ADD.F32 R1.z, -R5.w, {1, 0, 0, 0}.x;
  9956. TRUNC.U R6.z, R6;
  9957. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9958. MOV.S R26.x, R1.z;
  9959. TRUNC.U R1.z, R5.w;
  9960. AND.U.CC HC.x, R1.z, R6.z;
  9961. IF NE.x;
  9962. MOV.F R1.z, R0.y;
  9963. ELSE;
  9964. MOV.F R1.z, {0, 0, 0, 0}.x;
  9965. ENDIF;
  9966. MOV.F R6.z, R0.x;
  9967. MOV.F R11.x, R5;
  9968. SNE.F32 R11.z, R6, {0, 0, 0, 0}.x;
  9969. MOV.F R0.y, R14.z;
  9970. MAD.F32 R0.y, R0, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  9971. MUL.F32 R5.w, -R11.x, R6.z;
  9972. MOV.F R10.z, c[9].x;
  9973. MOV.F R6.z, c[8].x;
  9974. ADD.F32 R6.z, -R6, R10;
  9975. MOV.S R18.w, R6.z;
  9976. TRUNC.U R11.z, R11;
  9977. SNE.F32 R6.z, -R11.x, {0, 0, 0, 0}.x;
  9978. MOV.S R10.z, R1;
  9979. TRUNC.U R1.z, R6;
  9980. AND.U.CC HC.x, R1.z, R11.z;
  9981. MOV.S R0.y, R0;
  9982. IF NE.x;
  9983. MOV.F R1.z, R5.w;
  9984. ELSE;
  9985. MOV.F R1.z, {0, 0, 0, 0}.x;
  9986. ENDIF;
  9987. MOV.F R5.w, R27;
  9988. SNE.F32 R11.x, R5.w, {0, 0, 0, 0};
  9989. MOV.F R6.z, R5;
  9990. MUL.F32 R5.w, -R6.z, R5;
  9991. TRUNC.U R11.x, R11;
  9992. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  9993. MOV.S R15.x, R1.z;
  9994. TRUNC.U R1.z, R6;
  9995. AND.U.CC HC.x, R1.z, R11;
  9996. IF NE.x;
  9997. MOV.F R1.z, R5.w;
  9998. ELSE;
  9999. MOV.F R1.z, {0, 0, 0, 0}.x;
  10000. ENDIF;
  10001. MOV.F R5.w, R10.y;
  10002. SNE.F32 R11.x, R5.w, {0, 0, 0, 0};
  10003. MOV.F R6.z, R1.y;
  10004. MUL.F32 R5.w, -R6.z, R5;
  10005. TRUNC.U R11.x, R11;
  10006. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  10007. MOV.S R12.y, R1.z;
  10008. TRUNC.U R1.z, R6;
  10009. AND.U.CC HC.x, R1.z, R11;
  10010. IF NE.x;
  10011. MOV.F R1.z, R5.w;
  10012. ELSE;
  10013. MOV.F R1.z, {0, 0, 0, 0}.x;
  10014. ENDIF;
  10015. MOV.F R5.w, R0;
  10016. MOV.F R6.z, R16.y;
  10017. MOV.F R0.w, R18;
  10018. MUL.F32 R0.w, R0, R5;
  10019. MOV.F R5.w, R6;
  10020. MOV.S R14.z, R0.w;
  10021. MUL.F32 R0.w, R5, R6.z;
  10022. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10023. TRUNC.U R6.w, R5;
  10024. SNE.F32 R11.x, R6.z, {0, 0, 0, 0};
  10025. MOV.F R6.z, c[11].y;
  10026. MOV.F R5.w, c[9].y;
  10027. ADD.F32 R5.w, -R5, R6.z;
  10028. TRUNC.U R6.z, R11.x;
  10029. AND.U.CC HC.x, R6.w, R6.z;
  10030. MOV.S R18.z, R15.y;
  10031. MOV.S R13.w, R5;
  10032. MOV.S R17.z, R1;
  10033. IF NE.x;
  10034. ELSE;
  10035. MOV.F R0.w, {0, 0, 0, 0}.x;
  10036. ENDIF;
  10037. MOV.F R5.w, R13.y;
  10038. MOV.F R1.z, c[7].y;
  10039. ADD.F32 R1.z, R1, R5.w;
  10040. MOV.F R5.w, R5.z;
  10041. MOV.F R5.z, R0.x;
  10042. MOV.S R15.y, R1.z;
  10043. MUL.F32 R1.z, -R5, -R5.w;
  10044. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  10045. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  10046. TRUNC.U R5.z, R5;
  10047. TRUNC.U R5.w, R5;
  10048. AND.U.CC HC.x, R5.z, R5.w;
  10049. MOV.S R12.x, R0.w;
  10050. IF NE.x;
  10051. MOV.F R0.w, R1.z;
  10052. ELSE;
  10053. MOV.F R0.w, {0, 0, 0, 0}.x;
  10054. ENDIF;
  10055. MOV.F R1.z, R17;
  10056. ADD.F32 R0.w, R0, R1.z;
  10057. MOV.S R11.z, R0.w;
  10058. MOV.F R0.w, R0.z;
  10059. MOV.F R1.z, R13;
  10060. MUL.F32 R0.z, R0.w, R1;
  10061. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10062. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10063. TRUNC.U R1.z, R1;
  10064. TRUNC.U R0.w, R0;
  10065. AND.U.CC HC.x, R0.w, R1.z;
  10066. IF NE.x;
  10067. ELSE;
  10068. MOV.F R0.z, {0, 0, 0, 0}.x;
  10069. ENDIF;
  10070. MOV.F R5.z, R18;
  10071. MOV.F R0.w, R27.z;
  10072. MUL.F32 R1.z, R0.w, R5;
  10073. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  10074. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10075. TRUNC.U R5.z, R0.w;
  10076. TRUNC.U R5.w, R5;
  10077. AND.U.CC HC.x, R5.z, R5.w;
  10078. MOV.S R0.w, R0.z;
  10079. IF NE.x;
  10080. MOV.F R0.z, R1;
  10081. ELSE;
  10082. MOV.F R0.z, {0, 0, 0, 0}.x;
  10083. ENDIF;
  10084. MOV.F R5.z, R14.x;
  10085. MOV.F R1.z, R13.w;
  10086. MUL.F32 R1.z, R1, R5;
  10087. MOV.S R18.z, R16.x;
  10088. MOV.F R5.w, R14;
  10089. MOV.F R5.z, R6.y;
  10090. MOV.S R16.x, R1.z;
  10091. MUL.F32 R1.z, R5, R5.w;
  10092. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10093. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10094. TRUNC.U R5.z, R5;
  10095. TRUNC.U R5.w, R5;
  10096. AND.U.CC HC.x, R5.z, R5.w;
  10097. MOV.S R13.z, R0;
  10098. IF NE.x;
  10099. MOV.F R0.z, R1;
  10100. ELSE;
  10101. MOV.F R0.z, {0, 0, 0, 0}.x;
  10102. ENDIF;
  10103. MOV.F R5.w, R12;
  10104. SGE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10105. TRUNC.U.CC HC.x, R5.w;
  10106. MOV.F R5.z, R11.y;
  10107. MOV.F R1.z, R16.w;
  10108. MUL.F32 R1.z, R1, R5;
  10109. MOV.F R5.z, R18;
  10110. MOV.S R16.w, R1.z;
  10111. MOV.F R1.z, R10.w;
  10112. MAD.F32 R1.z, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  10113. MOV.S R18.z, R14.y;
  10114. MOV.S R14.y, R1.z;
  10115. MOV.F R1.z, c[8];
  10116. ADD.F32 R1.z, R1, R5;
  10117. MOV.S R16.z, R1;
  10118. MOV.F R1.z, c[9].x;
  10119. MOV.F R5.z, c[11].x;
  10120. ADD.F32 R5.z, -R1, R5;
  10121. MOV.F R1.z, R1.x;
  10122. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10123. MOV.S R18.x, R5.z;
  10124. MOV.S R16.y, R0.z;
  10125. MOV.S R13.y, R1.z;
  10126. IF NE.x;
  10127. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  10128. ELSE;
  10129. MOV.S R1.z, {0, 0, 0, 0}.x;
  10130. ENDIF;
  10131. MOV.F R5.z, R10;
  10132. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  10133. MOV.F R0.z, R18;
  10134. TRUNC.U R6.z, R5.w;
  10135. SNE.F32 R5.w, R0.z, {0, 0, 0, 0}.x;
  10136. MUL.F32 R5.z, R0, R5;
  10137. TRUNC.U R5.w, R5;
  10138. AND.U.CC HC.x, R5.w, R6.z;
  10139. MOV.S R0.z, R1;
  10140. IF NE.x;
  10141. ELSE;
  10142. MOV.F R5.z, {0, 0, 0, 0}.x;
  10143. ENDIF;
  10144. FRC.F32 R5.y, R5;
  10145. MOV.S R15.z, R5.y;
  10146. MOV.F R5.y, R10;
  10147. MOV.F R6.w, R5.x;
  10148. FRC.F32 R0.y, R0;
  10149. SNE.F32 R5.w, -R5.y, {0, 0, 0, 0}.x;
  10150. MUL.F32 R5.x, -R5.y, -R6.w;
  10151. TRUNC.U R5.y, R5.w;
  10152. MOV.F R6.z, c[12].y;
  10153. MOV.F R5.w, c[11].y;
  10154. ADD.F32 R5.w, -R5, R6.z;
  10155. SNE.F32 R6.z, -R6.w, {0, 0, 0, 0}.x;
  10156. MOV.S R17.x, R5.w;
  10157. TRUNC.U R5.w, R6.z;
  10158. AND.U.CC HC.x, R5.y, R5.w;
  10159. MOV.S R0.y, R0;
  10160. MOV.S R13.w, R5.z;
  10161. IF NE.x;
  10162. ELSE;
  10163. MOV.F R5.x, {0, 0, 0, 0};
  10164. ENDIF;
  10165. MOV.F R5.y, R12;
  10166. ADD.F32 R5.x, R5, R5.y;
  10167. MOV.S R5.z, R5.x;
  10168. MOV.F R5.y, R1;
  10169. MOV.F R5.x, R27.w;
  10170. MUL.F32 R1.y, -R5.x, -R5;
  10171. SNE.F32 R5.y, -R5, {0, 0, 0, 0}.x;
  10172. SNE.F32 R5.x, -R5, {0, 0, 0, 0};
  10173. TRUNC.U R5.y, R5;
  10174. TRUNC.U R5.x, R5;
  10175. AND.U.CC HC.x, R5, R5.y;
  10176. IF NE.x;
  10177. ELSE;
  10178. MOV.F R1.y, {0, 0, 0, 0}.x;
  10179. ENDIF;
  10180. MOV.F R5.x, R15;
  10181. ADD.F32 R1.y, R1, R5.x;
  10182. MOV.F R5.w, R14.x;
  10183. MOV.F R5.y, R18.x;
  10184. MUL.F32 R5.y, R5, R5.w;
  10185. MOV.F R5.x, R13.y;
  10186. MOV.S R5.w, R1.y;
  10187. MUL.F32 R1.y, R1.w, R5.x;
  10188. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10189. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10190. TRUNC.U R5.x, R5;
  10191. TRUNC.U R1.w, R1;
  10192. AND.U.CC HC.x, R1.w, R5;
  10193. MOV.S R10.w, R5.y;
  10194. IF NE.x;
  10195. ELSE;
  10196. MOV.F R1.y, {0, 0, 0, 0}.x;
  10197. ENDIF;
  10198. MOV.F R5.x, R11.y;
  10199. MOV.F R1.w, R17.x;
  10200. MUL.F32 R5.y, R1.w, R5.x;
  10201. MOV.F R5.x, R12;
  10202. MOV.F R1.w, c[7].x;
  10203. ADD.F32 R1.w, R1, R5.x;
  10204. MOV.S R6.z, R5.y;
  10205. MOV.S R5.y, R1.w;
  10206. MOV.F R1.w, R26.x;
  10207. SNE.F32 R6.w, R1, {0, 0, 0, 0}.x;
  10208. MOV.F R5.x, c[7].z;
  10209. TRUNC.U R11.x, R6.w;
  10210. SNE.F32 R6.w, R5.x, {0, 0, 0, 0}.x;
  10211. MUL.F32 R1.w, R5.x, R1;
  10212. MOV.S R5.x, R1.y;
  10213. TRUNC.U R1.y, R6.w;
  10214. AND.U.CC HC.x, R1.y, R11;
  10215. IF NE.x;
  10216. MOV.F R1.y, R1.w;
  10217. ELSE;
  10218. MOV.F R1.y, {0, 0, 0, 0}.x;
  10219. ENDIF;
  10220. MOV.S R1.y, R1;
  10221. MOV.F R1.w, R1.y;
  10222. MOV.F R1.y, R13.w;
  10223. ADD.F32 R1.w, R1.y, R1;
  10224. MOV.S R11.x, R1.w;
  10225. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10226. MOV.F R12.x, R16;
  10227. MOV.F R11.w, R6.y;
  10228. MOV.F R6.w, R13.z;
  10229. MOV.F R1.w, c[8].y;
  10230. ADD.F32 R1.w, R1, R6;
  10231. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  10232. MOV.S R12.y, R1.w;
  10233. TRUNC.U R1.w, R6;
  10234. SNE.F32 R6.w, R12.x, {0, 0, 0, 0}.x;
  10235. TRUNC.U R6.w, R6;
  10236. AND.U.CC HC.x, R1.w, R6.w;
  10237. MUL.F32 R1.y, R11.w, R12.x;
  10238. MOV.S R1.z, R1;
  10239. IF NE.x;
  10240. ELSE;
  10241. MOV.F R1.y, {0, 0, 0, 0}.x;
  10242. ENDIF;
  10243. MOV.F R11.w, R14.z;
  10244. MOV.F R6.w, R27.z;
  10245. MUL.F32 R1.w, R6, R11;
  10246. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10247. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  10248. TRUNC.U R11.w, R11;
  10249. TRUNC.U R6.w, R6;
  10250. AND.U.CC HC.x, R6.w, R11.w;
  10251. MOV.S R12.z, R1.y;
  10252. IF NE.x;
  10253. MOV.F R1.y, R1.w;
  10254. ELSE;
  10255. MOV.F R1.y, {0, 0, 0, 0}.x;
  10256. ENDIF;
  10257. MOV.F R12.x, R16.z;
  10258. MOV.F R12.w, R0;
  10259. MUL.F32 R6.w, R12.x, R12;
  10260. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10261. MOV.F R11.w, R16.y;
  10262. MOV.F R1.w, c[9].z;
  10263. ADD.F32 R1.w, R1, R11;
  10264. MOV.S R11.w, R1;
  10265. SNE.F32 R1.w, R12.x, {0, 0, 0, 0}.x;
  10266. TRUNC.U R12.x, R1.w;
  10267. TRUNC.U R12.w, R12;
  10268. AND.U.CC HC.x, R12, R12.w;
  10269. MOV.S R1.w, R1.y;
  10270. IF NE.x;
  10271. MOV.F R1.y, R6.w;
  10272. ELSE;
  10273. MOV.F R1.y, {0, 0, 0, 0}.x;
  10274. ENDIF;
  10275. MOV.F R12.w, R10.z;
  10276. MOV.F R12.x, R15.y;
  10277. MUL.F32 R6.w, R12.x, R12;
  10278. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10279. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10280. TRUNC.U R13.x, R12;
  10281. TRUNC.U R13.y, R12.w;
  10282. AND.U.CC HC.x, R13, R13.y;
  10283. MOV.F R12.w, c[12].x;
  10284. MOV.F R12.x, c[11];
  10285. ADD.F32 R12.x, -R12, R12.w;
  10286. MOV.S R18.y, R12.x;
  10287. MOV.S R27.z, R1.y;
  10288. IF NE.x;
  10289. MOV.F R1.y, R6.w;
  10290. ELSE;
  10291. MOV.F R1.y, {0, 0, 0, 0}.x;
  10292. ENDIF;
  10293. MOV.F R12.w, R16;
  10294. MOV.F R12.x, R6;
  10295. MUL.F32 R6.w, R12.x, R12;
  10296. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10297. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10298. TRUNC.U R12.x, R12;
  10299. TRUNC.U R12.w, R12;
  10300. AND.U.CC HC.x, R12, R12.w;
  10301. MOV.S R26.z, R1.y;
  10302. IF NE.x;
  10303. ELSE;
  10304. MOV.F R6.w, {0, 0, 0, 0}.x;
  10305. ENDIF;
  10306. MOV.F R1.y, R14;
  10307. FRC.F32 R1.y, R1;
  10308. MOV.S R12.x, R1.y;
  10309. MOV.S R18.z, R0.y;
  10310. MOV.F R0.y, R26.x;
  10311. SNE.F32 R12.w, R0.y, {0, 0, 0, 0}.x;
  10312. TRUNC.U R13.x, R12.w;
  10313. MOV.S R1.y, R1.z;
  10314. MOV.F R1.z, c[7].y;
  10315. MUL.F32 R0.y, R1.z, R0;
  10316. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  10317. TRUNC.U R1.z, R1;
  10318. AND.U.CC HC.x, R1.z, R13;
  10319. MOV.S R12.w, R6;
  10320. IF NE.x;
  10321. MOV.F R6.w, R0.y;
  10322. ELSE;
  10323. MOV.F R6.w, {0, 0, 0, 0}.x;
  10324. ENDIF;
  10325. MOV.F R13.x, R1;
  10326. MOV.F R1.z, R11.y;
  10327. MOV.F R13.y, R1;
  10328. MUL.F32 R1.y, R13.x, R13;
  10329. MOV.F R0.y, R18;
  10330. MUL.F32 R0.y, R0, R1.z;
  10331. MOV.F R11.y, R15.z;
  10332. MOV.S R1.z, R0.y;
  10333. MAD.F32 R0.y, R11, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10334. MOV.F R11.y, R18.z;
  10335. MAD.F32 R11.y, R11, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10336. MOV.S R1.x, R6.w;
  10337. MOV.S R6.w, R11.y;
  10338. SNE.F32 R11.y, R13.x, {0, 0, 0, 0}.x;
  10339. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  10340. TRUNC.U R13.x, R13.y;
  10341. TRUNC.U R11.y, R11;
  10342. AND.U.CC HC.x, R11.y, R13;
  10343. MOV.S R0.y, R0;
  10344. IF NE.x;
  10345. ELSE;
  10346. MOV.F R1.y, {0, 0, 0, 0}.x;
  10347. ENDIF;
  10348. MOV.S R11.y, R1;
  10349. ENDIF;
  10350. SEQ.U R1.y, R23.w, {1, 0, 0, 0}.x;
  10351. MOV.U.CC RC.x, -R1.y;
  10352. IF NE.x;
  10353. MOV.F R10.x, R6.y;
  10354. MOV.F R13.z, R11;
  10355. MOV.F R13.xy, R5.zwzw;
  10356. MOV.F R14.xyz, R13;
  10357. MOV.F R13.w, {0, 0, 0, 0}.x;
  10358. MOV.F R14.w, {-0, 0, 0, 0}.x;
  10359. DP4.F32 R1.y, R14, R13;
  10360. MOV.S R17.x, R1.y;
  10361. MOV.F R1.y, c[8].x;
  10362. ADD.F32 R1.w, R1.y, R1;
  10363. MOV.S R14.x, R1.w;
  10364. MOV.F R1.w, R1.x;
  10365. MOV.F R1.x, R26.z;
  10366. ADD.F32 R1.w, R1.x, R1;
  10367. MOV.S R14.y, R1.w;
  10368. SNE.F32 R1.w, R10, {0, 0, 0, 0}.x;
  10369. MOV.F R6.y, R27.z;
  10370. MOV.F R1.x, R11;
  10371. ADD.F32 R1.x, R1, R6.y;
  10372. MOV.S R16.y, R1.x;
  10373. SNE.F32 R1.x, R10, {0, 0, 0, 0};
  10374. TRUNC.U R1.w, R1;
  10375. TRUNC.U R1.x, R1;
  10376. AND.U.CC HC.x, R1, R1.w;
  10377. MUL.F32 R1.y, R10.x, R10.w;
  10378. IF NE.x;
  10379. MOV.F R1.x, R1.y;
  10380. ELSE;
  10381. MOV.F R1.x, {0, 0, 0, 0};
  10382. ENDIF;
  10383. MOV.F R6.y, R6.x;
  10384. MOV.F R1.y, c[9];
  10385. MOV.F R1.w, R12.z;
  10386. ADD.F32 R1.w, R1.y, R1;
  10387. MOV.S R16.w, R1;
  10388. SNE.F32 R1.w, R6.y, {0, 0, 0, 0}.x;
  10389. MUL.F32 R1.y, R6, R6.z;
  10390. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  10391. TRUNC.U R1.w, R1;
  10392. TRUNC.U R6.y, R6;
  10393. AND.U.CC HC.x, R1.w, R6.y;
  10394. MOV.S R13.z, R1.x;
  10395. IF NE.x;
  10396. MOV.F R1.x, R1.y;
  10397. ELSE;
  10398. MOV.F R1.x, {0, 0, 0, 0};
  10399. ENDIF;
  10400. MOV.F R10.x, R5;
  10401. MOV.F R6.z, R11.w;
  10402. MOV.F R6.y, R12.w;
  10403. MOV.F R1.w, c[11].z;
  10404. ADD.F32 R1.w, R1, R6.y;
  10405. MOV.S R13.x, R1.w;
  10406. SNE.F32 R1.w, R6.z, {0, 0, 0, 0}.x;
  10407. SNE.F32 R6.y, R10.x, {0, 0, 0, 0}.x;
  10408. TRUNC.U R1.w, R1;
  10409. TRUNC.U R6.y, R6;
  10410. AND.U.CC HC.x, R1.w, R6.y;
  10411. MUL.F32 R1.y, R6.z, R10.x;
  10412. MOV.S R16.x, R1;
  10413. IF NE.x;
  10414. MOV.F R1.x, R1.y;
  10415. ELSE;
  10416. MOV.F R1.x, {0, 0, 0, 0};
  10417. ENDIF;
  10418. MOV.F R6.y, R0.w;
  10419. MOV.F R1.w, R12.y;
  10420. MUL.F32 R1.y, R1.w, R6;
  10421. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10422. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10423. TRUNC.U R1.w, R1;
  10424. TRUNC.U R6.y, R6;
  10425. AND.U.CC HC.x, R1.w, R6.y;
  10426. MOV.S R15.y, R1.x;
  10427. IF NE.x;
  10428. MOV.F R1.x, R1.y;
  10429. ELSE;
  10430. MOV.F R1.x, {0, 0, 0, 0};
  10431. ENDIF;
  10432. MOV.F R6.y, R10.z;
  10433. MOV.F R1.w, R5.y;
  10434. MUL.F32 R1.y, R1.w, R6;
  10435. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10436. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10437. TRUNC.U R1.w, R1;
  10438. TRUNC.U R6.y, R6;
  10439. AND.U.CC HC.x, R1.w, R6.y;
  10440. MOV.S R16.z, R1.x;
  10441. IF NE.x;
  10442. MOV.F R1.x, R1.y;
  10443. ELSE;
  10444. MOV.F R1.x, {0, 0, 0, 0};
  10445. ENDIF;
  10446. MOV.F R1.y, R26.x;
  10447. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  10448. MOV.F R1.w, c[7].x;
  10449. MUL.F32 R1.y, R1.w, R1;
  10450. TRUNC.U R6.y, R6;
  10451. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10452. MOV.S R18.w, R1.x;
  10453. TRUNC.U R1.x, R1.w;
  10454. AND.U.CC HC.x, R1, R6.y;
  10455. IF NE.x;
  10456. ELSE;
  10457. MOV.F R1.y, {0, 0, 0, 0}.x;
  10458. ENDIF;
  10459. MUL.F32 R0.y, R0, {0.159154937, 0, 0, 0}.x;
  10460. MOV.S R15.x, R0.y;
  10461. MOV.F R0.y, R18.w;
  10462. ADD.F32 R0.y, R0, R1;
  10463. MOV.S R13.y, R0;
  10464. MOV.F R1.x, R13.z;
  10465. MOV.F R0.y, c[9].x;
  10466. ADD.F32 R0.y, R0, R1.x;
  10467. MOV.F R6.y, R14;
  10468. MOV.F R1.w, R16.z;
  10469. ADD.F32 R1.w, R1, R6.y;
  10470. MOV.S R13.z, R1.w;
  10471. MOV.S R14.y, R0;
  10472. MOV.F R0.y, R17.x;
  10473. RSQ.F32 R0.y, R0.y;
  10474. MOV.F R6.y, R16;
  10475. MOV.F R1.w, R15.y;
  10476. ADD.F32 R1.w, R1, R6.y;
  10477. MOV.F R6.y, R6.x;
  10478. MOV.S R10.w, R16.x;
  10479. MOV.S R16.x, R1.w;
  10480. MOV.F R1.w, R1.z;
  10481. MOV.F R6.x, R6.w;
  10482. MUL.F32 R6.x, R6, {0.159154937, 0, 0, 0};
  10483. MOV.S R15.z, R6.x;
  10484. MOV.F R6.x, R12;
  10485. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  10486. SNE.F32 R1.x, R6.y, {0, 0, 0, 0};
  10487. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  10488. TRUNC.U R1.x, R1;
  10489. TRUNC.U R1.y, R1;
  10490. AND.U.CC HC.x, R1, R1.y;
  10491. MUL.F32 R1.z, R6.y, R1.w;
  10492. MOV.S R13.w, R6.x;
  10493. MOV.S R15.w, R0.y;
  10494. IF NE.x;
  10495. MOV.F R0.y, R1.z;
  10496. ELSE;
  10497. MOV.F R0.y, {0, 0, 0, 0}.x;
  10498. ENDIF;
  10499. MOV.F R1.z, R5.x;
  10500. MOV.F R1.y, R16.w;
  10501. MUL.F32 R1.x, R1.y, R1.z;
  10502. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10503. TRUNC.U R1.w, R1.y;
  10504. SNE.F32 R6.x, R1.z, {0, 0, 0, 0};
  10505. MOV.F R1.z, R10.w;
  10506. MOV.F R1.y, c[11];
  10507. ADD.F32 R1.y, R1, R1.z;
  10508. TRUNC.U R1.z, R6.x;
  10509. AND.U.CC HC.x, R1.w, R1.z;
  10510. MOV.S R16.y, R1;
  10511. MOV.S R14.w, R0.y;
  10512. IF NE.x;
  10513. MOV.F R0.y, R1.x;
  10514. ELSE;
  10515. MOV.F R0.y, {0, 0, 0, 0}.x;
  10516. ENDIF;
  10517. MOV.F R1.y, R0.w;
  10518. MOV.F R1.x, R14;
  10519. MUL.F32 R0.w, R1.x, R1.y;
  10520. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10521. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10522. TRUNC.U R1.x, R1;
  10523. TRUNC.U R1.y, R1;
  10524. AND.U.CC HC.x, R1, R1.y;
  10525. MOV.S R17.x, R0.y;
  10526. IF NE.x;
  10527. MOV.F R0.y, R0.w;
  10528. ELSE;
  10529. MOV.F R0.y, {0, 0, 0, 0}.x;
  10530. ENDIF;
  10531. MOV.F R1.y, R11;
  10532. MOV.F R1.x, R13;
  10533. MUL.F32 R0.w, R1.x, R1.y;
  10534. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10535. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10536. TRUNC.U R1.x, R1;
  10537. TRUNC.U R1.y, R1;
  10538. AND.U.CC HC.x, R1, R1.y;
  10539. MOV.S R17.y, R0;
  10540. IF NE.x;
  10541. MOV.F R0.y, R0.w;
  10542. ELSE;
  10543. MOV.F R0.y, {0, 0, 0, 0}.x;
  10544. ENDIF;
  10545. MOV.F R1.x, R13.w;
  10546. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  10547. MOV.F R1.y, R15.z;
  10548. MOV.F R1.w, R15;
  10549. MOV.F R1.z, R5.w;
  10550. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10551. MOV.S R16.w, R1.x;
  10552. COS.F32 R1.x, R1.y;
  10553. MOV.S R14.x, R1;
  10554. SNE.F32 R1.x, R1.z, {0, 0, 0, 0};
  10555. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  10556. TRUNC.U R1.x, R1;
  10557. TRUNC.U R1.y, R1;
  10558. AND.U.CC HC.x, R1, R1.y;
  10559. MUL.F32 R0.w, R1.z, R1;
  10560. MOV.S R18.z, R13.y;
  10561. MOV.S R16.z, R0.y;
  10562. IF NE.x;
  10563. MOV.F R0.y, R0.w;
  10564. ELSE;
  10565. MOV.F R0.y, {0, 0, 0, 0}.x;
  10566. ENDIF;
  10567. MOV.F R1.x, R13.z;
  10568. MOV.F R0.w, R17.x;
  10569. ADD.F32 R0.w, R0, R1.x;
  10570. MOV.F R1.y, R15.w;
  10571. MOV.F R1.x, R11.z;
  10572. MOV.S R13.y, R0.w;
  10573. MUL.F32 R0.w, R1.x, R1.y;
  10574. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10575. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10576. TRUNC.U R1.x, R1;
  10577. TRUNC.U R1.y, R1;
  10578. AND.U.CC HC.x, R1, R1.y;
  10579. MOV.S R12.x, R0.y;
  10580. IF NE.x;
  10581. MOV.F R0.y, R0.w;
  10582. ELSE;
  10583. MOV.F R0.y, {0, 0, 0, 0}.x;
  10584. ENDIF;
  10585. MOV.F R0.w, R15.x;
  10586. MUL.F32 R0.w, R0, {6.28318548, 0, 0, 0}.x;
  10587. COS.F32 R1.y, R0.w;
  10588. MOV.S R13.z, R1.y;
  10589. MOV.F R1.x, R18.z;
  10590. MOV.F R0.w, R17.y;
  10591. ADD.F32 R0.w, R0, R1.x;
  10592. MOV.S R13.w, R0;
  10593. MOV.F R0.w, R0.z;
  10594. SNE.F32 R1.z, R0.w, {0, 0, 0, 0}.x;
  10595. MOV.F R1.x, c[12].z;
  10596. TRUNC.U R1.w, R1.z;
  10597. MUL.F32 R0.w, R1.x, R0;
  10598. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10599. MOV.S R1.z, R0.y;
  10600. TRUNC.U R0.y, R1.x;
  10601. AND.U.CC HC.x, R0.y, R1.w;
  10602. MOV.S R10.w, R16.z;
  10603. MOV.S R1.y, R16.x;
  10604. IF NE.x;
  10605. MOV.F R0.y, R0.w;
  10606. ELSE;
  10607. MOV.F R0.y, {0, 0, 0, 0}.x;
  10608. ENDIF;
  10609. MOV.F R1.w, R11.y;
  10610. MOV.F R1.x, R16.y;
  10611. MUL.F32 R0.w, R1.x, R1;
  10612. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10613. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10614. TRUNC.U R1.x, R1;
  10615. TRUNC.U R1.w, R1;
  10616. AND.U.CC HC.x, R1, R1.w;
  10617. MOV.S R16.x, R0.y;
  10618. IF NE.x;
  10619. MOV.F R0.y, R0.w;
  10620. ELSE;
  10621. MOV.F R0.y, {0, 0, 0, 0}.x;
  10622. ENDIF;
  10623. MOV.F R1.w, R14.y;
  10624. MOV.F R1.x, R14.w;
  10625. MOV.F R0.w, c[11].x;
  10626. ADD.F32 R1.x, R0.w, R1;
  10627. MUL.F32 R0.w, R1, R5.x;
  10628. MOV.S R16.z, R1.x;
  10629. SNE.F32 R1.x, R1.w, {0, 0, 0, 0};
  10630. TRUNC.U R1.w, R1.x;
  10631. MOV.F R1.x, R10.w;
  10632. ADD.F32 R1.x, R1, R1.y;
  10633. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10634. TRUNC.U R1.y, R5.x;
  10635. AND.U.CC HC.x, R1.w, R1.y;
  10636. MOV.S R14.w, R1.x;
  10637. MOV.S R16.y, R0;
  10638. IF NE.x;
  10639. MOV.F R0.y, R0.w;
  10640. ELSE;
  10641. MOV.F R0.y, {0, 0, 0, 0}.x;
  10642. ENDIF;
  10643. MOV.F R1.y, R12.x;
  10644. MOV.F R1.x, R27.w;
  10645. MUL.F32 R0.w, R1.x, R1.y;
  10646. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10647. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10648. TRUNC.U R1.y, R1;
  10649. TRUNC.U R1.x, R1;
  10650. AND.U.CC HC.x, R1, R1.y;
  10651. MOV.S R11.w, R0.y;
  10652. IF NE.x;
  10653. MOV.F R0.y, R0.w;
  10654. ELSE;
  10655. MOV.F R0.y, {0, 0, 0, 0}.x;
  10656. ENDIF;
  10657. MOV.F R1.y, R15.w;
  10658. MOV.F R1.x, R5.z;
  10659. MUL.F32 R0.w, R1.x, R1.y;
  10660. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10661. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10662. TRUNC.U R1.x, R1;
  10663. TRUNC.U R1.y, R1;
  10664. AND.U.CC HC.x, R1, R1.y;
  10665. MOV.S R13.x, R0.y;
  10666. IF NE.x;
  10667. MOV.F R0.y, R0.w;
  10668. ELSE;
  10669. MOV.F R0.y, {0, 0, 0, 0}.x;
  10670. ENDIF;
  10671. MOV.F R5.x, R14;
  10672. MOV.F R1.w, R13.z;
  10673. MOV.F R1.y, R13.w;
  10674. MOV.F R1.x, R11.w;
  10675. ADD.F32 R1.x, R1, R1.y;
  10676. MOV.S R14.z, R1.x;
  10677. SNE.F32 R1.x, R1.w, {0, 0, 0, 0};
  10678. SNE.F32 R1.y, R5.x, {0, 0, 0, 0}.x;
  10679. TRUNC.U R1.x, R1;
  10680. TRUNC.U R1.y, R1;
  10681. AND.U.CC HC.x, R1, R1.y;
  10682. MUL.F32 R0.w, R1, R5.x;
  10683. MOV.S R12.y, R0;
  10684. IF NE.x;
  10685. ELSE;
  10686. MOV.F R0.w, {0, 0, 0, 0}.x;
  10687. ENDIF;
  10688. MOV.F R0.y, R16;
  10689. MOV.F R1.x, R13.y;
  10690. ADD.F32 R1.x, R0.y, R1;
  10691. MOV.F R0.y, R16.w;
  10692. MOV.S R18.z, R16.x;
  10693. MUL.F32 R0.y, R0, {6.28318548, 0, 0, 0}.x;
  10694. SIN.F32 R0.y, R0.y;
  10695. MOV.F R1.w, R1.z;
  10696. MOV.F R1.y, R0.x;
  10697. MOV.S R16.x, R1;
  10698. MUL.F32 R1.x, R1.y, R1.w;
  10699. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10700. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10701. TRUNC.U R1.y, R1;
  10702. TRUNC.U R1.w, R1;
  10703. AND.U.CC HC.x, R1.y, R1.w;
  10704. MOV.S R0.y, R0;
  10705. MOV.S R10.w, R16;
  10706. MOV.S R0.w, R0;
  10707. IF NE.x;
  10708. ELSE;
  10709. MOV.F R1.x, {0, 0, 0, 0};
  10710. ENDIF;
  10711. MOV.F R1.w, R14;
  10712. MOV.F R1.y, R18.z;
  10713. ADD.F32 R1.y, R1, R1.w;
  10714. MOV.F R1.w, R0.z;
  10715. SNE.F32 R5.x, R1.w, {0, 0, 0, 0};
  10716. TRUNC.U R6.y, R5.x;
  10717. MOV.F R5.w, c[12].y;
  10718. MOV.S R5.z, R1.y;
  10719. MUL.F32 R1.y, R5.w, R1.w;
  10720. MOV.F R1.w, R25.x;
  10721. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  10722. MOV.F R5.x, R10.w;
  10723. MOV.S R16.w, R1;
  10724. MUL.F32 R1.w, R5.x, {6.28318548, 0, 0, 0}.x;
  10725. MOV.S R13.y, R1.x;
  10726. COS.F32 R1.x, R1.w;
  10727. SNE.F32 R1.w, R5, {0, 0, 0, 0}.x;
  10728. MOV.S R6.x, R1;
  10729. TRUNC.U R1.x, R1.w;
  10730. AND.U.CC HC.x, R1, R6.y;
  10731. IF NE.x;
  10732. MOV.F R1.x, R1.y;
  10733. ELSE;
  10734. MOV.F R1.x, {0, 0, 0, 0};
  10735. ENDIF;
  10736. MOV.F R5.x, R11.y;
  10737. MOV.F R1.w, R16.z;
  10738. MUL.F32 R1.y, R1.w, R5.x;
  10739. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10740. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10741. TRUNC.U R1.w, R1;
  10742. TRUNC.U R5.x, R5;
  10743. AND.U.CC HC.x, R1.w, R5;
  10744. MOV.S R18.x, R1;
  10745. IF NE.x;
  10746. MOV.F R1.x, R1.y;
  10747. ELSE;
  10748. MOV.F R1.x, {0, 0, 0, 0};
  10749. ENDIF;
  10750. MOV.F R5.x, R13.z;
  10751. MOV.F R1.w, R6.x;
  10752. MUL.F32 R1.y, R1.w, R5.x;
  10753. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10754. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10755. TRUNC.U R1.w, R1;
  10756. TRUNC.U R5.x, R5;
  10757. AND.U.CC HC.x, R1.w, R5;
  10758. MOV.S R16.y, R1.x;
  10759. IF NE.x;
  10760. MOV.F R1.x, R1.y;
  10761. ELSE;
  10762. MOV.F R1.x, {0, 0, 0, 0};
  10763. ENDIF;
  10764. MOV.F R5.x, R0.w;
  10765. MOV.F R1.w, R0.y;
  10766. MUL.F32 R1.y, R1.w, R5.x;
  10767. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  10768. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10769. TRUNC.U R1.w, R1;
  10770. TRUNC.U R5.x, R5;
  10771. AND.U.CC HC.x, R1.w, R5;
  10772. MOV.S R16.z, R1.x;
  10773. IF NE.x;
  10774. MOV.F R1.x, R1.y;
  10775. ELSE;
  10776. MOV.F R1.x, {0, 0, 0, 0};
  10777. ENDIF;
  10778. MOV.F R1.y, R15.x;
  10779. MUL.F32 R1.w, R1.y, {6.28318548, 0, 0, 0}.x;
  10780. SIN.F32 R1.w, R1.w;
  10781. MOV.F R5.x, R10.y;
  10782. MOV.F R5.w, R12.y;
  10783. MOV.S R13.w, R1;
  10784. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  10785. MUL.F32 R1.y, R5.x, R5.w;
  10786. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  10787. TRUNC.U R1.w, R1;
  10788. TRUNC.U R5.x, R5;
  10789. AND.U.CC HC.x, R1.w, R5;
  10790. MOV.S R18.z, R13.x;
  10791. MOV.S R14.w, R1.x;
  10792. IF NE.x;
  10793. MOV.F R1.x, R1.y;
  10794. ELSE;
  10795. MOV.F R1.x, {0, 0, 0, 0};
  10796. ENDIF;
  10797. MOV.F R1.w, R16.x;
  10798. MOV.F R1.y, R18.x;
  10799. ADD.F32 R1.y, R1, R1.w;
  10800. MOV.F R5.x, R1.z;
  10801. MOV.F R1.w, R10.y;
  10802. MOV.S R14.y, R1;
  10803. MUL.F32 R1.y, -R1.w, R5.x;
  10804. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  10805. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10806. TRUNC.U R1.w, R1;
  10807. TRUNC.U R5.x, R5;
  10808. AND.U.CC HC.x, R1.w, R5;
  10809. MOV.S R13.x, R1;
  10810. IF NE.x;
  10811. MOV.F R1.x, R1.y;
  10812. ELSE;
  10813. MOV.F R1.x, {0, 0, 0, 0};
  10814. ENDIF;
  10815. MOV.F R1.w, R12.y;
  10816. MOV.F R5.x, R27.w;
  10817. SNE.F32 R5.w, R1, {0, 0, 0, 0}.x;
  10818. MUL.F32 R1.y, -R5.x, R1.w;
  10819. MOV.F R1.w, R18.z;
  10820. ADD.F32 R1.x, R1, R1.w;
  10821. TRUNC.U R5.w, R5;
  10822. SNE.F32 R1.w, -R5.x, {0, 0, 0, 0}.x;
  10823. MOV.S R11.z, R1.x;
  10824. TRUNC.U R1.x, R1.w;
  10825. AND.U.CC HC.x, R1, R5.w;
  10826. IF NE.x;
  10827. MOV.F R1.x, R1.y;
  10828. ELSE;
  10829. MOV.F R1.x, {0, 0, 0, 0};
  10830. ENDIF;
  10831. MOV.F R1.w, R13.y;
  10832. ADD.F32 R1.x, R1, R1.w;
  10833. MOV.F R1.y, R15.z;
  10834. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  10835. SIN.F32 R5.x, R1.y;
  10836. MOV.F R5.w, R13;
  10837. MOV.S R15.w, R1.x;
  10838. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  10839. SNE.F32 R1.x, R5.w, {0, 0, 0, 0};
  10840. TRUNC.U R1.w, R1;
  10841. TRUNC.U R1.x, R1;
  10842. AND.U.CC HC.x, R1, R1.w;
  10843. MUL.F32 R1.y, R5.x, R5.w;
  10844. MOV.S R15.y, R5.x;
  10845. IF NE.x;
  10846. MOV.F R1.x, R1.y;
  10847. ELSE;
  10848. MOV.F R1.x, {0, 0, 0, 0};
  10849. ENDIF;
  10850. MOV.F R1.w, R14.z;
  10851. MOV.F R1.y, R16;
  10852. ADD.F32 R1.y, R1, R1.w;
  10853. MOV.F R5.x, R15.y;
  10854. MOV.F R1.w,
  10855. [17:50:33] Shader cache loaded. Commited mem 5987MB. Took 25750ms
  10856. [17:50:33] Recompiler initialized. CPU extensions: LZCNT MOVBE AVX
  10857. [17:50:33] Custom timer mode: QPC
  10858. [17:50:33] Applying patch group BotwFPSv176V192 from pack 'The Legend of Zelda: Breath of the Wild - FPS++' to module u-king (checksum 0xD472D8A5)
  10859. [17:50:33] Applying patch group BotwPlsNoCrashV176V192 from pack 'The Legend of Zelda: Breath of the Wild - LWZX Crash workaround' to module u-king (checksum 0xD472D8A5)
  10860. [17:50:33] IOSU_CRYPTO: No otp.bin found. Online mode cannot be used
  10861. [17:50:33] IOSU_CRYPTO: No Seeprom.bin found. Online mode cannot be used
  10862. [17:50:50] Init snd_core AX module
Advertisement
Add Comment
Please, Sign In to add comment