MyatTHu97

Log

Nov 6th, 2020
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 410.53 KB | None | 0 0
  1. [17:13:28] Outdated graphic pack or unknown version in 'C:/Users/Asus TUF/Desktop/cemu_1.21.4/graphicPacks/BreathOfTheWild_LwzxNullCheck\rules.txt'
  2. [17:13:29] ------- Init Cemu 1.21.4 -------
  3. [17:13:29] Init Wii U memory space (base: 0x24905850000)
  4. [17:13:29] mlc01 path: C:\Users\Asus TUF\Desktop\cemu_1.21.4\mlc01\
  5. [17:13:29] Cemuhook version: 0.5.7.3
  6. [17:13:29] CPU: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx
  7. [17:13:29] RAM: 8000MB
  8. [17:13:29] Used CPU extensions: SSSE3, SSE4.1, AVX2, AES-NI
  9. [17:13:30] Loading U-King.rpx
  10. [17:13:31] Creating OpenGL canvas
  11. [17:13:32] Loaded RPL module u-king (checksum 0x6267BFD0)
  12. [17:13:32] Thread quantum set to 100000
  13. [17:13:32] ------- Loaded title -------
  14. [17:13:32] TitleId: 00050000-101c9400
  15. [17:13:32] TitleVersion: v208
  16. [17:13:32] Update path: <mlc01>\usr\title\0005000e\101c9400\
  17. [17:13:32] AOC path: <mlc01>\usr\title\0005000c\101c9400\
  18. [17:13:32] Save path: <mlc01>\usr\save\00050000\101C9400\user\
  19. [17:13:32] Shader cache file: shaderCache\transferable\00050000101c9400.bin
  20. [17:13:32] gameprofile path: gameProfiles\00050000101c9400.ini
  21. [17:13:32] RPX hash (updated): fb7911ad
  22. [17:13:32] RPX hash (base): dcac9927
  23. [17:13:33] Loaded module 'u-king' with checksum 0x6267bfd0
  24. [17:13:33] RPL link time: 281ms
  25. [17:13:33] HLE scan time: 219ms
  26. [17:13:33] ------- Active settings -------
  27. [17:13:33] CPU-Mode: Triple-core recompiler (gameprofile)
  28. [17:13:33] Load shared libraries: true (gameprofile)
  29. [17:13:33] Use precompiled shaders: auto (gameprofile)
  30. [17:13:33] Full sync at GX2DrawDone: true
  31. [17:13:33] Console region: Auto
  32. [17:13:33] Console language: English
  33. [17:13:33] ------- Init OpenGL graphics backend -------
  34. [17:13:33] GL_VENDOR: NVIDIA Corporation
  35. [17:13:33] GL_RENDERER: GeForce GTX 1650/PCIe/SSE2
  36. [17:13:33] GL_VERSION: 4.6.0 NVIDIA 457.09
  37. [17:13:33] OpenGL extensions:
  38. [17:13:33] ARB_clip_control: available
  39. [17:13:33] ARB_get_program_binary: available
  40. [17:13:33] ARB_clear_texture: available
  41. [17:13:33] ARB_copy_image: available
  42. [17:13:33] NV_depth_buffer_float: available
  43. [17:13:33] ------- Activate graphic packs -------
  44. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/No Depth of Field
  45. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient Armor [Presets: Malice Red]
  46. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient weapons [Presets: Malice Red]
  47. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Decayed Guardian [Presets: Malice Red]
  48. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Stalker & Scout & Guardian weapons [Presets: Malice Red]
  49. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Turret & Skywatcher [Presets: Malice Red]
  50. [17:13:33] Applying patch group 'BotW_FasterArrowDraw_V208'
  51. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Faster Arrow Draw
  52. [17:13:33] Applying patch group 'BotwV208'
  53. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Amiibo
  54. [17:13:33] Applying patch group 'BotwV208'
  55. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Arrows
  56. [17:13:33] Applying patch group 'BotwV208'
  57. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Daruk's Protection
  58. [17:13:33] Applying patch group 'BotwV208'
  59. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Hearts
  60. [17:13:33] Applying patch group 'BotwV208'
  61. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Mipha's Grace
  62. [17:13:33] Applying patch group 'BotwV208'
  63. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Motorcycle Energy
  64. [17:13:33] Applying patch group 'BotwV208'
  65. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Revali's Gale
  66. [17:13:33] Applying patch group 'BotwV208'
  67. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Stamina
  68. [17:13:33] Applying patch group 'BotwV208'
  69. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Urbosa's Fury
  70. [17:13:33] Applying patch group 'BotwV208'
  71. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Weapons, Bows and Shields
  72. [17:13:33] Applying patch group 'BotwV208'
  73. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Spawn Motorcycle Anywhere
  74. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Enhancements/Clarity [Presets: Serfrost's Preset (Default)]
  75. [17:13:33] Applying patch group 'BotwFPSV208' (Codecave: 01800000-01800124)
  76. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Dynamic Gamespeed (Required) [Presets: 32 Frames Averaged]
  77. [17:13:33] Applying patch group 'BotwFenceV208' (Codecave: 01800200-01800250)
  78. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Fence Method (Required) [Presets: Performance Fence]
  79. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required) [Presets: 60FPS (ideal for 240/120/60Hz displays)]
  80. [17:13:33] Set vsync frequency to 60 (graphic pack The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required))
  81. [17:13:33] Applying patch group 'BotwFPSV208'
  82. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/NPC Stutter Fix (CPU Occlusion Query)
  83. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Kakariko Torch Shadows (OpenGL)
  84. [17:13:33] Applying patch group 'BotwPlsNoCrashV208' (Codecave: 01800300-0180033c)
  85. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/LWZX Crash (OpenGL)
  86. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds for OpenGL/NVIDIA: Explosion Smoke
  87. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds for OpenGL/NVIDIA: Stretched Clouds
  88. [17:13:33] Applying patch group 'BotwAspectsV208'
  89. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Resolution [Presets: 1280x720 (16:9) (Default)]
  90. [17:13:33] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Shadow Resolution [Presets: Medium (100%, Default)]
  91. [17:13:33] ------- Init Audio backend -------
  92. [17:13:33] DirectSound: available
  93. [17:13:33] XAudio 2.8: available
  94. [17:13:33] ------- Run title -------
  95. [17:13:33] Using precompiled shaders: false
  96. [17:14:11] Link error in shader. Log:
  97. [17:14:11] Vertex info
  98. -----------
  99. Internal error: assembly compile error for vertex shader at offset 1806:
  100. -- error message --
  101. line 38, column 45: error: invalid vertex attribute reference
  102. line 53, column 25: error: invalid vertex attribute reference
  103. line 55, column 25: error: invalid vertex attribute reference
  104. line 57, column 25: error: invalid vertex attribute reference
  105. line 60, column 25: error: invalid vertex attribute reference
  106. -- internal assembly text --
  107. !!NVvp5.0
  108. OPTION NV_internal;
  109. OPTION NV_bindless_texture;
  110. # cgc version 3.4.0001, build date Oct 22 2020
  111. # command line args:
  112. #vendor NVIDIA Corporation
  113. #version 3.4.0.1 COP Build Date Oct 22 2020
  114. #profile gp5vp
  115. #program main
  116. #semantic uf_remappedVS
  117. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  118. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  119. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  120. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  121. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  122. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  123. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  124. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  125. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  126. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  127. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  128. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  129. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  130. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  131. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  132. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  133. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  134. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  135. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  136. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  137. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  138. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  139. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  140. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  141. #var int4 uf_remappedVS[0] : : c[0], 34 : -1 : 1
  142. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  143. PARAM c[34] = { program.local[0..33] };
  144. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  145. OUTPUT result_attrib[] = { result.attrib[0..4] };
  146. 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;
  147. TEMP T;
  148. TEMP RC;
  149. SHORT TEMP HC;
  150. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  151. AND.U R1, R0, {65280, 0, 0, 0}.x;
  152. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  153. OR.U R0, R0, R1;
  154. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  155. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  156. OR.U R0, R0, R1;
  157. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  158. OR.U R4, R0, R2;
  159. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  160. AND.U R1, R0, {65280, 0, 0, 0}.x;
  161. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  162. OR.U R0, R0, R1;
  163. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  164. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  165. OR.U R0, R0, R1;
  166. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  167. OR.U R5, R0, R2;
  168. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  169. AND.U R2, R1, {65280, 0, 0, 0}.x;
  170. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  171. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  172. OR.U R1, R1, R2;
  173. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  174. OR.U R0, R1, R0;
  175. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  176. OR.U R6, R0, R2;
  177. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  178. AND.U R2, R1, {65280, 0, 0, 0}.x;
  179. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  180. OR.U R1, R1, R2;
  181. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  182. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  183. OR.U R1, R1, R2;
  184. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  185. OR.U R8, R1, R0;
  186. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  187. AND.U R1, R0, {65280, 0, 0, 0}.x;
  188. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  189. OR.U R0, R0, R1;
  190. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  191. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  192. OR.U R0, R0, R1;
  193. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  194. OR.U R9, R0, R2;
  195. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  196. AND.U R1, R0, {65280, 0, 0, 0}.x;
  197. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  198. OR.U R0, R0, R1;
  199. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  200. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  201. OR.U R0, R0, R1;
  202. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  203. OR.U R7, R0, R2;
  204. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  205. AND.U R1, R0, {65280, 0, 0, 0}.x;
  206. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  207. OR.U R0, R0, R1;
  208. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  209. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  210. OR.U R0, R0, R1;
  211. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  212. OR.U R10, R0, R2;
  213. MOV.U R0.x, R7.w;
  214. MOV.F R0.y, c[0].x;
  215. ADD.F32 R3.x, -R0, R0.y;
  216. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  217. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  218. AND.U R1, R0, {65280, 0, 0, 0}.x;
  219. TRUNC.U R16.x, R3.y;
  220. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  221. MOV.S R22.w, R3.x;
  222. OR.U R0, R0, R1;
  223. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  224. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  225. OR.U R0, R0, R1;
  226. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  227. OR.U R11, R0, R2;
  228. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  229. AND.U R1, R0, {65280, 0, 0, 0}.x;
  230. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  231. OR.U R0, R0, R1;
  232. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  233. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  234. OR.U R0, R0, R1;
  235. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  236. OR.U R12, R0, R2;
  237. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  238. AND.U R1, R0, {65280, 0, 0, 0}.x;
  239. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  240. OR.U R0, R0, R1;
  241. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  242. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  243. OR.U R0, R0, R1;
  244. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  245. OR.U R15, R0, R2;
  246. SEQ.U R0.x, R16, {1, 0, 0, 0};
  247. SEQ.U R16.y, -R0.x, {1, 0, 0, 0}.x;
  248. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  249. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  250. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  251. MOV.U.CC RC.x, -R16.y;
  252. OR.U R0.xyz, R0, R1;
  253. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  254. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  255. OR.U R0.xyz, R0, R1;
  256. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  257. OR.U R24.xyz, R0, R2;
  258. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  259. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  260. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  261. OR.U R0.xyz, R0, R1;
  262. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  263. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  264. OR.U R0.xyz, R0, R1;
  265. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  266. OR.U R23.xyz, R0, R2;
  267. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  268. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  269. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  270. OR.U R0.xyz, R0, R1;
  271. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  272. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  273. OR.U R0.xyz, R0, R1;
  274. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  275. OR.U R13.xyz, R0, R2;
  276. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  277. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  278. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  279. OR.U R0.xyz, R0, R1;
  280. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  281. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  282. OR.U R0.xyz, R0, R1;
  283. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  284. OR.U R14.xyz, R0, R2;
  285. MOV.S R0, {0, 0, 0, 0}.x;
  286. MOV.S R1, {0, 0, 0, 0}.x;
  287. MOV.S R2, {0, 0, 0, 0}.x;
  288. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  289. MOV.S R3.yz, {0, 0, 0, 0};
  290. MOV.S R3.x, vertex.id;
  291. MOV.S R3.w, vertex.instance.x;
  292. MOV.S R13.w, {0, 0, 0, 0}.x;
  293. MOV.S R14.w, {1065353216, 0, 0, 0}.x;
  294. IF NE.x;
  295. MOV.F R3.x, c[1].y;
  296. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  297. MOV.S R3.xy, {0, 0, 0, 0};
  298. MOV.S R3.z, R3;
  299. MOV.S R7.x, {0, 0, 0, 0};
  300. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  301. ENDIF;
  302. SEQ.U R16.x, R16, {0, 0, 0, 0};
  303. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  304. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  305. MOV.U.CC RC.x, -R16;
  306. IF NE.x;
  307. MOV.S R15.w, {0, 0, 0, 0}.x;
  308. ENDIF;
  309. SEQ.S R16.x, R15.w, {0, 0, 0, 0};
  310. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  311. SEQ.U R16.z, -R16.y, {1, 0, 0, 0}.x;
  312. MOV.U.CC RC.x, -R16.z;
  313. MOV.U R16.x, -R16;
  314. MOV.U R16.y, -R16;
  315. IF NE.x;
  316. MOV.F R16.z, R6.w;
  317. TRUNC.S R16.z, R16;
  318. I2F.S R16.z, R16;
  319. MOV.F R16.w, R22;
  320. SGE.F32 R16.w, R16, R16.z;
  321. MOV.S R24.z, R16;
  322. TRUNC.U R16.z, R16.w;
  323. SEQ.U R16.w, R16.y, {1, 0, 0, 0}.x;
  324. SEQ.U R16.y, R16.z, {1, 0, 0, 0}.x;
  325. AND.U R23.w, -R16.y, -R16;
  326. ELSE;
  327. MOV.U R23.w, {0, 0, 0, 0}.x;
  328. ENDIF;
  329. SEQ.U R16.y, R23.w, {1, 0, 0, 0}.x;
  330. MOV.U.CC RC.x, -R16.y;
  331. IF NE.x;
  332. MOV.F R3.x, c[1].y;
  333. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  334. MOV.S R3.xy, {0, 0, 0, 0};
  335. MOV.S R3.z, R3;
  336. MOV.S R7.x, {0, 0, 0, 0};
  337. MOV.S R13.w, {1065353216, 0, 0, 0}.x;
  338. ENDIF;
  339. SEQ.U R16.x, R16, {1, 0, 0, 0};
  340. SEQ.U R16.z, -R16.x, {1, 0, 0, 0}.x;
  341. MOV.U.CC RC.x, -R16.z;
  342. MOV.U R16.y, -R16.x;
  343. IF NE.x;
  344. SEQ.S R16.x, R13.w, {0, 0, 0, 0};
  345. SEQ.U R16.y, R16, {1, 0, 0, 0}.x;
  346. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  347. AND.U R23.w, -R16.x, -R16.y;
  348. ELSE;
  349. MOV.U R23.w, {0, 0, 0, 0}.x;
  350. ENDIF;
  351. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  352. MOV.U.CC RC.x, -R16;
  353. IF NE.x;
  354. MOV.F R0.y, R8;
  355. MOV.F R0.z, R8;
  356. ADD.F32 R0.w, R0.z, R0.y;
  357. MOV.F R0.x, R8;
  358. ADD.F32 R0.x, R0, R0.y;
  359. MUL.F32 R0.x, R0, {0.5, 0, 0, 0};
  360. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  361. MUL.F32 R0.w, R0, {0.5, 0, 0, 0}.x;
  362. MOV.S R20.y, R0.x;
  363. MUL.F32 R0.x, R0.z, {2, 0, 0, 0};
  364. MOV.S R18.w, R0.x;
  365. AND.S R0.x, c[2], {65536, 0, 0, 0};
  366. I2F.S R0.x, R0;
  367. MOV.S R21.x, R0.y;
  368. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0.x;
  369. TRUNC.U.CC HC.x, R0.y;
  370. MOV.S R20.z, R0.w;
  371. AND.S R18.z, c[2].x, {131072, 0, 0, 0}.x;
  372. AND.S R18.y, c[2].x, {262144, 0, 0, 0}.x;
  373. MOV.S R0.x, R0;
  374. IF NE.x;
  375. MOV.F R0.y, {1, 0, 0, 0}.x;
  376. ELSE;
  377. MOV.F R0.y, {0, 0, 0, 0}.x;
  378. ENDIF;
  379. MOV.F R0.z, R0.x;
  380. MOV.F R0.x, R0.y;
  381. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  382. TRUNC.U.CC HC.x, R0.y;
  383. MOV.S R16.x, R0;
  384. IF NE.x;
  385. MOV.F R0.x, {1, 0, 0, 0};
  386. ELSE;
  387. MOV.F R0.x, {0, 0, 0, 0};
  388. ENDIF;
  389. MOV.F R0.z, R8;
  390. MOV.F R0.y, R8.x;
  391. ADD.F32 R0.y, R0, R0.z;
  392. I2F.S R0.z, R18;
  393. MOV.S R17.z, R0.y;
  394. MOV.F R0.y, R21.x;
  395. FLR.F R0.y, R0;
  396. MOV.S R17.w, R0.y;
  397. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  398. TRUNC.U.CC HC.x, R0.y;
  399. MOV.S R7.y, R0.z;
  400. MOV.S R16.y, R0.x;
  401. IF NE.x;
  402. MOV.F R0.x, {1, 0, 0, 0};
  403. ELSE;
  404. MOV.F R0.x, {0, 0, 0, 0};
  405. ENDIF;
  406. MOV.F R0.z, R16.x;
  407. MOV.F R0.y, R16;
  408. ADD.F32 R0.y, R0, -R0.z;
  409. MOV.F R0.w, R18;
  410. FLR.F R0.z, R0.w;
  411. MOV.S R21.y, R0;
  412. MOV.F R0.y, R7;
  413. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  414. TRUNC.U.CC HC.x, R0.y;
  415. MOV.S R19.z, R0;
  416. MOV.S R21.x, R0;
  417. IF NE.x;
  418. MOV.F R0.y, {1, 0, 0, 0}.x;
  419. ELSE;
  420. MOV.F R0.y, {0, 0, 0, 0}.x;
  421. ENDIF;
  422. I2F.S R0.z, R18.y;
  423. MOV.S R0.x, R0.z;
  424. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0;
  425. TRUNC.U.CC HC.x, R0.z;
  426. MOV.S R21.w, R0.y;
  427. IF NE.x;
  428. MOV.F R0.y, {1, 0, 0, 0}.x;
  429. ELSE;
  430. MOV.F R0.y, {0, 0, 0, 0}.x;
  431. ENDIF;
  432. MOV.F R0.w, R21;
  433. MOV.F R0.z, R21.x;
  434. ADD.F32 R0.z, R0, -R0.w;
  435. MOV.F R3.x, R8;
  436. MUL.F32 R0.w, R3.x, {2, 0, 0, 0}.x;
  437. MOV.S R16.z, R0;
  438. MOV.F R0.z, R0.x;
  439. MOV.F R0.x, R0.y;
  440. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  441. TRUNC.U.CC HC.x, R0.y;
  442. MOV.S R19.y, R0.w;
  443. MOV.S R16.x, R0;
  444. IF NE.x;
  445. MOV.F R0.x, {1, 0, 0, 0};
  446. ELSE;
  447. MOV.F R0.x, {0, 0, 0, 0};
  448. ENDIF;
  449. MOV.F R0.y, R16.x;
  450. ADD.F32 R0.y, R0.x, -R0;
  451. MOV.F R0.x, R21.y;
  452. TRUNC.S R0.x, R0;
  453. MOV.S R18.y, R0;
  454. MOV.F R0.y, c[3].x;
  455. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  456. TRUNC.U.CC HC.x, R0.y;
  457. MOV.S R18.z, R0.x;
  458. ADD.S R21.x, -R0, {0, 0, 0, 0};
  459. IF NE.x;
  460. MOV.F R0.x, {1, 0, 0, 0};
  461. ELSE;
  462. MOV.F R0.x, {0, 0, 0, 0};
  463. ENDIF;
  464. MOV.F R0.y, c[3].x;
  465. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  466. TRUNC.U.CC HC.x, R0.y;
  467. MOV.S R3.z, R0.x;
  468. IF NE.x;
  469. MOV.F R0.x, {1, 0, 0, 0};
  470. ELSE;
  471. MOV.F R0.x, {0, 0, 0, 0};
  472. ENDIF;
  473. MOV.F R0.z, R17;
  474. MOV.F R0.y, R16.z;
  475. TRUNC.S R0.y, R0;
  476. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  477. MAX.S R3.y, R18.z, R21.x;
  478. MOV.S R18.z, R0;
  479. MOV.F R0.z, c[4].y;
  480. MOV.S R17.y, R0;
  481. ADD.S R16.x, -R0.y, {0, 0, 0, 0};
  482. MOV.F R0.y, R8.x;
  483. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  484. MUL.F32 R0.y, R0, R0.z;
  485. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  486. TRUNC.U R0.w, R0;
  487. TRUNC.U R0.z, R0;
  488. AND.U.CC HC.x, R0.w, R0.z;
  489. MOV.S R18.w, R0.x;
  490. IF NE.x;
  491. MOV.F R0.x, R0.y;
  492. ELSE;
  493. MOV.F R0.x, {0, 0, 0, 0};
  494. ENDIF;
  495. MOV.F R0.z, R17.w;
  496. MOV.F R0.y, c[3].x;
  497. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  498. RCP.F32 R0.y, R0.y;
  499. TRUNC.U.CC HC.x, R0.z;
  500. MOV.S R3.w, R18.y;
  501. MOV.S R20.w, R0.x;
  502. MOV.S R7.y, R0;
  503. IF NE.x;
  504. MOV.F R0.x, {1, 0, 0, 0};
  505. ELSE;
  506. MOV.F R0.x, {0, 0, 0, 0};
  507. ENDIF;
  508. MOV.F R0.y, R20.z;
  509. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  510. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  511. MOV.S R17.z, R0.y;
  512. MOV.F R0.y, R3.w;
  513. TRUNC.S R18.x, R0.y;
  514. MOV.F R0.w, R7.y;
  515. MOV.F R0.z, R22.w;
  516. MUL.F32 R0.z, R0, R0.w;
  517. MOV.F R3.x, R17.w;
  518. SGT.F32 R0.w, {0, 0, 0, 0}.x, R3.x;
  519. TRUNC.U.CC HC.x, R0.w;
  520. MAX.S R19.w, R17.y, R16.x;
  521. MOV.S R3.w, R20.y;
  522. MOV.S R18.y, R0.z;
  523. MOV.S R20.x, R0;
  524. ADD.S R17.x, -R18, {0, 0, 0, 0};
  525. IF NE.x;
  526. MOV.F R0.x, {1, 0, 0, 0};
  527. ELSE;
  528. MOV.F R0.x, {0, 0, 0, 0};
  529. ENDIF;
  530. MOV.F R0.y, R19.z;
  531. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  532. TRUNC.U.CC HC.x, R0.y;
  533. MOV.S R20.y, R0.x;
  534. IF NE.x;
  535. MOV.F R0.z, {1, 0, 0, 0}.x;
  536. ELSE;
  537. MOV.F R0.z, {0, 0, 0, 0}.x;
  538. ENDIF;
  539. MOV.F R0.x, c[5].w;
  540. MAX.F R0.x, R0, {0, 0, 0, 0};
  541. LG2.F32 R0.x, R0.x;
  542. MUL.F32 R0.y, R0.x, {2, 0, 0, 0}.x;
  543. SNE.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  544. SEQ.F R0.y, R0.x, R0;
  545. TRUNC.U R0.w, R0;
  546. TRUNC.U R0.y, R0;
  547. AND.U R0.y, R0, R0.w;
  548. MOV.F R0.w, R3;
  549. SEQ.U R0.y, R0, {1, 0, 0, 0}.x;
  550. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  551. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  552. MOV.U.CC RC.x, -R0.y;
  553. MOV.S R20.z, R0;
  554. MOV.S R17.w, R0;
  555. IF NE.x;
  556. MOV.F R0.x, {-3.40282347e+38, 0, 0, 0};
  557. ENDIF;
  558. MOV.F R0.y, R19.z;
  559. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  560. TRUNC.U.CC HC.x, R0.y;
  561. MOV.S R3.w, R18.y;
  562. MOV.S R7.y, R0.x;
  563. IF NE.x;
  564. MOV.F R0.x, {1, 0, 0, 0};
  565. ELSE;
  566. MOV.F R0.x, {0, 0, 0, 0};
  567. ENDIF;
  568. MOV.F R0.y, R19;
  569. FLR.F R0.y, R0;
  570. MOV.S R18.y, R0;
  571. MOV.F R0.y, R0.x;
  572. MOV.F R0.w, R18;
  573. MOV.F R0.z, R3;
  574. ADD.F32 R0.z, R0, -R0.w;
  575. MOV.S R19.z, R0;
  576. MOV.F R0.z, R22.w;
  577. MOV.F R0.w, R7.y;
  578. MUL.F32 R0.x, R0.z, R0.w;
  579. MOV.S R21.x, R0.y;
  580. SNE.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  581. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  582. TRUNC.U R0.z, R0.w;
  583. TRUNC.U R0.y, R0;
  584. AND.U.CC HC.x, R0.y, R0.z;
  585. IF NE.x;
  586. ELSE;
  587. MOV.F R0.x, {0, 0, 0, 0};
  588. ENDIF;
  589. MOV.F R0.w, R20.z;
  590. MOV.F R0.z, R20.y;
  591. MOV.F R0.y, R20.x;
  592. ADD.F32 R0.y, R0, -R0.z;
  593. MOV.F R0.z, R21.x;
  594. ADD.F32 R0.w, R0, -R0.z;
  595. MAX.S R20.z, R18.x, R17.x;
  596. MOV.S R18.x, R0.y;
  597. MOV.F R0.y, R20.w;
  598. MOV.F R0.z, R18;
  599. MOV.S R20.w, R0;
  600. ADD.F32 R0.w, R0.z, {-0.5, 0, 0, 0}.x;
  601. MOV.F R0.z, R3.w;
  602. ADD.F32 R0.y, R0, R0.z;
  603. MOV.S R0.w, R0;
  604. MOV.S R0.z, R0.w;
  605. MOV.S R19.x, R0.y;
  606. MOV.F R0.y, R0.z;
  607. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  608. MOV.S R20.y, R0;
  609. MOV.F R0.y, R24.z;
  610. MOV.F R0.z, R18.y;
  611. RCP.F32 R0.y, R0.y;
  612. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  613. TRUNC.U.CC HC.x, R0.z;
  614. MOV.S R3.w, R18.y;
  615. MOV.S R18.z, R0.y;
  616. MOV.S R18.w, R0.x;
  617. IF NE.x;
  618. MOV.F R0.x, {1, 0, 0, 0};
  619. ELSE;
  620. MOV.F R0.x, {0, 0, 0, 0};
  621. ENDIF;
  622. MOV.F R0.y, R17.w;
  623. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  624. MOV.F R0.z, c[6].x;
  625. MUL.F32 R0.y, R0, R0.z;
  626. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  627. TRUNC.U R0.w, R0;
  628. TRUNC.U R0.z, R0;
  629. AND.U.CC HC.x, R0.w, R0.z;
  630. MOV.S R21.x, R0;
  631. IF NE.x;
  632. MOV.F R0.x, R0.y;
  633. ELSE;
  634. MOV.F R0.x, {0, 0, 0, 0};
  635. ENDIF;
  636. MOV.F R0.y, R3.w;
  637. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  638. TRUNC.U.CC HC.x, R0.y;
  639. MOV.S R18.y, R0.x;
  640. IF NE.x;
  641. MOV.F R0.x, {1, 0, 0, 0};
  642. ELSE;
  643. MOV.F R0.x, {0, 0, 0, 0};
  644. ENDIF;
  645. MOV.F R0.y, R17.z;
  646. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  647. MOV.F R0.z, c[6].y;
  648. MUL.F32 R0.y, R0, R0.z;
  649. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  650. TRUNC.U R0.w, R0;
  651. TRUNC.U R0.z, R0;
  652. AND.U.CC HC.x, R0.w, R0.z;
  653. MOV.S R21.z, R0.x;
  654. IF NE.x;
  655. MOV.F R0.x, R0.y;
  656. ELSE;
  657. MOV.F R0.x, {0, 0, 0, 0};
  658. ENDIF;
  659. I2F.S R0.y, R3;
  660. MOV.F R0.w, R19.x;
  661. MOV.F R3.y, R18.x;
  662. MUL.F32 R0.z, R0.y, {2, 0, 0, 0}.x;
  663. FRC.F32 R0.w, R0;
  664. MUL.F32 R0.y, -R0.z, R3;
  665. MOV.S R18.x, R0.w;
  666. SNE.F32 R0.z, -R0, {0, 0, 0, 0}.x;
  667. SNE.F32 R0.w, R3.y, {0, 0, 0, 0}.x;
  668. TRUNC.U R0.z, R0;
  669. TRUNC.U R0.w, R0;
  670. AND.U.CC HC.x, R0.z, R0.w;
  671. MOV.S R3.x, R19.w;
  672. MOV.S R17.w, R0.x;
  673. IF NE.x;
  674. MOV.F R0.x, R0.y;
  675. ELSE;
  676. MOV.F R0.x, {0, 0, 0, 0};
  677. ENDIF;
  678. MOV.F R0.z, R21;
  679. MOV.F R0.y, R21.x;
  680. ADD.F32 R0.y, R0, -R0.z;
  681. MOV.S R17.z, R0.y;
  682. I2F.S R0.y, R3.x;
  683. MOV.F R0.z, c[5].w;
  684. ADD.F32 R0.z, -R0, {1, 0, 0, 0}.x;
  685. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  686. MOV.F R3.x, R20.w;
  687. MUL.F32 R0.y, -R0.w, R3.x;
  688. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  689. MOV.S R19.w, R0.z;
  690. TRUNC.U R3.x, R3;
  691. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  692. MOV.S R19.y, R0.x;
  693. TRUNC.U R0.x, R0.z;
  694. AND.U.CC HC.x, R0, R3;
  695. MOV.S R3.w, R18;
  696. IF NE.x;
  697. MOV.F R3.y, R0;
  698. ELSE;
  699. MOV.F R3.y, {0, 0, 0, 0}.x;
  700. ENDIF;
  701. MOV.S R17.x, R3.y;
  702. EX2.F32 R3.y, R3.w;
  703. MOV.F R13.w, c[6].z;
  704. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  705. ADD.F32 R3.y, -R3, {1, 0, 0, 0}.x;
  706. MOV.F R0.y, R18.z;
  707. MOV.F R0.x, R22.w;
  708. MUL.F32 R0.x, R0, R0.y;
  709. MOV.F R0.z, R19;
  710. MOV.S R0.y, R0.x;
  711. ADD.F32 R0.x, -R0.z, {1, 0, 0, 0};
  712. MOV.S R21.z, R0.x;
  713. MOV.F R0.x, R20.y;
  714. MOV.F R0.w, c[5].x;
  715. MOV.F R0.z, R18.y;
  716. ADD.F32 R0.z, R0, R0.w;
  717. MOV.S R18.w, R0.z;
  718. SNE.F32 R0.z, R0.x, {0, 0, 0, 0}.x;
  719. TRUNC.U R7.y, R0.z;
  720. MUL.F32 R3.z, R0.x, R13.w;
  721. TRUNC.U R3.w, R3;
  722. AND.U.CC HC.x, R7.y, R3.w;
  723. MOV.S R3.x, R20.z;
  724. MOV.S R0.xzw, {0, 0, 0, 0}.x;
  725. MOV.S R19.x, R3.y;
  726. IF NE.x;
  727. MOV.F R3.y, R3.z;
  728. ELSE;
  729. MOV.F R3.y, {0, 0, 0, 0}.x;
  730. ENDIF;
  731. MOV.F R7.y, R0;
  732. MOV.F R3.z, c[5].y;
  733. MOV.F R3.w, R17;
  734. ADD.F32 R3.w, R3.z, R3;
  735. MOV.F R13.w, R21.z;
  736. MOV.S R20.z, R3.w;
  737. SNE.F32 R3.w, R7.y, {0, 0, 0, 0}.x;
  738. MUL.F32 R3.z, R7.y, R13.w;
  739. SNE.F32 R7.y, R13.w, {0, 0, 0, 0}.x;
  740. TRUNC.U R3.w, R3;
  741. TRUNC.U R7.y, R7;
  742. AND.U.CC HC.x, R3.w, R7.y;
  743. MOV.S R20.y, R3;
  744. IF NE.x;
  745. ELSE;
  746. MOV.F R3.z, {0, 0, 0, 0}.x;
  747. ENDIF;
  748. I2F.S R3.w, R3.x;
  749. MOV.F R15.w, R8.y;
  750. MOV.F R14.w, R8.x;
  751. ADD.F32 R15.w, R15, {-0.5, 0, 0, 0}.x;
  752. MOV.F R7.y, R18.x;
  753. MOV.F R13.w, R19.z;
  754. MUL.F32 R3.y, R13.w, R7;
  755. ADD.F32 R14.w, R14, {-0.5, 0, 0, 0}.x;
  756. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  757. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  758. MOV.S R18.x, R14.w;
  759. TRUNC.U R14.w, R7.y;
  760. TRUNC.U R13.w, R13;
  761. MUL.F32 R3.w, R3, {2, 0, 0, 0}.x;
  762. AND.U.CC HC.x, R13.w, R14.w;
  763. MOV.S R3.x, R17.z;
  764. MOV.S R18.y, R15.w;
  765. MOV.S R17.w, R3.z;
  766. MOV.S R7.y, R3.w;
  767. IF NE.x;
  768. ELSE;
  769. MOV.F R3.y, {0, 0, 0, 0}.x;
  770. ENDIF;
  771. MOV.F R3.w, R3.x;
  772. MOV.F R3.z, R7.y;
  773. MUL.F32 R3.x, -R3.z, R3.w;
  774. MOV.S R17.z, R3.y;
  775. SNE.F32 R3.y, -R3.z, {0, 0, 0, 0}.x;
  776. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  777. TRUNC.U R3.z, R3.w;
  778. TRUNC.U R3.y, R3;
  779. AND.U.CC HC.x, R3.y, R3.z;
  780. IF NE.x;
  781. ELSE;
  782. MOV.F R3.x, {0, 0, 0, 0};
  783. ENDIF;
  784. MOV.F R3.y, R20;
  785. MOV.F R3.w, R19;
  786. MOV.F R3.z, R19.x;
  787. DIV.F32 R3.z, R3, R3.w;
  788. MOV.F R3.w, c[5].z;
  789. ADD.F32 R3.y, R3.w, R3;
  790. MOV.F R13.w, R19.y;
  791. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  792. MOV.F R7.y, R18.w;
  793. MOV.S R20.y, R3.z;
  794. MOV.S R19.x, R3.y;
  795. SNE.F32 R3.y, R7, {0, 0, 0, 0}.x;
  796. TRUNC.U R3.y, R3;
  797. TRUNC.U R3.w, R3;
  798. AND.U.CC HC.x, R3.y, R3.w;
  799. MUL.F32 R3.z, R7.y, R13.w;
  800. MOV.S R20.w, R3.x;
  801. IF NE.x;
  802. MOV.F R3.y, R3.z;
  803. ELSE;
  804. MOV.F R3.y, {0, 0, 0, 0}.x;
  805. ENDIF;
  806. MOV.F R3.w, R19.y;
  807. MOV.F R3.z, R9.x;
  808. MUL.F32 R3.x, R3.z, R3.w;
  809. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  810. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  811. TRUNC.U R3.z, R3;
  812. TRUNC.U R3.w, R3;
  813. AND.U.CC HC.x, R3.z, R3.w;
  814. MOV.S R16.z, R3.y;
  815. IF NE.x;
  816. MOV.F R3.y, R3.x;
  817. ELSE;
  818. MOV.F R3.y, {0, 0, 0, 0}.x;
  819. ENDIF;
  820. MOV.F R3.w, R17.x;
  821. MOV.F R3.z, R20;
  822. MUL.F32 R3.x, R3.z, R3.w;
  823. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  824. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  825. TRUNC.U R3.z, R3;
  826. TRUNC.U R3.w, R3;
  827. AND.U.CC HC.x, R3.z, R3.w;
  828. MOV.S R16.w, R3.y;
  829. IF NE.x;
  830. ELSE;
  831. MOV.F R3.x, {0, 0, 0, 0};
  832. ENDIF;
  833. MOV.F R3.y, c[5].w;
  834. SEQ.F R3.y, R3, {1, 0, 0, 0}.x;
  835. TRUNC.U.CC HC.x, R3.y;
  836. MOV.S R19.w, R3.x;
  837. IF NE.x;
  838. MOV.S R3.x, {-1, 0, 0, 0};
  839. ELSE;
  840. MOV.S R3.x, {0, 0, 0, 0};
  841. ENDIF;
  842. MOV.F R3.w, R17.x;
  843. MOV.F R3.z, R9.y;
  844. MUL.F32 R3.y, R3.z, R3.w;
  845. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  846. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  847. TRUNC.U R3.w, R3;
  848. TRUNC.U R3.z, R3;
  849. AND.U.CC HC.x, R3.z, R3.w;
  850. IF NE.x;
  851. ELSE;
  852. MOV.F R3.y, {0, 0, 0, 0}.x;
  853. ENDIF;
  854. SEQ.S R3.x, R3, {0, 0, 0, 0};
  855. MOV.U.CC RC.x, -R3;
  856. MOV.F R3.w, R16.z;
  857. MOV.F R3.z, R18.w;
  858. ADD.F32 R3.z, R3, R3.w;
  859. MOV.S R18.w, R3.z;
  860. MOV.F R3.w, R17.z;
  861. MOV.F R3.z, R17.w;
  862. ADD.F32 R3.z, R3, R3.w;
  863. MOV.F R7.y, R16.w;
  864. MOV.F R3.w, R9.x;
  865. ADD.F32 R3.w, R3, R7.y;
  866. MOV.S R18.z, R3;
  867. MOV.S R19.y, R3.w;
  868. MOV.S R21.y, R3;
  869. IF NE.x;
  870. MOV.S R3.x, R20.y;
  871. ELSE;
  872. MOV.S R3.x, R22.w;
  873. ENDIF;
  874. MOV.F R3.w, R9.z;
  875. MOV.F R3.z, R21.y;
  876. MOV.F R3.y, R9;
  877. ADD.F32 R3.y, R3, R3.z;
  878. MOV.S R20.y, R3;
  879. MOV.F R3.y, R20.z;
  880. MOV.F R3.z, R19.w;
  881. ADD.F32 R3.z, R3.y, R3;
  882. MOV.F R3.y, R8.z;
  883. MOV.S R17.z, R3;
  884. ADD.F32 R3.z, R3.y, {-0.5, 0, 0, 0}.x;
  885. MOV.F R7.y, R20.w;
  886. MUL.F32 R3.y, R3.w, R7;
  887. MOV.S R20.z, R3;
  888. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  889. TRUNC.U R9.x, R3.z;
  890. MOV.F R3.w, c[8];
  891. MOV.F R3.z, c[7].w;
  892. ADD.F32 R3.z, -R3, R3.w;
  893. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  894. TRUNC.U R3.w, R7.y;
  895. AND.U.CC HC.x, R9, R3.w;
  896. MOV.S R16.w, R3.z;
  897. IF NE.x;
  898. ELSE;
  899. MOV.F R3.y, {0, 0, 0, 0}.x;
  900. ENDIF;
  901. MOV.F R7.y, c[9].x;
  902. MOV.F R3.w, R18.x;
  903. MUL.F32 R3.z, R3.w, R7.y;
  904. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  905. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  906. TRUNC.U R3.w, R3;
  907. TRUNC.U R7.y, R7;
  908. AND.U.CC HC.x, R3.w, R7.y;
  909. MOV.S R21.x, R3.y;
  910. IF NE.x;
  911. MOV.F R3.y, R3.z;
  912. ELSE;
  913. MOV.F R3.y, {0, 0, 0, 0}.x;
  914. ENDIF;
  915. MOV.F R7.y, R20.w;
  916. MOV.F R3.w, R19.x;
  917. MUL.F32 R3.z, R3.w, R7.y;
  918. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  919. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  920. TRUNC.U R3.w, R3;
  921. TRUNC.U R7.y, R7;
  922. AND.U.CC HC.x, R3.w, R7.y;
  923. MOV.S R21.y, R3;
  924. IF NE.x;
  925. MOV.F R3.y, R3.z;
  926. ELSE;
  927. MOV.F R3.y, {0, 0, 0, 0}.x;
  928. ENDIF;
  929. MOV.F R7.y, c[9];
  930. MOV.F R3.w, R18.y;
  931. MUL.F32 R3.z, R3.w, R7.y;
  932. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  933. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  934. TRUNC.U R3.w, R3;
  935. TRUNC.U R7.y, R7;
  936. AND.U.CC HC.x, R3.w, R7.y;
  937. MOV.S R21.z, R3.y;
  938. IF NE.x;
  939. MOV.F R3.y, R3.z;
  940. ELSE;
  941. MOV.F R3.y, {0, 0, 0, 0}.x;
  942. ENDIF;
  943. MOV.F R3.w, R21.x;
  944. MOV.F R3.z, R9;
  945. ADD.F32 R9.x, R3.z, R3.w;
  946. MOV.S R20.w, R9.x;
  947. MOV.F R9.x, R20.y;
  948. ADD.F32 R3.y, R9.x, R3;
  949. MOV.S R19.z, R3.y;
  950. MOV.F R7.y, R19.x;
  951. MOV.F R3.w, R21.y;
  952. MOV.F R3.z, R19.y;
  953. ADD.F32 R3.z, R3, R3.w;
  954. MOV.S R19.x, R3.z;
  955. MOV.F R3.z, R21;
  956. ADD.F32 R3.z, R7.y, R3;
  957. MOV.S R20.y, R3.z;
  958. MOV.F R7.y, R16.w;
  959. MOV.F R3.w, c[8];
  960. MOV.F R3.z, R18;
  961. ADD.F32 R3.z, R3, -R3.w;
  962. RCP.F32 R3.w, R7.y;
  963. MOV.S R21.x, R3.z;
  964. MOV.F R3.z, R3.x;
  965. SNE.F32 R7.y, R3.z, {0, 0, 0, 0}.x;
  966. MOV.F R3.y, R17.z;
  967. MOV.S R14.w, R3;
  968. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  969. TRUNC.U R9.x, R3.w;
  970. MUL.F32 R3.y, R3, R3.z;
  971. MOV.F R3.w, c[8].z;
  972. MOV.F R3.z, c[7];
  973. ADD.F32 R3.z, -R3, R3.w;
  974. TRUNC.U R3.w, R7.y;
  975. AND.U.CC HC.x, R9, R3.w;
  976. MOV.S R7.y, R3.z;
  977. IF NE.x;
  978. ELSE;
  979. MOV.F R3.y, {0, 0, 0, 0}.x;
  980. ENDIF;
  981. MOV.F R9.x, c[9].z;
  982. MOV.F R3.w, R20.z;
  983. MUL.F32 R3.z, R3.w, R9.x;
  984. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  985. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  986. TRUNC.U R3.w, R3;
  987. TRUNC.U R9.x, R9;
  988. AND.U.CC HC.x, R3.w, R9;
  989. MOV.S R21.y, R3;
  990. IF NE.x;
  991. MOV.F R3.y, R3.z;
  992. ELSE;
  993. MOV.F R3.y, {0, 0, 0, 0}.x;
  994. ENDIF;
  995. MOV.F R9.x, R3;
  996. MOV.F R3.w, R18;
  997. MUL.F32 R3.z, R3.w, R9.x;
  998. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  999. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  1000. TRUNC.U R3.w, R3;
  1001. TRUNC.U R9.x, R9;
  1002. AND.U.CC HC.x, R3.w, R9;
  1003. MOV.S R21.z, R3.y;
  1004. IF NE.x;
  1005. MOV.F R3.y, R3.z;
  1006. ELSE;
  1007. MOV.F R3.y, {0, 0, 0, 0}.x;
  1008. ENDIF;
  1009. MOV.F R9.z, R19.x;
  1010. MOV.F R3.w, R21.z;
  1011. MOV.F R3.z, R20.w;
  1012. ADD.F32 R3.z, R3, R3.w;
  1013. MOV.S R9.y, R3.z;
  1014. MOV.F R3.z, R7.y;
  1015. MOV.F R7.y, R21.x;
  1016. SGE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1017. TRUNC.U.CC HC.x, R7.y;
  1018. MOV.F R9.x, R21.y;
  1019. MOV.F R3.w, R19.z;
  1020. ADD.F32 R3.w, R3, R9.x;
  1021. MOV.F R9.x, R14.w;
  1022. MUL.F32 R3.z, R3, R9.x;
  1023. ADD.F32 R3.y, R9.z, R3;
  1024. MOV.S R18.x, R3.z;
  1025. MOV.S R9.x, R3.y;
  1026. MOV.F R3.z, c[7].w;
  1027. MOV.F R3.y, R18.z;
  1028. ADD.F32 R3.y, R3, -R3.z;
  1029. MOV.S R3.w, R3;
  1030. MOV.S R3.z, R3.y;
  1031. IF NE.x;
  1032. MOV.S R3.y, {1065353216, 0, 0, 0}.x;
  1033. ELSE;
  1034. MOV.S R3.y, {0, 0, 0, 0}.x;
  1035. ENDIF;
  1036. MOV.F R13.w, R18.x;
  1037. MOV.F R9.z, R3;
  1038. MUL.F32 R7.y, R9.z, R13.w;
  1039. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  1040. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  1041. TRUNC.U R9.z, R9;
  1042. TRUNC.U R13.w, R13;
  1043. AND.U.CC HC.x, R9.z, R13.w;
  1044. MOV.S R15.w, R3.y;
  1045. IF NE.x;
  1046. MOV.F R3.y, R7;
  1047. ELSE;
  1048. MOV.F R3.y, {0, 0, 0, 0}.x;
  1049. ENDIF;
  1050. MOV.F R9.z, R3.x;
  1051. MOV.F R3.x, R20.y;
  1052. MUL.F32 R7.y, R3.x, R9.z;
  1053. SNE.F32 R13.w, R9.z, {0, 0, 0, 0}.x;
  1054. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  1055. TRUNC.U R9.z, R3.x;
  1056. TRUNC.U R13.w, R13;
  1057. AND.U.CC HC.x, R9.z, R13.w;
  1058. MOV.S R3.x, R3.y;
  1059. IF NE.x;
  1060. MOV.F R3.y, R7;
  1061. ELSE;
  1062. MOV.F R3.y, {0, 0, 0, 0}.x;
  1063. ENDIF;
  1064. MOV.F R7.y, R3.z;
  1065. SGE.F32 R16.x, R7.y, {0, 0, 0, 0};
  1066. TRUNC.U.CC HC.x, R16;
  1067. MOV.F R9.z, c[8].y;
  1068. MOV.F R7.y, c[7];
  1069. ADD.F32 R7.y, -R7, R9.z;
  1070. MOV.F R9.z, c[7].x;
  1071. MOV.F R13.w, c[8].x;
  1072. ADD.F32 R13.w, -R9.z, R13;
  1073. MOV.S R9.z, R7.y;
  1074. MOV.S R13.w, R13;
  1075. MOV.S R3.y, R3;
  1076. IF NE.x;
  1077. MOV.S R7.y, {1065353216, 0, 0, 0}.x;
  1078. ELSE;
  1079. MOV.S R7.y, {0, 0, 0, 0}.x;
  1080. ENDIF;
  1081. ENDIF;
  1082. SEQ.U R16.x, R23.w, {1, 0, 0, 0};
  1083. MOV.U.CC RC.x, -R16;
  1084. IF NE.x;
  1085. MOV.F R4.w, R3.y;
  1086. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  1087. MOV.F R3.y, R9;
  1088. ADD.F32 R3.y, R3, R4.w;
  1089. MOV.S R18.z, R3.y;
  1090. MOV.F R3.y, R9.z;
  1091. MOV.F R4.w, R14;
  1092. MUL.F32 R4.w, R3.y, R4;
  1093. SNE.F32 R6.w, R4, {0, 0, 0, 0}.x;
  1094. MOV.F R7.w, R3.z;
  1095. TRUNC.U R8.z, R6.w;
  1096. MUL.F32 R3.y, R7.w, R4.w;
  1097. MOV.F R4.w, R9.x;
  1098. MAD.F32 R4.w, R4, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  1099. MOV.F R6.w, R15;
  1100. MOV.S R18.x, R4.w;
  1101. ADD.F32 R4.w, -R6, {1, 0, 0, 0}.x;
  1102. MOV.S R16.w, R4;
  1103. SNE.F32 R4.w, R7, {0, 0, 0, 0}.x;
  1104. MOV.S R20.w, R3;
  1105. TRUNC.U R3.w, R4;
  1106. AND.U.CC HC.x, R3.w, R8.z;
  1107. IF NE.x;
  1108. ELSE;
  1109. MOV.F R3.y, {0, 0, 0, 0}.x;
  1110. ENDIF;
  1111. MOV.F R4.w, R14;
  1112. MOV.F R3.w, R13;
  1113. MUL.F32 R3.w, R3, R4;
  1114. MOV.S R21.z, R3.w;
  1115. MOV.F R3.w, R3.x;
  1116. MOV.F R3.x, c[7].z;
  1117. ADD.F32 R3.w, R3.x, R3;
  1118. MOV.F R4.w, R7.y;
  1119. MOV.F R6.w, R16;
  1120. MOV.S R20.y, R3.w;
  1121. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  1122. MUL.F32 R3.x, R4.w, R6.w;
  1123. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  1124. TRUNC.U R3.w, R3;
  1125. TRUNC.U R4.w, R4;
  1126. AND.U.CC HC.x, R3.w, R4.w;
  1127. MOV.S R21.x, R3.y;
  1128. IF NE.x;
  1129. ELSE;
  1130. MOV.F R3.x, {0, 0, 0, 0};
  1131. ENDIF;
  1132. MOV.F R4.w, R3.z;
  1133. MOV.F R6.w, R21.z;
  1134. MOV.F R3.z, R7.y;
  1135. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  1136. MOV.F R3.w, R20;
  1137. FRC.F32 R3.w, R3;
  1138. MOV.S R19.z, R3;
  1139. MOV.S R16.z, R3.w;
  1140. MOV.F R3.w, R18.z;
  1141. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  1142. MOV.F R3.z, R18.x;
  1143. FRC.F32 R3.z, R3;
  1144. MOV.S R16.y, R3.w;
  1145. MOV.S R16.x, R3.z;
  1146. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  1147. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  1148. TRUNC.U R3.z, R3;
  1149. TRUNC.U R3.w, R3;
  1150. AND.U.CC HC.x, R3.z, R3.w;
  1151. MUL.F32 R3.y, R4.w, R6.w;
  1152. MOV.S R19.w, R3.x;
  1153. IF NE.x;
  1154. MOV.F R3.x, R3.y;
  1155. ELSE;
  1156. MOV.F R3.x, {0, 0, 0, 0};
  1157. ENDIF;
  1158. MOV.F R3.z, R21.x;
  1159. MOV.F R3.y, c[7];
  1160. ADD.F32 R3.y, R3, R3.z;
  1161. MOV.S R18.w, R3.y;
  1162. MOV.F R3.y, R19.z;
  1163. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  1164. MOV.F R3.z, c[7];
  1165. MUL.F32 R3.y, R3.z, R3;
  1166. TRUNC.U R3.w, R3;
  1167. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1168. MOV.S R20.w, R3.x;
  1169. TRUNC.U R3.x, R3.z;
  1170. AND.U.CC HC.x, R3, R3.w;
  1171. IF NE.x;
  1172. MOV.F R3.x, R3.y;
  1173. ELSE;
  1174. MOV.F R3.x, {0, 0, 0, 0};
  1175. ENDIF;
  1176. MOV.F R3.z, R16.x;
  1177. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  1178. MOV.F R3.w, R16.z;
  1179. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  1180. MOV.F R6.w, R19;
  1181. MOV.F R4.w, R20.y;
  1182. MOV.S R21.y, R3.z;
  1183. MOV.S R18.z, R3.w;
  1184. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  1185. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  1186. TRUNC.U R3.z, R3;
  1187. TRUNC.U R3.w, R3;
  1188. AND.U.CC HC.x, R3.z, R3.w;
  1189. MUL.F32 R3.y, R4.w, R6.w;
  1190. MOV.S R21.x, R3;
  1191. IF NE.x;
  1192. MOV.F R3.x, R3.y;
  1193. ELSE;
  1194. MOV.F R3.x, {0, 0, 0, 0};
  1195. ENDIF;
  1196. MOV.F R3.y, R16;
  1197. FRC.F32 R3.y, R3;
  1198. MOV.S R18.x, R3.y;
  1199. MOV.F R3.y, R21.x;
  1200. ADD.F32 R3.x, R3, R3.y;
  1201. MOV.F R3.z, R20.w;
  1202. MOV.F R3.y, c[7].x;
  1203. ADD.F32 R3.y, R3, R3.z;
  1204. MOV.S R20.y, R3;
  1205. MOV.F R3.z, R15.w;
  1206. MOV.F R3.y, c[8].z;
  1207. MOV.S R16.x, R3;
  1208. MUL.F32 R3.x, R3.y, R3.z;
  1209. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1210. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  1211. TRUNC.U R3.z, R3;
  1212. TRUNC.U R3.y, R3;
  1213. AND.U.CC HC.x, R3.y, R3.z;
  1214. IF NE.x;
  1215. ELSE;
  1216. MOV.F R3.x, {0, 0, 0, 0};
  1217. ENDIF;
  1218. MOV.F R3.y, R19.z;
  1219. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  1220. MOV.F R3.z, c[7].y;
  1221. MUL.F32 R3.y, R3.z, R3;
  1222. TRUNC.U R3.w, R3;
  1223. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1224. MOV.S R16.z, R3.x;
  1225. TRUNC.U R3.x, R3.z;
  1226. AND.U.CC HC.x, R3, R3.w;
  1227. IF NE.x;
  1228. MOV.F R3.x, R3.y;
  1229. ELSE;
  1230. MOV.F R3.x, {0, 0, 0, 0};
  1231. ENDIF;
  1232. MOV.F R3.z, R21.y;
  1233. MUL.F32 R3.z, R3, {0.159154937, 0, 0, 0}.x;
  1234. MOV.F R3.w, R18;
  1235. MOV.F R4.w, R19;
  1236. MOV.S R17.z, R3;
  1237. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  1238. MUL.F32 R3.y, R3.w, R4.w;
  1239. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  1240. TRUNC.U R3.z, R3;
  1241. TRUNC.U R3.w, R3;
  1242. AND.U.CC HC.x, R3.z, R3.w;
  1243. MOV.S R20.w, R3.x;
  1244. IF NE.x;
  1245. MOV.F R3.x, R3.y;
  1246. ELSE;
  1247. MOV.F R3.x, {0, 0, 0, 0};
  1248. ENDIF;
  1249. MOV.F R3.w, R18.x;
  1250. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  1251. MOV.F R3.y, R16.z;
  1252. MOV.F R3.z, R16.x;
  1253. ADD.F32 R3.z, R3.y, R3;
  1254. MOV.F R3.y, R18.z;
  1255. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  1256. MOV.S R18.z, R3;
  1257. MOV.F R3.z, R8.x;
  1258. MAX.F R3.z, R3, {0, 0, 0, 0}.x;
  1259. MOV.S R18.y, R3;
  1260. MOV.S R19.y, R3.z;
  1261. MOV.F R3.y, R15.w;
  1262. MOV.S R18.w, R3;
  1263. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  1264. MOV.F R3.z, c[8].y;
  1265. MUL.F32 R3.y, R3.z, R3;
  1266. TRUNC.U R3.w, R3;
  1267. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1268. MOV.S R21.x, R3;
  1269. TRUNC.U R3.x, R3.z;
  1270. AND.U.CC HC.x, R3, R3.w;
  1271. IF NE.x;
  1272. MOV.F R3.x, R3.y;
  1273. ELSE;
  1274. MOV.F R3.x, {0, 0, 0, 0};
  1275. ENDIF;
  1276. MOV.F R3.z, R20.w;
  1277. MOV.F R3.y, R21.x;
  1278. ADD.F32 R3.y, R3, R3.z;
  1279. MOV.F R3.w, R19;
  1280. MOV.F R3.z, R20.y;
  1281. MOV.S R16.y, R3;
  1282. MUL.F32 R3.y, R3.z, R3.w;
  1283. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1284. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1285. TRUNC.U R3.z, R3;
  1286. TRUNC.U R3.w, R3;
  1287. AND.U.CC HC.x, R3.z, R3.w;
  1288. MOV.S R16.x, R3;
  1289. IF NE.x;
  1290. MOV.F R3.x, R3.y;
  1291. ELSE;
  1292. MOV.F R3.x, {0, 0, 0, 0};
  1293. ENDIF;
  1294. MOV.F R3.y, R19.z;
  1295. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  1296. MOV.F R3.z, c[7].x;
  1297. MUL.F32 R3.y, R3.z, R3;
  1298. TRUNC.U R3.w, R3;
  1299. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1300. MOV.S R16.z, R3.x;
  1301. TRUNC.U R3.x, R3.z;
  1302. AND.U.CC HC.x, R3, R3.w;
  1303. IF NE.x;
  1304. MOV.F R3.x, R3.y;
  1305. ELSE;
  1306. MOV.F R3.x, {0, 0, 0, 0};
  1307. ENDIF;
  1308. MOV.F R3.y, R17.z;
  1309. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  1310. SIN.F32 R3.y, R3.y;
  1311. MOV.S R20.y, R3;
  1312. MOV.F R3.y, R18.w;
  1313. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  1314. MOV.F R3.w, R16.y;
  1315. MOV.F R3.z, R16.x;
  1316. ADD.F32 R3.z, R3, R3.w;
  1317. MOV.S R21.y, R3.z;
  1318. MOV.F R3.z, R16;
  1319. ADD.F32 R3.x, R3.z, R3;
  1320. MOV.F R3.z, R18;
  1321. MOV.S R18.z, R3.y;
  1322. MOV.F R3.y, R23.z;
  1323. MOV.S R18.x, R3;
  1324. MUL.F32 R3.x, R3.y, R3.z;
  1325. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1326. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  1327. TRUNC.U R3.z, R3;
  1328. TRUNC.U R3.y, R3;
  1329. AND.U.CC HC.x, R3.y, R3.z;
  1330. IF NE.x;
  1331. ELSE;
  1332. MOV.F R3.x, {0, 0, 0, 0};
  1333. ENDIF;
  1334. MOV.F R3.y, R17.z;
  1335. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  1336. COS.F32 R3.y, R3.y;
  1337. MOV.F R4.w, R21.y;
  1338. MOV.F R3.z, R23.y;
  1339. MOV.S R19.x, R3.y;
  1340. MUL.F32 R3.y, R3.z, R4.w;
  1341. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  1342. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1343. TRUNC.U R4.w, R4;
  1344. TRUNC.U R3.z, R3;
  1345. AND.U.CC HC.x, R3.z, R4.w;
  1346. MOV.S R3.w, R19.y;
  1347. MOV.S R21.w, R3.x;
  1348. IF NE.x;
  1349. MOV.F R3.x, R3.y;
  1350. ELSE;
  1351. MOV.F R3.x, {0, 0, 0, 0};
  1352. ENDIF;
  1353. MOV.F R4.w, c[10];
  1354. MOV.F R3.z, R21.w;
  1355. MUL.F32 R3.y, R3.z, R4.w;
  1356. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1357. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  1358. TRUNC.U R3.z, R3;
  1359. TRUNC.U R4.w, R4;
  1360. AND.U.CC HC.x, R3.z, R4.w;
  1361. MOV.S R17.x, R3;
  1362. IF NE.x;
  1363. MOV.F R3.x, R3.y;
  1364. ELSE;
  1365. MOV.F R3.x, {0, 0, 0, 0};
  1366. ENDIF;
  1367. MOV.F R3.y, R15.w;
  1368. SNE.F32 R4.w, R3.y, {0, 0, 0, 0}.x;
  1369. MOV.F R3.z, c[8].x;
  1370. MUL.F32 R3.y, R3.z, R3;
  1371. TRUNC.U R4.w, R4;
  1372. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1373. MOV.S R19.y, R3.x;
  1374. TRUNC.U R3.x, R3.z;
  1375. AND.U.CC HC.x, R3, R4.w;
  1376. IF NE.x;
  1377. MOV.F R3.x, R3.y;
  1378. ELSE;
  1379. MOV.F R3.x, {0, 0, 0, 0};
  1380. ENDIF;
  1381. MOV.F R4.w, R18.x;
  1382. ADD.F32 R3.x, R3, R4.w;
  1383. MOV.F R6.w, R19.x;
  1384. MOV.F R3.y, R18;
  1385. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  1386. SIN.F32 R3.z, R3.y;
  1387. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  1388. MOV.S R21.y, R3.x;
  1389. MOV.F R3.x, R3.w;
  1390. SNE.F32 R3.w, R3.z, {0, 0, 0, 0}.x;
  1391. MUL.F32 R3.y, R3.z, R6.w;
  1392. MOV.S R18.w, R3.z;
  1393. MOV.F R3.z, R23.x;
  1394. MIN.F R3.x, R3, {0, 0, 0, 0};
  1395. ADD.F32 R3.x, R3.z, R3;
  1396. TRUNC.U R4.w, R4;
  1397. TRUNC.U R3.z, R3.w;
  1398. AND.U.CC HC.x, R4.w, R3.z;
  1399. MOV.S R3.x, R3;
  1400. IF NE.x;
  1401. ELSE;
  1402. MOV.F R3.y, {0, 0, 0, 0}.x;
  1403. ENDIF;
  1404. MOV.F R4.w, R18;
  1405. MOV.F R3.w, R20.y;
  1406. MUL.F32 R3.z, R3.w, R4.w;
  1407. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1408. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  1409. TRUNC.U R3.w, R3;
  1410. TRUNC.U R4.w, R4;
  1411. AND.U.CC HC.x, R3.w, R4.w;
  1412. MOV.S R17.z, R3.y;
  1413. IF NE.x;
  1414. MOV.F R3.y, R3.z;
  1415. ELSE;
  1416. MOV.F R3.y, {0, 0, 0, 0}.x;
  1417. ENDIF;
  1418. MOV.F R3.z, R18.y;
  1419. MUL.F32 R3.z, R3, {6.28318548, 0, 0, 0}.x;
  1420. COS.F32 R4.w, R3.z;
  1421. MOV.F R6.w, R19.x;
  1422. MUL.F32 R3.z, R4.w, R6.w;
  1423. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1424. SNE.F32 R7.y, R4.w, {0, 0, 0, 0}.x;
  1425. MOV.S R19.z, R4.w;
  1426. TRUNC.U R4.w, R6;
  1427. TRUNC.U R6.w, R7.y;
  1428. AND.U.CC HC.x, R4.w, R6.w;
  1429. MOV.S R3.w, R19.y;
  1430. MOV.S R20.w, R3.y;
  1431. IF NE.x;
  1432. MOV.F R3.y, R3.z;
  1433. ELSE;
  1434. MOV.F R3.y, {0, 0, 0, 0}.x;
  1435. ENDIF;
  1436. MOV.F R6.w, R19.z;
  1437. MOV.F R4.w, R20.y;
  1438. MUL.F32 R3.z, R4.w, R6.w;
  1439. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  1440. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1441. TRUNC.U R4.w, R4;
  1442. TRUNC.U R6.w, R6;
  1443. AND.U.CC HC.x, R4.w, R6.w;
  1444. MOV.S R18.x, R3.y;
  1445. IF NE.x;
  1446. MOV.F R3.y, R3.z;
  1447. ELSE;
  1448. MOV.F R3.y, {0, 0, 0, 0}.x;
  1449. ENDIF;
  1450. MOV.F R3.z, R3.x;
  1451. MOV.F R4.w, R21.y;
  1452. MUL.F32 R3.x, R3.z, R4.w;
  1453. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1454. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  1455. TRUNC.U R3.z, R3;
  1456. TRUNC.U R4.w, R4;
  1457. AND.U.CC HC.x, R3.z, R4.w;
  1458. MOV.S R19.y, R3;
  1459. IF NE.x;
  1460. ELSE;
  1461. MOV.F R3.x, {0, 0, 0, 0};
  1462. ENDIF;
  1463. MOV.F R3.z, R4;
  1464. MUL.F32 R3.y, R3.z, R3.w;
  1465. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1466. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1467. TRUNC.U R3.z, R3;
  1468. TRUNC.U R3.w, R3;
  1469. AND.U.CC HC.x, R3.z, R3.w;
  1470. MOV.S R16.z, R3.x;
  1471. IF NE.x;
  1472. MOV.F R3.x, R3.y;
  1473. ELSE;
  1474. MOV.F R3.x, {0, 0, 0, 0};
  1475. ENDIF;
  1476. MOV.F R3.y, R18.z;
  1477. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  1478. SIN.F32 R3.z, R3.y;
  1479. MOV.F R3.w, R20;
  1480. MUL.F32 R3.y, R3.z, R3.w;
  1481. MOV.S R18.y, R3.z;
  1482. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1483. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1484. TRUNC.U R3.z, R3;
  1485. TRUNC.U R3.w, R3;
  1486. AND.U.CC HC.x, R3.z, R3.w;
  1487. MOV.S R19.w, R3.x;
  1488. IF NE.x;
  1489. MOV.F R3.x, R3.y;
  1490. ELSE;
  1491. MOV.F R3.x, {0, 0, 0, 0};
  1492. ENDIF;
  1493. MOV.F R3.w, c[10].z;
  1494. MOV.F R3.z, R17.x;
  1495. MUL.F32 R3.y, R3.z, R3.w;
  1496. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1497. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1498. TRUNC.U R3.z, R3;
  1499. TRUNC.U R3.w, R3;
  1500. AND.U.CC HC.x, R3.z, R3.w;
  1501. MOV.S R21.x, R3;
  1502. IF NE.x;
  1503. MOV.F R3.x, R3.y;
  1504. ELSE;
  1505. MOV.F R3.x, {0, 0, 0, 0};
  1506. ENDIF;
  1507. MOV.F R3.w, R17.z;
  1508. MOV.F R3.z, R18.y;
  1509. MUL.F32 R3.y, R3.z, R3.w;
  1510. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1511. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1512. TRUNC.U R3.z, R3;
  1513. TRUNC.U R3.w, R3;
  1514. AND.U.CC HC.x, R3.z, R3.w;
  1515. MOV.S R23.y, R3.x;
  1516. IF NE.x;
  1517. MOV.F R3.x, R3.y;
  1518. ELSE;
  1519. MOV.F R3.x, {0, 0, 0, 0};
  1520. ENDIF;
  1521. MOV.F R3.w, c[10].y;
  1522. MOV.F R3.z, R16;
  1523. MUL.F32 R3.y, R3.z, R3.w;
  1524. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1525. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1526. TRUNC.U R3.z, R3;
  1527. TRUNC.U R3.w, R3;
  1528. AND.U.CC HC.x, R3.z, R3.w;
  1529. MOV.S R21.z, R3.x;
  1530. IF NE.x;
  1531. MOV.F R3.x, R3.y;
  1532. ELSE;
  1533. MOV.F R3.x, {0, 0, 0, 0};
  1534. ENDIF;
  1535. MOV.F R3.w, R18.x;
  1536. MOV.F R3.y, R21.x;
  1537. ADD.F32 R3.y, R3.w, R3;
  1538. MOV.S R18.x, R3.y;
  1539. MOV.F R4.z, R21;
  1540. MOV.F R3.z, R19.y;
  1541. ADD.F32 R3.z, -R3, R4;
  1542. MOV.F R3.y, R18.z;
  1543. MOV.S R16.y, R3.z;
  1544. MUL.F32 R3.z, R3.y, {6.28318548, 0, 0, 0}.x;
  1545. MOV.F R4.z, R18.y;
  1546. COS.F32 R3.z, R3.z;
  1547. MUL.F32 R3.y, R3.w, R4.z;
  1548. MOV.S R20.x, R3.z;
  1549. SNE.F32 R3.z, R4, {0, 0, 0, 0}.x;
  1550. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1551. TRUNC.U R3.z, R3;
  1552. TRUNC.U R3.w, R3;
  1553. AND.U.CC HC.x, R3.z, R3.w;
  1554. MOV.S R15.w, R3.x;
  1555. IF NE.x;
  1556. MOV.F R3.x, R3.y;
  1557. ELSE;
  1558. MOV.F R3.x, {0, 0, 0, 0};
  1559. ENDIF;
  1560. MOV.F R3.w, R20.x;
  1561. MOV.F R3.z, R18.w;
  1562. MUL.F32 R3.y, R3.z, R3.w;
  1563. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1564. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1565. TRUNC.U R3.z, R3;
  1566. TRUNC.U R3.w, R3;
  1567. AND.U.CC HC.x, R3.z, R3.w;
  1568. MOV.S R18.z, R3.x;
  1569. IF NE.x;
  1570. MOV.F R3.x, R3.y;
  1571. ELSE;
  1572. MOV.F R3.x, {0, 0, 0, 0};
  1573. ENDIF;
  1574. MOV.F R3.w, R19.y;
  1575. MOV.F R3.z, R18.y;
  1576. MUL.F32 R3.y, R3.z, R3.w;
  1577. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1578. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1579. TRUNC.U R3.z, R3;
  1580. TRUNC.U R3.w, R3;
  1581. AND.U.CC HC.x, R3.z, R3.w;
  1582. MOV.S R16.w, R3.x;
  1583. IF NE.x;
  1584. MOV.F R3.x, R3.y;
  1585. ELSE;
  1586. MOV.F R3.x, {0, 0, 0, 0};
  1587. ENDIF;
  1588. MOV.F R3.w, R20.x;
  1589. MOV.F R3.z, R20.y;
  1590. MUL.F32 R3.y, R3.z, R3.w;
  1591. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1592. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1593. TRUNC.U R3.z, R3;
  1594. TRUNC.U R3.w, R3;
  1595. AND.U.CC HC.x, R3.z, R3.w;
  1596. MOV.S R17.x, R3;
  1597. IF NE.x;
  1598. MOV.F R3.x, R3.y;
  1599. ELSE;
  1600. MOV.F R3.x, {0, 0, 0, 0};
  1601. ENDIF;
  1602. MOV.F R3.w, R20.x;
  1603. MOV.F R3.z, R19.x;
  1604. MUL.F32 R3.y, R3.z, R3.w;
  1605. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1606. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1607. TRUNC.U R3.z, R3;
  1608. TRUNC.U R3.w, R3;
  1609. AND.U.CC HC.x, R3.z, R3.w;
  1610. MOV.S R23.x, R3;
  1611. IF NE.x;
  1612. MOV.F R3.x, R3.y;
  1613. ELSE;
  1614. MOV.F R3.x, {0, 0, 0, 0};
  1615. ENDIF;
  1616. MOV.F R3.z, R18.y;
  1617. MOV.F R3.z, -R3;
  1618. MOV.F R3.w, R16;
  1619. MOV.F R4.z, R19.w;
  1620. MOV.S R23.z, R3;
  1621. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  1622. MUL.F32 R3.y, R3.w, R4.z;
  1623. SNE.F32 R3.w, R4.z, {0, 0, 0, 0}.x;
  1624. TRUNC.U R3.z, R3;
  1625. TRUNC.U R3.w, R3;
  1626. AND.U.CC HC.x, R3.z, R3.w;
  1627. MOV.S R7.y, R3.x;
  1628. IF NE.x;
  1629. MOV.F R3.x, R3.y;
  1630. ELSE;
  1631. MOV.F R3.x, {0, 0, 0, 0};
  1632. ENDIF;
  1633. MOV.F R3.w, R19;
  1634. MOV.F R3.z, R16.y;
  1635. MUL.F32 R3.y, R3.z, R3.w;
  1636. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  1637. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1638. TRUNC.U R3.z, R3;
  1639. TRUNC.U R3.w, R3;
  1640. AND.U.CC HC.x, R3.z, R3.w;
  1641. MOV.S R13.w, R3.x;
  1642. IF NE.x;
  1643. MOV.F R3.x, R3.y;
  1644. ELSE;
  1645. MOV.F R3.x, {0, 0, 0, 0};
  1646. ENDIF;
  1647. MOV.F R3.w, R19;
  1648. MOV.F R3.y, R18.x;
  1649. MUL.F32 R3.z, R3.y, R3.w;
  1650. SNE.F32 R4.z, R3.w, {0, 0, 0, 0}.x;
  1651. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  1652. TRUNC.U R3.w, R3.y;
  1653. TRUNC.U R4.z, R4;
  1654. AND.U.CC HC.x, R3.w, R4.z;
  1655. MOV.S R3.y, R3.x;
  1656. IF NE.x;
  1657. MOV.F R3.x, R3.z;
  1658. ELSE;
  1659. MOV.F R3.x, {0, 0, 0, 0};
  1660. ENDIF;
  1661. MOV.F R3.w, R18.z;
  1662. MOV.F R3.z, R20.w;
  1663. ADD.F32 R3.z, R3, R3.w;
  1664. MOV.F R4.z, R20.x;
  1665. MOV.F R3.w, R19.z;
  1666. MOV.S R9.y, R3.z;
  1667. MUL.F32 R3.z, R3.w, R4;
  1668. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1669. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1670. TRUNC.U R3.w, R3;
  1671. TRUNC.U R4.z, R4;
  1672. AND.U.CC HC.x, R3.w, R4.z;
  1673. MOV.S R3.x, R3;
  1674. IF NE.x;
  1675. ELSE;
  1676. MOV.F R3.z, {0, 0, 0, 0}.x;
  1677. ENDIF;
  1678. MOV.F R6.w, {1, 0, 0, 0}.x;
  1679. DP4.F32 R3.w, R10, R6;
  1680. MOV.F R10, R11;
  1681. MOV.S R7.w, R3;
  1682. DP4.F32 R3.w, R6, R10;
  1683. MOV.F R10, R12;
  1684. DP4.F32 R6.x, R6, R10;
  1685. MOV.S R4.w, R3;
  1686. MOV.F R4.z, R17.x;
  1687. MOV.F R3.w, R17.z;
  1688. ADD.F32 R3.w, -R3, R4.z;
  1689. MOV.S R14.w, R3;
  1690. MOV.F R3.w, c[11];
  1691. MOV.S R10.x, R0.y;
  1692. ADD.F32 R0.y, R0, -R3.w;
  1693. MOV.S R8.w, R6.x;
  1694. MOV.S R6.x, R0.y;
  1695. MOV.F R0.y, c[12].w;
  1696. ADD.F32 R0.y, R3.w, -R0;
  1697. MOV.F R4.z, R8.x;
  1698. SGT.F32 R3.w, R4.z, {0.5, 0, 0, 0}.x;
  1699. TRUNC.U.CC HC.x, R3.w;
  1700. MOV.S R16.y, R0;
  1701. MOV.S R3.z, R3;
  1702. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  1703. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  1704. IF NE.x;
  1705. MOV.S R0.y, {-1, 0, 0, 0}.x;
  1706. ELSE;
  1707. MOV.S R0.y, {0, 0, 0, 0}.x;
  1708. ENDIF;
  1709. MOV.F R4.z, c[12].w;
  1710. MOV.F R3.w, R10.x;
  1711. ADD.F32 R3.w, R3, -R4.z;
  1712. MOV.S R12.w, R3;
  1713. MOV.F R3.w, R24.x;
  1714. MOV.F R4.z, R6.x;
  1715. ADD.F32 R3.w, -R3, {1, 0, 0, 0}.x;
  1716. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1717. TRUNC.U.CC HC.x, R4.z;
  1718. MOV.S R9.x, R3.w;
  1719. IF NE.x;
  1720. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  1721. ELSE;
  1722. MOV.S R3.w, {0, 0, 0, 0}.x;
  1723. ENDIF;
  1724. MOV.F R4.z, R12.w;
  1725. SGE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1726. TRUNC.U.CC HC.x, R4.z;
  1727. MOV.S R12.x, R3.w;
  1728. IF NE.x;
  1729. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  1730. ELSE;
  1731. MOV.S R4.z, {0, 0, 0, 0}.x;
  1732. ENDIF;
  1733. MOV.F R6.z, c[11].x;
  1734. MOV.F R6.y, c[12].x;
  1735. ADD.F32 R6.y, -R6, R6.z;
  1736. SEQ.S R6.z, R0.y, {0, 0, 0, 0}.x;
  1737. MOV.U.CC RC.x, -R6.z;
  1738. MOV.S R21.z, R6.y;
  1739. IF NE.x;
  1740. MOV.S R6.y, R24;
  1741. ELSE;
  1742. MOV.S R6.y, R24;
  1743. ENDIF;
  1744. MOV.F R6.w, R21.z;
  1745. MOV.F R6.z, R16.y;
  1746. DIV.F32 R6.z, R6.w, R6.z;
  1747. MOV.S R12.y, R6.z;
  1748. MOV.F R6.w, c[13];
  1749. MOV.F R6.z, R10.x;
  1750. ADD.F32 R6.z, R6, -R6.w;
  1751. MOV.F R8.x, c[11].w;
  1752. MOV.S R11.x, R6.z;
  1753. ADD.F32 R6.z, R6.w, -R8.x;
  1754. MOV.S R16.w, R6.z;
  1755. MOV.F R6.w, c[13].x;
  1756. MOV.F R6.z, c[11].x;
  1757. ADD.F32 R6.z, -R6, R6.w;
  1758. MOV.F R6.w, R3;
  1759. MOV.S R21.x, R6.z;
  1760. ADD.F32 R6.z, -R4, {1, 0, 0, 0}.x;
  1761. ADD.F32 R3.w, -R6, {1, 0, 0, 0}.x;
  1762. MUL.F32 R3.w, R4.z, R3;
  1763. MOV.S R11.w, R6.y;
  1764. SNE.F32 R6.y, -R6.w, {-1, 0, 0, 0}.x;
  1765. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1766. TRUNC.U R6.y, R6;
  1767. TRUNC.U R4.z, R4;
  1768. AND.U.CC HC.x, R4.z, R6.y;
  1769. MOV.S R12.z, R6;
  1770. IF NE.x;
  1771. ELSE;
  1772. MOV.F R3.w, {0, 0, 0, 0}.x;
  1773. ENDIF;
  1774. SEQ.S R0.y, R0, {0, 0, 0, 0}.x;
  1775. MOV.U.CC RC.x, -R0.y;
  1776. MOV.S R6.y, R3.w;
  1777. IF NE.x;
  1778. MOV.S R0.y, R24.x;
  1779. ELSE;
  1780. MOV.S R0.y, R9.x;
  1781. ENDIF;
  1782. MOV.F R3.w, R11.x;
  1783. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  1784. TRUNC.U.CC HC.x, R3.w;
  1785. MOV.S R6.z, R0.y;
  1786. IF NE.x;
  1787. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  1788. ELSE;
  1789. MOV.S R0.y, {0, 0, 0, 0}.x;
  1790. ENDIF;
  1791. MOV.F R6.w, R8.y;
  1792. SGT.F32 R9.x, R6.w, {0.5, 0, 0, 0};
  1793. TRUNC.U.CC HC.x, R9;
  1794. MOV.F R4.z, R21.x;
  1795. MOV.F R3.w, R16;
  1796. DIV.F32 R3.w, R4.z, R3.w;
  1797. MOV.S R8.z, R3.w;
  1798. MOV.F R4.z, c[14].w;
  1799. MOV.F R3.w, R10.x;
  1800. ADD.F32 R3.w, -R4.z, R3;
  1801. MOV.S R8.x, R3.w;
  1802. MOV.F R3.w, c[13];
  1803. ADD.F32 R3.w, -R3, R4.z;
  1804. MOV.F R4.z, R0.y;
  1805. MOV.S R8.y, R3.w;
  1806. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  1807. MOV.S R3.w, R0.y;
  1808. MOV.S R6.w, R4.z;
  1809. IF NE.x;
  1810. MOV.S R0.y, {-1, 0, 0, 0}.x;
  1811. ELSE;
  1812. MOV.S R0.y, {0, 0, 0, 0}.x;
  1813. ENDIF;
  1814. ENDIF;
  1815. SEQ.U R4.z, R23.w, {1, 0, 0, 0}.x;
  1816. MOV.U.CC RC.x, -R4.z;
  1817. IF NE.x;
  1818. MOV.F R9.z, R12.y;
  1819. MOV.F R9.x, R12.w;
  1820. MUL.F32 R4.z, R9.x, R9;
  1821. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  1822. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  1823. TRUNC.U R9.z, R9;
  1824. TRUNC.U R9.x, R9;
  1825. AND.U.CC HC.x, R9, R9.z;
  1826. IF NE.x;
  1827. ELSE;
  1828. MOV.F R4.z, {0, 0, 0, 0}.x;
  1829. ENDIF;
  1830. MOV.F R9.x, c[12];
  1831. ADD.F32 R4.z, R4, R9.x;
  1832. MOV.F R9.z, R8.x;
  1833. SGE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  1834. MOV.S R17.x, R4.z;
  1835. MOV.F R9.x, c[15];
  1836. MOV.F R4.z, c[15].y;
  1837. MUL.F32 R9.x, R9, {0.5, 0, 0, 0};
  1838. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  1839. TRUNC.U.CC HC.x, R9.z;
  1840. MOV.S R16.z, R9.x;
  1841. MOV.S R16.y, R4.z;
  1842. IF NE.x;
  1843. MOV.S R9.x, {1065353216, 0, 0, 0};
  1844. ELSE;
  1845. MOV.S R9.x, {0, 0, 0, 0};
  1846. ENDIF;
  1847. MOV.F R9.z, R6.w;
  1848. MOV.F R4.z, R16.y;
  1849. ADD.F32 R4.z, R4.y, R4;
  1850. MOV.F R4.y, R16.z;
  1851. ADD.F32 R4.x, R4, R4.y;
  1852. MOV.F R4.y, R8;
  1853. RCP.F32 R4.y, R4.y;
  1854. MOV.S R21.w, R4.z;
  1855. MOV.F R8.y, R12.x;
  1856. MOV.S R21.x, R4;
  1857. MOV.S R18.x, R4.y;
  1858. SNE.F32 R4.y, R8, {0, 0, 0, 0}.x;
  1859. MOV.F R6.w, c[16];
  1860. MOV.F R4.z, R10.x;
  1861. ADD.F32 R4.z, R4, -R6.w;
  1862. MOV.S R17.y, R4.z;
  1863. SNE.F32 R4.z, R9, {0, 0, 0, 0}.x;
  1864. TRUNC.U R4.y, R4;
  1865. TRUNC.U R4.z, R4;
  1866. AND.U.CC HC.x, R4.y, R4.z;
  1867. MUL.F32 R4.x, R8.y, R9.z;
  1868. AND.S R21.z, c[2].x, {524288, 0, 0, 0}.x;
  1869. IF NE.x;
  1870. ELSE;
  1871. MOV.F R4.x, {0, 0, 0, 0};
  1872. ENDIF;
  1873. MOV.F R4.z, R23.y;
  1874. MOV.F R4.y, R21.w;
  1875. SNE.F32 R6.w, R4.y, {0, 0, 0, 0}.x;
  1876. TRUNC.U R9.z, R6.w;
  1877. SNE.F32 R8.y, R4.z, {0, 0, 0, 0}.x;
  1878. MUL.F32 R4.y, R4.z, R4;
  1879. MOV.F R6.w, c[14].x;
  1880. MOV.F R4.z, c[13].x;
  1881. ADD.F32 R4.z, -R4, R6.w;
  1882. TRUNC.U R6.w, R8.y;
  1883. AND.U.CC HC.x, R6.w, R9.z;
  1884. MOV.S R16.x, R4.z;
  1885. MOV.S R20.y, R4.x;
  1886. IF NE.x;
  1887. MOV.F R4.x, R4.y;
  1888. ELSE;
  1889. MOV.F R4.x, {0, 0, 0, 0};
  1890. ENDIF;
  1891. MOV.F R6.w, R21.x;
  1892. MOV.F R4.z, R15.w;
  1893. MUL.F32 R4.y, R4.z, R6.w;
  1894. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1895. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  1896. TRUNC.U R4.z, R4;
  1897. TRUNC.U R6.w, R6;
  1898. AND.U.CC HC.x, R4.z, R6.w;
  1899. MOV.S R16.y, R4.x;
  1900. IF NE.x;
  1901. MOV.F R4.x, R4.y;
  1902. ELSE;
  1903. MOV.F R4.x, {0, 0, 0, 0};
  1904. ENDIF;
  1905. SEQ.S R4.y, R21.z, {524288, 0, 0, 0}.x;
  1906. MOV.U.CC RC.x, -R4.y;
  1907. MOV.S R18.z, R4.x;
  1908. IF NE.x;
  1909. MOV.S R8.y, {-1, 0, 0, 0}.x;
  1910. ELSE;
  1911. MOV.S R8.y, {0, 0, 0, 0}.x;
  1912. ENDIF;
  1913. MOV.F R4.x, R17.y;
  1914. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  1915. TRUNC.U.CC HC.x, R4;
  1916. IF NE.x;
  1917. MOV.S R6.w, {1065353216, 0, 0, 0}.x;
  1918. ELSE;
  1919. MOV.S R6.w, {0, 0, 0, 0}.x;
  1920. ENDIF;
  1921. MOV.F R4.y, R7;
  1922. MOV.F R4.x, R16.y;
  1923. SNE.F32 R4.z, R4.x, {0, 0, 0, 0}.x;
  1924. TRUNC.U R7.y, R4.z;
  1925. SNE.F32 R9.z, R4.y, {0, 0, 0, 0}.x;
  1926. MUL.F32 R4.x, R4, R4.y;
  1927. MOV.F R4.z, c[16].w;
  1928. MOV.F R4.y, c[14].w;
  1929. ADD.F32 R4.y, -R4, R4.z;
  1930. TRUNC.U R4.z, R9;
  1931. AND.U.CC HC.x, R7.y, R4.z;
  1932. MOV.S R21.x, R4.y;
  1933. IF NE.x;
  1934. ELSE;
  1935. MOV.F R4.x, {0, 0, 0, 0};
  1936. ENDIF;
  1937. MOV.F R4.y, R3;
  1938. ADD.F32 R4.x, R4, R4.y;
  1939. MOV.F R4.z, R23;
  1940. MOV.F R4.y, R16;
  1941. MOV.S R21.y, R4.x;
  1942. MUL.F32 R4.x, R4.y, R4.z;
  1943. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1944. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  1945. TRUNC.U R4.z, R4;
  1946. TRUNC.U R4.y, R4;
  1947. AND.U.CC HC.x, R4.y, R4.z;
  1948. IF NE.x;
  1949. ELSE;
  1950. MOV.F R4.x, {0, 0, 0, 0};
  1951. ENDIF;
  1952. MOV.F R4.y, R13.w;
  1953. ADD.F32 R4.x, R4, R4.y;
  1954. MOV.F R4.z, R23.x;
  1955. MOV.F R4.y, R16;
  1956. MOV.S R21.z, R4.x;
  1957. MUL.F32 R4.x, R4.y, R4.z;
  1958. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1959. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  1960. TRUNC.U R4.z, R4;
  1961. TRUNC.U R4.y, R4;
  1962. AND.U.CC HC.x, R4.y, R4.z;
  1963. IF NE.x;
  1964. ELSE;
  1965. MOV.F R4.x, {0, 0, 0, 0};
  1966. ENDIF;
  1967. MOV.F R4.y, R16.x;
  1968. MOV.F R4.z, R18.x;
  1969. MUL.F32 R4.z, R4.y, R4;
  1970. MOV.F R4.y, R3.x;
  1971. ADD.F32 R4.y, R4.x, R4;
  1972. MOV.S R19.w, R4.z;
  1973. MOV.F R4.z, R18;
  1974. MOV.F R7.y, R3.z;
  1975. MUL.F32 R4.x, R4.z, R7.y;
  1976. MOV.S R21.w, R4.y;
  1977. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  1978. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1979. TRUNC.U R4.z, R7.y;
  1980. TRUNC.U R4.y, R4;
  1981. AND.U.CC HC.x, R4.y, R4.z;
  1982. IF NE.x;
  1983. ELSE;
  1984. MOV.F R4.x, {0, 0, 0, 0};
  1985. ENDIF;
  1986. MOV.F R4.y, R21.z;
  1987. ADD.F32 R4.y, R4.x, R4;
  1988. MOV.F R4.z, R18;
  1989. MOV.F R7.y, R9;
  1990. MUL.F32 R4.x, R4.z, R7.y;
  1991. MOV.S R18.x, R4.y;
  1992. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  1993. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1994. TRUNC.U R4.z, R7.y;
  1995. TRUNC.U R4.y, R4;
  1996. AND.U.CC HC.x, R4.y, R4.z;
  1997. IF NE.x;
  1998. ELSE;
  1999. MOV.F R4.x, {0, 0, 0, 0};
  2000. ENDIF;
  2001. MOV.F R4.y, R21;
  2002. ADD.F32 R4.y, R4.x, R4;
  2003. MOV.F R4.z, R18;
  2004. MOV.F R7.y, R14.w;
  2005. MUL.F32 R4.x, R4.z, R7.y;
  2006. MOV.S R18.y, R4;
  2007. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  2008. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  2009. TRUNC.U R4.z, R7.y;
  2010. TRUNC.U R4.y, R4;
  2011. AND.U.CC HC.x, R4.y, R4.z;
  2012. IF NE.x;
  2013. ELSE;
  2014. MOV.F R4.x, {0, 0, 0, 0};
  2015. ENDIF;
  2016. MOV.F R4.y, R21.w;
  2017. ADD.F32 R4.x, R4, R4.y;
  2018. MOV.F R4.z, R12;
  2019. MOV.F R4.y, c[12].x;
  2020. MOV.S R18.z, R4.x;
  2021. MUL.F32 R4.x, R4.y, R4.z;
  2022. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  2023. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  2024. TRUNC.U R4.z, R4;
  2025. TRUNC.U R4.y, R4;
  2026. AND.U.CC HC.x, R4.y, R4.z;
  2027. IF NE.x;
  2028. ELSE;
  2029. MOV.F R4.x, {0, 0, 0, 0};
  2030. ENDIF;
  2031. MOV.F R7.y, R6;
  2032. MOV.F R12.xyz, R13;
  2033. MOV.F R6.y, R17.x;
  2034. MOV.F R13.xyz, R18;
  2035. MOV.F R4.y, R21.x;
  2036. MOV.F R12.w, R7;
  2037. MOV.F R13.w, R10;
  2038. DP4.F32 R4.z, R12, R13;
  2039. MOV.S R13.x, R4.z;
  2040. RCP.F32 R4.z, R4.y;
  2041. MOV.S R17.z, R4;
  2042. SNE.F32 R4.z, R6.y, {0, 0, 0, 0}.x;
  2043. MUL.F32 R4.y, R6, R7;
  2044. SNE.F32 R6.y, R7, {0, 0, 0, 0}.x;
  2045. TRUNC.U R4.z, R4;
  2046. TRUNC.U R6.y, R6;
  2047. AND.U.CC HC.x, R4.z, R6.y;
  2048. MOV.S R16.w, R4.x;
  2049. IF NE.x;
  2050. MOV.F R6.y, R4;
  2051. ELSE;
  2052. MOV.F R6.y, {0, 0, 0, 0}.x;
  2053. ENDIF;
  2054. MOV.F R4.xyz, R14;
  2055. MOV.F R12.w, R10;
  2056. MOV.F R12.xyz, R18;
  2057. DP4.F32 R4.y, R4, R12;
  2058. MOV.F R4.z, R6.x;
  2059. MOV.F R4.x, R16.w;
  2060. MOV.S R14.y, R4;
  2061. ADD.F32 R4.y, R6, R4.x;
  2062. MOV.F R4.w, R8.z;
  2063. MUL.F32 R4.x, R4.z, R4.w;
  2064. MOV.S R20.x, R4.y;
  2065. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  2066. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  2067. TRUNC.U R4.z, R4.w;
  2068. TRUNC.U R4.y, R4;
  2069. AND.U.CC HC.x, R4.y, R4.z;
  2070. IF NE.x;
  2071. MOV.F R6.x, R4;
  2072. ELSE;
  2073. MOV.F R6.x, {0, 0, 0, 0};
  2074. ENDIF;
  2075. MOV.F R4.xyz, R15;
  2076. MOV.F R4.w, R8;
  2077. MOV.F R12.xyz, R18;
  2078. MOV.F R12.w, R10;
  2079. DP4.F32 R4.y, R4, R12;
  2080. MOV.F R4.w, R20.y;
  2081. SNE.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  2082. TRUNC.U R7.w, R6.y;
  2083. MOV.S R15.z, R4.y;
  2084. MOV.F R4.y, c[11].x;
  2085. MOV.F R4.z, c[17].w;
  2086. MOV.F R4.x, R10;
  2087. ADD.F32 R4.x, R4, -R4.z;
  2088. MOV.S R17.x, R4;
  2089. ADD.F32 R4.x, R6, R4.y;
  2090. MUL.F32 R4.x, R4, R4.w;
  2091. MOV.F R7.y, c[16].w;
  2092. ADD.F32 R4.z, R4, -R7.y;
  2093. MOV.S R16.y, R4.z;
  2094. MOV.F R4.z, R9.x;
  2095. MOV.F R6.y, c[16].x;
  2096. MOV.F R4.w, c[14].x;
  2097. ADD.F32 R4.w, -R4, R6.y;
  2098. MOV.S R18.x, R4.w;
  2099. SNE.F32 R4.w, R6.x, -R4.y;
  2100. ADD.F32 R4.y, -R4.z, {1, 0, 0, 0}.x;
  2101. TRUNC.U R4.z, R4.w;
  2102. AND.U.CC HC.x, R4.z, R7.w;
  2103. MOV.S R16.z, R4.y;
  2104. IF NE.x;
  2105. ELSE;
  2106. MOV.F R4.x, {0, 0, 0, 0};
  2107. ENDIF;
  2108. MOV.F R4.y, R20.x;
  2109. ADD.F32 R4.x, R4, R4.y;
  2110. SEQ.S R4.y, R8, {0, 0, 0, 0}.x;
  2111. MOV.U.CC RC.x, -R4.y;
  2112. MOV.S R20.w, R4.x;
  2113. IF NE.x;
  2114. MOV.S R4.x, R24.y;
  2115. ELSE;
  2116. MOV.S R4.x, R11.w;
  2117. ENDIF;
  2118. MOV.F R4.w, R11.x;
  2119. MOV.F R4.z, R17;
  2120. MOV.F R4.y, R18.x;
  2121. MUL.F32 R4.y, R4, R4.z;
  2122. MOV.S R20.y, R4;
  2123. MOV.F R4.y, R10.x;
  2124. MOV.F R4.z, c[18].w;
  2125. ADD.F32 R4.z, R4.y, -R4;
  2126. MOV.F R6.x, R19.w;
  2127. MUL.F32 R4.y, R4.w, R6.x;
  2128. MOV.S R19.x, R4.z;
  2129. SNE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  2130. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  2131. TRUNC.U R4.w, R6.x;
  2132. TRUNC.U R4.z, R4;
  2133. AND.U.CC HC.x, R4.z, R4.w;
  2134. IF NE.x;
  2135. ELSE;
  2136. MOV.F R4.y, {0, 0, 0, 0}.x;
  2137. ENDIF;
  2138. MOV.F R4.z, R3.w;
  2139. SNE.F32 R4.w, R4.z, {0, 0, 0, 0}.x;
  2140. MOV.F R6.x, R16.z;
  2141. TRUNC.U R6.y, R4.w;
  2142. MOV.F R4.w, c[13].x;
  2143. ADD.F32 R4.y, R4, R4.w;
  2144. MUL.F32 R4.z, R4, R6.x;
  2145. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  2146. TRUNC.U R4.w, R6.x;
  2147. AND.U.CC HC.x, R6.y, R4.w;
  2148. MOV.S R21.z, R4.y;
  2149. IF NE.x;
  2150. MOV.F R4.y, R4.z;
  2151. ELSE;
  2152. MOV.F R4.y, {0, 0, 0, 0}.x;
  2153. ENDIF;
  2154. MOV.F R4.z, R16.y;
  2155. RCP.F32 R4.z, R4.z;
  2156. MOV.F R4.w, R17.x;
  2157. MOV.S R18.x, R4.z;
  2158. SGE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  2159. TRUNC.U.CC HC.x, R4.z;
  2160. MOV.S R21.w, R4.y;
  2161. IF NE.x;
  2162. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  2163. ELSE;
  2164. MOV.S R4.y, {0, 0, 0, 0}.x;
  2165. ENDIF;
  2166. MOV.F R6.x, R21.w;
  2167. MOV.F R4.w, R21.z;
  2168. MUL.F32 R4.z, R4.w, R6.x;
  2169. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  2170. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  2171. TRUNC.U R7.y, R4.w;
  2172. TRUNC.U R7.w, R6.x;
  2173. MOV.F R4.w, R6;
  2174. ADD.F32 R4.w, -R4, {1, 0, 0, 0}.x;
  2175. AND.U.CC HC.x, R7.y, R7.w;
  2176. MOV.F R6.y, c[17].x;
  2177. MOV.F R6.x, c[16];
  2178. ADD.F32 R6.x, -R6, R6.y;
  2179. MOV.S R16.z, R6.x;
  2180. MOV.S R16.y, R4.w;
  2181. IF NE.x;
  2182. ELSE;
  2183. MOV.F R4.z, {0, 0, 0, 0}.x;
  2184. ENDIF;
  2185. MOV.F R4.w, R20;
  2186. ADD.F32 R4.z, R4, R4.w;
  2187. MOV.S R18.w, R4.z;
  2188. SEQ.S R4.z, R8.y, {0, 0, 0, 0}.x;
  2189. MOV.U.CC RC.x, -R4.z;
  2190. IF NE.x;
  2191. MOV.S R4.z, R24.x;
  2192. ELSE;
  2193. MOV.S R4.z, R6;
  2194. ENDIF;
  2195. MOV.F R6.x, R18;
  2196. MOV.F R4.w, R16.z;
  2197. MUL.F32 R4.w, R4, R6.x;
  2198. MOV.F R6.y, R16;
  2199. MOV.F R6.x, R9;
  2200. MOV.S R18.x, R4.w;
  2201. MUL.F32 R4.w, R6.x, R6.y;
  2202. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  2203. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  2204. TRUNC.U R6.y, R6;
  2205. TRUNC.U R6.x, R6;
  2206. AND.U.CC HC.x, R6, R6.y;
  2207. IF NE.x;
  2208. ELSE;
  2209. MOV.F R4.w, {0, 0, 0, 0}.x;
  2210. ENDIF;
  2211. MOV.F R6.x, R19;
  2212. SGE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  2213. TRUNC.U.CC HC.x, R6.z;
  2214. MOV.F R6.x, c[17].w;
  2215. MOV.F R6.y, c[18].w;
  2216. ADD.F32 R6.y, -R6.x, R6;
  2217. MOV.F R6.x, R4;
  2218. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  2219. MOV.S R21.w, R6.y;
  2220. MOV.S R18.y, R4.w;
  2221. MOV.S R21.z, R6.x;
  2222. IF NE.x;
  2223. MOV.S R4.w, {1065353216, 0, 0, 0}.x;
  2224. ELSE;
  2225. MOV.S R4.w, {0, 0, 0, 0}.x;
  2226. ENDIF;
  2227. MOV.F R6.z, R20.y;
  2228. MOV.F R6.y, R8.x;
  2229. MUL.F32 R6.x, R6.y, R6.z;
  2230. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  2231. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  2232. TRUNC.U R6.z, R6;
  2233. TRUNC.U R6.y, R6;
  2234. AND.U.CC HC.x, R6.y, R6.z;
  2235. IF NE.x;
  2236. ELSE;
  2237. MOV.F R6.x, {0, 0, 0, 0};
  2238. ENDIF;
  2239. MOV.F R6.y, c[14].x;
  2240. ADD.F32 R6.x, R6, R6.y;
  2241. SEQ.S R7.y, R0, {0, 0, 0, 0}.x;
  2242. MOV.F R6.z, R4.y;
  2243. ADD.F32 R6.y, -R6.z, {1, 0, 0, 0}.x;
  2244. MOV.U.CC RC.x, -R7.y;
  2245. MOV.S R21.x, R6;
  2246. MOV.S R16.z, R6.y;
  2247. AND.S R16.y, c[2].x, {1048576, 0, 0, 0}.x;
  2248. IF NE.x;
  2249. MOV.S R6.x, R4;
  2250. ELSE;
  2251. MOV.S R6.x, R21.z;
  2252. ENDIF;
  2253. MOV.F R6.y, R21.w;
  2254. RCP.F32 R6.z, R6.y;
  2255. MOV.F R7.y, R21.x;
  2256. MOV.F R7.w, R18.y;
  2257. MUL.F32 R6.y, R7, R7.w;
  2258. MOV.S R17.z, R6;
  2259. SNE.F32 R6.z, R7.y, {0, 0, 0, 0}.x;
  2260. TRUNC.U R8.x, R6.z;
  2261. MOV.F R7.y, c[18].x;
  2262. MOV.F R6.z, c[17].x;
  2263. ADD.F32 R6.z, -R6, R7.y;
  2264. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  2265. TRUNC.U R7.y, R7.w;
  2266. AND.U.CC HC.x, R8, R7.y;
  2267. MOV.S R21.x, R6.z;
  2268. IF NE.x;
  2269. ELSE;
  2270. MOV.F R6.y, {0, 0, 0, 0}.x;
  2271. ENDIF;
  2272. MOV.F R6.z, R18.w;
  2273. ADD.F32 R6.y, R6, R6.z;
  2274. MOV.S R18.y, R6;
  2275. SEQ.S R6.y, R16, {1048576, 0, 0, 0}.x;
  2276. MOV.U.CC RC.x, -R6.y;
  2277. IF NE.x;
  2278. MOV.S R6.y, {-1, 0, 0, 0}.x;
  2279. ELSE;
  2280. MOV.S R6.y, {0, 0, 0, 0}.x;
  2281. ENDIF;
  2282. MOV.F R7.y, R16.z;
  2283. MUL.F32 R6.z, R6.w, R7.y;
  2284. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  2285. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  2286. TRUNC.U R7.y, R7;
  2287. TRUNC.U R6.w, R6;
  2288. AND.U.CC HC.x, R6.w, R7.y;
  2289. IF NE.x;
  2290. ELSE;
  2291. MOV.F R6.z, {0, 0, 0, 0}.x;
  2292. ENDIF;
  2293. SEQ.S R7.w, R0.y, {0, 0, 0, 0}.x;
  2294. MOV.U.CC RC.x, -R7.w;
  2295. MOV.F R7.y, R17.z;
  2296. MOV.F R6.w, R21.x;
  2297. MUL.F32 R6.w, R6, R7.y;
  2298. MOV.S R16.x, R6.w;
  2299. MOV.F R7.y, c[19].w;
  2300. MOV.F R6.w, R10.x;
  2301. ADD.F32 R6.w, -R7.y, R6;
  2302. MOV.S R16.z, R6.w;
  2303. MOV.F R6.w, c[18];
  2304. ADD.F32 R7
  2305. [17:14:11] Link error in shader. Log:
  2306. [17:14:11] Vertex info
  2307. -----------
  2308. Internal error: assembly compile error for vertex shader at offset 1806:
  2309. -- error message --
  2310. line 38, column 45: error: invalid vertex attribute reference
  2311. line 44, column 25: error: invalid vertex attribute reference
  2312. line 46, column 25: error: invalid vertex attribute reference
  2313. line 48, column 25: error: invalid vertex attribute reference
  2314. line 51, column 25: error: invalid vertex attribute reference
  2315. -- internal assembly text --
  2316. !!NVvp5.0
  2317. OPTION NV_internal;
  2318. OPTION NV_bindless_texture;
  2319. # cgc version 3.4.0001, build date Oct 22 2020
  2320. # command line args:
  2321. #vendor NVIDIA Corporation
  2322. #version 3.4.0.1 COP Build Date Oct 22 2020
  2323. #profile gp5vp
  2324. #program main
  2325. #semantic uf_remappedVS
  2326. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  2327. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  2328. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  2329. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  2330. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  2331. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  2332. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  2333. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  2334. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  2335. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  2336. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  2337. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  2338. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  2339. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  2340. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  2341. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  2342. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  2343. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  2344. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  2345. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  2346. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  2347. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  2348. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  2349. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  2350. #var int4 uf_remappedVS[0] : : c[0], 36 : -1 : 1
  2351. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  2352. PARAM c[36] = { program.local[0..35] };
  2353. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  2354. OUTPUT result_attrib[] = { result.attrib[0..4] };
  2355. 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;
  2356. TEMP T;
  2357. TEMP RC;
  2358. SHORT TEMP HC;
  2359. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  2360. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2361. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  2362. OR.U R0, R0, R1;
  2363. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  2364. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2365. OR.U R0, R0, R1;
  2366. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  2367. OR.U R4, R0, R2;
  2368. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  2369. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2370. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  2371. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  2372. OR.U R1, R1, R2;
  2373. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  2374. OR.U R0, R1, R0;
  2375. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  2376. OR.U R5, R0, R2;
  2377. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  2378. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2379. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  2380. OR.U R1, R1, R2;
  2381. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  2382. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  2383. OR.U R1, R1, R2;
  2384. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  2385. OR.U R18, R1, R0;
  2386. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  2387. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2388. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  2389. OR.U R0, R0, R1;
  2390. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  2391. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2392. OR.U R0, R0, R1;
  2393. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  2394. OR.U R6, R0, R2;
  2395. MOV.U R0.x, R18.w;
  2396. MOV.F R0.y, c[0].x;
  2397. ADD.F32 R3.x, -R0, R0.y;
  2398. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  2399. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  2400. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2401. TRUNC.U R11.x, R3.y;
  2402. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  2403. MOV.S R18.w, R3.x;
  2404. OR.U R0, R0, R1;
  2405. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  2406. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2407. OR.U R0, R0, R1;
  2408. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  2409. OR.U R7, R0, R2;
  2410. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  2411. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2412. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  2413. OR.U R0, R0, R1;
  2414. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  2415. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2416. OR.U R0, R0, R1;
  2417. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  2418. OR.U R8, R0, R2;
  2419. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  2420. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2421. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  2422. OR.U R0, R0, R1;
  2423. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  2424. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2425. OR.U R0, R0, R1;
  2426. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  2427. OR.U R17, R0, R2;
  2428. SEQ.U R0.x, R11, {1, 0, 0, 0};
  2429. SEQ.U R11.y, -R0.x, {1, 0, 0, 0}.x;
  2430. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2431. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2432. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2433. MOV.U.CC RC.x, -R11.y;
  2434. OR.U R0.xyz, R0, R1;
  2435. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2436. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2437. OR.U R0.xyz, R0, R1;
  2438. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2439. OR.U R19.xyz, R0, R2;
  2440. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  2441. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2442. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  2443. OR.U R0.xyz, R0, R1;
  2444. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  2445. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2446. OR.U R0.xyz, R0, R1;
  2447. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  2448. OR.U R23.xyz, R0, R2;
  2449. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2450. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2451. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2452. OR.U R0.xyz, R0, R1;
  2453. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2454. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2455. OR.U R0.xyz, R0, R1;
  2456. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2457. OR.U R20.xyz, R0, R2;
  2458. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  2459. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2460. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  2461. OR.U R0.xyz, R0, R1;
  2462. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  2463. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2464. OR.U R0.xyz, R0, R1;
  2465. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  2466. OR.U R21.xyz, R0, R2;
  2467. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2468. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2469. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2470. OR.U R0.xyz, R0, R1;
  2471. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2472. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2473. OR.U R0.xyz, R0, R1;
  2474. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2475. OR.U R22.xyz, R0, R2;
  2476. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2477. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2478. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2479. OR.U R0.xyz, R0, R1;
  2480. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2481. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2482. OR.U R0.xyz, R0, R1;
  2483. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2484. OR.U R9.xyz, R0, R2;
  2485. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2486. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2487. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2488. OR.U R0.xyz, R0, R1;
  2489. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2490. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2491. OR.U R0.xyz, R0, R1;
  2492. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2493. OR.U R10.xyz, R0, R2;
  2494. MOV.S R0, {0, 0, 0, 0}.x;
  2495. MOV.S R1, {0, 0, 0, 0}.x;
  2496. MOV.S R2, {0, 0, 0, 0}.x;
  2497. MOV.S R24.xy, {0, 0, 0, 0}.x;
  2498. MOV.S R3.yz, {0, 0, 0, 0};
  2499. MOV.S R3.x, vertex.id;
  2500. MOV.S R3.w, vertex.instance.x;
  2501. MOV.S R9.w, {0, 0, 0, 0}.x;
  2502. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  2503. IF NE.x;
  2504. MOV.F R0.z, c[1].y;
  2505. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  2506. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  2507. MOV.S R24.xy, {0, 0, 0, 0}.x;
  2508. MOV.S R0.z, R0;
  2509. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  2510. ENDIF;
  2511. SEQ.U R11.x, R11, {0, 0, 0, 0};
  2512. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2513. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2514. MOV.U.CC RC.x, -R11;
  2515. IF NE.x;
  2516. MOV.S R17.w, {0, 0, 0, 0}.x;
  2517. ENDIF;
  2518. SEQ.S R11.x, R17.w, {0, 0, 0, 0};
  2519. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  2520. SEQ.U R11.z, -R11.y, {1, 0, 0, 0}.x;
  2521. MOV.U.CC RC.x, -R11.z;
  2522. MOV.U R11.x, -R11;
  2523. MOV.U R11.y, -R11;
  2524. IF NE.x;
  2525. MOV.F R11.z, R5.w;
  2526. TRUNC.S R11.z, R11;
  2527. I2F.S R11.z, R11;
  2528. MOV.F R11.w, R18;
  2529. SGE.F32 R11.w, R11, R11.z;
  2530. MOV.S R23.z, R11;
  2531. TRUNC.U R11.z, R11.w;
  2532. SEQ.U R11.w, R11.y, {1, 0, 0, 0}.x;
  2533. SEQ.U R11.y, R11.z, {1, 0, 0, 0}.x;
  2534. AND.U R17.w, -R11.y, -R11;
  2535. ELSE;
  2536. MOV.U R17.w, {0, 0, 0, 0}.x;
  2537. ENDIF;
  2538. SEQ.U R11.y, R17.w, {1, 0, 0, 0}.x;
  2539. MOV.U.CC RC.x, -R11.y;
  2540. IF NE.x;
  2541. MOV.F R0.z, c[1].y;
  2542. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  2543. MOV.S R0.xy, {0, 0, 0, 0};
  2544. MOV.S R0.z, R0;
  2545. MOV.S R24.x, {0, 0, 0, 0};
  2546. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  2547. ENDIF;
  2548. SEQ.U R11.x, R11, {1, 0, 0, 0};
  2549. SEQ.U R11.z, -R11.x, {1, 0, 0, 0}.x;
  2550. MOV.U.CC RC.x, -R11.z;
  2551. MOV.U R11.y, -R11.x;
  2552. IF NE.x;
  2553. SEQ.S R11.x, R9.w, {0, 0, 0, 0};
  2554. SEQ.U R11.y, R11, {1, 0, 0, 0}.x;
  2555. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2556. AND.U R17.w, -R11.x, -R11.y;
  2557. ELSE;
  2558. MOV.U R17.w, {0, 0, 0, 0}.x;
  2559. ENDIF;
  2560. SEQ.U R11.x, R17.w, {1, 0, 0, 0};
  2561. MOV.U.CC RC.x, -R11;
  2562. IF NE.x;
  2563. MOV.F R3.x, c[2];
  2564. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  2565. TRUNC.U.CC HC.x, R3;
  2566. IF NE.x;
  2567. MOV.F R3.x, {1, 0, 0, 0};
  2568. ELSE;
  2569. MOV.F R3.x, {0, 0, 0, 0};
  2570. ENDIF;
  2571. MOV.F R3.y, R21.x;
  2572. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  2573. MOV.S R11.y, R3;
  2574. MOV.F R3.y, c[2].x;
  2575. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  2576. TRUNC.U.CC HC.x, R3.y;
  2577. MOV.S R11.x, R3;
  2578. IF NE.x;
  2579. MOV.F R3.x, {1, 0, 0, 0};
  2580. ELSE;
  2581. MOV.F R3.x, {0, 0, 0, 0};
  2582. ENDIF;
  2583. MOV.F R3.y, R21.x;
  2584. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  2585. MOV.F R3.z, c[3].y;
  2586. MUL.F32 R3.y, R3, R3.z;
  2587. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2588. TRUNC.U R3.w, R3;
  2589. TRUNC.U R3.z, R3;
  2590. AND.U.CC HC.x, R3.w, R3.z;
  2591. MOV.S R11.z, R3.x;
  2592. IF NE.x;
  2593. MOV.F R3.x, R3.y;
  2594. ELSE;
  2595. MOV.F R3.x, {0, 0, 0, 0};
  2596. ENDIF;
  2597. MOV.F R3.y, R11.z;
  2598. MOV.F R3.z, R11.x;
  2599. ADD.F32 R3.z, R3.y, -R3;
  2600. MOV.F R5.w, R18;
  2601. MOV.F R3.w, R23.z;
  2602. DIV.F32 R3.w, R5, R3.w;
  2603. MOV.S R11.x, R3.w;
  2604. MOV.S R3.w, R11.x;
  2605. MOV.F R11.z, R3.w;
  2606. MOV.F R3.w, R11.y;
  2607. ADD.F32 R3.y, -R3.z, {1, 0, 0, 0}.x;
  2608. MIN.F R9.w, R3, {0, 0, 0, 0}.x;
  2609. MOV.F R10.w, R20.x;
  2610. ADD.F32 R9.w, R10, R9;
  2611. MOV.S R13.x, R3.z;
  2612. SNE.F32 R3.z, -R3, {-1, 0, 0, 0}.x;
  2613. MOV.F R3.w, c[2].x;
  2614. RCP.F32 R3.w, R3.w;
  2615. MAD.F32 R3.x, R5.w, R3.w, R3;
  2616. MOV.S R11.y, R3.x;
  2617. SNE.F32 R3.x, R11.z, {0, 0, 0, 0};
  2618. MOV.S R20.x, R9.w;
  2619. TRUNC.U R9.w, R3.x;
  2620. TRUNC.U R3.z, R3;
  2621. AND.U.CC HC.x, R9.w, R3.z;
  2622. MOV.F R3.w, c[5].x;
  2623. MOV.F R3.x, c[4];
  2624. ADD.F32 R3.x, -R3, R3.w;
  2625. MOV.F R5.w, c[5].y;
  2626. MOV.F R3.w, c[4].y;
  2627. ADD.F32 R3.w, -R3, R5;
  2628. MUL.F32 R3.y, R11.z, R3;
  2629. MOV.S R18.z, R11.x;
  2630. MOV.S R13.z, R3.x;
  2631. MOV.S R12.z, R3.w;
  2632. IF NE.x;
  2633. MOV.F R3.x, R3.y;
  2634. ELSE;
  2635. MOV.F R3.x, {0, 0, 0, 0};
  2636. ENDIF;
  2637. MOV.F R3.y, R11;
  2638. FRC.F32 R3.z, R3.y;
  2639. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2640. MOV.F R3.w, R13.x;
  2641. MUL.F32 R3.y, R3.w, R3.z;
  2642. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2643. TRUNC.U R9.w, R3;
  2644. TRUNC.U R10.w, R5;
  2645. AND.U.CC HC.x, R9.w, R10.w;
  2646. MOV.F R3.w, c[5].z;
  2647. MOV.F R3.z, c[4];
  2648. ADD.F32 R3.z, -R3, R3.w;
  2649. MOV.S R13.y, R3.z;
  2650. MOV.F R3.w, c[5];
  2651. MOV.F R3.z, c[4].w;
  2652. ADD.F32 R3.z, -R3, R3.w;
  2653. MOV.F R5.w, c[6].x;
  2654. MOV.F R3.w, c[5].x;
  2655. ADD.F32 R3.w, -R3, R5;
  2656. MOV.S R16.z, R3;
  2657. MOV.S R15.x, R3.w;
  2658. MOV.S R12.x, R3;
  2659. IF NE.x;
  2660. MOV.F R3.x, R3.y;
  2661. ELSE;
  2662. MOV.F R3.x, {0, 0, 0, 0};
  2663. ENDIF;
  2664. MOV.F R3.z, R16;
  2665. MOV.F R3.y, R13.z;
  2666. DIV.F32 R5.w, R3.y, R3.z;
  2667. MOV.F R3.y, R12.z;
  2668. DIV.F32 R3.y, R3, R3.z;
  2669. MOV.F R3.w, R12.x;
  2670. MOV.S R3.x, R3;
  2671. ADD.F32 R3.w, R3, R3.x;
  2672. MOV.F R9.w, c[4];
  2673. ADD.F32 R10.w, R3, -R9;
  2674. MOV.S R12.x, R3.y;
  2675. MOV.F R3.y, R13;
  2676. DIV.F32 R3.y, R3, R3.z;
  2677. SNE.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  2678. MUL.F32 R3.x, R10.w, R3.y;
  2679. TRUNC.U R3.y, R3.z;
  2680. SNE.F32 R9.w, R3, R9;
  2681. MOV.S R13.x, R10.w;
  2682. TRUNC.U R10.w, R9;
  2683. AND.U.CC HC.x, R10.w, R3.y;
  2684. MOV.F R3.z, c[5].w;
  2685. MOV.S R13.z, R5.w;
  2686. ADD.F32 R5.w, R3, -R3.z;
  2687. MOV.S R15.y, R3.w;
  2688. MOV.S R13.y, R5.w;
  2689. MOV.F R9.w, c[6];
  2690. ADD.F32 R3.z, -R3, R9.w;
  2691. MOV.F R5.w, c[6].z;
  2692. MOV.F R3.w, c[5].z;
  2693. ADD.F32 R3.w, -R3, R5;
  2694. MOV.S R12.z, R3.w;
  2695. MOV.F R5.w, c[6].y;
  2696. MOV.F R3.w, c[5].y;
  2697. ADD.F32 R3.w, -R3, R5;
  2698. MOV.S R12.w, R3;
  2699. MOV.S R16.x, R3.z;
  2700. IF NE.x;
  2701. ELSE;
  2702. MOV.F R3.x, {0, 0, 0, 0};
  2703. ENDIF;
  2704. MOV.F R3.w, R12.x;
  2705. MOV.F R3.z, R13.x;
  2706. MUL.F32 R3.y, R3.z, R3.w;
  2707. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2708. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2709. TRUNC.U R3.z, R3;
  2710. TRUNC.U R3.w, R3;
  2711. AND.U.CC HC.x, R3.z, R3.w;
  2712. MOV.S R16.y, R3.x;
  2713. IF NE.x;
  2714. MOV.F R3.x, R3.y;
  2715. ELSE;
  2716. MOV.F R3.x, {0, 0, 0, 0};
  2717. ENDIF;
  2718. MOV.F R3.w, R13.z;
  2719. MOV.F R3.z, R13.x;
  2720. MUL.F32 R3.y, R3.z, R3.w;
  2721. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2722. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2723. TRUNC.U R3.z, R3;
  2724. TRUNC.U R3.w, R3;
  2725. AND.U.CC HC.x, R3.z, R3.w;
  2726. MOV.S R16.z, R3.x;
  2727. IF NE.x;
  2728. MOV.F R3.x, R3.y;
  2729. ELSE;
  2730. MOV.F R3.x, {0, 0, 0, 0};
  2731. ENDIF;
  2732. MOV.F R3.z, c[6].w;
  2733. MOV.F R3.y, R15;
  2734. ADD.F32 R3.y, R3, -R3.z;
  2735. MOV.S R13.z, R3.y;
  2736. MOV.F R3.y, c[4].x;
  2737. ADD.F32 R3.x, R3.y, R3;
  2738. MOV.F R3.z, R13.x;
  2739. SGE.F32 R3.y, R3.z, {0, 0, 0, 0}.x;
  2740. TRUNC.U.CC HC.x, R3.y;
  2741. MOV.S R14.x, R3;
  2742. IF NE.x;
  2743. MOV.S R3.z, {1065353216, 0, 0, 0}.x;
  2744. ELSE;
  2745. MOV.S R3.z, {0, 0, 0, 0}.x;
  2746. ENDIF;
  2747. MOV.F R3.w, R16.x;
  2748. MOV.F R3.x, R12.w;
  2749. DIV.F32 R3.x, R3, R3.w;
  2750. MOV.F R3.y, R16.z;
  2751. MOV.F R9.w, R16.y;
  2752. MOV.F R10.w, R13.y;
  2753. MOV.F R5.w, R12.z;
  2754. MOV.S R16.z, R3.x;
  2755. DIV.F32 R3.x, R5.w, R3.w;
  2756. MOV.F R5.w, R15.x;
  2757. DIV.F32 R3.w, R5, R3.w;
  2758. MOV.S R16.y, R3.x;
  2759. MUL.F32 R3.x, R10.w, R3.w;
  2760. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2761. MOV.F R5.w, c[4].z;
  2762. ADD.F32 R5.w, R5, R9;
  2763. MOV.F R9.w, c[4].y;
  2764. ADD.F32 R3.y, R9.w, R3;
  2765. MOV.S R14.z, R5.w;
  2766. MOV.S R13.w, R3.y;
  2767. SNE.F32 R3.y, R10.w, {0, 0, 0, 0}.x;
  2768. TRUNC.U R10.w, R3.y;
  2769. TRUNC.U R3.w, R3;
  2770. AND.U.CC HC.x, R10.w, R3.w;
  2771. MOV.F R5.w, c[7].y;
  2772. MOV.F R3.y, c[6];
  2773. ADD.F32 R3.y, -R3, R5.w;
  2774. MOV.S R13.x, R3.y;
  2775. MOV.F R9.w, c[7].x;
  2776. MOV.F R5.w, c[6].x;
  2777. ADD.F32 R5.w, -R5, R9;
  2778. MOV.S R15.x, R5.w;
  2779. MOV.S R3.y, R3.z;
  2780. IF NE.x;
  2781. ELSE;
  2782. MOV.F R3.x, {0, 0, 0, 0};
  2783. ENDIF;
  2784. MOV.F R9.w, R16.y;
  2785. MOV.F R3.w, R13.y;
  2786. SNE.F32 R5.w, R3, {0, 0, 0, 0}.x;
  2787. SNE.F32 R11.x, R9.w, {0, 0, 0, 0};
  2788. MUL.F32 R3.w, R3, R9;
  2789. MOV.F R10.w, c[7].z;
  2790. MOV.F R9.w, c[6].z;
  2791. ADD.F32 R9.w, -R9, R10;
  2792. TRUNC.U R10.w, R11.x;
  2793. TRUNC.U R5.w, R5;
  2794. AND.U.CC HC.x, R5.w, R10.w;
  2795. MOV.S R12.y, R9.w;
  2796. MOV.S R11.x, R3;
  2797. IF NE.x;
  2798. MOV.F R3.x, R3.w;
  2799. ELSE;
  2800. MOV.F R3.x, {0, 0, 0, 0};
  2801. ENDIF;
  2802. MOV.F R9.w, R16.z;
  2803. MOV.F R5.w, R13.y;
  2804. MUL.F32 R3.w, R5, R9;
  2805. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2806. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2807. TRUNC.U R5.w, R5;
  2808. TRUNC.U R9.w, R9;
  2809. AND.U.CC HC.x, R5.w, R9.w;
  2810. MOV.S R11.z, R3.x;
  2811. IF NE.x;
  2812. MOV.F R3.x, R3.w;
  2813. ELSE;
  2814. MOV.F R3.x, {0, 0, 0, 0};
  2815. ENDIF;
  2816. MOV.F R9.w, R13.y;
  2817. SGE.F32 R10.w, R9, {0, 0, 0, 0}.x;
  2818. MOV.F R9.w, c[5].y;
  2819. ADD.F32 R3.x, R9.w, R3;
  2820. TRUNC.U.CC HC.x, R10.w;
  2821. MOV.F R5.w, R11.x;
  2822. MOV.F R3.w, c[5].x;
  2823. ADD.F32 R3.w, R3, R5;
  2824. MOV.S R13.y, R3.w;
  2825. MOV.F R5.w, c[7];
  2826. MOV.F R3.w, c[6];
  2827. ADD.F32 R3.w, -R3, R5;
  2828. MOV.S R14.y, R3.w;
  2829. MOV.S R12.x, R3;
  2830. IF NE.x;
  2831. MOV.S R5.w, {1065353216, 0, 0, 0}.x;
  2832. ELSE;
  2833. MOV.S R5.w, {0, 0, 0, 0}.x;
  2834. ENDIF;
  2835. MOV.F R3.w, R11.z;
  2836. MOV.F R3.x, c[5].z;
  2837. ADD.F32 R3.x, R3, R3.w;
  2838. MOV.S R12.w, R3.x;
  2839. MOV.F R3.x, R14.y;
  2840. MOV.F R3.w, R15.x;
  2841. DIV.F32 R3.w, R3, R3.x;
  2842. MOV.S R11.x, R3.w;
  2843. MOV.F R3.w, R13.z;
  2844. RCP.F32 R3.x, R3.x;
  2845. SGE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2846. TRUNC.U.CC HC.x, R3.w;
  2847. MOV.S R11.y, R3.x;
  2848. IF NE.x;
  2849. MOV.S R3.x, {1065353216, 0, 0, 0};
  2850. ELSE;
  2851. MOV.S R3.x, {0, 0, 0, 0};
  2852. ENDIF;
  2853. MOV.F R10.w, R11.y;
  2854. MOV.F R3.w, R12.y;
  2855. MUL.F32 R11.y, R3.w, R10.w;
  2856. MOV.F R9.w, R13.x;
  2857. MUL.F32 R3.w, R9, R10;
  2858. MOV.F R10.w, R13.z;
  2859. MOV.S R11.z, R11.y;
  2860. MUL.F32 R9.w, R10, R3;
  2861. MOV.F R11.w, c[7];
  2862. MOV.F R11.y, R15;
  2863. ADD.F32 R11.y, R11, -R11.w;
  2864. MOV.S R14.y, R11;
  2865. SNE.F32 R11.y, R3.w, {0, 0, 0, 0}.x;
  2866. SNE.F32 R3.w, R10, {0, 0, 0, 0}.x;
  2867. TRUNC.U R10.w, R11.y;
  2868. TRUNC.U R3.w, R3;
  2869. AND.U.CC HC.x, R3.w, R10.w;
  2870. IF NE.x;
  2871. ELSE;
  2872. MOV.F R9.w, {0, 0, 0, 0}.x;
  2873. ENDIF;
  2874. MOV.F R10.w, R13.z;
  2875. MUL.F32 R3.w, R10, R11.x;
  2876. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2877. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  2878. TRUNC.U R10.w, R10;
  2879. TRUNC.U R11.x, R11;
  2880. AND.U.CC HC.x, R10.w, R11;
  2881. MOV.S R16.x, R9.w;
  2882. IF NE.x;
  2883. ELSE;
  2884. MOV.F R3.w, {0, 0, 0, 0}.x;
  2885. ENDIF;
  2886. MOV.F R9.w, R14.y;
  2887. SGE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2888. TRUNC.U.CC HC.x, R9.w;
  2889. MOV.S R16.y, R3.w;
  2890. IF NE.x;
  2891. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  2892. ELSE;
  2893. MOV.S R3.w, {0, 0, 0, 0}.x;
  2894. ENDIF;
  2895. MOV.F R11.x, R11.z;
  2896. MOV.F R10.w, R13.z;
  2897. MUL.F32 R9.w, R10, R11.x;
  2898. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  2899. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2900. TRUNC.U R11.x, R11;
  2901. TRUNC.U R10.w, R10;
  2902. AND.U.CC HC.x, R10.w, R11;
  2903. IF NE.x;
  2904. ELSE;
  2905. MOV.F R9.w, {0, 0, 0, 0}.x;
  2906. ENDIF;
  2907. MOV.F R11.x, R16;
  2908. MOV.F R10.w, c[6].y;
  2909. ADD.F32 R10.w, R10, R11.x;
  2910. MOV.S R15.y, R10.w;
  2911. MOV.F R10.w, c[6].x;
  2912. MOV.F R11.x, R16.y;
  2913. ADD.F32 R11.x, R10.w, R11;
  2914. MOV.F R10.w, c[6].z;
  2915. ADD.F32 R9.w, R10, R9;
  2916. MOV.S R13.x, R9.w;
  2917. MOV.F R10.w, R3.x;
  2918. MOV.F R9.w, R3;
  2919. MOV.S R12.z, R11.x;
  2920. ADD.F32 R11.x, -R9.w, {1, 0, 0, 0};
  2921. MOV.S R11.w, R11.x;
  2922. SNE.F32 R11.x, -R10.w, {-1, 0, 0, 0};
  2923. ADD.F32 R9.w, -R10, {1, 0, 0, 0}.x;
  2924. MOV.F R11.y, R5.w;
  2925. SNE.F32 R10.w, R11.y, {0, 0, 0, 0}.x;
  2926. TRUNC.U R11.x, R11;
  2927. TRUNC.U R10.w, R10;
  2928. AND.U.CC HC.x, R10.w, R11;
  2929. MUL.F32 R9.w, R11.y, R9;
  2930. IF NE.x;
  2931. MOV.F R10.w, R9;
  2932. ELSE;
  2933. MOV.F R10.w, {0, 0, 0, 0}.x;
  2934. ENDIF;
  2935. MOV.F R11.x, c[7];
  2936. MOV.F R11.y, R3.w;
  2937. MUL.F32 R9.w, R11.x, R11.y;
  2938. MOV.S R14.y, R10.w;
  2939. SNE.F32 R10.w, R11.x, {0, 0, 0, 0}.x;
  2940. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  2941. TRUNC.U R11.x, R11.y;
  2942. TRUNC.U R10.w, R10;
  2943. AND.U.CC HC.x, R10.w, R11;
  2944. IF NE.x;
  2945. MOV.F R11.x, R9.w;
  2946. ELSE;
  2947. MOV.F R11.x, {0, 0, 0, 0};
  2948. ENDIF;
  2949. MOV.F R11.y, R3.w;
  2950. MOV.F R10.w, c[7].y;
  2951. MUL.F32 R9.w, R10, R11.y;
  2952. MOV.S R18.x, R11;
  2953. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  2954. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2955. TRUNC.U R11.x, R11;
  2956. TRUNC.U R10.w, R10;
  2957. AND.U.CC HC.x, R10.w, R11;
  2958. IF NE.x;
  2959. ELSE;
  2960. MOV.F R9.w, {0, 0, 0, 0}.x;
  2961. ENDIF;
  2962. MOV.F R10.w, R11;
  2963. MOV.F R11.x, R3;
  2964. MUL.F32 R3.x, R11, R10.w;
  2965. SNE.F32 R11.y, R10.w, {0, 0, 0, 0}.x;
  2966. TRUNC.U R10.w, R11.y;
  2967. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  2968. MOV.S R18.y, R9.w;
  2969. TRUNC.U R9.w, R11.x;
  2970. AND.U.CC HC.x, R9.w, R10.w;
  2971. IF NE.x;
  2972. MOV.F R9.w, R3.x;
  2973. ELSE;
  2974. MOV.F R9.w, {0, 0, 0, 0}.x;
  2975. ENDIF;
  2976. MOV.F R10.w, R3;
  2977. MOV.F R3.w, c[7].z;
  2978. MUL.F32 R3.x, R3.w, R10.w;
  2979. MOV.S R16.z, R9.w;
  2980. SNE.F32 R9.w, R10, {0, 0, 0, 0}.x;
  2981. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2982. TRUNC.U R9.w, R9;
  2983. TRUNC.U R3.w, R3;
  2984. AND.U.CC HC.x, R3.w, R9.w;
  2985. IF NE.x;
  2986. MOV.F R3.w, R3.x;
  2987. ELSE;
  2988. MOV.F R3.w, {0, 0, 0, 0}.x;
  2989. ENDIF;
  2990. MOV.F R10.w, R14.y;
  2991. MOV.F R9.w, R13.y;
  2992. MUL.F32 R3.x, R9.w, R10.w;
  2993. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2994. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2995. TRUNC.U R9.w, R9;
  2996. TRUNC.U R10.w, R10;
  2997. AND.U.CC HC.x, R9.w, R10.w;
  2998. MOV.S R3.w, R3;
  2999. IF NE.x;
  3000. ELSE;
  3001. MOV.F R3.x, {0, 0, 0, 0};
  3002. ENDIF;
  3003. MOV.F R11.x, R16.z;
  3004. MOV.F R10.w, R15.y;
  3005. MUL.F32 R9.w, R10, R11.x;
  3006. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  3007. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3008. TRUNC.U R10.w, R10;
  3009. TRUNC.U R11.x, R11;
  3010. AND.U.CC HC.x, R10.w, R11;
  3011. MOV.S R15.x, R3;
  3012. IF NE.x;
  3013. MOV.F R3.x, R9.w;
  3014. ELSE;
  3015. MOV.F R3.x, {0, 0, 0, 0};
  3016. ENDIF;
  3017. MOV.F R11.x, R16.z;
  3018. MOV.F R10.w, R12.z;
  3019. MUL.F32 R9.w, R10, R11.x;
  3020. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  3021. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3022. TRUNC.U R10.w, R10;
  3023. TRUNC.U R11.x, R11;
  3024. AND.U.CC HC.x, R10.w, R11;
  3025. MOV.S R3.x, R3;
  3026. IF NE.x;
  3027. MOV.F R10.w, R9;
  3028. ELSE;
  3029. MOV.F R10.w, {0, 0, 0, 0}.x;
  3030. ENDIF;
  3031. MOV.F R11.y, R14;
  3032. MOV.F R11.x, R12;
  3033. MUL.F32 R9.w, R11.x, R11.y;
  3034. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3035. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  3036. TRUNC.U R11.x, R11;
  3037. TRUNC.U R11.y, R11;
  3038. AND.U.CC HC.x, R11, R11.y;
  3039. MOV.S R15.y, R10.w;
  3040. IF NE.x;
  3041. ELSE;
  3042. MOV.F R9.w, {0, 0, 0, 0}.x;
  3043. ENDIF;
  3044. MOV.F R11.y, R16.z;
  3045. MOV.F R11.x, R13;
  3046. MUL.F32 R10.w, R11.x, R11.y;
  3047. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3048. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  3049. TRUNC.U R11.x, R11;
  3050. TRUNC.U R11.y, R11;
  3051. AND.U.CC HC.x, R11, R11.y;
  3052. MOV.S R13.z, R9.w;
  3053. IF NE.x;
  3054. MOV.F R9.w, R10;
  3055. ELSE;
  3056. MOV.F R9.w, {0, 0, 0, 0}.x;
  3057. ENDIF;
  3058. MOV.F R11.y, R14;
  3059. MOV.F R11.x, R12.w;
  3060. MUL.F32 R10.w, R11.x, R11.y;
  3061. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  3062. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  3063. TRUNC.U R11.x, R11;
  3064. TRUNC.U R11.y, R11;
  3065. AND.U.CC HC.x, R11, R11.y;
  3066. MOV.S R14.w, R9;
  3067. IF NE.x;
  3068. MOV.F R9.w, R10;
  3069. ELSE;
  3070. MOV.F R9.w, {0, 0, 0, 0}.x;
  3071. ENDIF;
  3072. MOV.F R11, R6;
  3073. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  3074. MOV.F R6.xyz, R5;
  3075. MOV.F R6.w, {1, 0, 0, 0}.x;
  3076. DP4.F32 R6.x, R11, R6;
  3077. MOV.S R5.w, R5;
  3078. MOV.S R6.w, R6.x;
  3079. MOV.F R6.y, R21;
  3080. MOV.F R6.x, R21.z;
  3081. ADD.F32 R6.x, R6.y, R6;
  3082. MOV.S R15.w, R6.x;
  3083. MOV.F R6.x, R21;
  3084. ADD.F32 R6.x, R6.y, R6;
  3085. MOV.S R15.z, R6.x;
  3086. MOV.F R6.x, R3.z;
  3087. MOV.F R6.z, R5.w;
  3088. ADD.F32 R6.y, -R6.x, {1, 0, 0, 0}.x;
  3089. MUL.F32 R5.w, R6.x, R6.z;
  3090. MOV.S R12.x, R6.y;
  3091. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  3092. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3093. TRUNC.U R6.y, R6;
  3094. TRUNC.U R6.x, R6;
  3095. AND.U.CC HC.x, R6, R6.y;
  3096. MOV.S R3.z, R9.w;
  3097. IF NE.x;
  3098. ELSE;
  3099. MOV.F R5.w, {0, 0, 0, 0}.x;
  3100. ENDIF;
  3101. SNE.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  3102. MOV.F R6.y, R14.x;
  3103. MOV.F R16, R7;
  3104. MOV.F R11.w, {1, 0, 0, 0}.x;
  3105. MOV.F R11.xyz, R5;
  3106. DP4.F32 R6.x, R16, R11;
  3107. MOV.S R10.w, R6.x;
  3108. MUL.F32 R6.x, R5.w, R6.y;
  3109. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  3110. TRUNC.U R6.y, R6;
  3111. TRUNC.U R6.z, R6;
  3112. AND.U.CC HC.x, R6.y, R6.z;
  3113. MOV.S R13.x, R5.w;
  3114. IF NE.x;
  3115. ELSE;
  3116. MOV.F R6.x, {0, 0, 0, 0};
  3117. ENDIF;
  3118. MOV.F R11, R8;
  3119. MOV.F R5.w, {1, 0, 0, 0}.x;
  3120. DP4.F32 R5.x, R11, R5;
  3121. MOV.F R5.z, R13.x;
  3122. MOV.F R5.y, R13.w;
  3123. MOV.S R9.w, R5.x;
  3124. MUL.F32 R5.x, R5.y, R5.z;
  3125. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3126. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3127. TRUNC.U R5.y, R5;
  3128. TRUNC.U R5.z, R5;
  3129. AND.U.CC HC.x, R5.y, R5.z;
  3130. MOV.S R12.w, R6.x;
  3131. IF NE.x;
  3132. ELSE;
  3133. MOV.F R5.x, {0, 0, 0, 0};
  3134. ENDIF;
  3135. MOV.F R5.y, R12.x;
  3136. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3137. MOV.F R5.z, c[4];
  3138. MUL.F32 R5.y, R5.z, R5;
  3139. TRUNC.U R5.w, R5;
  3140. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3141. MOV.S R12.z, R5.x;
  3142. TRUNC.U R5.x, R5.z;
  3143. AND.U.CC HC.x, R5, R5.w;
  3144. IF NE.x;
  3145. MOV.F R5.x, R5.y;
  3146. ELSE;
  3147. MOV.F R5.x, {0, 0, 0, 0};
  3148. ENDIF;
  3149. MOV.F R5.w, R13.x;
  3150. MOV.F R5.z, R14;
  3151. MUL.F32 R5.y, R5.z, R5.w;
  3152. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3153. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3154. TRUNC.U R5.z, R5;
  3155. TRUNC.U R5.w, R5;
  3156. AND.U.CC HC.x, R5.z, R5.w;
  3157. MOV.S R16.x, R5;
  3158. IF NE.x;
  3159. MOV.F R5.x, R5.y;
  3160. ELSE;
  3161. MOV.F R5.x, {0, 0, 0, 0};
  3162. ENDIF;
  3163. MOV.F R5.y, R12.x;
  3164. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3165. MOV.F R5.z, c[4].y;
  3166. MUL.F32 R5.y, R5.z, R5;
  3167. TRUNC.U R5.w, R5;
  3168. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3169. MOV.S R16.y, R5.x;
  3170. TRUNC.U R5.x, R5.z;
  3171. AND.U.CC HC.x, R5, R5.w;
  3172. IF NE.x;
  3173. MOV.F R5.x, R5.y;
  3174. ELSE;
  3175. MOV.F R5.x, {0, 0, 0, 0};
  3176. ENDIF;
  3177. MOV.F R5.y, R12.x;
  3178. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3179. MOV.F R5.z, c[4].x;
  3180. MUL.F32 R5.y, R5.z, R5;
  3181. TRUNC.U R5.w, R5;
  3182. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3183. MOV.S R16.z, R5.x;
  3184. TRUNC.U R5.x, R5.z;
  3185. AND.U.CC HC.x, R5, R5.w;
  3186. IF NE.x;
  3187. MOV.F R5.x, R5.y;
  3188. ELSE;
  3189. MOV.F R5.x, {0, 0, 0, 0};
  3190. ENDIF;
  3191. MOV.F R5.z, R16;
  3192. MOV.F R5.y, R12.z;
  3193. ADD.F32 R5.y, R5, R5.z;
  3194. MOV.F R5.z, R13;
  3195. ADD.F32 R5.y, R5.z, R5;
  3196. ADD.F32 R5.y, R3.x, R5;
  3197. MOV.F R3.x, R12.w;
  3198. ADD.F32 R3.x, R3, R5;
  3199. MOV.S R8.y, R5;
  3200. MOV.F R5.x, R15;
  3201. ADD.F32 R5.x, R5, R3;
  3202. MOV.F R3.x, R3.z;
  3203. MOV.F R3.z, R15.y;
  3204. ADD.F32 R3.z, R3, R5.x;
  3205. MOV.F R5.y, R16.x;
  3206. MOV.F R5.x, R16.y;
  3207. ADD.F32 R5.x, R5, R5.y;
  3208. ADD.F32 R3.x, R3, R5;
  3209. MOV.F R5.y, R15.z;
  3210. MAD.F32 R5.x, R5.y, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  3211. MOV.F R5.y, R14.w;
  3212. ADD.F32 R3.x, R5.y, R3;
  3213. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  3214. MOV.S R8.w, R5.x;
  3215. MOV.F R5.x, R15.w;
  3216. MAD.F32 R5.x, R5, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  3217. MOV.S R5.z, R5.x;
  3218. MOV.F R5.y, R21.z;
  3219. MOV.F R5.x, R21;
  3220. ADD.F32 R5.x, R5, R5.y;
  3221. MOV.S R5.y, R5.z;
  3222. MAD.F32 R5.z, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  3223. MOV.F R5.x, R5.y;
  3224. MUL.F32 R5.y, R5.z, {2, 0, 0, 0}.x;
  3225. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  3226. MOV.S R3.z, R3;
  3227. MOV.S R3.x, R3;
  3228. MOV.S R5.y, R5;
  3229. MOV.S R5.w, R5.x;
  3230. ENDIF;
  3231. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  3232. MOV.U.CC RC.x, -R5;
  3233. IF NE.x;
  3234. MOV.F R5.x, R18.y;
  3235. MOV.F R5.z, R8.y;
  3236. ADD.F32 R5.z, R5.x, R5;
  3237. MOV.F R5.x, R3;
  3238. MOV.F R3.x, R3.w;
  3239. ADD.F32 R3.x, R3, R5;
  3240. MOV.S R11.z, R5;
  3241. MOV.S R11.y, R3.x;
  3242. MOV.F R3.x, R18;
  3243. SNE.F32 R5.x, R3, -R3.z;
  3244. ADD.F32 R3.x, R3, R3.z;
  3245. MOV.F R5.z, R20.x;
  3246. TRUNC.U R6.x, R5;
  3247. MOV.F R3.z, R21.x;
  3248. ADD.F32 R3.z, R3, {-0.5, 0, 0, 0}.x;
  3249. MOV.F R5.x, R21.y;
  3250. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  3251. MOV.S R13.x, R3.z;
  3252. MOV.S R14.w, R5.x;
  3253. SNE.F32 R3.z, R5, {0, 0, 0, 0}.x;
  3254. TRUNC.U R3.z, R3;
  3255. AND.U.CC HC.x, R3.z, R6;
  3256. MUL.F32 R3.x, R5.z, R3;
  3257. MOV.S R5.x, R20.y;
  3258. IF NE.x;
  3259. ELSE;
  3260. MOV.F R3.x, {0, 0, 0, 0};
  3261. ENDIF;
  3262. MOV.F R5.z, R11.y;
  3263. MOV.F R6.x, R20.z;
  3264. MUL.F32 R3.z, R6.x, R5;
  3265. SNE.F32 R6.y, R5.z, {0, 0, 0, 0}.x;
  3266. MOV.F R5.z, R21;
  3267. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  3268. TRUNC.U R6.y, R6;
  3269. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3270. MOV.S R20.y, R5.z;
  3271. TRUNC.U R5.z, R6.x;
  3272. AND.U.CC HC.x, R5.z, R6.y;
  3273. MOV.S R16.x, R3;
  3274. IF NE.x;
  3275. MOV.F R3.x, R3.z;
  3276. ELSE;
  3277. MOV.F R3.x, {0, 0, 0, 0};
  3278. ENDIF;
  3279. MOV.F R3.z, R11;
  3280. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  3281. MUL.F32 R3.z, R5.x, R3;
  3282. TRUNC.U R5.z, R5;
  3283. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3284. MOV.S R16.z, R3.x;
  3285. TRUNC.U R3.x, R5;
  3286. AND.U.CC HC.x, R3, R5.z;
  3287. IF NE.x;
  3288. MOV.F R3.x, R3.z;
  3289. ELSE;
  3290. MOV.F R3.x, {0, 0, 0, 0};
  3291. ENDIF;
  3292. MOV.F R5.z, c[8].x;
  3293. MOV.F R5.x, R8.w;
  3294. MUL.F32 R3.z, R5.x, R5;
  3295. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3296. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3297. TRUNC.U R5.x, R5;
  3298. TRUNC.U R5.z, R5;
  3299. AND.U.CC HC.x, R5, R5.z;
  3300. MOV.S R16.w, R3.x;
  3301. IF NE.x;
  3302. MOV.F R3.x, R3.z;
  3303. ELSE;
  3304. MOV.F R3.x, {0, 0, 0, 0};
  3305. ENDIF;
  3306. MOV.F R5.z, c[9];
  3307. MOV.F R5.x, R16.w;
  3308. MUL.F32 R3.z, R5.x, R5;
  3309. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3310. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3311. TRUNC.U R5.x, R5;
  3312. TRUNC.U R5.z, R5;
  3313. AND.U.CC HC.x, R5, R5.z;
  3314. MOV.S R15.y, R3.x;
  3315. IF NE.x;
  3316. MOV.F R3.x, R3.z;
  3317. ELSE;
  3318. MOV.F R3.x, {0, 0, 0, 0};
  3319. ENDIF;
  3320. MOV.F R5.z, c[9].y;
  3321. MOV.F R5.x, R16;
  3322. MUL.F32 R3.z, R5.x, R5;
  3323. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3324. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3325. TRUNC.U R5.x, R5;
  3326. TRUNC.U R5.z, R5;
  3327. AND.U.CC HC.x, R5, R5.z;
  3328. MOV.S R18.x, R3;
  3329. IF NE.x;
  3330. MOV.F R3.x, R3.z;
  3331. ELSE;
  3332. MOV.F R3.x, {0, 0, 0, 0};
  3333. ENDIF;
  3334. MOV.F R5.z, c[9].w;
  3335. MOV.F R5.x, R16.z;
  3336. MUL.F32 R3.z, R5.x, R5;
  3337. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3338. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3339. TRUNC.U R5.x, R5;
  3340. TRUNC.U R5.z, R5;
  3341. AND.U.CC HC.x, R5, R5.z;
  3342. MOV.S R18.y, R3.x;
  3343. IF NE.x;
  3344. MOV.F R3.x, R3.z;
  3345. ELSE;
  3346. MOV.F R3.x, {0, 0, 0, 0};
  3347. ENDIF;
  3348. MOV.F R3.z, R21.y;
  3349. MUL.F32 R3.z, R3, {2, 0, 0, 0}.x;
  3350. MOV.F R5.x, R21.z;
  3351. MOV.S R11.w, R3.z;
  3352. MUL.F32 R3.z, R5.x, {2, 0, 0, 0}.x;
  3353. MOV.F R5.x, R19.z;
  3354. MOV.S R14.y, R3.z;
  3355. MUL.F32 R3.z, R5.x, R3.x;
  3356. SNE.F32 R5.z, R3.x, {0, 0, 0, 0}.x;
  3357. SNE.F32 R3.x, R5, {0, 0, 0, 0};
  3358. TRUNC.U R5.x, R5.z;
  3359. TRUNC.U R3.x, R3;
  3360. AND.U.CC HC.x, R3, R5;
  3361. IF NE.x;
  3362. MOV.F R3.x, R3.z;
  3363. ELSE;
  3364. MOV.F R3.x, {0, 0, 0, 0};
  3365. ENDIF;
  3366. MOV.F R5.x, c[10];
  3367. MOV.F R3.z, R15.y;
  3368. ADD.F32 R3.z, R3, R5.x;
  3369. MOV.F R5.x, R11.w;
  3370. MOV.S R8.y, R3.z;
  3371. FLR.F R3.z, R5.x;
  3372. MOV.F R5.z, c[8].y;
  3373. MOV.F R5.x, R5.w;
  3374. MOV.S R16.z, R3;
  3375. MUL.F32 R3.z, R5.x, R5;
  3376. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3377. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3378. TRUNC.U R5.x, R5;
  3379. TRUNC.U R5.z, R5;
  3380. AND.U.CC HC.x, R5, R5.z;
  3381. MOV.S R8.x, R3;
  3382. IF NE.x;
  3383. MOV.F R3.x, R3.z;
  3384. ELSE;
  3385. MOV.F R3.x, {0, 0, 0, 0};
  3386. ENDIF;
  3387. MOV.F R5.x, R16.z;
  3388. MOV.F R3.z, R14.y;
  3389. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3390. FLR.F R3.z, R3;
  3391. TRUNC.U.CC HC.x, R5;
  3392. MOV.S R16.w, R3.x;
  3393. MOV.S R13.z, R3;
  3394. IF NE.x;
  3395. MOV.F R3.x, {1, 0, 0, 0};
  3396. ELSE;
  3397. MOV.F R3.x, {0, 0, 0, 0};
  3398. ENDIF;
  3399. MOV.F R3.z, R5.y;
  3400. SNE.F32 R5.y, R3.z, {0, 0, 0, 0}.x;
  3401. MOV.F R5.x, c[8].z;
  3402. MUL.F32 R3.z, R3, R5.x;
  3403. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3404. TRUNC.U R5.y, R5;
  3405. TRUNC.U R5.x, R5;
  3406. AND.U.CC HC.x, R5.y, R5;
  3407. MOV.S R11.x, R3;
  3408. IF NE.x;
  3409. MOV.F R3.x, R3.z;
  3410. ELSE;
  3411. MOV.F R3.x, {0, 0, 0, 0};
  3412. ENDIF;
  3413. MOV.F R5.x, R16.w;
  3414. MOV.F R3.z, c[10].y;
  3415. ADD.F32 R3.z, R3, R5.x;
  3416. MOV.F R5.x, R16.z;
  3417. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  3418. TRUNC.U.CC HC.x, R5;
  3419. MOV.S R3.z, R3;
  3420. MOV.S R11.y, R3.x;
  3421. IF NE.x;
  3422. MOV.F R3.x, {1, 0, 0, 0};
  3423. ELSE;
  3424. MOV.F R3.x, {0, 0, 0, 0};
  3425. ENDIF;
  3426. MOV.F R5.x, R13.z;
  3427. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3428. TRUNC.U.CC HC.x, R5;
  3429. MOV.S R11.w, R3.x;
  3430. IF NE.x;
  3431. MOV.F R3.x, {1, 0, 0, 0};
  3432. ELSE;
  3433. MOV.F R3.x, {0, 0, 0, 0};
  3434. ENDIF;
  3435. MOV.F R5.y, R11.w;
  3436. MOV.F R5.x, R11;
  3437. ADD.F32 R5.x, R5, -R5.y;
  3438. MOV.S R20.x, R5;
  3439. MOV.F R5.y, R11;
  3440. MOV.F R5.x, c[10].z;
  3441. ADD.F32 R5.x, R5, R5.y;
  3442. MOV.F R5.z, R13;
  3443. MOV.S R5.y, R5.x;
  3444. SGT.F32 R5.x, {0, 0, 0, 0}, R5.z;
  3445. TRUNC.U.CC HC.x, R5;
  3446. MOV.S R15.y, R3.x;
  3447. IF NE.x;
  3448. MOV.F R3.x, {1, 0, 0, 0};
  3449. ELSE;
  3450. MOV.F R3.x, {0, 0, 0, 0};
  3451. ENDIF;
  3452. MOV.F R5.z, R21.x;
  3453. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  3454. MOV.F R6.x, c[11];
  3455. MOV.F R5.w, R13.x;
  3456. MUL.F32 R5.x, R5.w, R6;
  3457. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3458. MOV.S R16.w, R5.z;
  3459. SNE.F32 R5.z, R6.x, {0, 0, 0, 0}.x;
  3460. TRUNC.U R5.w, R5;
  3461. TRUNC.U R5.z, R5;
  3462. AND.U.CC HC.x, R5.w, R5.z;
  3463. MOV.S R16.z, R3.x;
  3464. IF NE.x;
  3465. MOV.F R3.x, R5;
  3466. ELSE;
  3467. MOV.F R3.x, {0, 0, 0, 0};
  3468. ENDIF;
  3469. MOV.F R5.w, c[11].y;
  3470. MOV.F R5.z, R14.w;
  3471. MUL.F32 R5.x, R5.z, R5.w;
  3472. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3473. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3474. TRUNC.U R5.z, R5;
  3475. TRUNC.U R5.w, R5;
  3476. AND.U.CC HC.x, R5.z, R5.w;
  3477. MOV.S R8.z, R3.x;
  3478. IF NE.x;
  3479. MOV.F R3.x, R5;
  3480. ELSE;
  3481. MOV.F R3.x, {0, 0, 0, 0};
  3482. ENDIF;
  3483. MOV.F R5.x, R16.w;
  3484. FLR.F R5.x, R5;
  3485. MOV.S R5.x, R5;
  3486. MOV.F R5.w, R16.z;
  3487. MOV.F R5.z, R15.y;
  3488. ADD.F32 R5.z, R5, -R5.w;
  3489. MOV.S R5.w, R5.z;
  3490. MOV.S R5.z, R5.x;
  3491. MOV.S R11.y, R5.x;
  3492. MOV.F R5.x, R5.z;
  3493. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3494. TRUNC.U.CC HC.x, R5;
  3495. MOV.S R3.x, R3;
  3496. IF NE.x;
  3497. MOV.F R5.x, {1, 0, 0, 0};
  3498. ELSE;
  3499. MOV.F R5.x, {0, 0, 0, 0};
  3500. ENDIF;
  3501. MOV.F R5.z, R11.y;
  3502. SGT.F32 R5.z, {0, 0, 0, 0}.x, R5;
  3503. TRUNC.U.CC HC.x, R5.z;
  3504. MOV.S R16.x, R5;
  3505. IF NE.x;
  3506. MOV.F R5.x, {1, 0, 0, 0};
  3507. ELSE;
  3508. MOV.F R5.x, {0, 0, 0, 0};
  3509. ENDIF;
  3510. MOV.F R5.z, R16.x;
  3511. ADD.F32 R5.x, R5.z, -R5;
  3512. MOV.S R20.z, R5.x;
  3513. ENDIF;
  3514. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  3515. MOV.U.CC RC.x, -R5;
  3516. IF NE.x;
  3517. AND.S R3.w, c[12].x, {65536, 0, 0, 0}.x;
  3518. I2F.S R3.w, R3;
  3519. SGT.F32 R5.x, {0, 0, 0, 0}, R3.w;
  3520. TRUNC.U.CC HC.x, R5;
  3521. AND.S R15.y, c[12].x, {262144, 0, 0, 0}.x;
  3522. AND.S R13.z, c[12].x, {131072, 0, 0, 0}.x;
  3523. MOV.S R11.y, R3.w;
  3524. IF NE.x;
  3525. MOV.F R3.w, {1, 0, 0, 0}.x;
  3526. ELSE;
  3527. MOV.F R3.w, {0, 0, 0, 0}.x;
  3528. ENDIF;
  3529. MOV.F R5.x, R11.y;
  3530. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3531. TRUNC.U.CC HC.x, R5;
  3532. MOV.S R11.x, R3.w;
  3533. IF NE.x;
  3534. MOV.F R3.w, {1, 0, 0, 0}.x;
  3535. ELSE;
  3536. MOV.F R3.w, {0, 0, 0, 0}.x;
  3537. ENDIF;
  3538. MOV.F R5.x, R20.y;
  3539. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  3540. MOV.F R5.z, c[11];
  3541. MUL.F32 R5.x, R5, R5.z;
  3542. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3543. TRUNC.U R6.x, R6;
  3544. TRUNC.U R5.z, R5;
  3545. AND.U.CC HC.x, R6, R5.z;
  3546. MOV.S R11.y, R3.w;
  3547. IF NE.x;
  3548. MOV.F R3.w, R5.x;
  3549. ELSE;
  3550. MOV.F R3.w, {0, 0, 0, 0}.x;
  3551. ENDIF;
  3552. I2F.S R5.x, R13.z;
  3553. MOV.S R14.y, R5.x;
  3554. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3555. TRUNC.U.CC HC.x, R5;
  3556. MOV.S R12.z, R3.w;
  3557. IF NE.x;
  3558. MOV.F R3.w, {1, 0, 0, 0}.x;
  3559. ELSE;
  3560. MOV.F R3.w, {0, 0, 0, 0}.x;
  3561. ENDIF;
  3562. MOV.F R5.x, R14.y;
  3563. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  3564. TRUNC.U.CC HC.x, R5;
  3565. MOV.S R16.x, R3.w;
  3566. IF NE.x;
  3567. MOV.F R3.w, {1, 0, 0, 0}.x;
  3568. ELSE;
  3569. MOV.F R3.w, {0, 0, 0, 0}.x;
  3570. ENDIF;
  3571. MOV.F R5.x, R11.y;
  3572. MOV.F R5.z, R11.x;
  3573. ADD.F32 R5.x, R5, -R5.z;
  3574. MOV.S R16.w, R5.x;
  3575. I2F.S R5.x, R15.y;
  3576. MOV.S R11.y, R5.x;
  3577. SGT.F32 R5.x, {0, 0, 0, 0}, R5;
  3578. TRUNC.U.CC HC.x, R5;
  3579. MOV.S R16.y, R3.w;
  3580. IF NE.x;
  3581. MOV.F R3.w, {1, 0, 0, 0}.x;
  3582. ELSE;
  3583. MOV.F R3.w, {0, 0, 0, 0}.x;
  3584. ENDIF;
  3585. MOV.F R5.z, R16.y;
  3586. MOV.F R5.x, R16;
  3587. ADD.F32 R5.x, R5, -R5.z;
  3588. MOV.S R11.z, R5.x;
  3589. MOV.F R5.x, R11.y;
  3590. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3591. TRUNC.U.CC HC.x, R5;
  3592. MOV.S R11.x, R3.w;
  3593. IF NE.x;
  3594. MOV.F R3.w, {1, 0, 0, 0}.x;
  3595. ELSE;
  3596. MOV.F R3.w, {0, 0, 0, 0}.x;
  3597. ENDIF;
  3598. MOV.F R6.x, R11;
  3599. ADD.F32 R3.w, R3, -R6.x;
  3600. MOV.F R5.x, R11.z;
  3601. TRUNC.S R5.x, R5;
  3602. MOV.F R5.z, R16.w;
  3603. TRUNC.S R5.z, R5;
  3604. ADD.S R6.y, -R5.z, {0, 0, 0, 0}.x;
  3605. MAX.S R11.x, R5.z, R6.y;
  3606. MOV.F R5.z, c[10].w;
  3607. MOV.S R16.y, R3.w;
  3608. SEQ.F R3.w, R5.z, {1, 0, 0, 0}.x;
  3609. TRUNC.U.CC HC.x, R3.w;
  3610. ADD.S R11.y, -R5.x, {0, 0, 0, 0}.x;
  3611. MOV.S R15.y, R5.x;
  3612. IF NE.x;
  3613. MOV.S R3.w, {-1, 0, 0, 0}.x;
  3614. ELSE;
  3615. MOV.S R3.w, {0, 0, 0, 0}.x;
  3616. ENDIF;
  3617. MOV.F R5.x, R16.y;
  3618. TRUNC.S R13.x, R5;
  3619. I2F.S R5.x, R11;
  3620. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  3621. MOV.F R6.x, R20;
  3622. MUL.F32 R5.x, -R5.z, R6;
  3623. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3624. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  3625. TRUNC.U R6.x, R6;
  3626. TRUNC.U R5.z, R5;
  3627. AND.U.CC HC.x, R5.z, R6;
  3628. MAX.S R16.w, R15.y, R11.y;
  3629. ADD.S R16.x, -R13, {0, 0, 0, 0};
  3630. IF NE.x;
  3631. ELSE;
  3632. MOV.F R5.x, {0, 0, 0, 0};
  3633. ENDIF;
  3634. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  3635. I2F.S R5.z, R16.w;
  3636. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  3637. SNE.F32 R6.x, -R5.z, {0, 0, 0, 0};
  3638. MUL.F32 R5.z, -R5, R5.w;
  3639. MOV.F R5.w, c[10];
  3640. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  3641. TRUNC.U R6.x, R6;
  3642. TRUNC.U R6.y, R6;
  3643. AND.U.CC HC.x, R6, R6.y;
  3644. MAX.S R11.z, R13.x, R16.x;
  3645. MOV.S R11.y, R5.x;
  3646. MOV.S R14.w, R5;
  3647. IF NE.x;
  3648. MOV.F R5.x, R5.z;
  3649. ELSE;
  3650. MOV.F R5.x, {0, 0, 0, 0};
  3651. ENDIF;
  3652. MOV.F R6.x, R11.y;
  3653. MOV.F R5.w, R8.y;
  3654. MUL.F32 R5.z, R5.w, R6.x;
  3655. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3656. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3657. TRUNC.U R5.w, R5;
  3658. TRUNC.U R6.x, R6;
  3659. AND.U.CC HC.x, R5.w, R6;
  3660. MOV.S R16.x, R5;
  3661. IF NE.x;
  3662. MOV.F R5.x, R5.z;
  3663. ELSE;
  3664. MOV.F R5.x, {0, 0, 0, 0};
  3665. ENDIF;
  3666. MOV.F R6.x, R11.y;
  3667. MOV.F R5.w, R22.x;
  3668. MUL.F32 R5.z, R5.w, R6.x;
  3669. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3670. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3671. TRUNC.U R6.x, R6;
  3672. TRUNC.U R5.w, R5;
  3673. AND.U.CC HC.x, R5.w, R6;
  3674. MOV.S R16.y, R5.x;
  3675. IF NE.x;
  3676. MOV.F R5.x, R5.z;
  3677. ELSE;
  3678. MOV.F R5.x, {0, 0, 0, 0};
  3679. ENDIF;
  3680. I2F.S R5.z, R11;
  3681. MUL.F32 R5.w, R5.z, {2, 0, 0, 0}.x;
  3682. MOV.F R6.x, R20.z;
  3683. MUL.F32 R5.z, -R5.w, R6.x;
  3684. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  3685. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3686. TRUNC.U R5.w, R5;
  3687. TRUNC.U R6.x, R6;
  3688. AND.U.CC HC.x, R5.w, R6;
  3689. MOV.S R16.z, R5.x;
  3690. IF NE.x;
  3691. MOV.F R5.x, R5.z;
  3692. ELSE;
  3693. MOV.F R5.x, {0, 0, 0, 0};
  3694. ENDIF;
  3695. MOV.F R6.x, R3.z;
  3696. MOV.F R5.z, R22.x;
  3697. MOV.F R5.w, R16.z;
  3698. ADD.F32 R5.w, R5.z, R5;
  3699. MOV.F R6.y, R16.x;
  3700. MOV.S R11.y, R5.w;
  3701. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  3702. MUL.F32 R5.z, R6.x, R6.y;
  3703. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  3704. TRUNC.U R5.w, R5;
  3705. TRUNC.U R6.x, R6;
  3706. AND.U.CC HC.x, R5.w, R6;
  3707. MOV.S R11.x, R5;
  3708. IF NE.x;
  3709. MOV.F R5.x, R5.z;
  3710. ELSE;
  3711. MOV.F R5.x, {0, 0, 0, 0};
  3712. ENDIF;
  3713. MOV.F R5.w, R16.y;
  3714. MOV.F R5.z, R8.y;
  3715. ADD.F32 R5.z, R5, R5.w;
  3716. MOV.F R6.x, R16;
  3717. MOV.F R5.w, R22.y;
  3718. MOV.S R12.w, R5.z;
  3719. MUL.F32 R5.z, R5.w, R6.x;
  3720. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3721. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3722. TRUNC.U R6.x, R6;
  3723. TRUNC.U R5.w, R5;
  3724. AND.U.CC HC.x, R5.w, R6;
  3725. MOV.S R11.z, R5.x;
  3726. IF NE.x;
  3727. MOV.F R5.x, R5.z;
  3728. ELSE;
  3729. MOV.F R5.x, {0, 0, 0, 0};
  3730. ENDIF;
  3731. MOV.F R5.w, R8.z;
  3732. MOV.F R5.z, R11.y;
  3733. ADD.F32 R5.z, R5, R5.w;
  3734. MOV.F R5.w, R11.z;
  3735. ADD.F32 R3.z, R3, R5.w;
  3736. MOV.S R14.y, R5.z;
  3737. MOV.F R5.w, R11.x;
  3738. MOV.F R5.z, R5.y;
  3739. MOV.S R15.z, R3;
  3740. MUL.F32 R3.z, R5, R5.w;
  3741. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3742. TRUNC.U R6.x, R5.z;
  3743. MOV.F R5.z, R22.y;
  3744. ADD.F32 R5.x, R5.z, R5;
  3745. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3746. TRUNC.U R5.z, R5.w;
  3747. AND.U.CC HC.x, R6, R5.z;
  3748. MOV.S R16.x, R5;
  3749. IF NE.x;
  3750. ELSE;
  3751. MOV.F R3.z, {0, 0, 0, 0}.x;
  3752. ENDIF;
  3753. MOV.F R5.w, R11.x;
  3754. MOV.F R5.z, R22;
  3755. MUL.F32 R5.x, R5.z, R5.w;
  3756. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3757. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3758. TRUNC.U R5.w, R5;
  3759. TRUNC.U R5.z, R5;
  3760. AND.U.CC HC.x, R5.z, R5.w;
  3761. MOV.S R16.w, R3.z;
  3762. IF NE.x;
  3763. MOV.F R3.z, R5.x;
  3764. ELSE;
  3765. MOV.F R3.z, {0, 0, 0, 0}.x;
  3766. ENDIF;
  3767. MOV.F R5.z, R3.x;
  3768. MOV.F R5.x, R16;
  3769. ADD.F32 R5.x, R5, R5.z;
  3770. MOV.S R13.x, R5;
  3771. MOV.F R5.x, R5.y;
  3772. MOV.F R5.z, R16.w;
  3773. ADD.F32 R5.x, R5, R5.z;
  3774. MOV.F R5.y, c[10].w;
  3775. MOV.S R15.y, R5.x;
  3776. MAX.F R5.x, R5.y, {0, 0, 0, 0};
  3777. LG2.F32 R5.x, R5.x;
  3778. MOV.F R5.y, R22.z;
  3779. ADD.F32 R3.z, R5.y, R3;
  3780. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  3781. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  3782. SEQ.F R5.z, R5.x, R5;
  3783. TRUNC.U R5.w, R5;
  3784. TRUNC.U R5.z, R5;
  3785. AND.U R5.z, R5, R5.w;
  3786. SEQ.U R5.y, R5.z, {1, 0, 0, 0}.x;
  3787. MOV.U.CC RC.x, -R5.y;
  3788. MOV.S R11.w, R3.z;
  3789. IF NE.x;
  3790. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  3791. ENDIF;
  3792. MOV.F R5.z, c[13].x;
  3793. MUL.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  3794. MOV.F R5.y, R12.z;
  3795. MOV.F R3.z, R11.w;
  3796. ADD.F32 R3.z, R3, R5.y;
  3797. MOV.F R5.y, c[13];
  3798. MUL.F32 R5.y, R5, {0.5, 0, 0, 0}.x;
  3799. MOV.S R16.x, R5.y;
  3800. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  3801. MOV.F R5.w, R18;
  3802. MOV.S R13.y, R3.z;
  3803. MUL.F32 R3.z, R5.w, R5.x;
  3804. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  3805. TRUNC.U R5.y, R5;
  3806. TRUNC.U R5.x, R5;
  3807. AND.U.CC HC.x, R5, R5.y;
  3808. MOV.S R16.z, R5;
  3809. IF NE.x;
  3810. ELSE;
  3811. MOV.F R3.z, {0, 0, 0, 0}.x;
  3812. ENDIF;
  3813. MOV.F R5.x, R14.w;
  3814. RCP.F32 R5.x, R5.x;
  3815. MOV.S R12.z, R5.x;
  3816. EX2.F32 R3.z, R3.z;
  3817. MOV.F R6.x, R16;
  3818. MOV.F R5.w, R19.y;
  3819. ADD.F32 R5.y, R5.w, R6.x;
  3820. MOV.F R6.y, R18.x;
  3821. SNE.F32 R5.w, R5, -R6.x;
  3822. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  3823. MOV.F R5.z, R16;
  3824. MOV.F R5.x, R19;
  3825. ADD.F32 R5.x, R5, R5.z;
  3826. MOV.S R11.x, R5;
  3827. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  3828. TRUNC.U R5.z, R5;
  3829. TRUNC.U R5.w, R5;
  3830. AND.U.CC HC.x, R5.z, R5.w;
  3831. MUL.F32 R5.y, R6, R5;
  3832. MOV.S R5.x, R18.y;
  3833. MOV.S R16.x, R3.z;
  3834. IF NE.x;
  3835. MOV.F R3.z, R5.y;
  3836. ELSE;
  3837. MOV.F R3.z, {0, 0, 0, 0}.x;
  3838. ENDIF;
  3839. MOV.F R5.z, R11.x;
  3840. MOV.F R5.y, R5.x;
  3841. MUL.F32 R5.x, R5.y, R5.z;
  3842. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  3843. TRUNC.U R5.z, R5.w;
  3844. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3845. MOV.S R18.y, R3.z;
  3846. TRUNC.U R3.z, R5.y;
  3847. AND.U.CC HC.x, R3.z, R5.z;
  3848. IF NE.x;
  3849. MOV.F R3.z, R5.x;
  3850. ELSE;
  3851. MOV.F R3.z, {0, 0, 0, 0}.x;
  3852. ENDIF;
  3853. MOV.S R22.z, R3;
  3854. SEQ.S R3.z, R3.w, {0, 0, 0, 0}.x;
  3855. MOV.U.CC RC.x, -R3.z;
  3856. MOV.F R5.y, R12.z;
  3857. MOV.F R5.x, R16;
  3858. MUL.F32 R5.x, R5, R5.y;
  3859. MOV.S R11.y, R5.x;
  3860. MOV.S R3.w, {1065353216, 0, 0, 0}.x;
  3861. IF NE.x;
  3862. MOV.S R3.z, R11.y;
  3863. ELSE;
  3864. MOV.S R3.z, R18.w;
  3865. ENDIF;
  3866. MOV.F R5.z, R3;
  3867. MOV.F R5.y, R15;
  3868. MUL.F32 R5.x, R5.y, R5.z;
  3869. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3870. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3871. TRUNC.U R5.z, R5;
  3872. TRUNC.U R5.y, R5;
  3873. AND.U.CC HC.x, R5.y, R5.z;
  3874. IF NE.x;
  3875. ELSE;
  3876. MOV.F R5.x, {0, 0, 0, 0};
  3877. ENDIF;
  3878. MOV.F R5.w, R3.z;
  3879. MOV.F R5.z, R15;
  3880. MUL.F32 R5.y, R5.z, R5.w;
  3881. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3882. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3883. TRUNC.U R5.z, R5;
  3884. TRUNC.U R5.w, R5;
  3885. AND.U.CC HC.x, R5.z, R5.w;
  3886. MOV.S R11.y, R5.x;
  3887. IF NE.x;
  3888. MOV.F R5.x, R5.y;
  3889. ELSE;
  3890. MOV.F R5.x, {0, 0, 0, 0};
  3891. ENDIF;
  3892. MOV.F R5.z, R3;
  3893. MOV.F R5.y, R12.w;
  3894. MUL.F32 R3.z, R5.y, R5;
  3895. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3896. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3897. TRUNC.U R5.y, R5;
  3898. TRUNC.U R5.z, R5;
  3899. AND.U.CC HC.x, R5.y, R5.z;
  3900. MOV.S R11.z, R5.x;
  3901. IF NE.x;
  3902. ELSE;
  3903. MOV.F R3.z, {0, 0, 0, 0}.x;
  3904. ENDIF;
  3905. MOV.F R5.y, R11;
  3906. MOV.F R5.x, R13.y;
  3907. ADD.F32 R5.x, R5, R5.y;
  3908. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3909. FRC.F32 R5.x, R5;
  3910. MAD.F32 R5.x, R5, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  3911. MUL.F32 R5.x, R5, {0.159154937, 0, 0, 0};
  3912. MOV.S R13.y, R5.x;
  3913. MOV.F R5.x, R14.y;
  3914. ADD.F32 R3.z, R5.x, R3;
  3915. MAD.F32 R3.z, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  3916. FRC.F32 R3.z, R3;
  3917. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  3918. MOV.F R5.z, R11;
  3919. MOV.F R5.y, R13.x;
  3920. ADD.F32 R5.y, R5, R5.z;
  3921. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  3922. FRC.F32 R5.y, R5;
  3923. MAD.F32 R5.y, R5, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3924. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  3925. SIN.F32 R5.y, R5.y;
  3926. MOV.S R5.x, R5.y;
  3927. MUL.F32 R5.y, R3.z, {0.159154937, 0, 0, 0}.x;
  3928. MOV.S R13.x, R5.z;
  3929. MOV.S R5.y, R5;
  3930. MUL.F32 R5.y, R5, {6.28318548, 0, 0, 0}.x;
  3931. SIN.F32 R5.y, R5.y;
  3932. MOV.F R5.z, R5.x;
  3933. MOV.S R12.w, R5.x;
  3934. COS.F32 R5.x, R3.z;
  3935. MUL.F32 R3.z, R5.x, R5;
  3936. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3937. MOV.S R15.x, R5;
  3938. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3939. TRUNC.U R5.z, R5;
  3940. TRUNC.U R5.x, R5;
  3941. AND.U.CC HC.x, R5, R5.z;
  3942. MOV.S R15.y, R5;
  3943. MOV.S R8.z, {1065353216, 0, 0, 0}.x;
  3944. IF NE.x;
  3945. ELSE;
  3946. MOV.F R3.z, {0, 0, 0, 0}.x;
  3947. ENDIF;
  3948. MOV.F R5.z, R12.w;
  3949. MOV.F R5.y, R15;
  3950. MUL.F32 R5.x, R5.y, R5.z;
  3951. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3952. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3953. TRUNC.U R5.y, R5;
  3954. TRUNC.U R5.z, R5;
  3955. AND.U.CC HC.x, R5.y, R5.z;
  3956. MOV.S R13.z, R3;
  3957. IF NE.x;
  3958. MOV.F R3.z, R5.x;
  3959. ELSE;
  3960. MOV.F R3.z, {0, 0, 0, 0}.x;
  3961. ENDIF;
  3962. MOV.F R5.x, R13;
  3963. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  3964. COS.F32 R5.y, R5.x;
  3965. MOV.F R5.z, R15.x;
  3966. MUL.F32 R5.x, R5.y, R5.z;
  3967. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3968. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3969. MOV.S R15.z, R5.y;
  3970. TRUNC.U R5.y, R5.z;
  3971. TRUNC.U R5.z, R5.w;
  3972. AND.U.CC HC.x, R5.y, R5.z;
  3973. MOV.S R14.w, R3.z;
  3974. IF NE.x;
  3975. MOV.F R3.z, R5.x;
  3976. ELSE;
  3977. MOV.F R3.z, {0, 0, 0, 0}.x;
  3978. ENDIF;
  3979. MOV.F R5.z, R15;
  3980. MOV.F R5.y, R15;
  3981. MUL.F32 R5.x, R5.y, R5.z;
  3982. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3983. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3984. TRUNC.U R5.y, R5;
  3985. TRUNC.U R5.z, R5;
  3986. AND.U.CC HC.x, R5.y, R5.z;
  3987. MOV.S R12.x, R3.z;
  3988. IF NE.x;
  3989. MOV.F R3.z, R5.x;
  3990. ELSE;
  3991. MOV.F R3.z, {0, 0, 0, 0}.x;
  3992. ENDIF;
  3993. MOV.F R5.x, R13.y;
  3994. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  3995. SIN.F32 R5.z, R5.x;
  3996. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  3997. MOV.S R12.y, R5.z;
  3998. MUL.F32 R5.y, R3.z, R5.z;
  3999. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4000. TRUNC.U R5.z, R5;
  4001. TRUNC.U R5.w, R5;
  4002. AND.U.CC HC.x, R5.z, R5.w;
  4003. MOV.S R5.x, R13.y;
  4004. MOV.S R14.y, R3.z;
  4005. IF NE.x;
  4006. MOV.F R3.z, R5.y;
  4007. ELSE;
  4008. MOV.F R3.z, {0, 0, 0, 0}.x;
  4009. ENDIF;
  4010. MOV.F R5.z, R12.y;
  4011. MOV.F R5.w, -R5.z;
  4012. MOV.F R6.x, R12;
  4013. MUL.F32 R5.y, R5.z, R6.x;
  4014. MOV.S R13.y, R5.w;
  4015. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4016. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  4017. TRUNC.U R5.z, R5;
  4018. TRUNC.U R5.w, R5;
  4019. AND.U.CC HC.x, R5.z, R5.w;
  4020. MOV.S R16.x, R3.z;
  4021. IF NE.x;
  4022. MOV.F R3.z, R5.y;
  4023. ELSE;
  4024. MOV.F R3.z, {0, 0, 0, 0}.x;
  4025. ENDIF;
  4026. MOV.F R5.w, R13.z;
  4027. MOV.F R5.z, R12.y;
  4028. MUL.F32 R5.y, R5.z, R5.w;
  4029. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4030. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4031. TRUNC.U R5.z, R5;
  4032. TRUNC.U R5.w, R5;
  4033. AND.U.CC HC.x, R5.z, R5.w;
  4034. MOV.S R16.z, R3;
  4035. IF NE.x;
  4036. ELSE;
  4037. MOV.F R5.y, {0, 0, 0, 0}.x;
  4038. ENDIF;
  4039. MOV.F R5.z, R5.x;
  4040. MOV.F R3.z, R13;
  4041. MOV.F R5.w, R16.x;
  4042. ADD.F32 R6.x, -R3.z, R5.w;
  4043. MOV.F R5.w, R16.z;
  4044. MOV.F R3.z, R14.w;
  4045. ADD.F32 R3.z, R3, R5.w;
  4046. MOV.F R5.w, R14.y;
  4047. ADD.F32 R5.y, -R5.w, R5;
  4048. MOV.S R5.x, R15;
  4049. MOV.S R15.x, R3.z;
  4050. MOV.S R11.y, R5;
  4051. MUL.F32 R5.y, R5.z, {6.28318548, 0, 0, 0}.x;
  4052. COS.F32 R5.z, R5.y;
  4053. MOV.F R5.w, R15.z;
  4054. MOV.S R3.z, R6.x;
  4055. MUL.F32 R5.y, R5.z, R5.w;
  4056. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  4057. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  4058. TRUNC.U R5.w, R5;
  4059. TRUNC.U R6.x, R6;
  4060. AND.U.CC HC.x, R5.w, R6;
  4061. MOV.S R13.x, R5.z;
  4062. IF NE.x;
  4063. ELSE;
  4064. MOV.F R5.y, {0, 0, 0, 0}.x;
  4065. ENDIF;
  4066. MOV.F R5.w, R13.x;
  4067. MOV.F R5.z, R5.x;
  4068. SNE.F32 R6.x, R5.w, {0, 0, 0, 0};
  4069. MUL.F32 R5.x, R5.z, R5.w;
  4070. TRUNC.U R6.x, R6;
  4071. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4072. MOV.S R5.w, R5.y;
  4073. TRUNC.U R5.y, R5.z;
  4074. AND.U.CC HC.x, R5.y, R6;
  4075. IF NE.x;
  4076. ELSE;
  4077. MOV.F R5.x, {0, 0, 0, 0};
  4078. ENDIF;
  4079. MOV.F R6.x, R13;
  4080. MOV.F R5.z, R15.y;
  4081. MUL.F32 R5.y, R5.z, R6.x;
  4082. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4083. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4084. TRUNC.U R5.z, R5;
  4085. TRUNC.U R6.x, R6;
  4086. AND.U.CC HC.x, R5.z, R6;
  4087. MOV.S R14.y, R5.x;
  4088. IF NE.x;
  4089. MOV.F R5.x, R5.y;
  4090. ELSE;
  4091. MOV.F R5.x, {0, 0, 0, 0};
  4092. ENDIF;
  4093. MOV.F R6.x, R14.w;
  4094. MOV.F R5.z, R12.y;
  4095. MUL.F32 R5.y, R5.z, R6.x;
  4096. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4097. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4098. TRUNC.U R5.z, R5;
  4099. TRUNC.U R6.x, R6;
  4100. AND.U.CC HC.x, R5.z, R6;
  4101. MOV.S R18.x, R5;
  4102. IF NE.x;
  4103. MOV.F R5.x, R5.y;
  4104. ELSE;
  4105. MOV.F R5.x, {0, 0, 0, 0};
  4106. ENDIF;
  4107. MOV.F R6.x, R8;
  4108. MOV.F R5.z, R11.y;
  4109. MUL.F32 R5.y, R5.z, R6.x;
  4110. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4111. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4112. TRUNC.U R5.z, R5;
  4113. TRUNC.U R6.x, R6;
  4114. AND.U.CC HC.x, R5.z, R6;
  4115. MOV.S R16.y, R5.x;
  4116. IF NE.x;
  4117. MOV.F R5.x, R5.y;
  4118. ELSE;
  4119. MOV.F R5.x, {0, 0, 0, 0};
  4120. ENDIF;
  4121. MOV.F R6.x, R13;
  4122. MOV.F R5.z, R12.w;
  4123. MUL.F32 R5.y, R5.z, R6.x;
  4124. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4125. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4126. TRUNC.U R5.z, R5;
  4127. TRUNC.U R6.x, R6;
  4128. AND.U.CC HC.x, R5.z, R6;
  4129. MOV.S R16.z, R5.x;
  4130. IF NE.x;
  4131. MOV.F R5.x, R5.y;
  4132. ELSE;
  4133. MOV.F R5.x, {0, 0, 0, 0};
  4134. ENDIF;
  4135. MOV.F R6.x, R14.y;
  4136. MOV.F R5.z, R18.y;
  4137. MUL.F32 R5.y, R5.z, R6.x;
  4138. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4139. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4140. TRUNC.U R5.z, R5;
  4141. TRUNC.U R6.x, R6;
  4142. AND.U.CC HC.x, R5.z, R6;
  4143. MOV.S R16.w, R5.x;
  4144. IF NE.x;
  4145. MOV.F R5.x, R5.y;
  4146. ELSE;
  4147. MOV.F R5.x, {0, 0, 0, 0};
  4148. ENDIF;
  4149. MOV.F R5.y, R16.z;
  4150. ADD.F32 R5.y, R5.x, R5;
  4151. MOV.F R6.x, R8;
  4152. MOV.F R5.z, R16.w;
  4153. MUL.F32 R5.x, R5.z, R6;
  4154. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4155. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4156. TRUNC.U R6.x, R6;
  4157. TRUNC.U R5.z, R5;
  4158. AND.U.CC HC.x, R5.z, R6;
  4159. MOV.S R5.y, R5;
  4160. IF NE.x;
  4161. ELSE;
  4162. MOV.F R5.x, {0, 0, 0, 0};
  4163. ENDIF;
  4164. MOV.F R6.y, R16;
  4165. MOV.F R6.x, R12;
  4166. ADD.F32 R5.z, R6.x, R6.y;
  4167. SNE.F32 R6.x, R6, -R6.y;
  4168. MOV.F R6.z, R8.x;
  4169. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  4170. TRUNC.U R6.x, R6;
  4171. TRUNC.U R6.y, R6;
  4172. AND.U.CC HC.x, R6, R6.y;
  4173. MUL.F32 R5.z, R5, R6;
  4174. MOV.S R11.z, R5.x;
  4175. IF NE.x;
  4176. MOV.F R5.x, R5.z;
  4177. ELSE;
  4178. MOV.F R5.x, {0, 0, 0, 0};
  4179. ENDIF;
  4180. MOV.F R6.y, R15.x;
  4181. MOV.F R6.x, R22.z;
  4182. MUL.F32 R5.z, R6.x, R6.y;
  4183. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  4184. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4185. TRUNC.U R6.y, R6;
  4186. TRUNC.U R6.x, R6;
  4187. AND.U.CC HC.x, R6, R6.y;
  4188. MOV.S R8.x, R5;
  4189. IF NE.x;
  4190. MOV.F R5.x, R5.z;
  4191. ELSE;
  4192. MOV.F R5.x, {0, 0, 0, 0};
  4193. ENDIF;
  4194. ADD.F32 R5.y, R5.x, R5;
  4195. MOV.F R5.z, R18.y;
  4196. MOV.F R6.x, R13.y;
  4197. MUL.F32 R5.x, R5.z, R6;
  4198. MOV.S R19.y, R5;
  4199. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  4200. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4201. TRUNC.U R5.z, R6.x;
  4202. TRUNC.U R5.y, R5;
  4203. AND.U.CC HC.x, R5.y, R5.z;
  4204. IF NE.x;
  4205. ELSE;
  4206. MOV.F R5.x, {0, 0, 0, 0};
  4207. ENDIF;
  4208. MOV.F R5.y, R11.z;
  4209. ADD.F32 R5.x, R5, R5.y;
  4210. MOV.S R19.z, R5.x;
  4211. MOV.F R5.x, R21;
  4212. SGT.F32 R5.x, R5, {0.5, 0, 0, 0};
  4213. TRUNC.U.CC HC.x, R5;
  4214. AND.S R8.w, c[12].x, {524288, 0, 0, 0}.x;
  4215. IF NE.x;
  4216. MOV.S R5.x, {-1, 0, 0, 0};
  4217. ELSE;
  4218. MOV.S R5.x, {0, 0, 0, 0};
  4219. ENDIF;
  4220. MOV.S R7.w, R5.x;
  4221. ENDIF;
  4222. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  4223. MOV.U.CC RC.x, -R5;
  4224. IF NE.x;
  4225. MOV.F R2.z, R5.w;
  4226. MOV.F R2.y, R22.z;
  4227. MUL.F32 R2.x, R2.y, R2.z;
  4228. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4229. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4230. TRUNC.U R2.z, R2;
  4231. TRUNC.U R2.y, R2;
  4232. AND.U.CC HC.x, R2.y, R2.z;
  4233. IF NE.x;
  4234. ELSE;
  4235. MOV.F R2.x, {0, 0, 0, 0};
  4236. ENDIF;
  4237. MOV.F R2.y, R18;
  4238. SNE.F32 R2.z, R2.y, {0, 0, 0, 0}.x;
  4239. MOV.F R2.w, R18.x;
  4240. TRUNC.U R3.x, R2.z;
  4241. MOV.F R2.z, R19;
  4242. ADD.F32 R2.x, R2, R2.z;
  4243. MUL.F32 R2.y, R2, R2.w;
  4244. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4245. TRUNC.U R2.z, R2.w;
  4246. AND.U.CC HC.x, R3, R2.z;
  4247. MOV.S R12.x, R2;
  4248. IF NE.x;
  4249. MOV.F R2.x, R2.y;
  4250. ELSE;
  4251. MOV.F R2.x, {0, 0, 0, 0};
  4252. ENDIF;
  4253. MOV.F R2.y, R8.x;
  4254. ADD.F32 R2.x, R2, R2.y;
  4255. MOV.F R2.z, c[15].x;
  4256. MOV.F R2.y, c[14].x;
  4257. MOV.S R5.w, R2.x;
  4258. MUL.F32 R2.x, R2.y, R2.z;
  4259. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4260. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4261. TRUNC.U R2.z, R2;
  4262. TRUNC.U R2.y, R2;
  4263. AND.U.CC HC.x, R2.y, R2.z;
  4264. IF NE.x;
  4265. ELSE;
  4266. MOV.F R2.x, {0, 0, 0, 0};
  4267. ENDIF;
  4268. MOV.F R2.z, c[14].y;
  4269. MOV.F R2.w, c[15].y;
  4270. MUL.F32 R2.y, R2.z, R2.w;
  4271. MOV.S R3.x, R2;
  4272. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  4273. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4274. TRUNC.U R2.z, R2.w;
  4275. TRUNC.U R2.x, R2;
  4276. AND.U.CC HC.x, R2, R2.z;
  4277. IF NE.x;
  4278. MOV.F R2.x, R2.y;
  4279. ELSE;
  4280. MOV.F R2.x, {0, 0, 0, 0};
  4281. ENDIF;
  4282. MOV.F R2.w, R3.z;
  4283. MOV.F R2.z, R22;
  4284. MUL.F32 R2.y, R2.z, R2.w;
  4285. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4286. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4287. TRUNC.U R2.w, R2;
  4288. TRUNC.U R2.z, R2;
  4289. AND.U.CC HC.x, R2.z, R2.w;
  4290. MOV.S R3.y, R2.x;
  4291. IF NE.x;
  4292. MOV.F R2.x, R2.y;
  4293. ELSE;
  4294. MOV.F R2.x, {0, 0, 0, 0};
  4295. ENDIF;
  4296. MOV.F R2.y, R5.w;
  4297. ADD.F32 R2.x, R2, R2.y;
  4298. SEQ.S R2.y, R8.w, {524288, 0, 0, 0}.x;
  4299. MOV.U.CC RC.x, -R2.y;
  4300. MOV.S R13.z, R2.x;
  4301. IF NE.x;
  4302. MOV.S R6.x, {-1, 0, 0, 0};
  4303. ELSE;
  4304. MOV.S R6.x, {0, 0, 0, 0};
  4305. ENDIF;
  4306. MOV.F R2.xyz, R9;
  4307. MOV.F R2.w, R6;
  4308. MOV.F R5.x, R12;
  4309. MOV.F R5.z, R13;
  4310. MOV.F R5.w, R3;
  4311. MOV.F R5.y, R19;
  4312. DP4.F32 R2.x, R2, R5;
  4313. MOV.F R2.z, c[15];
  4314. MOV.F R2.y, c[14].z;
  4315. MOV.S R9.x, R2;
  4316. MUL.F32 R2.x, R2.y, R2.z;
  4317. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4318. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4319. TRUNC.U R2.z, R2;
  4320. TRUNC.U R2.y, R2;
  4321. AND.U.CC HC.x, R2.y, R2.z;
  4322. IF NE.x;
  4323. MOV.F R3.z, R2.x;
  4324. ELSE;
  4325. MOV.F R3.z, {0, 0, 0, 0}.x;
  4326. ENDIF;
  4327. MOV.F R5, R10;
  4328. MOV.F R2.z, R13;
  4329. MOV.F R2.y, R19;
  4330. MOV.F R2.x, R12;
  4331. MOV.F R2.w, R3;
  4332. DP4.F32 R2.x, R5, R2;
  4333. MOV.F R2.z, c[15].w;
  4334. MOV.F R2.y, c[16].x;
  4335. MOV.S R10.y, R2.x;
  4336. MUL.F32 R2.x, R2.y, R2.z;
  4337. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4338. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4339. TRUNC.U R2.z, R2;
  4340. TRUNC.U R2.y, R2;
  4341. AND.U.CC HC.x, R2.y, R2.z;
  4342. MOV.S R3.z, R3;
  4343. IF NE.x;
  4344. MOV.F R6.y, R2.x;
  4345. ELSE;
  4346. MOV.F R6.y, {0, 0, 0, 0}.x;
  4347. ENDIF;
  4348. MOV.F R2.xyz, R17;
  4349. MOV.F R2.w, R9;
  4350. MOV.F R5.x, R12;
  4351. MOV.F R5.z, R13;
  4352. MOV.F R5.w, R3;
  4353. MOV.F R5.y, R19;
  4354. DP4.F32 R2.x, R2, R5;
  4355. MOV.F R2.z, c[17].x;
  4356. MOV.F R2.y, R3.x;
  4357. MOV.S R17.z, R2.x;
  4358. MUL.F32 R2.x, R2.y, R2.z;
  4359. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4360. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4361. TRUNC.U R2.y, R2;
  4362. TRUNC.U R2.z, R2;
  4363. AND.U.CC HC.x, R2.y, R2.z;
  4364. MOV.S R2.w, R6.y;
  4365. IF NE.x;
  4366. ELSE;
  4367. MOV.F R2.x, {0, 0, 0, 0};
  4368. ENDIF;
  4369. MOV.F R2.z, R3.y;
  4370. MOV.F R3.x, c[17];
  4371. SNE.F32 R5.x, R2.z, {0, 0, 0, 0};
  4372. MUL.F32 R2.y, R2.z, R3.x;
  4373. MOV.F R2.z, R23.x;
  4374. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  4375. SNE.F32 R5.y, R3.x, {0, 0, 0, 0}.x;
  4376. MOV.S R3.x, R2.z;
  4377. TRUNC.U R5.x, R5;
  4378. TRUNC.U R2.z, R5.y;
  4379. AND.U.CC HC.x, R5, R2.z;
  4380. MOV.S R2.x, R2;
  4381. IF NE.x;
  4382. ELSE;
  4383. MOV.F R2.y, {0, 0, 0, 0}.x;
  4384. ENDIF;
  4385. MOV.F R5.y, c[17].x;
  4386. MOV.F R5.x, R3.z;
  4387. MUL.F32 R2.z, R5.x, R5.y;
  4388. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  4389. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4390. TRUNC.U R5.x, R5;
  4391. TRUNC.U R5.y, R5;
  4392. AND.U.CC HC.x, R5, R5.y;
  4393. MOV.S R2.y, R2;
  4394. IF NE.x;
  4395. ELSE;
  4396. MOV.F R2.z, {0, 0, 0, 0}.x;
  4397. ENDIF;
  4398. SEQ.S R5.x, R7.w, {0, 0, 0, 0};
  4399. MOV.U.CC RC.x, -R5;
  4400. MOV.S R2.z, R2;
  4401. IF NE.x;
  4402. MOV.S R5.x, R23.y;
  4403. ELSE;
  4404. MOV.S R5.x, R23.y;
  4405. ENDIF;
  4406. MOV.F R5.y, c[18].z;
  4407. RCP.F32 R5.y, R5.y;
  4408. SEQ.S R5.z, R7.w, {0, 0, 0, 0}.x;
  4409. MOV.U.CC RC.x, -R5.z;
  4410. MOV.S R17.x, R5.y;
  4411. IF NE.x;
  4412. MOV.S R5.y, R23.x;
  4413. ELSE;
  4414. MOV.S R5.y, R3.x;
  4415. ENDIF;
  4416. MOV.F R5.z, R21.y;
  4417. SGT.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  4418. TRUNC.U.CC HC.x, R5.z;
  4419. IF NE.x;
  4420. MOV.S R5.z, {-1, 0, 0, 0}.x;
  4421. ELSE;
  4422. MOV.S R5.z, {0, 0, 0, 0}.x;
  4423. ENDIF;
  4424. SEQ.S R5.w, R6.x, {0, 0, 0, 0}.x;
  4425. MOV.U.CC RC.x, -R5.w;
  4426. IF NE.x;
  4427. MOV.S R5.x, R23.y;
  4428. ELSE;
  4429. ENDIF;
  4430. MOV.F R5.w, c[18];
  4431. RCP.F32 R5.w, R5.w;
  4432. SEQ.S R6.x, R6, {0, 0, 0, 0};
  4433. MOV.U.CC RC.x, -R6;
  4434. MOV.S R7.w, R5.x;
  4435. MOV.S R10.z, R5.w;
  4436. IF NE.x;
  4437. MOV.S R5.y, R23.x;
  4438. ELSE;
  4439. ENDIF;
  4440. MOV.F R5.w, R5.x;
  4441. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  4442. SEQ.S R6.x, R5.z, {0, 0, 0, 0};
  4443. MOV.U.CC RC.x, -R6;
  4444. MOV.S R23.y, R5;
  4445. MOV.S R16.w, R5;
  4446. IF NE.x;
  4447. ELSE;
  4448. ENDIF;
  4449. SEQ.S R5.z, R5, {0, 0, 0, 0}.x;
  4450. MOV.U.CC RC.x, -R5.z;
  4451. MOV.S R21.x, R5.y;
  4452. IF NE.x;
  4453. ELSE;
  4454. MOV.S R5.x, R16.w;
  4455. ENDIF;
  4456. MOV.S R21.z, R5.x;
  4457. MOV.S R23.x, c[9];
  4458. ENDIF;
  4459. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  4460. MOV.U.CC RC.x, -R5;
  4461. IF NE.x;
  4462. MOV.F R1.w, R8.z;
  4463. MOV.F R1.x, R9;
  4464. MOV.F R1.y, R10;
  4465. MOV.F R1.z, R17;
  4466. MOV.F R0, c[22];
  4467. DP4.F32 R5.x, R1, R0;
  4468. MOV.F R0, c[23];
  4469. DP4.F32 R3.w, R1, R0;
  4470. MOV.F R6, c[24];
  4471. DP4.F32 R0.y, R1, R6;
  4472. MOV.F R0.x, c[13].z;
  4473. ADD.F32 R0.x, R0, R0.y;
  4474. MOV.S R7.y, R0.x;
  4475. MOV.F R0, c[25];
  4476. DP4.F32 R7.x, R1, R0;
  4477. MOV.F R0, c[21];
  4478. DP4.F32 R0.z, R0, R1;
  4479. MOV.S R0.w, R0.z;
  4480. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  4481. MOV.F R8, c[20];
  4482. DP4.F32 R0.y, R8, R1;
  4483. MOV.S R14.w, R0.z;
  4484. AND.S R0.z, c[12].x, {1048576, 0, 0, 0}.x;
  4485. SEQ.S R0.z, R0, {1048576, 0, 0, 0}.x;
  4486. MOV.U.CC RC.x, -R0.z;
  4487. MOV.F R5.y, R3.w;
  4488. MOV.S R14.y, R3.w;
  4489. MOV.F R6, c[26];
  4490. MOV.S R5.z, R7.y;
  4491. MOV.F R5.w, R7.x;
  4492. DP4.F32 R5.y, R5, R6;
  4493. MOV.F R6, c[19];
  4494. DP4.F32 R0.x, R1, R6;
  4495. MOV.S R15.z, R5.y;
  4496. MOV.S R0.y, R0;
  4497. MOV.S R0.x, R0;
  4498. MOV.S R15.x, R5;
  4499. MOV.S R12.w, R7.x;
  4500. MOV.S R13.z, R7.y;
  4501. MOV.S R3.w, R18.z;
  4502. MOV.S R24.x, R23;
  4503. IF NE.x;
  4504. MOV.S R0.z, {-1, 0, 0, 0}.x;
  4505. ELSE;
  4506. MOV.S R0.z, {0, 0, 0, 0}.x;
  4507. ENDIF;
  4508. SEQ.S R1.x, R0.z, {0, 0, 0, 0};
  4509. MOV.U.CC RC.x, -R1;
  4510. IF NE.x;
  4511. MOV.S R1.x, R23.y;
  4512. ELSE;
  4513. MOV.S R1.x, R21;
  4514. ENDIF;
  4515. SEQ.S R0.z, R0, {0, 0, 0, 0}.x;
  4516. MOV.U.CC RC.x, -R0.z;
  4517. MOV.S R23.y, R1.x;
  4518. IF NE.x;
  4519. MOV.S R0.z, R7.w;
  4520. ELSE;
  4521. MOV.S R0.z, R2
  4522. [17:14:11] Link error in shader. Log:
  4523. [17:14:11] Vertex info
  4524. -----------
  4525. Internal error: assembly compile error for vertex shader at offset 1806:
  4526. -- error message --
  4527. line 38, column 45: error: invalid vertex attribute reference
  4528. line 53, column 25: error: invalid vertex attribute reference
  4529. line 55, column 25: error: invalid vertex attribute reference
  4530. line 61, column 25: error: invalid vertex attribute reference
  4531. line 64, column 25: error: invalid vertex attribute reference
  4532. -- internal assembly text --
  4533. !!NVvp5.0
  4534. OPTION NV_internal;
  4535. OPTION NV_bindless_texture;
  4536. # cgc version 3.4.0001, build date Oct 22 2020
  4537. # command line args:
  4538. #vendor NVIDIA Corporation
  4539. #version 3.4.0.1 COP Build Date Oct 22 2020
  4540. #profile gp5vp
  4541. #program main
  4542. #semantic uf_remappedVS
  4543. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  4544. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  4545. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  4546. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  4547. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  4548. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  4549. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  4550. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  4551. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  4552. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  4553. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  4554. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  4555. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  4556. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  4557. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  4558. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  4559. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  4560. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  4561. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 0
  4562. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  4563. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  4564. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  4565. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  4566. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  4567. #var int4 uf_remappedVS[0] : : c[0], 35 : -1 : 1
  4568. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  4569. PARAM c[35] = { program.local[0..34] };
  4570. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  4571. OUTPUT result_attrib[] = { result.attrib[0..4] };
  4572. 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;
  4573. TEMP T;
  4574. TEMP RC;
  4575. SHORT TEMP HC;
  4576. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  4577. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4578. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  4579. OR.U R0, R0, R1;
  4580. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  4581. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4582. OR.U R0, R0, R1;
  4583. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  4584. OR.U R19, R0, R2;
  4585. SHR.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  4586. AND.U R3, R2, {65280, 0, 0, 0}.x;
  4587. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  4588. OR.U R2, R2, R3;
  4589. MOV.U R0.x, R19.w;
  4590. MOV.F R0.y, c[0].x;
  4591. ADD.F32 R1.x, -R0, R0.y;
  4592. MOV.S R1.y, R1.x;
  4593. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  4594. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4595. OR.U R0, R2, R0;
  4596. SHL.U R3, vertex.attrib[16], {24, 0, 0, 0}.x;
  4597. OR.U R5, R0, R3;
  4598. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  4599. AND.U R3, R2, {65280, 0, 0, 0}.x;
  4600. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  4601. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  4602. TRUNC.U R1.x, R1;
  4603. SEQ.U R1.z, R1.x, {1, 0, 0, 0}.x;
  4604. SEQ.U R12.x, -R1.z, {1, 0, 0, 0};
  4605. SHR.U R1.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  4606. AND.U R11.xy, R1.zwzw, {65280, 0, 0, 0}.x;
  4607. SHR.U R1.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  4608. MOV.U.CC RC.x, -R12;
  4609. OR.U R2, R2, R3;
  4610. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  4611. AND.U R3, R0, {16711680, 0, 0, 0}.x;
  4612. OR.U R2, R2, R3;
  4613. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  4614. OR.U R6, R2, R0;
  4615. SHR.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  4616. AND.U R3, R2, {65280, 0, 0, 0}.x;
  4617. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  4618. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  4619. OR.U R2, R2, R3;
  4620. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4621. OR.U R0, R2, R0;
  4622. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  4623. OR.U R7, R0, R3;
  4624. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  4625. AND.U R2, R0, {65280, 0, 0, 0}.x;
  4626. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  4627. OR.U R0, R0, R2;
  4628. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  4629. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  4630. OR.U R0, R0, R2;
  4631. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  4632. OR.U R8, R0, R3;
  4633. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  4634. AND.U R2, R0, {65280, 0, 0, 0}.x;
  4635. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  4636. OR.U R0, R0, R2;
  4637. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  4638. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  4639. OR.U R0, R0, R2;
  4640. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  4641. OR.U R9, R0, R3;
  4642. SHR.U R0, vertex.attrib[4], {8, 0, 0, 0}.x;
  4643. AND.U R2, R0, {65280, 0, 0, 0}.x;
  4644. SHR.U R0, vertex.attrib[4], {24, 0, 0, 0}.x;
  4645. OR.U R0, R0, R2;
  4646. SHL.U R3, vertex.attrib[4], {8, 0, 0, 0}.x;
  4647. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  4648. OR.U R0, R0, R2;
  4649. SHL.U R3, vertex.attrib[4], {24, 0, 0, 0}.x;
  4650. OR.U R16, R0, R3;
  4651. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4652. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4653. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4654. OR.U R0.xyz, R0, R2;
  4655. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  4656. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4657. OR.U R0.xyz, R0, R2;
  4658. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  4659. OR.U R21.xyz, R0, R3;
  4660. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4661. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4662. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4663. OR.U R0.xyz, R0, R2;
  4664. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4665. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4666. OR.U R0.xyz, R0, R2;
  4667. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4668. OR.U R17.xyz, R0.yxzw, R3.yxzw;
  4669. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4670. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4671. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4672. OR.U R0.xyz, R0, R2;
  4673. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  4674. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4675. OR.U R0.xyz, R0, R2;
  4676. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  4677. OR.U R20.xyz, R0, R3;
  4678. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4679. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4680. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4681. OR.U R0.xyz, R0, R2;
  4682. SHL.U R3.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  4683. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4684. OR.U R0.xyz, R0, R2;
  4685. SHL.U R3.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  4686. OR.U R23.xyz, R0, R3;
  4687. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4688. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4689. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4690. OR.U R0.xyz, R0, R2;
  4691. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4692. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4693. OR.U R0.xyz, R0, R2;
  4694. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4695. OR.U R10.xyz, R0, R3;
  4696. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  4697. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  4698. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  4699. OR.U R0.xyz, R0, R2;
  4700. SHL.U R3.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  4701. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  4702. OR.U R0.xyz, R0, R2;
  4703. SHL.U R3.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  4704. OR.U R22.xyz, R0, R3;
  4705. OR.U R1.zw, R1, R11.xyxy;
  4706. SHL.U R11.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  4707. AND.U R11.xy, R11.zwzw, {16711680, 0, 0, 0}.x;
  4708. OR.U R1.zw, R1, R11.xyxy;
  4709. SHL.U R11.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  4710. OR.U R24.xy, R1.zwzw, R11.zwzw;
  4711. MOV.S R2, {0, 0, 0, 0}.x;
  4712. MOV.S R4, {0, 0, 0, 0}.x;
  4713. MOV.S R3, {0, 0, 0, 0}.x;
  4714. MOV.S R0, {0, 0, 0, 0}.x;
  4715. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  4716. MOV.S R1.zw, {0, 0, 0, 0};
  4717. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  4718. IF NE.x;
  4719. MOV.F R2.x, c[1].y;
  4720. MUL.F32 R2.z, R2.x, {5, 0, 0, 0}.x;
  4721. MOV.S R2.xyw, {0, 0, 0, 0}.xyzx;
  4722. MOV.S R2.z, R2;
  4723. MOV.S R19.x, {0, 0, 0, 0};
  4724. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  4725. ENDIF;
  4726. SEQ.U R1.x, R1, {0, 0, 0, 0};
  4727. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  4728. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  4729. MOV.U.CC RC.x, -R1;
  4730. IF NE.x;
  4731. MOV.S R16.w, {0, 0, 0, 0}.x;
  4732. ENDIF;
  4733. SEQ.S R1.x, R16.w, {0, 0, 0, 0};
  4734. SEQ.U R11.x, -R1, {1, 0, 0, 0};
  4735. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  4736. MOV.U.CC RC.x, -R11.y;
  4737. MOV.U R1.x, -R1;
  4738. MOV.U R11.x, -R11;
  4739. IF NE.x;
  4740. MOV.F R1.z, R6.w;
  4741. TRUNC.S R1.z, R1;
  4742. I2F.S R1.z, R1;
  4743. MOV.F R11.y, R1;
  4744. SGE.F32 R11.y, R11, R1.z;
  4745. SEQ.U R11.z, R11.x, {1, 0, 0, 0}.x;
  4746. TRUNC.U R11.y, R11;
  4747. SEQ.U R11.x, R11.y, {1, 0, 0, 0};
  4748. AND.U R16.w, -R11.x, -R11.z;
  4749. MOV.S R1.z, R1;
  4750. ELSE;
  4751. MOV.U R16.w, {0, 0, 0, 0}.x;
  4752. ENDIF;
  4753. SEQ.U R11.x, R16.w, {1, 0, 0, 0};
  4754. MOV.U.CC RC.x, -R11;
  4755. IF NE.x;
  4756. MOV.F R1.w, c[1].y;
  4757. MUL.F32 R1.w, R1, {5, 0, 0, 0}.x;
  4758. MOV.S R2.z, R1.w;
  4759. MOV.S R2.xy, {0, 0, 0, 0};
  4760. MOV.S R19.x, {0, 0, 0, 0};
  4761. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  4762. ENDIF;
  4763. SEQ.U R1.x, R1, {1, 0, 0, 0};
  4764. SEQ.U R11.y, -R1.x, {1, 0, 0, 0}.x;
  4765. MOV.U.CC RC.x, -R11.y;
  4766. MOV.U R11.x, -R1;
  4767. IF NE.x;
  4768. SEQ.S R1.x, R1.w, {0, 0, 0, 0};
  4769. SEQ.U R11.x, R11, {1, 0, 0, 0};
  4770. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  4771. AND.U R16.w, -R1.x, -R11.x;
  4772. ELSE;
  4773. MOV.U R16.w, {0, 0, 0, 0}.x;
  4774. ENDIF;
  4775. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  4776. MOV.U.CC RC.x, -R1;
  4777. IF NE.x;
  4778. MOV.F R1.x, c[2];
  4779. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  4780. TRUNC.U.CC HC.x, R1;
  4781. IF NE.x;
  4782. MOV.F R1.x, {1, 0, 0, 0};
  4783. ELSE;
  4784. MOV.F R1.x, {0, 0, 0, 0};
  4785. ENDIF;
  4786. MOV.F R1.w, R20.x;
  4787. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  4788. MOV.S R14.y, R1.w;
  4789. MOV.F R1.w, c[2].x;
  4790. SGT.F32 R1.w, R1, {0, 0, 0, 0}.x;
  4791. TRUNC.U.CC HC.x, R1.w;
  4792. MOV.S R14.x, R1;
  4793. IF NE.x;
  4794. MOV.F R1.x, {1, 0, 0, 0};
  4795. ELSE;
  4796. MOV.F R1.x, {0, 0, 0, 0};
  4797. ENDIF;
  4798. MOV.F R1.w, R20.x;
  4799. SNE.F32 R10.w, R1, {0, 0, 0, 0}.x;
  4800. MOV.F R6.w, c[3].y;
  4801. MUL.F32 R1.w, R1, R6;
  4802. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  4803. TRUNC.U R10.w, R10;
  4804. TRUNC.U R6.w, R6;
  4805. AND.U.CC HC.x, R10.w, R6.w;
  4806. MOV.S R14.z, R1.x;
  4807. IF NE.x;
  4808. MOV.F R6.w, R1;
  4809. ELSE;
  4810. MOV.F R6.w, {0, 0, 0, 0}.x;
  4811. ENDIF;
  4812. MOV.F R11.z, R1.y;
  4813. DIV.F32 R1.z, R11, R1.z;
  4814. SNE.F32 R10.w, R1.z, {0, 0, 0, 0}.x;
  4815. MOV.F R1.w, R14.x;
  4816. MOV.F R1.x, R14.z;
  4817. ADD.F32 R1.x, R1, -R1.w;
  4818. ADD.F32 R1.w, -R1.x, {1, 0, 0, 0}.x;
  4819. SNE.F32 R11.y, -R1.x, {-1, 0, 0, 0}.x;
  4820. MUL.F32 R1.w, R1.z, R1;
  4821. MOV.S R11.x, R1;
  4822. MOV.F R1.x, R14.y;
  4823. MIN.F R11.w, R1.x, {0, 0, 0, 0}.x;
  4824. MOV.F R1.x, R17.y;
  4825. ADD.F32 R1.x, R1, R11.w;
  4826. MOV.F R12.x, c[2];
  4827. RCP.F32 R11.w, R12.x;
  4828. MAD.F32 R6.w, R11.z, R11, R6;
  4829. MOV.S R14.y, R6.w;
  4830. MOV.F R11.z, c[5].x;
  4831. MOV.F R6.w, c[4].x;
  4832. ADD.F32 R6.w, -R6, R11.z;
  4833. MOV.F R11.z, c[4].y;
  4834. MOV.F R11.w, c[5].y;
  4835. ADD.F32 R11.w, -R11.z, R11;
  4836. TRUNC.U R10.w, R10;
  4837. TRUNC.U R11.y, R11;
  4838. AND.U.CC HC.x, R10.w, R11.y;
  4839. MOV.S R1.z, R1;
  4840. MOV.S R1.x, R1;
  4841. MOV.S R11.z, R6.w;
  4842. MOV.S R12.z, R11.w;
  4843. IF NE.x;
  4844. ELSE;
  4845. MOV.F R1.w, {0, 0, 0, 0}.x;
  4846. ENDIF;
  4847. MOV.F R10.w, R11.x;
  4848. MOV.F R6.w, R14.y;
  4849. FRC.F32 R11.y, R6.w;
  4850. SNE.F32 R11.w, R11.y, {0, 0, 0, 0}.x;
  4851. MUL.F32 R6.w, R10, R11.y;
  4852. TRUNC.U R12.y, R11.w;
  4853. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  4854. TRUNC.U R10.w, R10;
  4855. AND.U.CC HC.x, R10.w, R12.y;
  4856. MOV.F R11.y, c[6].x;
  4857. MOV.F R11.x, c[5];
  4858. ADD.F32 R11.x, -R11, R11.y;
  4859. MOV.F R11.w, c[5].z;
  4860. MOV.F R11.y, c[4].z;
  4861. ADD.F32 R11.y, -R11, R11.w;
  4862. MOV.F R12.x, c[5].w;
  4863. MOV.F R11.w, c[4];
  4864. ADD.F32 R11.w, -R11, R12.x;
  4865. MOV.S R11.x, R11;
  4866. MOV.S R11.y, R11;
  4867. MOV.S R13.z, R11.w;
  4868. MOV.S R12.x, R1.w;
  4869. IF NE.x;
  4870. MOV.F R1.w, R6;
  4871. ELSE;
  4872. MOV.F R1.w, {0, 0, 0, 0}.x;
  4873. ENDIF;
  4874. MOV.F R10.w, R12.z;
  4875. MOV.F R11.w, R13.z;
  4876. MOV.F R6.w, R11.z;
  4877. DIV.F32 R11.z, R6.w, R11.w;
  4878. DIV.F32 R10.w, R10, R11.w;
  4879. MOV.F R6.w, R12.x;
  4880. MOV.S R12.x, R10.w;
  4881. MOV.F R10.w, R11.y;
  4882. DIV.F32 R10.w, R10, R11.w;
  4883. MOV.S R1.w, R1;
  4884. ADD.F32 R11.w, R6, R1;
  4885. MOV.F R12.z, c[4].w;
  4886. ADD.F32 R11.y, R11.w, -R12.z;
  4887. SNE.F32 R12.w, R11, R12.z;
  4888. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  4889. MUL.F32 R1.w, R11.y, R10;
  4890. MOV.F R10.w, c[5];
  4891. ADD.F32 R12.y, R11.w, -R10.w;
  4892. MOV.S R14.x, R11.y;
  4893. MOV.S R11.y, R11.w;
  4894. MOV.F R13.y, c[6].w;
  4895. MOV.F R11.w, c[5].z;
  4896. MOV.F R12.z, c[6];
  4897. ADD.F32 R12.z, -R11.w, R12;
  4898. TRUNC.U R11.w, R12;
  4899. TRUNC.U R6.w, R6;
  4900. AND.U.CC HC.x, R11.w, R6.w;
  4901. MOV.F R13.x, c[6].y;
  4902. MOV.F R12.w, c[5].y;
  4903. ADD.F32 R12.w, -R12, R13.x;
  4904. ADD.F32 R10.w, -R10, R13.y;
  4905. MOV.S R11.z, R11;
  4906. MOV.S R12.y, R12;
  4907. MOV.S R12.z, R12;
  4908. MOV.S R12.w, R12;
  4909. MOV.S R13.x, R10.w;
  4910. IF NE.x;
  4911. ELSE;
  4912. MOV.F R1.w, {0, 0, 0, 0}.x;
  4913. ENDIF;
  4914. MOV.F R11.w, R12.x;
  4915. MOV.F R10.w, R14.x;
  4916. MUL.F32 R6.w, R10, R11;
  4917. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  4918. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  4919. TRUNC.U R10.w, R10;
  4920. TRUNC.U R11.w, R11;
  4921. AND.U.CC HC.x, R10.w, R11.w;
  4922. MOV.S R13.y, R1.w;
  4923. IF NE.x;
  4924. MOV.F R1.w, R6;
  4925. ELSE;
  4926. MOV.F R1.w, {0, 0, 0, 0}.x;
  4927. ENDIF;
  4928. MOV.F R10.w, R14.x;
  4929. MUL.F32 R6.w, R10, R11.z;
  4930. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  4931. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  4932. TRUNC.U R10.w, R10;
  4933. TRUNC.U R11.z, R11;
  4934. AND.U.CC HC.x, R10.w, R11.z;
  4935. MOV.S R13.z, R1.w;
  4936. IF NE.x;
  4937. MOV.F R1.w, R6;
  4938. ELSE;
  4939. MOV.F R1.w, {0, 0, 0, 0}.x;
  4940. ENDIF;
  4941. MOV.F R6.w, R14.x;
  4942. SGE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  4943. TRUNC.U.CC HC.x, R6.w;
  4944. MOV.S R13.w, R1;
  4945. IF NE.x;
  4946. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  4947. ELSE;
  4948. MOV.S R1.w, {0, 0, 0, 0}.x;
  4949. ENDIF;
  4950. MOV.F R10.w, R13;
  4951. MOV.F R6.w, c[4].x;
  4952. ADD.F32 R6.w, R6, R10;
  4953. MOV.F R10.w, R12.y;
  4954. MOV.S R12.x, R6.w;
  4955. SGE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  4956. TRUNC.U.CC HC.x, R6.w;
  4957. IF NE.x;
  4958. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  4959. ELSE;
  4960. MOV.S R10.w, {0, 0, 0, 0}.x;
  4961. ENDIF;
  4962. MOV.F R11.w, R13.x;
  4963. MOV.F R6.w, R12;
  4964. DIV.F32 R6.w, R6, R11.w;
  4965. DIV.F32 R12.z, R12, R11.w;
  4966. MOV.F R11.z, R13;
  4967. MOV.S R13.z, R6.w;
  4968. MOV.F R6.w, R13.y;
  4969. MOV.F R13.x, c[4].z;
  4970. DIV.F32 R11.w, R11.x, R11.w;
  4971. MOV.F R12.w, R12.y;
  4972. MOV.S R13.y, R12.z;
  4973. SNE.F32 R12.z, R11.w, {0, 0, 0, 0}.x;
  4974. MUL.F32 R11.x, R12.w, R11.w;
  4975. MOV.F R11.w, c[4].y;
  4976. ADD.F32 R11.z, R11.w, R11;
  4977. MOV.S R11.w, R11.z;
  4978. MOV.F R11.z, c[6].w;
  4979. ADD.F32 R11.y, R11, -R11.z;
  4980. ADD.F32 R6.w, R13.x, R6;
  4981. MOV.S R11.z, R6.w;
  4982. MOV.S R13.x, R11.y;
  4983. MOV.F R6.w, R10;
  4984. SNE.F32 R11.y, R12.w, {0, 0, 0, 0}.x;
  4985. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  4986. TRUNC.U R12.z, R12;
  4987. TRUNC.U R11.y, R11;
  4988. AND.U.CC HC.x, R11.y, R12.z;
  4989. MOV.S R6.w, R6;
  4990. IF NE.x;
  4991. ELSE;
  4992. MOV.F R11.x, {0, 0, 0, 0};
  4993. ENDIF;
  4994. MOV.F R11.y, R13.x;
  4995. SGE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  4996. TRUNC.U.CC HC.x, R11.y;
  4997. MOV.S R14.x, R11;
  4998. IF NE.x;
  4999. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  5000. ELSE;
  5001. MOV.S R12.z, {0, 0, 0, 0}.x;
  5002. ENDIF;
  5003. MOV.F R12.w, R13.y;
  5004. MOV.F R11.y, R12;
  5005. MUL.F32 R11.x, R11.y, R12.w;
  5006. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  5007. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5008. TRUNC.U R12.w, R12;
  5009. TRUNC.U R11.y, R11;
  5010. AND.U.CC HC.x, R11.y, R12.w;
  5011. IF NE.x;
  5012. ELSE;
  5013. MOV.F R11.x, {0, 0, 0, 0};
  5014. ENDIF;
  5015. MOV.F R12.w, R13.z;
  5016. MUL.F32 R11.y, R12, R12.w;
  5017. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  5018. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  5019. TRUNC.U R12.y, R12;
  5020. TRUNC.U R12.w, R12;
  5021. AND.U.CC HC.x, R12.y, R12.w;
  5022. MOV.S R14.z, R11.x;
  5023. IF NE.x;
  5024. MOV.F R11.x, R11.y;
  5025. ELSE;
  5026. MOV.F R11.x, {0, 0, 0, 0};
  5027. ENDIF;
  5028. MOV.F R12.y, R6.w;
  5029. MOV.F R11.y, R1.w;
  5030. MUL.F32 R6.w, R11.y, R12.y;
  5031. MOV.S R14.w, R11.x;
  5032. SNE.F32 R11.x, R11.y, {0, 0, 0, 0};
  5033. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  5034. TRUNC.U R11.y, R12;
  5035. TRUNC.U R11.x, R11;
  5036. AND.U.CC HC.x, R11, R11.y;
  5037. IF NE.x;
  5038. ELSE;
  5039. MOV.F R6.w, {0, 0, 0, 0}.x;
  5040. ENDIF;
  5041. MOV.F R11.y, R14.z;
  5042. MOV.F R11.x, c[5].z;
  5043. ADD.F32 R11.x, R11, R11.y;
  5044. MOV.S R12.w, R11.x;
  5045. MOV.F R11.x, R12;
  5046. MOV.F R12.x, R14.w;
  5047. MOV.F R11.y, c[5];
  5048. ADD.F32 R11.y, R11, R12.x;
  5049. MOV.S R12.x, R11.y;
  5050. MOV.F R12.y, R14.x;
  5051. MOV.F R11.y, c[5].x;
  5052. ADD.F32 R11.y, R11, R12;
  5053. MOV.S R12.y, R6.w;
  5054. MOV.S R6.w, R12.y;
  5055. MOV.F R13.x, R6.w;
  5056. MUL.F32 R6.w, R11.x, R13.x;
  5057. SNE.F32 R13.y, R11.x, {0, 0, 0, 0}.x;
  5058. MOV.S R17.y, R12;
  5059. MOV.F R12.y, R12.z;
  5060. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  5061. ADD.F32 R12.y, -R12, {1, 0, 0, 0}.x;
  5062. TRUNC.U R11.x, R13.y;
  5063. TRUNC.U R13.x, R13;
  5064. AND.U.CC HC.x, R11, R13;
  5065. MOV.S R11.y, R11;
  5066. MOV.S R13.z, R12.y;
  5067. IF NE.x;
  5068. MOV.F R11.x, R6.w;
  5069. ELSE;
  5070. MOV.F R11.x, {0, 0, 0, 0};
  5071. ENDIF;
  5072. MOV.F R13.x, R12.z;
  5073. MOV.F R12.y, c[6].x;
  5074. MUL.F32 R6.w, R12.y, R13.x;
  5075. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  5076. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  5077. TRUNC.U R13.x, R13;
  5078. TRUNC.U R12.y, R12;
  5079. AND.U.CC HC.x, R12.y, R13;
  5080. MOV.S R11.x, R11;
  5081. IF NE.x;
  5082. MOV.F R12.y, R6.w;
  5083. ELSE;
  5084. MOV.F R12.y, {0, 0, 0, 0}.x;
  5085. ENDIF;
  5086. MOV.F R13.x, c[6].y;
  5087. MOV.F R13.y, R12.z;
  5088. MUL.F32 R6.w, R13.x, R13.y;
  5089. MOV.S R15.x, R12.y;
  5090. SNE.F32 R12.y, R13.x, {0, 0, 0, 0}.x;
  5091. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  5092. TRUNC.U R13.x, R13.y;
  5093. TRUNC.U R12.y, R12;
  5094. AND.U.CC HC.x, R12.y, R13;
  5095. IF NE.x;
  5096. ELSE;
  5097. MOV.F R6.w, {0, 0, 0, 0}.x;
  5098. ENDIF;
  5099. MOV.F R13.x, R13.z;
  5100. MOV.F R12.y, R10.w;
  5101. SNE.F32 R13.y, R13.x, {0, 0, 0, 0}.x;
  5102. MUL.F32 R10.w, R12.y, R13.x;
  5103. SNE.F32 R13.x, R12.y, {0, 0, 0, 0};
  5104. MOV.S R12.y, R6.w;
  5105. TRUNC.U R13.y, R13;
  5106. TRUNC.U R6.w, R13.x;
  5107. AND.U.CC HC.x, R6.w, R13.y;
  5108. IF NE.x;
  5109. ELSE;
  5110. MOV.F R10.w, {0, 0, 0, 0}.x;
  5111. ENDIF;
  5112. MOV.F R13.x, R12.z;
  5113. MOV.F R12.z, c[6];
  5114. MUL.F32 R6.w, R12.z, R13.x;
  5115. MOV.S R14.z, R10.w;
  5116. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  5117. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  5118. TRUNC.U R12.z, R13.x;
  5119. TRUNC.U R10.w, R10;
  5120. AND.U.CC HC.x, R10.w, R12.z;
  5121. IF NE.x;
  5122. MOV.F R10.w, R6;
  5123. ELSE;
  5124. MOV.F R10.w, {0, 0, 0, 0}.x;
  5125. ENDIF;
  5126. MOV.F R12.z, R17.y;
  5127. MUL.F32 R6.w, R11, R12.z;
  5128. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  5129. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  5130. TRUNC.U R11.w, R11;
  5131. TRUNC.U R12.z, R12;
  5132. AND.U.CC HC.x, R11.w, R12.z;
  5133. MOV.S R17.w, R10;
  5134. IF NE.x;
  5135. MOV.F R10.w, R6;
  5136. ELSE;
  5137. MOV.F R10.w, {0, 0, 0, 0}.x;
  5138. ENDIF;
  5139. MOV.F R11.w, R12.x;
  5140. MOV.F R12.z, R14;
  5141. MUL.F32 R6.w, R11, R12.z;
  5142. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  5143. TRUNC.U R12.x, R11.w;
  5144. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  5145. TRUNC.U R12.z, R12;
  5146. AND.U.CC HC.x, R12, R12.z;
  5147. MOV.S R11.w, R10;
  5148. IF NE.x;
  5149. MOV.F R10.w, R6;
  5150. ELSE;
  5151. MOV.F R10.w, {0, 0, 0, 0}.x;
  5152. ENDIF;
  5153. MOV.F R12.x, R14.z;
  5154. MUL.F32 R6.w, R11.y, R12.x;
  5155. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  5156. TRUNC.U R12.z, R12.x;
  5157. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5158. TRUNC.U R11.y, R11;
  5159. AND.U.CC HC.x, R11.y, R12.z;
  5160. MOV.S R12.x, R10.w;
  5161. IF NE.x;
  5162. ELSE;
  5163. MOV.F R6.w, {0, 0, 0, 0}.x;
  5164. ENDIF;
  5165. MOV.F R11.y, R11.z;
  5166. MOV.F R12.z, R17.y;
  5167. MUL.F32 R10.w, R11.y, R12.z;
  5168. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  5169. TRUNC.U R11.z, R11.y;
  5170. SNE.F32 R12.z, R12, {0, 0, 0, 0}.x;
  5171. TRUNC.U R12.z, R12;
  5172. AND.U.CC HC.x, R11.z, R12.z;
  5173. MOV.S R11.y, R6.w;
  5174. IF NE.x;
  5175. MOV.F R6.w, R10;
  5176. ELSE;
  5177. MOV.F R6.w, {0, 0, 0, 0}.x;
  5178. ENDIF;
  5179. MOV.F R12.z, R14;
  5180. MOV.F R11.z, R12.w;
  5181. MUL.F32 R10.w, R11.z, R12.z;
  5182. SNE.F32 R12.w, R12.z, {0, 0, 0, 0}.x;
  5183. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  5184. TRUNC.U R12.z, R11;
  5185. TRUNC.U R12.w, R12;
  5186. AND.U.CC HC.x, R12.z, R12.w;
  5187. MOV.S R11.z, R6.w;
  5188. IF NE.x;
  5189. MOV.F R6.w, R10;
  5190. ELSE;
  5191. MOV.F R6.w, {0, 0, 0, 0}.x;
  5192. ENDIF;
  5193. MOV.F R10.w, R1;
  5194. ADD.F32 R12.z, -R10.w, {1, 0, 0, 0}.x;
  5195. MOV.F R12.w, c[4].x;
  5196. MOV.S R15.w, R6;
  5197. MUL.F32 R1.w, R12.z, R12;
  5198. MOV.S R6.w, R12.z;
  5199. SNE.F32 R12.z, -R10.w, {-1, 0, 0, 0}.x;
  5200. SNE.F32 R10.w, R12, {0, 0, 0, 0}.x;
  5201. TRUNC.U R12.z, R12;
  5202. TRUNC.U R10.w, R10;
  5203. AND.U.CC HC.x, R10.w, R12.z;
  5204. IF NE.x;
  5205. ELSE;
  5206. MOV.F R1.w, {0, 0, 0, 0}.x;
  5207. ENDIF;
  5208. MOV.F R12.z, R20.y;
  5209. MOV.F R10.w, R20.x;
  5210. ADD.F32 R10.w, R10, R12.z;
  5211. MOV.F R12.z, c[4];
  5212. MOV.S R14.x, R1.w;
  5213. SNE.F32 R1.w, R12.z, {0, 0, 0, 0}.x;
  5214. MOV.F R12.w, R6;
  5215. MOV.S R17.y, R10.w;
  5216. MUL.F32 R10.w, R12.z, R12;
  5217. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  5218. TRUNC.U R12.z, R12.w;
  5219. TRUNC.U R1.w, R1;
  5220. AND.U.CC HC.x, R1.w, R12.z;
  5221. IF NE.x;
  5222. ELSE;
  5223. MOV.F R10.w, {0, 0, 0, 0}.x;
  5224. ENDIF;
  5225. MOV.F R12.z, R6.w;
  5226. MOV.F R6.w, c[4].y;
  5227. MUL.F32 R1.w, R6, R12.z;
  5228. MOV.S R15.z, R10.w;
  5229. SNE.F32 R10.w, R12.z, {0, 0, 0, 0}.x;
  5230. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5231. TRUNC.U R10.w, R10;
  5232. TRUNC.U R6.w, R6;
  5233. AND.U.CC HC.x, R6.w, R10.w;
  5234. IF NE.x;
  5235. MOV.F R12.z, R1.w;
  5236. ELSE;
  5237. MOV.F R12.z, {0, 0, 0, 0}.x;
  5238. ENDIF;
  5239. MOV.F R6.w, {1, 0, 0, 0}.x;
  5240. DP4.F32 R1.w, R7, R6;
  5241. MOV.S R7.w, R1;
  5242. DP4.F32 R1.w, R6, R9;
  5243. MOV.F R13, R8;
  5244. DP4.F32 R7.x, R6, R13;
  5245. MOV.F R6.y, R14.x;
  5246. MOV.F R6.x, R11;
  5247. ADD.F32 R6.y, R6.x, R6;
  5248. MOV.F R6.x, R11.y;
  5249. ADD.F32 R6.y, R6.x, R6;
  5250. MOV.F R6.x, R15;
  5251. SNE.F32 R6.z, R6.x, -R6.y;
  5252. ADD.F32 R6.x, R6, R6.y;
  5253. MOV.F R6.y, R1.x;
  5254. MUL.F32 R1.x, R6.y, R6;
  5255. MOV.F R6.x, R11.w;
  5256. ADD.F32 R6.x, R6, R12.z;
  5257. TRUNC.U R6.z, R6;
  5258. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5259. MOV.S R14.x, R6;
  5260. TRUNC.U R6.x, R6.y;
  5261. AND.U.CC HC.x, R6, R6.z;
  5262. MOV.S R10.w, R7.x;
  5263. MOV.S R1.w, R1;
  5264. IF NE.x;
  5265. ELSE;
  5266. MOV.F R1.x, {0, 0, 0, 0};
  5267. ENDIF;
  5268. MOV.F R6.x, R12;
  5269. MOV.F R6.y, R14.x;
  5270. ADD.F32 R6.y, R6.x, R6;
  5271. MOV.F R6.x, R12.y;
  5272. ADD.F32 R6.x, R6, R6.y;
  5273. MOV.S R14.z, R6.x;
  5274. MOV.F R7.x, R20.z;
  5275. MOV.F R6.x, R20;
  5276. ADD.F32 R6.y, R6.x, R7.x;
  5277. MAD.F32 R7.y, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  5278. ADD.F32 R6.x, R6, {-0.5, 0, 0, 0};
  5279. MOV.F R6.y, R15.w;
  5280. MOV.F R6.w, R15.z;
  5281. MOV.F R6.z, R11;
  5282. ADD.F32 R6.z, R6, R6.w;
  5283. ADD.F32 R6.w, R6.y, R6.z;
  5284. MOV.S R6.z, R7.y;
  5285. MOV.F R7.y, R17.w;
  5286. ADD.F32 R6.y, R7, R6.w;
  5287. MOV.S R7.z, R6;
  5288. SNE.F32 R6.w, R7.y, -R6;
  5289. MUL.F32 R7.y, R7.z, {2, 0, 0, 0}.x;
  5290. MOV.F R6.z, R17;
  5291. MOV.F R7.z, R20.y;
  5292. ADD.F32 R7.x, R7, R7.z;
  5293. MUL.F32 R6.y, R6.z, R6;
  5294. MOV.S R13.y, R7;
  5295. MOV.F R7.y, R17;
  5296. MAD.F32 R7.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  5297. MOV.S R9.x, R6;
  5298. ADD.F32 R6.x, R7.z, {-0.5, 0, 0, 0};
  5299. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5300. MOV.S R7.y, R7;
  5301. MAD.F32 R8.x, R7, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  5302. MOV.S R7.x, R7.y;
  5303. MUL.F32 R7.x, R7, {2, 0, 0, 0};
  5304. TRUNC.U R6.w, R6;
  5305. TRUNC.U R6.z, R6;
  5306. AND.U.CC HC.x, R6.z, R6.w;
  5307. MOV.S R7.y, R8.x;
  5308. MOV.S R15.w, R7.x;
  5309. MUL.F32 R7.x, R7.y, {2, 0, 0, 0};
  5310. MOV.S R17.w, R7.x;
  5311. MOV.S R6.x, R6;
  5312. MOV.S R9.y, R1.x;
  5313. IF NE.x;
  5314. MOV.F R1.x, R6.y;
  5315. ELSE;
  5316. MOV.F R1.x, {0, 0, 0, 0};
  5317. ENDIF;
  5318. MOV.F R6.w, R14.z;
  5319. MOV.F R6.z, R17.x;
  5320. MUL.F32 R6.y, R6.z, R6.w;
  5321. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5322. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5323. TRUNC.U R6.w, R6;
  5324. TRUNC.U R6.z, R6;
  5325. AND.U.CC HC.x, R6.z, R6.w;
  5326. MOV.S R17.z, R1.x;
  5327. IF NE.x;
  5328. MOV.F R1.x, R6.y;
  5329. ELSE;
  5330. MOV.F R1.x, {0, 0, 0, 0};
  5331. ENDIF;
  5332. MOV.F R6.z, R13.y;
  5333. MOV.F R6.w, c[7].z;
  5334. MUL.F32 R6.y, R6.z, R6.w;
  5335. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  5336. MOV.F R6.z, R20;
  5337. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  5338. TRUNC.U R7.x, R7;
  5339. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5340. MOV.S R8.z, R6;
  5341. TRUNC.U R6.z, R6.w;
  5342. AND.U.CC HC.x, R7, R6.z;
  5343. MOV.S R9.w, R1.x;
  5344. IF NE.x;
  5345. MOV.F R1.x, R6.y;
  5346. ELSE;
  5347. MOV.F R1.x, {0, 0, 0, 0};
  5348. ENDIF;
  5349. MOV.F R6.w, c[7].x;
  5350. MOV.F R6.z, R15.w;
  5351. MUL.F32 R6.y, R6.z, R6.w;
  5352. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5353. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5354. TRUNC.U R6.z, R6;
  5355. TRUNC.U R6.w, R6;
  5356. AND.U.CC HC.x, R6.z, R6.w;
  5357. MOV.S R14.x, R1;
  5358. IF NE.x;
  5359. MOV.F R1.x, R6.y;
  5360. ELSE;
  5361. MOV.F R1.x, {0, 0, 0, 0};
  5362. ENDIF;
  5363. MOV.F R6.z, R17.w;
  5364. MOV.F R6.w, c[7].y;
  5365. MUL.F32 R6.y, R6.z, R6.w;
  5366. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  5367. MOV.F R6.z, R20.y;
  5368. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  5369. TRUNC.U R7.x, R7;
  5370. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5371. MOV.S R14.z, R6;
  5372. TRUNC.U R6.z, R6.w;
  5373. AND.U.CC HC.x, R7, R6.z;
  5374. MOV.S R14.y, R1.x;
  5375. IF NE.x;
  5376. MOV.F R1.x, R6.y;
  5377. ELSE;
  5378. MOV.F R1.x, {0, 0, 0, 0};
  5379. ENDIF;
  5380. MOV.F R6.z, R14.x;
  5381. MOV.F R6.y, c[8].z;
  5382. ADD.F32 R6.y, R6, R6.z;
  5383. MOV.S R8.y, R6;
  5384. MOV.F R6.z, c[8].x;
  5385. MOV.F R6.y, R14;
  5386. ADD.F32 R6.y, R6, R6.z;
  5387. MOV.F R6.z, R14;
  5388. MOV.S R8.x, R6.y;
  5389. FLR.F R6.y, R6.z;
  5390. MOV.S R6.y, R6;
  5391. MOV.F R6.z, R6.y;
  5392. SGT.F32 R6.w, R6.z, {0, 0, 0, 0}.x;
  5393. MOV.F R6.z, c[8].y;
  5394. ADD.F32 R1.x, R6.z, R1;
  5395. MOV.S R13.w, R6.y;
  5396. MOV.F R6.y, R20.z;
  5397. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  5398. FLR.F R6.y, R6;
  5399. TRUNC.U.CC HC.x, R6.w;
  5400. MOV.S R6.z, R6.y;
  5401. MOV.S R7.z, R1.x;
  5402. IF NE.x;
  5403. MOV.F R1.x, {1, 0, 0, 0};
  5404. ELSE;
  5405. MOV.F R1.x, {0, 0, 0, 0};
  5406. ENDIF;
  5407. MOV.F R6.y, R13.w;
  5408. SGT.F32 R7.x, {0, 0, 0, 0}, R6.y;
  5409. TRUNC.U.CC HC.x, R7;
  5410. MOV.S R17.y, R1.x;
  5411. AND.S R6.w, c[9].x, {65536, 0, 0, 0}.x;
  5412. AND.S R6.y, c[9].x, {262144, 0, 0, 0}.x;
  5413. AND.S R9.z, c[9].x, {131072, 0, 0, 0}.x;
  5414. IF NE.x;
  5415. MOV.F R1.x, {1, 0, 0, 0};
  5416. ELSE;
  5417. MOV.F R1.x, {0, 0, 0, 0};
  5418. ENDIF;
  5419. MOV.S R17.x, R1;
  5420. ENDIF;
  5421. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  5422. MOV.U.CC RC.x, -R1;
  5423. IF NE.x;
  5424. MOV.F R7.y, c[10];
  5425. MOV.F R7.x, R17;
  5426. MOV.F R1.x, R17.y;
  5427. ADD.F32 R1.x, R1, -R7;
  5428. MOV.S R15.x, R1;
  5429. MOV.F R1.x, R9.y;
  5430. MUL.F32 R7.x, R1, R7.y;
  5431. SNE.F32 R9.y, R7, {0, 0, 0, 0}.x;
  5432. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  5433. TRUNC.U R7.y, R1.x;
  5434. TRUNC.U R9.y, R9;
  5435. AND.U.CC HC.x, R7.y, R9.y;
  5436. MOV.S R1.x, R17.z;
  5437. IF NE.x;
  5438. ELSE;
  5439. MOV.F R7.x, {0, 0, 0, 0};
  5440. ENDIF;
  5441. MOV.F R9.y, R9.w;
  5442. MOV.F R11.x, c[10].z;
  5443. MUL.F32 R7.y, R9, R11.x;
  5444. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  5445. TRUNC.U R9.w, R9.y;
  5446. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  5447. TRUNC.U R11.x, R11;
  5448. AND.U.CC HC.x, R9.w, R11;
  5449. MOV.S R9.y, R7.x;
  5450. IF NE.x;
  5451. MOV.F R7.x, R7.y;
  5452. ELSE;
  5453. MOV.F R7.x, {0, 0, 0, 0};
  5454. ENDIF;
  5455. MOV.F R7.y, R1.x;
  5456. MOV.F R9.w, c[10];
  5457. MUL.F32 R1.x, R7.y, R9.w;
  5458. MOV.S R17.z, R7.x;
  5459. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  5460. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  5461. TRUNC.U R7.y, R9.w;
  5462. TRUNC.U R7.x, R7;
  5463. AND.U.CC HC.x, R7, R7.y;
  5464. IF NE.x;
  5465. ELSE;
  5466. MOV.F R1.x, {0, 0, 0, 0};
  5467. ENDIF;
  5468. I2F.S R7.x, R6.w;
  5469. MOV.S R1.x, R1;
  5470. MOV.S R6.w, R1.x;
  5471. MOV.S R1.x, R7;
  5472. MOV.F R7.y, R6.w;
  5473. MOV.F R7.x, R21.z;
  5474. MUL.F32 R6.w, R7.x, R7.y;
  5475. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5476. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  5477. TRUNC.U R7.y, R7;
  5478. TRUNC.U R7.x, R7;
  5479. AND.U.CC HC.x, R7, R7.y;
  5480. IF NE.x;
  5481. ELSE;
  5482. MOV.F R6.w, {0, 0, 0, 0}.x;
  5483. ENDIF;
  5484. MOV.F R7.x, R1;
  5485. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  5486. TRUNC.U.CC HC.x, R7;
  5487. MOV.S R17.x, R6.w;
  5488. IF NE.x;
  5489. MOV.F R6.w, {1, 0, 0, 0}.x;
  5490. ELSE;
  5491. MOV.F R6.w, {0, 0, 0, 0}.x;
  5492. ENDIF;
  5493. MOV.F R7.x, R1;
  5494. MOV.F R1.x, R6.w;
  5495. SGT.F32 R6.w, {0, 0, 0, 0}.x, R7.x;
  5496. TRUNC.U.CC HC.x, R6.w;
  5497. MOV.S R13.y, R1.x;
  5498. IF NE.x;
  5499. MOV.F R1.x, {1, 0, 0, 0};
  5500. ELSE;
  5501. MOV.F R1.x, {0, 0, 0, 0};
  5502. ENDIF;
  5503. MOV.F R6.w, R6.z;
  5504. SGT.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5505. TRUNC.U.CC HC.x, R6.w;
  5506. MOV.S R13.z, R1.x;
  5507. IF NE.x;
  5508. MOV.F R1.x, {1, 0, 0, 0};
  5509. ELSE;
  5510. MOV.F R1.x, {0, 0, 0, 0};
  5511. ENDIF;
  5512. I2F.S R7.x, R9.z;
  5513. MOV.S R6.w, R7.x;
  5514. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  5515. TRUNC.U.CC HC.x, R7;
  5516. MOV.S R15.w, R1.x;
  5517. IF NE.x;
  5518. MOV.F R1.x, {1, 0, 0, 0};
  5519. ELSE;
  5520. MOV.F R1.x, {0, 0, 0, 0};
  5521. ENDIF;
  5522. SGT.F32 R6.w, {0, 0, 0, 0}.x, R6;
  5523. TRUNC.U.CC HC.x, R6.w;
  5524. MOV.S R14.x, R1;
  5525. IF NE.x;
  5526. MOV.F R1.x, {1, 0, 0, 0};
  5527. ELSE;
  5528. MOV.F R1.x, {0, 0, 0, 0};
  5529. ENDIF;
  5530. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  5531. TRUNC.U.CC HC.x, R6.z;
  5532. MOV.S R14.y, R1.x;
  5533. IF NE.x;
  5534. MOV.F R6.z, {1, 0, 0, 0}.x;
  5535. ELSE;
  5536. MOV.F R6.z, {0, 0, 0, 0}.x;
  5537. ENDIF;
  5538. MOV.F R6.w, R13.z;
  5539. MOV.F R1.x, R13.y;
  5540. ADD.F32 R1.x, R1, -R6.w;
  5541. I2F.S R6.w, R6.y;
  5542. MOV.F R6.y, R6.z;
  5543. MOV.S R14.w, R1.x;
  5544. SGT.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  5545. TRUNC.U.CC HC.x, R6.z;
  5546. MOV.S R1.x, R6.w;
  5547. MOV.S R14.z, R6.y;
  5548. IF NE.x;
  5549. MOV.F R6.y, {1, 0, 0, 0}.x;
  5550. ELSE;
  5551. MOV.F R6.y, {0, 0, 0, 0}.x;
  5552. ENDIF;
  5553. MOV.F R6.z, R1.x;
  5554. MOV.F R1.x, R6.y;
  5555. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6.z;
  5556. TRUNC.U.CC HC.x, R6.y;
  5557. MOV.S R13.x, R1;
  5558. IF NE.x;
  5559. MOV.F R1.x, {1, 0, 0, 0};
  5560. ELSE;
  5561. MOV.F R1.x, {0, 0, 0, 0};
  5562. ENDIF;
  5563. MOV.F R6.z, R14.y;
  5564. MOV.F R6.y, R14.x;
  5565. ADD.F32 R6.y, R6, -R6.z;
  5566. MOV.S R13.z, R6.y;
  5567. MOV.F R6.y, R14.w;
  5568. TRUNC.S R6.y, R6;
  5569. MOV.F R6.w, R14.z;
  5570. MOV.F R6.z, R15.w;
  5571. ADD.F32 R6.z, R6, -R6.w;
  5572. MOV.S R15.w, R6.z;
  5573. MOV.F R6.z, R13.x;
  5574. ADD.F32 R1.x, R6.z, -R1;
  5575. MOV.S R14.y, R1.x;
  5576. MOV.F R1.x, R9;
  5577. MOV.F R6.z, c[11].x;
  5578. MOV.S R11.z, R6.y;
  5579. ADD.S R14.x, -R6.y, {0, 0, 0, 0};
  5580. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  5581. TRUNC.U R6.w, R6.y;
  5582. MUL.F32 R1.x, R1, R6.z;
  5583. MOV.F R6.y, R20.x;
  5584. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5585. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  5586. TRUNC.U R6.z, R6;
  5587. AND.U.CC HC.x, R6.w, R6.z;
  5588. MOV.S R14.z, R6.y;
  5589. IF NE.x;
  5590. ELSE;
  5591. MOV.F R1.x, {0, 0, 0, 0};
  5592. ENDIF;
  5593. MOV.F R6.y, R13.z;
  5594. TRUNC.S R6.y, R6;
  5595. MOV.F R6.z, R14;
  5596. FLR.F R6.z, R6;
  5597. MOV.S R13.z, R6;
  5598. MOV.F R6.z, c[11].y;
  5599. MOV.S R12.y, R6;
  5600. ADD.S R13.y, -R6, {0, 0, 0, 0}.x;
  5601. MOV.F R6.y, R6.x;
  5602. MUL.F32 R6.x, R6.y, R6.z;
  5603. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5604. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5605. TRUNC.U R6.y, R6;
  5606. TRUNC.U R6.z, R6;
  5607. AND.U.CC HC.x, R6.y, R6.z;
  5608. MAX.S R13.x, R14, R11.z;
  5609. MOV.S R17.w, R1.x;
  5610. IF NE.x;
  5611. MOV.F R1.x, R6;
  5612. ELSE;
  5613. MOV.F R1.x, {0, 0, 0, 0};
  5614. ENDIF;
  5615. MOV.F R6.x, R14.y;
  5616. TRUNC.S R12.x, R6;
  5617. MOV.F R6.x, R13.z;
  5618. SGT.F32 R6.x, R6, {0, 0, 0, 0};
  5619. TRUNC.U.CC HC.x, R6;
  5620. ADD.S R14.x, -R12, {0, 0, 0, 0};
  5621. MOV.S R11.w, R1.x;
  5622. IF NE.x;
  5623. MOV.F R1.x, {1, 0, 0, 0};
  5624. ELSE;
  5625. MOV.F R1.x, {0, 0, 0, 0};
  5626. ENDIF;
  5627. MOV.F R6.x, R13.z;
  5628. SGT.F32 R6.x, {0, 0, 0, 0}, R6;
  5629. TRUNC.U.CC HC.x, R6;
  5630. MOV.S R14.y, R1.x;
  5631. IF NE.x;
  5632. MOV.F R1.x, {1, 0, 0, 0};
  5633. ELSE;
  5634. MOV.F R1.x, {0, 0, 0, 0};
  5635. ENDIF;
  5636. I2F.S R6.x, R13;
  5637. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  5638. MOV.F R7.x, R15;
  5639. MOV.F R6.w, R14.y;
  5640. ADD.F32 R1.x, R6.w, -R1;
  5641. MOV.S R6.x, R12;
  5642. MOV.S R12.x, R1;
  5643. SNE.F32 R1.x, -R6.z, {0, 0, 0, 0};
  5644. MUL.F32 R6.y, -R6.z, R7.x;
  5645. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  5646. TRUNC.U R6.z, R6.w;
  5647. TRUNC.U R1.x, R1;
  5648. AND.U.CC HC.x, R1, R6.z;
  5649. MAX.S R14.w, R12.y, R13.y;
  5650. IF NE.x;
  5651. MOV.F R1.x, R6.y;
  5652. ELSE;
  5653. MOV.F R1.x, {0, 0, 0, 0};
  5654. ENDIF;
  5655. MOV.F R6.z, c[11];
  5656. MOV.F R6.y, R8.z;
  5657. MAX.S R13.z, R6.x, R14.x;
  5658. MUL.F32 R6.x, R6.y, R6.z;
  5659. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5660. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5661. TRUNC.U R6.y, R6;
  5662. TRUNC.U R6.z, R6;
  5663. AND.U.CC HC.x, R6.y, R6.z;
  5664. MOV.S R13.y, R1.x;
  5665. IF NE.x;
  5666. MOV.F R1.x, R6;
  5667. ELSE;
  5668. MOV.F R1.x, {0, 0, 0, 0};
  5669. ENDIF;
  5670. I2F.S R6.x, R14.w;
  5671. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  5672. MOV.F R6.z, R15.w;
  5673. MUL.F32 R6.x, -R6.y, R6.z;
  5674. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  5675. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5676. TRUNC.U R6.y, R6;
  5677. TRUNC.U R6.z, R6;
  5678. AND.U.CC HC.x, R6.y, R6.z;
  5679. MOV.S R12.w, R1.x;
  5680. IF NE.x;
  5681. MOV.F R1.x, R6;
  5682. ELSE;
  5683. MOV.F R1.x, {0, 0, 0, 0};
  5684. ENDIF;
  5685. MOV.F R6.z, R13.y;
  5686. MOV.F R6.y, R8.x;
  5687. MUL.F32 R6.x, R6.y, R6.z;
  5688. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5689. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5690. TRUNC.U R6.y, R6;
  5691. TRUNC.U R6.z, R6;
  5692. AND.U.CC HC.x, R6.y, R6.z;
  5693. MOV.S R14.x, R1;
  5694. IF NE.x;
  5695. MOV.F R1.x, R6;
  5696. ELSE;
  5697. MOV.F R1.x, {0, 0, 0, 0};
  5698. ENDIF;
  5699. MOV.F R6.z, R13.y;
  5700. MOV.F R6.y, R23.x;
  5701. MUL.F32 R6.x, R6.y, R6.z;
  5702. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5703. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5704. TRUNC.U R6.z, R6;
  5705. TRUNC.U R6.y, R6;
  5706. AND.U.CC HC.x, R6.y, R6.z;
  5707. MOV.S R14.y, R1.x;
  5708. IF NE.x;
  5709. MOV.F R1.x, R6;
  5710. ELSE;
  5711. MOV.F R1.x, {0, 0, 0, 0};
  5712. ENDIF;
  5713. MOV.F R6.x, c[8].w;
  5714. SEQ.F R6.x, R6, {1, 0, 0, 0};
  5715. TRUNC.U.CC HC.x, R6;
  5716. MOV.S R14.z, R1.x;
  5717. IF NE.x;
  5718. MOV.S R1.x, {-1, 0, 0, 0};
  5719. ELSE;
  5720. MOV.S R1.x, {0, 0, 0, 0};
  5721. ENDIF;
  5722. I2F.S R6.x, R13.z;
  5723. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  5724. MOV.F R6.z, R12.x;
  5725. MUL.F32 R6.x, -R6.y, R6.z;
  5726. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5727. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  5728. TRUNC.U R6.z, R6;
  5729. TRUNC.U R6.y, R6;
  5730. AND.U.CC HC.x, R6.y, R6.z;
  5731. IF NE.x;
  5732. ELSE;
  5733. MOV.F R6.x, {0, 0, 0, 0};
  5734. ENDIF;
  5735. MOV.F R6.w, R7.z;
  5736. MOV.F R6.y, R23.x;
  5737. MOV.F R6.z, R14;
  5738. ADD.F32 R6.z, R6.y, R6;
  5739. MOV.F R7.x, R14;
  5740. MOV.S R13.y, R6.z;
  5741. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  5742. MUL.F32 R6.y, R6.w, R7.x;
  5743. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  5744. TRUNC.U R6.z, R6;
  5745. TRUNC.U R6.w, R6;
  5746. AND.U.CC HC.x, R6.z, R6.w;
  5747. MOV.S R13.x, R6;
  5748. IF NE.x;
  5749. MOV.F R6.x, R6.y;
  5750. ELSE;
  5751. MOV.F R6.x, {0, 0, 0, 0};
  5752. ENDIF;
  5753. MOV.F R6.z, R14.y;
  5754. MOV.F R6.y, R8.x;
  5755. ADD.F32 R6.y, R6, R6.z;
  5756. MOV.F R6.w, R14.x;
  5757. MOV.F R6.z, R23.y;
  5758. MOV.S R9.w, R6.y;
  5759. MUL.F32 R6.y, R6.z, R6.w;
  5760. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5761. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5762. TRUNC.U R6.w, R6;
  5763. TRUNC.U R6.z, R6;
  5764. AND.U.CC HC.x, R6.z, R6.w;
  5765. MOV.S R13.z, R6.x;
  5766. IF NE.x;
  5767. MOV.F R6.x, R6.y;
  5768. ELSE;
  5769. MOV.F R6.x, {0, 0, 0, 0};
  5770. ENDIF;
  5771. MOV.F R6.z, R17.w;
  5772. MOV.F R6.y, R13;
  5773. ADD.F32 R6.y, R6, R6.z;
  5774. MOV.F R6.w, R13.z;
  5775. MOV.F R6.z, R7;
  5776. ADD.F32 R6.z, R6, R6.w;
  5777. MOV.S R15.z, R6;
  5778. MOV.F R6.w, R13.x;
  5779. MOV.F R6.z, R8.y;
  5780. MOV.S R17.y, R6;
  5781. MUL.F32 R6.y, R6.z, R6.w;
  5782. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5783. TRUNC.U R7.x, R6.z;
  5784. MOV.F R6.z, R23.y;
  5785. ADD.F32 R6.x, R6.z, R6;
  5786. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5787. TRUNC.U R6.z, R6.w;
  5788. AND.U.CC HC.x, R7, R6.z;
  5789. MOV.S R14.x, R6;
  5790. IF NE.x;
  5791. MOV.F R6.x, R6.y;
  5792. ELSE;
  5793. MOV.F R6.x, {0, 0, 0, 0};
  5794. ENDIF;
  5795. MOV.F R6.w, R13.x;
  5796. MOV.F R6.z, R23;
  5797. MUL.F32 R6.y, R6.z, R6.w;
  5798. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5799. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5800. TRUNC.U R6.w, R6;
  5801. TRUNC.U R6.z, R6;
  5802. AND.U.CC HC.x, R6.z, R6.w;
  5803. MOV.S R14.w, R6.x;
  5804. IF NE.x;
  5805. MOV.F R6.x, R6.y;
  5806. ELSE;
  5807. MOV.F R6.x, {0, 0, 0, 0};
  5808. ENDIF;
  5809. MOV.F R6.z, R14.w;
  5810. MOV.F R6.y, R8;
  5811. ADD.F32 R6.w, R6.y, R6.z;
  5812. MOV.F R6.z, R11.w;
  5813. MOV.F R6.y, R14.x;
  5814. ADD.F32 R6.y, R6, R6.z;
  5815. MOV.S R12.x, R6.y;
  5816. MOV.F R6.z, R23;
  5817. ADD.F32 R6.z, R6, R6.x;
  5818. MOV.F R6.y, c[8].w;
  5819. MOV.S R12.y, R6.w;
  5820. MAX.F R6.w, R6.y, {0, 0, 0, 0}.x;
  5821. LG2.F32 R6.x, R6.w;
  5822. MOV.S R13.w, R6.z;
  5823. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  5824. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  5825. SEQ.F R6.z, R6.x, R6;
  5826. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  5827. TRUNC.U R6.w, R6;
  5828. TRUNC.U R6.z, R6;
  5829. AND.U R6.z, R6, R6.w;
  5830. SEQ.U R6.z, R6, {1, 0, 0, 0}.x;
  5831. MOV.U.CC RC.x, -R6.z;
  5832. MOV.S R13.z, R6.y;
  5833. IF NE.x;
  5834. MOV.F R6.x, {-3.40282347e+38, 0, 0, 0};
  5835. ENDIF;
  5836. MOV.F R6.z, R12.w;
  5837. MOV.F R6.y, R13.w;
  5838. ADD.F32 R6.y, R6, R6.z;
  5839. MOV.F R6.z, R1.y;
  5840. MOV.S R11.y, R6;
  5841. MUL.F32 R6.y, R6.z, R6.x;
  5842. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  5843. SNE.F32 R6.x, R6.z, {0, 0, 0, 0};
  5844. TRUNC.U R6.z, R6.w;
  5845. TRUNC.U R6.x, R6;
  5846. AND.U.CC HC.x, R6, R6.z;
  5847. IF NE.x;
  5848. MOV.F R6.x, R6.y;
  5849. ELSE;
  5850. MOV.F R6.x, {0, 0, 0, 0};
  5851. ENDIF;
  5852. MOV.S R6.x, R6;
  5853. MOV.F R6.y, R13.z;
  5854. SEQ.S R1.x, R1, {0, 0, 0, 0};
  5855. MOV.U.CC RC.x, -R1;
  5856. RCP.F32 R6.y, R6.y;
  5857. EX2.F32 R6.x, R6.x;
  5858. MAD.F32 R6.x, -R6, R6.y, R6.y;
  5859. MOV.S R13.y, R6.x;
  5860. IF NE.x;
  5861. MOV.S R1.x, R13.y;
  5862. ELSE;
  5863. MOV.S R1.x, R1.y;
  5864. ENDIF;
  5865. MOV.F R6.y, R1.x;
  5866. MOV.F R6.x, R12.y;
  5867. MUL.F32 R1.y, R6.x, R6;
  5868. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5869. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5870. TRUNC.U R6.y, R6;
  5871. TRUNC.U R6.x, R6;
  5872. AND.U.CC HC.x, R6, R6.y;
  5873. IF NE.x;
  5874. ELSE;
  5875. MOV.F R1.y, {0, 0, 0, 0}.x;
  5876. ENDIF;
  5877. MOV.F R6.z, R1.x;
  5878. MOV.F R6.y, R15.z;
  5879. MUL.F32 R6.x, R6.y, R6.z;
  5880. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5881. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  5882. TRUNC.U R6.y, R6;
  5883. TRUNC.U R6.z, R6;
  5884. AND.U.CC HC.x, R6.y, R6.z;
  5885. MOV.S R13.y, R1;
  5886. IF NE.x;
  5887. MOV.F R1.y, R6.x;
  5888. ELSE;
  5889. MOV.F R1.y, {0, 0, 0, 0}.x;
  5890. ENDIF;
  5891. MOV.F R6.y, R1.x;
  5892. MOV.F R6.x, R9.w;
  5893. MUL.F32 R1.x, R6, R6.y;
  5894. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5895. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5896. TRUNC.U R6.x, R6;
  5897. TRUNC.U R6.y, R6;
  5898. AND.U.CC HC.x, R6, R6.y;
  5899. MOV.S R13.z, R1.y;
  5900. IF NE.x;
  5901. ELSE;
  5902. MOV.F R1.x, {0, 0, 0, 0};
  5903. ENDIF;
  5904. MOV.F R6.x, R13.z;
  5905. MOV.F R1.y, R12.x;
  5906. ADD.F32 R1.y, R1, R6.x;
  5907. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  5908. FRC.F32 R6.x, R1.y;
  5909. MOV.F R1.y, R17;
  5910. ADD.F32 R1.x, R1.y, R1;
  5911. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  5912. MUL.F32 R1.y, R6.x, {0.159154937, 0, 0, 0}.x;
  5913. SIN.F32 R6.x, R6.x;
  5914. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  5915. MOV.S R12.x, R1.y;
  5916. FRC.F32 R1.x, R1;
  5917. MAD.F32 R1.x, R1, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  5918. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  5919. MOV.F R6.y, R13;
  5920. MOV.F R1.y, R11;
  5921. ADD.F32 R1.y, R1, R6;
  5922. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  5923. FRC.F32 R1.y, R1;
  5924. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  5925. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  5926. MOV.S R1.x, R1;
  5927. MOV.S R11.y, R1;
  5928. MUL.F32 R1.y, R1.x, {6.28318548, 0, 0, 0}.x;
  5929. COS.F32 R6.y, R1.y;
  5930. SIN.F32 R1.y, R1.y;
  5931. MOV.S R12.y, R1;
  5932. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  5933. MOV.S R15.w, R6.x;
  5934. MUL.F32 R1.x, R6, R6.y;
  5935. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5936. TRUNC.U R6.x, R6;
  5937. TRUNC.U R1.y, R1;
  5938. AND.U.CC HC.x, R1.y, R6;
  5939. MOV.S R15.x, R6.y;
  5940. MOV.S R6.zw, {1065353216, 0, 0, 0}.x;
  5941. IF NE.x;
  5942. ELSE;
  5943. MOV.F R1.x, {0, 0, 0, 0};
  5944. ENDIF;
  5945. MOV.F R6.y, R15.w;
  5946. MOV.F R6.x, R12.y;
  5947. MUL.F32 R1.y, R6.x, R6;
  5948. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5949. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5950. TRUNC.U R6.x, R6;
  5951. TRUNC.U R6.y, R6;
  5952. AND.U.CC HC.x, R6, R6.y;
  5953. MOV.S R11.z, R1.x;
  5954. IF NE.x;
  5955. MOV.F R1.x, R1.y;
  5956. ELSE;
  5957. MOV.F R1.x, {0, 0, 0, 0};
  5958. ENDIF;
  5959. MOV.F R1.y, R12.x;
  5960. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  5961. COS.F32 R6.x, R1.y;
  5962. MOV.F R6.y, R15.x;
  5963. MUL.F32 R1.y, R6.x, R6;
  5964. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5965. SNE.F32 R7.x, R6, {0, 0, 0, 0};
  5966. MOV.S R15.z, R6.x;
  5967. TRUNC.U R6.x, R6.y;
  5968. TRUNC.U R6.y, R7.x;
  5969. AND.U.CC HC.x, R6, R6.y;
  5970. MOV.S R12.w, R1.x;
  5971. IF NE.x;
  5972. MOV.F R1.x, R1.y;
  5973. ELSE;
  5974. MOV.F R1.x, {0, 0, 0, 0};
  5975. ENDIF;
  5976. MOV.F R6.y, R15.z;
  5977. MOV.F R6.x, R12.y;
  5978. MUL.F32 R1.y, R6.x, R6;
  5979. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5980. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  5981. TRUNC.U R6.x, R6;
  5982. TRUNC.U R6.y, R6;
  5983. AND.U.CC HC.x, R6, R6.y;
  5984. MOV.S R11.x, R1;
  5985. IF NE.x;
  5986. MOV.F R1.x, R1.y;
  5987. ELSE;
  5988. MOV.F R1.x, {0, 0, 0, 0};
  5989. ENDIF;
  5990. MOV.F R1.y, R11;
  5991. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  5992. SIN.F32 R6.x, R1.y;
  5993. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  5994. MOV.S R15.y, R6.x;
  5995. MUL.F32 R1.y, R1.x, R6.x;
  5996. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  5997. TRUNC.U R6.x, R6;
  5998. TRUNC.U R6.y, R6;
  5999. AND.U.CC HC.x, R6, R6.y;
  6000. MOV.S R17.y, R1.x;
  6001. IF NE.x;
  6002. MOV.F R1.x, R1.y;
  6003. ELSE;
  6004. MOV.F R1.x, {0, 0, 0, 0};
  6005. ENDIF;
  6006. MOV.F R6.x, R15.y;
  6007. MOV.F R6.y, -R6.x;
  6008. MOV.F R7.x, R11;
  6009. MUL.F32 R1.y, R6.x, R7.x;
  6010. MOV.S R8.y, R6;
  6011. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6012. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  6013. TRUNC.U R6.x, R6;
  6014. TRUNC.U R6.y, R6;
  6015. AND.U.CC HC.x, R6, R6.y;
  6016. MOV.S R14.x, R1;
  6017. IF NE.x;
  6018. MOV.F R1.x, R1.y;
  6019. ELSE;
  6020. MOV.F R1.x, {0, 0, 0, 0};
  6021. ENDIF;
  6022. MOV.F R6.y, R11.z;
  6023. MOV.F R6.x, R15.y;
  6024. MUL.F32 R1.y, R6.x, R6;
  6025. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6026. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6027. TRUNC.U R6.x, R6;
  6028. TRUNC.U R6.y, R6;
  6029. AND.U.CC HC.x, R6, R6.y;
  6030. MOV.S R14.z, R1.x;
  6031. IF NE.x;
  6032. MOV.F R1.x, R1.y;
  6033. ELSE;
  6034. MOV.F R1.x, {0, 0, 0, 0};
  6035. ENDIF;
  6036. MOV.F R7.x, R17.y;
  6037. ADD.F32 R1.x, -R7, R1;
  6038. MOV.F R6.x, R14.z;
  6039. MOV.F R1.y, R12.w;
  6040. ADD.F32 R1.y, R1, R6.x;
  6041. MOV.S R6.x, R1.y;
  6042. MOV.F R1.y, R11.z;
  6043. MOV.F R6.y, R14.x;
  6044. ADD.F32 R6.y, -R1, R6;
  6045. MOV.F R1.y, R11;
  6046. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  6047. MOV.S R8.z, R6.y;
  6048. COS.F32 R6.y, R1.y;
  6049. MOV.F R7.y, R15.z;
  6050. MOV.S R13.y, R1.x;
  6051. SNE.F32 R1.x, R7.y, {0, 0, 0, 0};
  6052. MUL.F32 R1.y, R6, R7;
  6053. MOV.S R12.x, R6.y;
  6054. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6055. TRUNC.U R6.y, R6;
  6056. TRUNC.U R1.x, R1;
  6057. AND.U.CC HC.x, R1, R6.y;
  6058. IF NE.x;
  6059. MOV.F R1.x, R1.y;
  6060. ELSE;
  6061. MOV.F R1.x, {0, 0, 0, 0};
  6062. ENDIF;
  6063. MOV.F R7.x, R12;
  6064. MOV.F R6.y, R15.x;
  6065. MUL.F32 R1.y, R6, R7.x;
  6066. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6067. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6068. TRUNC.U R6.y, R6;
  6069. TRUNC.U R7.x, R7;
  6070. AND.U.CC HC.x, R6.y, R7;
  6071. MOV.S R9.w, R1.x;
  6072. IF NE.x;
  6073. MOV.F R1.x, R1.y;
  6074. ELSE;
  6075. MOV.F R1.x, {0, 0, 0, 0};
  6076. ENDIF;
  6077. MOV.F R7.x, R12;
  6078. MOV.F R6.y, R12;
  6079. MUL.F32 R1.y, R6, R7.x;
  6080. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6081. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6082. TRUNC.U R6.y, R6;
  6083. TRUNC.U R7.x, R7;
  6084. AND.U.CC HC.x, R6.y, R7;
  6085. MOV.S R23.y, R1.x;
  6086. IF NE.x;
  6087. MOV.F R1.x, R1.y;
  6088. ELSE;
  6089. MOV.F R1.x, {0, 0, 0, 0};
  6090. ENDIF;
  6091. MOV.F R7.x, R12.w;
  6092. MOV.F R6.y, R15;
  6093. MUL.F32 R1.y, R6, R7.x;
  6094. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6095. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6096. TRUNC.U R6.y, R6;
  6097. TRUNC.U R7.x, R7;
  6098. AND.U.CC HC.x, R6.y, R7;
  6099. MOV.S R23.x, R1;
  6100. IF NE.x;
  6101. MOV.F R1.x, R1.y;
  6102. ELSE;
  6103. MOV.F R1.x, {0, 0, 0, 0};
  6104. ENDIF;
  6105. MOV.F R7.x, R17;
  6106. MOV.F R6.y, R13;
  6107. MUL.F32 R1.y, R6, R7.x;
  6108. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6109. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6110. TRUNC.U R6.y, R6;
  6111. TRUNC.U R7.x, R7;
  6112. AND.U.CC HC.x, R6.y, R7;
  6113. MOV.S R14.y, R1.x;
  6114. IF NE.x;
  6115. MOV.F R1.x, R1.y;
  6116. ELSE;
  6117. MOV.F R1.x, {0, 0, 0, 0};
  6118. ENDIF;
  6119. MOV.F R7.x, R12;
  6120. MOV.F R6.y, R15.w;
  6121. MUL.F32 R1.y, R6, R7.x;
  6122. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6123. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6124. TRUNC.U R6.y, R6;
  6125. TRUNC.U R7.x, R7;
  6126. AND.U.CC HC.x, R6.y, R7;
  6127. MOV.S R7.z, R1.x;
  6128. IF NE.x;
  6129. MOV.F R1.x, R1.y;
  6130. ELSE;
  6131. MOV.F R1.x, {0, 0, 0, 0};
  6132. ENDIF;
  6133. MOV.F R6.y, R17.x;
  6134. MUL.F32 R1.y, R1.x, R6;
  6135. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6136. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  6137. TRUNC.U R6.y, R6;
  6138. TRUNC.U R1.x, R1;
  6139. AND.U.CC HC.x, R1, R6.y;
  6140. IF NE.x;
  6141. MOV.F R1.x, R1.y;
  6142. ELSE;
  6143. MOV.F R1.x, {0, 0, 0, 0};
  6144. ENDIF;
  6145. MOV.F R6.y, R14;
  6146. MOV.F R1.y, R11.x;
  6147. ADD.F32 R1.y, R1, R6;
  6148. MOV.S R1.y, R1;
  6149. MOV.F R6.y, R1;
  6150. MOV.F R7.x, R17;
  6151. MUL.F32 R1.y, R6, R7.x;
  6152. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6153. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6154. TRUNC.U R6.y, R6;
  6155. TRUNC.U R7.x, R7;
  6156. AND.U.CC HC.x, R6.y, R7;
  6157. MOV.S R23.z, R1.x;
  6158. IF NE.x;
  6159. MOV.F R1.x, R1.y;
  6160. ELSE;
  6161. MOV.F R1.x, {0, 0, 0, 0};
  6162. ENDIF;
  6163. MOV.S R8.x, R1;
  6164. ENDIF;
  6165. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  6166. MOV.U.CC RC.x, -R1;
  6167. IF NE.x;
  6168. MOV.F R6.y, R21.x;
  6169. MOV.F R1.y, c[13].x;
  6170. MAD.F32 R7.x, R1.y, {0.5, 0, 0, 0}, R6.y;
  6171. MOV.F R6.y, R21;
  6172. MOV.F R1.x, c[13].y;
  6173. MUL.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x;
  6174. ADD.F32 R1.x, R6.y, R1.y;
  6175. SNE.F32 R6.y, R6, -R1;
  6176. MOV.F R7.y, R17.z;
  6177. MOV.S R13.x, R7;
  6178. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  6179. TRUNC.U R1.y, R7.x;
  6180. TRUNC.U R6.y, R6;
  6181. AND.U.CC HC.x, R1.y, R6.y;
  6182. MUL.F32 R1.x, R7.y, R1;
  6183. MOV.S R9.x, c[12];
  6184. MOV.S R8.w, c[12].y;
  6185. MOV.S R21.z, c[14].x;
  6186. MOV.S R21.y, c[12].z;
  6187. IF NE.x;
  6188. ELSE;
  6189. MOV.F R1.x, {0, 0, 0, 0};
  6190. ENDIF;
  6191. MOV.F R7.x, R13;
  6192. MOV.F R6.y, R9;
  6193. MUL.F32 R1.y, R6, R7.x;
  6194. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6195. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6196. TRUNC.U R6.y, R6;
  6197. TRUNC.U R7.x, R7;
  6198. AND.U.CC HC.x, R6.y, R7;
  6199. MOV.S R14.y, R1.x;
  6200. IF NE.x;
  6201. MOV.F R1.x, R1.y;
  6202. ELSE;
  6203. MOV.F R1.x, {0, 0, 0, 0};
  6204. ENDIF;
  6205. MOV.F R7.x, R23.y;
  6206. MOV.F R6.y, R14;
  6207. MUL.F32 R1.y, R6, R7.x;
  6208. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6209. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6210. TRUNC.U R6.y, R6;
  6211. TRUNC.U R7.x, R7;
  6212. AND.U.CC HC.x, R6.y, R7;
  6213. MOV.S R11.z, R1.x;
  6214. AND.S R13.x, c[9], {524288, 0, 0, 0};
  6215. IF NE.x;
  6216. MOV.F R1.x, R1.y;
  6217. ELSE;
  6218. MOV.F R1.x, {0, 0, 0, 0};
  6219. ENDIF;
  6220. MOV.F R1.y, R7.z;
  6221. ADD.F32 R1.y, R1.x, R1;
  6222. MOV.F R6.y, R14;
  6223. MOV.F R7.x, R8.y;
  6224. MUL.F32 R1.x, R6.y, R7;
  6225. MOV.S R13.y, R1;
  6226. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  6227. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6228. TRUNC.U R6.y, R7.x;
  6229. TRUNC.U R1.y, R1;
  6230. AND.U.CC HC.x, R1.y, R6.y;
  6231. IF NE.x;
  6232. ELSE;
  6233. MOV.F R1.x, {0, 0, 0, 0};
  6234. ENDIF;
  6235. MOV.F R1.y, R14;
  6236. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  6237. MOV.F R7.x, R23;
  6238. TRUNC.U R7.y, R6;
  6239. MOV.F R6.y, R23.z;
  6240. ADD.F32 R1.x, R1, R6.y;
  6241. MUL.F32 R1.y, R1, R7.x;
  6242. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6243. TRUNC.U R6.y, R7.x;
  6244. AND.U.CC HC.x, R7.y, R6.y;
  6245. MOV.S R13.z, R1.x;
  6246. IF NE.x;
  6247. MOV.F R1.x, R1.y;
  6248. ELSE;
  6249. MOV.F R1.x, {0, 0, 0, 0};
  6250. ENDIF;
  6251. MOV.F R1.y, R8.x;
  6252. ADD.F32 R1.x, R1, R1.y;
  6253. MOV.F R1.y, R20.x;
  6254. MOV.S R13.w, R1.x;
  6255. SGT.F32 R1.x, R1.y, {0.5, 0, 0, 0};
  6256. TRUNC.U.CC HC.x, R1;
  6257. IF NE.x;
  6258. MOV.S R1.y, {-1, 0, 0, 0}.x;
  6259. ELSE;
  6260. MOV.S R1.y, {0, 0, 0, 0}.x;
  6261. ENDIF;
  6262. MOV.F R7.x, R9.w;
  6263. MOV.F R6.y, R11.z;
  6264. MUL.F32 R1.x, R6.y, R7;
  6265. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6266. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6267. TRUNC.U R7.x, R7;
  6268. TRUNC.U R6.y, R6;
  6269. AND.U.CC HC.x, R6.y, R7;
  6270. IF NE.x;
  6271. ELSE;
  6272. MOV.F R1.x, {0, 0, 0, 0};
  6273. ENDIF;
  6274. MOV.F R7.x, R6;
  6275. MOV.F R6.y, R13.z;
  6276. ADD.F32 R6.y, R1.x, R6;
  6277. MOV.F R6.x, R11.z;
  6278. MUL.F32 R1.x, R6, R7;
  6279. MOV.S R17.x, R6.y;
  6280. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  6281. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6282. TRUNC.U R6.y, R6;
  6283. TRUNC.U R6.x, R6;
  6284. AND.U.CC HC.x, R6, R6.y;
  6285. IF NE.x;
  6286. ELSE;
  6287. MOV.F R1.x, {0, 0, 0, 0};
  6288. ENDIF;
  6289. MOV.F R6.x, R13.y;
  6290. ADD.F32 R6.x, R1, R6;
  6291. MOV.F R6.y, R11.z;
  6292. MOV.F R7.x, R8.z;
  6293. MUL.F32 R1.x, R6.y, R7;
  6294. MOV.S R12.y, R6.x;
  6295. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  6296. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  6297. TRUNC.U R6.y, R7.x;
  6298. TRUNC.U R6.x, R6;
  6299. AND.U.CC HC.x, R6, R6.y;
  6300. IF NE.x;
  6301. ELSE;
  6302. MOV.F R1.x, {0, 0, 0, 0};
  6303. ENDIF;
  6304. MOV.F R6.x, R13.w;
  6305. ADD.F32 R1.x, R1, R6;
  6306. SEQ.S R6.x, R13, {524288, 0, 0, 0};
  6307. MOV.U.CC RC.x, -R6;
  6308. MOV.S R11.z, R1.x;
  6309. IF NE.x;
  6310. MOV.S R6.x, {-1, 0, 0, 0};
  6311. ELSE;
  6312. MOV.S R6.x, {0, 0, 0, 0};
  6313. ENDIF;
  6314. SEQ.S R6.y, R1, {0, 0, 0, 0}.x;
  6315. MOV.U.CC RC.x, -R6.y;
  6316. MOV.F R7.xyz, R10;
  6317. MOV.F R13.x, R17;
  6318. MOV.F R13.y, R12;
  6319. MOV.F R13.w, R6;
  6320. MOV.F R13.z, R11;
  6321. DP4.F32 R1.x, R7, R13;
  6322. MOV.S R10.x, R1;
  6323. MOV.F R1.x, R24;
  6324. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  6325. MOV.S R1.x, R1;
  6326. IF NE.x;
  6327. MOV.S R1.x, R24;
  6328. ELSE;
  6329. ENDIF;
  6330. MOV.F R7.xyz, R16;
  6331. MOV.F R7.w, R10;
  6332. MOV.F R13.x, R17;
  6333. MOV.F R13.y, R12;
  6334. MOV.F R13.w, R6;
  6335. MOV.F R13.z, R11;
  6336. DP4.F32 R6.y, R7, R13;
  6337. SEQ.S R7.x, R6, {0, 0, 0, 0};
  6338. MOV.U.CC RC.x, -R7;
  6339. MOV.S R16.y, R6;
  6340. IF NE.x;
  6341. MOV.S R1.x, R24;
  6342. ELSE;
  6343. ENDIF;
  6344. MOV.F R7.z, R11;
  6345. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  6346. MOV.U.CC RC.x, -R1.y;
  6347. MOV.F R11.xyz, R22;
  6348. MOV.F R11.w, R1;
  6349. MOV.F R7.x, R17;
  6350. MOV.F R7.y, R12;
  6351. MOV.F R7.w, R6;
  6352. DP4.F32 R1.w, R11, R7;
  6353. MOV.S R22.z, R1.w;
  6354. IF NE.x;
  6355. MOV.S R1.y, R24;
  6356. ELSE;
  6357. MOV.S R1.y, R24;
  6358. ENDIF;
  6359. MOV.F R1.w, R20.y;
  6360. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  6361. TRUNC.U.CC HC.x, R1.w;
  6362. AND.S R14.x, c[9], {1048576, 0, 0, 0};
  6363. IF NE.x;
  6364. MOV.S R1.w, {-1, 0, 0, 0}.x;
  6365. ELSE;
  6366. MOV.S R1.w, {0, 0, 0, 0}.x;
  6367. ENDIF;
  6368. SEQ.S R6.x, R6, {0, 0, 0, 0};
  6369. MOV.U.CC RC.x, -R6;
  6370. IF NE.x;
  6371. MOV.S R1.y, R24;
  6372. ELSE;
  6373. ENDIF;
  6374. MOV.F R6.x, c[15].z;
  6375. RCP.F32 R6.x, R6.x;
  6376. SEQ.S R6.y, R1.w, {0, 0, 0, 0}.x;
  6377. MOV.U.CC RC.x, -R6.y;
  6378. MOV.S R17.x, R6;
  6379. IF NE.x;
  6380. MOV.S R6.x, R1;
  6381. ELSE;
  6382. MOV.S R6.x, R1;
  6383. ENDIF;
  6384. SEQ.S R6.y, R14.x, {1048576, 0, 0, 0}.x;
  6385. MOV.U.CC RC.x, -R6.y;
  6386. IF NE.x;
  6387. MOV.S R6.y, {-1, 0, 0, 0}.x;
  6388. ELSE;
  6389. MOV.S R6.y, {0, 0, 0, 0}.x;
  6390. ENDIF;
  6391. MOV.F R6.w, R1.y;
  6392. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  6393. MOV.F R7.x, c[15].w;
  6394. MOV.S R13.w, R6;
  6395. RCP.F32 R6.w, R7.x;
  6396. SEQ.S R7.x, R6.y, {0, 0, 0, 0};
  6397. MOV.U.CC RC.x, -R7;
  6398. MOV.S R20.z, R6.w;
  6399. IF NE.x;
  6400. ELSE;
  6401. MOV.S R1.x, R6;
  6402. ENDIF;
  6403. SEQ.S R1.w, R1, {0, 0, 0, 0}.x;
  6404. MOV.U.CC RC.x, -R1.w;
  6405. IF NE.x;
  6406. MOV.S R1.w, R1.y;
  6407. ELSE;
  6408. MOV.S R1.w, R13;
  6409. ENDIF;
  6410. MOV.F R6.x, R1;
  6411. MOV.F R6.w, c[15].x;
  6412. MUL.F32 R1.x, R6, R6.w;
  6413. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6414. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6415. TRUNC.U R6.w, R6;
  6416. TRUNC.U R6.x, R6;
  6417. AND.U.CC HC.x, R6, R6.w;
  6418. IF NE.x;
  6419. ELSE;
  6420. MOV.F R1.x, {0, 0, 0, 0};
  6421. ENDIF;
  6422. SEQ.S R6.x, R6.y, {0, 0, 0, 0};
  6423. MOV.U.CC RC.x, -R6;
  6424. MOV.S R13.y, R1.x;
  6425. IF NE.x;
  6426. MOV.S R1.x, R1.y;
  6427. ELSE;
  6428. MOV.S R1.x, R1.w;
  6429. ENDIF;
  6430. MOV.F R6.x, R13.y;
  6431. MOV.F R1.w, R17.x;
  6432. MUL.F32 R1.y, R1.w, R6.x;
  6433. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  6434. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6435. TRUNC.U R1.w, R1;
  6436. TRUNC.U R6.x, R6;
  6437. AND.U.CC HC.x, R1.w, R6;
  6438. MOV.S R6.w, R1.x;
  6439. IF NE.x;
  6440. MOV.F R1.x, R1.y;
  6441. ELSE;
  6442. MOV.F R1.x, {0, 0, 0, 0};
  6443. ENDIF;
  6444. MOV.S R18.yz, {0, 0, 0, 0}.x;
  6445. MOV.S R18.x, R1;
  6446. ENDIF;
  6447. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  6448. MOV.U.CC RC.x, -R1;
  6449. IF NE.x;
  6450. MOV.F R3.x, R10;
  6451. MOV.F R3.y, R16;
  6452. MOV.F R3.w, R6.z;
  6453. MOV.F R3.z, R22;
  6454. MOV.F R2, c[19];
  6455. MOV.F R7, c[21];
  6456. DP4.F32 R1.y, R3, R7;
  6457. DP4.F32 R2.x, R3, R2;
  6458. MOV.F R10, c[20];
  6459. DP4.F32 R2.y, R3, R10;
  6460. MOV.F R7, c[22];
  6461. DP4.F32 R2.w, R3, R7;
  6462. MOV.F R1.x, c[13].z;
  6463. ADD.F32 R2.z, R1.x, R1.y;
  6464. MOV.F R7, c[23];
  6465. DP4.F32 R1.x, R2, R7;
  6466. MOV.F R10, c[24];
  6467. DP4.F32 R1.y, R2, R10;
  6468. DIV.F32 R1.x, R1, R1.y;
  6469. MOV.F R2, c[18];
  6470. DP4.F32 R1.y, R3, R2;
  6471. SNE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  6472. MOV.F R10, c[16];
  6473. DP4.F32 R2.x, R3, R10;
  6474. TRUNC.U R2.z, R1.w;
  6475. MOV.F R7, c[17];
  6476. DP4.F32 R1.w, R3, R7;
  6477. MOV.S R2.y, R1.w;
  6478. MUL.F32 R1.w, R1.y, {0.5, 0, 0, 0}.x;
  6479. MUL.F32 R1.x, R1.y, R1;
  6480. MOV.S R2.w, R1.y;
  6481. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  6482. TRUNC.U R1.y, R1;
  6483. AND.U.CC HC.x, R1.y, R2.z;
  6484. MOV.S R2.x, R2;
  6485. MOV.S R12.w, R1;
  6486. MOV.S R9.w, R1.z;
  6487. IF NE.x;
  6488. ELSE;
  6489. MOV.F R1.x, {0, 0, 0, 0};
  6490. ENDIF;
  6491. MOV.F R1.z, R12.w;
  6492. MOV.F R1.y, R2.x;
  6493. MAD.F32 R1.y, R1, {0.5, 0, 0, 0}.x, R1.z;
  6494. MOV.F R1.w, R2.y;
  6495. MAD.F32 R1.w, R1, {-0.5, 0, 0, 0}.x, R1.z;
  6496. MOV.S R3.x, R1.y;
  6497. MAD.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x, R1.z;
  6498. MOV.S R3.y, R1.w;
  6499. MOV.S R3.w, R2;
  6500. MOV.S R3.z, R1.y;
  6501. MOV.S R2.z, R1.x;
  6502. ENDIF;
  6503. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  6504. MOV.U.CC RC.x, -R1;
  6505. IF NE.x;
  6506. MOV.F R0.z, c[25].x;
  6507. MOV.F R0.y, R9.x;
  6508. MUL.F32 R0.x, R0.y, R0.z;
  6509. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6510. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  6511. TRUNC.U R0.z, R0;
  6512. TRUNC.U R0.y, R0;
  6513. AND.U.CC HC.x, R0.y, R0.z;
  6514. IF NE.x;
  6515. ELSE;
  6516. MOV.F R0.x, {0, 0, 0, 0};
  6517. ENDIF;
  6518. MOV.F R0.w, c[25].y;
  6519. MOV.F R0.z, R8.w;
  6520. MUL.F32 R0.y, R0.z, R0.w;
  6521. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6522. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  6523. TRUNC.U R0.z, R0;
  6524. TRUNC.U R0.w, R0;
  6525. AND.U.CC HC.x, R0.z, R0.w;
  6526. MOV.S R1.x, R0;
  6527. IF NE.x;
  6528. MOV.F R0.x, R0.y;
  6529. ELSE;
  6530. MOV.F R0.x, {0, 0, 0, 0};
  6531. ENDIF;
  6532. MOV.F R0.w, c[25].z;
  6533. MOV.F R0.z, R21.y;
  6534. MUL.F32 R0.y, R0.z, R0.w;
  6535. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6536. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  6537. TRUNC.U R0.z, R0;
  6538. TRUNC.U R0.w, R0;
  6539. AND.U.CC HC.x, R0.z, R0.w;
  6540. MOV.S R1.y, R0.x;
  6541. IF NE.x;
  6542. MOV.F R0.x, R0.y;
  6543. ELSE;
  6544. MOV.F R0.x, {0, 0, 0, 0};
  6545. ENDIF;
  6546. MOV.F R0.w, c[25];
  6547. MOV.F R0.z, R21;
  6548. MUL.F32 R0.y, R0.z, R0.w;
  6549. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6550. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  6551. TRUNC.U R0.z, R0;
  6552. TRUNC.U R0.w, R0;
  6553. AND.U.CC HC.x, R0.z, R0.w;
  6554. MOV.S R1.z, R0.x;
  6555. IF NE.x;
  6556. MOV.F R0.x, R0.y;
  6557. ELSE;
  6558. MOV.F R0.x, {0, 0, 0, 0};
  6559. ENDIF;
  6560. MOV.F R0.z, R1.x;
  6561. MOV.F R0.w, c[26].x;
  6562. MUL.F32 R0.y, R0.z, R0.w;
  6563. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  6564. TRUNC.U R1.x, R0.w;
  6565. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6566. TRUNC.U R0.z, R0;
  6567. AND.U.CC HC.x, R0.z, R1;
  6568. MOV.S R0.w, R0.x;
  6569. IF NE.x;
  6570. MOV.F R0.x, R0.y;
  6571. ELSE;
  6572. MOV.F R0.x, {0, 0, 0, 0};
  6573. ENDIF;
  6574. MOV.F R1.x, c[26];
  6575. MOV.F R0.z, R1.y;
  6576. MUL.F32 R0.y, R0.z, R1.x;
  6577. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  6578. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  6579. TRUNC.U R0.z, R0;
  6580. TRUNC.U R1.x, R1;
  6581. AND.U.CC HC.x, R0.z, R1;
  6582. MOV.S R0.x, R0;
  6583. IF NE.x;
  6584. ELSE;
  6585. MOV.F R0.y, {0, 0, 0, 0}.x;
  6586. ENDIF;
  6587. MOV.F R1.y, c[26].x;
  6588. MOV.F R1.x, R1.z;
  6589. MUL.F32 R0.z, R1.x, R1.y;
  6590. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  6591. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  6592. TRUNC.U R1.x, R1;
  6593. TRUNC.U R1.y, R1;
  6594. AND.U.CC HC.x, R1, R1.y;
  6595. MOV.S R0.y, R0;
  6596. IF NE.x;
  6597. ELSE;
  6598. MOV.F R0.z, {0, 0, 0, 0}.x;
  6599. ENDIF;
  6600. MOV.F R1.z, c[15].y;
  6601. MOV.F R1.y, R6.w;
  6602. MUL.F32 R1.x, R1.y, R1.z;
  6603. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  6604. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  6605. TRUNC.U R1.y, R1;
  6606. TRUNC.U R1.z, R1;
  6607. AND.U.CC HC.x, R1.y, R1.z;
  6608. MOV.S R0.z, R0;
  6609. IF NE.x;
  6610. ELSE;
  6611. MOV.F R1.x, {0, 0, 0, 0};
  6612. ENDIF;
  6613. MOV.S R1.x, R1;
  6614. MOV.F R1.z, R1.x;
  6615. MOV.F R1.y, R20.z;
  6616. MUL.F32 R1.x, R1.y, R1.z;
  6617. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  6618. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  6619. TRUNC.U R1.y, R1;
  6620. TRUNC.U R1.z, R1;
  6621. AND.U.CC HC.x, R1.y, R1.z;
  6622. MOV.S R19.x, c[10];
  6623. IF NE.x;
  6624. ELSE;
  6625. MOV.F R1.x, {0, 0, 0, 0};
  6626. ENDIF;
  6627. MOV.S R18.z, {0, 0, 0, 0}.x;
  6628. MOV.S R18.y, R1.x;
  6629. ENDIF;
  6630. SEQ.U R1.x, R16.w, {1, 0, 0, 0};
  6631. MOV.U.CC RC.x, -R1;
  6632. IF NE.x;
  6633. MOV.F R1.z, c[28].w;
  6634. MOV.F R1.x, R9.w;
  6635. ADD.F32 R1.w, R1.x, -R1.z;
  6636. MOV.S R1.w, R1;
  6637. MOV.F R1.y, c[27].w;
  6638. ADD.F32 R1.x, R1, -R1.y;
  6639. MOV.S R4.x, R1.w;
  6640. MOV.S R11.x, R1;
  6641. MOV.F R1.x, R4;
  6642. MOV.S R15.z, R1.w;
  6643. SGE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  6644. ADD.F32 R1.x, R1.y, -R1.z;
  6645. TRUNC.U.CC HC.x, R1.w;
  6646. MOV.F R1.z, c[27].x;
  6647. MOV.F R1.y, c[28].x;
  6648. ADD.F32 R1.y, -R1, R1.z;
  6649. MOV.S R14.y, R1.x;
  6650. MOV.S R13.x, R1.y;
  6651. IF NE.x;
  6652. MOV.S R1.y, {1065353216, 0, 0, 0}.x;
  6653. ELSE;
  6654. MOV.S R1.y, {0, 0, 0, 0}.x;
  6655. ENDIF;
  6656. MOV.F R1.x, R11;
  6657. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  6658. TRUNC.U.CC HC.x, R1;
  6659. IF NE.x;
  6660. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  6661. ELSE;
  6662. MOV.S R1.z, {0, 0, 0, 0}.x;
  6663. ENDIF;
  6664. MOV.F R1.w, R13.x;
  6665. MOV.F R1.x, R14.y;
  6666. DIV.F32 R1.x, R1.w, R1.x;
  6667. MOV.F R1.w, R15.z;
  6668. MOV.S R1.x, R1;
  6669. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  6670. TRUNC.U R4.z, R4.x;
  6671. SNE.F32 R4.y, R1.w, {0, 0, 0, 0}.x;
  6672. MUL.F32 R1.x, R1.w, R1;
  6673. MOV.F R4.x, c[29];
  6674. MOV.F R1.w, c[27].x;
  6675. ADD.F32 R1.w, -R1, R4.x;
  6676. TRUNC.U R4.x, R4.y;
  6677. AND.U.CC HC.x, R4, R4.z;
  6678. MOV.S R12.w, R1;
  6679. IF NE.x;
  6680. ELSE;
  6681. MOV.F R1.x, {0, 0, 0, 0};
  6682. ENDIF;
  6683. MOV.F R1.w, c[28].x;
  6684. ADD.F32 R1.x, R1, R1.w;
  6685. MOV.F R4.y, c[29].w;
  6686. MOV.F R4.x, R9.w;
  6687. ADD.F32 R4.z, R4.x, -R4.y;
  6688. SGE.F32 R1.w, R4.x, R4.y;
  6689. TRUNC.U.CC HC.x, R1.w;
  6690. MOV.S R15.z, R4;
  6691. MOV.S R15.x, R1;
  6692. IF NE.x;
  6693. MOV.S R1.x, {1065353216, 0, 0, 0};
  6694. ELSE;
  6695. MOV.S R1.x, {0, 0, 0, 0};
  6696. ENDIF;
  6697. MOV.F R4.z, R1.x;
  6698. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  6699. MOV.F R4.x, c[30];
  6700. MOV.F R1.w, c[29].x;
  6701. ADD.F32 R1.w, -R1, R4.x;
  6702. MOV.S R17.x, R1.w;
  6703. MOV.F R4.x, c[29].w;
  6704. MOV.F R1.w, c[27];
  6705. ADD.F32 R1.w, -R1, R4.x;
  6706. MOV.F R4.y, R1.z;
  6707. MOV.S R14.z, R1.w;
  6708. MOV.F R1.w, R1.y;
  6709. ADD.F32 R4.x, -R4.y, {1, 0, 0, 0};
  6710. MUL.F32 R1.y, R1.w, R4.x;
  6711. ADD.F32 R4.x, -R1.w, {1, 0, 0, 0};
  6712. MOV.S R17.y, R4.x;
  6713. SNE.F32 R4.x, -R4.y, {-1, 0, 0, 0};
  6714. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  6715. TRUNC.U R4.x, R4;
  6716. TRUNC.U R1.w, R1;
  6717. AND.U.CC HC.x, R1.w, R4;
  6718. MOV.S R13.y, R4.z;
  6719. IF NE.x;
  6720. ELSE;
  6721. MOV.F R1.y, {0, 0, 0, 0}.x;
  6722. ENDIF;
  6723. MOV.F R4.x, R13.y;
  6724. MOV.F R1.
  6725. [17:14:11] Link error in shader. Log:
  6726. [17:14:11] Vertex info
  6727. -----------
  6728. Internal error: assembly compile error for vertex shader at offset 2462:
  6729. -- error message --
  6730. line 51, column 45: error: invalid vertex attribute reference
  6731. line 58, column 25: error: invalid vertex attribute reference
  6732. line 60, column 25: error: invalid vertex attribute reference
  6733. line 62, column 25: error: invalid vertex attribute reference
  6734. line 65, column 25: error: invalid vertex attribute reference
  6735. -- internal assembly text --
  6736. !!NVvp5.0
  6737. OPTION NV_internal;
  6738. OPTION NV_gpu_program_fp64;
  6739. OPTION NV_bindless_texture;
  6740. # cgc version 3.4.0001, build date Oct 22 2020
  6741. # command line args:
  6742. #vendor NVIDIA Corporation
  6743. #version 3.4.0.1 COP Build Date Oct 22 2020
  6744. #profile gp5vp
  6745. #program main
  6746. #semantic textureUnitVS12 : TEXUNIT[2]
  6747. #semantic textureUnitVS13 : TEXUNIT[3]
  6748. #semantic textureUnitVS7 : TEXUNIT[0]
  6749. #semantic textureUnitVS8 : TEXUNIT[1]
  6750. #semantic uf_remappedVS
  6751. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  6752. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  6753. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  6754. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  6755. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  6756. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  6757. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  6758. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  6759. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  6760. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  6761. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  6762. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  6763. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  6764. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  6765. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  6766. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  6767. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  6768. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  6769. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  6770. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  6771. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  6772. #var float4 passParameterSem11 : $vout.ATTR5 : ATTR5 : -1 : 1
  6773. #var float4 passParameterSem14 : $vout.ATTR6 : ATTR6 : -1 : 1
  6774. #var float4 passParameterSem15 : $vout.ATTR7 : ATTR7 : -1 : 1
  6775. #var float4 passParameterSem16 : $vout.ATTR8 : ATTR8 : -1 : 1
  6776. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  6777. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  6778. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  6779. #var ulong textureUnitVS12 : TEXUNIT[2] : c[69] : -1 : 1
  6780. #var ulong textureUnitVS13 : TEXUNIT[3] : c[70] : -1 : 1
  6781. #var ulong textureUnitVS7 : TEXUNIT[0] : c[71] : -1 : 1
  6782. #var ulong textureUnitVS8 : TEXUNIT[1] : c[72] : -1 : 1
  6783. #var int4 uf_remappedVS[0] : : c[0], 69 : -1 : 1
  6784. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  6785. PARAM c[73] = { program.local[0..72] };
  6786. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  6787. OUTPUT result_attrib[] = { result.attrib[0..8] };
  6788. 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;
  6789. LONG TEMP D0;
  6790. TEMP T;
  6791. TEMP RC;
  6792. SHORT TEMP HC;
  6793. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  6794. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6795. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  6796. OR.U R0, R0, R1;
  6797. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  6798. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6799. OR.U R0, R0, R1;
  6800. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  6801. OR.U R8, R0, R2;
  6802. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  6803. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6804. SHR.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  6805. OR.U R0, R0, R1;
  6806. SHL.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  6807. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6808. OR.U R0, R0, R1;
  6809. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  6810. OR.U R20, R0, R2;
  6811. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  6812. AND.U R2, R1, {65280, 0, 0, 0}.x;
  6813. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  6814. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  6815. OR.U R1, R1, R2;
  6816. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6817. OR.U R0, R1, R0;
  6818. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  6819. OR.U R22, R0, R2;
  6820. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  6821. AND.U R2, R1, {65280, 0, 0, 0}.x;
  6822. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  6823. OR.U R1, R1, R2;
  6824. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  6825. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  6826. OR.U R1, R1, R2;
  6827. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  6828. OR.U R9, R1, R0;
  6829. MOV.U R0.x, R22.w;
  6830. MOV.F R0.y, c[0].x;
  6831. ADD.F32 R3.x, -R0, R0.y;
  6832. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  6833. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6834. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  6835. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  6836. OR.U R0, R0, R1;
  6837. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  6838. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6839. OR.U R0, R0, R1;
  6840. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  6841. OR.U R11, R0, R2;
  6842. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  6843. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6844. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  6845. OR.U R0, R0, R1;
  6846. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  6847. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6848. OR.U R0, R0, R1;
  6849. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  6850. OR.U R12, R0, R2;
  6851. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  6852. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6853. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  6854. OR.U R0, R0, R1;
  6855. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  6856. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6857. OR.U R0, R0, R1;
  6858. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  6859. OR.U R13, R0, R2;
  6860. TRUNC.U R17.x, R3.y;
  6861. SEQ.U R0.x, R17, {1, 0, 0, 0};
  6862. SEQ.U R17.y, -R0.x, {1, 0, 0, 0}.x;
  6863. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6864. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6865. MOV.S R14.w, R3.x;
  6866. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6867. MOV.U.CC RC.x, -R17.y;
  6868. OR.U R0.xyz, R0, R1;
  6869. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6870. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6871. OR.U R0.xyz, R0, R1;
  6872. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6873. OR.U R28.xyz, R0, R2;
  6874. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6875. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6876. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6877. OR.U R0.xyz, R0, R1;
  6878. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  6879. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6880. OR.U R0.xyz, R0, R1;
  6881. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  6882. OR.U R27.xyz, R0, R2;
  6883. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6884. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6885. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6886. OR.U R0.xyz, R0, R1;
  6887. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6888. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6889. OR.U R0.xyz, R0, R1;
  6890. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6891. OR.U R23.xyw, R0.xzzy, R2.xzzy;
  6892. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6893. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6894. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6895. OR.U R0.xyz, R0, R1;
  6896. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6897. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6898. OR.U R0.xyz, R0, R1;
  6899. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6900. OR.U R10.xyz, R0, R2;
  6901. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6902. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6903. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6904. OR.U R0.xyz, R0, R1;
  6905. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6906. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6907. OR.U R0.xyz, R0, R1;
  6908. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6909. OR.U R14.xyz, R0, R2;
  6910. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  6911. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6912. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  6913. OR.U R0.xyz, R0, R1;
  6914. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  6915. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6916. OR.U R0.xyz, R0, R1;
  6917. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  6918. OR.U R15.xyz, R0, R2;
  6919. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6920. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  6921. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6922. OR.U R0.xyz, R0, R1;
  6923. SHL.U R2.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6924. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  6925. OR.U R0.xyz, R0, R1;
  6926. SHL.U R2.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6927. OR.U R16.xyz, R0, R2;
  6928. SHR.U R0.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  6929. AND.U R0.zw, R0.xyxy, {65280, 0, 0, 0}.x;
  6930. SHR.U R0.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  6931. OR.U R0.xy, R0, R0.zwzw;
  6932. SHL.U R7.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  6933. AND.U R0.zw, R7.xyxy, {16711680, 0, 0, 0}.x;
  6934. OR.U R0.xy, R0, R0.zwzw;
  6935. SHL.U R7.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  6936. OR.U R25.xy, R0, R7;
  6937. MOV.U R0.x, R25;
  6938. MOV.F R0.z, R0.x;
  6939. MOV.U R0.y, R25;
  6940. ADD.F32 R0.x, -R0.y, {1, 0, 0, 0};
  6941. ADD.F32 R0.y, -R0.z, {1, 0, 0, 0}.x;
  6942. MOV.S R25.z, R0.x;
  6943. MOV.S R15.w, R0.y;
  6944. MOV.S R1, {0, 0, 0, 0}.x;
  6945. MOV.S R2, {0, 0, 0, 0}.x;
  6946. MOV.S R6, {0, 0, 0, 0}.x;
  6947. MOV.S R3, {0, 0, 0, 0}.x;
  6948. MOV.S R5, {0, 0, 0, 0}.x;
  6949. MOV.S R4, {0, 0, 0, 0}.x;
  6950. MOV.S R7, {0, 0, 0, 0}.x;
  6951. MOV.S R30.xyz, {0, 0, 0, 0}.x;
  6952. MOV.S R24.xyz, {0, 0, 0, 0}.x;
  6953. MOV.S R0.yz, {0, 0, 0, 0};
  6954. MOV.S R0.x, vertex.id;
  6955. MOV.S R0.w, vertex.instance.x;
  6956. MOV.S R10.w, {1065353216, 0, 0, 0}.x;
  6957. MOV.S R16.w, {0, 0, 0, 0}.x;
  6958. IF NE.x;
  6959. MOV.F R6.z, c[1].y;
  6960. MUL.F32 R6.z, R6, {5, 0, 0, 0}.x;
  6961. MOV.S R6.xyw, {0, 0, 0, 0}.x;
  6962. MOV.S R22.xw, {0, 0, 0, 1065353216};
  6963. MOV.S R6.z, R6;
  6964. ENDIF;
  6965. SEQ.U R17.x, R17, {0, 0, 0, 0};
  6966. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  6967. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  6968. MOV.U.CC RC.x, -R17;
  6969. IF NE.x;
  6970. MOV.S R22.w, {0, 0, 0, 0}.x;
  6971. ENDIF;
  6972. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  6973. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  6974. SEQ.U R17.z, -R17.y, {1, 0, 0, 0}.x;
  6975. MOV.U.CC RC.x, -R17.z;
  6976. MOV.U R17.x, -R17;
  6977. MOV.U R22.w, -R17.y;
  6978. IF NE.x;
  6979. MOV.F R17.y, R20.w;
  6980. TRUNC.S R17.y, R17;
  6981. I2F.S R17.y, R17;
  6982. MOV.F R17.z, R14.w;
  6983. SGE.F32 R17.z, R17, R17.y;
  6984. TRUNC.U R17.z, R17;
  6985. SEQ.U R17.w, R22, {1, 0, 0, 0}.x;
  6986. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  6987. AND.U R31.w, -R17.z, -R17;
  6988. MOV.S R30.x, R17.y;
  6989. MOV.S R30.yz, {0, 0, 0, 0}.x;
  6990. ELSE;
  6991. MOV.U R31.w, {0, 0, 0, 0}.x;
  6992. ENDIF;
  6993. SEQ.U R17.y, R31.w, {1, 0, 0, 0}.x;
  6994. MOV.U.CC RC.x, -R17.y;
  6995. IF NE.x;
  6996. MOV.F R6.x, c[1].y;
  6997. MUL.F32 R6.z, R6.x, {5, 0, 0, 0}.x;
  6998. MOV.S R6.xy, {0, 0, 0, 0};
  6999. MOV.S R6.z, R6;
  7000. MOV.S R22.x, {0, 0, 0, 0};
  7001. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  7002. ENDIF;
  7003. SEQ.U R17.x, R17, {1, 0, 0, 0};
  7004. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  7005. MOV.U.CC RC.x, -R17.y;
  7006. MOV.U R22.w, -R17.x;
  7007. IF NE.x;
  7008. SEQ.S R17.x, R16.w, {0, 0, 0, 0};
  7009. MOV.U R31.z, -R17.x;
  7010. SEQ.U R17.y, R22.w, {1, 0, 0, 0}.x;
  7011. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  7012. AND.U R31.w, -R17.x, -R17.y;
  7013. ELSE;
  7014. MOV.U R31.z, {0, 0, 0, 0}.x;
  7015. MOV.U R31.w, {0, 0, 0, 0}.x;
  7016. ENDIF;
  7017. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  7018. MOV.U.CC RC.x, -R17;
  7019. IF NE.x;
  7020. MOV.F R0.x, c[2];
  7021. SGT.F32 R0.z, {0, 0, 0, 0}.x, R0.x;
  7022. TRUNC.U.CC HC.x, R0.z;
  7023. MOV.S R0.x, {0, 0, 0, 0};
  7024. IF NE.x;
  7025. MOV.F R0.z, {1, 0, 0, 0}.x;
  7026. ELSE;
  7027. MOV.F R0.z, {0, 0, 0, 0}.x;
  7028. ENDIF;
  7029. MOV.F R0.w, R9.x;
  7030. MAX.F R0.w, R0, {0, 0, 0, 0}.x;
  7031. MOV.S R17.z, R0.w;
  7032. MOV.F R0.w, c[2].x;
  7033. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  7034. TRUNC.U.CC HC.x, R0.w;
  7035. MOV.S R17.y, R0.z;
  7036. IF NE.x;
  7037. MOV.F R0.z, {1, 0, 0, 0}.x;
  7038. ELSE;
  7039. MOV.F R0.z, {0, 0, 0, 0}.x;
  7040. ENDIF;
  7041. MOV.F R0.w, R9.x;
  7042. SNE.F32 R17.w, R0, {0, 0, 0, 0}.x;
  7043. MOV.F R17.x, c[3].y;
  7044. TRUNC.U R18.x, R17.w;
  7045. MUL.F32 R0.w, R0, R17.x;
  7046. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7047. TRUNC.U R17.x, R17;
  7048. AND.U.CC HC.x, R18, R17;
  7049. MOV.S R17.w, R0.z;
  7050. IF NE.x;
  7051. MOV.F R0.z, R0.w;
  7052. ELSE;
  7053. MOV.F R0.z, {0, 0, 0, 0}.x;
  7054. ENDIF;
  7055. MOV.F R17.x, R17.y;
  7056. MOV.F R0.w, R17;
  7057. ADD.F32 R0.w, R0, -R17.x;
  7058. MOV.S R17.x, R0.w;
  7059. MOV.F R18.x, R17;
  7060. MOV.S R19.y, R0.w;
  7061. MOV.F R0.w, R14;
  7062. MOV.F R17.y, R30.x;
  7063. DIV.F32 R17.w, R0, R17.y;
  7064. SNE.F32 R17.y, -R18.x, {-1, 0, 0, 0}.x;
  7065. ADD.F32 R18.y, -R18.x, {1, 0, 0, 0}.x;
  7066. MOV.F R17.x, c[2];
  7067. DIV.F32 R17.x, R0.w, R17.x;
  7068. MOV.S R17.x, R17;
  7069. ADD.F32 R0.z, R0, R17.x;
  7070. MOV.S R17.x, R0.z;
  7071. MOV.F R0.z, R17;
  7072. MOV.S R17.z, R17.x;
  7073. MIN.F R17.x, R0.z, {0, 0, 0, 0};
  7074. MOV.F R0.z, R23.x;
  7075. ADD.F32 R0.z, R0, R17.x;
  7076. MOV.F R17.x, R17.z;
  7077. MOV.S R22.x, R0.z;
  7078. FRC.F32 R0.z, R17.x;
  7079. MOV.S R17.x, R0.z;
  7080. SNE.F32 R17.z, R17.w, {0, 0, 0, 0}.x;
  7081. MUL.F32 R0.w, R17, R18.y;
  7082. TRUNC.U R18.y, R17.z;
  7083. TRUNC.U R17.y, R17;
  7084. MOV.S R0.z, R17.w;
  7085. AND.U.CC HC.x, R18.y, R17.y;
  7086. MOV.F R17.w, c[5].x;
  7087. MOV.F R17.z, c[4].x;
  7088. ADD.F32 R17.z, -R17, R17.w;
  7089. MOV.F R18.x, c[5].y;
  7090. MOV.F R17.w, c[4].y;
  7091. ADD.F32 R17.w, -R17, R18.x;
  7092. MOV.S R18.w, R17.z;
  7093. MOV.S R19.w, R17;
  7094. IF NE.x;
  7095. MOV.F R17.y, R0.w;
  7096. ELSE;
  7097. MOV.F R17.y, {0, 0, 0, 0}.x;
  7098. ENDIF;
  7099. MOV.F R17.z, R17.x;
  7100. MOV.F R17.x, R19.y;
  7101. MUL.F32 R0.w, R17.x, R17.z;
  7102. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7103. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7104. MOV.F R18.x, c[5].z;
  7105. MOV.F R17.w, c[4].z;
  7106. ADD.F32 R17.w, -R17, R18.x;
  7107. MOV.F R18.y, c[5].w;
  7108. MOV.F R18.x, c[4].w;
  7109. ADD.F32 R18.x, -R18, R18.y;
  7110. MOV.S R18.z, R17.w;
  7111. MOV.S R17.w, R18.x;
  7112. MOV.F R18.y, c[6].x;
  7113. MOV.F R18.x, c[5];
  7114. ADD.F32 R19.x, -R18, R18.y;
  7115. MOV.F R18.y, c[6];
  7116. MOV.F R18.x, c[5].y;
  7117. ADD.F32 R18.x, -R18, R18.y;
  7118. MOV.S R19.y, R19.x;
  7119. TRUNC.U R17.x, R17;
  7120. TRUNC.U R17.z, R17;
  7121. AND.U.CC HC.x, R17, R17.z;
  7122. MOV.S R19.x, R18;
  7123. MOV.S R18.y, R17;
  7124. IF NE.x;
  7125. MOV.F R17.x, R0.w;
  7126. ELSE;
  7127. MOV.F R17.x, {0, 0, 0, 0};
  7128. ENDIF;
  7129. MOV.F R0.w, R17;
  7130. MOV.F R17.z, R18;
  7131. DIV.F32 R17.z, R17, R0.w;
  7132. MOV.F R17.y, R18;
  7133. MOV.S R18.y, R17.z;
  7134. MOV.F R17.z, R19.w;
  7135. DIV.F32 R17.w, R17.z, R0.w;
  7136. MOV.S R17.x, R17;
  7137. ADD.F32 R17.x, R17.y, R17;
  7138. MOV.F R17.z, c[4].w;
  7139. ADD.F32 R17.y, R17.x, -R17.z;
  7140. MOV.S R17.z, R17.y;
  7141. MOV.S R18.x, R17.w;
  7142. MOV.F R17.w, R18;
  7143. MOV.S R17.y, R17.z;
  7144. DIV.F32 R0.w, R17, R0.w;
  7145. MOV.F R18.w, R17.y;
  7146. SNE.F32 R17.y, R0.w, {0, 0, 0, 0}.x;
  7147. MOV.F R17.w, c[5];
  7148. MOV.S R21.y, R17.z;
  7149. ADD.F32 R17.z, R17.x, -R17.w;
  7150. MOV.S R18.z, R17.x;
  7151. MOV.S R19.z, R17;
  7152. MOV.F R17.z, c[6];
  7153. MOV.F R17.x, c[5].z;
  7154. ADD.F32 R17.x, -R17, R17.z;
  7155. SNE.F32 R17.w, R18, {0, 0, 0, 0}.x;
  7156. TRUNC.U R17.y, R17;
  7157. TRUNC.U R17.z, R17.w;
  7158. AND.U.CC HC.x, R17.z, R17.y;
  7159. MUL.F32 R0.w, R18, R0;
  7160. MOV.S R19.w, R17.x;
  7161. IF NE.x;
  7162. ELSE;
  7163. MOV.F R0.w, {0, 0, 0, 0}.x;
  7164. ENDIF;
  7165. MOV.F R17.y, R18;
  7166. MOV.F R17.x, R21.y;
  7167. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  7168. MUL.F32 R17.z, R17.x, R17.y;
  7169. SNE.F32 R18.y, R17, {0, 0, 0, 0}.x;
  7170. MOV.F R17.y, c[6].w;
  7171. MOV.F R17.x, c[5].w;
  7172. ADD.F32 R17.x, -R17, R17.y;
  7173. MOV.S R17.y, R17.x;
  7174. TRUNC.U R17.w, R17;
  7175. TRUNC.U R18.y, R18;
  7176. AND.U.CC HC.x, R17.w, R18.y;
  7177. MOV.S R17.x, R0.w;
  7178. IF NE.x;
  7179. MOV.F R0.w, R17.z;
  7180. ELSE;
  7181. MOV.F R0.w, {0, 0, 0, 0}.x;
  7182. ENDIF;
  7183. MOV.F R17.z, R21.y;
  7184. MUL.F32 R17.w, R17.z, R18.x;
  7185. SNE.F32 R18.y, R18.x, {0, 0, 0, 0}.x;
  7186. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7187. TRUNC.U R18.x, R17.z;
  7188. TRUNC.U R18.y, R18;
  7189. AND.U.CC HC.x, R18, R18.y;
  7190. MOV.S R17.z, R0.w;
  7191. IF NE.x;
  7192. MOV.F R0.w, R17;
  7193. ELSE;
  7194. MOV.F R0.w, {0, 0, 0, 0}.x;
  7195. ENDIF;
  7196. MOV.F R17.w, R21.y;
  7197. SGE.F32 R18.x, R17.w, {0, 0, 0, 0};
  7198. TRUNC.U.CC HC.x, R18;
  7199. MOV.S R17.w, R0;
  7200. IF NE.x;
  7201. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  7202. ELSE;
  7203. MOV.S R0.w, {0, 0, 0, 0}.x;
  7204. ENDIF;
  7205. MOV.F R18.x, R17;
  7206. MOV.F R17.x, c[4];
  7207. ADD.F32 R17.x, R17, R18;
  7208. MOV.S R18.y, R17.x;
  7209. MOV.F R17.x, c[4].y;
  7210. ADD.F32 R17.x, R17, R17.w;
  7211. MOV.F R17.w, R19.z;
  7212. MOV.S R18.x, R17;
  7213. SGE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7214. TRUNC.U.CC HC.x, R17;
  7215. IF NE.x;
  7216. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  7217. ELSE;
  7218. MOV.S R20.w, {0, 0, 0, 0}.x;
  7219. ENDIF;
  7220. MOV.F R17.w, R17.y;
  7221. MOV.F R17.x, R19.w;
  7222. DIV.F32 R17.x, R17, R17.w;
  7223. MOV.F R17.y, R17.z;
  7224. MOV.F R18.w, R19.y;
  7225. MOV.S R17.z, R17.x;
  7226. DIV.F32 R17.x, R18.w, R17.w;
  7227. MOV.F R18.w, R19.x;
  7228. DIV.F32 R19.y, R18.w, R17.w;
  7229. MOV.F R19.x, R19.z;
  7230. MUL.F32 R17.w, R19.x, R19.y;
  7231. MOV.F R18.w, c[4].z;
  7232. ADD.F32 R17.y, R18.w, R17;
  7233. SNE.F32 R19.y, R19, {0, 0, 0, 0}.x;
  7234. MOV.S R18.w, R17.y;
  7235. MOV.F R17.y, R18.z;
  7236. MOV.F R19.w, c[6];
  7237. ADD.F32 R17.y, R17, -R19.w;
  7238. MOV.F R18.z, R20.w;
  7239. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  7240. ADD.F32 R18.z, -R18, {1, 0, 0, 0}.x;
  7241. TRUNC.U R19.y, R19;
  7242. TRUNC.U R19.x, R19;
  7243. AND.U.CC HC.x, R19, R19.y;
  7244. MOV.S R17.x, R17;
  7245. MOV.S R17.y, R17;
  7246. MOV.S R26.w, R18.z;
  7247. IF NE.x;
  7248. ELSE;
  7249. MOV.F R17.w, {0, 0, 0, 0}.x;
  7250. ENDIF;
  7251. MOV.F R19.x, R17;
  7252. MOV.F R18.z, R19;
  7253. MUL.F32 R17.x, R18.z, R19;
  7254. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  7255. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  7256. TRUNC.U R18.z, R18;
  7257. TRUNC.U R19.x, R19;
  7258. AND.U.CC HC.x, R18.z, R19;
  7259. MOV.S R21.x, R17.w;
  7260. IF NE.x;
  7261. ELSE;
  7262. MOV.F R17.x, {0, 0, 0, 0};
  7263. ENDIF;
  7264. SGE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  7265. TRUNC.U.CC HC.x, R17.y;
  7266. MOV.S R21.y, R17.x;
  7267. IF NE.x;
  7268. MOV.S R17.y, {1065353216, 0, 0, 0}.x;
  7269. ELSE;
  7270. MOV.S R17.y, {0, 0, 0, 0}.x;
  7271. ENDIF;
  7272. MOV.F R17.w, R17.z;
  7273. MOV.F R17.z, R19;
  7274. MUL.F32 R17.x, R17.z, R17.w;
  7275. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7276. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7277. TRUNC.U R17.w, R17;
  7278. TRUNC.U R17.z, R17;
  7279. AND.U.CC HC.x, R17.z, R17.w;
  7280. IF NE.x;
  7281. ELSE;
  7282. MOV.F R17.x, {0, 0, 0, 0};
  7283. ENDIF;
  7284. MOV.F R17.w, R0;
  7285. MOV.F R18.z, R26.w;
  7286. MUL.F32 R17.z, R17.w, R18;
  7287. MOV.S R21.w, R17.x;
  7288. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7289. SNE.F32 R18.z, R18, {0, 0, 0, 0}.x;
  7290. TRUNC.U R17.w, R18.z;
  7291. TRUNC.U R17.x, R17;
  7292. AND.U.CC HC.x, R17, R17.w;
  7293. IF NE.x;
  7294. MOV.F R17.x, R17.z;
  7295. ELSE;
  7296. MOV.F R17.x, {0, 0, 0, 0};
  7297. ENDIF;
  7298. MOV.F R19.y, R18;
  7299. SNE.F32 R19.z, R19.y, {0, 0, 0, 0}.x;
  7300. MOV.F R17.w, R21;
  7301. MOV.F R17.z, c[5];
  7302. ADD.F32 R17.z, R17, R17.w;
  7303. MOV.S R19.x, R17.z;
  7304. MOV.F R18.z, R21.y;
  7305. MOV.F R17.w, c[5].x;
  7306. ADD.F32 R17.w, R17, R18.z;
  7307. MOV.S R18.z, R17.w;
  7308. MOV.F R17.z, c[5].y;
  7309. MOV.F R17.w, R21.x;
  7310. ADD.F32 R17.w, R17.z, R17;
  7311. MOV.S R17.z, R17.x;
  7312. MOV.S R17.x, R17.z;
  7313. MOV.S R18.y, R17.w;
  7314. MOV.F R17.w, R17.x;
  7315. MUL.F32 R17.x, R19.y, R17.w;
  7316. MOV.S R23.z, R17;
  7317. MOV.F R17.z, R17.y;
  7318. TRUNC.U R19.y, R19.z;
  7319. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7320. TRUNC.U R19.z, R17.w;
  7321. ADD.F32 R17.z, -R17, {1, 0, 0, 0}.x;
  7322. AND.U.CC HC.x, R19.y, R19.z;
  7323. MOV.S R17.w, R17.z;
  7324. IF NE.x;
  7325. MOV.F R19.y, R17.x;
  7326. ELSE;
  7327. MOV.F R19.y, {0, 0, 0, 0}.x;
  7328. ENDIF;
  7329. MOV.S R17.x, R18;
  7330. MOV.F R19.z, R17.y;
  7331. MOV.F R18.x, c[6];
  7332. MUL.F32 R17.z, R18.x, R19;
  7333. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7334. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  7335. TRUNC.U R19.z, R19;
  7336. TRUNC.U R18.x, R18;
  7337. AND.U.CC HC.x, R18, R19.z;
  7338. MOV.S R19.y, R19;
  7339. IF NE.x;
  7340. MOV.F R18.x, R17.z;
  7341. ELSE;
  7342. MOV.F R18.x, {0, 0, 0, 0};
  7343. ENDIF;
  7344. MOV.F R19.w, R17.y;
  7345. MOV.F R19.z, c[6];
  7346. MUL.F32 R17.z, R19, R19.w;
  7347. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  7348. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  7349. TRUNC.U R19.w, R19;
  7350. TRUNC.U R19.z, R19;
  7351. AND.U.CC HC.x, R19.z, R19.w;
  7352. MOV.S R18.x, R18;
  7353. IF NE.x;
  7354. ELSE;
  7355. MOV.F R17.z, {0, 0, 0, 0}.x;
  7356. ENDIF;
  7357. MOV.F R19.w, R17.y;
  7358. MOV.F R19.z, c[6].y;
  7359. MUL.F32 R17.y, R19.z, R19.w;
  7360. MOV.S R29.y, R17.z;
  7361. SNE.F32 R17.z, R19, {0, 0, 0, 0}.x;
  7362. SNE.F32 R19.w, R19, {0, 0, 0, 0}.x;
  7363. TRUNC.U R19.z, R19.w;
  7364. TRUNC.U R17.z, R17;
  7365. AND.U.CC HC.x, R17.z, R19.z;
  7366. IF NE.x;
  7367. ELSE;
  7368. MOV.F R17.y, {0, 0, 0, 0}.x;
  7369. ENDIF;
  7370. MOV.F R17.z, R17.w;
  7371. SNE.F32 R19.z, R17, {0, 0, 0, 0}.x;
  7372. MOV.F R17.w, R20;
  7373. TRUNC.U R19.w, R19.z;
  7374. MUL.F32 R17.z, R17.w, R17;
  7375. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7376. MOV.S R19.z, R17.y;
  7377. TRUNC.U R17.y, R17.w;
  7378. AND.U.CC HC.x, R17.y, R19.w;
  7379. IF NE.x;
  7380. MOV.F R17.y, R17.z;
  7381. ELSE;
  7382. MOV.F R17.y, {0, 0, 0, 0}.x;
  7383. ENDIF;
  7384. MOV.F R17.w, R23.z;
  7385. MOV.F R17.z, R17.x;
  7386. MUL.F32 R17.x, R17.z, R17.w;
  7387. SNE.F32 R19.w, R17, {0, 0, 0, 0}.x;
  7388. TRUNC.U R17.w, R19;
  7389. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7390. MOV.S R21.w, R17.y;
  7391. TRUNC.U R17.y, R17.z;
  7392. AND.U.CC HC.x, R17.y, R17.w;
  7393. IF NE.x;
  7394. ELSE;
  7395. MOV.F R17.x, {0, 0, 0, 0};
  7396. ENDIF;
  7397. MOV.F R17.w, R21;
  7398. MOV.F R17.z, R19.x;
  7399. MUL.F32 R17.y, R17.z, R17.w;
  7400. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7401. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7402. TRUNC.U R17.z, R17;
  7403. TRUNC.U R17.w, R17;
  7404. AND.U.CC HC.x, R17.z, R17.w;
  7405. MOV.S R29.x, R17;
  7406. IF NE.x;
  7407. ELSE;
  7408. MOV.F R17.y, {0, 0, 0, 0}.x;
  7409. ENDIF;
  7410. MOV.F R17.w, R21;
  7411. MOV.F R17.z, R18.y;
  7412. MUL.F32 R17.x, R17.z, R17.w;
  7413. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7414. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7415. TRUNC.U R17.z, R17;
  7416. TRUNC.U R17.w, R17;
  7417. AND.U.CC HC.x, R17.z, R17.w;
  7418. MOV.S R23.x, R17.y;
  7419. IF NE.x;
  7420. ELSE;
  7421. MOV.F R17.x, {0, 0, 0, 0};
  7422. ENDIF;
  7423. MOV.F R17.w, R21;
  7424. MOV.F R17.z, R18;
  7425. MUL.F32 R17.y, R17.z, R17.w;
  7426. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7427. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7428. TRUNC.U R17.z, R17;
  7429. TRUNC.U R17.w, R17;
  7430. AND.U.CC HC.x, R17.z, R17.w;
  7431. MOV.S R18.y, R17.x;
  7432. IF NE.x;
  7433. MOV.F R17.x, R17.y;
  7434. ELSE;
  7435. MOV.F R17.x, {0, 0, 0, 0};
  7436. ENDIF;
  7437. MOV.F R17.w, R23.z;
  7438. MOV.F R17.z, R18.w;
  7439. MUL.F32 R17.y, R17.z, R17.w;
  7440. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7441. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  7442. TRUNC.U R17.z, R17;
  7443. TRUNC.U R17.w, R17;
  7444. AND.U.CC HC.x, R17.z, R17.w;
  7445. MOV.S R18.z, R17.x;
  7446. IF NE.x;
  7447. MOV.F R17.x, R17.y;
  7448. ELSE;
  7449. MOV.F R17.x, {0, 0, 0, 0};
  7450. ENDIF;
  7451. MOV.F R17.y, R0.w;
  7452. ADD.F32 R17.z, -R17.y, {1, 0, 0, 0}.x;
  7453. MOV.F R17.w, c[4].y;
  7454. MOV.S R18.w, R17.x;
  7455. SNE.F32 R17.y, -R17, {-1, 0, 0, 0}.x;
  7456. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  7457. TRUNC.U R17.y, R17;
  7458. TRUNC.U R17.x, R17;
  7459. AND.U.CC HC.x, R17, R17.y;
  7460. MUL.F32 R0.w, R17.z, R17;
  7461. MOV.S R26.w, R17.z;
  7462. IF NE.x;
  7463. MOV.F R17.x, R0.w;
  7464. ELSE;
  7465. MOV.F R17.x, {0, 0, 0, 0};
  7466. ENDIF;
  7467. MOV.F R17.y, c[4].x;
  7468. MOV.F R17.z, R26.w;
  7469. MUL.F32 R0.w, R17.y, R17.z;
  7470. MOV.S R19.x, R17;
  7471. SNE.F32 R17.x, R17.y, {0, 0, 0, 0};
  7472. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7473. TRUNC.U R17.y, R17.z;
  7474. TRUNC.U R17.x, R17;
  7475. AND.U.CC HC.x, R17, R17.y;
  7476. IF NE.x;
  7477. ELSE;
  7478. MOV.F R0.w, {0, 0, 0, 0}.x;
  7479. ENDIF;
  7480. MOV.F R17.y, R9;
  7481. MOV.F R17.x, R9;
  7482. ADD.F32 R17.x, R17, R17.y;
  7483. MOV.F R17.y, c[4].z;
  7484. MOV.S R21.y, R0.w;
  7485. SNE.F32 R0.w, R17.y, {0, 0, 0, 0}.x;
  7486. MOV.F R17.z, R26.w;
  7487. MOV.S R23.z, R17.x;
  7488. MUL.F32 R17.x, R17.y, R17.z;
  7489. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  7490. TRUNC.U R17.y, R17.z;
  7491. TRUNC.U R0.w, R0;
  7492. AND.U.CC HC.x, R0.w, R17.y;
  7493. IF NE.x;
  7494. MOV.F R0.w, R17.x;
  7495. ELSE;
  7496. MOV.F R0.w, {0, 0, 0, 0}.x;
  7497. ENDIF;
  7498. MOV.F R26, R12;
  7499. MOV.F R17.xyz, R20;
  7500. MOV.F R17.w, {1, 0, 0, 0}.x;
  7501. DP4.F32 R19.w, R13, R17;
  7502. MOV.F R13, R11;
  7503. DP4.F32 R11.x, R13, R17;
  7504. DP4.F32 R11.w, R26, R17;
  7505. MOV.F R12.z, R21.y;
  7506. MOV.F R12.x, R19.y;
  7507. ADD.F32 R12.z, R12.x, R12;
  7508. MOV.F R12.x, R18.z;
  7509. ADD.F32 R12.z, R12.x, R12;
  7510. MOV.F R12.x, R18;
  7511. SNE.F32 R12.w, R12.x, -R12.z;
  7512. ADD.F32 R12.x, R12, R12.z;
  7513. MOV.F R13.x, R22;
  7514. TRUNC.U R13.y, R12.w;
  7515. MOV.F R12.z, R29.x;
  7516. MOV.F R12.w, R19.x;
  7517. ADD.F32 R12.w, R12.z, R12;
  7518. MOV.F R12.z, R18.w;
  7519. ADD.F32 R0.w, R12.z, R0;
  7520. SNE.F32 R12.z, R13.x, {0, 0, 0, 0}.x;
  7521. MOV.S R21.x, R0.w;
  7522. TRUNC.U R12.z, R12;
  7523. AND.U.CC HC.x, R12.z, R13.y;
  7524. MOV.S R11.z, R19.w;
  7525. MOV.S R11.w, R11;
  7526. MOV.S R11.x, R11;
  7527. MOV.S R20.z, R19.w;
  7528. MUL.F32 R12.x, R13, R12;
  7529. MOV.S R21.y, R12.w;
  7530. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  7531. IF NE.x;
  7532. ELSE;
  7533. MOV.F R12.x, {0, 0, 0, 0};
  7534. ENDIF;
  7535. MOV.F R12.w, R21.x;
  7536. MOV.F R12.z, R23.x;
  7537. ADD.F32 R12.z, R12, R12.w;
  7538. MOV.F R12.w, R29.y;
  7539. ADD.F32 R12.z, R12.w, R12;
  7540. MOV.S R21.z, R12;
  7541. MOV.F R12.w, R9.z;
  7542. MOV.F R12.z, R9.y;
  7543. ADD.F32 R13.x, R12.z, R12.w;
  7544. MUL.F32 R13.y, R13.x, {0.5, 0, 0, 0}.x;
  7545. MOV.F R12.z, R9.x;
  7546. ADD.F32 R12.z, R12, R12.w;
  7547. MOV.S R21.x, R13.y;
  7548. MOV.F R13.x, R21.y;
  7549. MUL.F32 R12.z, R12, {0.5, 0, 0, 0}.x;
  7550. MOV.F R12.w, R18.y;
  7551. MOV.S R21.y, R12.z;
  7552. MOV.F R12.z, R23;
  7553. MAD.F32 R12.z, R12, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7554. ADD.F32 R13.x, R12.w, R13;
  7555. MOV.S R12.z, R12;
  7556. MOV.F R13.y, R19.z;
  7557. ADD.F32 R13.z, R13.y, R13.x;
  7558. MOV.S R12.w, R12.z;
  7559. MOV.F R13.w, R23;
  7560. MUL.F32 R12.w, R12, {2, 0, 0, 0}.x;
  7561. MUL.F32 R12.z, R13.w, R13;
  7562. SNE.F32 R13.x, R13.y, -R13;
  7563. MOV.S R18.w, R12;
  7564. SNE.F32 R12.w, R13, {0, 0, 0, 0}.x;
  7565. TRUNC.U R13.x, R13;
  7566. TRUNC.U R12.w, R12;
  7567. AND.U.CC HC.x, R12.w, R13;
  7568. MOV.S R30.y, R11.w;
  7569. MOV.S R13.z, R12.x;
  7570. MOV.S R30.z, R20;
  7571. IF NE.x;
  7572. MOV.F R12.x, R12.z;
  7573. ELSE;
  7574. MOV.F R12.x, {0, 0, 0, 0};
  7575. ENDIF;
  7576. MOV.F R12.z, R21.y;
  7577. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7578. MOV.S R12.w, R12.z;
  7579. MOV.F R12.z, R21.x;
  7580. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7581. MUL.F32 R13.x, R12.z, {2, 0, 0, 0};
  7582. MUL.F32 R12.z, R12.w, {2, 0, 0, 0}.x;
  7583. MOV.S R17.z, R13.x;
  7584. MOV.F R13.x, R21.z;
  7585. MOV.F R12.w, R23.y;
  7586. MOV.S R17.y, R12.z;
  7587. MUL.F32 R12.z, R12.w, R13.x;
  7588. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7589. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  7590. TRUNC.U R13.x, R13;
  7591. TRUNC.U R12.w, R12;
  7592. AND.U.CC HC.x, R12.w, R13;
  7593. MOV.S R23.x, R12;
  7594. IF NE.x;
  7595. ELSE;
  7596. MOV.F R12.z, {0, 0, 0, 0}.x;
  7597. ENDIF;
  7598. MOV.F R12.x, R9;
  7599. ADD.F32 R12.x, R12, {-0.5, 0, 0, 0};
  7600. MOV.F R13.y, c[7];
  7601. MOV.F R13.x, R17.z;
  7602. MUL.F32 R12.w, R13.x, R13.y;
  7603. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7604. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  7605. TRUNC.U R13.x, R13;
  7606. TRUNC.U R13.y, R13;
  7607. AND.U.CC HC.x, R13, R13.y;
  7608. MOV.S R12.x, R12;
  7609. MOV.S R13.w, R12.z;
  7610. IF NE.x;
  7611. MOV.F R12.z, R12.w;
  7612. ELSE;
  7613. MOV.F R12.z, {0, 0, 0, 0}.x;
  7614. ENDIF;
  7615. MOV.F R13.y, c[7].x;
  7616. MOV.F R13.x, R18.w;
  7617. MUL.F32 R12.w, R13.x, R13.y;
  7618. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  7619. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  7620. TRUNC.U R13.x, R13;
  7621. TRUNC.U R13.y, R13;
  7622. AND.U.CC HC.x, R13, R13.y;
  7623. MOV.S R21.x, R12.z;
  7624. IF NE.x;
  7625. MOV.F R13.x, R12.w;
  7626. ELSE;
  7627. MOV.F R13.x, {0, 0, 0, 0};
  7628. ENDIF;
  7629. MOV.F R12.w, R9.y;
  7630. MOV.F R12.z, R9;
  7631. ADD.F32 R12.w, R12, {-0.5, 0, 0, 0}.x;
  7632. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  7633. MOV.F R17.x, R17.y;
  7634. MOV.F R17.z, c[7];
  7635. MUL.F32 R13.y, R17.x, R17.z;
  7636. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  7637. SNE.F32 R17.y, R17.z, {0, 0, 0, 0}.x;
  7638. TRUNC.U R17.x, R17;
  7639. TRUNC.U R17.y, R17;
  7640. AND.U.CC HC.x, R17, R17.y;
  7641. MOV.S R12.w, R12;
  7642. MOV.S R12.z, R12;
  7643. MOV.S R21.y, R13.x;
  7644. IF NE.x;
  7645. ELSE;
  7646. MOV.F R13.y, {0, 0, 0, 0}.x;
  7647. ENDIF;
  7648. MOV.F R13.x, R9.y;
  7649. MUL.F32 R17.y, R13.x, {2, 0, 0, 0}.x;
  7650. MOV.F R17.x, R21;
  7651. MOV.F R13.x, c[8].y;
  7652. ADD.F32 R13.x, R13, R17;
  7653. MOV.S R17.x, R17.y;
  7654. MOV.S R17.y, R17.x;
  7655. MOV.S R20.z, R13.x;
  7656. MOV.F R17.x, c[8];
  7657. MOV.F R13.x, R21.y;
  7658. ADD.F32 R13.x, R13, R17;
  7659. MOV.F R17.x, R17.y;
  7660. MOV.S R20.x, R13;
  7661. FLR.F R13.x, R17;
  7662. MOV.F R17.x, c[8].z;
  7663. ADD.F32 R13.y, R17.x, R13;
  7664. MOV.S R13.x, R13;
  7665. MOV.S R13.y, R13;
  7666. AND.S R20.w, c[9].x, {65536, 0, 0, 0}.x;
  7667. AND.S R23.y, c[9].x, {131072, 0, 0, 0}.x;
  7668. AND.S R23.w, c[9].x, {262144, 0, 0, 0}.x;
  7669. ENDIF;
  7670. SEQ.U R17.x, R31.w, {1, 0, 0, 0};
  7671. MOV.U.CC RC.x, -R17;
  7672. IF NE.x;
  7673. MOV.F R12.y, c[10].w;
  7674. MOV.F R10.w, R13;
  7675. MUL.F32 R0.w, R10, R12.y;
  7676. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7677. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7678. TRUNC.U R12.y, R12;
  7679. TRUNC.U R10.w, R10;
  7680. AND.U.CC HC.x, R10.w, R12.y;
  7681. IF NE.x;
  7682. ELSE;
  7683. MOV.F R0.w, {0, 0, 0, 0}.x;
  7684. ENDIF;
  7685. MOV.F R13.w, c[10].z;
  7686. MOV.F R12.y, R23.x;
  7687. MUL.F32 R10.w, R12.y, R13;
  7688. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7689. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7690. TRUNC.U R12.y, R12;
  7691. TRUNC.U R13.w, R13;
  7692. AND.U.CC HC.x, R12.y, R13.w;
  7693. MOV.S R17.x, R0.w;
  7694. IF NE.x;
  7695. MOV.F R0.w, R10;
  7696. ELSE;
  7697. MOV.F R0.w, {0, 0, 0, 0}.x;
  7698. ENDIF;
  7699. MOV.F R12.y, R13.z;
  7700. MOV.F R13.w, c[10].y;
  7701. MUL.F32 R10.w, R12.y, R13;
  7702. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  7703. TRUNC.U R13.z, R12.y;
  7704. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7705. TRUNC.U R13.w, R13;
  7706. AND.U.CC HC.x, R13.z, R13.w;
  7707. MOV.S R12.y, R0.w;
  7708. IF NE.x;
  7709. MOV.F R0.w, R10;
  7710. ELSE;
  7711. MOV.F R0.w, {0, 0, 0, 0}.x;
  7712. ENDIF;
  7713. MOV.F R10.w, R13.x;
  7714. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7715. TRUNC.U.CC HC.x, R10.w;
  7716. MOV.S R13.z, R0.w;
  7717. IF NE.x;
  7718. MOV.F R10.w, {1, 0, 0, 0}.x;
  7719. ELSE;
  7720. MOV.F R10.w, {0, 0, 0, 0}.x;
  7721. ENDIF;
  7722. I2F.S R0.w, R20;
  7723. MOV.S R26.w, R0;
  7724. MOV.S R0.w, R13.x;
  7725. MOV.F R13.x, R17;
  7726. SNE.F32 R16.w, R13.x, {0, 0, 0, 0}.x;
  7727. MOV.F R13.w, R28.z;
  7728. MUL.F32 R13.x, R13.w, R13;
  7729. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7730. TRUNC.U R16.w, R16;
  7731. TRUNC.U R13.w, R13;
  7732. AND.U.CC HC.x, R13.w, R16.w;
  7733. MOV.S R18.w, R10;
  7734. IF NE.x;
  7735. MOV.F R10.w, R13.x;
  7736. ELSE;
  7737. MOV.F R10.w, {0, 0, 0, 0}.x;
  7738. ENDIF;
  7739. MOV.F R13.x, R26.w;
  7740. SGT.F32 R13.w, R13.x, {0, 0, 0, 0}.x;
  7741. TRUNC.U.CC HC.x, R13.w;
  7742. MOV.S R13.x, R10.w;
  7743. IF NE.x;
  7744. MOV.F R10.w, {1, 0, 0, 0}.x;
  7745. ELSE;
  7746. MOV.F R10.w, {0, 0, 0, 0}.x;
  7747. ENDIF;
  7748. MOV.F R13.w, R26;
  7749. SGT.F32 R13.w, {0, 0, 0, 0}.x, R13;
  7750. TRUNC.U.CC HC.x, R13.w;
  7751. MOV.S R21.y, R10.w;
  7752. IF NE.x;
  7753. MOV.F R10.w, {1, 0, 0, 0}.x;
  7754. ELSE;
  7755. MOV.F R10.w, {0, 0, 0, 0}.x;
  7756. ENDIF;
  7757. MOV.F R13.w, R0;
  7758. MOV.F R0.w, R10;
  7759. SGT.F32 R10.w, {0, 0, 0, 0}.x, R13;
  7760. TRUNC.U.CC HC.x, R10.w;
  7761. MOV.S R21.z, R0.w;
  7762. IF NE.x;
  7763. MOV.F R0.w, {1, 0, 0, 0}.x;
  7764. ELSE;
  7765. MOV.F R0.w, {0, 0, 0, 0}.x;
  7766. ENDIF;
  7767. MOV.F R10.w, R18;
  7768. ADD.F32 R10.w, R10, -R0;
  7769. I2F.S R0.w, R23.y;
  7770. MOV.S R19.x, R10.w;
  7771. SGT.F32 R13.w, R0, {0, 0, 0, 0}.x;
  7772. TRUNC.U.CC HC.x, R13.w;
  7773. MOV.S R10.w, R0;
  7774. IF NE.x;
  7775. MOV.F R0.w, {1, 0, 0, 0}.x;
  7776. ELSE;
  7777. MOV.F R0.w, {0, 0, 0, 0}.x;
  7778. ENDIF;
  7779. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7780. TRUNC.U.CC HC.x, R10.w;
  7781. MOV.S R17.y, R0.w;
  7782. IF NE.x;
  7783. MOV.F R0.w, {1, 0, 0, 0}.x;
  7784. ELSE;
  7785. MOV.F R0.w, {0, 0, 0, 0}.x;
  7786. ENDIF;
  7787. MOV.F R13.w, R21.z;
  7788. MOV.F R10.w, R21.y;
  7789. ADD.F32 R10.w, R10, -R13;
  7790. MOV.S R17.w, R10;
  7791. I2F.S R10.w, R23;
  7792. MOV.S R26.w, R10;
  7793. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7794. TRUNC.U.CC HC.x, R10.w;
  7795. MOV.S R17.z, R0.w;
  7796. IF NE.x;
  7797. MOV.F R0.w, {1, 0, 0, 0}.x;
  7798. ELSE;
  7799. MOV.F R0.w, {0, 0, 0, 0}.x;
  7800. ENDIF;
  7801. MOV.F R13.w, R17.z;
  7802. MOV.F R10.w, R17.y;
  7803. ADD.F32 R10.w, R10, -R13;
  7804. MOV.F R16.w, R9.z;
  7805. MUL.F32 R13.w, R16, {2, 0, 0, 0}.x;
  7806. MOV.S R21.z, R10.w;
  7807. MOV.F R10.w, R26;
  7808. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7809. TRUNC.U.CC HC.x, R10.w;
  7810. MOV.S R21.y, R13.w;
  7811. MOV.S R21.x, R0.w;
  7812. IF NE.x;
  7813. MOV.F R0.w, {1, 0, 0, 0}.x;
  7814. ELSE;
  7815. MOV.F R0.w, {0, 0, 0, 0}.x;
  7816. ENDIF;
  7817. MOV.F R16.w, R21.x;
  7818. ADD.F32 R0.w, R0, -R16;
  7819. MOV.F R10.w, R17;
  7820. TRUNC.S R10.w, R10;
  7821. ADD.S R13.w, -R10, {0, 0, 0, 0}.x;
  7822. MAX.S R21.x, R10.w, R13.w;
  7823. MOV.F R13.w, R21.y;
  7824. FLR.F R13.w, R13;
  7825. MOV.F R10.w, R21.z;
  7826. TRUNC.S R10.w, R10;
  7827. MOV.F R17.x, R9;
  7828. MUL.F32 R16.w, R17.x, {2, 0, 0, 0}.x;
  7829. MOV.S R17.y, R0.w;
  7830. SGT.F32 R0.w, R13, {0, 0, 0, 0}.x;
  7831. TRUNC.U.CC HC.x, R0.w;
  7832. ADD.S R21.y, -R10.w, {0, 0, 0, 0}.x;
  7833. MOV.S R17.z, R13.w;
  7834. MOV.S R18.w, R16;
  7835. MOV.S R29.y, R10.w;
  7836. IF NE.x;
  7837. MOV.F R0.w, {1, 0, 0, 0}.x;
  7838. ELSE;
  7839. MOV.F R0.w, {0, 0, 0, 0}.x;
  7840. ENDIF;
  7841. MOV.F R10.w, R17.z;
  7842. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7843. TRUNC.U.CC HC.x, R10.w;
  7844. MOV.S R21.z, R0.w;
  7845. IF NE.x;
  7846. MOV.F R0.w, {1, 0, 0, 0}.x;
  7847. ELSE;
  7848. MOV.F R0.w, {0, 0, 0, 0}.x;
  7849. ENDIF;
  7850. MOV.F R10.w, R21.z;
  7851. ADD.F32 R0.w, R10, -R0;
  7852. MOV.S R29.x, R0.w;
  7853. MOV.F R0.w, R18;
  7854. FLR.F R10.w, R0;
  7855. MOV.F R0.w, R17.y;
  7856. TRUNC.S R23.x, R0.w;
  7857. MOV.S R17.z, R10.w;
  7858. I2F.S R0.w, R21.x;
  7859. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  7860. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7861. TRUNC.U.CC HC.x, R10.w;
  7862. MAX.S R17.w, R21.y, R29.y;
  7863. ADD.S R17.y, -R23.x, {0, 0, 0, 0}.x;
  7864. MOV.S R26.w, R0;
  7865. IF NE.x;
  7866. MOV.F R0.w, {1, 0, 0, 0}.x;
  7867. ELSE;
  7868. MOV.F R0.w, {0, 0, 0, 0}.x;
  7869. ENDIF;
  7870. MOV.F R10.w, R19.x;
  7871. SNE.F32 R16.w, R10, {0, 0, 0, 0}.x;
  7872. MOV.F R13.w, R26;
  7873. MUL.F32 R10.w, -R13, R10;
  7874. TRUNC.U R16.w, R16;
  7875. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  7876. MOV.S R21.x, R0.w;
  7877. TRUNC.U R0.w, R13;
  7878. AND.U.CC HC.x, R0.w, R16.w;
  7879. IF NE.x;
  7880. MOV.F R0.w, R10;
  7881. ELSE;
  7882. MOV.F R0.w, {0, 0, 0, 0}.x;
  7883. ENDIF;
  7884. MOV.F R10.w, R17.z;
  7885. SGT.F32 R10.w, {0, 0, 0, 0}.x, R10;
  7886. TRUNC.U.CC HC.x, R10.w;
  7887. MAX.S R21.z, R23.x, R17.y;
  7888. MOV.S R21.y, R0.w;
  7889. IF NE.x;
  7890. MOV.F R0.w, {1, 0, 0, 0}.x;
  7891. ELSE;
  7892. MOV.F R0.w, {0, 0, 0, 0}.x;
  7893. ENDIF;
  7894. I2F.S R10.w, R17;
  7895. MUL.F32 R10.w, R10, {2, 0, 0, 0}.x;
  7896. SNE.F32 R16.w, -R10, {0, 0, 0, 0}.x;
  7897. MOV.F R13.w, R29.x;
  7898. MUL.F32 R10.w, -R10, R13;
  7899. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7900. TRUNC.U R16.w, R16;
  7901. TRUNC.U R13.w, R13;
  7902. AND.U.CC HC.x, R16.w, R13.w;
  7903. MOV.S R21.w, R0;
  7904. IF NE.x;
  7905. MOV.F R0.w, R10;
  7906. ELSE;
  7907. MOV.F R0.w, {0, 0, 0, 0}.x;
  7908. ENDIF;
  7909. MOV.F R16.w, R21.y;
  7910. MOV.F R13.w, R20.x;
  7911. MUL.F32 R10.w, R13, R16;
  7912. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7913. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7914. TRUNC.U R13.w, R13;
  7915. TRUNC.U R16.w, R16;
  7916. AND.U.CC HC.x, R13.w, R16.w;
  7917. MOV.S R17.x, R0.w;
  7918. IF NE.x;
  7919. MOV.F R0.w, R10;
  7920. ELSE;
  7921. MOV.F R0.w, {0, 0, 0, 0}.x;
  7922. ENDIF;
  7923. MOV.F R13.w, R21;
  7924. MOV.F R10.w, R21.x;
  7925. ADD.F32 R10.w, R10, -R13;
  7926. MOV.F R16.w, R21.y;
  7927. MOV.F R13.w, R10.x;
  7928. MOV.S R17.z, R10.w;
  7929. MUL.F32 R10.w, R13, R16;
  7930. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7931. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7932. TRUNC.U R13.w, R13;
  7933. TRUNC.U R16.w, R16;
  7934. AND.U.CC HC.x, R13.w, R16.w;
  7935. MOV.S R17.y, R0.w;
  7936. IF NE.x;
  7937. MOV.F R0.w, R10;
  7938. ELSE;
  7939. MOV.F R0.w, {0, 0, 0, 0}.x;
  7940. ENDIF;
  7941. I2F.S R10.w, R21.z;
  7942. MUL.F32 R13.w, R10, {2, 0, 0, 0}.x;
  7943. MOV.F R16.w, R17.z;
  7944. MUL.F32 R10.w, -R13, R16;
  7945. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  7946. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  7947. TRUNC.U R13.w, R13;
  7948. TRUNC.U R16.w, R16;
  7949. AND.U.CC HC.x, R13.w, R16.w;
  7950. MOV.S R17.w, R0;
  7951. IF NE.x;
  7952. MOV.F R0.w, R10;
  7953. ELSE;
  7954. MOV.F R0.w, {0, 0, 0, 0}.x;
  7955. ENDIF;
  7956. MOV.F R10.w, R17;
  7957. ADD.F32 R10.x, R10, R10.w;
  7958. MOV.F R13.w, R17.x;
  7959. MOV.F R10.w, R20.z;
  7960. MOV.S R29.y, R10.x;
  7961. MUL.F32 R10.x, R10.w, R13.w;
  7962. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7963. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7964. TRUNC.U R10.w, R10;
  7965. TRUNC.U R13.w, R13;
  7966. AND.U.CC HC.x, R10.w, R13.w;
  7967. MOV.S R21.x, R0.w;
  7968. IF NE.x;
  7969. MOV.F R0.w, R10.x;
  7970. ELSE;
  7971. MOV.F R0.w, {0, 0, 0, 0}.x;
  7972. ENDIF;
  7973. MOV.F R10.w, R17.y;
  7974. MOV.F R10.x, R20;
  7975. ADD.F32 R10.x, R10, R10.w;
  7976. MOV.F R13.w, R17.x;
  7977. MOV.F R10.w, R10.y;
  7978. MOV.S R18.w, R10.x;
  7979. MUL.F32 R10.x, R10.w, R13.w;
  7980. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7981. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  7982. TRUNC.U R10.w, R10;
  7983. TRUNC.U R13.w, R13;
  7984. AND.U.CC HC.x, R10.w, R13.w;
  7985. MOV.S R21.z, R0.w;
  7986. IF NE.x;
  7987. MOV.F R0.w, R10.x;
  7988. ELSE;
  7989. MOV.F R0.w, {0, 0, 0, 0}.x;
  7990. ENDIF;
  7991. MOV.F R10.x, R10.y;
  7992. ADD.F32 R10.x, R10, R0.w;
  7993. MOV.F R10.y, R13;
  7994. MOV.F R10.w, R21.x;
  7995. MOV.S R29.x, R10;
  7996. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  7997. MUL.F32 R0.w, R10.y, R10;
  7998. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  7999. TRUNC.U R10.x, R10;
  8000. TRUNC.U R10.y, R10;
  8001. AND.U.CC HC.x, R10, R10.y;
  8002. IF NE.x;
  8003. ELSE;
  8004. MOV.F R0.w, {0, 0, 0, 0}.x;
  8005. ENDIF;
  8006. MOV.F R10.y, R21.z;
  8007. MOV.F R10.x, R20.z;
  8008. ADD.F32 R10.x, R10, R10.y;
  8009. MOV.F R10.w, R21.x;
  8010. MOV.F R10.y, R10.z;
  8011. MOV.S R23.z, R10.x;
  8012. MUL.F32 R10.x, R10.y, R10.w;
  8013. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8014. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  8015. TRUNC.U R10.y, R10;
  8016. TRUNC.U R10.w, R10;
  8017. AND.U.CC HC.x, R10.y, R10.w;
  8018. MOV.S R17.y, R0.w;
  8019. IF NE.x;
  8020. MOV.F R0.w, R10.x;
  8021. ELSE;
  8022. MOV.F R0.w, {0, 0, 0, 0}.x;
  8023. ENDIF;
  8024. MOV.F R10.w, c[11].x;
  8025. MOV.F R10.y, R12.x;
  8026. MUL.F32 R10.x, R10.y, R10.w;
  8027. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8028. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  8029. TRUNC.U R10.y, R10;
  8030. TRUNC.U R10.w, R10;
  8031. AND.U.CC HC.x, R10.y, R10.w;
  8032. MOV.S R17.w, R0;
  8033. IF NE.x;
  8034. MOV.F R0.w, R10.x;
  8035. ELSE;
  8036. MOV.F R0.w, {0, 0, 0, 0}.x;
  8037. ENDIF;
  8038. MOV.F R10.y, R29;
  8039. ADD.F32 R0.w, R10.y, R0;
  8040. MOV.F R10.w, R17.y;
  8041. MOV.F R10.x, R13.y;
  8042. ADD.F32 R10.x, R10, R10.w;
  8043. MOV.F R10.w, c[11].y;
  8044. MOV.S R29.y, R10.x;
  8045. MOV.F R10.x, R12.w;
  8046. SNE.F32 R12.x, R10, {0, 0, 0, 0};
  8047. TRUNC.U R12.x, R12;
  8048. SNE.F32 R10.y, R10.w, {0, 0, 0, 0}.x;
  8049. MOV.S R19.x, R0.w;
  8050. TRUNC.U R0.w, R10.y;
  8051. AND.U.CC HC.x, R12, R0.w;
  8052. MUL.F32 R10.x, R10, R10.w;
  8053. IF NE.x;
  8054. MOV.F R0.w, R10.x;
  8055. ELSE;
  8056. MOV.F R0.w, {0, 0, 0, 0}.x;
  8057. ENDIF;
  8058. MOV.F R10.x, R10.z;
  8059. MOV.F R10.y, R17.w;
  8060. ADD.F32 R10.x, R10, R10.y;
  8061. MOV.F R10.z, c[11];
  8062. MOV.F R10.y, R12.z;
  8063. MOV.S R21.w, R10.x;
  8064. MUL.F32 R10.x, R10.y, R10.z;
  8065. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8066. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8067. TRUNC.U R10.y, R10;
  8068. TRUNC.U R10.z, R10;
  8069. AND.U.CC HC.x, R10.y, R10.z;
  8070. MOV.S R21.z, R0.w;
  8071. IF NE.x;
  8072. MOV.F R0.w, R10.x;
  8073. ELSE;
  8074. MOV.F R0.w, {0, 0, 0, 0}.x;
  8075. ENDIF;
  8076. MOV.F R10.x, c[8].w;
  8077. SEQ.F R10.x, R10, {1, 0, 0, 0};
  8078. TRUNC.U.CC HC.x, R10;
  8079. MOV.S R10.w, R0;
  8080. IF NE.x;
  8081. MOV.S R10.x, {-1, 0, 0, 0};
  8082. ELSE;
  8083. MOV.S R10.x, {0, 0, 0, 0};
  8084. ENDIF;
  8085. MOV.F R10.y, R10.w;
  8086. MOV.F R0.w, R21;
  8087. ADD.F32 R0.w, R0, R10.y;
  8088. MOV.S R18.y, R0.w;
  8089. MOV.F R10.z, R21;
  8090. MOV.F R10.y, R29.x;
  8091. ADD.F32 R10.y, R10, R10.z;
  8092. MOV.F R0.w, c[8];
  8093. MAX.F R10.z, R0.w, {0, 0, 0, 0}.x;
  8094. MOV.S R29.z, R10.y;
  8095. LG2.F32 R10.y, R10.z;
  8096. MUL.F32 R10.z, R10.y, {2, 0, 0, 0}.x;
  8097. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  8098. SEQ.F R10.z, R10.y, R10;
  8099. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  8100. TRUNC.U R10.w, R10;
  8101. TRUNC.U R10.z, R10;
  8102. AND.U R10.z, R10, R10.w;
  8103. SEQ.U R10.z, R10, {1, 0, 0, 0}.x;
  8104. MOV.U.CC RC.x, -R10.z;
  8105. MOV.S R17.z, R0.w;
  8106. IF NE.x;
  8107. MOV.F R10.y, {-3.40282347e+38, 0, 0, 0}.x;
  8108. ENDIF;
  8109. MOV.F R10.z, R14.w;
  8110. MUL.F32 R0.w, R10.z, R10.y;
  8111. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  8112. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  8113. TRUNC.U R10.z, R10.w;
  8114. TRUNC.U R10.y, R10;
  8115. AND.U.CC HC.x, R10.y, R10.z;
  8116. IF NE.x;
  8117. MOV.F R10.y, R0.w;
  8118. ELSE;
  8119. MOV.F R10.y, {0, 0, 0, 0}.x;
  8120. ENDIF;
  8121. MOV.S R10.y, R10;
  8122. MOV.F R10.z, R17;
  8123. SEQ.S R10.x, R10, {0, 0, 0, 0};
  8124. MOV.U.CC RC.x, -R10;
  8125. RCP.F32 R10.z, R10.z;
  8126. EX2.F32 R10.y, R10.y;
  8127. MAD.F32 R10.y, -R10, R10.z, R10.z;
  8128. MOV.S R0.w, R11.x;
  8129. MOV.S R16.w, R11;
  8130. MOV.S R10.w, R11.z;
  8131. MOV.S R17.y, R10;
  8132. MOV.S R20.y, {1065353216, 0, 0, 0}.x;
  8133. IF NE.x;
  8134. MOV.S R10.x, R17.y;
  8135. ELSE;
  8136. MOV.S R10.x, R14.w;
  8137. ENDIF;
  8138. MOV.F R11.z, R10.x;
  8139. MOV.F R10.z, R29.y;
  8140. MUL.F32 R10.y, R10.z, R11.z;
  8141. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8142. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8143. TRUNC.U R11.z, R11;
  8144. TRUNC.U R10.z, R10;
  8145. AND.U.CC HC.x, R10.z, R11.z;
  8146. IF NE.x;
  8147. ELSE;
  8148. MOV.F R10.y, {0, 0, 0, 0}.x;
  8149. ENDIF;
  8150. MOV.F R11.w, R10.x;
  8151. MOV.F R11.z, R23;
  8152. MUL.F32 R10.z, R11, R11.w;
  8153. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8154. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8155. TRUNC.U R11.z, R11;
  8156. TRUNC.U R11.w, R11;
  8157. AND.U.CC HC.x, R11.z, R11.w;
  8158. MOV.S R17.y, R10;
  8159. IF NE.x;
  8160. MOV.F R10.y, R10.z;
  8161. ELSE;
  8162. MOV.F R10.y, {0, 0, 0, 0}.x;
  8163. ENDIF;
  8164. MOV.F R11.z, R10.x;
  8165. MOV.F R10.z, R18.w;
  8166. MUL.F32 R10.x, R10.z, R11.z;
  8167. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8168. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8169. TRUNC.U R10.z, R10;
  8170. TRUNC.U R11.z, R11;
  8171. AND.U.CC HC.x, R10.z, R11.z;
  8172. MOV.S R17.z, R10.y;
  8173. IF NE.x;
  8174. ELSE;
  8175. MOV.F R10.x, {0, 0, 0, 0};
  8176. ENDIF;
  8177. MOV.F R10.y, R19.x;
  8178. ADD.F32 R10.x, R10.y, R10;
  8179. MAD.F32 R10.x, R10, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  8180. FRC.F32 R10.x, R10;
  8181. MAD.F32 R10.x, R10, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  8182. MUL.F32 R10.x, R10, {0.159154937, 0, 0, 0};
  8183. MOV.F R11.z, R17.y;
  8184. MOV.F R10.z, R18.y;
  8185. ADD.F32 R10.z, R10, R11;
  8186. MAD.F32 R10.y, R10.z, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8187. FRC.F32 R10.y, R10;
  8188. MAD.F32 R10.y, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  8189. MUL.F32 R10.y, R10, {0.159154937, 0, 0, 0}.x;
  8190. MOV.S R18.y, R10;
  8191. MOV.S R10.x, R10;
  8192. MOV.F R10.z, R17;
  8193. MOV.F R10.y, R29.z;
  8194. ADD.F32 R10.y, R10, R10.z;
  8195. MAD.F32 R10.y, R10, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8196. FRC.F32 R10.z, R10.y;
  8197. MUL.F32 R10.y, R10.x, {6.28318548, 0, 0, 0}.x;
  8198. COS.F32 R11.w, R10.y;
  8199. MAD.F32 R10.z, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  8200. SIN.F32 R11.z, R10.z;
  8201. SIN.F32 R10.y, R10.y;
  8202. MUL.F32 R10.z, R10, {0.159154937, 0, 0, 0}.x;
  8203. MOV.S R19.y, R10;
  8204. MOV.S R19.x, R10.z;
  8205. SNE.F32 R10.z, R11, {0, 0, 0, 0}.x;
  8206. SNE.F32 R10.y, R11.w, {0, 0, 0, 0}.x;
  8207. TRUNC.U R10.z, R10;
  8208. TRUNC.U R10.y, R10;
  8209. AND.U.CC HC.x, R10.y, R10.z;
  8210. MUL.F32 R10.x, R11.z, R11.w;
  8211. MOV.S R29.z, R11;
  8212. MOV.S R29.x, R11.w;
  8213. IF NE.x;
  8214. ELSE;
  8215. MOV.F R10.x, {0, 0, 0, 0};
  8216. ENDIF;
  8217. MOV.F R10.z, R19.y;
  8218. MOV.F R11.z, R29;
  8219. MUL.F32 R10.y, R10.z, R11.z;
  8220. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8221. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8222. TRUNC.U R10.z, R10;
  8223. TRUNC.U R11.z, R11;
  8224. AND.U.CC HC.x, R10.z, R11.z;
  8225. MOV.S R19.z, R10.x;
  8226. IF NE.x;
  8227. MOV.F R10.x, R10.y;
  8228. ELSE;
  8229. MOV.F R10.x, {0, 0, 0, 0};
  8230. ENDIF;
  8231. MOV.F R10.y, R19.x;
  8232. MUL.F32 R10.y, R10, {6.28318548, 0, 0, 0}.x;
  8233. COS.F32 R10.y, R10.y;
  8234. MOV.S R10.y, R10;
  8235. MOV.S R10.z, R10.y;
  8236. MOV.F R11.z, R10;
  8237. MOV.F R10.z, R29.x;
  8238. MOV.S R23.z, R10.y;
  8239. MUL.F32 R10.y, R10.z, R11.z;
  8240. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8241. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8242. TRUNC.U R11.z, R11;
  8243. TRUNC.U R10.z, R10;
  8244. AND.U.CC HC.x, R10.z, R11.z;
  8245. MOV.S R18.w, R10.x;
  8246. IF NE.x;
  8247. MOV.F R10.x, R10.y;
  8248. ELSE;
  8249. MOV.F R10.x, {0, 0, 0, 0};
  8250. ENDIF;
  8251. MOV.F R11.z, R23;
  8252. MOV.F R10.z, R19.y;
  8253. MUL.F32 R10.y, R10.z, R11.z;
  8254. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8255. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8256. TRUNC.U R10.z, R10;
  8257. TRUNC.U R11.z, R11;
  8258. AND.U.CC HC.x, R10.z, R11.z;
  8259. MOV.S R10.x, R10;
  8260. IF NE.x;
  8261. ELSE;
  8262. MOV.F R10.y, {0, 0, 0, 0}.x;
  8263. ENDIF;
  8264. MOV.F R10.z, R18.y;
  8265. MUL.F32 R10.z, R10, {6.28318548, 0, 0, 0}.x;
  8266. SIN.F32 R10.z, R10.z;
  8267. SNE.F32 R11.z, R10, {0, 0, 0, 0}.x;
  8268. MOV.S R23.y, R10.z;
  8269. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  8270. TRUNC.U R11.z, R11;
  8271. TRUNC.U R11.w, R11;
  8272. AND.U.CC HC.x, R11.z, R11.w;
  8273. MUL.F32 R10.z, R10.y, R10;
  8274. MOV.S R29.y, R10;
  8275. IF NE.x;
  8276. ELSE;
  8277. MOV.F R10.z, {0, 0, 0, 0}.x;
  8278. ENDIF;
  8279. MOV.F R11.w, R23.y;
  8280. MOV.F R12.x, R10;
  8281. MOV.F R10.y, -R11.w;
  8282. MUL.F32 R11.z, R11.w, R12.x;
  8283. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8284. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8285. TRUNC.U R11.w, R11;
  8286. TRUNC.U R12.x, R12;
  8287. AND.U.CC HC.x, R11.w, R12;
  8288. MOV.S R10.y, R10;
  8289. MOV.S R21.x, R10.z;
  8290. IF NE.x;
  8291. MOV.F R10.z, R11;
  8292. ELSE;
  8293. MOV.F R10.z, {0, 0, 0, 0}.x;
  8294. ENDIF;
  8295. MOV.F R12.x, R19.z;
  8296. MOV.F R11.w, R23.y;
  8297. MUL.F32 R11.z, R11.w, R12.x;
  8298. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8299. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8300. TRUNC.U R11.w, R11;
  8301. TRUNC.U R12.x, R12;
  8302. AND.U.CC HC.x, R11.w, R12;
  8303. MOV.S R21.z, R10;
  8304. IF NE.x;
  8305. MOV.F R10.z, R11;
  8306. ELSE;
  8307. MOV.F R10.z, {0, 0, 0, 0}.x;
  8308. ENDIF;
  8309. MOV.F R11.w, R21.z;
  8310. MOV.F R11.z, R18.w;
  8311. ADD.F32 R11.z, R11, R11.w;
  8312. MOV.S R20.x, R11.z;
  8313. MOV.F R11.z, R19;
  8314. MOV.F R11.w, R21.x;
  8315. ADD.F32 R11.w, -R11.z, R11;
  8316. MOV.F R11.z, R18.y;
  8317. MUL.F32 R11.z, R11, {6.28318548, 0, 0, 0}.x;
  8318. MOV.S R12.z, R11.w;
  8319. COS.F32 R11.w, R11.z;
  8320. MOV.F R12.x, R23.z;
  8321. MUL.F32 R11.z, R11.w, R12.x;
  8322. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8323. TRUNC.U R12.w, R12.x;
  8324. MOV.S R19.x, R11.w;
  8325. MOV.F R12.x, R29.y;
  8326. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8327. ADD.F32 R10.z, -R12.x, R10;
  8328. TRUNC.U R11.w, R11;
  8329. AND.U.CC HC.x, R12.w, R11.w;
  8330. MOV.S R17.y, R10.z;
  8331. IF NE.x;
  8332. MOV.F R10.z, R11;
  8333. ELSE;
  8334. MOV.F R10.z, {0, 0, 0, 0}.x;
  8335. ENDIF;
  8336. MOV.F R12.x, R19;
  8337. MOV.F R11.w, R29.x;
  8338. MUL.F32 R11.z, R11.w, R12.x;
  8339. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8340. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8341. TRUNC.U R12.x, R12;
  8342. TRUNC.U R11.w, R11;
  8343. AND.U.CC HC.x, R11.w, R12;
  8344. MOV.S R13.w, R10.z;
  8345. IF NE.x;
  8346. MOV.F R10.z, R11;
  8347. ELSE;
  8348. MOV.F R10.z, {0, 0, 0, 0}.x;
  8349. ENDIF;
  8350. MOV.F R12.x, R19;
  8351. MOV.F R11.w, R19.y;
  8352. MUL.F32 R11.z, R11.w, R12.x;
  8353. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8354. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8355. TRUNC.U R11.w, R11;
  8356. TRUNC.U R12.x, R12;
  8357. AND.U.CC HC.x, R11.w, R12;
  8358. MOV.S R23.w, R10.z;
  8359. IF NE.x;
  8360. MOV.F R10.z, R11;
  8361. ELSE;
  8362. MOV.F R10.z, {0, 0, 0, 0}.x;
  8363. ENDIF;
  8364. MOV.F R12.x, R18.w;
  8365. MOV.F R11.w, R23.y;
  8366. MUL.F32 R11.z, R11.w, R12.x;
  8367. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  8368. TRUNC.U R12.w, R12.x;
  8369. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8370. TRUNC.U R11.w, R11;
  8371. AND.U.CC HC.x, R11.w, R12.w;
  8372. MOV.S R12.x, R10.z;
  8373. IF NE.x;
  8374. MOV.F R10.z, R11;
  8375. ELSE;
  8376. MOV.F R10.z, {0, 0, 0, 0}.x;
  8377. ENDIF;
  8378. MOV.F R12.w, R13.x;
  8379. MOV.F R11.w, R17.y;
  8380. MUL.F32 R11.z, R11.w, R12.w;
  8381. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8382. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  8383. TRUNC.U R11.w, R11;
  8384. TRUNC.U R12.w, R12;
  8385. AND.U.CC HC.x, R11.w, R12.w;
  8386. MOV.S R13.y, R10.z;
  8387. IF NE.x;
  8388. MOV.F R10.z, R11;
  8389. ELSE;
  8390. MOV.F R10.z, {0, 0, 0, 0}.x;
  8391. ENDIF;
  8392. MOV.F R12.w, R19.x;
  8393. MOV.F R11.z, R29;
  8394. MUL.F32 R11.w, R11.z, R12;
  8395. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  8396. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  8397. TRUNC.U R17.x, R12.w;
  8398. TRUNC.U R12.w, R11.z;
  8399. AND.U.CC HC.x, R12.w, R17;
  8400. MOV.S R11.z, R10;
  8401. IF NE.x;
  8402. MOV.F R10.z, R11.w;
  8403. ELSE;
  8404. MOV.F R10.z, {0, 0, 0, 0}.x;
  8405. ENDIF;
  8406. MOV.F R17.x, R17.y;
  8407. MOV.F R11.w, R27.z;
  8408. MUL.F32 R12.w, R11, R17.x;
  8409. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  8410. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8411. TRUNC.U R17.y, R17.x;
  8412. TRUNC.U R17.x, R11.w;
  8413. AND.U.CC HC.x, R17, R17.y;
  8414. MOV.S R11.w, R10.z;
  8415. IF NE.x;
  8416. MOV.F R10.z, R12.w;
  8417. ELSE;
  8418. MOV.F R10.z, {0, 0, 0, 0}.x;
  8419. ENDIF;
  8420. MOV.S R12.w, R10.z;
  8421. ENDIF;
  8422. SEQ.U R10.z, R31.w, {1, 0, 0, 0}.x;
  8423. MOV.U.CC RC.x, -R10.z;
  8424. IF NE.x;
  8425. MOV.F R17.x, R13;
  8426. MOV.F R10.z, R11.w;
  8427. MUL.F32 R0.y, R10.z, R17.x;
  8428. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  8429. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8430. TRUNC.U R17.x, R17;
  8431. TRUNC.U R10.z, R10;
  8432. AND.U.CC HC.x, R10.z, R17;
  8433. IF NE.x;
  8434. ELSE;
  8435. MOV.F R0.y, {0, 0, 0, 0}.x;
  8436. ENDIF;
  8437. MOV.F R10.z, R13.y;
  8438. ADD.F32 R10.x, R10, R10.z;
  8439. MOV.S R19.x, R0.y;
  8440. MOV.F R0.y, c[12];
  8441. MUL.F32 R0.y, R0, {0.5, 0, 0, 0}.x;
  8442. MOV.F R10.z, R27;
  8443. MOV.S R17.w, R10.x;
  8444. MUL.F32 R10.x, R10.z, R11.w;
  8445. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8446. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8447. TRUNC.U R17.x, R11.w;
  8448. TRUNC.U R11.w, R10.z;
  8449. MOV.F R10.z, c[12].x;
  8450. MUL.F32 R10.z, R10, {0.5, 0, 0, 0}.x;
  8451. AND.U.CC HC.x, R11.w, R17;
  8452. MOV.S R17.z, R10;
  8453. MOV.S R17.y, R0;
  8454. IF NE.x;
  8455. MOV.F R0.y, R10.x;
  8456. ELSE;
  8457. MOV.F R0.y, {0, 0, 0, 0}.x;
  8458. ENDIF;
  8459. MOV.F R11.w, R17;
  8460. MOV.F R10.x, R28;
  8461. MOV.F R10.z, R17;
  8462. ADD.F32 R10.z, R10.x, R10;
  8463. MOV.S R21.x, R10.z;
  8464. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  8465. MUL.F32 R10.x, R11.w, R13;
  8466. SNE.F32 R11.w, R13.x, {0, 0, 0, 0}.x;
  8467. TRUNC.U R10.z, R10;
  8468. TRUNC.U R11.w, R11;
  8469. AND.U.CC HC.x, R10.z, R11.w;
  8470. MOV.S R26.w, R0.y;
  8471. IF NE.x;
  8472. MOV.F R0.y, R10.x;
  8473. ELSE;
  8474. MOV.F R0.y, {0, 0, 0, 0}.x;
  8475. ENDIF;
  8476. MOV.F R11.w, R17;
  8477. MOV.F R10.z, R27;
  8478. MUL.F32 R10.x, R10.z, R11.w;
  8479. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8480. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8481. TRUNC.U R11.w, R11;
  8482. TRUNC.U R10.z, R10;
  8483. AND.U.CC HC.x, R10.z, R11.w;
  8484. MOV.S R19.y, R0;
  8485. IF NE.x;
  8486. MOV.F R0.y, R10.x;
  8487. ELSE;
  8488. MOV.F R0.y, {0, 0, 0, 0}.x;
  8489. ENDIF;
  8490. MOV.F R10.z, R17.y;
  8491. MOV.F R10.x, R28.y;
  8492. ADD.F32 R10.x, R10, R10.z;
  8493. MOV.F R11.w, R10.y;
  8494. MOV.F R10.z, R27.y;
  8495. MOV.S R21.w, R10.x;
  8496. MUL.F32 R10.x, R10.z, R11.w;
  8497. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8498. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8499. TRUNC.U R11.w, R11;
  8500. TRUNC.U R10.z, R10;
  8501. AND.U.CC HC.x, R10.z, R11.w;
  8502. MOV.S R21.z, R0.y;
  8503. IF NE.x;
  8504. MOV.F R0.y, R10.x;
  8505. ELSE;
  8506. MOV.F R0.y, {0, 0, 0, 0}.x;
  8507. ENDIF;
  8508. MOV.F R10.x, R12;
  8509. MOV.F R11.w, R27.y;
  8510. SNE.F32 R13.x, R10, {0, 0, 0, 0};
  8511. MUL.F32 R10.z, R11.w, R10.x;
  8512. MOV.F R10.x, R26.w;
  8513. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8514. ADD.F32 R0.y, R0, R10.x;
  8515. TRUNC.U R13.x, R13;
  8516. TRUNC.U R11.w, R11;
  8517. AND.U.CC HC.x, R11.w, R13;
  8518. MOV.S R10.x, R0.y;
  8519. IF NE.x;
  8520. MOV.F R0.y, R10.z;
  8521. ELSE;
  8522. MOV.F R0.y, {0, 0, 0, 0}.x;
  8523. ENDIF;
  8524. MOV.F R10.z, R21;
  8525. ADD.F32 R10.z, R0.y, R10;
  8526. MOV.F R11.w, R12.y;
  8527. MOV.F R13.x, R21.w;
  8528. MUL.F32 R0.y, R11.w, R13.x;
  8529. MOV.S R26.x, R10.z;
  8530. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  8531. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8532. TRUNC.U R11.w, R13.x;
  8533. TRUNC.U R10.z, R10;
  8534. AND.U.CC HC.x, R10.z, R11.w;
  8535. IF NE.x;
  8536. ELSE;
  8537. MOV.F R0.y, {0, 0, 0, 0}.x;
  8538. ENDIF;
  8539. MOV.F R13.x, R21;
  8540. MOV.F R11.w, R13.z;
  8541. MUL.F32 R10.z, R11.w, R13.x;
  8542. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8543. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8544. TRUNC.U R11.w, R11;
  8545. TRUNC.U R13.x, R13;
  8546. AND.U.CC HC.x, R11.w, R13;
  8547. MOV.S R17.y, R0;
  8548. IF NE.x;
  8549. MOV.F R0.y, R10.z;
  8550. ELSE;
  8551. MOV.F R0.y, {0, 0, 0, 0}.x;
  8552. ENDIF;
  8553. MOV.F R13.x, R23.w;
  8554. MOV.F R11.w, R27.y;
  8555. MUL.F32 R10.z, R11.w, R13.x;
  8556. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8557. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  8558. TRUNC.U R11.w, R11;
  8559. TRUNC.U R13.x, R13;
  8560. AND.U.CC HC.x, R11.w, R13;
  8561. MOV.S R19.z, R0.y;
  8562. IF NE.x;
  8563. MOV.F R0.y, R10.z;
  8564. ELSE;
  8565. MOV.F R0.y, {0, 0, 0, 0}.x;
  8566. ENDIF;
  8567. MOV.F R10.z, R12.w;
  8568. ADD.F32 R0.y, R0, R10.z;
  8569. MOV.F R11.w, R13;
  8570. MOV.F R10.z, R27.x;
  8571. MOV.S R18.w, R0.y;
  8572. MUL.F32 R0.y, R10.z, R11.w;
  8573. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8574. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8575. TRUNC.U R11.w, R11;
  8576. TRUNC.U R10.z, R10;
  8577. AND.U.CC HC.x, R10.z, R11.w;
  8578. IF NE.x;
  8579. ELSE;
  8580. MOV.F R0.y, {0, 0, 0, 0}.x;
  8581. ENDIF;
  8582. MOV.F R10.z, R12;
  8583. SNE.F32 R12.w, R10.z, {0, 0, 0, 0}.x;
  8584. MOV.F R11.w, R27.x;
  8585. ADD.F32 R0.y, R0, R10.x;
  8586. MUL.F32 R10.z, R11.w, R10;
  8587. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  8588. TRUNC.U R12.w, R12;
  8589. TRUNC.U R10.x, R11.w;
  8590. AND.U.CC HC.x, R10, R12.w;
  8591. MOV.S R29.x, R0.y;
  8592. IF NE.x;
  8593. MOV.F R0.y, R10.z;
  8594. ELSE;
  8595. MOV.F R0.y, {0, 0, 0, 0}.x;
  8596. ENDIF;
  8597. MOV.F R10.x, R26;
  8598. ADD.F32 R0.y, R0, R10.x;
  8599. MOV.F R10.z, R23.w;
  8600. MOV.F R10.x, R17.y;
  8601. MOV.S R23.x, R0.y;
  8602. MUL.F32 R0.y, R10.x, R10.z;
  8603. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8604. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  8605. TRUNC.U R10.z, R10;
  8606. TRUNC.U R10.x, R10;
  8607. AND.U.CC HC.x, R10, R10.z;
  8608. IF NE.x;
  8609. ELSE;
  8610. MOV.F R0.y, {0, 0, 0, 0}.x;
  8611. ENDIF;
  8612. MOV.F R10.z, R10.y;
  8613. MOV.F R10.x, R11.z;
  8614. ADD.F32 R10.x, R0.y, R10;
  8615. MOV.F R10.y, R17;
  8616. MUL.F32 R0.y, R10, R10.z;
  8617. MOV.S R26.y, R10.x;
  8618. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8619. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8620. TRUNC.U R10.y, R10.z;
  8621. TRUNC.U R10.x, R10;
  8622. AND.U.CC HC.x, R10, R10.y;
  8623. IF NE.x;
  8624. ELSE;
  8625. MOV.F R0.y, {0, 0, 0, 0}.x;
  8626. ENDIF;
  8627. MOV.F R10.x, R19;
  8628. ADD.F32 R10.x, R0.y, R10;
  8629. MOV.F R10.y, R17;
  8630. MOV.F R10.z, R12.x;
  8631. MUL.F32 R0.y, R10, R10.z;
  8632. MOV.S R26.z, R10.x;
  8633. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8634. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8635. TRUNC.U R10.y, R10.z;
  8636. TRUNC.U R10.x, R10;
  8637. AND.U.CC HC.x, R10, R10.y;
  8638. IF NE.x;
  8639. ELSE;
  8640. MOV.F R0.y, {0, 0, 0, 0}.x;
  8641. ENDIF;
  8642. MOV.F R10.x, R19.y;
  8643. ADD.F32 R10.x, R0.y, R10;
  8644. MOV.F R10.y, R19.z;
  8645. MOV.F R10.z, R13.w;
  8646. MOV.S R26.w, R10.x;
  8647. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8648. MUL.F32 R0.y, R10, R10.z;
  8649. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  8650. TRUNC.U R10.x, R10;
  8651. TRUNC.U R10.y, R10;
  8652. AND.U.CC HC.x, R10, R10.y;
  8653. MOV.S R12.w, c[13].x;
  8654. IF NE.x;
  8655. ELSE;
  8656. MOV.F R0.y, {0, 0, 0, 0}.x;
  8657. ENDIF;
  8658. MOV.F R10.x, R26.z;
  8659. ADD.F32 R10.x, R0.y, R10;
  8660. MOV.F R10.y, R19.z;
  8661. MOV.F R10.z, R20.x;
  8662. MUL.F32 R0.y, R10, R10.z;
  8663. MOV.S R19.x, R10;
  8664. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8665. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8666. TRUNC.U R10.y, R10.z;
  8667. TRUNC.U R10.x, R10;
  8668. AND.U.CC HC.x, R10, R10.y;
  8669. IF NE.x;
  8670. ELSE;
  8671. MOV.F R0.y, {0, 0, 0, 0}.x;
  8672. ENDIF;
  8673. MOV.F R10.x, R26.y;
  8674. ADD.F32 R10.x, R0.y, R10;
  8675. MOV.F R10.y, R19.z;
  8676. MOV.F R10.z, R12;
  8677. MUL.F32 R0.y, R10, R10.z;
  8678. MOV.S R19.y, R10.x;
  8679. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  8680. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  8681. TRUNC.U R10.y, R10.z;
  8682. TRUNC.U R10.x, R10;
  8683. AND.U.CC HC.x, R10, R10.y;
  8684. IF NE.x;
  8685. ELSE;
  8686. MOV.F R0.y, {0, 0, 0, 0}.x;
  8687. ENDIF;
  8688. MOV.F R10.x, R26.w;
  8689. ADD.F32 R0.y, R0, R10.x;
  8690. MOV.F R10.y, R20.x;
  8691. MOV.F R10.x, R27;
  8692. MOV.S R19.z, R0.y;
  8693. MUL.F32 R0.y, R10.x, R10;
  8694. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  8695. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  8696. TRUNC.U R10.y, R10;
  8697. TRUNC.U R10.x, R10;
  8698. AND.U.CC HC.x, R10, R10.y;
  8699. IF NE.x;
  8700. ELSE;
  8701. MOV.F R0.y, {0, 0, 0, 0}.x;
  8702. ENDIF;
  8703. MOV.F R17.w, R20.y;
  8704. MOV.F R17.xyz, R19;
  8705. MOV.F R21.xyz, R14;
  8706. MOV.F R21.w, R0;
  8707. DP4.F32 R0.w, R21, R17;
  8708. MOV.S R13.x, R0.w;
  8709. MOV.F R0.w, R18;
  8710. ADD.F32 R0.w, R0.y, R0;
  8711. MOV.F R18.w, R16;
  8712. MOV.F R18.xyz, R15;
  8713. DP4.F32 R10.x, R17, R18;
  8714. MOV.S R18.w, R0;
  8715. MOV.F R0.w, c[14].y;
  8716. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8717. TRUNC.U.CC HC.x, R0.w;
  8718. MOV.S R0.y, R10.x;
  8719. MOV.S R12.z, c[13].y;
  8720. MOV.S R20.x, c[13].z;
  8721. IF NE.x;
  8722. MOV.F R0.w, {1, 0, 0, 0}.x;
  8723. ELSE;
  8724. MOV.F R0.w, {0, 0, 0, 0}.x;
  8725. ENDIF;
  8726. MOV.S R23.y, R0.w;
  8727. MOV.F R10.xyz, R16;
  8728. MOV.F R17.w, R20.y;
  8729. MOV.F R17.xyz, R19;
  8730. DP4.F32 R11.z, R10, R17;
  8731. MOV.F R17.xyz, R14;
  8732. MOV.F R10.y, R18.w;
  8733. MOV.F R10.z, R23.x;
  8734. MOV.F R10.x, R29;
  8735. MOV.F R10.w, {0, 0, 0, 0}.x;
  8736. MOV.F R17.w, {-0, 0, 0, 0}.x;
  8737. DP4.F32 R10.x, R17, R10;
  8738. MOV.S R24.x, R10;
  8739. MOV.F R10.x, c[14].y;
  8740. SGT.F32 R10.x, {0, 0, 0, 0}, R10;
  8741. TRUNC.U.CC HC.x, R10;
  8742. MOV.S R11.z, R11;
  8743. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  8744. IF NE.x;
  8745. MOV.F R11.w, {1, 0, 0, 0}.x;
  8746. ELSE;
  8747. MOV.F R11.w, {0, 0, 0, 0}.x;
  8748. ENDIF;
  8749. MOV.F R10.xyz, R16;
  8750. MOV.F R17.x, R29;
  8751. MOV.F R17.y, R18.w;
  8752. MOV.F R17.z, R23.x;
  8753. MOV.F R17.w, {0, 0, 0, 0}.x;
  8754. MOV.F R10.w, {-0, 0, 0, 0}.x;
  8755. DP4.F32 R10.x, R10, R17;
  8756. MOV.F R13.z, R23.y;
  8757. ADD.F32 R10.y, R13.z, -R11.w;
  8758. MOV.S R11.w, R10.y;
  8759. MOV.S R24.z, R10.x;
  8760. MOV.F R10.xyz, R15;
  8761. MOV.F R10.w, {-0, 0, 0, 0}.x;
  8762. DP4.F32 R10.x, R10, R17;
  8763. MOV.S R10.y, R11.w;
  8764. MOV.S R24.y, R10.x;
  8765. MOV.F R10.x, R10.y;
  8766. ADD.F32 R10.y, -R10.x, {1, 0, 0, 0}.x;
  8767. MOV.S R29.x, R10.y;
  8768. MOV.F R10.y, c[2].z;
  8769. MOV.S R19.z, R11.w;
  8770. MOV.F R10.z, R14.w;
  8771. MOV.F R10.x, c[14].y;
  8772. DIV.F32 R10.x, R10.z, R10.x;
  8773. MOV.S R21.y, R10.x;
  8774. MOV.F R10.x, R9;
  8775. SNE.F32 R10.z, R10.x, {0, 0, 0, 0}.x;
  8776. TRUNC.U R10.w, R10.z;
  8777. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  8778. MUL.F32 R10.x, R10, R10.y;
  8779. MOV.F R10.z, c[16].x;
  8780. MOV.F R10.y, c[15].x;
  8781. ADD.F32 R10.y, -R10, R10.z;
  8782. TRUNC.U R10.z, R11.w;
  8783. AND.U.CC HC.x, R10.w, R10.z;
  8784. MOV.S R23.z, R10.y;
  8785. IF NE.x;
  8786. ELSE;
  8787. MOV.F R10.x, {0, 0, 0, 0};
  8788. ENDIF;
  8789. MOV.F R10.y, R21;
  8790. ADD.F32 R10.x, R10, R10.y;
  8791. MOV.F R10.z, R19;
  8792. MOV.S R10.x, R10;
  8793. FRC.F32 R10.y
  8794. [17:14:11] Link error in shader. Log:
  8795. [17:14:11] Vertex info
  8796. -----------
  8797. Internal error: assembly compile error for vertex shader at offset 1806:
  8798. -- error message --
  8799. line 38, column 45: error: invalid vertex attribute reference
  8800. line 44, column 25: error: invalid vertex attribute reference
  8801. line 48, column 25: error: invalid vertex attribute reference
  8802. line 51, column 25: error: invalid vertex attribute reference
  8803. line 54, column 25: error: invalid vertex attribute reference
  8804. -- internal assembly text --
  8805. !!NVvp5.0
  8806. OPTION NV_internal;
  8807. OPTION NV_bindless_texture;
  8808. # cgc version 3.4.0001, build date Oct 22 2020
  8809. # command line args:
  8810. #vendor NVIDIA Corporation
  8811. #version 3.4.0.1 COP Build Date Oct 22 2020
  8812. #profile gp5vp
  8813. #program main
  8814. #semantic uf_remappedVS
  8815. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  8816. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  8817. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  8818. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  8819. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  8820. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  8821. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  8822. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  8823. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  8824. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  8825. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  8826. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  8827. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  8828. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  8829. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  8830. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  8831. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  8832. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  8833. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  8834. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  8835. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  8836. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  8837. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  8838. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  8839. #var int4 uf_remappedVS[0] : : c[0], 39 : -1 : 1
  8840. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  8841. PARAM c[39] = { program.local[0..38] };
  8842. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  8843. OUTPUT result_attrib[] = { result.attrib[0..4] };
  8844. 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;
  8845. TEMP T;
  8846. TEMP RC;
  8847. SHORT TEMP HC;
  8848. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  8849. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8850. SHR.U R3.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  8851. AND.U R3.zw, R3.xyxy, {65280, 0, 0, 0}.x;
  8852. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  8853. SHR.U R3.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  8854. OR.U R0, R0, R1;
  8855. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  8856. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8857. OR.U R0, R0, R1;
  8858. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  8859. OR.U R4, R0, R2;
  8860. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  8861. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8862. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  8863. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  8864. OR.U R1, R1, R2;
  8865. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8866. OR.U R0, R1, R0;
  8867. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  8868. OR.U R5, R0, R2;
  8869. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  8870. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8871. SHR.U R1, vertex.attrib[0], {24, 0, 0, 0}.x;
  8872. OR.U R1, R1, R2;
  8873. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  8874. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  8875. OR.U R1, R1, R2;
  8876. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  8877. OR.U R15, R1, R0;
  8878. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  8879. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8880. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  8881. OR.U R0, R0, R1;
  8882. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  8883. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8884. OR.U R0, R0, R1;
  8885. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  8886. OR.U R6, R0, R2;
  8887. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  8888. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8889. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  8890. OR.U R0, R0, R1;
  8891. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  8892. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8893. OR.U R0, R0, R1;
  8894. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  8895. OR.U R7, R0, R2;
  8896. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  8897. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8898. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  8899. OR.U R0, R0, R1;
  8900. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  8901. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8902. OR.U R0, R0, R1;
  8903. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  8904. OR.U R9, R0, R2;
  8905. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8906. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8907. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8908. OR.U R0.xyz, R0, R1;
  8909. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8910. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8911. OR.U R0.xyz, R0, R1;
  8912. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8913. OR.U R17.xyz, R0, R2;
  8914. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8915. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8916. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8917. OR.U R0.xyz, R0, R1;
  8918. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8919. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8920. OR.U R0.xyz, R0, R1;
  8921. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8922. OR.U R21.xyz, R0, R2;
  8923. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8924. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8925. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8926. OR.U R0.xyz, R0, R1;
  8927. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  8928. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8929. OR.U R0.xyz, R0, R1;
  8930. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  8931. OR.U R20.xyz, R0, R2;
  8932. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  8933. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8934. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  8935. OR.U R0.xyz, R0, R1;
  8936. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  8937. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8938. OR.U R0.xyz, R0, R1;
  8939. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  8940. OR.U R18.xyz, R0, R2;
  8941. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8942. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8943. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8944. OR.U R0.xyz, R0, R1;
  8945. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  8946. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8947. OR.U R0.xyz, R0, R1;
  8948. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  8949. OR.U R8.xyz, R0, R2;
  8950. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8951. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8952. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8953. OR.U R0.xyz, R0, R1;
  8954. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  8955. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8956. OR.U R0.xyz, R0, R1;
  8957. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  8958. OR.U R19.xyz, R0, R2;
  8959. SHR.U R1.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  8960. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  8961. SHR.U R1.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  8962. OR.U R1.xy, R1, R1.zwzw;
  8963. SHL.U R2.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  8964. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  8965. SHL.U R2.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  8966. OR.U R1.xy, R1, R1.zwzw;
  8967. OR.U R10.zw, R1.xyxy, R2.xyxy;
  8968. MOV.U R2.x, R10.w;
  8969. MOV.F R2.y, c[0].x;
  8970. ADD.F32 R8.w, -R2.x, R2.y;
  8971. OR.U R3.xy, R3, R3.zwzw;
  8972. SHL.U R10.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  8973. AND.U R3.zw, R10.xyxy, {16711680, 0, 0, 0}.x;
  8974. OR.U R3.xy, R3, R3.zwzw;
  8975. SHL.U R10.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  8976. OR.U R22.zw, R3.xyxy, R10.xyxy;
  8977. SGT.F32 R10.w, {0, 0, 0, 0}.x, R8;
  8978. TRUNC.U R10.x, R10.w;
  8979. SEQ.U R3.x, R10, {1, 0, 0, 0};
  8980. SEQ.U R10.y, -R3.x, {1, 0, 0, 0}.x;
  8981. MOV.S R23.x, R8.w;
  8982. MOV.U.CC RC.x, -R10.y;
  8983. MOV.S R0, {0, 0, 0, 0}.x;
  8984. MOV.S R1, {0, 0, 0, 0}.x;
  8985. MOV.S R2, {0, 0, 0, 0}.x;
  8986. MOV.S R23.y, R10.z;
  8987. MOV.S R16.xyz, {0, 0, 0, 0}.x;
  8988. MOV.S R22.xy, {0, 0, 0, 0}.x;
  8989. MOV.S R3.yz, {0, 0, 0, 0};
  8990. MOV.S R3.x, vertex.id;
  8991. MOV.S R3.w, vertex.instance.x;
  8992. MOV.S R8.w, {0, 0, 0, 0}.x;
  8993. IF NE.x;
  8994. MOV.F R0.z, c[1].y;
  8995. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  8996. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  8997. MOV.S R22.xy, {0, 0, 0, 0}.x;
  8998. MOV.S R0.z, R0;
  8999. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  9000. ENDIF;
  9001. SEQ.U R10.x, R10, {0, 0, 0, 0};
  9002. SEQ.U R10.x, -R10, {1, 0, 0, 0};
  9003. SEQ.U R10.x, -R10, {1, 0, 0, 0};
  9004. MOV.U.CC RC.x, -R10;
  9005. IF NE.x;
  9006. MOV.S R9.w, {0, 0, 0, 0}.x;
  9007. ENDIF;
  9008. SEQ.S R9.w, R9, {0, 0, 0, 0}.x;
  9009. SEQ.U R10.x, -R9.w, {1, 0, 0, 0};
  9010. SEQ.U R10.y, -R10.x, {1, 0, 0, 0}.x;
  9011. MOV.U.CC RC.x, -R10.y;
  9012. MOV.U R9.w, -R9;
  9013. MOV.U R10.x, -R10;
  9014. IF NE.x;
  9015. MOV.F R10.y, R5.w;
  9016. TRUNC.S R10.y, R10;
  9017. I2F.S R10.y, R10;
  9018. MOV.F R10.z, R23.x;
  9019. SGE.F32 R10.z, R10, R10.y;
  9020. MOV.S R23.y, R10;
  9021. TRUNC.U R10.y, R10.z;
  9022. SEQ.U R10.z, R10.x, {1, 0, 0, 0}.x;
  9023. SEQ.U R10.x, R10.y, {1, 0, 0, 0};
  9024. AND.U R16.w, -R10.x, -R10.z;
  9025. ELSE;
  9026. MOV.U R16.w, {0, 0, 0, 0}.x;
  9027. ENDIF;
  9028. SEQ.U R10.x, R16.w, {1, 0, 0, 0};
  9029. MOV.U.CC RC.x, -R10;
  9030. IF NE.x;
  9031. MOV.F R0.z, c[1].y;
  9032. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  9033. MOV.S R0.xy, {0, 0, 0, 0};
  9034. MOV.S R0.z, R0;
  9035. MOV.S R22.x, {0, 0, 0, 0};
  9036. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  9037. ENDIF;
  9038. SEQ.U R9.w, R9, {1, 0, 0, 0}.x;
  9039. SEQ.U R10.y, -R9.w, {1, 0, 0, 0}.x;
  9040. MOV.U.CC RC.x, -R10.y;
  9041. MOV.U R10.x, -R9.w;
  9042. IF NE.x;
  9043. SEQ.S R9.w, R8, {0, 0, 0, 0}.x;
  9044. SEQ.U R10.x, R10, {1, 0, 0, 0};
  9045. SEQ.U R9.w, -R9, {1, 0, 0, 0}.x;
  9046. AND.U R16.w, -R9, -R10.x;
  9047. ELSE;
  9048. MOV.U R16.w, {0, 0, 0, 0}.x;
  9049. ENDIF;
  9050. SEQ.U R9.w, R16, {1, 0, 0, 0}.x;
  9051. MOV.U.CC RC.x, -R9.w;
  9052. IF NE.x;
  9053. MOV.F R3.x, c[2];
  9054. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  9055. TRUNC.U.CC HC.x, R3;
  9056. IF NE.x;
  9057. MOV.F R3.x, {1, 0, 0, 0};
  9058. ELSE;
  9059. MOV.F R3.x, {0, 0, 0, 0};
  9060. ENDIF;
  9061. MOV.F R3.y, R20.x;
  9062. MAX.F R3.y, R3, {0, 0, 0, 0}.x;
  9063. MOV.S R12.y, R3;
  9064. MOV.F R3.y, c[2].x;
  9065. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  9066. TRUNC.U.CC HC.x, R3.y;
  9067. MOV.S R12.x, R3;
  9068. IF NE.x;
  9069. MOV.F R3.y, {1, 0, 0, 0}.x;
  9070. ELSE;
  9071. MOV.F R3.y, {0, 0, 0, 0}.x;
  9072. ENDIF;
  9073. MOV.F R3.x, R20;
  9074. SNE.F32 R3.w, R3.x, {0, 0, 0, 0}.x;
  9075. MOV.F R3.z, c[3].y;
  9076. MUL.F32 R3.x, R3, R3.z;
  9077. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  9078. TRUNC.U R3.w, R3;
  9079. TRUNC.U R3.z, R3;
  9080. AND.U.CC HC.x, R3.w, R3.z;
  9081. MOV.S R12.z, R3.y;
  9082. IF NE.x;
  9083. MOV.F R3.y, R3.x;
  9084. ELSE;
  9085. MOV.F R3.y, {0, 0, 0, 0}.x;
  9086. ENDIF;
  9087. MOV.F R8.w, R23.x;
  9088. MOV.F R3.z, R12.x;
  9089. MOV.F R3.x, R12.z;
  9090. ADD.F32 R3.x, R3, -R3.z;
  9091. MOV.F R3.z, R23.y;
  9092. DIV.F32 R9.w, R8, R3.z;
  9093. SNE.F32 R3.z, -R3.x, {-1, 0, 0, 0}.x;
  9094. ADD.F32 R3.w, -R3.x, {1, 0, 0, 0}.x;
  9095. MOV.S R13.x, R3;
  9096. MOV.F R3.x, R12.y;
  9097. TRUNC.U R5.w, R3.z;
  9098. MIN.F R3.z, R3.x, {0, 0, 0, 0}.x;
  9099. MOV.F R3.x, R21;
  9100. ADD.F32 R3.x, R3, R3.z;
  9101. MOV.F R3.z, c[2].x;
  9102. RCP.F32 R10.x, R3.z;
  9103. MAD.F32 R3.y, R8.w, R10.x, R3;
  9104. SNE.F32 R8.w, R9, {0, 0, 0, 0}.x;
  9105. MOV.S R12.y, R3;
  9106. TRUNC.U R3.y, R8.w;
  9107. AND.U.CC HC.x, R3.y, R5.w;
  9108. MUL.F32 R3.w, R9, R3;
  9109. MOV.S R3.z, R9.w;
  9110. MOV.F R9.w, c[5].x;
  9111. MOV.F R8.w, c[4].x;
  9112. ADD.F32 R8.w, -R8, R9;
  9113. MOV.F R10.x, c[5].y;
  9114. MOV.F R9.w, c[4].y;
  9115. ADD.F32 R9.w, -R9, R10.x;
  9116. MOV.S R3.x, R3;
  9117. MOV.S R11.z, R8.w;
  9118. MOV.S R14.z, R9.w;
  9119. IF NE.x;
  9120. MOV.F R3.y, R3.w;
  9121. ELSE;
  9122. MOV.F R3.y, {0, 0, 0, 0}.x;
  9123. ENDIF;
  9124. MOV.F R3.w, R12.y;
  9125. FRC.F32 R3.w, R3;
  9126. MOV.S R3.w, R3;
  9127. MOV.F R10.xyz, R5;
  9128. MOV.F R8.w, R3;
  9129. MOV.F R12, R15;
  9130. MOV.F R10.w, {1, 0, 0, 0}.x;
  9131. DP4.F32 R5.w, R12, R10;
  9132. MOV.S R15.w, R5;
  9133. MOV.F R5.w, R13.x;
  9134. MUL.F32 R3.w, R5, R8;
  9135. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9136. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  9137. MOV.F R10.x, c[5].z;
  9138. MOV.F R9.w, c[4].z;
  9139. ADD.F32 R9.w, -R9, R10.x;
  9140. TRUNC.U R5.w, R5;
  9141. TRUNC.U R8.w, R8;
  9142. AND.U.CC HC.x, R5.w, R8.w;
  9143. MOV.F R10.y, c[5].w;
  9144. MOV.F R10.x, c[4].w;
  9145. ADD.F32 R10.x, -R10, R10.y;
  9146. MOV.S R11.y, R9.w;
  9147. MOV.S R13.z, R10.x;
  9148. MOV.S R11.x, R3.y;
  9149. IF NE.x;
  9150. MOV.F R3.y, R3.w;
  9151. ELSE;
  9152. MOV.F R3.y, {0, 0, 0, 0}.x;
  9153. ENDIF;
  9154. MOV.F R10, R6;
  9155. MOV.F R5.w, {1, 0, 0, 0}.x;
  9156. DP4.F32 R3.w, R10, R5;
  9157. DP4.F32 R5.x, R5, R7;
  9158. MOV.S R8.w, R3;
  9159. MOV.S R3.w, R5.x;
  9160. MOV.F R5.x, R11;
  9161. ADD.F32 R3.y, R5.x, R3;
  9162. MOV.F R5.y, c[4].w;
  9163. ADD.F32 R5.x, R3.y, -R5.y;
  9164. MOV.S R11.x, R5;
  9165. MOV.F R5.x, c[5].w;
  9166. ADD.F32 R5.x, R3.y, -R5;
  9167. SGE.F32 R3.y, R3, R5;
  9168. TRUNC.U.CC HC.x, R3.y;
  9169. MOV.S R7.w, R13.z;
  9170. MOV.S R10.x, R5;
  9171. IF NE.x;
  9172. MOV.S R3.y, {1065353216, 0, 0, 0}.x;
  9173. ELSE;
  9174. MOV.S R3.y, {0, 0, 0, 0}.x;
  9175. ENDIF;
  9176. MOV.F R5.z, R20.x;
  9177. MOV.F R5.x, R20.y;
  9178. MOV.F R5.y, R20.z;
  9179. ADD.F32 R5.y, R5.x, R5;
  9180. ADD.F32 R5.x, R5, R5.z;
  9181. MOV.S R13.z, R5.y;
  9182. MOV.S R11.w, R5.x;
  9183. MOV.F R5.x, R7.w;
  9184. MOV.F R5.z, R14;
  9185. DIV.F32 R5.z, R5, R5.x;
  9186. MOV.F R5.y, R11.z;
  9187. DIV.F32 R5.y, R5, R5.x;
  9188. MOV.S R12.z, R5.y;
  9189. MOV.F R5.y, R11;
  9190. DIV.F32 R5.x, R5.y, R5.x;
  9191. MOV.S R12.y, R5.z;
  9192. MOV.F R5.z, R10.x;
  9193. SGE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  9194. TRUNC.U.CC HC.x, R5.y;
  9195. MOV.S R12.x, R5;
  9196. IF NE.x;
  9197. MOV.S R5.x, {1065353216, 0, 0, 0};
  9198. ELSE;
  9199. MOV.S R5.x, {0, 0, 0, 0};
  9200. ENDIF;
  9201. MOV.F R5.y, R3;
  9202. ADD.F32 R5.z, -R5.y, {1, 0, 0, 0}.x;
  9203. MOV.F R5.w, c[5].x;
  9204. MOV.F R6.x, R5;
  9205. MUL.F32 R5.y, R5.w, R6.x;
  9206. MOV.S R14.z, R5;
  9207. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  9208. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9209. TRUNC.U R5.w, R6.x;
  9210. TRUNC.U R5.z, R5;
  9211. AND.U.CC HC.x, R5.z, R5.w;
  9212. IF NE.x;
  9213. ELSE;
  9214. MOV.F R5.y, {0, 0, 0, 0}.x;
  9215. ENDIF;
  9216. MOV.F R6.x, R12;
  9217. MOV.F R5.w, R11.x;
  9218. MUL.F32 R5.z, R5.w, R6.x;
  9219. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9220. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9221. TRUNC.U R5.w, R5;
  9222. TRUNC.U R6.x, R6;
  9223. AND.U.CC HC.x, R5.w, R6;
  9224. MOV.S R13.x, R5.y;
  9225. IF NE.x;
  9226. MOV.F R5.y, R5.z;
  9227. ELSE;
  9228. MOV.F R5.y, {0, 0, 0, 0}.x;
  9229. ENDIF;
  9230. MOV.F R6.x, R12.y;
  9231. MOV.F R5.w, R11.x;
  9232. MUL.F32 R5.z, R5.w, R6.x;
  9233. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9234. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9235. TRUNC.U R5.w, R5;
  9236. TRUNC.U R6.x, R6;
  9237. AND.U.CC HC.x, R5.w, R6;
  9238. MOV.S R10.y, R5;
  9239. IF NE.x;
  9240. MOV.F R5.y, R5.z;
  9241. ELSE;
  9242. MOV.F R5.y, {0, 0, 0, 0}.x;
  9243. ENDIF;
  9244. MOV.F R6.x, R12.z;
  9245. MOV.F R5.w, R11.x;
  9246. MUL.F32 R5.z, R5.w, R6.x;
  9247. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9248. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9249. TRUNC.U R5.w, R5;
  9250. TRUNC.U R6.x, R6;
  9251. AND.U.CC HC.x, R5.w, R6;
  9252. MOV.S R10.z, R5.y;
  9253. IF NE.x;
  9254. MOV.F R5.y, R5.z;
  9255. ELSE;
  9256. MOV.F R5.y, {0, 0, 0, 0}.x;
  9257. ENDIF;
  9258. MOV.F R5.w, c[5].y;
  9259. MOV.F R6.x, R5;
  9260. MUL.F32 R5.z, R5.w, R6.x;
  9261. MOV.S R10.w, R5.y;
  9262. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  9263. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9264. TRUNC.U R5.w, R6.x;
  9265. TRUNC.U R5.y, R5;
  9266. AND.U.CC HC.x, R5.y, R5.w;
  9267. IF NE.x;
  9268. MOV.F R5.y, R5.z;
  9269. ELSE;
  9270. MOV.F R5.y, {0, 0, 0, 0}.x;
  9271. ENDIF;
  9272. MOV.F R6.y, R14.z;
  9273. MOV.F R5.w, R10.z;
  9274. MOV.F R5.z, c[4].y;
  9275. ADD.F32 R5.z, R5, R5.w;
  9276. MOV.S R14.w, R5.z;
  9277. MOV.F R5.w, R10.y;
  9278. MOV.F R5.z, c[4];
  9279. ADD.F32 R6.x, R5.z, R5.w;
  9280. MOV.S R11.z, R6.x;
  9281. MOV.F R5.w, c[4].x;
  9282. MOV.F R5.z, R10.w;
  9283. ADD.F32 R5.z, R5.w, R5;
  9284. MOV.S R11.x, R5.z;
  9285. MUL.F32 R5.z, R5.w, R6.y;
  9286. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  9287. TRUNC.U R6.y, R6.x;
  9288. MOV.F R6.x, R5;
  9289. MOV.S R14.y, R5;
  9290. ADD.F32 R5.y, -R6.x, {1, 0, 0, 0}.x;
  9291. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9292. MOV.S R12.y, R5;
  9293. TRUNC.U R5.y, R5.w;
  9294. AND.U.CC HC.x, R5.y, R6.y;
  9295. IF NE.x;
  9296. MOV.F R5.y, R5.z;
  9297. ELSE;
  9298. MOV.F R5.y, {0, 0, 0, 0}.x;
  9299. ENDIF;
  9300. MOV.F R5.w, R5.x;
  9301. MOV.F R5.z, c[5];
  9302. MUL.F32 R5.x, R5.z, R5.w;
  9303. MOV.S R11.y, R5;
  9304. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  9305. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9306. TRUNC.U R5.z, R5.w;
  9307. TRUNC.U R5.y, R5;
  9308. AND.U.CC HC.x, R5.y, R5.z;
  9309. IF NE.x;
  9310. ELSE;
  9311. MOV.F R5.x, {0, 0, 0, 0};
  9312. ENDIF;
  9313. MOV.F R5.y, R14.z;
  9314. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  9315. MOV.F R5.z, c[4].y;
  9316. MUL.F32 R5.y, R5.z, R5;
  9317. TRUNC.U R5.w, R5;
  9318. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9319. MOV.S R14.x, R5;
  9320. TRUNC.U R5.x, R5.z;
  9321. AND.U.CC HC.x, R5, R5.w;
  9322. IF NE.x;
  9323. MOV.F R5.x, R5.y;
  9324. ELSE;
  9325. MOV.F R5.x, {0, 0, 0, 0};
  9326. ENDIF;
  9327. MOV.F R5.z, R12.y;
  9328. MOV.F R5.y, R3;
  9329. MUL.F32 R3.y, R5, R5.z;
  9330. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  9331. TRUNC.U R5.z, R5.w;
  9332. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9333. MOV.S R13.y, R5.x;
  9334. TRUNC.U R5.x, R5.y;
  9335. AND.U.CC HC.x, R5, R5.z;
  9336. IF NE.x;
  9337. ELSE;
  9338. MOV.F R3.y, {0, 0, 0, 0}.x;
  9339. ENDIF;
  9340. MOV.F R5.x, R13.z;
  9341. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  9342. MOV.F R5.x, R11.w;
  9343. MOV.S R13.z, R5.y;
  9344. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  9345. MOV.S R5.x, R3.y;
  9346. MOV.S R3.y, R5.x;
  9347. MOV.S R13.w, R5.y;
  9348. MOV.F R5.z, R3.y;
  9349. MOV.F R5.y, R14.w;
  9350. MUL.F32 R3.y, R5, R5.z;
  9351. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9352. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9353. TRUNC.U R5.y, R5;
  9354. TRUNC.U R5.z, R5;
  9355. AND.U.CC HC.x, R5.y, R5.z;
  9356. MOV.S R10.z, R5.x;
  9357. IF NE.x;
  9358. ELSE;
  9359. MOV.F R3.y, {0, 0, 0, 0}.x;
  9360. ENDIF;
  9361. MOV.F R5.z, R10;
  9362. MOV.F R5.y, R11.x;
  9363. MUL.F32 R5.x, R5.y, R5.z;
  9364. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9365. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9366. TRUNC.U R5.y, R5;
  9367. TRUNC.U R5.z, R5;
  9368. AND.U.CC HC.x, R5.y, R5.z;
  9369. MOV.S R12.x, R3.y;
  9370. IF NE.x;
  9371. MOV.F R3.y, R5.x;
  9372. ELSE;
  9373. MOV.F R3.y, {0, 0, 0, 0}.x;
  9374. ENDIF;
  9375. MOV.F R5.x, R14.z;
  9376. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  9377. MOV.F R5.y, c[4].z;
  9378. MUL.F32 R5.x, R5.y, R5;
  9379. TRUNC.U R5.z, R5;
  9380. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9381. MOV.S R12.y, R3;
  9382. TRUNC.U R3.y, R5;
  9383. AND.U.CC HC.x, R3.y, R5.z;
  9384. IF NE.x;
  9385. MOV.F R3.y, R5.x;
  9386. ELSE;
  9387. MOV.F R3.y, {0, 0, 0, 0}.x;
  9388. ENDIF;
  9389. MOV.F R5.z, R10;
  9390. MOV.F R5.y, R11.z;
  9391. MUL.F32 R5.x, R5.y, R5.z;
  9392. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9393. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9394. TRUNC.U R5.y, R5;
  9395. TRUNC.U R5.z, R5;
  9396. AND.U.CC HC.x, R5.y, R5.z;
  9397. MOV.S R12.z, R3.y;
  9398. IF NE.x;
  9399. MOV.F R3.y, R5.x;
  9400. ELSE;
  9401. MOV.F R3.y, {0, 0, 0, 0}.x;
  9402. ENDIF;
  9403. MOV.F R5.w, R13;
  9404. MOV.F R5.y, R13;
  9405. MOV.F R5.x, R12;
  9406. ADD.F32 R5.x, R5, R5.y;
  9407. MOV.F R5.y, R12.z;
  9408. MOV.F R5.z, R14.y;
  9409. ADD.F32 R5.x, R5.z, R5;
  9410. MOV.S R12.z, R5.x;
  9411. ADD.F32 R3.y, R3, R5;
  9412. MOV.F R5.x, R14;
  9413. ADD.F32 R5.y, R5.x, R3;
  9414. MOV.F R3.y, R12;
  9415. MOV.F R5.x, R11.y;
  9416. ADD.F32 R5.z, R3.y, R5.x;
  9417. MOV.S R12.y, R5;
  9418. MOV.F R5.y, R13.x;
  9419. ADD.F32 R3.y, R5, R5.z;
  9420. SNE.F32 R5.z, R5.y, -R5;
  9421. ADD.F32 R5.y, R5.w, {-0.5, 0, 0, 0}.x;
  9422. MUL.F32 R5.w, R5.y, {2, 0, 0, 0}.x;
  9423. MOV.F R5.x, R3;
  9424. TRUNC.U R6.x, R5.z;
  9425. MUL.F32 R3.y, R5.x, R3;
  9426. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  9427. TRUNC.U R5.x, R5;
  9428. AND.U.CC HC.x, R5, R6;
  9429. MOV.F R5.z, R20;
  9430. MOV.F R5.y, R20.x;
  9431. ADD.F32 R5.y, R5, R5.z;
  9432. MAD.F32 R5.z, R5.y, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  9433. MOV.F R5.y, R13.z;
  9434. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  9435. ADD.F32 R5.y, R5, {-0.5, 0, 0, 0}.x;
  9436. MUL.F32 R5.y, R5, {2, 0, 0, 0}.x;
  9437. MOV.S R11.x, R5.w;
  9438. MOV.S R13.w, R5.z;
  9439. MOV.S R13.x, R5.y;
  9440. IF NE.x;
  9441. MOV.F R5.x, R3.y;
  9442. ELSE;
  9443. MOV.F R5.x, {0, 0, 0, 0};
  9444. ENDIF;
  9445. MOV.F R3.y, R12;
  9446. MOV.F R5.z, R21;
  9447. MUL.F32 R5.y, R5.z, R3;
  9448. SNE.F32 R5.w, R3.y, {0, 0, 0, 0}.x;
  9449. MOV.F R3.y, R20.x;
  9450. ADD.F32 R3.y, R3, {-0.5, 0, 0, 0}.x;
  9451. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9452. TRUNC.U R5.w, R5;
  9453. TRUNC.U R5.z, R5;
  9454. AND.U.CC HC.x, R5.z, R5.w;
  9455. MOV.S R3.y, R3;
  9456. MOV.S R7.x, R5;
  9457. IF NE.x;
  9458. MOV.F R5.x, R5.y;
  9459. ELSE;
  9460. MOV.F R5.x, {0, 0, 0, 0};
  9461. ENDIF;
  9462. MOV.F R5.w, R12.z;
  9463. MOV.F R5.z, R21.y;
  9464. MUL.F32 R5.y, R5.z, R5.w;
  9465. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9466. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9467. TRUNC.U R5.w, R5;
  9468. TRUNC.U R5.z, R5;
  9469. AND.U.CC HC.x, R5.z, R5.w;
  9470. MOV.S R21.z, R5.x;
  9471. IF NE.x;
  9472. ELSE;
  9473. MOV.F R5.y, {0, 0, 0, 0}.x;
  9474. ENDIF;
  9475. MOV.F R5.x, R13;
  9476. MOV.F R5.w, c[6].y;
  9477. MUL.F32 R5.z, R5.x, R5.w;
  9478. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  9479. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9480. TRUNC.U R6.y, R5.w;
  9481. MOV.F R5.x, R20.y;
  9482. TRUNC.U R6.x, R6;
  9483. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  9484. AND.U.CC HC.x, R6, R6.y;
  9485. MOV.S R5.x, R5;
  9486. MOV.S R5.w, R5.y;
  9487. IF NE.x;
  9488. MOV.F R5.y, R5.z;
  9489. ELSE;
  9490. MOV.F R5.y, {0, 0, 0, 0}.x;
  9491. ENDIF;
  9492. MOV.F R6.y, c[6].z;
  9493. MOV.F R6.x, R13.w;
  9494. MUL.F32 R5.z, R6.x, R6.y;
  9495. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  9496. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9497. TRUNC.U R6.x, R6;
  9498. TRUNC.U R6.y, R6;
  9499. AND.U.CC HC.x, R6, R6.y;
  9500. MOV.S R12.x, R5.y;
  9501. IF NE.x;
  9502. MOV.F R5.y, R5.z;
  9503. ELSE;
  9504. MOV.F R5.y, {0, 0, 0, 0}.x;
  9505. ENDIF;
  9506. MOV.F R5.z, R11.x;
  9507. MOV.F R6.y, c[6].x;
  9508. MUL.F32 R6.x, R5.z, R6.y;
  9509. SNE.F32 R6.z, R5, {0, 0, 0, 0}.x;
  9510. MOV.F R5.z, R20;
  9511. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  9512. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9513. TRUNC.U R6.z, R6;
  9514. TRUNC.U R6.y, R6;
  9515. AND.U.CC HC.x, R6.z, R6.y;
  9516. MOV.S R5.z, R5;
  9517. MOV.S R12.y, R5;
  9518. IF NE.x;
  9519. MOV.F R5.y, R6.x;
  9520. ELSE;
  9521. MOV.F R5.y, {0, 0, 0, 0}.x;
  9522. ENDIF;
  9523. MOV.F R6.z, R12.x;
  9524. MOV.F R6.y, R12;
  9525. MOV.F R6.x, c[7].z;
  9526. ADD.F32 R6.x, R6, R6.y;
  9527. MOV.F R6.y, c[7];
  9528. ADD.F32 R6.z, R6.y, R6;
  9529. MOV.F R6.y, R20;
  9530. MOV.S R7.z, R6;
  9531. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  9532. FLR.F R6.y, R6;
  9533. MOV.S R6.y, R6;
  9534. MOV.F R6.z, R20;
  9535. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  9536. MOV.S R13.x, R6.z;
  9537. MOV.S R6.z, R6.y;
  9538. MOV.S R10.w, R6.y;
  9539. MOV.F R6.y, c[7].x;
  9540. ADD.F32 R5.y, R5, R6;
  9541. SGT.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  9542. TRUNC.U.CC HC.x, R6.y;
  9543. MOV.S R6.x, R6;
  9544. MOV.S R15.y, R5;
  9545. AND.S R12.x, c[8], {65536, 0, 0, 0};
  9546. IF NE.x;
  9547. MOV.F R5.y, {1, 0, 0, 0}.x;
  9548. ELSE;
  9549. MOV.F R5.y, {0, 0, 0, 0}.x;
  9550. ENDIF;
  9551. MOV.F R6.y, R10.w;
  9552. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  9553. TRUNC.U.CC HC.x, R6.y;
  9554. MOV.S R12.y, R5;
  9555. AND.S R13.w, c[8].x, {262144, 0, 0, 0}.x;
  9556. AND.S R13.z, c[8].x, {131072, 0, 0, 0}.x;
  9557. IF NE.x;
  9558. MOV.F R5.y, {1, 0, 0, 0}.x;
  9559. ELSE;
  9560. MOV.F R5.y, {0, 0, 0, 0}.x;
  9561. ENDIF;
  9562. MOV.F R6.y, R12;
  9563. ADD.F32 R5.y, R6, -R5;
  9564. MOV.F R6.z, R13.x;
  9565. FLR.F R6.y, R6.z;
  9566. MOV.S R7.y, R5;
  9567. MOV.S R5.y, R6;
  9568. MOV.S R6.y, R5;
  9569. MOV.S R10.z, R5.y;
  9570. I2F.S R5.y, R12.x;
  9571. SGT.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9572. TRUNC.U.CC HC.x, R6.y;
  9573. MOV.S R6.z, R5.y;
  9574. IF NE.x;
  9575. MOV.F R5.y, {1, 0, 0, 0}.x;
  9576. ELSE;
  9577. MOV.F R5.y, {0, 0, 0, 0}.x;
  9578. ENDIF;
  9579. MOV.F R6.y, R6.z;
  9580. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  9581. TRUNC.U.CC HC.x, R6.y;
  9582. MOV.S R12.x, R5.y;
  9583. IF NE.x;
  9584. MOV.F R5.y, {1, 0, 0, 0}.x;
  9585. ELSE;
  9586. MOV.F R5.y, {0, 0, 0, 0}.x;
  9587. ENDIF;
  9588. MOV.F R6.y, R10.z;
  9589. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  9590. TRUNC.U.CC HC.x, R6.y;
  9591. MOV.S R12.y, R5;
  9592. IF NE.x;
  9593. MOV.F R5.y, {1, 0, 0, 0}.x;
  9594. ELSE;
  9595. MOV.F R5.y, {0, 0, 0, 0}.x;
  9596. ENDIF;
  9597. MOV.F R6.y, R6.z;
  9598. SGT.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9599. TRUNC.U.CC HC.x, R6.y;
  9600. MOV.S R12.z, R5.y;
  9601. IF NE.x;
  9602. MOV.F R5.y, {1, 0, 0, 0}.x;
  9603. ELSE;
  9604. MOV.F R5.y, {0, 0, 0, 0}.x;
  9605. ENDIF;
  9606. MOV.F R6.z, R12;
  9607. MOV.F R6.y, R12.x;
  9608. ADD.F32 R6.y, R6, -R6.z;
  9609. MOV.F R6.z, R12.y;
  9610. ADD.F32 R5.y, R5, -R6.z;
  9611. I2F.S R7.w, R13.z;
  9612. MOV.S R10.x, R5.y;
  9613. SGT.F32 R5.y, R7.w, {0, 0, 0, 0}.x;
  9614. TRUNC.U.CC HC.x, R5.y;
  9615. MOV.S R6.y, R6;
  9616. MOV.S R6.z, R7.w;
  9617. IF NE.x;
  9618. MOV.F R5.y, {1, 0, 0, 0}.x;
  9619. ELSE;
  9620. MOV.F R5.y, {0, 0, 0, 0}.x;
  9621. ENDIF;
  9622. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  9623. TRUNC.U.CC HC.x, R6.z;
  9624. MOV.S R10.z, R5.y;
  9625. IF NE.x;
  9626. MOV.F R5.y, {1, 0, 0, 0}.x;
  9627. ELSE;
  9628. MOV.F R5.y, {0, 0, 0, 0}.x;
  9629. ENDIF;
  9630. I2F.S R7.w, R13;
  9631. MOV.S R6.z, R7.w;
  9632. SGT.F32 R7.w, R7, {0, 0, 0, 0}.x;
  9633. TRUNC.U.CC HC.x, R7.w;
  9634. MOV.S R10.w, R5.y;
  9635. IF NE.x;
  9636. MOV.F R5.y, {1, 0, 0, 0}.x;
  9637. ELSE;
  9638. MOV.F R5.y, {0, 0, 0, 0}.x;
  9639. ENDIF;
  9640. SGT.F32 R6.z, {0, 0, 0, 0}.x, R6;
  9641. TRUNC.U.CC HC.x, R6.z;
  9642. MOV.S R12.x, R5.y;
  9643. IF NE.x;
  9644. MOV.F R5.y, {1, 0, 0, 0}.x;
  9645. ELSE;
  9646. MOV.F R5.y, {0, 0, 0, 0}.x;
  9647. ENDIF;
  9648. MOV.F R9.w, R10.x;
  9649. MOV.F R7.w, R10;
  9650. MOV.F R6.z, R10;
  9651. ADD.F32 R6.z, R6, -R7.w;
  9652. TRUNC.S R10.x, R6.z;
  9653. TRUNC.S R9.w, R9;
  9654. ADD.S R6.z, -R9.w, {0, 0, 0, 0}.x;
  9655. MAX.S R21.y, R9.w, R6.z;
  9656. MOV.F R6.z, R12.x;
  9657. ADD.F32 R5.y, R6.z, -R5;
  9658. MOV.S R7.w, R10.x;
  9659. ADD.S R21.x, -R10, {0, 0, 0, 0};
  9660. TRUNC.S R5.y, R5;
  9661. ENDIF;
  9662. SEQ.U R6.z, R16.w, {1, 0, 0, 0}.x;
  9663. MOV.U.CC RC.x, -R6.z;
  9664. IF NE.x;
  9665. MOV.F R6.z, R7.x;
  9666. SNE.F32 R9.w, R6.z, {0, 0, 0, 0}.x;
  9667. MAX.S R12.x, R21, R7.w;
  9668. MOV.F R7.w, c[9].y;
  9669. MUL.F32 R6.w, R6.z, R7;
  9670. SNE.F32 R6.z, R7.w, {0, 0, 0, 0}.x;
  9671. TRUNC.U R10.x, R6.z;
  9672. TRUNC.U R9.w, R9;
  9673. AND.U.CC HC.x, R9.w, R10;
  9674. MOV.S R7.w, R21.z;
  9675. MOV.S R6.z, R21.y;
  9676. IF NE.x;
  9677. ELSE;
  9678. MOV.F R6.w, {0, 0, 0, 0}.x;
  9679. ENDIF;
  9680. MOV.F R9.w, R5;
  9681. MOV.F R10.x, c[9].z;
  9682. MUL.F32 R5.w, R9, R10.x;
  9683. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  9684. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  9685. TRUNC.U R9.w, R9;
  9686. TRUNC.U R10.x, R10;
  9687. AND.U.CC HC.x, R9.w, R10;
  9688. MOV.S R21.y, R6.w;
  9689. IF NE.x;
  9690. ELSE;
  9691. MOV.F R5.w, {0, 0, 0, 0}.x;
  9692. ENDIF;
  9693. MOV.F R9.w, c[9];
  9694. MUL.F32 R6.w, R7, R9;
  9695. MOV.S R21.z, R5.w;
  9696. SNE.F32 R5.w, R7, {0, 0, 0, 0}.x;
  9697. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  9698. TRUNC.U R7.w, R9;
  9699. TRUNC.U R5.w, R5;
  9700. AND.U.CC HC.x, R5.w, R7.w;
  9701. IF NE.x;
  9702. MOV.F R5.w, R6;
  9703. ELSE;
  9704. MOV.F R5.w, {0, 0, 0, 0}.x;
  9705. ENDIF;
  9706. MOV.F R6.w, R17.z;
  9707. SNE.F32 R7.w, R6, {0, 0, 0, 0}.x;
  9708. SNE.F32 R9.w, R5, {0, 0, 0, 0}.x;
  9709. I2F.S R6.z, R6;
  9710. MUL.F32 R6.w, R6, R5;
  9711. MUL.F32 R5.w, R6.z, {2, 0, 0, 0}.x;
  9712. TRUNC.U R7.w, R7;
  9713. TRUNC.U R9.w, R9;
  9714. AND.U.CC HC.x, R7.w, R9.w;
  9715. MOV.S R6.z, R5.w;
  9716. IF NE.x;
  9717. MOV.F R5.w, R6;
  9718. ELSE;
  9719. MOV.F R5.w, {0, 0, 0, 0}.x;
  9720. ENDIF;
  9721. MOV.F R7.w, R7.y;
  9722. MOV.F R7.y, R6.z;
  9723. MUL.F32 R6.z, -R7.y, R7.w;
  9724. MOV.F R6.w, R20.x;
  9725. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  9726. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  9727. MOV.S R10.z, R6.w;
  9728. TRUNC.U R7.w, R7;
  9729. SNE.F32 R6.w, -R7.y, {0, 0, 0, 0}.x;
  9730. MOV.S R21.x, R5.w;
  9731. TRUNC.U R5.w, R6;
  9732. AND.U.CC HC.x, R5.w, R7.w;
  9733. ADD.S R10.y, -R5, {0, 0, 0, 0}.x;
  9734. IF NE.x;
  9735. MOV.F R5.w, R6.z;
  9736. ELSE;
  9737. MOV.F R5.w, {0, 0, 0, 0}.x;
  9738. ENDIF;
  9739. MOV.F R7.y, R15;
  9740. I2F.S R6.z, R12.x;
  9741. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  9742. MUL.F32 R6.w, R5, R7.y;
  9743. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  9744. SNE.F32 R7.w, R5, {0, 0, 0, 0}.x;
  9745. TRUNC.U R7.y, R7;
  9746. TRUNC.U R7.w, R7;
  9747. AND.U.CC HC.x, R7.y, R7.w;
  9748. MOV.S R6.z, R6;
  9749. MOV.S R10.w, R5;
  9750. IF NE.x;
  9751. MOV.F R5.w, R6;
  9752. ELSE;
  9753. MOV.F R5.w, {0, 0, 0, 0}.x;
  9754. ENDIF;
  9755. SNE.F32 R6.w, R6.y, {0, 0, 0, 0}.x;
  9756. MUL.F32 R6.y, -R6.z, R6;
  9757. TRUNC.U R6.w, R6;
  9758. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  9759. MOV.S R12.x, R5.w;
  9760. TRUNC.U R5.w, R6.z;
  9761. AND.U.CC HC.x, R5.w, R6.w;
  9762. IF NE.x;
  9763. MOV.F R5.w, R6.y;
  9764. ELSE;
  9765. MOV.F R5.w, {0, 0, 0, 0}.x;
  9766. ENDIF;
  9767. MOV.F R6.y, R10.z;
  9768. FLR.F R6.y, R6;
  9769. MOV.S R12.w, R6.y;
  9770. MOV.F R6.z, R10.w;
  9771. MOV.F R6.y, R18.x;
  9772. MAX.S R12.z, R10.y, R5.y;
  9773. MUL.F32 R5.y, R6, R6.z;
  9774. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  9775. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9776. TRUNC.U R6.z, R6;
  9777. TRUNC.U R6.y, R6;
  9778. AND.U.CC HC.x, R6.y, R6.z;
  9779. MOV.S R14.y, R5.w;
  9780. IF NE.x;
  9781. ELSE;
  9782. MOV.F R5.y, {0, 0, 0, 0}.x;
  9783. ENDIF;
  9784. MOV.F R6.y, R12.x;
  9785. MOV.F R5.w, R15.y;
  9786. ADD.F32 R5.w, R5, R6.y;
  9787. MOV.F R6.y, R12.w;
  9788. MOV.S R13.x, R5.w;
  9789. SGT.F32 R5.w, R6.y, {0, 0, 0, 0}.x;
  9790. TRUNC.U.CC HC.x, R5.w;
  9791. MOV.S R6.z, R5.y;
  9792. IF NE.x;
  9793. MOV.F R5.y, {1, 0, 0, 0}.x;
  9794. ELSE;
  9795. MOV.F R5.y, {0, 0, 0, 0}.x;
  9796. ENDIF;
  9797. MOV.F R5.w, R12;
  9798. SGT.F32 R5.w, {0, 0, 0, 0}.x, R5;
  9799. TRUNC.U.CC HC.x, R5.w;
  9800. MOV.S R10.y, R5;
  9801. IF NE.x;
  9802. MOV.F R5.w, {1, 0, 0, 0}.x;
  9803. ELSE;
  9804. MOV.F R5.w, {0, 0, 0, 0}.x;
  9805. ENDIF;
  9806. I2F.S R6.y, R12.z;
  9807. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  9808. MOV.F R7.y, R14;
  9809. MOV.F R6.w, R7.z;
  9810. MOV.S R13.w, R6.y;
  9811. SNE.F32 R6.y, R6.w, {0, 0, 0, 0}.x;
  9812. MUL.F32 R5.y, R6.w, R7;
  9813. SNE.F32 R6.w, R7.y, {0, 0, 0, 0}.x;
  9814. TRUNC.U R7.y, R6.w;
  9815. MOV.F R6.w, R6.z;
  9816. TRUNC.U R6.y, R6;
  9817. MOV.F R6.z, R18.x;
  9818. ADD.F32 R6.z, R6, R6.w;
  9819. AND.U.CC HC.x, R6.y, R7.y;
  9820. MOV.S R14.w, R6.z;
  9821. MOV.S R10.z, R5.w;
  9822. IF NE.x;
  9823. ELSE;
  9824. MOV.F R5.y, {0, 0, 0, 0}.x;
  9825. ENDIF;
  9826. MOV.F R5.w, R3.y;
  9827. MOV.F R6.y, c[10].x;
  9828. MUL.F32 R3.y, R5.w, R6;
  9829. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9830. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9831. TRUNC.U R5.w, R5;
  9832. TRUNC.U R6.y, R6;
  9833. AND.U.CC HC.x, R5.w, R6.y;
  9834. MOV.S R12.x, R5.y;
  9835. IF NE.x;
  9836. ELSE;
  9837. MOV.F R3.y, {0, 0, 0, 0}.x;
  9838. ENDIF;
  9839. MOV.F R5.w, R10.z;
  9840. MOV.F R5.y, R10;
  9841. ADD.F32 R5.y, R5, -R5.w;
  9842. MOV.F R6.y, R14;
  9843. MOV.F R5.w, R18.y;
  9844. MOV.S R12.z, R5.y;
  9845. MUL.F32 R5.y, R5.w, R6;
  9846. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  9847. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9848. TRUNC.U R6.y, R6;
  9849. TRUNC.U R5.w, R5;
  9850. AND.U.CC HC.x, R5.w, R6.y;
  9851. MOV.S R12.y, R3;
  9852. IF NE.x;
  9853. MOV.F R3.y, R5;
  9854. ELSE;
  9855. MOV.F R3.y, {0, 0, 0, 0}.x;
  9856. ENDIF;
  9857. MOV.F R5.y, R5.x;
  9858. MOV.F R5.w, c[10].y;
  9859. MUL.F32 R5.x, R5.y, R5.w;
  9860. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9861. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9862. TRUNC.U R5.y, R5;
  9863. TRUNC.U R5.w, R5;
  9864. AND.U.CC HC.x, R5.y, R5.w;
  9865. MOV.S R12.w, R3.y;
  9866. IF NE.x;
  9867. MOV.F R3.y, R5.x;
  9868. ELSE;
  9869. MOV.F R3.y, {0, 0, 0, 0}.x;
  9870. ENDIF;
  9871. MOV.F R5.w, R12.z;
  9872. MOV.F R5.y, R13.w;
  9873. MUL.F32 R5.x, -R5.y, R5.w;
  9874. SNE.F32 R5.y, -R5, {0, 0, 0, 0}.x;
  9875. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  9876. TRUNC.U R5.y, R5;
  9877. TRUNC.U R5.w, R5;
  9878. AND.U.CC HC.x, R5.y, R5.w;
  9879. MOV.S R14.y, R3;
  9880. IF NE.x;
  9881. MOV.F R3.y, R5.x;
  9882. ELSE;
  9883. MOV.F R3.y, {0, 0, 0, 0}.x;
  9884. ENDIF;
  9885. MOV.F R5.y, R12.x;
  9886. MOV.F R5.x, R7.z;
  9887. ADD.F32 R5.x, R5, R5.y;
  9888. MOV.S R14.z, R5.x;
  9889. MOV.F R5.y, R12;
  9890. MOV.F R5.x, R14.w;
  9891. ADD.F32 R5.w, R5.x, R5.y;
  9892. MOV.S R11.w, R5;
  9893. MOV.F R5.y, R12.w;
  9894. MOV.F R5.x, R18.y;
  9895. ADD.F32 R5.x, R5, R5.y;
  9896. MOV.F R5.y, R5.z;
  9897. MOV.F R5.w, c[10].z;
  9898. MOV.S R10.y, R5.x;
  9899. MUL.F32 R5.x, R5.y, R5.w;
  9900. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9901. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  9902. TRUNC.U R5.y, R5;
  9903. TRUNC.U R5.z, R5;
  9904. AND.U.CC HC.x, R5.y, R5.z;
  9905. MOV.S R10.x, R3.y;
  9906. IF NE.x;
  9907. MOV.F R3.y, R5.x;
  9908. ELSE;
  9909. MOV.F R3.y, {0, 0, 0, 0}.x;
  9910. ENDIF;
  9911. MOV.F R5.y, R14;
  9912. MOV.F R5.x, R10.y;
  9913. ADD.F32 R5.x, R5, R5.y;
  9914. MOV.F R5.z, R10.x;
  9915. MOV.F R5.y, R18.z;
  9916. MOV.S R11.x, R5;
  9917. MUL.F32 R5.x, R5.y, R5.z;
  9918. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9919. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9920. TRUNC.U R5.z, R5;
  9921. TRUNC.U R5.y, R5;
  9922. AND.U.CC HC.x, R5.y, R5.z;
  9923. MOV.S R13.z, R3.y;
  9924. IF NE.x;
  9925. MOV.F R3.y, R5.x;
  9926. ELSE;
  9927. MOV.F R3.y, {0, 0, 0, 0}.x;
  9928. ENDIF;
  9929. MOV.F R5.z, R10.x;
  9930. MOV.F R5.y, R6.x;
  9931. MUL.F32 R5.x, R5.y, R5.z;
  9932. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  9933. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  9934. TRUNC.U R5.y, R5;
  9935. TRUNC.U R5.z, R5;
  9936. AND.U.CC HC.x, R5.y, R5.z;
  9937. MOV.S R12.y, R3;
  9938. IF NE.x;
  9939. MOV.F R3.y, R5.x;
  9940. ELSE;
  9941. MOV.F R3.y, {0, 0, 0, 0}.x;
  9942. ENDIF;
  9943. MOV.F R5.x, c[7].w;
  9944. SEQ.F R5.x, R5, {1, 0, 0, 0};
  9945. TRUNC.U.CC HC.x, R5;
  9946. MOV.S R12.z, R3.y;
  9947. IF NE.x;
  9948. MOV.S R3.y, {-1, 0, 0, 0}.x;
  9949. ELSE;
  9950. MOV.S R3.y, {0, 0, 0, 0}.x;
  9951. ENDIF;
  9952. MOV.F R5.x, c[7].w;
  9953. MAX.F R5.x, R5, {0, 0, 0, 0};
  9954. LG2.F32 R5.x, R5.x;
  9955. MUL.F32 R5.y, R5.x, {2, 0, 0, 0}.x;
  9956. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  9957. SEQ.F R5.y, R5.x, R5;
  9958. TRUNC.U R5.z, R5;
  9959. TRUNC.U R5.y, R5;
  9960. AND.U R5.y, R5, R5.z;
  9961. SEQ.U R5.y, R5, {1, 0, 0, 0}.x;
  9962. MOV.U.CC RC.x, -R5.y;
  9963. IF NE.x;
  9964. MOV.F R5.x, {-3.40282347e+38, 0, 0, 0};
  9965. ENDIF;
  9966. MOV.F R5.z, R12.y;
  9967. MOV.F R5.y, R18.z;
  9968. ADD.F32 R5.y, R5, R5.z;
  9969. MOV.F R5.z, R23.x;
  9970. MOV.S R10.x, R5.y;
  9971. MUL.F32 R5.y, R5.z, R5.x;
  9972. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  9973. SNE.F32 R5.x, R5.z, {0, 0, 0, 0};
  9974. TRUNC.U R5.z, R5.w;
  9975. TRUNC.U R5.x, R5;
  9976. AND.U.CC HC.x, R5, R5.z;
  9977. IF NE.x;
  9978. MOV.F R5.x, R5.y;
  9979. ELSE;
  9980. MOV.F R5.x, {0, 0, 0, 0};
  9981. ENDIF;
  9982. EX2.F32 R5.x, R5.x;
  9983. ADD.F32 R5.x, -R5, {1, 0, 0, 0};
  9984. SEQ.S R3.y, R3, {0, 0, 0, 0}.x;
  9985. MOV.U.CC RC.x, -R3.y;
  9986. MOV.F R5.z, R12;
  9987. MOV.F R5.y, R6.x;
  9988. ADD.F32 R5.y, R5, R5.z;
  9989. MOV.S R14.w, R5.y;
  9990. MOV.F R5.y, c[7].w;
  9991. MOV.F R5.w, R13.z;
  9992. MOV.F R5.z, R10.x;
  9993. ADD.F32 R5.z, R5, R5.w;
  9994. MOV.S R5.x, R5;
  9995. ADD.F32 R5.y, -R5, {1, 0, 0, 0}.x;
  9996. DIV.F32 R5.x, R5, R5.y;
  9997. MOV.S R21.w, R5.z;
  9998. MOV.S R12.w, R5.x;
  9999. IF NE.x;
  10000. MOV.S R3.y, R12.w;
  10001. ELSE;
  10002. MOV.S R3.y, R23.x;
  10003. ENDIF;
  10004. MOV.F R5.z, R3.y;
  10005. MOV.F R5.y, R13.x;
  10006. MUL.F32 R5.x, R5.y, R5.z;
  10007. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10008. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10009. TRUNC.U R5.z, R5;
  10010. TRUNC.U R5.y, R5;
  10011. AND.U.CC HC.x, R5.y, R5.z;
  10012. IF NE.x;
  10013. ELSE;
  10014. MOV.F R5.x, {0, 0, 0, 0};
  10015. ENDIF;
  10016. MOV.F R5.w, R3.y;
  10017. MOV.F R5.z, R14;
  10018. MUL.F32 R5.y, R5.z, R5.w;
  10019. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10020. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10021. TRUNC.U R5.z, R5;
  10022. TRUNC.U R5.w, R5;
  10023. AND.U.CC HC.x, R5.z, R5.w;
  10024. MOV.S R12.x, R5;
  10025. IF NE.x;
  10026. MOV.F R5.x, R5.y;
  10027. ELSE;
  10028. MOV.F R5.x, {0, 0, 0, 0};
  10029. ENDIF;
  10030. MOV.F R5.z, R3.y;
  10031. MOV.F R5.y, R14.w;
  10032. MUL.F32 R3.y, R5, R5.z;
  10033. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10034. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10035. TRUNC.U R5.y, R5;
  10036. TRUNC.U R5.z, R5;
  10037. AND.U.CC HC.x, R5.y, R5.z;
  10038. MOV.S R12.z, R5.x;
  10039. IF NE.x;
  10040. ELSE;
  10041. MOV.F R3.y, {0, 0, 0, 0}.x;
  10042. ENDIF;
  10043. MOV.F R5.y, R12.z;
  10044. MOV.F R5.x, R11;
  10045. ADD.F32 R5.x, R5, R5.y;
  10046. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  10047. MOV.F R5.z, R12.x;
  10048. MOV.F R5.y, R11.w;
  10049. ADD.F32 R5.y, R5, R5.z;
  10050. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10051. FRC.F32 R5.z, R5.y;
  10052. MAD.F32 R5.w, R5.z, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  10053. FRC.F32 R5.x, R5;
  10054. MAD.F32 R5.y, R5.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10055. SIN.F32 R6.y, R5.y;
  10056. MUL.F32 R5.z, R5.y, {0.159154937, 0, 0, 0}.x;
  10057. SIN.F32 R6.x, R5.w;
  10058. MOV.F R5.y, R21.w;
  10059. ADD.F32 R3.y, R5, R3;
  10060. MOV.S R14.y, R5.z;
  10061. COS.F32 R5.z, R5.w;
  10062. MOV.S R13.y, R5.z;
  10063. MAD.F32 R3.y, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10064. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  10065. FRC.F32 R3.y, R3;
  10066. MAD.F32 R3.y, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10067. SNE.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  10068. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  10069. TRUNC.U R5.y, R5;
  10070. TRUNC.U R5.z, R5;
  10071. AND.U.CC HC.x, R5.y, R5.z;
  10072. MUL.F32 R5.x, R6, R6.y;
  10073. MOV.S R21.w, R6.x;
  10074. MOV.S R13.x, R6.y;
  10075. MOV.S R11.x, R3.y;
  10076. IF NE.x;
  10077. MOV.F R3.y, R5.x;
  10078. ELSE;
  10079. MOV.F R3.y, {0, 0, 0, 0}.x;
  10080. ENDIF;
  10081. MOV.F R5.z, R13.x;
  10082. MOV.F R5.y, R13;
  10083. MUL.F32 R5.x, R5.y, R5.z;
  10084. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10085. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10086. TRUNC.U R5.y, R5;
  10087. TRUNC.U R5.z, R5;
  10088. AND.U.CC HC.x, R5.y, R5.z;
  10089. MOV.S R14.x, R3.y;
  10090. IF NE.x;
  10091. MOV.F R3.y, R5.x;
  10092. ELSE;
  10093. MOV.F R3.y, {0, 0, 0, 0}.x;
  10094. ENDIF;
  10095. MOV.F R5.x, R14.y;
  10096. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  10097. COS.F32 R5.y, R5.x;
  10098. MOV.F R5.z, R13.y;
  10099. MUL.F32 R5.x, R5.y, R5.z;
  10100. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10101. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  10102. MOV.S R14.z, R5.y;
  10103. TRUNC.U R5.y, R5.z;
  10104. TRUNC.U R5.z, R5.w;
  10105. AND.U.CC HC.x, R5.y, R5.z;
  10106. MOV.S R11.z, R3.y;
  10107. IF NE.x;
  10108. MOV.F R3.y, R5.x;
  10109. ELSE;
  10110. MOV.F R3.y, {0, 0, 0, 0}.x;
  10111. ENDIF;
  10112. MOV.F R5.z, R14;
  10113. MOV.F R5.y, R21.w;
  10114. MUL.F32 R5.x, R5.y, R5.z;
  10115. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10116. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10117. TRUNC.U R5.y, R5;
  10118. TRUNC.U R5.z, R5;
  10119. AND.U.CC HC.x, R5.y, R5.z;
  10120. MOV.S R11.y, R3;
  10121. IF NE.x;
  10122. MOV.F R3.y, R5.x;
  10123. ELSE;
  10124. MOV.F R3.y, {0, 0, 0, 0}.x;
  10125. ENDIF;
  10126. MOV.F R5.x, R11;
  10127. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  10128. SIN.F32 R5.x, R5.x;
  10129. MOV.F R5.y, -R5.x;
  10130. MOV.S R6.x, R5.y;
  10131. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  10132. MOV.S R14.w, R5.x;
  10133. MUL.F32 R5.x, R3.y, R5;
  10134. TRUNC.U R5.y, R5;
  10135. SNE.F32 R5.z, R3.y, {0, 0, 0, 0}.x;
  10136. MOV.S R11.w, R3.y;
  10137. TRUNC.U R3.y, R5.z;
  10138. AND.U.CC HC.x, R5.y, R3.y;
  10139. MOV.S R6.w, {1065353216, 0, 0, 0}.x;
  10140. IF NE.x;
  10141. MOV.F R3.y, R5.x;
  10142. ELSE;
  10143. MOV.F R3.y, {0, 0, 0, 0}.x;
  10144. ENDIF;
  10145. MOV.F R5.z, R11.y;
  10146. MOV.F R5.y, R14.w;
  10147. MUL.F32 R5.x, R5.y, R5.z;
  10148. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10149. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10150. TRUNC.U R5.y, R5;
  10151. TRUNC.U R5.z, R5;
  10152. AND.U.CC HC.x, R5.y, R5.z;
  10153. MOV.S R10.y, R3;
  10154. IF NE.x;
  10155. MOV.F R3.y, R5.x;
  10156. ELSE;
  10157. MOV.F R3.y, {0, 0, 0, 0}.x;
  10158. ENDIF;
  10159. MOV.F R5.z, R11;
  10160. MOV.F R5.y, R14.w;
  10161. MUL.F32 R5.x, R5.y, R5.z;
  10162. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10163. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10164. TRUNC.U R5.y, R5;
  10165. TRUNC.U R5.z, R5;
  10166. AND.U.CC HC.x, R5.y, R5.z;
  10167. MOV.S R10.z, R3.y;
  10168. IF NE.x;
  10169. MOV.F R3.y, R5.x;
  10170. ELSE;
  10171. MOV.F R3.y, {0, 0, 0, 0}.x;
  10172. ENDIF;
  10173. MOV.F R5.x, R11;
  10174. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  10175. COS.F32 R5.y, R5.x;
  10176. MOV.F R5.z, R14;
  10177. MUL.F32 R5.x, R5.y, R5.z;
  10178. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10179. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  10180. MOV.S R14.y, R5;
  10181. TRUNC.U R5.y, R5.z;
  10182. TRUNC.U R5.z, R5.w;
  10183. AND.U.CC HC.x, R5.y, R5.z;
  10184. MOV.S R10.w, R3.y;
  10185. IF NE.x;
  10186. ELSE;
  10187. MOV.F R5.x, {0, 0, 0, 0};
  10188. ENDIF;
  10189. MOV.F R5.y, R10.z;
  10190. MOV.F R3.y, R14.x;
  10191. ADD.F32 R3.y, R3, R5;
  10192. MOV.F R5.z, R10.y;
  10193. MOV.F R5.y, R11.z;
  10194. ADD.F32 R5.y, -R5, R5.z;
  10195. MOV.F R5.w, R10;
  10196. MOV.F R5.z, R11.w;
  10197. ADD.F32 R5.z, -R5, R5.w;
  10198. MOV.F R5.w, R14.y;
  10199. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  10200. MOV.S R12.w, R5.z;
  10201. MOV.F R5.z, R13.y;
  10202. MOV.S R7.z, R5.y;
  10203. MUL.F32 R5.y, R5.z, R5.w;
  10204. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10205. TRUNC.U R5.w, R5.z;
  10206. TRUNC.U R6.y, R6;
  10207. AND.U.CC HC.x, R5.w, R6.y;
  10208. MOV.S R3.y, R3;
  10209. MOV.S R5.x, R5;
  10210. MOV.S R5.z, {1065353216, 0, 0, 0}.x;
  10211. IF NE.x;
  10212. ELSE;
  10213. MOV.F R5.y, {0, 0, 0, 0}.x;
  10214. ENDIF;
  10215. MOV.F R6.z, R14.y;
  10216. MOV.F R6.y, R13.x;
  10217. MUL.F32 R5.w, R6.y, R6.z;
  10218. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10219. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10220. TRUNC.U R6.y, R6;
  10221. TRUNC.U R6.z, R6;
  10222. AND.U.CC HC.x, R6.y, R6.z;
  10223. MOV.S R7.w, R5.y;
  10224. IF NE.x;
  10225. MOV.F R5.y, R5.w;
  10226. ELSE;
  10227. MOV.F R5.y, {0, 0, 0, 0}.x;
  10228. ENDIF;
  10229. MOV.F R6.z, R14.y;
  10230. MOV.F R6.y, R21.w;
  10231. MUL.F32 R5.w, R6.y, R6.z;
  10232. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10233. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10234. TRUNC.U R6.y, R6;
  10235. TRUNC.U R6.z, R6;
  10236. AND.U.CC HC.x, R6.y, R6.z;
  10237. MOV.S R10.x, R5.y;
  10238. IF NE.x;
  10239. MOV.F R5.y, R5.w;
  10240. ELSE;
  10241. MOV.F R5.y, {0, 0, 0, 0}.x;
  10242. ENDIF;
  10243. MOV.F R6.z, R14.x;
  10244. MOV.F R6.y, R14.w;
  10245. MUL.F32 R5.w, R6.y, R6.z;
  10246. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10247. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10248. TRUNC.U R6.y, R6;
  10249. TRUNC.U R6.z, R6;
  10250. AND.U.CC HC.x, R6.y, R6.z;
  10251. MOV.S R18.y, R5;
  10252. IF NE.x;
  10253. MOV.F R5.y, R5.w;
  10254. ELSE;
  10255. MOV.F R5.y, {0, 0, 0, 0}.x;
  10256. ENDIF;
  10257. MOV.F R6.z, R21.x;
  10258. MOV.F R6.y, R12.w;
  10259. MUL.F32 R5.w, R6.y, R6.z;
  10260. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10261. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10262. TRUNC.U R6.y, R6;
  10263. TRUNC.U R6.z, R6;
  10264. AND.U.CC HC.x, R6.y, R6.z;
  10265. MOV.S R10.z, R5.y;
  10266. IF NE.x;
  10267. MOV.F R5.y, R5.w;
  10268. ELSE;
  10269. MOV.F R5.y, {0, 0, 0, 0}.x;
  10270. ENDIF;
  10271. MOV.F R6.z, R21.x;
  10272. SNE.F32 R7.y, R6.z, {0, 0, 0, 0}.x;
  10273. MOV.F R6.y, R10.z;
  10274. MOV.F R5.w, R11.y;
  10275. ADD.F32 R5.w, R5, R6.y;
  10276. MOV.S R12.x, R5.w;
  10277. MOV.F R5.w, R10.x;
  10278. MUL.F32 R6.y, R5.w, R6.z;
  10279. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10280. TRUNC.U R6.z, R5.w;
  10281. TRUNC.U R7.y, R7;
  10282. AND.U.CC HC.x, R6.z, R7.y;
  10283. MOV.S R5.w, R5.y;
  10284. IF NE.x;
  10285. MOV.F R5.y, R6;
  10286. ELSE;
  10287. MOV.F R5.y, {0, 0, 0, 0}.x;
  10288. ENDIF;
  10289. MOV.F R7.y, R21.x;
  10290. MOV.F R6.z, R12.x;
  10291. MUL.F32 R6.y, R6.z, R7;
  10292. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10293. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  10294. TRUNC.U R6.z, R6;
  10295. TRUNC.U R7.y, R7;
  10296. AND.U.CC HC.x, R6.z, R7.y;
  10297. MOV.S R18.z, R5.y;
  10298. IF NE.x;
  10299. MOV.F R5.y, R6;
  10300. ELSE;
  10301. MOV.F R5.y, {0, 0, 0, 0}.x;
  10302. ENDIF;
  10303. MOV.S R18.x, R5.y;
  10304. ENDIF;
  10305. SEQ.U R5.y, R16.w, {1, 0, 0, 0}.x;
  10306. MOV.U.CC RC.x, -R5.y;
  10307. IF NE.x;
  10308. MOV.F R6.y, R17.x;
  10309. MOV.F R5.y, c[12].x;
  10310. MAD.F32 R6.z, R5.y, {0.5, 0, 0, 0}.x, R6.y;
  10311. MOV.F R6.y, R17;
  10312. MOV.F R5.y, c[12];
  10313. MAD.F32 R5.y, R5, {0.5, 0, 0, 0}.x, R6;
  10314. MOV.S R10.x, R5.y;
  10315. MOV.F R5.y, c[13];
  10316. SGT.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10317. TRUNC.U.CC HC.x, R5.y;
  10318. MOV.S R10.y, R6.z;
  10319. MOV.S R7.x, c[11];
  10320. MOV.S R15.y, c[11];
  10321. MOV.S R17.z, c[11];
  10322. IF NE.x;
  10323. MOV.F R5.y, {1, 0, 0, 0}.x;
  10324. ELSE;
  10325. MOV.F R5.y, {0, 0, 0, 0}.x;
  10326. ENDIF;
  10327. MOV.F R6.y, c[13];
  10328. SGT.F32 R6.y, {0, 0, 0, 0}.x, R6;
  10329. TRUNC.U.CC HC.x, R6.y;
  10330. MOV.S R10.w, R5.y;
  10331. IF NE.x;
  10332. MOV.F R5.y, {1, 0, 0, 0}.x;
  10333. ELSE;
  10334. MOV.F R5.y, {0, 0, 0, 0}.x;
  10335. ENDIF;
  10336. MOV.F R6.y, R10.w;
  10337. ADD.F32 R5.y, R6, -R5;
  10338. MOV.F R6.z, R10.x;
  10339. MOV.F R6.y, R21.z;
  10340. MOV.S R21.x, R5.y;
  10341. MUL.F32 R5.y, R6, R6.z;
  10342. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10343. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10344. TRUNC.U R6.z, R6;
  10345. TRUNC.U R6.y, R6;
  10346. AND.U.CC HC.x, R6.y, R6.z;
  10347. IF NE.x;
  10348. ELSE;
  10349. MOV.F R5.y, {0, 0, 0, 0}.x;
  10350. ENDIF;
  10351. MOV.F R7.y, R10;
  10352. MOV.F R6.z, R21.y;
  10353. MUL.F32 R6.y, R6.z, R7;
  10354. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  10355. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10356. TRUNC.U R7.y, R7;
  10357. TRUNC.U R6.z, R6;
  10358. AND.U.CC HC.x, R6.z, R7.y;
  10359. MOV.S R12.y, R5;
  10360. IF NE.x;
  10361. MOV.F R5.y, R6;
  10362. ELSE;
  10363. MOV.F R5.y, {0, 0, 0, 0}.x;
  10364. ENDIF;
  10365. MOV.F R6.z, R18.y;
  10366. MOV.F R6.y, R12;
  10367. SNE.F32 R7.y, R6, {0, 0, 0, 0}.x;
  10368. SNE.F32 R9.w, R6.z, {0, 0, 0, 0}.x;
  10369. MUL.F32 R6.y, R6, R6.z;
  10370. MOV.F R6.z, c[13].y;
  10371. RCP.F32 R6.z, R6.z;
  10372. TRUNC.U R7.y, R7;
  10373. TRUNC.U R9.w, R9;
  10374. AND.U.CC HC.x, R7.y, R9.w;
  10375. MOV.S R11.z, R5.y;
  10376. MOV.S R6.z, R6;
  10377. IF NE.x;
  10378. MOV.F R5.y, R6;
  10379. ELSE;
  10380. MOV.F R5.y, {0, 0, 0, 0}.x;
  10381. ENDIF;
  10382. MOV.F R6.y, R12;
  10383. MOV.F R7.y, R6.x;
  10384. SNE.F32 R9.w, R6.y, {0, 0, 0, 0}.x;
  10385. MUL.F32 R6.x, R6.y, R7.y;
  10386. MOV.F R6.y, R18.x;
  10387. ADD.F32 R5.y, R5, R6;
  10388. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  10389. MOV.F R6.y, R23.x;
  10390. MUL.F32 R6.y, R6, R6.z;
  10391. TRUNC.U R9.w, R9;
  10392. TRUNC.U R7.y, R7;
  10393. AND.U.CC HC.x, R9.w, R7.y;
  10394. MOV.S R18.x, R5.y;
  10395. MOV.S R10.y, R6;
  10396. IF NE.x;
  10397. MOV.F R5.y, R6.x;
  10398. ELSE;
  10399. MOV.F R5.y, {0, 0, 0, 0}.x;
  10400. ENDIF;
  10401. MOV.F R6.z, R7.w;
  10402. MOV.F R6.y, R12;
  10403. MUL.F32 R6.x, R6.y, R6.z;
  10404. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10405. TRUNC.U R7.y, R6;
  10406. MOV.F R6.y, R18.z;
  10407. ADD.F32 R5.y, R5, R6;
  10408. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  10409. TRUNC.U R6.y, R6.z;
  10410. AND.U.CC HC.x, R7.y, R6.y;
  10411. MOV.S R18.z, R5.y;
  10412. IF NE.x;
  10413. MOV.F R5.y, R6.x;
  10414. ELSE;
  10415. MOV.F R5.y, {0, 0, 0, 0}.x;
  10416. ENDIF;
  10417. ADD.F32 R5.y, R5, R5.w;
  10418. MOV.F R6.y, R5.x;
  10419. MOV.F R6.x, R11.z;
  10420. MOV.F R5.w, R21.x;
  10421. MOV.S R18.w, R5.y;
  10422. ADD.F32 R5.y, -R5.w, {1, 0, 0, 0}.x;
  10423. MOV.S R14.x, R5.y;
  10424. SNE.F32 R5.w, R6.y, {0, 0, 0, 0}.x;
  10425. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  10426. TRUNC.U R5.w, R5;
  10427. TRUNC.U R5.y, R5;
  10428. AND.U.CC HC.x, R5.y, R5.w;
  10429. MUL.F32 R5.x, R6, R6.y;
  10430. IF NE.x;
  10431. ELSE;
  10432. MOV.F R5.x, {0, 0, 0, 0};
  10433. ENDIF;
  10434. MOV.F R5.y, R18.z;
  10435. ADD.F32 R5.y, R5.x, R5;
  10436. MOV.F R5.w, R11.z;
  10437. MOV.F R6.x, R3.y;
  10438. MUL.F32 R5.x, R5.w, R6;
  10439. MOV.S R13.x, R5.y;
  10440. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  10441. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10442. TRUNC.U R5.w, R6.x;
  10443. TRUNC.U R5.y, R5;
  10444. AND.U.CC HC.x, R5.y, R5.w;
  10445. IF NE.x;
  10446. ELSE;
  10447. MOV.F R5.x, {0, 0, 0, 0};
  10448. ENDIF;
  10449. MOV.F R5.y, R18.w;
  10450. ADD.F32 R5.y, R5.x, R5;
  10451. MOV.F R5.w, R11.z;
  10452. MOV.F R6.x, R7.z;
  10453. MUL.F32 R5.x, R5.w, R6;
  10454. MOV.S R11.y, R5;
  10455. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  10456. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10457. TRUNC.U R5.w, R6.x;
  10458. TRUNC.U R5.y, R5;
  10459. AND.U.CC HC.x, R5.y, R5.w;
  10460. IF NE.x;
  10461. ELSE;
  10462. MOV.F R5.x, {0, 0, 0, 0};
  10463. ENDIF;
  10464. MOV.F R5.y, R18.x;
  10465. ADD.F32 R5.x, R5, R5.y;
  10466. MOV.F R5.w, c[2].z;
  10467. MOV.F R5.y, R20.x;
  10468. MOV.S R11.z, R5.x;
  10469. MUL.F32 R5.x, R5.y, R5.w;
  10470. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10471. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10472. TRUNC.U R5.w, R5;
  10473. TRUNC.U R5.y, R5;
  10474. AND.U.CC HC.x, R5.y, R5.w;
  10475. IF NE.x;
  10476. ELSE;
  10477. MOV.F R5.x, {0, 0, 0, 0};
  10478. ENDIF;
  10479. MOV.F R5.y, R10;
  10480. ADD.F32 R5.x, R5, R5.y;
  10481. MOV.F R12.xyz, R8;
  10482. MOV.F R5.w, R21.x;
  10483. MOV.F R12.w, R15;
  10484. MOV.F R10.x, R13;
  10485. MOV.F R10.w, R6;
  10486. MOV.F R10.yz, R11;
  10487. DP4.F32 R5.y, R12, R10;
  10488. MOV.S R5.x, R5;
  10489. MOV.F R12.xyz, R19;
  10490. MOV.S R8.x, R5.y;
  10491. MOV.F R12.w, R8;
  10492. DP4.F32 R5.y, R10, R12;
  10493. MOV.S R19.y, R5;
  10494. FRC.F32 R5.y, R5.x;
  10495. MUL.F32 R5.x, R5.w, R5.y;
  10496. SNE.F32 R6.x, R5.y, {0, 0, 0, 0};
  10497. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  10498. TRUNC.U R5.w, R6.x;
  10499. TRUNC.U R5.y, R5;
  10500. AND.U.CC HC.x, R5.y, R5.w;
  10501. IF NE.x;
  10502. ELSE;
  10503. MOV.F R5.x, {0, 0, 0, 0};
  10504. ENDIF;
  10505. MOV.F R6.x, R13;
  10506. MOV.F R6.yz, R11;
  10507. MOV.F R9.w, R3;
  10508. DP4.F32 R5.y, R9, R6;
  10509. MOV.F R6.x, R14;
  10510. MOV.F R5.w, R3.z;
  10511. MOV.S R9.z, R5.y;
  10512. MUL.F32 R5.y, R5.w, R6.x;
  10513. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10514. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10515. TRUNC.U R5.w, R5;
  10516. TRUNC.U R6.x, R6;
  10517. AND.U.CC HC.x, R5.w, R6;
  10518. MOV.S R6.z, R5.x;
  10519. IF NE.x;
  10520. MOV.F R5.x, R5.y;
  10521. ELSE;
  10522. MOV.F R5.x, {0, 0, 0, 0};
  10523. ENDIF;
  10524. MOV.F R5.y, R6.z;
  10525. ADD.F32 R5.x, R5, R5.y;
  10526. MOV.F R5.y, c[14].w;
  10527. ADD.F32 R5.w, R5.x, -R5.y;
  10528. MOV.F R6.x, c[15].w;
  10529. ADD.F32 R5.y, -R5, R6.x;
  10530. MOV.S R11.y, R5.w;
  10531. MOV.S R12.w, R5.y;
  10532. SGE.F32 R5.x, R5, R6;
  10533. TRUNC.U.CC HC.x, R5;
  10534. MOV.F R5.w, c[15].x;
  10535. MOV.F R5.y, c[14].x;
  10536. ADD.F32 R5.y, -R5, R5.w;
  10537. MOV.S R10.x, R5.y;
  10538. IF NE.x;
  10539. MOV.S R5.x, {1065353216, 0, 0, 0};
  10540. ELSE;
  10541. MOV.S R5.x, {0, 0, 0, 0};
  10542. ENDIF;
  10543. MOV.F R5.y, R11;
  10544. SGE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10545. TRUNC.U.CC HC.x, R5.y;
  10546. IF NE.x;
  10547. MOV.S R5.y, {1065353216, 0, 0, 0}.x;
  10548. ELSE;
  10549. MOV.S R5.y, {0, 0, 0, 0}.x;
  10550. ENDIF;
  10551. MOV.F R6.y, R11;
  10552. MOV.F R5.w, R10.x;
  10553. MOV.F R6.x, R12.w;
  10554. DIV.F32 R6.x, R5.w, R6.x;
  10555. SNE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  10556. MUL.F32 R5.w, R6.y, R6.x;
  10557. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  10558. TRUNC.U R6.w, R6.z;
  10559. TRUNC.U R6.z, R6.x;
  10560. MOV.F R6.x, R5.y;
  10561. MOV.F R6.y, R5.x;
  10562. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  10563. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  10564. AND.U.CC HC.x, R6.z, R6.w;
  10565. MOV.S R12.z, R6.x;
  10566. MOV.S R12.x, R6.y;
  10567. IF NE.x;
  10568. ELSE;
  10569. MOV.F R5.w, {0, 0, 0, 0}.x;
  10570. ENDIF;
  10571. MOV.F R6.y, c[14].x;
  10572. ADD.F32 R5.w, R5, R6.y;
  10573. MOV.F R6.x, R12.z;
  10574. SNE.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  10575. MUL.F32 R6.x, R6.y, R6;
  10576. TRUNC.U R6.z, R6;
  10577. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  10578. MOV.S R18.x, R5.w;
  10579. TRUNC.U R5.w, R6.y;
  10580. AND.U.CC HC.x, R5.w, R6.z;
  10581. IF NE.x;
  10582. MOV.F R5.w, R6.x;
  10583. ELSE;
  10584. MOV.F R5.w, {0, 0, 0, 0}.x;
  10585. ENDIF;
  10586. MOV.F R6.y, R12.x;
  10587. MOV.F R6.x, R5.y;
  10588. MUL.F32 R5.y, R6.x, R6;
  10589. SNE.F32 R6.z, R6.y, {0, 0, 0, 0}.x;
  10590. TRUNC.U R6.y, R6.z;
  10591. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10592. MOV.S R10.y, R5.w;
  10593. TRUNC.U R5.w, R6.x;
  10594. AND.U.CC HC.x, R5.w, R6.y;
  10595. IF NE.x;
  10596. ELSE;
  10597. MOV.F R5.y, {0, 0, 0, 0}.x;
  10598. ENDIF;
  10599. MOV.F R6.x, R18;
  10600. MUL.F32 R5.w, R6.x, R5.y;
  10601. SNE.F32 R6.y, R5, {0, 0, 0, 0}.x;
  10602. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  10603. TRUNC.U R6.x, R6.y;
  10604. TRUNC.U R5.y, R5;
  10605. AND.U.CC HC.x, R5.y, R6;
  10606. IF NE.x;
  10607. MOV.F R5.y, R5.w;
  10608. ELSE;
  10609. MOV.F R5.y, {0, 0, 0, 0}.x;
  10610. ENDIF;
  10611. MOV.F R5.w, R10.y;
  10612. ADD.F32 R5.y, R5, R5.w;
  10613. MOV.S R18.x, R5.y;
  10614. MOV.F R5.w, R5.x;
  10615. MOV.F R5.y, c[15].x;
  10616. MUL.F32 R5.x, R5.y, R5.w;
  10617. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10618. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10619. TRUNC.U R5.w, R5;
  10620. TRUNC.U R5.y, R5;
  10621. AND.U.CC HC.x, R5.y, R5.w;
  10622. IF NE.x;
  10623. ELSE;
  10624. MOV.F R5.x, {0, 0, 0, 0};
  10625. ENDIF;
  10626. MOV.F R5.y, R18.x;
  10627. ADD.F32 R5.x, R5, R5.y;
  10628. MOV.S R6.w, R5.x;
  10629. ENDIF;
  10630. SEQ.U R5.x, R16.w, {1, 0, 0, 0};
  10631. MOV.U.CC RC.x, -R5;
  10632. IF NE.x;
  10633. MOV.F R1.x, R8;
  10634. MOV.F R1.z, R9;
  10635. MOV.F R1.w, R5.z;
  10636. MOV.F R1.y, R19;
  10637. MOV.F R0, c[18];
  10638. DP4.F32 R0.z, R0, R1;
  10639. MOV.F R10, c[17];
  10640. DP4.F32 R0.x, R10, R1;
  10641. MOV.S R0.w, R0.z;
  10642. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  10643. MOV.F R10, c[16];
  10644. MOV.S R0.y, R0.x;
  10645. DP4.F32 R0.x, R1, R10;
  10646. MOV.F R10, c[19];
  10647. DP4.F32 R5.x, R1, R10;
  10648. MOV.F R10, c[21];
  10649. MOV.S R14.x, R5;
  10650. DP4.F32 R5.x, R1, R10;
  10651. MOV.S R11.y, R5.x;
  10652. MOV.S R11.w, R0.z;
  10653. MOV.F R10, c[20];
  10654. DP4.F32 R0.z, R1, R10;
  10655. MOV.F R5.x, R20;
  10656. SGT.F32 R1.x, R5, {0.5, 0, 0, 0};
  10657. TRUNC.U.CC HC.x, R1;
  10658. MOV.S R0.x, R0;
  10659. MOV.S R13.y, R0.z;
  10660. IF NE.x;
  10661. MOV.S R6.x, {-1, 0, 0, 0};
  10662. ELSE;
  10663. MOV.S R6.x, {0, 0, 0, 0};
  10664. ENDIF;
  10665. MOV.F R1.w, R5.z;
  10666. MOV.F R1.x, R8;
  10667. MOV.F R1.z, R9;
  10668. MOV.F R1.y, R19;
  10669. MOV.F R5, c[22];
  10670. DP4.F32 R0.z, R1, R5;
  10671. MOV.F R1.x, R22.z;
  10672. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  10673. MOV.S R6.z, R1.x;
  10674. SEQ.S R1.x, R6, {0, 0, 0, 0};
  10675. MOV.U.CC RC.x, -R1;
  10676. MOV.F R1.z, R11.y;
  10677. MOV.F R1.y, c[12].z;
  10678. ADD.F32 R1.y, R1, R1.z;
  10679. MOV.S R0.z, R0;
  10680. MOV.S R21.x, R1.y;
  10681. AND.S R10.y, c[8].x, {524288, 0, 0, 0}.x;
  10682. IF NE.x;
  10683. MOV.S R6.x, R22.z;
  10684. ELSE;
  10685. MOV.S R6.x, R6.z;
  10686. ENDIF;
  10687. MOV.F R1.x, R14;
  10688. MOV.F R1.y, R13;
  10689. MOV.F R1.z, R21.x;
  10690. MOV.F R5, c[23];
  10691. MOV.F R1.w, R0.z;
  10692. DP4.F32 R1.x, R1, R5;
  10693. MOV.S R11.x, R1;
  10694. SEQ.S R1.x, R10.y, {524288, 0, 0, 0};
  10695. MOV.U.CC RC.x, -R1;
  10696. AND.S R14.w, c[8].x, {1048576, 0, 0, 0}.x;
  10697. IF NE.x;
  10698. MOV.S R1.x, {-1, 0, 0, 0};
  10699. ELSE;
  10700. MOV.S R1.x, {0, 0, 0, 0};
  10701. ENDIF;
  10702. SEQ.S R1.y, R14.w, {1048576, 0, 0, 0}.x;
  10703. MOV.U.CC RC.x, -R1.y;
  10704. IF NE.x;
  10705. MOV.S R1.y, {-1, 0, 0, 0}.x;
  10706. ELSE;
  10707. MOV.S R1.y, {0, 0, 0, 0}.x;
  10708. ENDIF;
  10709. MOV.F R1.z, R22.w;
  10710. MOV.F R1.w, R20.y;
  10711. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  10712. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  10713. TRUNC.U.CC HC.x, R1.w;
  10714. MOV.S R10.y, R1.z;
  10715. IF NE.x;
  10716. MOV.S R1.z, {-1, 0, 0, 0}.x;
  10717. ELSE;
  10718. MOV.S R1.z, {0, 0, 0, 0}.x;
  10719. ENDIF;
  10720. SEQ.S R1.x, R1, {0, 0, 0, 0};
  10721. MOV.U.CC RC.x, -R1;
  10722. IF NE.x;
  10723. MOV.S R1.x, R22.z;
  10724. ELSE;
  10725. MOV.S R1.x, R6;
  10726. ENDIF;
  10727. SEQ.S R1.z, R1, {0, 0, 0, 0}.x;
  10728. MOV.U.CC RC.x, -R1.z;
  10729. MOV.S R7.w, R1.x;
  10730. IF NE.x;
  10731. MOV.S R1.x, R22.w;
  10732. ELSE;
  10733. MOV.S R1.x, R10.y;
  10734. ENDIF;
  10735. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  10736. MOV.U.CC RC.x, -R1.y;
  10737. IF NE.x;
  10738. MOV.S R6.x, R22.w;
  10739. ELSE;
  10740. MOV.S R6.x, R1;
  10741. ENDIF;
  10742. MOV.F R1.w, R0.z;
  10743. MOV.F R1.y, R13;
  10744. MOV.F R0.z, R11.x;
  10745. MOV.F R1.x, R14;
  10746. MOV.F R1.z, R21.x;
  10747. MOV.F R5, c[24];
  10748. DP4.F32 R1.x, R1, R5;
  10749. DIV.F32 R1.y, R0.z, R1.x;
  10750. MOV.F R1.x, R0.w;
  10751. MUL.F32 R0.z, R1.x, R1.y;
  10752. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  10753. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  10754. TRUNC.U R1.y, R1;
  10755. TRUNC.U R1.x, R1;
  10756. AND.U.CC HC.x, R1, R1.y;
  10757. MOV.S R22.z, R6.x;
  10758. IF NE.x;
  10759. ELSE;
  10760. MOV.F R0.z, {0, 0, 0, 0}.x;
  10761. ENDIF;
  10762. MOV.F R1.z, R11.w;
  10763. MOV.F R1.x, R0;
  10764. MAD.F32 R1.x, R1, {0.5, 0, 0, 0}, R1.z;
  10765. MOV.F R1.y, R0;
  10766. MAD.F32 R1.y, R1, {-0.5, 0, 0, 0}.x, R1.z;
  10767. MAD.F32 R1.z, R0, {0.5, 0, 0, 0}.x, R1;
  10768. MOV.S R1.y, R1;
  10769. MOV.S R1.x, R1;
  10770. MOV.S R1.w, R0;
  10771. MOV.S R1.z, R1;
  10772. MOV.S R0.z, R0;
  10773. ENDIF;
  10774. SEQ.U R5.x, R16.w, {1, 0, 0, 0};
  10775. MOV.U.CC RC.x, -R5;
  10776. IF NE.x;
  10777. MOV.F R2.z, c[25].x;
  10778. MOV.F R2.y, R7.x;
  10779. MUL.F32 R2.x, R2.y, R2.z;
  10780. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10781. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  10782. TRUNC.U R2.z, R2;
  10783. TRUNC.U R2.y, R2;
  10784. AND.U.CC HC.x, R2.y, R2.z;
  10785. IF NE.x;
  10786. ELSE;
  10787. MOV.F R2.x, {0, 0, 0, 0};
  10788. ENDIF;
  10789. MOV.F R2.w, c[25].y;
  10790. MOV.F R2.z, R15.y;
  10791. MUL.F32 R2.y, R2.z, R2.w;
  10792. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10793. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  10794. TRUNC.U R2.z, R2;
  10795. TRUNC.U R2.w, R2;
  10796. AND.U.CC HC.x, R2.z, R2.w;
  10797. MOV.S R3.x, R2;
  10798. IF NE.x;
  10799. MOV.F R2.x, R2.y;
  10800. ELSE;
  10801. MOV.F R2.x, {0, 0, 0, 0};
  10802. ENDIF;
  10803. MOV.F R2.w, c[25].z;
  10804. MOV.F R2.z, R17;
  10805. MUL.F32 R2.y, R2.z, R2.w;
  10806. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10807. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  10808. TRUNC.U R2.z, R2;
  10809. TRUNC.U R2.w, R2;
  10810. AND.U.CC HC.x, R2.z, R2.w;
  10811. MOV.S R3.y, R2.x;
  10812. IF NE.x;
  10813. MOV.F R2.x, R2.y;
  10814. ELSE;
  10815. MOV.F R2.x, {0, 0, 0, 0};
  10816. ENDIF;
  10817. MOV.F R2.w, c[25];
  10818. MOV.F R2.z, R6.w;
  10819. MUL.F32 R2.y, R2.z, R2.w;
  10820. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10821. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  10822. TRUNC.U R2.z, R2;
  10823. TRUNC.U R2.w, R2;
  10824. AND.U.CC HC.x, R2.z, R2.w;
  10825. MOV.S R15.z, R2.x;
  10826. IF NE.x;
  10827. MOV.F R2.x, R2.y;
  10828. ELSE;
  10829. MOV.F R2.x, {0, 0, 0, 0};
  10830. ENDIF;
  10831. MOV.F R2.w, c[26].x;
  10832. MOV.F R2.z, R3.x;
  10833. MUL.F32 R2.y, R2.z, R2.w;
  10834. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  10835. TRUNC.U R5.x, R2.w;
  10836. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10837. TRUNC.U R2.z, R2;
  10838. AND.U.CC HC.x, R2.z, R5;
  10839. MOV.S R2.w, R2.x;
  10840. IF NE.x;
  10841. MOV.F R2.x, R2.y;
  10842. ELSE;
  10843. MOV.F R2.x, {0, 0, 0, 0};
  10844. ENDIF;
  10845. MOV.F R5.x, c[26];
  10846. MOV.F R2.z, R3.y;
  10847. MUL.F32 R2.y, R2.z, R5.x;
  10848. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  10849. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10850. TRUNC.U R2.z, R2;
  10851. TRUNC.U R5.x, R5;
  10852. AND.U.CC HC.x, R2.z, R5;
  10853. MOV.S R2.x, R2;
  10854. IF NE.x;
  10855. ELSE;
  10856. MOV.F R2.y, {0, 0, 0, 0}.x;
  10857. ENDIF;
  10858. MOV.F R5.y, c[26].x;
  10859. MOV.F R5.x, R15.z;
  10860. MUL.F32 R2.z, R5.x, R5.y;
  10861. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  10862. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  10863. TRUNC.U R5.x, R5;
  10864. TRUNC.U R5.y, R5;
  10865. AND.U.CC HC.x, R5, R5.y;
  10866. MOV.S R2.y, R2;
  10867. IF NE.x;
  10868. ELSE;
  10869. MOV.F R2.z, {0, 0, 0, 0}.x;
  10870. ENDIF;
  10871. MOV.F R5.x, R20.y;
  10872. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  10873. MOV.F R5.z, c[29].y;
  10874. TRUNC.U R6.y, R5;
  10875. MOV.F R5.y, c[28].w;
  10876. ADD.F32 R5.y, R5, R5.z;
  10877. MUL.F32 R5.x, R5.z, R5;
  10878. MOV.S R12.x, R5.y;
  10879. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10880. MOV.F R5.y, c[27].z;
  10881. TRUNC.U R5.z, R5;
  10882. AND.U.CC HC.x, R6.y, R5.z;
  10883. MOV.F R6.x, c[29];
  10884. MOV.F R5.w, c[28].z;
  10885. ADD.F32 R5.w, R5, R6.x;
  10886. MOV.S R12.y, R5.w;
  10887. MOV.S R2.z, R2;
  10888. TRUNC.S R6.z, R5.y;
  10889. IF NE.x;
  10890. ELSE;
  10891. MOV.F R5.x, {0, 0, 0, 0};
  10892. ENDIF;
  10893. MOV.F R5.y, R20.x;
  10894. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  10895. MOV.F R5.z, c[29].x;
  10896. MUL.F32 R5.y, R5, R5.z;
  10897. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10898. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  10899. TRUNC.U R5.w, R5;
  10900. TRUNC.U R5.z, R5;
  10901. AND.U.CC HC.x, R5.w, R5.z;
  10902. MOV.S R12.z, R5.x;
  10903. IF NE.x;
  10904. MOV.F R5.x, R5.y;
  10905. ELSE;
  10906. MOV.F R5.x, {0, 0, 0, 0};
  10907. ENDIF;
  10908. MOV.F R5.z, R12.x;
  10909. MOV.F R5.y, R12.z;
  10910. ADD.F32 R5.y, -R5, R5.z;
  10911. MOV.S R10.y, R5;
  10912. I2F.S R5.y, R6.z;
  10913. MOV.S R5.y, R5;
  10914. MOV.F R5.z, R12.y;
  10915. MAD.F32 R5.z, -R5.x, {2, 0, 0, 0}.x, R5;
  10916. MOV.S R5.x, R5.y;
  10917. MOV.S R11.w, R5.y;
  10918. MOV.F R5.y, -|R5.x|;
  10919. SGE.F32 R5.x, {0, 0, 0, 0}, |R5|;
  10920. TRUNC.U.CC HC.x, R5;
  10921. MOV.S R10.x, R5.z;
  10922. MOV.S R10.z, R5.y;
  10923. IF NE.x;
  10924. MOV.F R5.x, {1, 0, 0, 0};
  10925. ELSE;
  10926. MOV.F R5.x, {0, 0, 0, 0};
  10927. ENDIF;
  10928. MOV.F R5.y, R23.x;
  10929. SNE.F32 R5.w, -R5.y, {0, 0, 0, 0}.x;
  10930. MOV.F R5.z, c[28].x;
  10931. MUL.F32 R5.y, -R5, R5.z;
  10932. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10933. TRUNC.U R5.w, R5;
  10934. TRUNC.U R5.z, R5;
  10935. AND.U.CC HC.x, R5.w, R5.z;
  10936. MOV.S R10.w, R5.x;
  10937. IF NE.x;
  10938. MOV.F R5.x, R5.y;
  10939. ELSE;
  10940. MOV.F R5.x, {0, 0, 0, 0};
  10941. ENDIF;
  10942. MOV.F R5.y, R10.x;
  10943. ADD.F32 R5.x, R5, -R5.y;
  10944. MOV.F R5.y, R10.w;
  10945. MOV.S R11.x, R5;
  10946. SEQ.F R5.x, R5.y, {0, 0, 0, 0};
  10947. TRUNC.U.CC HC.x, R5;
  10948. IF NE.x;
  10949. MOV.S R5.x, {0, 0, 0, 0};
  10950. ELSE;
  10951. MOV.S R5.x, R10.z;
  10952. ENDIF;
  10953. MOV.F R5.w, c[28].y;
  10954. MOV.F R5.z, R23.x;
  10955. MUL.F32 R5.y, R5.z, R5.w;
  10956. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  10957. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  10958. TRUNC.U R5.w, R5;
  10959. TRUNC.U R5.z, R5;
  10960. AND.U.CC HC.x, R5.z, R5.w;
  10961. IF NE.x;
  10962. ELSE;
  10963. MOV.F R5.y, {0, 0, 0, 0}.x;
  10964. ENDIF;
  10965. MOV.F R5.z, R10.y;
  10966. ADD.F32 R5.y, R5, R5.z;
  10967. MOV.S R21.w, R5.y;
  10968. MOV.F R5.y, c[27].z;
  10969. RCP.F32 R5.z, R5.y;
  10970. MOV.F R5.w, c[27].x;
  10971. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  10972. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  10973. DIV.F32 R5.y, R5.w, R5.y;
  10974. TRUNC.U R5.w, R6.x;
  10975. TRUNC.U R5.z, R5;
  10976. AND.U.CC HC.x, R5.z, R5.w;
  10977. IF NE.x;
  10978. ELSE;
  10979. MOV.F R5.y, {0, 0, 0, 0}.x;
  10980. ENDIF;
  10981. MOV.F R5.z, R11.w;
  10982. MOV.F R5.w, R5.x;
  10983. ADD.F32 R5.w, |R5.z|, R5;
  10984. MOV.S R5.z, R5.y;
  10985. MOV.S R5.y, R5.z;
  10986. MOV.S R10.w, R5;
  10987. MOV.F R5.w, R7;
  10988. MOV.F R6.x, R5.y;
  10989. MUL.F32 R5.y, R5.w, R6.x;
  10990. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  10991. MOV.S R13.y, R5.z;
  10992. MOV.F R5.z, c[27].w;
  10993. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  10994. RCP.F32 R5.z, R5.z;
  10995. TRUNC.U R5.w, R6.y;
  10996. TRUNC.U R6.
  10997. [17:14:24] Link error in shader. Log:
  10998. [17:14:24] Vertex info
  10999. -----------
  11000. Internal error: assembly compile error for vertex shader at offset 2332:
  11001. -- error message --
  11002. line 48, column 45: error: invalid vertex attribute reference
  11003. line 55, column 25: error: invalid vertex attribute reference
  11004. line 57, column 25: error: invalid vertex attribute reference
  11005. line 59, column 25: error: invalid vertex attribute reference
  11006. line 62, column 25: error: invalid vertex attribute reference
  11007. -- internal assembly text --
  11008. !!NVvp5.0
  11009. OPTION NV_internal;
  11010. OPTION NV_gpu_program_fp64;
  11011. OPTION NV_bindless_texture;
  11012. # cgc version 3.4.0001, build date Oct 22 2020
  11013. # command line args:
  11014. #vendor NVIDIA Corporation
  11015. #version 3.4.0.1 COP Build Date Oct 22 2020
  11016. #profile gp5vp
  11017. #program main
  11018. #semantic textureUnitVS13 : TEXUNIT[1]
  11019. #semantic textureUnitVS8 : TEXUNIT[0]
  11020. #semantic uf_remappedVS
  11021. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  11022. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  11023. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  11024. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  11025. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  11026. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  11027. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  11028. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  11029. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  11030. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  11031. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  11032. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  11033. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  11034. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  11035. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  11036. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  11037. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  11038. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  11039. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  11040. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  11041. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  11042. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  11043. #var float4 passParameterSem15 : $vout.ATTR8 : ATTR8 : -1 : 1
  11044. #var float4 passParameterSem16 : $vout.ATTR9 : ATTR9 : -1 : 1
  11045. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  11046. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  11047. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  11048. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  11049. #var float4 passParameterSem9 : $vout.ATTR6 : ATTR6 : -1 : 1
  11050. #var ulong textureUnitVS13 : TEXUNIT[1] : c[65] : -1 : 1
  11051. #var ulong textureUnitVS8 : TEXUNIT[0] : c[66] : -1 : 1
  11052. #var int4 uf_remappedVS[0] : : c[0], 65 : -1 : 1
  11053. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  11054. PARAM c[67] = { program.local[0..66] };
  11055. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  11056. OUTPUT result_attrib[] = { result.attrib[0..9] };
  11057. 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;
  11058. LONG TEMP D0;
  11059. TEMP T;
  11060. TEMP RC;
  11061. SHORT TEMP HC;
  11062. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  11063. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11064. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  11065. OR.U R0, R0, R1;
  11066. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  11067. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11068. OR.U R0, R0, R1;
  11069. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  11070. OR.U R9, R0, R2;
  11071. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  11072. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11073. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  11074. OR.U R0, R0, R1;
  11075. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  11076. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11077. OR.U R0, R0, R1;
  11078. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  11079. OR.U R27, R0, R2;
  11080. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  11081. AND.U R2, R1, {65280, 0, 0, 0}.x;
  11082. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  11083. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  11084. OR.U R1, R1, R2;
  11085. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  11086. OR.U R0, R1, R0;
  11087. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  11088. OR.U R10, R0, R2;
  11089. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  11090. AND.U R2, R1, {65280, 0, 0, 0}.x;
  11091. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  11092. OR.U R1, R1, R2;
  11093. MOV.U R0.x, R27.w;
  11094. MOV.F R0.y, c[0].x;
  11095. ADD.F32 R3.x, -R0, R0.y;
  11096. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  11097. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  11098. OR.U R1, R1, R2;
  11099. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  11100. OR.U R12, R1, R0;
  11101. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  11102. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11103. MOV.S R13.w, R3.x;
  11104. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  11105. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  11106. TRUNC.U R19.x, R3;
  11107. SEQ.U R3.x, R19, {1, 0, 0, 0};
  11108. SEQ.U R19.y, -R3.x, {1, 0, 0, 0}.x;
  11109. MOV.U.CC RC.x, -R19.y;
  11110. OR.U R0, R0, R1;
  11111. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  11112. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11113. OR.U R0, R0, R1;
  11114. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  11115. OR.U R14, R0, R2;
  11116. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  11117. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11118. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  11119. OR.U R0, R0, R1;
  11120. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  11121. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11122. OR.U R0, R0, R1;
  11123. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  11124. OR.U R15, R0, R2;
  11125. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  11126. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11127. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  11128. OR.U R0, R0, R1;
  11129. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  11130. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11131. OR.U R0, R0, R1;
  11132. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  11133. OR.U R16, R0, R2;
  11134. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  11135. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11136. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  11137. OR.U R0, R0, R1;
  11138. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  11139. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11140. OR.U R0, R0, R1;
  11141. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  11142. OR.U R18, R0, R2;
  11143. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11144. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11145. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11146. OR.U R0.xyz, R0, R1;
  11147. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11148. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11149. OR.U R0.xyz, R0, R1;
  11150. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11151. OR.U R32.xyz, R0, R2;
  11152. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11153. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11154. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11155. OR.U R0.xyz, R0, R1;
  11156. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11157. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11158. OR.U R0.xyz, R0, R1;
  11159. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11160. OR.U R28.xyz, R0, R2;
  11161. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11162. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11163. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11164. OR.U R0.xyz, R0, R1;
  11165. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11166. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11167. OR.U R0.xyz, R0, R1;
  11168. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11169. OR.U R11.xyz, R0, R2;
  11170. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11171. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11172. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11173. OR.U R0.xyz, R0, R1;
  11174. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11175. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11176. OR.U R0.xyz, R0, R1;
  11177. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11178. OR.U R30.xyz, R0, R2;
  11179. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11180. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11181. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11182. OR.U R0.xyz, R0, R1;
  11183. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11184. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11185. OR.U R0.xyz, R0, R1;
  11186. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11187. OR.U R13.xyz, R0, R2;
  11188. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11189. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11190. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11191. OR.U R0.xyz, R0, R1;
  11192. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11193. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11194. OR.U R0.xyz, R0, R1;
  11195. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11196. OR.U R25.xyz, R0, R2;
  11197. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11198. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11199. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11200. OR.U R0.xyz, R0, R1;
  11201. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11202. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11203. OR.U R0.xyz, R0, R1;
  11204. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11205. OR.U R17.xyz, R0, R2;
  11206. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11207. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  11208. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11209. OR.U R1.xy, R1, R1.zwzw;
  11210. SHL.U R8.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11211. AND.U R1.zw, R8.xyxy, {16711680, 0, 0, 0}.x;
  11212. SHL.U R8.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11213. OR.U R1.xy, R1, R1.zwzw;
  11214. OR.U R29.xy, R1, R8;
  11215. MOV.U R8.x, R29;
  11216. MOV.F R8.z, R8.x;
  11217. MOV.U R8.y, R29;
  11218. ADD.F32 R8.x, -R8.y, {1, 0, 0, 0};
  11219. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  11220. MOV.S R29.z, R8.x;
  11221. MOV.S R11.w, R8.y;
  11222. MOV.S R2, {0, 0, 0, 0}.x;
  11223. MOV.S R0, {0, 0, 0, 0}.x;
  11224. MOV.S R3, {0, 0, 0, 0}.x;
  11225. MOV.S R4, {0, 0, 0, 0}.x;
  11226. MOV.S R5, {0, 0, 0, 0}.x;
  11227. MOV.S R6, {0, 0, 0, 0}.x;
  11228. MOV.S R7, {0, 0, 0, 0}.x;
  11229. MOV.S R1, {0, 0, 0, 0}.x;
  11230. MOV.S R31.xyz, {0, 0, 0, 0}.x;
  11231. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11232. MOV.S R8.yz, {0, 0, 0, 0};
  11233. MOV.S R8.x, vertex.id;
  11234. MOV.S R8.w, vertex.instance.x;
  11235. MOV.S R25.w, {0, 0, 0, 0}.x;
  11236. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  11237. IF NE.x;
  11238. MOV.F R3.z, c[1].y;
  11239. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11240. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  11241. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11242. MOV.S R3.z, R3;
  11243. MOV.S R18.w, {1065353216, 0, 0, 0}.x;
  11244. ENDIF;
  11245. SEQ.U R19.x, R19, {0, 0, 0, 0};
  11246. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11247. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11248. MOV.U.CC RC.x, -R19;
  11249. IF NE.x;
  11250. MOV.S R18.w, {0, 0, 0, 0}.x;
  11251. ENDIF;
  11252. SEQ.S R19.x, R18.w, {0, 0, 0, 0};
  11253. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11254. SEQ.U R19.z, -R19.y, {1, 0, 0, 0}.x;
  11255. MOV.U.CC RC.x, -R19.z;
  11256. MOV.U R19.x, -R19;
  11257. MOV.U R34.x, -R19.y;
  11258. IF NE.x;
  11259. MOV.F R19.y, R10.w;
  11260. TRUNC.S R19.y, R19;
  11261. I2F.S R19.y, R19;
  11262. MOV.F R19.z, R13.w;
  11263. SGE.F32 R19.z, R19, R19.y;
  11264. TRUNC.U R19.z, R19;
  11265. SEQ.U R19.w, R34.x, {1, 0, 0, 0}.x;
  11266. SEQ.U R19.z, R19, {1, 0, 0, 0}.x;
  11267. AND.U R27.w, -R19.z, -R19;
  11268. MOV.S R31.x, R19.y;
  11269. MOV.S R31.yz, {0, 0, 0, 0}.x;
  11270. ELSE;
  11271. MOV.U R27.w, {0, 0, 0, 0}.x;
  11272. ENDIF;
  11273. SEQ.U R19.y, R27.w, {1, 0, 0, 0}.x;
  11274. MOV.U.CC RC.x, -R19.y;
  11275. IF NE.x;
  11276. MOV.F R3.z, c[1].y;
  11277. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11278. MOV.S R3.xy, {0, 0, 0, 0};
  11279. MOV.S R3.z, R3;
  11280. MOV.S R33.x, {0, 0, 0, 0};
  11281. MOV.S R25.w, {1065353216, 0, 0, 0}.x;
  11282. ENDIF;
  11283. SEQ.U R19.x, R19, {1, 0, 0, 0};
  11284. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11285. MOV.U.CC RC.x, -R19.y;
  11286. MOV.U R34.x, -R19;
  11287. IF NE.x;
  11288. SEQ.S R19.x, R25.w, {0, 0, 0, 0};
  11289. MOV.U R34.y, -R19.x;
  11290. SEQ.U R19.y, R34.x, {1, 0, 0, 0}.x;
  11291. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11292. AND.U R27.w, -R19.x, -R19.y;
  11293. ELSE;
  11294. MOV.U R34.y, {0, 0, 0, 0}.x;
  11295. MOV.U R27.w, {0, 0, 0, 0}.x;
  11296. ENDIF;
  11297. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  11298. MOV.U.CC RC.x, -R19;
  11299. IF NE.x;
  11300. MOV.F R8.x, R12.y;
  11301. MOV.F R8.y, R12.z;
  11302. ADD.F32 R8.z, R8.x, R8.y;
  11303. MOV.F R8.w, R12.x;
  11304. ADD.F32 R8.y, R8, R8.w;
  11305. MOV.S R19.z, R8;
  11306. ADD.F32 R8.z, R8.x, R8.w;
  11307. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11308. MUL.F32 R8.z, R8, {0.5, 0, 0, 0}.x;
  11309. MOV.S R20.x, R8.y;
  11310. MUL.F32 R8.y, R8.w, {2, 0, 0, 0}.x;
  11311. MOV.S R22.w, R8.x;
  11312. AND.S R8.x, c[2], {65536, 0, 0, 0};
  11313. I2F.S R8.x, R8;
  11314. MOV.S R20.y, R8;
  11315. SGT.F32 R8.y, R8.x, {0, 0, 0, 0}.x;
  11316. TRUNC.U.CC HC.x, R8.y;
  11317. MOV.S R21.x, R8.z;
  11318. AND.S R19.y, c[2].x, {131072, 0, 0, 0}.x;
  11319. AND.S R19.x, c[2], {262144, 0, 0, 0};
  11320. MOV.S R23.z, R8.x;
  11321. IF NE.x;
  11322. MOV.F R8.x, {1, 0, 0, 0};
  11323. ELSE;
  11324. MOV.F R8.x, {0, 0, 0, 0};
  11325. ENDIF;
  11326. MOV.F R8.y, R20.x;
  11327. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11328. MOV.F R8.z, R22.w;
  11329. MOV.S R21.y, R8;
  11330. FLR.F R8.y, R8.z;
  11331. MOV.S R20.z, R8.y;
  11332. MOV.F R8.y, R23.z;
  11333. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11334. TRUNC.U.CC HC.x, R8.y;
  11335. MOV.S R24.x, R8;
  11336. IF NE.x;
  11337. MOV.F R8.x, {1, 0, 0, 0};
  11338. ELSE;
  11339. MOV.F R8.x, {0, 0, 0, 0};
  11340. ENDIF;
  11341. I2F.S R8.y, R19.x;
  11342. MOV.F R8.z, R24.x;
  11343. MOV.S R22.w, R8.y;
  11344. ADD.F32 R8.x, R8.z, -R8;
  11345. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11346. TRUNC.U.CC HC.x, R8.y;
  11347. MOV.S R22.x, R8;
  11348. IF NE.x;
  11349. MOV.F R8.x, {1, 0, 0, 0};
  11350. ELSE;
  11351. MOV.F R8.x, {0, 0, 0, 0};
  11352. ENDIF;
  11353. MOV.F R8.y, R22.w;
  11354. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11355. TRUNC.U.CC HC.x, R8.y;
  11356. MOV.S R22.y, R8.x;
  11357. IF NE.x;
  11358. MOV.F R8.x, {1, 0, 0, 0};
  11359. ELSE;
  11360. MOV.F R8.x, {0, 0, 0, 0};
  11361. ENDIF;
  11362. MOV.F R8.z, R22.y;
  11363. ADD.F32 R8.x, R8, -R8.z;
  11364. MOV.F R8.y, R12.z;
  11365. MUL.F32 R8.y, R8, {2, 0, 0, 0}.x;
  11366. MOV.S R20.w, R8.y;
  11367. I2F.S R8.y, R19;
  11368. MOV.S R23.z, R8.y;
  11369. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11370. TRUNC.U.CC HC.x, R8.y;
  11371. MOV.F R8.z, R20.y;
  11372. MOV.S R24.x, R8;
  11373. FLR.F R8.x, R8.z;
  11374. MOV.S R23.y, R8.x;
  11375. IF NE.x;
  11376. MOV.F R8.x, {1, 0, 0, 0};
  11377. ELSE;
  11378. MOV.F R8.x, {0, 0, 0, 0};
  11379. ENDIF;
  11380. MOV.F R8.y, R23.z;
  11381. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11382. TRUNC.U.CC HC.x, R8.y;
  11383. MOV.S R24.z, R8.x;
  11384. IF NE.x;
  11385. MOV.F R8.x, {1, 0, 0, 0};
  11386. ELSE;
  11387. MOV.F R8.x, {0, 0, 0, 0};
  11388. ENDIF;
  11389. MOV.F R8.y, R22.x;
  11390. TRUNC.S R8.y, R8;
  11391. MOV.F R8.z, R24;
  11392. ADD.F32 R8.x, R8, -R8.z;
  11393. MOV.S R20.y, R8;
  11394. ADD.S R22.x, -R8.y, {0, 0, 0, 0};
  11395. MOV.F R8.y, c[3].x;
  11396. MOV.S R19.y, R8.x;
  11397. SGT.F32 R8.x, R8.y, {0, 0, 0, 0};
  11398. TRUNC.U.CC HC.x, R8;
  11399. IF NE.x;
  11400. MOV.F R8.x, {1, 0, 0, 0};
  11401. ELSE;
  11402. MOV.F R8.x, {0, 0, 0, 0};
  11403. ENDIF;
  11404. MOV.F R8.y, c[3].x;
  11405. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11406. TRUNC.U.CC HC.x, R8.y;
  11407. MOV.S R21.z, R8.x;
  11408. IF NE.x;
  11409. MOV.F R8.x, {1, 0, 0, 0};
  11410. ELSE;
  11411. MOV.F R8.x, {0, 0, 0, 0};
  11412. ENDIF;
  11413. MOV.F R8.y, R24.x;
  11414. TRUNC.S R19.w, R8.y;
  11415. MOV.F R8.y, R19.z;
  11416. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11417. MOV.S R20.x, R8.y;
  11418. MOV.F R8.y, R12.x;
  11419. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11420. MOV.F R8.z, c[4].y;
  11421. MUL.F32 R8.y, R8, R8.z;
  11422. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  11423. TRUNC.U R8.w, R8;
  11424. TRUNC.U R8.z, R8;
  11425. AND.U.CC HC.x, R8.w, R8.z;
  11426. MOV.S R34.w, R20.y;
  11427. MOV.S R21.w, R8.x;
  11428. IF NE.x;
  11429. MOV.F R8.x, R8.y;
  11430. ELSE;
  11431. MOV.F R8.x, {0, 0, 0, 0};
  11432. ENDIF;
  11433. MOV.F R8.z, R21.y;
  11434. ADD.S R8.y, -R19.w, {0, 0, 0, 0}.x;
  11435. MAX.S R21.y, R19.w, R8;
  11436. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11437. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  11438. MOV.F R8.y, R20.z;
  11439. MOV.S R23.x, R8.z;
  11440. MOV.F R8.z, R21.x;
  11441. MOV.F R8.w, R19.y;
  11442. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11443. MUL.F32 R10.w, R8.z, {2, 0, 0, 0}.x;
  11444. TRUNC.S R21.x, R8.w;
  11445. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11446. TRUNC.U.CC HC.x, R8.y;
  11447. MOV.F R8.z, c[3].x;
  11448. MOV.F R8.w, R13;
  11449. DIV.F32 R8.z, R8.w, R8.z;
  11450. MAX.S R23.w, R34, R22.x;
  11451. MOV.S R19.w, R8.z;
  11452. MOV.S R19.z, R10.w;
  11453. MOV.S R20.y, R8.x;
  11454. IF NE.x;
  11455. MOV.F R8.x, {1, 0, 0, 0};
  11456. ELSE;
  11457. MOV.F R8.x, {0, 0, 0, 0};
  11458. ENDIF;
  11459. MOV.F R8.y, R20.z;
  11460. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11461. TRUNC.U.CC HC.x, R8.y;
  11462. MOV.S R19.x, R8;
  11463. IF NE.x;
  11464. MOV.F R8.y, {1, 0, 0, 0}.x;
  11465. ELSE;
  11466. MOV.F R8.y, {0, 0, 0, 0}.x;
  11467. ENDIF;
  11468. MOV.F R8.x, R20.w;
  11469. FLR.F R8.x, R8;
  11470. MOV.F R8.z, c[5].w;
  11471. MAX.F R8.z, R8, {0, 0, 0, 0}.x;
  11472. MOV.S R20.z, R8.x;
  11473. LG2.F32 R8.x, R8.z;
  11474. MUL.F32 R8.z, R8.x, {2, 0, 0, 0}.x;
  11475. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11476. SEQ.F R8.z, R8.x, R8;
  11477. TRUNC.U R8.w, R8;
  11478. TRUNC.U R8.z, R8;
  11479. AND.U R8.z, R8, R8.w;
  11480. SEQ.U R8.z, R8, {1, 0, 0, 0}.x;
  11481. MOV.U.CC RC.x, -R8.z;
  11482. ADD.S R20.w, -R21.x, {0, 0, 0, 0}.x;
  11483. MOV.S R19.y, R8;
  11484. IF NE.x;
  11485. MOV.F R8.x, {-3.40282347e+38, 0, 0, 0};
  11486. ENDIF;
  11487. MOV.F R8.z, R13.w;
  11488. MUL.F32 R8.y, R8.z, R8.x;
  11489. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11490. SNE.F32 R8.x, R8.z, {0, 0, 0, 0};
  11491. TRUNC.U R8.z, R8.w;
  11492. TRUNC.U R8.x, R8;
  11493. AND.U.CC HC.x, R8, R8.z;
  11494. MOV.S R34.w, R23.y;
  11495. IF NE.x;
  11496. MOV.F R8.x, R8.y;
  11497. ELSE;
  11498. MOV.F R8.x, {0, 0, 0, 0};
  11499. ENDIF;
  11500. MOV.F R8.z, R21.w;
  11501. MOV.F R8.y, R21.z;
  11502. ADD.F32 R8.y, R8, -R8.z;
  11503. MOV.S R23.y, R8;
  11504. MOV.F R8.y, R34.w;
  11505. SGT.F32 R8.y, {0, 0, 0, 0}.x, R8;
  11506. TRUNC.U.CC HC.x, R8.y;
  11507. MOV.S R8.x, R8;
  11508. IF NE.x;
  11509. MOV.F R8.y, {1, 0, 0, 0}.x;
  11510. ELSE;
  11511. MOV.F R8.y, {0, 0, 0, 0}.x;
  11512. ENDIF;
  11513. MOV.F R8.z, R34.w;
  11514. SGT.F32 R8.z, R8, {0, 0, 0, 0}.x;
  11515. TRUNC.U.CC HC.x, R8.z;
  11516. MOV.S R22.z, R8.y;
  11517. IF NE.x;
  11518. MOV.F R8.z, {1, 0, 0, 0}.x;
  11519. ELSE;
  11520. MOV.F R8.z, {0, 0, 0, 0}.x;
  11521. ENDIF;
  11522. MOV.F R8.w, R19;
  11523. MOV.F R8.y, R20;
  11524. ADD.F32 R8.y, R8, R8.w;
  11525. MOV.S R21.z, R8.y;
  11526. MOV.F R8.w, R19.z;
  11527. MOV.S R8.y, R19;
  11528. SNE.F32 R19.y, R8.w, {0, 0, 0, 0}.x;
  11529. MOV.F R10.w, c[6].x;
  11530. MUL.F32 R8.w, R8, R10;
  11531. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11532. TRUNC.U R19.y, R19;
  11533. TRUNC.U R10.w, R10;
  11534. AND.U.CC HC.x, R19.y, R10.w;
  11535. MOV.S R34.w, R21.x;
  11536. MOV.S R22.w, R8.z;
  11537. IF NE.x;
  11538. MOV.F R8.z, R8.w;
  11539. ELSE;
  11540. MOV.F R8.z, {0, 0, 0, 0}.x;
  11541. ENDIF;
  11542. MAX.S R19.z, R34.w, R20.w;
  11543. MOV.F R10.w, R22.z;
  11544. MOV.F R8.w, R22;
  11545. ADD.F32 R8.w, R8, -R10;
  11546. MOV.S R19.y, R8.w;
  11547. MOV.F R8.w, R19.x;
  11548. ADD.F32 R8.y, R8, -R8.w;
  11549. MOV.F R8.w, R23.x;
  11550. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11551. MOV.F R10.w, c[6].z;
  11552. MOV.S R20.w, R8.y;
  11553. MUL.F32 R8.y, R8.w, R10.w;
  11554. MOV.F R8.w, R31.x;
  11555. TRUNC.U R19.w, R19.x;
  11556. RCP.F32 R8.w, R8.w;
  11557. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11558. MOV.S R19.x, R8.w;
  11559. TRUNC.U R8.w, R10;
  11560. AND.U.CC HC.x, R19.w, R8.w;
  11561. MOV.S R34.w, R20.x;
  11562. MOV.S R21.x, R8.z;
  11563. IF NE.x;
  11564. ELSE;
  11565. MOV.F R8.y, {0, 0, 0, 0}.x;
  11566. ENDIF;
  11567. MOV.F R8.z, R34.w;
  11568. MOV.F R8.w, R20.z;
  11569. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11570. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  11571. SGT.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11572. TRUNC.U.CC HC.x, R8.w;
  11573. MOV.S R20.y, R8.z;
  11574. MOV.S R20.x, R8.y;
  11575. IF NE.x;
  11576. MOV.F R8.y, {1, 0, 0, 0}.x;
  11577. ELSE;
  11578. MOV.F R8.y, {0, 0, 0, 0}.x;
  11579. ENDIF;
  11580. MOV.F R8.z, R20;
  11581. SGT.F32 R8.z, {0, 0, 0, 0}.x, R8;
  11582. TRUNC.U.CC HC.x, R8.z;
  11583. MOV.S R22.z, R8.y;
  11584. IF NE.x;
  11585. MOV.F R8.y, {1, 0, 0, 0}.x;
  11586. ELSE;
  11587. MOV.F R8.y, {0, 0, 0, 0}.x;
  11588. ENDIF;
  11589. I2F.S R8.z, R23.w;
  11590. MOV.F R10.w, R22.z;
  11591. ADD.F32 R10.w, R10, -R8.y;
  11592. MUL.F32 R8.w, R8.z, {2, 0, 0, 0}.x;
  11593. MOV.F R19.w, R20;
  11594. MUL.F32 R8.z, -R8.w, R19.w;
  11595. MOV.S R23.x, R10.w;
  11596. SNE.F32 R10.w, R19, {0, 0, 0, 0}.x;
  11597. SNE.F32 R8.w, -R8, {0, 0, 0, 0}.x;
  11598. TRUNC.U R10.w, R10;
  11599. TRUNC.U R8.w, R8;
  11600. AND.U.CC HC.x, R8.w, R10.w;
  11601. MOV.S R34.w, R21.z;
  11602. MOV.S R8.y, R21;
  11603. IF NE.x;
  11604. ELSE;
  11605. MOV.F R8.z, {0, 0, 0, 0}.x;
  11606. ENDIF;
  11607. MOV.F R19.w, R19.y;
  11608. MOV.F R8.w, R23.y;
  11609. ADD.F32 R8.w, -R8, {1, 0, 0, 0}.x;
  11610. MOV.S R22.x, R8.w;
  11611. MOV.F R10.w, c[5].x;
  11612. MOV.F R8.w, R21.x;
  11613. ADD.F32 R8.w, R8, R10;
  11614. I2F.S R8.y, R8;
  11615. MUL.F32 R10.w, R8.y, {2, 0, 0, 0}.x;
  11616. MUL.F32 R8.y, -R10.w, R19.w;
  11617. MOV.S R19.y, R8.w;
  11618. MOV.F R8.w, c[5];
  11619. SNE.F32 R20.z, R19.w, {0, 0, 0, 0}.x;
  11620. ADD.F32 R19.w, -R8, {1, 0, 0, 0}.x;
  11621. MOV.S R21.z, R19.w;
  11622. TRUNC.U R8.w, R20.z;
  11623. MOV.F R19.w, R34;
  11624. MOV.S R21.y, R8.z;
  11625. FRC.F32 R8.z, R19.w;
  11626. SNE.F32 R10.w, -R10, {0, 0, 0, 0}.x;
  11627. MOV.S R20.w, R8.z;
  11628. TRUNC.U R8.z, R10.w;
  11629. AND.U.CC HC.x, R8.z, R8.w;
  11630. IF NE.x;
  11631. MOV.F R8.z, R8.y;
  11632. ELSE;
  11633. MOV.F R8.z, {0, 0, 0, 0}.x;
  11634. ENDIF;
  11635. MOV.F R8.w, R19.x;
  11636. MOV.F R8.y, R13.w;
  11637. MUL.F32 R8.y, R8, R8.w;
  11638. MOV.F R19.x, R22;
  11639. MUL.F32 R8.w, R8.y, R19.x;
  11640. MOV.S R10.w, R8.y;
  11641. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11642. TRUNC.U R19.w, R8.y;
  11643. EX2.F32 R8.x, R8.x;
  11644. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11645. TRUNC.U R19.x, R19;
  11646. AND.U.CC HC.x, R19.w, R19;
  11647. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  11648. MOV.S R8.y, R20.x;
  11649. MOV.S R20.x, R8;
  11650. MOV.S R34.w, R20.y;
  11651. MOV.S R8.x, R19.z;
  11652. MOV.S R20.z, R8;
  11653. IF NE.x;
  11654. MOV.F R8.z, R8.w;
  11655. ELSE;
  11656. MOV.F R8.z, {0, 0, 0, 0}.x;
  11657. ENDIF;
  11658. MOV.F R19.x, R34.w;
  11659. MOV.F R19.z, c[6].y;
  11660. MUL.F32 R8.w, R19.x, R19.z;
  11661. MOV.S R20.y, R8.z;
  11662. SNE.F32 R8.z, R19.x, {0, 0, 0, 0}.x;
  11663. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11664. TRUNC.U R19.x, R19.z;
  11665. TRUNC.U R8.z, R8;
  11666. AND.U.CC HC.x, R8.z, R19;
  11667. IF NE.x;
  11668. ELSE;
  11669. MOV.F R8.w, {0, 0, 0, 0}.x;
  11670. ENDIF;
  11671. MOV.F R19.z, R20.w;
  11672. MOV.F R19.x, R23.y;
  11673. MUL.F32 R8.z, R19.x, R19;
  11674. SNE.F32 R20.w, R19.z, {0, 0, 0, 0}.x;
  11675. MOV.F R19.w, R8.y;
  11676. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11677. MOV.F R19.z, c[5];
  11678. ADD.F32 R19.z, R19, R19.w;
  11679. I2F.S R8.x, R8;
  11680. MOV.S R23.w, R19.z;
  11681. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11682. TRUNC.U R19.x, R19;
  11683. TRUNC.U R20.w, R20;
  11684. AND.U.CC HC.x, R19, R20.w;
  11685. MOV.S R34.w, R23.x;
  11686. MOV.S R8.y, R21.z;
  11687. MOV.S R19.z, R8.w;
  11688. MOV.S R22.w, R8.x;
  11689. IF NE.x;
  11690. MOV.F R8.x, R8.z;
  11691. ELSE;
  11692. MOV.F R8.x, {0, 0, 0, 0};
  11693. ENDIF;
  11694. MOV.F R8.z, R12.x;
  11695. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11696. MOV.F R8.w, R12.z;
  11697. MOV.S R23.y, R8.z;
  11698. ADD.F32 R8.z, R8.w, {-0.5, 0, 0, 0}.x;
  11699. MOV.F R8.w, R22;
  11700. MOV.S R23.x, R8;
  11701. SNE.F32 R8.x, -R8.w, {0, 0, 0, 0};
  11702. MOV.F R19.x, R34.w;
  11703. MOV.S R21.z, R8;
  11704. MUL.F32 R8.z, -R8.w, R19.x;
  11705. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11706. TRUNC.U R8.w, R19.x;
  11707. TRUNC.U R8.x, R8;
  11708. AND.U.CC HC.x, R8, R8.w;
  11709. IF NE.x;
  11710. MOV.F R8.x, R8.z;
  11711. ELSE;
  11712. MOV.F R8.x, {0, 0, 0, 0};
  11713. ENDIF;
  11714. MOV.F R8.z, R8.y;
  11715. MOV.F R8.y, R20.x;
  11716. DIV.F32 R8.y, R8, R8.z;
  11717. MOV.S R20.x, R8.y;
  11718. MOV.F R19.x, R13;
  11719. MOV.F R19.w, R21.y;
  11720. MOV.F R8.w, R19.z;
  11721. MOV.F R8.y, c[5];
  11722. ADD.F32 R8.y, R8, R8.w;
  11723. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11724. MUL.F32 R8.z, R19.x, R19.w;
  11725. SNE.F32 R19.x, R19.w, {0, 0, 0, 0};
  11726. TRUNC.U R8.w, R8;
  11727. TRUNC.U R19.x, R19;
  11728. AND.U.CC HC.x, R8.w, R19;
  11729. MOV.S R8.y, R8;
  11730. MOV.S R20.w, R8.x;
  11731. IF NE.x;
  11732. MOV.F R8.x, R8.z;
  11733. ELSE;
  11734. MOV.F R8.x, {0, 0, 0, 0};
  11735. ENDIF;
  11736. MOV.F R19.x, R21.y;
  11737. MOV.F R8.w, R19.y;
  11738. MUL.F32 R8.z, R8.w, R19.x;
  11739. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11740. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11741. TRUNC.U R8.w, R8;
  11742. TRUNC.U R19.x, R19;
  11743. AND.U.CC HC.x, R8.w, R19;
  11744. MOV.S R24.z, R8.x;
  11745. IF NE.x;
  11746. MOV.F R8.x, R8.z;
  11747. ELSE;
  11748. MOV.F R8.x, {0, 0, 0, 0};
  11749. ENDIF;
  11750. MOV.F R19.x, R20.z;
  11751. MOV.F R8.w, R23;
  11752. MUL.F32 R8.z, R8.w, R19.x;
  11753. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11754. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11755. TRUNC.U R8.w, R8;
  11756. TRUNC.U R19.x, R19;
  11757. AND.U.CC HC.x, R8.w, R19;
  11758. MOV.S R24.w, R8.x;
  11759. IF NE.x;
  11760. MOV.F R8.x, R8.z;
  11761. ELSE;
  11762. MOV.F R8.x, {0, 0, 0, 0};
  11763. ENDIF;
  11764. MOV.F R8.z, c[5].w;
  11765. SEQ.F R8.z, R8, {1, 0, 0, 0}.x;
  11766. TRUNC.U.CC HC.x, R8.z;
  11767. MOV.S R34.w, R19.y;
  11768. MOV.S R21.y, R8.x;
  11769. IF NE.x;
  11770. MOV.S R8.x, {-1, 0, 0, 0};
  11771. ELSE;
  11772. MOV.S R8.x, {0, 0, 0, 0};
  11773. ENDIF;
  11774. MOV.F R19.x, R13.z;
  11775. MOV.F R8.w, R23.x;
  11776. MOV.F R8.z, R20.y;
  11777. ADD.F32 R8.z, R8, R8.w;
  11778. MOV.S R19.y, R8.z;
  11779. MOV.F R8.z, R34.w;
  11780. MOV.F R8.w, R24;
  11781. ADD.F32 R8.w, R8.z, R8;
  11782. MOV.F R19.z, R20;
  11783. MUL.F32 R8.z, R19.x, R19;
  11784. MOV.S R23.z, R8.w;
  11785. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11786. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11787. TRUNC.U R19.x, R19.z;
  11788. TRUNC.U R8.w, R8;
  11789. AND.U.CC HC.x, R8.w, R19;
  11790. IF NE.x;
  11791. ELSE;
  11792. MOV.F R8.z, {0, 0, 0, 0}.x;
  11793. ENDIF;
  11794. MOV.F R8.w, R13.x;
  11795. MOV.F R19.x, R24.z;
  11796. ADD.F32 R8.w, R8, R19.x;
  11797. MOV.S R23.x, R8.w;
  11798. SEQ.S R8.x, R8, {0, 0, 0, 0};
  11799. MOV.U.CC RC.x, -R8;
  11800. MOV.S R8.z, R8;
  11801. MOV.F R13.x, R21.y;
  11802. MOV.F R8.w, R23;
  11803. ADD.F32 R8.w, R8, R13.x;
  11804. MOV.S R34.w, R20.x;
  11805. MOV.S R20.x, R8.w;
  11806. MOV.F R8.w, R8.z;
  11807. MOV.F R8.z, R13;
  11808. ADD.F32 R8.z, R8, R8.w;
  11809. MOV.S R20.z, R8;
  11810. MOV.F R8.w, c[8];
  11811. MOV.F R8.z, c[7].w;
  11812. ADD.F32 R8.z, -R8, R8.w;
  11813. MOV.S R24.y, R8.z;
  11814. IF NE.x;
  11815. MOV.S R8.x, R34.w;
  11816. ELSE;
  11817. MOV.S R8.x, R13.w;
  11818. ENDIF;
  11819. MOV.F R8.z, R12.y;
  11820. ADD.F32 R8.w, R8.z, {-0.5, 0, 0, 0}.x;
  11821. MOV.F R13.x, R13.y;
  11822. MOV.F R13.z, R20.w;
  11823. MUL.F32 R8.z, R13.x, R13;
  11824. MOV.S R19.z, R8.w;
  11825. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  11826. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11827. TRUNC.U R13.x, R13.z;
  11828. TRUNC.U R8.w, R8;
  11829. AND.U.CC HC.x, R8.w, R13;
  11830. IF NE.x;
  11831. ELSE;
  11832. MOV.F R8.z, {0, 0, 0, 0}.x;
  11833. ENDIF;
  11834. MOV.F R13.z, c[9].x;
  11835. MOV.F R13.x, R23.y;
  11836. MUL.F32 R8.w, R13.x, R13.z;
  11837. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11838. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11839. TRUNC.U R13.x, R13;
  11840. TRUNC.U R13.z, R13;
  11841. AND.U.CC HC.x, R13, R13.z;
  11842. MOV.S R22.x, R8.z;
  11843. IF NE.x;
  11844. MOV.F R8.z, R8.w;
  11845. ELSE;
  11846. MOV.F R8.z, {0, 0, 0, 0}.x;
  11847. ENDIF;
  11848. MOV.F R13.z, R20.w;
  11849. MOV.F R13.x, R8.y;
  11850. MUL.F32 R8.w, R13.x, R13.z;
  11851. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11852. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11853. TRUNC.U R13.x, R13;
  11854. TRUNC.U R13.z, R13;
  11855. AND.U.CC HC.x, R13, R13.z;
  11856. MOV.S R22.y, R8.z;
  11857. IF NE.x;
  11858. MOV.F R8.z, R8.w;
  11859. ELSE;
  11860. MOV.F R8.z, {0, 0, 0, 0}.x;
  11861. ENDIF;
  11862. MOV.F R13.z, c[9];
  11863. MOV.F R13.x, R21.z;
  11864. MUL.F32 R8.w, R13.x, R13.z;
  11865. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11866. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11867. TRUNC.U R13.x, R13;
  11868. TRUNC.U R13.z, R13;
  11869. AND.U.CC HC.x, R13, R13.z;
  11870. MOV.S R22.z, R8;
  11871. IF NE.x;
  11872. MOV.F R8.z, R8.w;
  11873. ELSE;
  11874. MOV.F R8.z, {0, 0, 0, 0}.x;
  11875. ENDIF;
  11876. MOV.F R8.w, R22.z;
  11877. ADD.F32 R13.x, R8.y, R8.w;
  11878. MOV.F R8.w, R22.y;
  11879. MOV.F R8.y, R23.x;
  11880. ADD.F32 R8.y, R8, R8.w;
  11881. MOV.S R23.x, R8.y;
  11882. MOV.F R8.y, R13;
  11883. MOV.F R8.w, R22.x;
  11884. ADD.F32 R8.w, R8.y, R8;
  11885. MOV.F R8.y, R24;
  11886. RCP.F32 R8.y, R8.y;
  11887. MOV.S R20.w, R8;
  11888. MOV.F R8.w, R20.z;
  11889. MOV.S R27.y, R8;
  11890. ADD.F32 R8.y, R8.w, R8.z;
  11891. MOV.F R8.z, R8.x;
  11892. MOV.S R20.z, R8.y;
  11893. MOV.F R8.y, R23.z;
  11894. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11895. MOV.S R23.y, R13.x;
  11896. TRUNC.U R13.x, R8.w;
  11897. SNE.F32 R13.y, R8.z, {0, 0, 0, 0}.x;
  11898. MUL.F32 R8.y, R8, R8.z;
  11899. MOV.F R8.w, c[8].z;
  11900. MOV.F R8.z, c[7];
  11901. ADD.F32 R8.z, -R8, R8.w;
  11902. TRUNC.U R8.w, R13.y;
  11903. AND.U.CC HC.x, R13, R8.w;
  11904. MOV.S R22.w, R8.z;
  11905. IF NE.x;
  11906. ELSE;
  11907. MOV.F R8.y, {0, 0, 0, 0}.x;
  11908. ENDIF;
  11909. MOV.F R13.x, R8;
  11910. MOV.F R8.w, R20.x;
  11911. MUL.F32 R8.z, R8.w, R13.x;
  11912. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11913. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11914. TRUNC.U R8.w, R8;
  11915. TRUNC.U R13.x, R13;
  11916. AND.U.CC HC.x, R8.w, R13;
  11917. MOV.S R22.x, R8.y;
  11918. IF NE.x;
  11919. MOV.F R8.y, R8.z;
  11920. ELSE;
  11921. MOV.F R8.y, {0, 0, 0, 0}.x;
  11922. ENDIF;
  11923. MOV.F R8.w, c[8];
  11924. MOV.F R8.z, R19.y;
  11925. ADD.F32 R8.z, R8, -R8.w;
  11926. MOV.F R13.x, c[9].y;
  11927. MOV.F R8.w, R19.z;
  11928. MOV.S R22.z, R8;
  11929. MUL.F32 R8.z, R8.w, R13.x;
  11930. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11931. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11932. TRUNC.U R8.w, R8;
  11933. TRUNC.U R13.x, R13;
  11934. AND.U.CC HC.x, R8.w, R13;
  11935. MOV.S R22.y, R8;
  11936. IF NE.x;
  11937. MOV.F R8.y, R8.z;
  11938. ELSE;
  11939. MOV.F R8.y, {0, 0, 0, 0}.x;
  11940. ENDIF;
  11941. MOV.F R8.w, R22.y;
  11942. MOV.F R8.z, R20;
  11943. ADD.F32 R8.z, R8, R8.w;
  11944. MOV.S R13.y, R8.z;
  11945. MOV.F R8.w, R22.x;
  11946. MOV.F R8.z, R23.x;
  11947. ADD.F32 R13.x, R8.z, R8.w;
  11948. MOV.F R8.w, R27.y;
  11949. MOV.F R8.z, R22.w;
  11950. MUL.F32 R8.z, R8, R8.w;
  11951. MOV.S R19.z, R8;
  11952. MOV.F R8.w, c[7];
  11953. MOV.F R8.z, R19.y;
  11954. ADD.F32 R8.z, R8, -R8.w;
  11955. MOV.F R8.w, R20;
  11956. ADD.F32 R8.y, R8.w, R8;
  11957. MOV.S R13.z, R8.y;
  11958. MOV.F R8.y, R22.z;
  11959. SGE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11960. TRUNC.U.CC HC.x, R8.y;
  11961. MOV.S R25.w, R13.x;
  11962. MOV.S R27.x, R8.z;
  11963. IF NE.x;
  11964. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  11965. ELSE;
  11966. MOV.S R8.y, {0, 0, 0, 0}.x;
  11967. ENDIF;
  11968. MOV.F R8.z, R23.y;
  11969. MOV.F R13.x, R8;
  11970. SNE.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  11971. MUL.F32 R8.x, R8.z, R13;
  11972. TRUNC.U R19.x, R8.w;
  11973. MOV.F R8.w, c[8].x;
  11974. MOV.F R8.z, c[7].x;
  11975. ADD.F32 R8.z, -R8, R8.w;
  11976. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  11977. MOV.S R13.x, R8.z;
  11978. TRUNC.U R8.z, R8.w;
  11979. AND.U.CC HC.x, R19, R8.z;
  11980. MOV.S R31.y, R8;
  11981. IF NE.x;
  11982. ELSE;
  11983. MOV.F R8.x, {0, 0, 0, 0};
  11984. ENDIF;
  11985. MOV.F R8.w, R19.z;
  11986. MOV.F R8.y, R27.x;
  11987. MUL.F32 R8.z, R8.y, R8.w;
  11988. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11989. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11990. TRUNC.U R8.w, R8.y;
  11991. TRUNC.U R19.x, R19;
  11992. AND.U.CC HC.x, R8.w, R19;
  11993. MOV.S R8.y, R8.x;
  11994. IF NE.x;
  11995. MOV.F R8.x, R8.z;
  11996. ELSE;
  11997. MOV.F R8.x, {0, 0, 0, 0};
  11998. ENDIF;
  11999. MOV.F R19.x, R27;
  12000. SGE.F32 R19.x, R19, {0, 0, 0, 0};
  12001. TRUNC.U.CC HC.x, R19;
  12002. MOV.F R8.w, c[8].y;
  12003. MOV.F R8.z, c[7].y;
  12004. ADD.F32 R8.z, -R8, R8.w;
  12005. MOV.S R8.w, R8.z;
  12006. MOV.S R8.z, R8.x;
  12007. IF NE.x;
  12008. MOV.S R8.x, {1065353216, 0, 0, 0};
  12009. ELSE;
  12010. MOV.S R8.x, {0, 0, 0, 0};
  12011. ENDIF;
  12012. ENDIF;
  12013. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  12014. MOV.U.CC RC.x, -R19;
  12015. IF NE.x;
  12016. MOV.F R2.y, R27;
  12017. MOV.F R2.x, R8.w;
  12018. MUL.F32 R2.x, R2, R2.y;
  12019. MOV.F R2.w, R13.x;
  12020. MUL.F32 R2.y, R2, R2.w;
  12021. MOV.S R24.x, R2;
  12022. MOV.S R20.w, R2.y;
  12023. MOV.F R2.z, R8.y;
  12024. MOV.F R2.x, R13.z;
  12025. ADD.F32 R2.x, R2, R2.z;
  12026. MOV.S R19.z, R2.x;
  12027. MOV.F R2.z, R8.x;
  12028. MOV.F R2.x, c[7].z;
  12029. MOV.F R2.y, R8.z;
  12030. ADD.F32 R2.y, R2.x, R2;
  12031. MOV.F R2.x, R25.w;
  12032. MAD.F32 R2.x, R2, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  12033. MOV.S R23.y, R2;
  12034. MOV.F R2.y, R13;
  12035. MOV.S R23.w, R2.x;
  12036. MAD.F32 R2.x, R2.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  12037. MOV.F R2.y, R31;
  12038. MOV.S R26.x, R2;
  12039. ADD.F32 R2.x, -R2.y, {1, 0, 0, 0};
  12040. SNE.F32 R2.w, -R2.y, {-1, 0, 0, 0}.x;
  12041. SNE.F32 R2.y, R2.z, {0, 0, 0, 0}.x;
  12042. MUL.F32 R2.x, R2.z, R2;
  12043. TRUNC.U R2.z, R2.w;
  12044. TRUNC.U R2.y, R2;
  12045. AND.U.CC HC.x, R2.y, R2.z;
  12046. IF NE.x;
  12047. ELSE;
  12048. MOV.F R2.x, {0, 0, 0, 0};
  12049. ENDIF;
  12050. MOV.F R2.w, R24.x;
  12051. MOV.F R2.z, R27.x;
  12052. MUL.F32 R2.y, R2.z, R2.w;
  12053. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12054. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12055. TRUNC.U R2.z, R2;
  12056. TRUNC.U R2.w, R2;
  12057. AND.U.CC HC.x, R2.z, R2.w;
  12058. MOV.S R23.z, R2.x;
  12059. IF NE.x;
  12060. MOV.F R2.x, R2.y;
  12061. ELSE;
  12062. MOV.F R2.x, {0, 0, 0, 0};
  12063. ENDIF;
  12064. MOV.F R2.z, R8.x;
  12065. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  12066. MOV.F R8.y, R20.w;
  12067. MOV.F R8.x, R27;
  12068. MOV.F R2.w, R26.x;
  12069. MOV.S R19.w, R2.z;
  12070. FRC.F32 R2.z, R2.w;
  12071. MOV.S R24.x, R2.z;
  12072. SNE.F32 R2.z, R8.x, {0, 0, 0, 0}.x;
  12073. SNE.F32 R2.w, R8.y, {0, 0, 0, 0}.x;
  12074. TRUNC.U R2.z, R2;
  12075. TRUNC.U R2.w, R2;
  12076. AND.U.CC HC.x, R2.z, R2.w;
  12077. MUL.F32 R2.y, R8.x, R8;
  12078. MOV.S R22.w, R2.x;
  12079. IF NE.x;
  12080. MOV.F R2.x, R2.y;
  12081. ELSE;
  12082. MOV.F R2.x, {0, 0, 0, 0};
  12083. ENDIF;
  12084. MOV.F R2.w, R19;
  12085. MOV.F R2.y, R19.z;
  12086. MAD.F32 R2.y, R2, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  12087. MOV.F R2.z, R23.w;
  12088. FRC.F32 R2.z, R2;
  12089. MOV.S R26.z, R2.y;
  12090. MOV.S R24.w, R2.z;
  12091. MOV.F R2.z, R22.w;
  12092. MOV.F R2.y, c[7];
  12093. ADD.F32 R2.y, R2, R2.z;
  12094. MOV.F R2.z, c[7];
  12095. MOV.S R21.y, R2;
  12096. MUL.F32 R2.y, R2.z, R2.w;
  12097. SNE.F32 R8.x, R2.w, {0, 0, 0, 0};
  12098. TRUNC.U R2.w, R8.x;
  12099. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12100. MOV.S R19.y, R2.x;
  12101. TRUNC.U R2.x, R2.z;
  12102. AND.U.CC HC.x, R2, R2.w;
  12103. IF NE.x;
  12104. MOV.F R2.x, R2.y;
  12105. ELSE;
  12106. MOV.F R2.x, {0, 0, 0, 0};
  12107. ENDIF;
  12108. MOV.F R2.w, R23.z;
  12109. MOV.F R2.z, R23.y;
  12110. MUL.F32 R2.y, R2.z, R2.w;
  12111. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12112. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12113. TRUNC.U R2.z, R2;
  12114. TRUNC.U R2.w, R2;
  12115. AND.U.CC HC.x, R2.z, R2.w;
  12116. MOV.S R22.x, R2;
  12117. IF NE.x;
  12118. MOV.F R2.x, R2.y;
  12119. ELSE;
  12120. MOV.F R2.x, {0, 0, 0, 0};
  12121. ENDIF;
  12122. MOV.F R2.y, R24.w;
  12123. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12124. MOV.S R19.z, R2.y;
  12125. MOV.F R2.y, R24.x;
  12126. MAD.F32 R2.z, R2.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  12127. MOV.F R2.y, R26.z;
  12128. FRC.F32 R2.y, R2;
  12129. MOV.S R20.z, R2;
  12130. MOV.S R20.w, R2.y;
  12131. MOV.F R2.w, R19.y;
  12132. MOV.F R2.z, c[7].x;
  12133. ADD.F32 R2.z, R2, R2.w;
  12134. MOV.F R2.y, R31;
  12135. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12136. MOV.S R23.x, R2.z;
  12137. MOV.F R2.z, c[8];
  12138. MUL.F32 R2.y, R2.z, R2;
  12139. TRUNC.U R2.w, R2;
  12140. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12141. MOV.S R22.y, R2.x;
  12142. TRUNC.U R2.x, R2.z;
  12143. AND.U.CC HC.x, R2, R2.w;
  12144. IF NE.x;
  12145. MOV.F R2.x, R2.y;
  12146. ELSE;
  12147. MOV.F R2.x, {0, 0, 0, 0};
  12148. ENDIF;
  12149. MOV.F R2.z, R22.x;
  12150. MOV.F R2.y, R22;
  12151. ADD.F32 R2.y, R2, R2.z;
  12152. MOV.F R2.w, R23.z;
  12153. MOV.F R2.z, R21.y;
  12154. MOV.S R24.z, R2.y;
  12155. MUL.F32 R2.y, R2.z, R2.w;
  12156. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12157. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12158. TRUNC.U R2.z, R2;
  12159. TRUNC.U R2.w, R2;
  12160. AND.U.CC HC.x, R2.z, R2.w;
  12161. MOV.S R24.y, R2.x;
  12162. IF NE.x;
  12163. MOV.F R2.x, R2.y;
  12164. ELSE;
  12165. MOV.F R2.x, {0, 0, 0, 0};
  12166. ENDIF;
  12167. MOV.F R2.y, R19.w;
  12168. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12169. MOV.F R2.z, c[7].y;
  12170. MUL.F32 R2.y, R2.z, R2;
  12171. TRUNC.U R2.w, R2;
  12172. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12173. MOV.S R24.w, R2.x;
  12174. TRUNC.U R2.x, R2.z;
  12175. AND.U.CC HC.x, R2, R2.w;
  12176. IF NE.x;
  12177. MOV.F R2.x, R2.y;
  12178. ELSE;
  12179. MOV.F R2.x, {0, 0, 0, 0};
  12180. ENDIF;
  12181. MOV.F R2.z, R24;
  12182. MOV.F R2.y, R24;
  12183. ADD.F32 R2.y, R2, R2.z;
  12184. MOV.F R2.z, R24.w;
  12185. ADD.F32 R2.x, R2.z, R2;
  12186. MOV.S R19.x, R2.y;
  12187. MOV.F R2.y, R20.w;
  12188. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12189. MOV.S R20.w, R2.x;
  12190. MOV.F R2.x, R19.z;
  12191. MUL.F32 R2.x, R2, {0.159154937, 0, 0, 0};
  12192. MOV.S R20.x, R2.y;
  12193. MOV.F R2.y, R20.z;
  12194. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12195. MOV.S R19.z, R2.y;
  12196. MOV.F R2.z, R31.y;
  12197. MOV.F R2.y, c[8];
  12198. MOV.S R19.y, R2.x;
  12199. MUL.F32 R2.x, R2.y, R2.z;
  12200. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12201. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12202. TRUNC.U R2.z, R2;
  12203. TRUNC.U R2.y, R2;
  12204. AND.U.CC HC.x, R2.y, R2.z;
  12205. IF NE.x;
  12206. ELSE;
  12207. MOV.F R2.x, {0, 0, 0, 0};
  12208. ENDIF;
  12209. MOV.F R2.w, R23.z;
  12210. MOV.F R2.z, R23.x;
  12211. MUL.F32 R2.y, R2.z, R2.w;
  12212. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12213. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12214. TRUNC.U R2.z, R2;
  12215. TRUNC.U R2.w, R2;
  12216. AND.U.CC HC.x, R2.z, R2.w;
  12217. MOV.S R24.x, R2;
  12218. IF NE.x;
  12219. MOV.F R2.x, R2.y;
  12220. ELSE;
  12221. MOV.F R2.x, {0, 0, 0, 0};
  12222. ENDIF;
  12223. MOV.F R2.y, R12.x;
  12224. MAX.F R2.y, R2, {0, 0, 0, 0}.x;
  12225. MOV.S R23.z, R2.y;
  12226. MOV.F R2.y, R19.w;
  12227. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12228. MOV.F R2.z, c[7].x;
  12229. MUL.F32 R2.y, R2.z, R2;
  12230. TRUNC.U R2.w, R2;
  12231. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12232. MOV.S R24.y, R2.x;
  12233. TRUNC.U R2.x, R2.z;
  12234. AND.U.CC HC.x, R2, R2.w;
  12235. IF NE.x;
  12236. MOV.F R2.x, R2.y;
  12237. ELSE;
  12238. MOV.F R2.x, {0, 0, 0, 0};
  12239. ENDIF;
  12240. MOV.F R2.y, R19;
  12241. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12242. COS.F32 R2.y, R2.y;
  12243. MOV.S R23.w, R2.y;
  12244. MOV.F R2.y, R24;
  12245. ADD.F32 R2.x, R2.y, R2;
  12246. MOV.F R2.y, R30.z;
  12247. MOV.F R2.w, R20;
  12248. MOV.F R2.z, R24.x;
  12249. ADD.F32 R2.z, R2, R2.w;
  12250. MOV.S R22.y, R2.z;
  12251. MOV.F R2.z, R19.x;
  12252. MOV.S R19.x, R2;
  12253. MUL.F32 R2.x, R2.y, R2.z;
  12254. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12255. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12256. TRUNC.U R2.z, R2;
  12257. TRUNC.U R2.y, R2;
  12258. AND.U.CC HC.x, R2.y, R2.z;
  12259. IF NE.x;
  12260. ELSE;
  12261. MOV.F R2.x, {0, 0, 0, 0};
  12262. ENDIF;
  12263. MOV.F R2.z, R19;
  12264. MOV.F R2.y, R20.x;
  12265. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12266. MUL.F32 R2.z, R2, {6.28318548, 0, 0, 0}.x;
  12267. SIN.F32 R2.z, R2.z;
  12268. MOV.S R21.x, R2.z;
  12269. MOV.F R2.w, R22.y;
  12270. MOV.F R2.z, R30.y;
  12271. MOV.S R20.w, R2.y;
  12272. MUL.F32 R2.y, R2.z, R2.w;
  12273. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12274. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12275. TRUNC.U R2.w, R2;
  12276. TRUNC.U R2.z, R2;
  12277. AND.U.CC HC.x, R2.z, R2.w;
  12278. MOV.S R34.w, R19.z;
  12279. MOV.S R20.z, R2.x;
  12280. IF NE.x;
  12281. MOV.F R2.x, R2.y;
  12282. ELSE;
  12283. MOV.F R2.x, {0, 0, 0, 0};
  12284. ENDIF;
  12285. MOV.F R2.z, R23;
  12286. MIN.F R2.z, R2, {0, 0, 0, 0}.x;
  12287. MOV.F R2.w, R23;
  12288. MOV.F R8.x, R21;
  12289. MOV.S R24.y, R2.z;
  12290. SNE.F32 R2.z, R2.w, {0, 0, 0, 0}.x;
  12291. MUL.F32 R2.y, R2.w, R8.x;
  12292. SNE.F32 R2.w, R8.x, {0, 0, 0, 0}.x;
  12293. TRUNC.U R2.z, R2;
  12294. TRUNC.U R2.w, R2;
  12295. AND.U.CC HC.x, R2.z, R2.w;
  12296. MOV.S R20.x, R2;
  12297. IF NE.x;
  12298. MOV.F R2.x, R2.y;
  12299. ELSE;
  12300. MOV.F R2.x, {0, 0, 0, 0};
  12301. ENDIF;
  12302. MOV.F R2.y, R31;
  12303. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12304. MOV.F R2.z, c[8].x;
  12305. MUL.F32 R2.y, R2.z, R2;
  12306. TRUNC.U R2.w, R2;
  12307. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12308. MOV.S R19.z, R2.x;
  12309. TRUNC.U R2.x, R2.z;
  12310. AND.U.CC HC.x, R2, R2.w;
  12311. IF NE.x;
  12312. MOV.F R2.x, R2.y;
  12313. ELSE;
  12314. MOV.F R2.x, {0, 0, 0, 0};
  12315. ENDIF;
  12316. MOV.F R2.y, R34.w;
  12317. MOV.F R2.w, R24.y;
  12318. MOV.F R2.z, R30.x;
  12319. ADD.F32 R2.z, R2, R2.w;
  12320. MOV.F R2.w, R23;
  12321. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12322. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12323. MOV.S R8.x, R2.z;
  12324. COS.F32 R2.z, R2.y;
  12325. MUL.F32 R2.y, R2.z, R2.w;
  12326. TRUNC.U R2.w, R8.y;
  12327. SNE.F32 R8.y, R2.z, {0, 0, 0, 0}.x;
  12328. MOV.S R24.w, R2.x;
  12329. TRUNC.U R2.x, R8.y;
  12330. AND.U.CC HC.x, R2.w, R2;
  12331. MOV.S R34.w, R19.y;
  12332. MOV.S R21.w, R2.z;
  12333. IF NE.x;
  12334. MOV.F R2.x, R2.y;
  12335. ELSE;
  12336. MOV.F R2.x, {0, 0, 0, 0};
  12337. ENDIF;
  12338. MOV.F R2.z, R19.x;
  12339. MOV.F R2.y, R24.w;
  12340. ADD.F32 R2.y, R2, R2.z;
  12341. MOV.F R2.w, c[10];
  12342. MOV.F R2.z, R20;
  12343. MOV.S R22.z, R2.y;
  12344. MUL.F32 R2.y, R2.z, R2.w;
  12345. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12346. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12347. TRUNC.U R2.z, R2;
  12348. TRUNC.U R2.w, R2;
  12349. AND.U.CC HC.x, R2.z, R2.w;
  12350. MOV.S R19.y, R2.x;
  12351. IF NE.x;
  12352. MOV.F R2.x, R2.y;
  12353. ELSE;
  12354. MOV.F R2.x, {0, 0, 0, 0};
  12355. ENDIF;
  12356. MOV.F R2.w, R21.x;
  12357. MOV.F R2.y, R34.w;
  12358. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12359. SIN.F32 R2.z, R2.y;
  12360. MOV.S R22.w, R2.x;
  12361. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  12362. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12363. MUL.F32 R2.y, R2.z, R2.w;
  12364. TRUNC.U R2.w, R8.y;
  12365. TRUNC.U R2.x, R2;
  12366. AND.U.CC HC.x, R2, R2.w;
  12367. MOV.S R23.x, R2.z;
  12368. IF NE.x;
  12369. MOV.F R2.x, R2.y;
  12370. ELSE;
  12371. MOV.F R2.x, {0, 0, 0, 0};
  12372. ENDIF;
  12373. MOV.F R2.w, R22;
  12374. MOV.F R2.z, R32;
  12375. MUL.F32 R2.y, R2.z, R2.w;
  12376. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12377. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12378. TRUNC.U R2.w, R2;
  12379. TRUNC.U R2.z, R2;
  12380. AND.U.CC HC.x, R2.z, R2.w;
  12381. MOV.S R19.x, R2;
  12382. IF NE.x;
  12383. MOV.F R2.x, R2.y;
  12384. ELSE;
  12385. MOV.F R2.x, {0, 0, 0, 0};
  12386. ENDIF;
  12387. MOV.F R2.w, R22.z;
  12388. MOV.F R2.z, R8.x;
  12389. MUL.F32 R2.y, R2.z, R2.w;
  12390. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12391. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12392. TRUNC.U R2.z, R2;
  12393. TRUNC.U R2.w, R2;
  12394. AND.U.CC HC.x, R2.z, R2.w;
  12395. MOV.S R21.y, R2.x;
  12396. IF NE.x;
  12397. MOV.F R2.x, R2.y;
  12398. ELSE;
  12399. MOV.F R2.x, {0, 0, 0, 0};
  12400. ENDIF;
  12401. MOV.F R2.w, R21;
  12402. MOV.F R2.z, R23.x;
  12403. MUL.F32 R2.y, R2.z, R2.w;
  12404. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12405. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12406. TRUNC.U R2.z, R2;
  12407. TRUNC.U R2.w, R2;
  12408. AND.U.CC HC.x, R2.z, R2.w;
  12409. MOV.S R20.z, R2.x;
  12410. IF NE.x;
  12411. MOV.F R2.x, R2.y;
  12412. ELSE;
  12413. MOV.F R2.x, {0, 0, 0, 0};
  12414. ENDIF;
  12415. MOV.F R2.y, R20.w;
  12416. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12417. SIN.F32 R2.z, R2.y;
  12418. MOV.F R2.w, R19.z;
  12419. MUL.F32 R2.y, R2.z, R2.w;
  12420. MOV.S R23.z, R2;
  12421. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12422. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12423. TRUNC.U R2.z, R2;
  12424. TRUNC.U R2.w, R2;
  12425. AND.U.CC HC.x, R2.z, R2.w;
  12426. MOV.S R19.w, R2.x;
  12427. IF NE.x;
  12428. MOV.F R2.x, R2.y;
  12429. ELSE;
  12430. MOV.F R2.x, {0, 0, 0, 0};
  12431. ENDIF;
  12432. MOV.F R2.w, c[10].z;
  12433. MOV.F R2.z, R20.x;
  12434. MUL.F32 R2.y, R2.z, R2.w;
  12435. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12436. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12437. TRUNC.U R2.z, R2;
  12438. TRUNC.U R2.w, R2;
  12439. AND.U.CC HC.x, R2.z, R2.w;
  12440. MOV.S R22.x, R2;
  12441. IF NE.x;
  12442. MOV.F R2.x, R2.y;
  12443. ELSE;
  12444. MOV.F R2.x, {0, 0, 0, 0};
  12445. ENDIF;
  12446. MOV.F R2.w, R19.y;
  12447. MOV.F R2.z, R23;
  12448. MUL.F32 R2.y, R2.z, R2.w;
  12449. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12450. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12451. TRUNC.U R2.z, R2;
  12452. TRUNC.U R2.w, R2;
  12453. AND.U.CC HC.x, R2.z, R2.w;
  12454. MOV.S R31.y, R2.x;
  12455. IF NE.x;
  12456. MOV.F R2.x, R2.y;
  12457. ELSE;
  12458. MOV.F R2.x, {0, 0, 0, 0};
  12459. ENDIF;
  12460. MOV.F R2.w, R19;
  12461. MOV.F R2.z, R23;
  12462. MUL.F32 R2.y, R2.z, R2.w;
  12463. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12464. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12465. TRUNC.U R2.z, R2;
  12466. TRUNC.U R2.w, R2;
  12467. AND.U.CC HC.x, R2.z, R2.w;
  12468. MOV.S R22.z, R2.x;
  12469. IF NE.x;
  12470. MOV.F R2.x, R2.y;
  12471. ELSE;
  12472. MOV.F R2.x, {0, 0, 0, 0};
  12473. ENDIF;
  12474. MOV.F R2.w, R19.x;
  12475. MOV.F R2.y, R22.z;
  12476. ADD.F32 R2.y, R2.w, R2;
  12477. MOV.S R8.x, R2.y;
  12478. MOV.F R2.y, R20.w;
  12479. MUL.F32 R2.z, R2.y, {6.28318548, 0, 0, 0}.x;
  12480. MOV.F R8.y, R23.z;
  12481. COS.F32 R2.z, R2.z;
  12482. MUL.F32 R2.y, R2.w, R8;
  12483. MOV.S R23.y, R2.z;
  12484. SNE.F32 R2.z, R8.y, {0, 0, 0, 0}.x;
  12485. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12486. TRUNC.U R2.z, R2;
  12487. TRUNC.U R2.w, R2;
  12488. AND.U.CC HC.x, R2.z, R2.w;
  12489. MOV.S R22.w, R2.x;
  12490. IF NE.x;
  12491. MOV.F R2.x, R2.y;
  12492. ELSE;
  12493. MOV.F R2.x, {0, 0, 0, 0};
  12494. ENDIF;
  12495. MOV.F R2.w, R23.y;
  12496. MOV.F R2.z, R23.w;
  12497. MUL.F32 R2.y, R2.z, R2.w;
  12498. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12499. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12500. TRUNC.U R2.z, R2;
  12501. TRUNC.U R2.w, R2;
  12502. AND.U.CC HC.x, R2.z, R2.w;
  12503. MOV.S R24.y, R2.x;
  12504. IF NE.x;
  12505. MOV.F R2.x, R2.y;
  12506. ELSE;
  12507. MOV.F R2.x, {0, 0, 0, 0};
  12508. ENDIF;
  12509. MOV.F R2.z, R24.y;
  12510. MOV.F R2.y, R19;
  12511. ADD.F32 R2.y, R2, R2.z;
  12512. MOV.S R27.x, R2.y;
  12513. MOV.F R2.z, R22.x;
  12514. MOV.F R2.y, R19.w;
  12515. ADD.F32 R2.y, -R2, R2.z;
  12516. MOV.S R17.w, R2.y;
  12517. MOV.F R2.w, R22;
  12518. MOV.F R2.z, R19;
  12519. ADD.F32 R2.z, -R2, R2.w;
  12520. MOV.F R2.y, R20.z;
  12521. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12522. MOV.S R31.z, R2;
  12523. MOV.F R2.z, c[10].y;
  12524. MUL.F32 R2.y, R2, R2.z;
  12525. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12526. TRUNC.U R2.w, R2;
  12527. TRUNC.U R2.z, R2;
  12528. AND.U.CC HC.x, R2.w, R2.z;
  12529. MOV.S R27.z, R2.x;
  12530. IF NE.x;
  12531. MOV.F R2.x, R2.y;
  12532. ELSE;
  12533. MOV.F R2.x, {0, 0, 0, 0};
  12534. ENDIF;
  12535. MOV.F R2.w, R21.y;
  12536. MOV.F R2.z, R8.x;
  12537. MUL.F32 R2.y, R2.z, R2.w;
  12538. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12539. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12540. TRUNC.U R2.z, R2;
  12541. TRUNC.U R2.w, R2;
  12542. AND.U.CC HC.x, R2.z, R2.w;
  12543. MOV.S R13.y, R2.x;
  12544. IF NE.x;
  12545. MOV.F R2.x, R2.y;
  12546. ELSE;
  12547. MOV.F R2.x, {0, 0, 0, 0};
  12548. ENDIF;
  12549. MOV.F R2.w, R23.y;
  12550. MOV.F R2.z, R23.x;
  12551. MUL.F32 R2.y, R2.z, R2.w;
  12552. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12553. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12554. TRUNC.U R2.z, R2;
  12555. TRUNC.U R2.w, R2;
  12556. AND.U.CC HC.x, R2.z, R2.w;
  12557. MOV.S R8.z, R2.x;
  12558. IF NE.x;
  12559. MOV.F R2.x, R2.y;
  12560. ELSE;
  12561. MOV.F R2.x, {0, 0, 0, 0};
  12562. ENDIF;
  12563. MOV.F R2.w, R21.y;
  12564. MOV.F R2.z, R17.w;
  12565. MUL.F32 R2.y, R2.z, R2.w;
  12566. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12567. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12568. TRUNC.U R2.z, R2;
  12569. TRUNC.U R2.w, R2;
  12570. AND.U.CC HC.x, R2.z, R2.w;
  12571. MOV.S R25.w, R2.x;
  12572. IF NE.x;
  12573. MOV.F R2.x, R2.y;
  12574. ELSE;
  12575. MOV.F R2.x, {0, 0, 0, 0};
  12576. ENDIF;
  12577. MOV.F R2.w, R21.x;
  12578. MOV.F R2.z, R23.y;
  12579. MUL.F32 R2.y, R2.z, R2.w;
  12580. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12581. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12582. TRUNC.U R2.z, R2;
  12583. TRUNC.U R2.w, R2;
  12584. AND.U.CC HC.x, R2.z, R2.w;
  12585. MOV.S R13.z, R2.x;
  12586. IF NE.x;
  12587. MOV.F R2.x, R2.y;
  12588. ELSE;
  12589. MOV.F R2.x, {0, 0, 0, 0};
  12590. ENDIF;
  12591. MOV.F R2.w, R21.y;
  12592. MOV.F R2.z, R27;
  12593. MUL.F32 R2.y, R2.z, R2.w;
  12594. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12595. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12596. TRUNC.U R2.z, R2;
  12597. TRUNC.U R2.w, R2;
  12598. AND.U.CC HC.x, R2.z, R2.w;
  12599. MOV.S R13.x, R2;
  12600. IF NE.x;
  12601. MOV.F R2.x, R2.y;
  12602. ELSE;
  12603. MOV.F R2.x, {0, 0, 0, 0};
  12604. ENDIF;
  12605. MOV.F R2.w, R21;
  12606. MOV.F R2.z, R23.y;
  12607. MUL.F32 R2.y, R2.z, R2.w;
  12608. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12609. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12610. TRUNC.U R2.z, R2;
  12611. TRUNC.U R2.w, R2;
  12612. AND.U.CC HC.x, R2.z, R2.w;
  12613. MOV.S R8.y, R2.x;
  12614. IF NE.x;
  12615. MOV.F R8.w, R2.y;
  12616. ELSE;
  12617. MOV.F R8.w, {0, 0, 0, 0}.x;
  12618. ENDIF;
  12619. MOV.F R2.x, R23.z;
  12620. MOV.F R2.w, -R2.x;
  12621. MOV.F R2.xyz, R12.zyxw;
  12622. ADD.F32 R2.xyz, R2, {1, 0, 0, 0}.x;
  12623. MOV.S R30.xyz, R2;
  12624. MOV.F R2.x, R13.w;
  12625. SEQ.F R19.x, R2, {0, 0, 0, 0};
  12626. MOV.S R18.w, R2;
  12627. MOV.S R2.z, R8.w;
  12628. TRUNC.U.CC HC.x, R19;
  12629. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  12630. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  12631. IF NE.x;
  12632. MOV.S R21.x, {-1, 0, 0, 0};
  12633. ELSE;
  12634. MOV.S R21.x, {0, 0, 0, 0};
  12635. ENDIF;
  12636. MOV.F R20, R14;
  12637. SEQ.S R14.y, R21.x, {0, 0, 0, 0}.x;
  12638. MOV.U.CC RC.x, -R14.y;
  12639. MOV.F R19.w, {1, 0, 0, 0}.x;
  12640. MOV.F R19.xyz, R10;
  12641. DP4.F32 R14.x, R20, R19;
  12642. MOV.S R14.x, R14;
  12643. IF NE.x;
  12644. MOV.S R14.z, R13.w;
  12645. ELSE;
  12646. MOV.S R14.z, {1065353216, 0, 0, 0}.x;
  12647. ENDIF;
  12648. MOV.F R20, R15;
  12649. MOV.F R19.xyz, R10;
  12650. MOV.F R19.w, {1, 0, 0, 0}.x;
  12651. DP4.F32 R10.x, R20, R19;
  12652. MOV.F R21.xyz, R11;
  12653. MOV.F R21.w, {0, 0, 0, 0}.x;
  12654. MOV.F R20.xyz, R17;
  12655. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12656. MOV.S R14.y, R10.x;
  12657. DP4.F32 R10.x, R20, R21;
  12658. MOV.F R20.xyz, R18;
  12659. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12660. DP4.F32 R10.y, R21, R20;
  12661. MOV.S R15.y, R10.x;
  12662. MOV.S R10.x, R10.y;
  12663. MOV.S R10.y, R10.x;
  12664. MOV.F R20, R16;
  12665. DP4.F32 R10.x, R19, R20;
  12666. ADD.F32 R10.y, R10, {9.99999997e-07, 0, 0, 0}.x;
  12667. MOV.S R15.z, R10.x;
  12668. MOV.F R19.w, {-0, 0, 0, 0}.x;
  12669. MOV.F R19.xyz, R25;
  12670. DP4.F32 R10.x, R21, R19;
  12671. MOV.S R18.z, R10.y;
  12672. MOV.S R18.x, R10;
  12673. ENDIF;
  12674. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12675. MOV.U.CC RC.x, -R10;
  12676. IF NE.x;
  12677. MOV.F R10.y, c[11].x;
  12678. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12679. MOV.S R24.y, R10;
  12680. MOV.F R10.y, c[11];
  12681. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12682. MOV.F R11.x, c[12];
  12683. MOV.F R10.z, R30;
  12684. MUL.F32 R10.x, R10.z, R11;
  12685. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12686. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12687. TRUNC.U R10.z, R10;
  12688. TRUNC.U R11.x, R11;
  12689. AND.U.CC HC.x, R10.z, R11;
  12690. MOV.S R24.x, R10.y;
  12691. IF NE.x;
  12692. ELSE;
  12693. MOV.F R10.x, {0, 0, 0, 0};
  12694. ENDIF;
  12695. MOV.F R11.x, c[12];
  12696. MOV.F R10.z, R30.y;
  12697. MUL.F32 R10.y, R10.z, R11.x;
  12698. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12699. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12700. TRUNC.U R10.z, R10;
  12701. TRUNC.U R11.x, R11;
  12702. AND.U.CC HC.x, R10.z, R11;
  12703. MOV.S R30.z, R10.x;
  12704. IF NE.x;
  12705. MOV.F R10.x, R10.y;
  12706. ELSE;
  12707. MOV.F R10.x, {0, 0, 0, 0};
  12708. ENDIF;
  12709. MOV.F R11.x, c[12];
  12710. MOV.F R10.z, R30.x;
  12711. MUL.F32 R10.y, R10.z, R11.x;
  12712. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12713. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12714. TRUNC.U R10.z, R10;
  12715. TRUNC.U R11.x, R11;
  12716. AND.U.CC HC.x, R10.z, R11;
  12717. MOV.S R16.w, R10.x;
  12718. IF NE.x;
  12719. MOV.F R10.x, R10.y;
  12720. ELSE;
  12721. MOV.F R10.x, {0, 0, 0, 0};
  12722. ENDIF;
  12723. MOV.F R11.x, c[13].w;
  12724. MOV.F R10.z, R31.x;
  12725. MUL.F32 R10.y, R10.z, R11.x;
  12726. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12727. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12728. TRUNC.U R10.z, R10;
  12729. TRUNC.U R11.x, R11;
  12730. AND.U.CC HC.x, R10.z, R11;
  12731. MOV.S R30.y, R10.x;
  12732. IF NE.x;
  12733. MOV.F R10.x, R10.y;
  12734. ELSE;
  12735. MOV.F R10.x, {0, 0, 0, 0};
  12736. ENDIF;
  12737. MOV.F R10.z, R24.y;
  12738. MOV.F R10.y, R32.x;
  12739. ADD.F32 R10.y, R10, R10.z;
  12740. MOV.F R10.z, R32.y;
  12741. MOV.F R11.x, R24;
  12742. MOV.S R22.w, R10.y;
  12743. ADD.F32 R10.y, R10.z, R11.x;
  12744. MOV.F R11.y, R31;
  12745. SNE.F32 R11.x, R10.z, -R11;
  12746. SNE.F32 R10.z, R11.y, {0, 0, 0, 0}.x;
  12747. TRUNC.U R11.x, R11;
  12748. TRUNC.U R10.z, R10;
  12749. AND.U.CC HC.x, R10.z, R11;
  12750. MUL.F32 R10.y, R11, R10;
  12751. MOV.S R22.y, R10.x;
  12752. IF NE.x;
  12753. MOV.F R10.x, R10.y;
  12754. ELSE;
  12755. MOV.F R10.x, {0, 0, 0, 0};
  12756. ENDIF;
  12757. MOV.F R11.x, R22.w;
  12758. MOV.F R10.z, R13.y;
  12759. MUL.F32 R10.y, R10.z, R11.x;
  12760. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12761. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12762. TRUNC.U R10.z, R10;
  12763. TRUNC.U R11.x, R11;
  12764. AND.U.CC HC.x, R10.z, R11;
  12765. MOV.S R24.x, R10;
  12766. IF NE.x;
  12767. MOV.F R10.x, R10.y;
  12768. ELSE;
  12769. MOV.F R10.x, {0, 0, 0, 0};
  12770. ENDIF;
  12771. MOV.F R10.y, R22;
  12772. RCP.F32 R10.y, R10.y;
  12773. MOV.F R11.x, R31.z;
  12774. MOV.F R10.z, R24.x;
  12775. MOV.S R21.x, R10.y;
  12776. MUL.F32 R10.y, R10.z, R11.x;
  12777. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12778. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12779. TRUNC.U R10.z, R10;
  12780. TRUNC.U R11.x, R11;
  12781. AND.U.CC HC.x, R10.z, R11;
  12782. MOV.S R21.y, R10.x;
  12783. IF NE.x;
  12784. MOV.F R10.x, R10.y;
  12785. ELSE;
  12786. MOV.F R10.x, {0, 0, 0, 0};
  12787. ENDIF;
  12788. MOV.F R10.y, R8.z;
  12789. ADD.F32 R10.y, R10.x, R10;
  12790. MOV.F R10.z, R24.x;
  12791. MOV.F R11.x, R25.w;
  12792. MUL.F32 R10.x, R10.z, R11;
  12793. MOV.S R26.x, R10.y;
  12794. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  12795. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12796. TRUNC.U R10.z, R11.x;
  12797. TRUNC.U R10.y, R10;
  12798. AND.U.CC HC.x, R10.y, R10.z;
  12799. IF NE.x;
  12800. ELSE;
  12801. MOV.F R10.x, {0, 0, 0, 0};
  12802. ENDIF;
  12803. ADD.F32 R10.x, R10, R8.y;
  12804. MOV.F R10.y, R24.x;
  12805. MOV.F R10.z, R27.x;
  12806. MUL.F32 R8.y, R10, R10.z;
  12807. MOV.S R26.z, R10.x;
  12808. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12809. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12810. TRUNC.U R10.y, R10.z;
  12811. TRUNC.U R10.x, R10;
  12812. AND.U.CC HC.x, R10, R10.y;
  12813. IF NE.x;
  12814. ELSE;
  12815. MOV.F R8.y, {0, 0, 0, 0}.x;
  12816. ENDIF;
  12817. MOV.F R10.x, R13.z;
  12818. ADD.F32 R10.x, R8.y, R10;
  12819. MOV.F R10.y, R21;
  12820. MOV.F R10.z, R2;
  12821. MUL.F32 R8.y, R10, R10.z;
  12822. MOV.S R26.w, R10.x;
  12823. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12824. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12825. TRUNC.U R10.y, R10.z;
  12826. TRUNC.U R10.x, R10;
  12827. AND.U.CC HC.x, R10, R10.y;
  12828. MOV.S R34.w, R14.z;
  12829. IF NE.x;
  12830. ELSE;
  12831. MOV.F R8.y, {0, 0, 0, 0}.x;
  12832. ENDIF;
  12833. MOV.F R10.x, R26;
  12834. ADD.F32 R10.x, R8.y, R10;
  12835. MOV.F R10.y, R21;
  12836. MOV.F R10.z, R13.x;
  12837. MUL.F32 R8.y, R10, R10.z;
  12838. MOV.S R32.x, R10;
  12839. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12840. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12841. TRUNC.U R10.y, R10.z;
  12842. TRUNC.U R10.x, R10;
  12843. AND.U.CC HC.x, R10, R10.y;
  12844. IF NE.x;
  12845. ELSE;
  12846. MOV.F R8.y, {0, 0, 0, 0}.x;
  12847. ENDIF;
  12848. MOV.F R10.x, R26.w;
  12849. ADD.F32 R8.y, R8, R10.x;
  12850. MOV.F R10.z, R18.w;
  12851. MOV.F R10.y, R21;
  12852. MUL.F32 R10.x, R10.y, R10.z;
  12853. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12854. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12855. TRUNC.U R10.z, R10;
  12856. TRUNC.U R10.y, R10;
  12857. AND.U.CC HC.x, R10.y, R10.z;
  12858. MOV.S R8.y, R8;
  12859. IF NE.x;
  12860. ELSE;
  12861. MOV.F R10.x, {0, 0, 0, 0};
  12862. ENDIF;
  12863. MOV.F R10.y, R26.z;
  12864. ADD.F32 R10.x, R10, R10.y;
  12865. MOV.F R11.x, R21;
  12866. MOV.F R10.z, R34.w;
  12867. MUL.F32 R10.z, R10, R11.x;
  12868. MOV.S R14.w, R10.z;
  12869. MOV.S R14.z, R10.x;
  12870. REP.S ;
  12871. SEQ.U.CC HC.x, {1, 0, 0, 0}, {0, 0, 0, 0};
  12872. BRK (NE.x);
  12873. SEQ.S R10.x, R14.w, {2147483647, 0, 0, 0};
  12874. MOV.U.CC RC.x, -R10;
  12875. IF NE.x;
  12876. MOV.U.CC RC.x, {1, 0, 0, 0};
  12877. MOV.S R26.y, {1065353216, 0, 0, 0}.x;
  12878. BRK (NE.x);
  12879. ELSE;
  12880. SEQ.S R10.x, R14.w, {-1, 0, 0, 0};
  12881. MOV.U.CC RC.x, -R10;
  12882. IF NE.x;
  12883. MOV.U.CC RC.x, {1, 0, 0, 0};
  12884. MOV.S R26.y, {0, 0, 0, 0}.x;
  12885. BRK (NE.x);
  12886. ENDIF;
  12887. ENDIF;
  12888. MOV.F.SAT R10.x, R14.w;
  12889. MOV.U.CC RC.x, {1, 0, 0, 0};
  12890. MOV.S R26.y, R10.x;
  12891. BRK (NE.x);
  12892. ENDREP;
  12893. MOV.S R14.w, R26.y;
  12894. ENDIF;
  12895. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12896. MOV.U.CC RC.x, -R10;
  12897. IF NE.x;
  12898. MOV.F R8.z, R14.x;
  12899. MOV.F R20, c[14];
  12900. MOV.F R19.z, R14;
  12901. MOV.F R19.yw, R8;
  12902. MOV.F R19.x, R32;
  12903. DP4.F32 R10.x, R20, R19;
  12904. ADD.F32 R10.x, R10, R8.z;
  12905. MOV.F R20, c[15];
  12906. MOV.F R10.y, R14;
  12907. DP4.F32 R8.z, R19, R20;
  12908. ADD.F32 R8.z, R10.y, R8;
  12909. MOV.F R10.y, c[14].z;
  12910. MOV.S R15.x, R10;
  12911. MOV.F R10.z, R30;
  12912. ADD.F32 R10.x, R10, R10.z;
  12913. MOV.S R21.w, R10.x;
  12914. MOV.F R10.x, R27.z;
  12915. MOV.S R16.y, R8.z;
  12916. MUL.F32 R8.z, R10.x, R10.y;
  12917. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12918. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12919. TRUNC.U R10.y, R10;
  12920. TRUNC.U R10.x, R10;
  12921. AND.U.CC HC.x, R10, R10.y;
  12922. IF NE.x;
  12923. MOV.F R10.x, R8.z;
  12924. ELSE;
  12925. MOV.F R10.x, {0, 0, 0, 0};
  12926. ENDIF;
  12927. MOV.F R8.z, R15;
  12928. MOV.F R10.z, c[15];
  12929. MOV.F R19, c[16];
  12930. MOV.F R20.z, R14;
  12931. MOV.F R20.yw, R8;
  12932. MOV.F R20.x, R32;
  12933. DP4.F32 R8.y, R19, R20;
  12934. ADD.F32 R10.y, R8.z, R8;
  12935. MOV.F R8.z, R16.w;
  12936. MOV.F R8.y, R16;
  12937. ADD.F32 R8.y, R8, R8.z;
  12938. MOV.F R8.z, R21.w;
  12939. ADD.F32 R8.y, R8.z, R8;
  12940. MOV.S R8.z, R10.y;
  12941. MOV.F R10.y, R27.z;
  12942. MOV.S R21.y, R8;
  12943. MUL.F32 R8.y, R10, R10.z;
  12944. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12945. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12946. TRUNC.U R10.y, R10;
  12947. TRUNC.U R10.z, R10;
  12948. AND.U.CC HC.x, R10.y, R10.z;
  12949. MOV.S R23.z, R10.x;
  12950. IF NE.x;
  12951. ELSE;
  12952. MOV.F R8.y, {0, 0, 0, 0}.x;
  12953. ENDIF;
  12954. MOV.F R10.y, R30;
  12955. MOV.F R10.x, R8.z;
  12956. ADD.F32 R10.x, R10, R10.y;
  12957. MOV.F R10.y, R21;
  12958. MOV.S R10.x, R10;
  12959. ADD.F32 R10.x, R10, R10.y;
  12960. MOV.F R10.z, c[14];
  12961. MOV.F R10.y, R25.w;
  12962. MOV.S R16.x, R10;
  12963. MUL.F32 R10.x, R10.y, R10.z;
  12964. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12965. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12966. TRUNC.U R10.y, R10;
  12967. TRUNC.U R10.z, R10;
  12968. AND.U.CC HC.x, R10.y, R10.z;
  12969. MOV.S R23.y, R8;
  12970. IF NE.x;
  12971. MOV.F R8.y, R10.x;
  12972. ELSE;
  12973. MOV.F R8.y, {0, 0, 0, 0}.x;
  12974. ENDIF;
  12975. MOV.F R10.z, c[15];
  12976. MOV.F R10.y, R25.w;
  12977. MUL.F32 R10.x, R10.y, R10.z;
  12978. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12979. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12980. TRUNC.U R10.y, R10;
  12981. TRUNC.U R10.z, R10;
  12982. AND.U.CC HC.x, R10.y, R10.z;
  12983. MOV.S R24.z, R8.y;
  12984. IF NE.x;
  12985. MOV.F R8.y, R10.x;
  12986. ELSE;
  12987. MOV.F R8.y, {0, 0, 0, 0}.x;
  12988. ENDIF;
  12989. MOV.F R10.z, c[14].y;
  12990. MOV.F R10.y, R17.w;
  12991. MUL.F32 R10.x, R10.y, R10.z;
  12992. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12993. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12994. TRUNC.U R10.y, R10;
  12995. TRUNC.U R10.z, R10;
  12996. AND.U.CC HC.x, R10.y, R10.z;
  12997. MOV.S R34.w, R23.y;
  12998. MOV.S R24.w, R8.y;
  12999. IF NE.x;
  13000. MOV.F R8.y, R10.x;
  13001. ELSE;
  13002. MOV.F R8.y, {0, 0, 0, 0}.x;
  13003. ENDIF;
  13004. MOV.F R10.x, R23.z;
  13005. ADD.F32 R8.y, R8, R10.x;
  13006. MOV.F R10.y, c[15];
  13007. MOV.F R10.x, R17.w;
  13008. MOV.S R19.x, R8.y;
  13009. MUL.F32 R8.y, R10.x, R10;
  13010. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  13011. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13012. TRUNC.U R10.y, R10;
  13013. TRUNC.U R10.x, R10;
  13014. AND.U.CC HC.x, R10, R10.y;
  13015. IF NE.x;
  13016. ELSE;
  13017. MOV.F R8.y, {0, 0, 0, 0}.x;
  13018. ENDIF;
  13019. MOV.F R10.x, R27;
  13020. SNE.F32 R10.y, R10.x, {0, 0, 0, 0}.x;
  13021. MOV.F R10.z, c[14].y;
  13022. TRUNC.U R11.x, R10.y;
  13023. MOV.F R10.y, R34.w;
  13024. ADD.F32 R8.y, R8, R10;
  13025. MUL.F32 R10.x, R10, R10.z;
  13026. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13027. TRUNC.U R10.y, R10.z;
  13028. AND.U.CC HC.x, R11, R10.y;
  13029. MOV.S R23.z, R8.y;
  13030. IF NE.x;
  13031. MOV.F R8.y, R10.x;
  13032. ELSE;
  13033. MOV.F R8.y, {0, 0, 0, 0}.x;
  13034. ENDIF;
  13035. MOV.F R10.x, R24.z;
  13036. ADD.F32 R8.y, R8, R10.x;
  13037. MOV.F R10.y, c[15];
  13038. MOV.F R10.x, R27;
  13039. MOV.S R21.w, R8.y;
  13040. MUL.F32 R8.y, R10.x, R10;
  13041. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  13042. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13043. TRUNC.U R10.y, R10;
  13044. TRUNC.U R10.x, R10;
  13045. AND.U.CC HC.x, R10, R10.y;
  13046. IF NE.x;
  13047. ELSE;
  13048. MOV.F R8.y, {0, 0, 0, 0}.x;
  13049. ENDIF;
  13050. MOV.F R10.x, R24.w;
  13051. ADD.F32 R8.y, R8, R10.x;
  13052. MOV.F R10.z, c[15];
  13053. MOV.F R10.y, R18.w;
  13054. MUL.F32 R10.x, R10.y, R10.z;
  13055. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13056. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  13057. TRUNC.U R10.z, R10;
  13058. TRUNC.U R10.y, R10;
  13059. AND.U.CC HC.x, R10.y, R10.z;
  13060. MOV.S R8.y, R8;
  13061. IF NE.x;
  13062. ELSE;
  13063. MOV.F R10.x, {0, 0, 0, 0};
  13064. ENDIF;
  13065. MOV.F R11.x, c[14].z;
  13066. MOV.F R10.z, R18.w;
  13067. MUL.F32 R10.y, R10.z, R11.x;
  13068. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13069. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13070. TRUNC.U R10.z, R10;
  13071. TRUNC.U R11.x, R11;
  13072. AND.U.CC HC.x, R10.z, R11;
  13073. MOV.S R21.x, R10;
  13074. IF NE.x;
  13075. MOV.F R10.x, R10.y;
  13076. ELSE;
  13077. MOV.F R10.x, {0, 0, 0, 0};
  13078. ENDIF;
  13079. MOV.F R11.x, c[15];
  13080. MOV.F R10.z, R31;
  13081. MUL.F32 R10.y, R10.z, R11.x;
  13082. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13083. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  13084. TRUNC.U R10.z, R10;
  13085. TRUNC.U R11.x, R11;
  13086. AND.U.CC HC.x, R10.z, R11;
  13087. MOV.S R21.y, R10.x;
  13088. IF NE.x;
  13089. MOV.F R10.x, R10.y;
  13090. ELSE;
  13091. MOV.F R10.x, {0, 0, 0, 0};
  13092. ENDIF;
  13093. MOV.F R10.y, R8.x;
  13094. SNE.F32 R11.x, R10.y, {0, 0, 0, 0};
  13095. MOV.F R10.z, c[15].x;
  13096. ADD.F32 R8.y, R10.x, R8;
  13097. MUL.F32 R10.y, R10, R10.z;
  13098. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  13099. TRUNC.U R11.x, R11;
  13100. TRUNC.U R10.x, R10.z;
  13101. AND.U.CC HC.x, R11, R10;
  13102. MOV.S R34.w, R19.x;
  13103. MOV.S R20.w, R8.y;
  13104. IF NE.x;
  13105. MOV.F R8.y, R10;
  13106. ELSE;
  13107. MOV.F R8.y, {0, 0, 0, 0}.x;
  13108. ENDIF;
  13109. MOV.F R10.x, R23.z;
  13110. ADD.F32 R8.y, R8, R10.x;
  13111. MOV.F R10.y, c[14].x;
  13112. MOV.F R10.x, R31.z;
  13113. MOV.S R19.x, R8.y;
  13114. MUL.F32 R8.y, R10.x, R10;
  13115. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  13116. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13117. TRUNC.U R10.y, R10;
  13118. TRUNC.U R10.x, R10;
  13119. AND.U.CC HC.x, R10, R10.y;
  13120. IF NE.x;
  13121. ELSE;
  13122. MOV.F R8.y, {0, 0, 0, 0}.x;
  13123. ENDIF;
  13124. MOV.F R10.x, R21.w;
  13125. ADD.F32 R8.y, R8, R10.x;
  13126. MOV.S R20.y, R8;
  13127. MOV.F R8.y, R8.x;
  13128. MOV.F R10.x, c[14];
  13129. MUL.F32 R8.x, R8.y, R10;
  13130. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  13131. SNE.F32
  13132. [17:14:49] Link error in shader. Log:
  13133. [17:14:49] Vertex info
  13134. -----------
  13135. Internal error: assembly compile error for vertex shader at offset 1867:
  13136. -- error message --
  13137. line 39, column 45: error: invalid vertex attribute reference
  13138. line 54, column 25: error: invalid vertex attribute reference
  13139. line 56, column 25: error: invalid vertex attribute reference
  13140. line 58, column 25: error: invalid vertex attribute reference
  13141. line 61, column 25: error: invalid vertex attribute reference
  13142. -- internal assembly text --
  13143. !!NVvp5.0
  13144. OPTION NV_internal;
  13145. OPTION NV_bindless_texture;
  13146. # cgc version 3.4.0001, build date Oct 22 2020
  13147. # command line args:
  13148. #vendor NVIDIA Corporation
  13149. #version 3.4.0.1 COP Build Date Oct 22 2020
  13150. #profile gp5vp
  13151. #program main
  13152. #semantic uf_remappedVS
  13153. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  13154. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  13155. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  13156. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  13157. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  13158. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  13159. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  13160. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  13161. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  13162. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  13163. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  13164. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  13165. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  13166. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  13167. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  13168. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  13169. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  13170. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  13171. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  13172. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  13173. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  13174. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  13175. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  13176. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  13177. #var float4 passParameterSem9 : $vout.ATTR5 : ATTR5 : -1 : 1
  13178. #var int4 uf_remappedVS[0] : : c[0], 48 : -1 : 1
  13179. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  13180. PARAM c[48] = { program.local[0..47] };
  13181. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  13182. OUTPUT result_attrib[] = { result.attrib[0..5] };
  13183. 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;
  13184. TEMP T;
  13185. TEMP RC;
  13186. SHORT TEMP HC;
  13187. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  13188. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13189. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  13190. OR.U R0, R0, R1;
  13191. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  13192. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13193. OR.U R0, R0, R1;
  13194. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  13195. OR.U R4, R0, R2;
  13196. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  13197. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13198. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  13199. OR.U R0, R0, R1;
  13200. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  13201. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13202. OR.U R0, R0, R1;
  13203. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  13204. OR.U R6, R0, R2;
  13205. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  13206. AND.U R2, R1, {65280, 0, 0, 0}.x;
  13207. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  13208. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  13209. OR.U R1, R1, R2;
  13210. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  13211. OR.U R0, R1, R0;
  13212. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  13213. OR.U R0, R0, R2;
  13214. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  13215. AND.U R3, R2, {65280, 0, 0, 0}.x;
  13216. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  13217. OR.U R2, R2, R3;
  13218. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  13219. AND.U R3, R1, {16711680, 0, 0, 0}.x;
  13220. OR.U R2, R2, R3;
  13221. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  13222. OR.U R7, R2, R1;
  13223. MOV.F R1.x, c[0];
  13224. ADD.F32 R3.x, -R0.w, R1;
  13225. MOV.S R8.xyz, R0;
  13226. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  13227. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13228. MOV.S R9.w, R3.x;
  13229. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  13230. SHR.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  13231. TRUNC.U R17.x, R3;
  13232. SEQ.U R3.x, R17, {1, 0, 0, 0};
  13233. SEQ.U R17.y, -R3.x, {1, 0, 0, 0}.x;
  13234. MOV.U.CC RC.x, -R17.y;
  13235. OR.U R0, R0, R1;
  13236. SHL.U R2, vertex.attrib[12], {8, 0, 0, 0}.x;
  13237. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13238. OR.U R0, R0, R1;
  13239. SHL.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  13240. OR.U R10, R0, R2;
  13241. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  13242. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13243. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  13244. OR.U R0, R0, R1;
  13245. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  13246. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13247. OR.U R0, R0, R1;
  13248. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  13249. OR.U R11, R0, R2;
  13250. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  13251. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13252. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  13253. OR.U R0, R0, R1;
  13254. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  13255. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13256. OR.U R0, R0, R1;
  13257. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  13258. OR.U R12, R0, R2;
  13259. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  13260. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13261. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  13262. OR.U R0, R0, R1;
  13263. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  13264. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13265. OR.U R0, R0, R1;
  13266. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  13267. OR.U R13, R0, R2;
  13268. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  13269. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13270. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  13271. OR.U R0, R0, R1;
  13272. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  13273. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13274. OR.U R0, R0, R1;
  13275. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  13276. OR.U R14, R0, R2;
  13277. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  13278. AND.U R1, R0, {65280, 0, 0, 0}.x;
  13279. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  13280. OR.U R0, R0, R1;
  13281. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  13282. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  13283. OR.U R0, R0, R1;
  13284. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  13285. OR.U R22, R0, R2;
  13286. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  13287. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13288. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  13289. OR.U R0.xyz, R0, R1;
  13290. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  13291. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13292. OR.U R0.xyz, R0, R1;
  13293. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  13294. OR.U R9.xyz, R0, R2;
  13295. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13296. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13297. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13298. OR.U R0.xyz, R0, R1;
  13299. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13300. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13301. OR.U R0.xyz, R0, R1;
  13302. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13303. OR.U R25.xyz, R0, R2;
  13304. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  13305. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13306. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  13307. OR.U R0.xyz, R0, R1;
  13308. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  13309. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13310. OR.U R0.xyz, R0, R1;
  13311. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  13312. OR.U R15.xyz, R0, R2;
  13313. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  13314. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  13315. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  13316. OR.U R0.xyz, R0, R1;
  13317. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  13318. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  13319. OR.U R0.xyz, R0, R1;
  13320. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  13321. OR.U R16.xyz, R0, R2;
  13322. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  13323. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  13324. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  13325. OR.U R1.xy, R1, R1.zwzw;
  13326. SHL.U R2.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  13327. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  13328. OR.U R1.xy, R1, R1.zwzw;
  13329. SHL.U R2.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  13330. OR.U R24.xy, R1, R2;
  13331. MOV.U R1.x, R24;
  13332. MOV.F R1.z, R1.x;
  13333. MOV.U R1.y, R24;
  13334. ADD.F32 R1.x, -R1.y, {1, 0, 0, 0};
  13335. ADD.F32 R1.y, -R1.z, {1, 0, 0, 0}.x;
  13336. MOV.S R24.z, R1.x;
  13337. MOV.S R8.w, R1.y;
  13338. MOV.S R0, {0, 0, 0, 0}.x;
  13339. MOV.S R5, {0, 0, 0, 0}.x;
  13340. MOV.S R3, {0, 0, 0, 0}.x;
  13341. MOV.S R2, {0, 0, 0, 0}.x;
  13342. MOV.S R26.xy, {0, 0, 0, 0}.x;
  13343. MOV.S R1.yz, {0, 0, 0, 0};
  13344. MOV.S R17.z, {0, 0, 0, 0}.x;
  13345. MOV.S R1.x, vertex.id;
  13346. MOV.S R1.w, vertex.instance.x;
  13347. MOV.S R15.w, {0, 0, 0, 0}.x;
  13348. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  13349. IF NE.x;
  13350. MOV.F R3.z, c[1].y;
  13351. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  13352. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  13353. MOV.S R26.xy, {0, 0, 0, 0}.x;
  13354. MOV.S R3.z, R3;
  13355. MOV.S R22.w, {1065353216, 0, 0, 0}.x;
  13356. ENDIF;
  13357. SEQ.U R17.x, R17, {0, 0, 0, 0};
  13358. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  13359. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  13360. MOV.U.CC RC.x, -R17;
  13361. IF NE.x;
  13362. MOV.S R22.w, {0, 0, 0, 0}.x;
  13363. ENDIF;
  13364. SEQ.S R17.x, R22.w, {0, 0, 0, 0};
  13365. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  13366. SEQ.U R17.w, -R17.y, {1, 0, 0, 0}.x;
  13367. MOV.U.CC RC.x, -R17.w;
  13368. MOV.U R17.x, -R17;
  13369. MOV.U R23.z, -R17.y;
  13370. IF NE.x;
  13371. MOV.F R17.y, R7.w;
  13372. TRUNC.S R17.y, R17;
  13373. I2F.S R17.y, R17;
  13374. MOV.F R17.z, R9.w;
  13375. SGE.F32 R17.z, R17, R17.y;
  13376. TRUNC.U R17.z, R17;
  13377. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  13378. SEQ.U R17.w, R23.z, {1, 0, 0, 0}.x;
  13379. AND.U R26.z, -R17, -R17.w;
  13380. MOV.S R17.z, R17.y;
  13381. ELSE;
  13382. MOV.U R26.z, {0, 0, 0, 0}.x;
  13383. ENDIF;
  13384. SEQ.U R17.y, R26.z, {1, 0, 0, 0}.x;
  13385. MOV.U.CC RC.x, -R17.y;
  13386. IF NE.x;
  13387. MOV.F R3.z, c[1].y;
  13388. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  13389. MOV.S R3.xy, {0, 0, 0, 0};
  13390. MOV.S R3.z, R3;
  13391. MOV.S R26.x, {0, 0, 0, 0};
  13392. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  13393. ENDIF;
  13394. SEQ.U R17.x, R17, {1, 0, 0, 0};
  13395. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  13396. MOV.U.CC RC.x, -R17.y;
  13397. MOV.U R23.z, -R17.x;
  13398. IF NE.x;
  13399. SEQ.S R17.x, R15.w, {0, 0, 0, 0};
  13400. MOV.U R24.w, -R17.x;
  13401. SEQ.U R17.y, R23.z, {1, 0, 0, 0}.x;
  13402. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  13403. AND.U R26.z, -R17.x, -R17.y;
  13404. ELSE;
  13405. MOV.U R24.w, {0, 0, 0, 0}.x;
  13406. MOV.U R26.z, {0, 0, 0, 0}.x;
  13407. ENDIF;
  13408. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  13409. MOV.U.CC RC.x, -R17;
  13410. IF NE.x;
  13411. MOV.F R0.xyz, R15;
  13412. MOV.F R1.xyz, R9;
  13413. MOV.F R1.w, {0, 0, 0, 0}.x;
  13414. MOV.F R0.w, {-0, 0, 0, 0}.x;
  13415. DP4.F32 R4.w, R0, R1;
  13416. MOV.F R0.xyz, R16;
  13417. MOV.F R0.w, {-0, 0, 0, 0}.x;
  13418. DP4.F32 R0.y, R1, R0;
  13419. MOV.S R5.y, R0;
  13420. MOV.F R0.y, R10.x;
  13421. MIN.F.SAT R0.w, R0.y, {0, 0, 0, 0}.x;
  13422. MOV.F R0.y, R25.x;
  13423. ADD.F32 R0.y, R0, R0.w;
  13424. MOV.S R25.x, R0.y;
  13425. MOV.F R0.y, c[2].x;
  13426. SGT.F32 R0.y, {0, 0, 0, 0}.x, R0;
  13427. TRUNC.U.CC HC.x, R0.y;
  13428. MOV.F R15.xyz, R22;
  13429. MOV.F R15.w, {-0, 0, 0, 0}.x;
  13430. DP4.F32 R0.z, R1, R15;
  13431. MOV.S R15.y, R0.z;
  13432. MOV.S R0.x, R4.w;
  13433. MOV.S R5.xzw, {0, 0, 0, 0}.x;
  13434. MOV.S R0.zw, {0, 0, 0, 0}.x;
  13435. IF NE.x;
  13436. MOV.F R0.y, {1, 0, 0, 0}.x;
  13437. ELSE;
  13438. MOV.F R0.y, {0, 0, 0, 0}.x;
  13439. ENDIF;
  13440. MOV.F R1.x, R10;
  13441. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  13442. MOV.F R1.y, c[3];
  13443. MUL.F32 R1.x, R1, R1.y;
  13444. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  13445. TRUNC.U R1.z, R1;
  13446. TRUNC.U R1.y, R1;
  13447. AND.U.CC HC.x, R1.z, R1.y;
  13448. MOV.S R18.x, R0.y;
  13449. IF NE.x;
  13450. MOV.F R0.y, R1.x;
  13451. ELSE;
  13452. MOV.F R0.y, {0, 0, 0, 0}.x;
  13453. ENDIF;
  13454. MOV.F R1.x, c[2];
  13455. SGT.F32 R1.x, R1, {0, 0, 0, 0};
  13456. TRUNC.U.CC HC.x, R1;
  13457. MOV.S R19.y, R0;
  13458. IF NE.x;
  13459. MOV.F R0.y, {1, 0, 0, 0}.x;
  13460. ELSE;
  13461. MOV.F R0.y, {0, 0, 0, 0}.x;
  13462. ENDIF;
  13463. MOV.F R1.y, c[2].x;
  13464. MOV.F R1.z, R19.y;
  13465. MOV.F R1.x, R9.w;
  13466. RCP.F32 R1.y, R1.y;
  13467. MAD.F32 R1.y, R1.x, R1, R1.z;
  13468. FRC.F32 R1.y, R1;
  13469. MOV.F R1.z, R18.x;
  13470. MOV.S R20.y, R1;
  13471. ADD.F32 R1.y, R0, -R1.z;
  13472. MOV.F R0.y, R17.z;
  13473. DIV.F32 R1.x, R1, R0.y;
  13474. ADD.F32 R1.z, -R1.y, {1, 0, 0, 0}.x;
  13475. MUL.F32 R0.y, R1.x, R1.z;
  13476. SNE.F32 R1.z, -R1.y, {-1, 0, 0, 0}.x;
  13477. TRUNC.U R8.y, R1.z;
  13478. MOV.S R19.z, R1.y;
  13479. MOV.S R4.w, R1.x;
  13480. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  13481. TRUNC.U R8.x, R1;
  13482. AND.U.CC HC.x, R8, R8.y;
  13483. MOV.F R1.y, c[5].w;
  13484. MOV.F R1.x, c[4].w;
  13485. ADD.F32 R1.x, -R1, R1.y;
  13486. MOV.S R9.y, R1.x;
  13487. MOV.F R1.x, c[5].y;
  13488. MOV.F R1.y, c[6];
  13489. ADD.F32 R1.y, -R1.x, R1;
  13490. MOV.S R21.x, R1.y;
  13491. MOV.F R1.w, c[5].x;
  13492. MOV.F R1.z, c[4].x;
  13493. ADD.F32 R1.z, -R1, R1.w;
  13494. MOV.S R21.y, R1.z;
  13495. MOV.F R1.w, c[4].y;
  13496. ADD.F32 R1.x, R1, -R1.w;
  13497. MOV.F R1.z, c[5];
  13498. MOV.F R1.y, c[4].z;
  13499. ADD.F32 R1.y, -R1, R1.z;
  13500. MOV.S R19.y, R1;
  13501. MOV.S R19.w, R1.x;
  13502. IF NE.x;
  13503. ELSE;
  13504. MOV.F R0.y, {0, 0, 0, 0}.x;
  13505. ENDIF;
  13506. MOV.F R1.z, R19;
  13507. MOV.F R8.x, R20.y;
  13508. MUL.F32 R1.x, R1.z, R8;
  13509. MOV.F R1.w, R9.y;
  13510. MOV.F R1.y, R21;
  13511. DIV.F32 R1.y, R1, R1.w;
  13512. MOV.S R19.x, R1.y;
  13513. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  13514. TRUNC.U R8.y, R1;
  13515. MOV.F R1.z, c[6].x;
  13516. MOV.F R1.y, c[5].x;
  13517. ADD.F32 R1.y, -R1, R1.z;
  13518. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  13519. TRUNC.U R1.z, R8.x;
  13520. MOV.S R21.w, R1.y;
  13521. RCP.F32 R1.y, R1.w;
  13522. AND.U.CC HC.x, R8.y, R1.z;
  13523. MOV.S R21.z, R0.y;
  13524. MOV.S R18.z, R1.y;
  13525. IF NE.x;
  13526. MOV.F R0.y, R1.x;
  13527. ELSE;
  13528. MOV.F R0.y, {0, 0, 0, 0}.x;
  13529. ENDIF;
  13530. MOV.F R1.z, R19.y;
  13531. MOV.F R1.w, c[4];
  13532. MOV.F R1.y, R18.z;
  13533. MOV.F R1.x, R19.w;
  13534. MUL.F32 R1.x, R1, R1.y;
  13535. MUL.F32 R1.y, R1, R1.z;
  13536. MOV.S R19.z, R1.x;
  13537. MOV.S R0.y, R0;
  13538. MOV.F R1.z, R21;
  13539. ADD.F32 R1.z, R1, R0.y;
  13540. ADD.F32 R8.x, R1.z, -R1.w;
  13541. MUL.F32 R0.y, R8.x, R1;
  13542. MOV.F R1.x, c[5].w;
  13543. MOV.S R23.w, R8.x;
  13544. ADD.F32 R8.x, R1.z, -R1;
  13545. MOV.S R23.x, R1.z;
  13546. SNE.F32 R1.z, R1, R1.w;
  13547. MOV.S R17.x, R8;
  13548. MOV.F R8.x, c[6].w;
  13549. ADD.F32 R1.x, -R1, R8;
  13550. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  13551. TRUNC.U R8.x, R1.y;
  13552. TRUNC.U R1.w, R1.z;
  13553. MOV.S R1.x, R1;
  13554. MOV.F R1.z, R1.x;
  13555. AND.U.CC HC.x, R1.w, R8;
  13556. MOV.F R1.y, c[6].z;
  13557. MOV.F R1.x, c[5].z;
  13558. ADD.F32 R1.x, -R1, R1.y;
  13559. RCP.F32 R1.y, R1.z;
  13560. MOV.S R19.y, R1.x;
  13561. MOV.S R17.w, R1.y;
  13562. IF NE.x;
  13563. ELSE;
  13564. MOV.F R0.y, {0, 0, 0, 0}.x;
  13565. ENDIF;
  13566. MOV.F R1.z, R19;
  13567. MOV.F R1.y, R23.w;
  13568. MUL.F32 R1.x, R1.y, R1.z;
  13569. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  13570. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  13571. TRUNC.U R1.y, R1;
  13572. TRUNC.U R1.z, R1;
  13573. AND.U.CC HC.x, R1.y, R1.z;
  13574. MOV.S R20.x, R0.y;
  13575. IF NE.x;
  13576. MOV.F R0.y, R1.x;
  13577. ELSE;
  13578. MOV.F R0.y, {0, 0, 0, 0}.x;
  13579. ENDIF;
  13580. MOV.F R1.z, R19.x;
  13581. MOV.F R1.y, R23.w;
  13582. MUL.F32 R1.x, R1.y, R1.z;
  13583. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  13584. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  13585. TRUNC.U R1.y, R1;
  13586. TRUNC.U R1.z, R1;
  13587. AND.U.CC HC.x, R1.y, R1.z;
  13588. MOV.S R20.y, R0;
  13589. IF NE.x;
  13590. MOV.F R0.y, R1.x;
  13591. ELSE;
  13592. MOV.F R0.y, {0, 0, 0, 0}.x;
  13593. ENDIF;
  13594. MOV.F R1.y, R17.w;
  13595. MOV.F R1.x, R21;
  13596. MUL.F32 R1.x, R1, R1.y;
  13597. MOV.F R1.z, R19.y;
  13598. MUL.F32 R1.z, R1, R1.y;
  13599. MOV.S R21.y, R1.x;
  13600. MOV.F R1.x, R21.w;
  13601. MUL.F32 R1.x, R1, R1.y;
  13602. SNE.F32 R1.y, R1.x, {0, 0, 0, 0}.x;
  13603. MOV.F R8.x, R17;
  13604. TRUNC.U R8.y, R1;
  13605. MOV.S R18.x, R1.z;
  13606. MOV.F R1.z, R20.x;
  13607. MOV.F R1.y, c[4].z;
  13608. ADD.F32 R1.y, R1, R1.z;
  13609. MOV.F R1.w, R20.y;
  13610. MOV.F R1.z, c[4].y;
  13611. ADD.F32 R1.z, R1, R1.w;
  13612. MOV.S R15.z, R1;
  13613. MOV.F R1.z, c[4].x;
  13614. ADD.F32 R0.y, R1.z, R0;
  13615. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  13616. TRUNC.U R1.z, R1.w;
  13617. AND.U.CC HC.x, R1.z, R8.y;
  13618. MUL.F32 R1.x, R8, R1;
  13619. MOV.S R1.y, R1;
  13620. MOV.S R22.w, R0.y;
  13621. IF NE.x;
  13622. MOV.F R0.y, R1.x;
  13623. ELSE;
  13624. MOV.F R0.y, {0, 0, 0, 0}.x;
  13625. ENDIF;
  13626. MOV.F R1.x, R17;
  13627. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  13628. MOV.F R1.w, R18.x;
  13629. TRUNC.U R8.x, R1.z;
  13630. MOV.F R1.z, c[5].x;
  13631. ADD.F32 R0.y, R1.z, R0;
  13632. MUL.F32 R1.x, R1, R1.w;
  13633. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  13634. TRUNC.U R1.z, R1.w;
  13635. AND.U.CC HC.x, R8, R1.z;
  13636. MOV.S R16.x, R0.y;
  13637. IF NE.x;
  13638. MOV.F R0.y, R1.x;
  13639. ELSE;
  13640. MOV.F R0.y, {0, 0, 0, 0}.x;
  13641. ENDIF;
  13642. MOV.F R1.w, R21.y;
  13643. MOV.F R1.z, R17.x;
  13644. MUL.F32 R1.x, R1.z, R1.w;
  13645. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  13646. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  13647. TRUNC.U R1.z, R1;
  13648. TRUNC.U R1.w, R1;
  13649. AND.U.CC HC.x, R1.z, R1.w;
  13650. MOV.S R20.y, R0;
  13651. IF NE.x;
  13652. MOV.F R0.y, R1.x;
  13653. ELSE;
  13654. MOV.F R0.y, {0, 0, 0, 0}.x;
  13655. ENDIF;
  13656. MOV.F R1.z, c[6].w;
  13657. MOV.F R1.x, R23;
  13658. ADD.F32 R1.x, R1, -R1.z;
  13659. MOV.S R17.w, R1.x;
  13660. MOV.F R1.x, R23.w;
  13661. SGE.F32 R1.x, R1, {0, 0, 0, 0};
  13662. TRUNC.U.CC HC.x, R1;
  13663. MOV.S R20.z, R0.y;
  13664. IF NE.x;
  13665. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  13666. ELSE;
  13667. MOV.S R0.y, {0, 0, 0, 0}.x;
  13668. ENDIF;
  13669. MOV.F R1.x, R17;
  13670. SGE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  13671. TRUNC.U.CC HC.x, R1.z;
  13672. MOV.S R1.x, R0.y;
  13673. IF NE.x;
  13674. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  13675. ELSE;
  13676. MOV.S R15.w, {0, 0, 0, 0}.x;
  13677. ENDIF;
  13678. MOV.F R0.y, R17.w;
  13679. SGE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  13680. TRUNC.U.CC HC.x, R0.y;
  13681. MOV.S R15.x, R15.w;
  13682. IF NE.x;
  13683. MOV.S R16.z, {1065353216, 0, 0, 0}.x;
  13684. ELSE;
  13685. MOV.S R16.z, {0, 0, 0, 0}.x;
  13686. ENDIF;
  13687. MOV.F R8.x, c[7].w;
  13688. MOV.F R1.w, R23.x;
  13689. SGE.F32 R8.z, R1.w, R8.x;
  13690. TRUNC.U.CC HC.x, R8.z;
  13691. MOV.F R1.z, R20.y;
  13692. MOV.F R0.y, c[5].z;
  13693. ADD.F32 R0.y, R0, R1.z;
  13694. MOV.S R9.z, R0.y;
  13695. MOV.F R1.z, R20;
  13696. MOV.F R0.y, c[5];
  13697. ADD.F32 R0.y, R0, R1.z;
  13698. MOV.S R16.w, R0.y;
  13699. ADD.F32 R0.y, R1.w, -R8.x;
  13700. MOV.S R21.x, R0.y;
  13701. MOV.F R1.z, c[7].x;
  13702. MOV.F R0.y, c[6].x;
  13703. ADD.F32 R0.y, -R0, R1.z;
  13704. MOV.S R17.x, R0.y;
  13705. MOV.F R1.w, c[7].y;
  13706. MOV.F R0.y, c[6];
  13707. ADD.F32 R0.y, -R0, R1.w;
  13708. MOV.F R8.y, c[8].x;
  13709. MOV.S R23.w, R0.y;
  13710. ADD.F32 R0.y, -R1.z, R8;
  13711. MOV.F R1.z, c[6].w;
  13712. MOV.S R21.y, R0;
  13713. ADD.F32 R0.y, R8.x, -R1.z;
  13714. MOV.F R1.z, c[8].y;
  13715. ADD.F32 R1.w, -R1, R1.z;
  13716. MOV.S R18.y, R0;
  13717. MOV.F R1.z, c[7];
  13718. MOV.F R0.y, c[6].z;
  13719. ADD.F32 R0.y, -R0, R1.z;
  13720. MOV.S R19.x, R1.w;
  13721. MOV.S R19.z, R0.y;
  13722. IF NE.x;
  13723. MOV.S R0.y, {1065353216, 0, 0, 0}.x;
  13724. ELSE;
  13725. MOV.S R0.y, {0, 0, 0, 0}.x;
  13726. ENDIF;
  13727. MOV.F R1.w, R18.y;
  13728. MOV.F R1.z, R23.w;
  13729. DIV.F32 R1.z, R1, R1.w;
  13730. MOV.F R8.x, R19.z;
  13731. MOV.S R18.z, R1;
  13732. DIV.F32 R1.z, R8.x, R1.w;
  13733. MOV.F R8.x, R17;
  13734. MOV.S R18.y, R1.z;
  13735. DIV.F32 R1.z, R8.x, R1.w;
  13736. SNE.F32 R8.x, R1.z, {0, 0, 0, 0};
  13737. MOV.F R1.w, R17;
  13738. TRUNC.U R9.x, R8;
  13739. MUL.F32 R1.z, R1.w, R1;
  13740. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  13741. TRUNC.U R8.z, R1.w;
  13742. AND.U.CC HC.x, R8.z, R9;
  13743. MOV.F R8.x, c[8].z;
  13744. MOV.F R1.w, c[7].z;
  13745. ADD.F32 R1.w, -R1, R8.x;
  13746. MOV.F R8.y, c[8].w;
  13747. MOV.F R8.x, c[7].w;
  13748. ADD.F32 R8.x, -R8, R8.y;
  13749. MOV.S R17.x, R1.w;
  13750. MOV.S R9.y, R8.x;
  13751. IF NE.x;
  13752. ELSE;
  13753. MOV.F R1.z, {0, 0, 0, 0}.x;
  13754. ENDIF;
  13755. MOV.F R8.y, R17.w;
  13756. MOV.F R1.w, R23.x;
  13757. MOV.F R8.x, c[8].w;
  13758. ADD.F32 R8.x, R1.w, -R8;
  13759. MOV.F R8.z, R18.y;
  13760. MOV.S R17.y, R8.x;
  13761. SNE.F32 R8.x, R8.y, {0, 0, 0, 0};
  13762. MUL.F32 R1.w, R8.y, R8.z;
  13763. SNE.F32 R8.y, R8.z, {0, 0, 0, 0}.x;
  13764. TRUNC.U R8.x, R8;
  13765. TRUNC.U R8.y, R8;
  13766. AND.U.CC HC.x, R8, R8.y;
  13767. MOV.S R20.x, R1.z;
  13768. IF NE.x;
  13769. MOV.F R1.z, R1.w;
  13770. ELSE;
  13771. MOV.F R1.z, {0, 0, 0, 0}.x;
  13772. ENDIF;
  13773. MOV.F R8.y, R18.z;
  13774. MOV.F R8.x, R17.w;
  13775. MUL.F32 R1.w, R8.x, R8.y;
  13776. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  13777. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  13778. TRUNC.U R8.x, R8;
  13779. TRUNC.U R8.y, R8;
  13780. AND.U.CC HC.x, R8, R8.y;
  13781. MOV.S R20.z, R1;
  13782. IF NE.x;
  13783. MOV.F R1.z, R1.w;
  13784. ELSE;
  13785. MOV.F R1.z, {0, 0, 0, 0}.x;
  13786. ENDIF;
  13787. MOV.F R8.y, R9;
  13788. MOV.F R11.w, R21.x;
  13789. MOV.F R8.x, R20;
  13790. MOV.F R1.w, c[6].x;
  13791. ADD.F32 R1.w, R1, R8.x;
  13792. MOV.F R8.x, R19;
  13793. DIV.F32 R16.y, R8.x, R8.y;
  13794. MOV.S R9.y, R1.w;
  13795. MOV.F R1.w, R21.y;
  13796. DIV.F32 R1.w, R1, R8.y;
  13797. MUL.F32 R8.x, R11.w, R16.y;
  13798. MOV.F R9.x, R20.z;
  13799. MOV.F R8.z, c[6];
  13800. ADD.F32 R8.z, R8, R9.x;
  13801. SNE.F32 R9.x, R16.y, {0, 0, 0, 0};
  13802. MOV.S R18.z, R1.w;
  13803. MOV.S R1.w, R8.z;
  13804. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  13805. TRUNC.U R11.w, R8.z;
  13806. TRUNC.U R16.y, R9.x;
  13807. MOV.F R8.z, c[6].y;
  13808. ADD.F32 R8.z, R8, R1;
  13809. RCP.F32 R1.z, R8.y;
  13810. AND.U.CC HC.x, R11.w, R16.y;
  13811. MOV.S R9.x, R8.z;
  13812. MOV.S R19.y, R1.z;
  13813. IF NE.x;
  13814. MOV.F R1.z, R8.x;
  13815. ELSE;
  13816. MOV.F R1.z, {0, 0, 0, 0}.x;
  13817. ENDIF;
  13818. MOV.F R8.z, R18;
  13819. MOV.F R8.y, R21.x;
  13820. MUL.F32 R8.x, R8.y, R8.z;
  13821. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  13822. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  13823. TRUNC.U R8.y, R8;
  13824. TRUNC.U R8.z, R8;
  13825. AND.U.CC HC.x, R8.y, R8.z;
  13826. MOV.S R20.x, R1.z;
  13827. IF NE.x;
  13828. MOV.F R1.z, R8.x;
  13829. ELSE;
  13830. MOV.F R1.z, {0, 0, 0, 0}.x;
  13831. ENDIF;
  13832. MOV.F R8.y, R19;
  13833. MOV.F R8.x, R17;
  13834. MUL.F32 R8.x, R8, R8.y;
  13835. MOV.S R20.z, R8.x;
  13836. MOV.F R8.x, R17.y;
  13837. SGE.F32 R11.w, R8.x, {0, 0, 0, 0}.x;
  13838. TRUNC.U.CC HC.x, R11.w;
  13839. MOV.F R8.y, c[9].x;
  13840. MOV.F R8.x, c[8];
  13841. ADD.F32 R8.x, -R8, R8.y;
  13842. MOV.F R8.z, c[9].y;
  13843. MOV.F R8.y, c[8];
  13844. ADD.F32 R8.y, -R8, R8.z;
  13845. MOV.S R17.w, R8.x;
  13846. MOV.S R19.y, R8;
  13847. MOV.S R20.y, R1.z;
  13848. IF NE.x;
  13849. MOV.S R1.z, {1065353216, 0, 0, 0}.x;
  13850. ELSE;
  13851. MOV.S R1.z, {0, 0, 0, 0}.x;
  13852. ENDIF;
  13853. MOV.F R17.x, R20.z;
  13854. MOV.F R16.y, R21.x;
  13855. MOV.F R8.z, R20.x;
  13856. MOV.F R8.y, c[7];
  13857. ADD.F32 R8.y, R8, R8.z;
  13858. MOV.S R21.y, R8;
  13859. SNE.F32 R8.y, R16, {0, 0, 0, 0}.x;
  13860. MOV.F R11.w, R20.y;
  13861. MOV.F R8.z, c[7].x;
  13862. ADD.F32 R8.z, R8, R11.w;
  13863. MOV.S R17.z, R8;
  13864. SNE.F32 R8.z, R17.x, {0, 0, 0, 0}.x;
  13865. TRUNC.U R8.z, R8;
  13866. TRUNC.U R8.y, R8;
  13867. AND.U.CC HC.x, R8.y, R8.z;
  13868. MUL.F32 R8.x, R16.y, R17;
  13869. IF NE.x;
  13870. ELSE;
  13871. MOV.F R8.x, {0, 0, 0, 0};
  13872. ENDIF;
  13873. MOV.F R8.y, R23.x;
  13874. MOV.F R8.z, c[9].w;
  13875. SGE.F32 R11.w, R8.y, R8.z;
  13876. MOV.S R8.x, R8;
  13877. MOV.F R8.y, R8.x;
  13878. MOV.F R8.x, c[7].z;
  13879. ADD.F32 R8.x, R8, R8.y;
  13880. MOV.F R8.z, R1;
  13881. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  13882. TRUNC.U.CC HC.x, R11.w;
  13883. MOV.S R17.x, R8;
  13884. MOV.S R20.y, R8;
  13885. IF NE.x;
  13886. MOV.S R8.y, {1065353216, 0, 0, 0}.x;
  13887. ELSE;
  13888. MOV.S R8.y, {0, 0, 0, 0}.x;
  13889. ENDIF;
  13890. MOV.F R8.z, R0.y;
  13891. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  13892. MOV.F R16.y, R16.z;
  13893. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  13894. MOV.F R11.w, c[9].z;
  13895. MOV.F R8.x, c[8].z;
  13896. ADD.F32 R8.x, -R8, R11.w;
  13897. MOV.S R23.w, R8.z;
  13898. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  13899. MOV.F R18.x, R8.y;
  13900. MOV.S R23.x, R8;
  13901. MOV.S R19.w, R16.y;
  13902. MUL.F32 R8.x, R11.w, R18;
  13903. SNE.F32 R16.y, R18.x, {0, 0, 0, 0}.x;
  13904. TRUNC.U R11.w, R16.y;
  13905. TRUNC.U R8.z, R8;
  13906. AND.U.CC HC.x, R8.z, R11.w;
  13907. IF NE.x;
  13908. MOV.F R8.z, R8.x;
  13909. ELSE;
  13910. MOV.F R8.z, {0, 0, 0, 0}.x;
  13911. ENDIF;
  13912. MOV.F R16.y, R20;
  13913. MOV.F R11.w, R0.y;
  13914. MUL.F32 R8.x, R11.w, R16.y;
  13915. SNE.F32 R18.x, R16.y, {0, 0, 0, 0};
  13916. MOV.F R16.y, c[9].w;
  13917. MOV.F R0.y, c[8].w;
  13918. ADD.F32 R0.y, -R0, R16;
  13919. MOV.S R18.w, R0.y;
  13920. TRUNC.U R18.x, R18;
  13921. MOV.F R16.y, R8;
  13922. MOV.S R0.y, R8.z;
  13923. ADD.F32 R8.z, -R16.y, {1, 0, 0, 0}.x;
  13924. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  13925. MOV.S R18.z, R8;
  13926. TRUNC.U R8.z, R11.w;
  13927. AND.U.CC HC.x, R8.z, R18;
  13928. IF NE.x;
  13929. ELSE;
  13930. MOV.F R8.x, {0, 0, 0, 0};
  13931. ENDIF;
  13932. MOV.F R11.w, c[9].x;
  13933. MOV.F R16.y, R8;
  13934. MUL.F32 R8.z, R11.w, R16.y;
  13935. MOV.S R19.x, R8;
  13936. SNE.F32 R8.x, R11.w, {0, 0, 0, 0};
  13937. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  13938. TRUNC.U R11.w, R16.y;
  13939. TRUNC.U R8.x, R8;
  13940. AND.U.CC HC.x, R8, R11.w;
  13941. IF NE.x;
  13942. MOV.F R8.x, R8.z;
  13943. ELSE;
  13944. MOV.F R8.x, {0, 0, 0, 0};
  13945. ENDIF;
  13946. MOV.F R11.w, R18.z;
  13947. MOV.F R8.z, R1;
  13948. MUL.F32 R1.z, R8, R11.w;
  13949. SNE.F32 R16.y, R11.w, {0, 0, 0, 0}.x;
  13950. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  13951. TRUNC.U R11.w, R16.y;
  13952. TRUNC.U R8.z, R8;
  13953. AND.U.CC HC.x, R8.z, R11.w;
  13954. MOV.S R8.x, R8;
  13955. IF NE.x;
  13956. ELSE;
  13957. MOV.F R1.z, {0, 0, 0, 0}.x;
  13958. ENDIF;
  13959. MOV.F R11.w, R8.y;
  13960. MOV.F R8.z, c[9].y;
  13961. MUL.F32 R8.y, R8.z, R11.w;
  13962. MOV.S R16.y, R1.z;
  13963. SNE.F32 R1.z, R8, {0, 0, 0, 0}.x;
  13964. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  13965. TRUNC.U R8.z, R11.w;
  13966. TRUNC.U R1.z, R1;
  13967. AND.U.CC HC.x, R1.z, R8.z;
  13968. IF NE.x;
  13969. MOV.F R1.z, R8.y;
  13970. ELSE;
  13971. MOV.F R1.z, {0, 0, 0, 0}.x;
  13972. ENDIF;
  13973. MOV.F R11.w, R19.x;
  13974. MOV.F R8.z, R17;
  13975. MUL.F32 R8.y, R8.z, R11.w;
  13976. SNE.F32 R17.z, R11.w, {0, 0, 0, 0}.x;
  13977. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  13978. TRUNC.U R11.w, R8.z;
  13979. TRUNC.U R17.z, R17;
  13980. AND.U.CC HC.x, R11.w, R17.z;
  13981. MOV.S R8.z, R1;
  13982. IF NE.x;
  13983. MOV.F R1.z, R8.y;
  13984. ELSE;
  13985. MOV.F R1.z, {0, 0, 0, 0}.x;
  13986. ENDIF;
  13987. MOV.F R17.z, R17.w;
  13988. MOV.F R11.w, R18;
  13989. DIV.F32 R17.z, R17, R11.w;
  13990. MOV.F R8.y, R19;
  13991. DIV.F32 R8.y, R8, R11.w;
  13992. RCP.F32 R11.w, R11.w;
  13993. MOV.S R18.y, R17.z;
  13994. MOV.F R17.z, R21.y;
  13995. MOV.S R18.z, R11.w;
  13996. SNE.F32 R11.w, R17.z, {0, 0, 0, 0}.x;
  13997. MOV.F R17.w, R19.x;
  13998. MOV.S R18.x, R8.y;
  13999. MUL.F32 R8.y, R17.z, R17.w;
  14000. TRUNC.U R17.z, R11.w;
  14001. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14002. TRUNC.U R17.w, R17;
  14003. AND.U.CC HC.x, R17.z, R17.w;
  14004. MOV.S R11.w, R1.z;
  14005. IF NE.x;
  14006. MOV.F R1.z, R8.y;
  14007. ELSE;
  14008. MOV.F R1.z, {0, 0, 0, 0}.x;
  14009. ENDIF;
  14010. MOV.F R17.w, R17.x;
  14011. MOV.F R17.z, R18;
  14012. MOV.F R17.x, R23;
  14013. MUL.F32 R17.x, R17, R17.z;
  14014. MOV.S R18.w, R17.x;
  14015. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  14016. SNE.F32 R17.z, R19.x, {0, 0, 0, 0}.x;
  14017. TRUNC.U R17.x, R17;
  14018. TRUNC.U R17.z, R17;
  14019. AND.U.CC HC.x, R17, R17.z;
  14020. MUL.F32 R8.y, R17.w, R19.x;
  14021. MOV.S R1.z, R1;
  14022. IF NE.x;
  14023. ELSE;
  14024. MOV.F R8.y, {0, 0, 0, 0}.x;
  14025. ENDIF;
  14026. MOV.F R17.w, R18;
  14027. MOV.F R17.z, R17.y;
  14028. MUL.F32 R17.x, R17.z, R17.w;
  14029. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  14030. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14031. TRUNC.U R17.z, R17;
  14032. TRUNC.U R17.w, R17;
  14033. AND.U.CC HC.x, R17.z, R17.w;
  14034. MOV.S R8.y, R8;
  14035. IF NE.x;
  14036. ELSE;
  14037. MOV.F R17.x, {0, 0, 0, 0};
  14038. ENDIF;
  14039. MOV.F R17.w, R17.y;
  14040. MUL.F32 R17.z, R17.w, R18.x;
  14041. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14042. SNE.F32 R18.x, R18, {0, 0, 0, 0};
  14043. TRUNC.U R17.w, R17;
  14044. TRUNC.U R18.x, R18;
  14045. AND.U.CC HC.x, R17.w, R18;
  14046. MOV.S R22.x, R17;
  14047. IF NE.x;
  14048. MOV.F R17.x, R17.z;
  14049. ELSE;
  14050. MOV.F R17.x, {0, 0, 0, 0};
  14051. ENDIF;
  14052. MOV.F R17.z, R17.y;
  14053. MOV.F R17.w, R18.y;
  14054. MUL.F32 R17.y, R17.z, R17.w;
  14055. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  14056. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14057. TRUNC.U R17.z, R17;
  14058. TRUNC.U R17.w, R17;
  14059. AND.U.CC HC.x, R17.z, R17.w;
  14060. MOV.S R22.y, R17.x;
  14061. IF NE.x;
  14062. MOV.F R17.x, R17.y;
  14063. ELSE;
  14064. MOV.F R17.x, {0, 0, 0, 0};
  14065. ENDIF;
  14066. MOV.F R17.z, R23.w;
  14067. MOV.F R17.y, R16.z;
  14068. MUL.F32 R16.z, R17.y, R17;
  14069. SNE.F32 R17.w, R17.z, {0, 0, 0, 0}.x;
  14070. TRUNC.U R17.z, R17.w;
  14071. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  14072. MOV.S R22.z, R17.x;
  14073. TRUNC.U R17.x, R17.y;
  14074. AND.U.CC HC.x, R17, R17.z;
  14075. IF NE.x;
  14076. ELSE;
  14077. MOV.F R16.z, {0, 0, 0, 0}.x;
  14078. ENDIF;
  14079. MOV.F R17.x, R19.w;
  14080. SNE.F32 R17.y, R17.x, {0, 0, 0, 0}.x;
  14081. TRUNC.U R17.z, R17.y;
  14082. SNE.F32 R17.y, R15.w, {0, 0, 0, 0}.x;
  14083. MUL.F32 R17.x, R15.w, R17;
  14084. MOV.S R15.w, R16.z;
  14085. TRUNC.U R16.z, R17.y;
  14086. AND.U.CC HC.x, R16.z, R17.z;
  14087. IF NE.x;
  14088. MOV.F R16.z, R17.x;
  14089. ELSE;
  14090. MOV.F R16.z, {0, 0, 0, 0}.x;
  14091. ENDIF;
  14092. MOV.S R16.z, R16;
  14093. ENDIF;
  14094. SEQ.U R17.x, R26.z, {1, 0, 0, 0};
  14095. MOV.U.CC RC.x, -R17;
  14096. IF NE.x;
  14097. MOV.F R17.x, R15.w;
  14098. MUL.F32 R7.w, R9.y, R17.x;
  14099. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  14100. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14101. TRUNC.U R17.x, R17;
  14102. TRUNC.U R9.y, R9;
  14103. AND.U.CC HC.x, R9.y, R17;
  14104. IF NE.x;
  14105. ELSE;
  14106. MOV.F R7.w, {0, 0, 0, 0}.x;
  14107. ENDIF;
  14108. MOV.F R9.y, c[8].x;
  14109. MOV.F R17.x, R22.z;
  14110. ADD.F32 R17.x, R9.y, R17;
  14111. MOV.S R20.w, R17.x;
  14112. MOV.F R18.x, R15.w;
  14113. MOV.F R17.w, R9.x;
  14114. MOV.F R17.y, R22;
  14115. MOV.F R17.x, c[8].y;
  14116. ADD.F32 R17.z, R17.x, R17.y;
  14117. MOV.S R20.z, R17;
  14118. SNE.F32 R17.z, R18.x, {0, 0, 0, 0}.x;
  14119. MOV.F R17.y, R22.x;
  14120. MOV.F R17.x, c[8].z;
  14121. ADD.F32 R17.x, R17, R17.y;
  14122. MOV.S R20.y, R17.x;
  14123. SNE.F32 R17.x, R17.w, {0, 0, 0, 0};
  14124. TRUNC.U R17.y, R17.x;
  14125. TRUNC.U R17.z, R17;
  14126. AND.U.CC HC.x, R17.y, R17.z;
  14127. MUL.F32 R9.y, R17.w, R18.x;
  14128. MOV.S R17.x, R7.w;
  14129. IF NE.x;
  14130. MOV.F R7.w, R9.y;
  14131. ELSE;
  14132. MOV.F R7.w, {0, 0, 0, 0}.x;
  14133. ENDIF;
  14134. MOV.F R17.z, R16.y;
  14135. MOV.F R17.y, R20.w;
  14136. MUL.F32 R9.y, R17, R17.z;
  14137. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  14138. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  14139. TRUNC.U R17.y, R17;
  14140. TRUNC.U R17.z, R17;
  14141. AND.U.CC HC.x, R17.y, R17.z;
  14142. MOV.S R19.y, R7.w;
  14143. IF NE.x;
  14144. MOV.F R7.w, R9.y;
  14145. ELSE;
  14146. MOV.F R7.w, {0, 0, 0, 0}.x;
  14147. ENDIF;
  14148. MOV.F R9.y, R1.w;
  14149. MOV.F R17.y, R15.w;
  14150. MUL.F32 R1.w, R9.y, R17.y;
  14151. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14152. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  14153. TRUNC.U R9.y, R9;
  14154. TRUNC.U R17.y, R17;
  14155. AND.U.CC HC.x, R9.y, R17.y;
  14156. MOV.S R21.x, R7.w;
  14157. IF NE.x;
  14158. ELSE;
  14159. MOV.F R1.w, {0, 0, 0, 0}.x;
  14160. ENDIF;
  14161. MOV.F R17.y, R16;
  14162. MOV.F R9.y, R20;
  14163. MUL.F32 R7.w, R9.y, R17.y;
  14164. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14165. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  14166. TRUNC.U R9.y, R9;
  14167. TRUNC.U R17.y, R17;
  14168. AND.U.CC HC.x, R9.y, R17.y;
  14169. MOV.S R21.y, R1.w;
  14170. IF NE.x;
  14171. MOV.F R1.w, R7;
  14172. ELSE;
  14173. MOV.F R1.w, {0, 0, 0, 0}.x;
  14174. ENDIF;
  14175. MOV.F R9.y, R20.z;
  14176. MUL.F32 R7.w, R9.y, R16.y;
  14177. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14178. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  14179. TRUNC.U R9.y, R9;
  14180. TRUNC.U R16.y, R16;
  14181. AND.U.CC HC.x, R9.y, R16.y;
  14182. MOV.S R17.z, R1.w;
  14183. IF NE.x;
  14184. MOV.F R1.w, R7;
  14185. ELSE;
  14186. MOV.F R1.w, {0, 0, 0, 0}.x;
  14187. ENDIF;
  14188. MOV.F R16.y, R16.z;
  14189. MOV.F R9.y, R16.x;
  14190. MUL.F32 R7.w, R9.y, R16.y;
  14191. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14192. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  14193. TRUNC.U R9.y, R9;
  14194. TRUNC.U R16.y, R16;
  14195. AND.U.CC HC.x, R9.y, R16.y;
  14196. MOV.S R17.w, R1;
  14197. IF NE.x;
  14198. MOV.F R1.w, R7;
  14199. ELSE;
  14200. MOV.F R1.w, {0, 0, 0, 0}.x;
  14201. ENDIF;
  14202. MOV.F R16.y, R16.z;
  14203. MOV.F R9.y, R16.w;
  14204. MUL.F32 R7.w, R9.y, R16.y;
  14205. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14206. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  14207. TRUNC.U R9.y, R9;
  14208. TRUNC.U R16.y, R16;
  14209. AND.U.CC HC.x, R9.y, R16.y;
  14210. MOV.S R17.y, R1.w;
  14211. IF NE.x;
  14212. MOV.F R1.w, R7;
  14213. ELSE;
  14214. MOV.F R1.w, {0, 0, 0, 0}.x;
  14215. ENDIF;
  14216. MOV.F R16.w, R16.z;
  14217. MOV.F R16.z, R9;
  14218. MOV.F R16.y, R15.x;
  14219. ADD.F32 R16.y, -R16, {1, 0, 0, 0}.x;
  14220. MOV.F R9.y, R1.x;
  14221. ADD.F32 R9.y, -R9, {1, 0, 0, 0}.x;
  14222. MOV.S R20.z, R16.y;
  14223. MOV.S R20.y, R9;
  14224. SNE.F32 R9.y, R16.z, {0, 0, 0, 0}.x;
  14225. SNE.F32 R16.y, R16.w, {0, 0, 0, 0}.x;
  14226. TRUNC.U R9.y, R9;
  14227. TRUNC.U R16.y, R16;
  14228. AND.U.CC HC.x, R9.y, R16.y;
  14229. MUL.F32 R7.w, R16.z, R16;
  14230. MOV.S R23.x, R1.w;
  14231. IF NE.x;
  14232. MOV.F R1.w, R7;
  14233. ELSE;
  14234. MOV.F R1.w, {0, 0, 0, 0}.x;
  14235. ENDIF;
  14236. MOV.F R7.w, R15.y;
  14237. ADD.F32 R7.w, R7, {9.99999997e-07, 0, 0, 0}.x;
  14238. MOV.S R16.z, R7.w;
  14239. MOV.F R7.w, R20.y;
  14240. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  14241. MOV.F R9.y, c[4].x;
  14242. MUL.F32 R7.w, R9.y, R7;
  14243. TRUNC.U R16.y, R16;
  14244. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14245. MOV.S R23.w, R1;
  14246. TRUNC.U R1.w, R9.y;
  14247. AND.U.CC HC.x, R1.w, R16.y;
  14248. IF NE.x;
  14249. MOV.F R1.w, R7;
  14250. ELSE;
  14251. MOV.F R1.w, {0, 0, 0, 0}.x;
  14252. ENDIF;
  14253. MOV.F R16.y, R20.z;
  14254. MOV.F R9.y, R1.x;
  14255. MUL.F32 R7.w, R9.y, R16.y;
  14256. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14257. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  14258. TRUNC.U R9.y, R9;
  14259. TRUNC.U R16.y, R16;
  14260. AND.U.CC HC.x, R9.y, R16.y;
  14261. MOV.S R19.x, R1.w;
  14262. IF NE.x;
  14263. MOV.F R1.w, R7;
  14264. ELSE;
  14265. MOV.F R1.w, {0, 0, 0, 0}.x;
  14266. ENDIF;
  14267. MOV.F R7.w, R20.y;
  14268. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  14269. MOV.F R9.y, c[4].z;
  14270. MUL.F32 R7.w, R9.y, R7;
  14271. TRUNC.U R16.y, R16;
  14272. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14273. MOV.S R23.y, R1.w;
  14274. TRUNC.U R1.w, R9.y;
  14275. AND.U.CC HC.x, R1.w, R16.y;
  14276. IF NE.x;
  14277. MOV.F R1.w, R7;
  14278. ELSE;
  14279. MOV.F R1.w, {0, 0, 0, 0}.x;
  14280. ENDIF;
  14281. MOV.F R7.w, R20.y;
  14282. SNE.F32 R16.y, R7.w, {0, 0, 0, 0}.x;
  14283. MOV.F R9.y, c[4];
  14284. MUL.F32 R7.w, R9.y, R7;
  14285. TRUNC.U R16.y, R16;
  14286. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14287. MOV.S R19.z, R1.w;
  14288. TRUNC.U R1.w, R9.y;
  14289. AND.U.CC HC.x, R1.w, R16.y;
  14290. IF NE.x;
  14291. MOV.F R1.w, R7;
  14292. ELSE;
  14293. MOV.F R1.w, {0, 0, 0, 0}.x;
  14294. ENDIF;
  14295. MOV.F R20, R12;
  14296. MOV.S R19.w, R1;
  14297. MOV.F R12.w, R23.y;
  14298. MOV.F R9.y, R22.w;
  14299. MOV.F R18.w, {1, 0, 0, 0}.x;
  14300. MOV.F R18.xyz, R7;
  14301. DP4.F32 R7.w, R20, R18;
  14302. MOV.S R12.x, R7.w;
  14303. MUL.F32 R7.w, R9.y, R12;
  14304. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14305. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  14306. TRUNC.U R9.y, R9;
  14307. TRUNC.U R12.w, R12;
  14308. AND.U.CC HC.x, R9.y, R12.w;
  14309. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  14310. IF NE.x;
  14311. ELSE;
  14312. MOV.F R7.w, {0, 0, 0, 0}.x;
  14313. ENDIF;
  14314. MOV.F R20.xyz, R7;
  14315. MOV.F R18, R13;
  14316. MOV.F R20.w, {1, 0, 0, 0}.x;
  14317. DP4.F32 R7.x, R18, R20;
  14318. MOV.F R18, R14;
  14319. DP4.F32 R9.y, R20, R18;
  14320. MOV.S R22.w, R7.x;
  14321. MOV.F R7.x, R19;
  14322. ADD.F32 R7.y, R7.w, R7.x;
  14323. MOV.F R7.x, R17.y;
  14324. ADD.F32 R7.x, R7, R7.y;
  14325. MOV.F R7.w, R23.y;
  14326. MOV.F R7.y, R15.z;
  14327. MOV.S R18.z, R7.x;
  14328. MUL.F32 R7.x, R7.y, R7.w;
  14329. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14330. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14331. TRUNC.U R7.w, R7;
  14332. TRUNC.U R7.y, R7;
  14333. AND.U.CC HC.x, R7.y, R7.w;
  14334. MOV.S R14.z, R9.y;
  14335. IF NE.x;
  14336. ELSE;
  14337. MOV.F R7.x, {0, 0, 0, 0};
  14338. ENDIF;
  14339. MOV.F R7.w, R10.y;
  14340. MOV.F R7.y, R10.x;
  14341. ADD.F32 R7.y, R7, R7.w;
  14342. MOV.F R9.y, R23;
  14343. MOV.F R7.w, R1.y;
  14344. MOV.S R18.y, R7;
  14345. MUL.F32 R7.y, R7.w, R9;
  14346. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14347. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14348. TRUNC.U R7.w, R7;
  14349. TRUNC.U R9.y, R9;
  14350. AND.U.CC HC.x, R7.w, R9.y;
  14351. MOV.S R18.x, R7;
  14352. IF NE.x;
  14353. MOV.F R7.x, R7.y;
  14354. ELSE;
  14355. MOV.F R7.x, {0, 0, 0, 0};
  14356. ENDIF;
  14357. MOV.F R7.w, R10.z;
  14358. MOV.F R7.y, R10.x;
  14359. ADD.F32 R7.y, R7, R7.w;
  14360. MUL.F32 R12.w, R7.y, {0.5, 0, 0, 0}.x;
  14361. MOV.F R9.y, R10;
  14362. ADD.F32 R7.y, R7.w, R9;
  14363. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  14364. MOV.F R7.w, R19;
  14365. MOV.F R7.y, R18.x;
  14366. ADD.F32 R7.y, R7, R7.w;
  14367. MOV.F R7.w, R23.x;
  14368. ADD.F32 R7.y, R7.w, R7;
  14369. MOV.F R7.w, R19.y;
  14370. ADD.F32 R7.y, R7.w, R7;
  14371. MOV.S R20.z, R7.y;
  14372. MOV.F R7.y, R19.z;
  14373. ADD.F32 R7.x, R7, R7.y;
  14374. MOV.F R7.y, R23.w;
  14375. ADD.F32 R7.x, R7.y, R7;
  14376. MOV.F R7.y, R21;
  14377. ADD.F32 R7.x, R7.y, R7;
  14378. MOV.S R7.w, R9.y;
  14379. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  14380. MOV.S R20.y, R7.x;
  14381. MOV.S R19.z, R7.y;
  14382. MOV.F R7.y, R18.z;
  14383. MOV.F R7.x, R17;
  14384. ADD.F32 R7.x, R7, R7.y;
  14385. MOV.F R7.y, R11.w;
  14386. ADD.F32 R7.w, R7.y, R7.x;
  14387. MOV.F R7.y, R18;
  14388. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  14389. MOV.F R7.y, R8.x;
  14390. MOV.S R8.x, R9.y;
  14391. MOV.F R7.x, R21;
  14392. ADD.F32 R7.w, R7.x, R7;
  14393. ADD.F32 R7.x, R7.y, R7.w;
  14394. SNE.F32 R7.w, R7.y, -R7;
  14395. MOV.F R7.y, R8.x;
  14396. MOV.F R9.y, R25.x;
  14397. TRUNC.U R8.x, R7.w;
  14398. MUL.F32 R7.y, R7, {2, 0, 0, 0}.x;
  14399. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  14400. MOV.S R23.w, R7.y;
  14401. TRUNC.U R7.y, R7.w;
  14402. AND.U.CC HC.x, R7.y, R8;
  14403. MOV.S R20.w, R12;
  14404. MUL.F32 R7.x, R9.y, R7;
  14405. IF NE.x;
  14406. ELSE;
  14407. MOV.F R7.x, {0, 0, 0, 0};
  14408. ENDIF;
  14409. MOV.F R7.w, R20.y;
  14410. MOV.F R7.y, R8;
  14411. ADD.F32 R7.y, R7, R7.w;
  14412. MOV.S R18.z, R7.y;
  14413. MOV.F R7.y, R20.z;
  14414. ADD.F32 R1.z, R1, R7.y;
  14415. MOV.F R7.w, R17;
  14416. ADD.F32 R7.w, R7, R1.z;
  14417. MOV.F R7.y, R20.w;
  14418. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  14419. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  14420. MOV.S R20.x, R7.w;
  14421. MOV.F R7.y, R10.x;
  14422. MOV.S R19.y, R1.z;
  14423. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  14424. MOV.F R7.w, c[10].y;
  14425. MOV.S R21.x, R1.z;
  14426. MUL.F32 R1.z, R7.x, R7.w;
  14427. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14428. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  14429. TRUNC.U R7.w, R7;
  14430. TRUNC.U R7.x, R7;
  14431. AND.U.CC HC.x, R7, R7.w;
  14432. MOV.S R7.y, R17.z;
  14433. IF NE.x;
  14434. MOV.F R7.x, R1.z;
  14435. ELSE;
  14436. MOV.F R7.x, {0, 0, 0, 0};
  14437. ENDIF;
  14438. MOV.F R7.w, R20.x;
  14439. MOV.F R1.z, R8;
  14440. ADD.F32 R8.x, R1.z, R7.w;
  14441. MOV.F R1.z, R7.y;
  14442. MOV.F R7.w, R18.z;
  14443. ADD.F32 R1.z, R1, R7.w;
  14444. MOV.F R7.y, R0;
  14445. ADD.F32 R1.z, R7.y, R1;
  14446. MOV.S R18.y, R8.x;
  14447. MOV.S R18.x, R1.z;
  14448. MOV.F R1.z, R10.y;
  14449. ADD.F32 R1.z, R1, {-0.5, 0, 0, 0}.x;
  14450. MOV.F R7.y, R10.z;
  14451. ADD.F32 R7.y, R7, {-0.5, 0, 0, 0}.x;
  14452. MOV.S R17.z, R1;
  14453. MOV.F R8.x, c[11];
  14454. MOV.F R7.w, R23;
  14455. MOV.S R1.z, R7.y;
  14456. MUL.F32 R7.y, R7.w, R8.x;
  14457. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14458. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  14459. TRUNC.U R7.w, R7;
  14460. TRUNC.U R8.x, R8;
  14461. AND.U.CC HC.x, R7.w, R8;
  14462. MOV.S R8.y, R7.x;
  14463. IF NE.x;
  14464. MOV.F R7.x, R7.y;
  14465. ELSE;
  14466. MOV.F R7.x, {0, 0, 0, 0};
  14467. ENDIF;
  14468. MOV.F R8.x, c[11].y;
  14469. MOV.F R7.w, R19.z;
  14470. MUL.F32 R7.y, R7.w, R8.x;
  14471. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14472. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  14473. TRUNC.U R7.w, R7;
  14474. TRUNC.U R8.x, R8;
  14475. AND.U.CC HC.x, R7.w, R8;
  14476. MOV.S R18.z, R7.x;
  14477. IF NE.x;
  14478. MOV.F R7.x, R7.y;
  14479. ELSE;
  14480. MOV.F R7.x, {0, 0, 0, 0};
  14481. ENDIF;
  14482. MOV.F R8.x, c[11].z;
  14483. MOV.F R7.w, R19.y;
  14484. MUL.F32 R7.y, R7.w, R8.x;
  14485. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14486. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  14487. TRUNC.U R7.w, R7;
  14488. TRUNC.U R8.x, R8;
  14489. AND.U.CC HC.x, R7.w, R8;
  14490. MOV.S R18.w, R7.x;
  14491. IF NE.x;
  14492. MOV.F R7.x, R7.y;
  14493. ELSE;
  14494. MOV.F R7.x, {0, 0, 0, 0};
  14495. ENDIF;
  14496. MOV.F R7.w, c[12].x;
  14497. MOV.F R7.y, R18.z;
  14498. ADD.F32 R7.y, R7, R7.w;
  14499. MOV.F R8.z, R18.x;
  14500. MOV.F R7.w, R25.z;
  14501. MOV.S R8.x, R7.y;
  14502. MUL.F32 R7.y, R7.w, R8.z;
  14503. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  14504. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14505. TRUNC.U R8.z, R8;
  14506. TRUNC.U R7.w, R7;
  14507. AND.U.CC HC.x, R7.w, R8.z;
  14508. MOV.S R9.y, R7.x;
  14509. IF NE.x;
  14510. MOV.F R7.x, R7.y;
  14511. ELSE;
  14512. MOV.F R7.x, {0, 0, 0, 0};
  14513. ENDIF;
  14514. MOV.F R8.z, R18.y;
  14515. MOV.F R7.w, R25.y;
  14516. MUL.F32 R7.y, R7.w, R8.z;
  14517. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  14518. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14519. TRUNC.U R8.z, R8;
  14520. TRUNC.U R7.w, R7;
  14521. AND.U.CC HC.x, R7.w, R8.z;
  14522. MOV.S R20.y, R7.x;
  14523. IF NE.x;
  14524. MOV.F R7.x, R7.y;
  14525. ELSE;
  14526. MOV.F R7.x, {0, 0, 0, 0};
  14527. ENDIF;
  14528. MOV.F R7.w, R18;
  14529. MOV.F R7.y, c[12];
  14530. ADD.F32 R7.y, R7, R7.w;
  14531. MOV.F R7.w, R10.y;
  14532. MOV.S R14.w, R7.y;
  14533. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  14534. MOV.S R18.x, R7.y;
  14535. MOV.F R7.y, R20;
  14536. SNE.F32 R7.w, R7.y, {0, 0, 0, 0}.x;
  14537. MOV.F R11.w, c[10];
  14538. TRUNC.U R12.w, R7;
  14539. MOV.F R8.z, R9.y;
  14540. MOV.F R7.w, c[12].z;
  14541. ADD.F32 R7.w, R7, R8.z;
  14542. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  14543. MOV.S R14.x, R7.w;
  14544. TRUNC.U R7.w, R8.z;
  14545. AND.U.CC HC.x, R12.w, R7.w;
  14546. MUL.F32 R7.y, R7, R11.w;
  14547. MOV.S R20.z, R7.x;
  14548. IF NE.x;
  14549. MOV.F R7.x, R7.y;
  14550. ELSE;
  14551. MOV.F R7.x, {0, 0, 0, 0};
  14552. ENDIF;
  14553. MOV.F R8.z, c[10];
  14554. MOV.F R7.w, R20.z;
  14555. MUL.F32 R7.y, R7.w, R8.z;
  14556. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  14557. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  14558. TRUNC.U R7.w, R7;
  14559. TRUNC.U R8.z, R8;
  14560. AND.U.CC HC.x, R7.w, R8.z;
  14561. MOV.S R18.z, R7.x;
  14562. IF NE.x;
  14563. MOV.F R7.x, R7.y;
  14564. ELSE;
  14565. MOV.F R7.x, {0, 0, 0, 0};
  14566. ENDIF;
  14567. MOV.F R7.w, R10.x;
  14568. MUL.F32 R7.w, R7, {2, 0, 0, 0}.x;
  14569. MOV.S R20.z, R7.w;
  14570. MOV.F R8.z, R10;
  14571. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  14572. MOV.F R7.w, R18.x;
  14573. FLR.F R7.w, R7;
  14574. MOV.F R9.y, R4.z;
  14575. MOV.F R11.w, R18.z;
  14576. MOV.S R20.x, R7.w;
  14577. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  14578. MUL.F32 R7.y, R9, R11.w;
  14579. MOV.S R20.y, R8.z;
  14580. TRUNC.U R8.z, R7.w;
  14581. SNE.F32 R9.y, R11.w, {0, 0, 0, 0}.x;
  14582. TRUNC.U R9.y, R9;
  14583. AND.U.CC HC.x, R8.z, R9.y;
  14584. MOV.S R7.w, R7.x;
  14585. IF NE.x;
  14586. MOV.F R7.x, R7.y;
  14587. ELSE;
  14588. MOV.F R7.x, {0, 0, 0, 0};
  14589. ENDIF;
  14590. MOV.F R9.y, c[13].x;
  14591. MOV.F R8.z, R21.x;
  14592. MUL.F32 R7.y, R8.z, R9;
  14593. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  14594. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14595. TRUNC.U R8.z, R8;
  14596. TRUNC.U R9.y, R9;
  14597. AND.U.CC HC.x, R8.z, R9.y;
  14598. MOV.S R12.w, R7.x;
  14599. IF NE.x;
  14600. MOV.F R7.x, R7.y;
  14601. ELSE;
  14602. MOV.F R7.x, {0, 0, 0, 0};
  14603. ENDIF;
  14604. MOV.F R7.y, R20;
  14605. FLR.F R7.y, R7;
  14606. MOV.F R8.z, R20.x;
  14607. MOV.S R18.x, R7.y;
  14608. SGT.F32 R7.y, {0, 0, 0, 0}.x, R8.z;
  14609. TRUNC.U.CC HC.x, R7.y;
  14610. MOV.S R8.z, R7.x;
  14611. IF NE.x;
  14612. MOV.F R7.x, {1, 0, 0, 0};
  14613. ELSE;
  14614. MOV.F R7.x, {0, 0, 0, 0};
  14615. ENDIF;
  14616. MOV.F R7.y, R20.x;
  14617. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14618. TRUNC.U.CC HC.x, R7.y;
  14619. MOV.S R18.y, R7.x;
  14620. IF NE.x;
  14621. MOV.F R7.x, {1, 0, 0, 0};
  14622. ELSE;
  14623. MOV.F R7.x, {0, 0, 0, 0};
  14624. ENDIF;
  14625. MOV.F R7.y, R20.z;
  14626. FLR.F R7.y, R7;
  14627. MOV.S R18.w, R7.y;
  14628. MOV.F R7.y, R17.z;
  14629. SNE.F32 R11.w, R7.y, {0, 0, 0, 0}.x;
  14630. MOV.F R9.y, c[13];
  14631. MUL.F32 R7.y, R7, R9;
  14632. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14633. TRUNC.U R11.w, R11;
  14634. TRUNC.U R9.y, R9;
  14635. AND.U.CC HC.x, R11.w, R9.y;
  14636. MOV.S R18.z, R7.x;
  14637. IF NE.x;
  14638. MOV.F R7.x, R7.y;
  14639. ELSE;
  14640. MOV.F R7.x, {0, 0, 0, 0};
  14641. ENDIF;
  14642. MOV.F R9.y, R18;
  14643. MOV.F R7.y, R18.z;
  14644. ADD.F32 R7.y, R7, -R9;
  14645. MOV.S R25.x, R7.y;
  14646. MOV.F R7.y, R18.x;
  14647. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14648. TRUNC.U.CC HC.x, R7.y;
  14649. MOV.S R7.x, R7;
  14650. IF NE.x;
  14651. MOV.F R7.y, {1, 0, 0, 0}.x;
  14652. ELSE;
  14653. MOV.F R7.y, {0, 0, 0, 0}.x;
  14654. ENDIF;
  14655. MOV.F R9.y, R18.x;
  14656. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  14657. TRUNC.U.CC HC.x, R9.y;
  14658. MOV.S R20.y, R7;
  14659. IF NE.x;
  14660. MOV.F R7.y, {1, 0, 0, 0}.x;
  14661. ELSE;
  14662. MOV.F R7.y, {0, 0, 0, 0}.x;
  14663. ENDIF;
  14664. MOV.F R9.y, R18.w;
  14665. SGT.F32 R9.y, R9, {0, 0, 0, 0}.x;
  14666. TRUNC.U.CC HC.x, R9.y;
  14667. MOV.S R20.z, R7.y;
  14668. IF NE.x;
  14669. MOV.F R7.y, {1, 0, 0, 0}.x;
  14670. ELSE;
  14671. MOV.F R7.y, {0, 0, 0, 0}.x;
  14672. ENDIF;
  14673. MOV.F R9.y, R18.w;
  14674. SGT.F32 R9.y, {0, 0, 0, 0}.x, R9;
  14675. TRUNC.U.CC HC.x, R9.y;
  14676. MOV.S R20.w, R7.y;
  14677. IF NE.x;
  14678. MOV.F R7.y, {1, 0, 0, 0}.x;
  14679. ELSE;
  14680. MOV.F R7.y, {0, 0, 0, 0}.x;
  14681. ENDIF;
  14682. MOV.F R9.y, R20.w;
  14683. ADD.F32 R7.y, R9, -R7;
  14684. MOV.F R13.w, R20.z;
  14685. MOV.F R11.w, R20.y;
  14686. ADD.F32 R11.w, R11, -R13;
  14687. MOV.S R11.w, R11;
  14688. MOV.S R25.z, R7.y;
  14689. MOV.S R13.w, c[0];
  14690. ENDIF;
  14691. SEQ.U R7.y, R26.z, {1, 0, 0, 0}.x;
  14692. MOV.U.CC RC.x, -R7.y;
  14693. IF NE.x;
  14694. AND.S R1.x, c[14], {65536, 0, 0, 0};
  14695. I2F.S R1.x, R1;
  14696. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1.x;
  14697. TRUNC.U.CC HC.x, R1.y;
  14698. AND.S R19.y, c[14].x, {262144, 0, 0, 0}.x;
  14699. AND.S R17.z, c[14].x, {131072, 0, 0, 0}.x;
  14700. MOV.S R9.y, R1.x;
  14701. IF NE.x;
  14702. MOV.F R1.x, {1, 0, 0, 0};
  14703. ELSE;
  14704. MOV.F R1.x, {0, 0, 0, 0};
  14705. ENDIF;
  14706. MOV.F R1.y, R9;
  14707. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  14708. TRUNC.U.CC HC.x, R1.y;
  14709. MOV.S R20.x, R1;
  14710. IF NE.x;
  14711. MOV.F R1.x, {1, 0, 0, 0};
  14712. ELSE;
  14713. MOV.F R1.x, {0, 0, 0, 0};
  14714. ENDIF;
  14715. MOV.F R1.y, R1.z;
  14716. SNE.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  14717. MOV.F R1.z, c[13];
  14718. MUL.F32 R1.y, R1, R1.z;
  14719. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  14720. TRUNC.U R4.z, R4;
  14721. TRUNC.U R1.z, R1;
  14722. AND.U.CC HC.x, R4.z, R1.z;
  14723. MOV.S R20.y, R1.x;
  14724. IF NE.x;
  14725. MOV.F R1.x, R1.y;
  14726. ELSE;
  14727. MOV.F R1.x, {0, 0, 0, 0};
  14728. ENDIF;
  14729. I2F.S R1.y, R17.z;
  14730. MOV.S R18.z, R1.y;
  14731. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  14732. TRUNC.U.CC HC.x, R1.y;
  14733. MOV.S R19.z, R1.x;
  14734. IF NE.x;
  14735. MOV.F R1.x, {1, 0, 0, 0};
  14736. ELSE;
  14737. MOV.F R1.x, {0, 0, 0, 0};
  14738. ENDIF;
  14739. MOV.F R1.y, R18.z;
  14740. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  14741. TRUNC.U.CC HC.x, R1.y;
  14742. MOV.S R18.x, R1;
  14743. IF NE.x;
  14744. MOV.F R1.x, {1, 0, 0, 0};
  14745. ELSE;
  14746. MOV.F R1.x, {0, 0, 0, 0};
  14747. ENDIF;
  14748. MOV.F R1.z, R20.x;
  14749. MOV.F R1.y, R20;
  14750. ADD.F32 R1.y, R1, -R1.z;
  14751. MOV.S R18.w, R1.y;
  14752. I2F.S R1.y, R19;
  14753. MOV.S R9.y, R1;
  14754. SGT.F32 R1.y, {0, 0, 0, 0}.x, R1;
  14755. TRUNC.U.CC HC.x, R1.y;
  14756. MOV.S R18.y, R1.x;
  14757. IF NE.x;
  14758. MOV.F R1.x, {1, 0, 0, 0};
  14759. ELSE;
  14760. MOV.F R1.x, {0, 0, 0, 0};
  14761. ENDIF;
  14762. MOV.F R1.z, R18.y;
  14763. MOV.F R1.y, R18.x;
  14764. ADD.F32 R1.y, R1, -R1.z;
  14765. MOV.S R20.z, R1.y;
  14766. MOV.F R1.y, R9;
  14767. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  14768. TRUNC.U.CC HC.x, R1.y;
  14769. MOV.S R20.x, R1;
  14770. IF NE.x;
  14771. MOV.F R1.x, {1, 0, 0, 0};
  14772. ELSE;
  14773. MOV.F R1.x, {0, 0, 0, 0};
  14774. ENDIF;
  14775. MOV.F R4.z, R20.x;
  14776. ADD.F32 R1.x, R1, -R4.z;
  14777. MOV.F R1.z, R18.w;
  14778. TRUNC.S R1.z, R1;
  14779. MOV.F R1.y, R20.z;
  14780. TRUNC.S R1.y, R1;
  14781. ADD.S R7.y, -R1.z, {0, 0, 0, 0}.x;
  14782. MOV.S R18.y, R1.x;
  14783. MOV.F R1.x, c[12].w;
  14784. SEQ.F R1.x, R1, {1, 0, 0, 0};
  14785. TRUNC.U.CC HC.x, R1;
  14786. MAX.S R20.x, R1.z, R7.y;
  14787. ADD.S R20.y, -R1, {0, 0, 0, 0}.x;
  14788. MOV.S R19.y, R1;
  14789. IF NE.x;
  14790. MOV.S R1.x, {-1, 0, 0, 0};
  14791. ELSE;
  14792. MOV.S R1.x, {0, 0, 0, 0};
  14793. ENDIF;
  14794. MOV.F R1.y, R18;
  14795. TRUNC.S R21.x, R1.y;
  14796. I2F.S R1.y, R20.x;
  14797. MUL.F32 R1.z, R1.y, {2, 0, 0, 0}.x;
  14798. MOV.F R4.z, R25.x;
  14799. MUL.F32 R1.y, -R1.z, R4.z;
  14800. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14801. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  14802. TRUNC.U R4.z, R4;
  14803. TRUNC.U R1.z, R1;
  14804. AND.U.CC HC.x, R1.z, R4.z;
  14805. MAX.S R18.w, R19.y, R20.y;
  14806. ADD.S R18.x, -R21, {0, 0, 0, 0};
  14807. IF NE.x;
  14808. ELSE;
  14809. MOV.F R1.y, {0, 0, 0, 0}.x;
  14810. ENDIF;
  14811. MOV.F R4.z, R11.w;
  14812. SNE.F32 R9.y, R4.z, {0, 0, 0, 0}.x;
  14813. I2F.S R1.z, R18.w;
  14814. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  14815. SNE.F32 R7.y, -R1.z, {0, 0, 0, 0}.x;
  14816. MUL.F32 R1.z, -R1, R4;
  14817. MOV.F R4.z, c[12].w;
  14818. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  14819. TRUNC.U R7.y, R7;
  14820. TRUNC.U R9.y, R9;
  14821. AND.U.CC HC.x, R7.y, R9.y;
  14822. MAX.S R20.z, R21.x, R18.x;
  14823. MOV.S R20.y, R1;
  14824. MOV.S R23.w, R4.z;
  14825. IF NE.x;
  14826. MOV.F R1.y, R1.z;
  14827. ELSE;
  14828. MOV.F R1.y, {0, 0, 0, 0}.x;
  14829. ENDIF;
  14830. MOV.F R7.y, R20;
  14831. MOV.F R4.z, R8.x;
  14832. MUL.F32 R1.z, R4, R7.y;
  14833. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14834. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14835. TRUNC.U R4.z, R4;
  14836. TRUNC.U R7.y, R7;
  14837. AND.U.CC HC.x, R4.z, R7.y;
  14838. MOV.S R18.x, R1.y;
  14839. IF NE.x;
  14840. MOV.F R1.y, R1.z;
  14841. ELSE;
  14842. MOV.F R1.y, {0, 0, 0, 0}.x;
  14843. ENDIF;
  14844. MOV.F R7.y, R20;
  14845. MOV.F R4.z, R11.x;
  14846. MUL.F32 R1.z, R4, R7.y;
  14847. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14848. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14849. TRUNC.U R4.z, R4;
  14850. TRUNC.U R7.y, R7;
  14851. AND.U.CC HC.x, R4.z, R7.y;
  14852. MOV.S R18.y, R1;
  14853. IF NE.x;
  14854. MOV.F R1.y, R1.z;
  14855. ELSE;
  14856. MOV.F R1.y, {0, 0, 0, 0}.x;
  14857. ENDIF;
  14858. I2F.S R1.z, R20;
  14859. MUL.F32 R4.z, R1, {2, 0, 0, 0}.x;
  14860. MOV.F R7.y, R25.z;
  14861. MUL.F32 R1.z, -R4, R7.y;
  14862. SNE.F32 R4.z, -R4, {0, 0, 0, 0}.x;
  14863. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14864. TRUNC.U R4.z, R4;
  14865. TRUNC.U R7.y, R7;
  14866. AND.U.CC HC.x, R4.z, R7.y;
  14867. MOV.S R18.z, R1.y;
  14868. IF NE.x;
  14869. MOV.F R1.y, R1.z;
  14870. ELSE;
  14871. MOV.F R1.y, {0, 0, 0, 0}.x;
  14872. ENDIF;
  14873. MOV.F R4.z, R18;
  14874. MOV.F R1.z, R11.x;
  14875. ADD.F32 R1.z, R1, R4;
  14876. MOV.F R7.y, R18.x;
  14877. MOV.F R4.z, R14.w;
  14878. MOV.S R20.y, R1.z;
  14879. MUL.F32 R1.z, R4, R7.y;
  14880. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14881. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14882. TRUNC.U R4.z, R4;
  14883. TRUNC.U R7.y, R7;
  14884. AND.U.CC HC.x, R4.z, R7.y;
  14885. MOV.S R20.x, R1.y;
  14886. IF NE.x;
  14887. MOV.F R1.y, R1.z;
  14888. ELSE;
  14889. MOV.F R1.y, {0, 0, 0, 0}.x;
  14890. ENDIF;
  14891. MOV.F R4.z, R18.y;
  14892. MOV.F R1.z, R8.x;
  14893. ADD.F32 R1.z, R1, R4;
  14894. MOV.F R7.y, R18.x;
  14895. MOV.F R4.z, R11.y;
  14896. MOV.S R17.w, R1.z;
  14897. MUL.F32 R1.z, R4, R7.y;
  14898. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14899. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14900. TRUNC.U R4.z, R4;
  14901. TRUNC.U R7.y, R7;
  14902. AND.U.CC HC.x, R4.z, R7.y;
  14903. MOV.S R20.z, R1.y;
  14904. IF NE.x;
  14905. MOV.F R1.y, R1.z;
  14906. ELSE;
  14907. MOV.F R1.y, {0, 0, 0, 0}.x;
  14908. ENDIF;
  14909. MOV.F R4.z, R20;
  14910. MOV.F R1.z, R14.w;
  14911. ADD.F32 R1.z, R1, R4;
  14912. MOV.S R21.z, R1;
  14913. MOV.F R1.z, R20.y;
  14914. MOV.F R4.z, R8;
  14915. ADD.F32 R4.z, R1, R4;
  14916. MOV.F R1.z, R11.y;
  14917. ADD.F32 R1.z, R1, R1.y;
  14918. MOV.S R21.y, R4.z;
  14919. MOV.F R4.z, R14.x;
  14920. MOV.F R7.y, R20.x;
  14921. MUL.F32 R1.y, R4.z, R7;
  14922. MOV.S R18.x, R1.z;
  14923. SNE.F32 R1.z, R4, {0, 0, 0, 0}.x;
  14924. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14925. TRUNC.U R4.z, R7.y;
  14926. TRUNC.U R1.z, R1;
  14927. AND.U.CC HC.x, R1.z, R4.z;
  14928. IF NE.x;
  14929. ELSE;
  14930. MOV.F R1.y, {0, 0, 0, 0}.x;
  14931. ENDIF;
  14932. MOV.F R7.y, R20.x;
  14933. MOV.F R4.z, R11;
  14934. MUL.F32 R1.z, R4, R7.y;
  14935. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  14936. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14937. TRUNC.U R4.z, R4;
  14938. TRUNC.U R7.y, R7;
  14939. AND.U.CC HC.x, R4.z, R7.y;
  14940. MOV.S R18.w, R1.y;
  14941. IF NE.x;
  14942. MOV.F R1.y, R1.z;
  14943. ELSE;
  14944. MOV.F R1.y, {0, 0, 0, 0}.x;
  14945. ENDIF;
  14946. MOV.F R4.z, R7.x;
  14947. MOV.F R1.z, R18.x;
  14948. ADD.F32 R1.z, R1, R4;
  14949. MOV.S R21.x, R1.z;
  14950. MOV.F R1.z, c[12].w;
  14951. MAX.F R1.z, R1, {0, 0, 0, 0}.x;
  14952. LG2.F32 R1.z, R1.z;
  14953. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  14954. MOV.F R7.y, R18.w;
  14955. MOV.F R4.z, R14.x;
  14956. ADD.F32 R4.z, R4, R7.y;
  14957. MOV.S R19.y, R4.z;
  14958. MOV.F R4.z, R11;
  14959. ADD.F32 R1.y, R4.z, R1;
  14960. MUL.F32 R7.y, R1.z, {2, 0, 0, 0}.x;
  14961. SEQ.F R7.y, R1.z, R7;
  14962. TRUNC.U R9.y, R9;
  14963. TRUNC.U R7.y, R7;
  14964. AND.U R7.y, R7, R9;
  14965. SEQ.U R4.z, R7.y, {1, 0, 0, 0}.x;
  14966. MOV.U.CC RC.x, -R4.z;
  14967. MOV.S R20.w, R1.y;
  14968. IF NE.x;
  14969. MOV.F R1.z, {-3.40282347e+38, 0, 0, 0}.x;
  14970. ENDIF;
  14971. MOV.F R4.z, R19;
  14972. MOV.F R1.y, R20.w;
  14973. ADD.F32 R1.y, R1, R4.z;
  14974. MOV.F R4.z, c[15].x;
  14975. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  14976. MOV.S R18.z, R4;
  14977. MOV.F R7.y, R9.w;
  14978. MOV.S R23.y, R1;
  14979. MUL.F32 R1.y, R7, R1.z;
  14980. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  14981. MOV.F R4.z, c[15].y;
  14982. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  14983. MUL.F32 R1.z, R4, {0.5, 0, 0, 0}.x;
  14984. TRUNC.U R7.y, R7;
  14985. TRUNC.U R4.z, R9.y;
  14986. AND.U.CC HC.x, R7.y, R4.z;
  14987. MOV.S R18.x, R1.z;
  14988. IF NE.x;
  14989. ELSE;
  14990. MOV.F R1.y, {0, 0, 0, 0}.x;
  14991. ENDIF;
  14992. MOV.F R1.z, R4.x;
  14993. MOV.F R4.z, R18;
  14994. ADD.F32 R1.z, R1, R4;
  14995. MOV.F R4.x, R23.w;
  14996. RCP.F32 R4.x, R4.x;
  14997. MOV.S R19.z, R4.x;
  14998. EX2.F32 R1.y, R1.y;
  14999. SNE.F32 R4.x, R7.w, {0, 0, 0, 0};
  15000. MOV.F R4.z, R18.x;
  15001. MOV.S R20.x, R1.z;
  15002. ADD.F32 R1.z, R4.y, R4;
  15003. SNE.F32 R4.y, R4, -R4.z;
  15004. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  15005. TRUNC.U R4.y, R4;
  15006. TRUNC.U R4.x, R4;
  15007. AND.U.CC HC.x, R4, R4.y;
  15008. MUL.F32 R1.z, R7.w, R1;
  15009. MOV.S R7.y, R8;
  15010. MOV.S R18.x, R1.y;
  15011. IF NE.x;
  15012. MOV.F R1.y, R1.z;
  15013. ELSE;
  15014. MOV.F R1.y, {0, 0, 0, 0}.x;
  15015. ENDIF;
  15016. MOV.F R1.z, R20.x;
  15017. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  15018. MOV.F R4.x, R7.y;
  15019. MUL.F32 R1.z, R4.x, R1;
  15020. TRUNC.U R4.y, R4;
  15021. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15022. MOV.S R8.y, R1;
  15023. TRUNC.U R1.y, R4.x;
  15024. AND.U.CC HC.x, R1.y, R4.y;
  15025. IF NE.x;
  15026. MOV.F R1.y, R1.z;
  15027. ELSE;
  15028. MOV.F R1.y, {0, 0, 0, 0}.x;
  15029. ENDIF;
  15030. SEQ.S R1.x, R1, {0, 0, 0, 0};
  15031. MOV.U.CC RC.x, -R1;
  15032. MOV.F R4.x, R19.z;
  15033. MOV.F R1.z, R18.x;
  15034. MUL.F32 R1.z, R1, R4.x;
  15035. MOV.S R20.y, R1.z;
  15036. MOV.S R4.z, R1.y;
  15037. IF NE.x;
  15038. MOV.S R1.x, R20.y;
  15039. ELSE;
  15040. MOV.S R1.x, R9.w;
  15041. ENDIF;
  15042. MOV.F R4.x, R1;
  15043. MOV.F R1.z, R19.y;
  15044. MUL.F32 R1.y, R1.z, R4.x;
  15045. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15046. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15047. TRUNC.U R4.x, R4;
  15048. TRUNC.U R1.z, R1;
  15049. AND.U.CC HC.x, R1.z, R4;
  15050. IF NE.x;
  15051. ELSE;
  15052. MOV.F R1.y, {0, 0, 0, 0}.x;
  15053. ENDIF;
  15054. MOV.F R4.y, R1.x;
  15055. MOV.F R4.x, R21.z;
  15056. MUL.F32 R1.z, R4.x, R4.y;
  15057. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15058. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  15059. TRUNC.U R4.x, R4;
  15060. TRUNC.U R4.y, R4;
  15061. AND.U.CC HC.x, R4, R4.y;
  15062. MOV.S R20.y, R1;
  15063. IF NE.x;
  15064. MOV.F R1.y, R1.z;
  15065. ELSE;
  15066. MOV.F R1.y, {0, 0, 0, 0}.x;
  15067. ENDIF;
  15068. MOV.F R4.x, R1;
  15069. MOV.F R1.z, R17.w;
  15070. MUL.F32 R1.x, R1.z, R4;
  15071. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15072. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15073. TRUNC.U R1.z, R1;
  15074. TRUNC.U R4.x, R4;
  15075. AND.U.CC HC.x, R1.z, R4;
  15076. MOV.S R20.z, R1.y;
  15077. IF NE.x;
  15078. ELSE;
  15079. MOV.F R1.x, {0, 0, 0, 0};
  15080. ENDIF;
  15081. MOV.F R4.y, R21;
  15082. ADD.F32 R1.x, R4.y, R1;
  15083. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  15084. MOV.F R1.z, R20;
  15085. MOV.F R1.y, R21.x;
  15086. ADD.F32 R1.y, R1, R1.z;
  15087. MAD.F32 R4.x, R1.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  15088. MOV.F R1.z, R20.y;
  15089. MOV.F R1.y, R23;
  15090. ADD.F32 R1.y, R1, R1.z;
  15091. FRC.F32 R1.z, R4.x;
  15092. MAD.F32 R1.z, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  15093. MUL.F32 R4.x, R1.z, {0.159154937, 0, 0, 0};
  15094. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  15095. FRC.F32 R1.y, R1;
  15096. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  15097. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  15098. MOV.S R21.y, R1;
  15099. SIN.F32 R1.y, R1.z;
  15100. MOV.S R1.y, R1;
  15101. MOV.S R1.z, R1.y;
  15102. MOV.S R21.x, R4;
  15103. MOV.F R4.x, R1.z;
  15104. FRC.F32 R1.x, R1;
  15105. MOV.S R17.w, R1.y;
  15106. MAD.F32 R1.y, R1.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  15107. COS.F32 R1.z, R1.y;
  15108. SIN.F32 R1.y, R1.y;
  15109. MUL.F32 R1.x, R1.z, R4;
  15110. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15111. MOV.S R19.y, R1;
  15112. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  15113. TRUNC.U R4.x, R4;
  15114. TRUNC.U R1.y, R1;
  15115. AND.U.CC HC.x, R1.y, R4;
  15116. MOV.S R23.x, R1.z;
  15117. IF NE.x;
  15118. ELSE;
  15119. MOV.F R1.x, {0, 0, 0, 0};
  15120. ENDIF;
  15121. MOV.F R4.x, R17.w;
  15122. MOV.F R1.z, R19.y;
  15123. MUL.F32 R1.y, R1.z, R4.x;
  15124. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15125. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15126. TRUNC.U R1.z, R1;
  15127. TRUNC.U R4.x, R4;
  15128. AND.U.CC HC.x, R1.z, R4;
  15129. MOV.S R17.z, R1.x;
  15130. IF NE.x;
  15131. MOV.F R1.x, R1.y;
  15132. ELSE;
  15133. MOV.F R1.x, {0, 0, 0, 0};
  15134. ENDIF;
  15135. MOV.F R1.y, R21.x;
  15136. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  15137. COS.F32 R1.z, R1.y;
  15138. MOV.F R4.x, R23;
  15139. MUL.F32 R1.y, R1.z, R4.x;
  15140. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15141. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  15142. MOV.S R21.z, R1;
  15143. TRUNC.U R1.z, R4.x;
  15144. TRUNC.U R4.x, R4.y;
  15145. AND.U.CC HC.x, R1.z, R4;
  15146. MOV.S R23.w, R1.x;
  15147. IF NE.x;
  15148. MOV.F R1.x, R1.y;
  15149. ELSE;
  15150. MOV.F R1.x, {0, 0, 0, 0};
  15151. ENDIF;
  15152. MOV.F R4.x, R21.z;
  15153. MOV.F R1.z, R19.y;
  15154. MUL.F32 R1.y, R1.z, R4.x;
  15155. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15156. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15157. TRUNC.U R1.z, R1;
  15158. TRUNC.U R4.x, R4;
  15159. AND.U.CC HC.x, R1.z, R4;
  15160. MOV.S R17.x, R1;
  15161. IF NE.x;
  15162. MOV.F R1.x, R1.y;
  15163. ELSE;
  15164. MOV.F R1.x, {0, 0, 0, 0};
  15165. ENDIF;
  15166. MOV.F R1.y, R21;
  15167. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  15168. SIN.F32 R1.z, R1.y;
  15169. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  15170. MOV.S R17.y, R1.z;
  15171. MUL.F32 R1.y, R1.x, R1.z;
  15172. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15173. TRUNC.U R1.z, R1;
  15174. TRUNC.U R4.x, R4;
  15175. AND.U.CC HC.x, R1.z, R4;
  15176. MOV.S R7.y, R21;
  15177. MOV.S R23.y, R1.x;
  15178. IF NE.x;
  15179. MOV.F R1.x, R1.y;
  15180. ELSE;
  15181. MOV.F R1.x, {0, 0, 0, 0};
  15182. ENDIF;
  15183. MOV.F R1.z, R17.y;
  15184. MOV.F R4.x, -R1.z;
  15185. MOV.F R4.y, R17.x;
  15186. MUL.F32 R1.y, R1.z, R4;
  15187. MOV.S R21.y, R4.x;
  15188. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15189. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  15190. TRUNC.U R1.z, R1;
  15191. TRUNC.U R4.x, R4;
  15192. AND.U.CC HC.x, R1.z, R4;
  15193. MOV.S R18.x, R1;
  15194. IF NE.x;
  15195. MOV.F R1.x, R1.y;
  15196. ELSE;
  15197. MOV.F R1.x, {0, 0, 0, 0};
  15198. ENDIF;
  15199. MOV.F R4.x, R17.z;
  15200. MOV.F R1.z, R17.y;
  15201. MUL.F32 R1.y, R1.z, R4.x;
  15202. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15203. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15204. TRUNC.U R1.z, R1;
  15205. TRUNC.U R4.x, R4;
  15206. AND.U.CC HC.x, R1.z, R4;
  15207. MOV.S R18.z, R1.x;
  15208. IF NE.x;
  15209. MOV.F R1.x, R1.y;
  15210. ELSE;
  15211. MOV.F R1.x, {0, 0, 0, 0};
  15212. ENDIF;
  15213. MOV.F R1.y, R7;
  15214. MOV.F R1.z, R17;
  15215. MOV.F R4.x, R18;
  15216. ADD.F32 R4.y, -R1.z, R4.x;
  15217. MOV.F R4.x, R18.z;
  15218. MOV.F R1.z, R23.w;
  15219. ADD.F32 R1.z, R1, R4.x;
  15220. MOV.S R7.y, R23.x;
  15221. MOV.S R23.x, R1.z;
  15222. MOV.F R1.z, R23.y;
  15223. ADD.F32 R1.x, -R1.z, R1;
  15224. MOV.S R20.y, R1.x;
  15225. MUL.F32 R1.x, R1.y, {6.28318548, 0, 0, 0};
  15226. COS.F32 R1.y, R1.x;
  15227. MOV.F R1.z, R21;
  15228. MUL.F32 R1.x, R1.y, R1.z;
  15229. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15230. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  15231. TRUNC.U R1.z, R1;
  15232. TRUNC.U R4.x, R4;
  15233. AND.U.CC HC.x, R1.z, R4;
  15234. MOV.S R11.z, R4.y;
  15235. MOV.S R21.x, R1.y;
  15236. IF NE.x;
  15237. ELSE;
  15238. MOV.F R1.x, {0, 0, 0, 0};
  15239. ENDIF;
  15240. MOV.F R1.y, R21.x;
  15241. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  15242. MOV.F R1.z, R7.y;
  15243. MUL.F32 R1.y, R1.z, R1;
  15244. TRUNC.U R4.x, R4;
  15245. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15246. MOV.S R19.w, R1.x;
  15247. TRUNC.U R1.x, R1.z;
  15248. AND.U.CC HC.x, R1, R4;
  15249. IF NE.x;
  15250. MOV.F R1.x, R1.y;
  15251. ELSE;
  15252. MOV.F R1.x, {0, 0, 0, 0};
  15253. ENDIF;
  15254. MOV.F R4.x, R21;
  15255. MOV.F R1.z, R19.y;
  15256. MUL.F32 R1.y, R1.z, R4.x;
  15257. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15258. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15259. TRUNC.U R1.z, R1;
  15260. TRUNC.U R4.x, R4;
  15261. AND.U.CC HC.x, R1.z, R4;
  15262. MOV.S R7.y, R21.x;
  15263. MOV.S R23.y, R1.x;
  15264. IF NE.x;
  15265. MOV.F R1.x, R1.y;
  15266. ELSE;
  15267. MOV.F R1.x, {0, 0, 0, 0};
  15268. ENDIF;
  15269. MOV.F R4.x, R23.w;
  15270. MOV.F R1.z, R17.y;
  15271. MUL.F32 R1.y, R1.z, R4.x;
  15272. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15273. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15274. TRUNC.U R1.z, R1;
  15275. TRUNC.U R4.x, R4;
  15276. AND.U.CC HC.x, R1.z, R4;
  15277. MOV.S R21.x, R1;
  15278. IF NE.x;
  15279. MOV.F R1.x, R1.y;
  15280. ELSE;
  15281. MOV.F R1.x, {0, 0, 0, 0};
  15282. ENDIF;
  15283. MOV.F R4.x, R12.w;
  15284. MOV.F R1.z, R20.y;
  15285. MUL.F32 R1.y, R1.z, R4.x;
  15286. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15287. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15288. TRUNC.U R1.z, R1;
  15289. TRUNC.U R4.x, R4;
  15290. AND.U.CC HC.x, R1.z, R4;
  15291. MOV.S R18.y, R1.x;
  15292. IF NE.x;
  15293. MOV.F R1.x, R1.y;
  15294. ELSE;
  15295. MOV.F R1.x, {0, 0, 0, 0};
  15296. ENDIF;
  15297. MOV.F R4.x, R7.y;
  15298. MOV.F R1.z, R17.w;
  15299. MUL.F32 R1.y, R1.z, R4.x;
  15300. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  15301. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15302. TRUNC.U R1.z, R1;
  15303. TRUNC.U R4.x, R4;
  15304. AND.U.CC HC.x, R1.z, R4;
  15305. MOV.S R18.z, R1.x;
  15306. IF NE.x;
  15307. MOV.F R1.x, R1.y;
  15308. ELSE;
  15309. MOV.F R1.x, {0, 0, 0, 0};
  15310. ENDIF;
  15311. MOV.F R4.x, R23.y;
  15312. MOV.F R1.z,
  15313. [17:15:05] Link error in shader. Log:
  15314. [17:15:05] Vertex info
  15315. -----------
  15316. Internal error: assembly compile error for vertex shader at offset 2115:
  15317. -- error message --
  15318. line 44, column 45: error: invalid vertex attribute reference
  15319. line 78, column 25: error: invalid vertex attribute reference
  15320. line 79, column 25: error: invalid vertex attribute reference
  15321. line 81, column 25: error: invalid vertex attribute reference
  15322. line 85, column 25: error: invalid vertex attribute reference
  15323. -- internal assembly text --
  15324. !!NVvp5.0
  15325. OPTION NV_internal;
  15326. OPTION NV_gpu_program_fp64;
  15327. OPTION NV_bindless_texture;
  15328. # cgc version 3.4.0001, build date Oct 22 2020
  15329. # command line args:
  15330. #vendor NVIDIA Corporation
  15331. #version 3.4.0.1 COP Build Date Oct 22 2020
  15332. #profile gp5vp
  15333. #program main
  15334. #semantic textureUnitVS13 : TEXUNIT[0]
  15335. #semantic uf_remappedVS
  15336. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  15337. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  15338. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  15339. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  15340. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  15341. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  15342. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 1
  15343. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  15344. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  15345. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  15346. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 0
  15347. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 0
  15348. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 0
  15349. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  15350. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  15351. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  15352. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  15353. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  15354. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  15355. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  15356. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  15357. #var float4 passParameterSem11 : $vout.ATTR6 : ATTR6 : -1 : 1
  15358. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  15359. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  15360. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  15361. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  15362. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  15363. #var ulong textureUnitVS13 : TEXUNIT[0] : c[51] : -1 : 1
  15364. #var int4 uf_remappedVS[0] : : c[0], 51 : -1 : 1
  15365. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  15366. PARAM c[52] = { program.local[0..51] };
  15367. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  15368. OUTPUT result_attrib[] = { result.attrib[0..7] };
  15369. 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;
  15370. LONG TEMP D0;
  15371. TEMP T;
  15372. TEMP RC;
  15373. SHORT TEMP HC;
  15374. SHR.U R1, vertex.attrib[11], {8, 0, 0, 0}.x;
  15375. SHL.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  15376. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15377. SHR.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  15378. OR.U R2, R2, R1;
  15379. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  15380. OR.U R1, R2, R1;
  15381. SHL.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  15382. OR.U R3, R1, R0;
  15383. SHR.U R1, vertex.attrib[14], {8, 0, 0, 0}.x;
  15384. SHL.U R0, vertex.attrib[14], {8, 0, 0, 0}.x;
  15385. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15386. SHR.U R2, vertex.attrib[14], {24, 0, 0, 0}.x;
  15387. OR.U R2, R2, R1;
  15388. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  15389. OR.U R1, R2, R1;
  15390. SHL.U R0, vertex.attrib[14], {24, 0, 0, 0}.x;
  15391. OR.U R4, R1, R0;
  15392. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  15393. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  15394. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15395. SHR.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  15396. OR.U R2, R2, R1;
  15397. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  15398. OR.U R1, R2, R1;
  15399. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  15400. OR.U R21, R1, R0;
  15401. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  15402. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  15403. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15404. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  15405. OR.U R2, R2, R1;
  15406. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  15407. OR.U R1, R2, R1;
  15408. SHL.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  15409. OR.U R5, R1, R0;
  15410. MOV.U R0.y, R21.w;
  15411. MOV.F R0.x, c[0];
  15412. ADD.F32 R7.x, -R0.y, R0;
  15413. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  15414. MOV.S R13.w, R7.x;
  15415. SGT.F32 R7.x, {0, 0, 0, 0}, R7;
  15416. TRUNC.U R18.w, R7.x;
  15417. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  15418. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  15419. AND.U R0, R0, {65280, 0, 0, 0}.x;
  15420. OR.U R0, R2, R0;
  15421. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  15422. OR.U R0, R0, R2;
  15423. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  15424. OR.U R16, R0, R1;
  15425. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  15426. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  15427. SHR.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  15428. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15429. OR.U R1, R2, R1;
  15430. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15431. OR.U R1, R1, R2;
  15432. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  15433. OR.U R9, R1, R0;
  15434. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  15435. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  15436. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  15437. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15438. OR.U R1, R2, R1;
  15439. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15440. OR.U R1, R1, R2;
  15441. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  15442. OR.U R6, R1, R0;
  15443. SHR.U R1, vertex.attrib[1], {8, 0, 0, 0}.x;
  15444. SHL.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  15445. SHR.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  15446. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15447. OR.U R1, R2, R1;
  15448. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15449. OR.U R1, R1, R2;
  15450. SHL.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  15451. OR.U R11, R1, R0;
  15452. SHR.U R1, vertex.attrib[2], {8, 0, 0, 0}.x;
  15453. SHL.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  15454. SHR.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  15455. AND.U R1, R1, {65280, 0, 0, 0}.x;
  15456. OR.U R1, R2, R1;
  15457. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15458. OR.U R1, R1, R2;
  15459. SHL.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  15460. OR.U R14, R1, R0;
  15461. SHR.U R1.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  15462. SHL.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  15463. SHR.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  15464. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  15465. OR.U R1.xyz, R2, R1;
  15466. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  15467. OR.U R1.xyz, R1, R2;
  15468. SHL.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  15469. OR.U R19.xyz, R1, R0;
  15470. SEQ.U R0.x, R18.w, {1, 0, 0, 0};
  15471. MOV.U R0.y, R19.x;
  15472. SEQ.U R24.x, -R0, {1, 0, 0, 0};
  15473. MOV.F R0.w, R0.y;
  15474. SHR.U R1.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  15475. MOV.U.CC RC.x, -R24;
  15476. SHL.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  15477. SHR.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  15478. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  15479. OR.U R1.xyz, R2, R1;
  15480. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  15481. OR.U R1.xyz, R1, R2;
  15482. SHL.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  15483. OR.U R20.xyz, R1, R0;
  15484. ADD.F32 R0.x, -R0.w, {1, 0, 0, 0};
  15485. MOV.U R0.y, R19;
  15486. MOV.F R0.w, R0.y;
  15487. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  15488. MOV.S R19.w, R0.x;
  15489. SHR.U R1.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15490. SHL.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15491. SHR.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15492. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  15493. OR.U R1.xyz, R2, R1;
  15494. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  15495. OR.U R1.xyz, R1, R2;
  15496. SHL.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15497. OR.U R13.xyz, R1, R0;
  15498. SHR.U R1.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15499. SHL.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15500. SHR.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15501. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  15502. OR.U R1.xyz, R2, R1;
  15503. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  15504. OR.U R1.xyz, R1, R2;
  15505. SHL.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15506. OR.U R15.xyz, R1, R0;
  15507. MOV.S R27.y, R0.w;
  15508. MOV.S R10, {0, 0, 0, 0}.x;
  15509. MOV.S R12, {0, 0, 0, 0}.x;
  15510. MOV.S R8, {0, 0, 0, 0}.x;
  15511. MOV.S R1, {0, 0, 0, 0}.x;
  15512. MOV.S R0, {0, 0, 0, 0}.x;
  15513. MOV.S R2, {0, 0, 0, 0}.x;
  15514. MOV.S R7, {0, 0, 0, 0}.x;
  15515. MOV.S R23.xyz, {0, 0, 0, 0}.x;
  15516. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  15517. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  15518. MOV.S R17.yzw, {0, 0, 0, 0};
  15519. MOV.S R17.x, vertex.id;
  15520. MOV.S R20.w, {1065353216, 0, 0, 0}.x;
  15521. MOV.S R15.w, {1065353216, 0, 0, 0}.x;
  15522. IF NE.x;
  15523. MOV.F R0.z, c[1].y;
  15524. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  15525. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  15526. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  15527. MOV.S R0.z, R0;
  15528. MOV.S R21.w, {1065353216, 0, 0, 0}.x;
  15529. ENDIF;
  15530. SEQ.U R18.w, R18, {0, 0, 0, 0}.x;
  15531. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  15532. SEQ.U R18.w, -R18, {1, 0, 0, 0}.x;
  15533. MOV.U.CC RC.x, -R18.w;
  15534. IF NE.x;
  15535. MOV.S R21.w, {0, 0, 0, 0}.x;
  15536. ENDIF;
  15537. SEQ.S R18.w, R21, {0, 0, 0, 0}.x;
  15538. SEQ.U R24.y, -R18.w, {1, 0, 0, 0}.x;
  15539. MOV.U R24.x, -R18.w;
  15540. SEQ.U R18.w, -R24.y, {1, 0, 0, 0}.x;
  15541. MOV.U.CC RC.x, -R18.w;
  15542. MOV.U R24.z, -R24.y;
  15543. IF NE.x;
  15544. MOV.F R17.x, R16.w;
  15545. TRUNC.S R17.x, R17;
  15546. I2F.S R24.y, R17.x;
  15547. MOV.F R17.x, R13.w;
  15548. SGE.F32 R17.x, R17, R24.y;
  15549. TRUNC.U R18.w, R17.x;
  15550. SEQ.U R17.x, R24.z, {1, 0, 0, 0};
  15551. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  15552. AND.U R18.w, -R18, -R17.x;
  15553. MOV.S R17.x, R24.y;
  15554. ELSE;
  15555. MOV.U R18.w, {0, 0, 0, 0}.x;
  15556. ENDIF;
  15557. SEQ.U R18.w, R18, {1, 0, 0, 0}.x;
  15558. MOV.U.CC RC.x, -R18.w;
  15559. IF NE.x;
  15560. MOV.F R0.x, c[1].y;
  15561. MUL.F32 R0.z, R0.x, {5, 0, 0, 0}.x;
  15562. MOV.S R0.xy, {0, 0, 0, 0};
  15563. MOV.S R0.z, R0;
  15564. MOV.S R18.x, {0, 0, 0, 0};
  15565. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  15566. ENDIF;
  15567. SEQ.U R24.x, R24, {1, 0, 0, 0};
  15568. SEQ.U R18.w, -R24.x, {1, 0, 0, 0}.x;
  15569. MOV.U.CC RC.x, -R18.w;
  15570. MOV.U R24.z, -R24.x;
  15571. IF NE.x;
  15572. SEQ.S R24.x, R17.w, {0, 0, 0, 0};
  15573. SEQ.U R18.w, R24.z, {1, 0, 0, 0}.x;
  15574. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  15575. AND.U R18.w, -R24.x, -R18;
  15576. ELSE;
  15577. MOV.U R18.w, {0, 0, 0, 0}.x;
  15578. ENDIF;
  15579. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  15580. MOV.U.CC RC.x, -R24;
  15581. IF NE.x;
  15582. MOV.F R4.x, R9;
  15583. MAX.F R4.x, R4, {0, 0, 0, 0};
  15584. MOV.S R19.z, R4.x;
  15585. MOV.F R4.x, c[4];
  15586. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  15587. TRUNC.U.CC HC.x, R4;
  15588. MOV.F R4.y, c[3].z;
  15589. MOV.F R4.z, R13.w;
  15590. ADD.F32 R4.y, R4.z, R4;
  15591. MOV.S R25.w, R4.y;
  15592. AND.S R24.y, c[2].x, {4, 0, 0, 0}.x;
  15593. AND.S R24.x, c[2], {2, 0, 0, 0};
  15594. AND.S R29.z, c[2].x, {1, 0, 0, 0}.x;
  15595. IF NE.x;
  15596. MOV.F R10.y, {1, 0, 0, 0}.x;
  15597. ELSE;
  15598. MOV.F R10.y, {0, 0, 0, 0}.x;
  15599. ENDIF;
  15600. MOV.F R4.y, R9.x;
  15601. MOV.F R4.z, c[5].y;
  15602. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  15603. MUL.F32 R10.x, R4.y, R4.z;
  15604. TRUNC.U R4.y, R4.x;
  15605. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  15606. MOV.F R4.z, R10.y;
  15607. TRUNC.U R4.x, R4;
  15608. AND.U.CC HC.x, R4.y, R4;
  15609. MOV.S R30.x, R4.z;
  15610. IF NE.x;
  15611. MOV.F R4.y, R10.x;
  15612. ELSE;
  15613. MOV.F R4.y, {0, 0, 0, 0}.x;
  15614. ENDIF;
  15615. MOV.F R4.x, c[4];
  15616. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  15617. TRUNC.U.CC HC.x, R4;
  15618. MOV.S R28.y, R4;
  15619. IF NE.x;
  15620. MOV.F R10.x, {1, 0, 0, 0};
  15621. ELSE;
  15622. MOV.F R10.x, {0, 0, 0, 0};
  15623. ENDIF;
  15624. I2F.S R4.z, R29;
  15625. MOV.F R4.x, R19.z;
  15626. MIN.F R4.y, R4.x, {0, 0, 0, 0}.x;
  15627. MOV.F R4.x, R13;
  15628. ADD.F32 R4.y, R4.x, R4;
  15629. MOV.F R4.x, R30;
  15630. ADD.F32 R4.x, R4, -R10;
  15631. MOV.S R17.y, R4.x;
  15632. SGT.F32 R4.x, R4.z, {0, 0, 0, 0};
  15633. TRUNC.U.CC HC.x, R4;
  15634. MOV.S R27.z, R4;
  15635. MOV.S R13.x, R4.y;
  15636. IF NE.x;
  15637. MOV.F R4.y, {1, 0, 0, 0}.x;
  15638. ELSE;
  15639. MOV.F R4.y, {0, 0, 0, 0}.x;
  15640. ENDIF;
  15641. MOV.F R4.x, R27.z;
  15642. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  15643. TRUNC.U.CC HC.x, R4;
  15644. MOV.S R29.z, R4.y;
  15645. IF NE.x;
  15646. MOV.F R4.y, {1, 0, 0, 0}.x;
  15647. ELSE;
  15648. MOV.F R4.y, {0, 0, 0, 0}.x;
  15649. ENDIF;
  15650. I2F.S R4.x, R24;
  15651. MOV.S R19.z, R4.x;
  15652. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  15653. TRUNC.U.CC HC.x, R4;
  15654. MOV.S R29.w, R4.y;
  15655. IF NE.x;
  15656. MOV.F R10.x, {1, 0, 0, 0};
  15657. ELSE;
  15658. MOV.F R10.x, {0, 0, 0, 0};
  15659. ENDIF;
  15660. MOV.F R4.x, R17.y;
  15661. ADD.F32 R4.x, -R4, {1, 0, 0, 0};
  15662. MOV.S R26.y, R4.x;
  15663. MOV.F R4.x, R19.z;
  15664. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  15665. TRUNC.U.CC HC.x, R4;
  15666. MOV.F R4.y, R29.w;
  15667. MOV.F R4.z, R29;
  15668. ADD.F32 R4.y, R4.z, -R4;
  15669. MOV.S R30.z, R4.y;
  15670. MOV.F R4.y, R10.x;
  15671. MOV.S R30.x, R4.y;
  15672. IF NE.x;
  15673. MOV.F R4.y, {1, 0, 0, 0}.x;
  15674. ELSE;
  15675. MOV.F R4.y, {0, 0, 0, 0}.x;
  15676. ENDIF;
  15677. I2F.S R4.x, R24.y;
  15678. MOV.S R27.z, R4.x;
  15679. SGT.F32 R4.x, {0, 0, 0, 0}, R4;
  15680. TRUNC.U.CC HC.x, R4;
  15681. MOV.S R30.w, R4.y;
  15682. IF NE.x;
  15683. MOV.F R4.y, {1, 0, 0, 0}.x;
  15684. ELSE;
  15685. MOV.F R4.y, {0, 0, 0, 0}.x;
  15686. ENDIF;
  15687. MOV.F R4.x, R27.z;
  15688. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  15689. TRUNC.U.CC HC.x, R4;
  15690. MOV.S R29.x, R4.y;
  15691. IF NE.x;
  15692. MOV.F R10.x, {1, 0, 0, 0};
  15693. ELSE;
  15694. MOV.F R10.x, {0, 0, 0, 0};
  15695. ENDIF;
  15696. MOV.F R4.z, R29.x;
  15697. ADD.F32 R4.z, R10.x, -R4;
  15698. TRUNC.S R4.z, R4;
  15699. MOV.F R4.y, R30.w;
  15700. MOV.F R4.x, R30;
  15701. ADD.F32 R4.x, R4.y, -R4;
  15702. TRUNC.S R4.y, R4.x;
  15703. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  15704. MAX.S R4.x, R4.y, R4;
  15705. I2F.S R4.x, R4;
  15706. MOV.S R21.y, R4.x;
  15707. MOV.F R4.x, R30.z;
  15708. TRUNC.S R4.y, R4.x;
  15709. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  15710. MAX.S R4.x, R4.y, R4;
  15711. ADD.S R4.y, -R4.z, {0, 0, 0, 0}.x;
  15712. MAX.S R4.y, R4.z, R4;
  15713. I2F.S R4.x, R4;
  15714. MOV.S R25.x, R4;
  15715. I2F.S R4.x, R4.y;
  15716. MOV.F R4.z, R25.w;
  15717. MOV.F R4.y, c[8].z;
  15718. DIV.F32 R4.y, R4.z, R4.y;
  15719. MOV.S R30.y, R4;
  15720. MOV.F R4.y, R9.x;
  15721. MOV.F R4.z, c[3].x;
  15722. MOV.S R28.z, R4.x;
  15723. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  15724. MUL.F32 R10.z, R4.y, R4;
  15725. TRUNC.U R4.y, R4.x;
  15726. MOV.F R4.x, c[7].z;
  15727. MOV.F R10.x, c[6].z;
  15728. ADD.F32 R10.y, -R10.x, R4.x;
  15729. MOV.F R10.x, c[6];
  15730. MOV.F R4.x, c[7];
  15731. ADD.F32 R4.x, -R10, R4;
  15732. MOV.S R24.w, R4.x;
  15733. MOV.F R4.x, c[7].y;
  15734. MOV.F R10.x, c[6].y;
  15735. MOV.S R24.z, R10.y;
  15736. ADD.F32 R10.y, -R10.x, R4.x;
  15737. MOV.F R10.x, c[6].w;
  15738. MOV.F R4.x, c[7].w;
  15739. ADD.F32 R4.x, -R10, R4;
  15740. MOV.S R25.y, R4.x;
  15741. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  15742. MOV.F R10.x, c[4];
  15743. RCP.F32 R4.z, R10.x;
  15744. TRUNC.U R4.x, R4;
  15745. AND.U.CC HC.x, R4.y, R4;
  15746. MOV.S R24.y, R10;
  15747. MOV.S R27.z, R4;
  15748. IF NE.x;
  15749. MOV.F R10.x, R10.z;
  15750. ELSE;
  15751. MOV.F R10.x, {0, 0, 0, 0};
  15752. ENDIF;
  15753. MOV.F R4.y, R13.w;
  15754. MOV.F R4.x, R27.z;
  15755. MUL.F32 R4.x, R4.y, R4;
  15756. MOV.F R4.z, R28.y;
  15757. MOV.S R4.x, R4;
  15758. ADD.F32 R4.x, R4.z, R4;
  15759. FRC.F32 R4.x, R4;
  15760. MOV.F R4.z, R30.y;
  15761. ADD.F32 R4.z, R10.x, R4;
  15762. MOV.S R29.y, R4.x;
  15763. MOV.F R4.x, R17;
  15764. DIV.F32 R4.x, R4.y, R4.x;
  15765. ADD.F32 R4.y, R4.z, {0.5, 0, 0, 0}.x;
  15766. MOV.S R10.z, R4.x;
  15767. MOV.F R4.x, R25.y;
  15768. RCP.F32 R4.x, R4.x;
  15769. FRC.F32 R4.z, R4;
  15770. MOV.S R30.y, R4;
  15771. ADD.F32 R4.y, R4.z, {-0.5, 0, 0, 0}.x;
  15772. MOV.S R29.x, R4.y;
  15773. MOV.S R28.w, R4.x;
  15774. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  15775. MOV.F R4.y, c[8].x;
  15776. MUL.F32 R4.z, R4, -R4.y;
  15777. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  15778. TRUNC.U R4.x, R4;
  15779. TRUNC.U R4.y, R4;
  15780. AND.U.CC HC.x, R4.y, R4;
  15781. MOV.S R10.xyw, {0, 0, 0, 0}.x;
  15782. IF NE.x;
  15783. MOV.F R12.y, R4.z;
  15784. ELSE;
  15785. MOV.F R12.y, {0, 0, 0, 0}.x;
  15786. ENDIF;
  15787. MOV.F R4.z, R26.y;
  15788. MOV.F R4.x, R10.z;
  15789. MUL.F32 R12.x, R4, R4.z;
  15790. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15791. TRUNC.U R4.y, R4.x;
  15792. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  15793. ADD.F32 R4.z, R12.y, {1, 0, 0, 0}.x;
  15794. TRUNC.U R4.x, R4;
  15795. AND.U.CC HC.x, R4.y, R4;
  15796. MOV.S R30.z, R4;
  15797. IF NE.x;
  15798. ELSE;
  15799. MOV.F R12.x, {0, 0, 0, 0};
  15800. ENDIF;
  15801. MOV.F R4.x, R29.y;
  15802. MOV.F R4.y, R17;
  15803. MUL.F32 R4.z, R4.y, R4.x;
  15804. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  15805. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15806. TRUNC.U R4.y, R4;
  15807. TRUNC.U R4.x, R4;
  15808. AND.U.CC HC.x, R4.y, R4;
  15809. MOV.S R25.w, R12.x;
  15810. IF NE.x;
  15811. ELSE;
  15812. MOV.F R4.z, {0, 0, 0, 0}.x;
  15813. ENDIF;
  15814. MOV.F R4.y, R30;
  15815. MOV.F R4.x, R30.z;
  15816. MAX.F R4.x, R4, -R4;
  15817. FRC.F32 R4.y, R4;
  15818. MOV.S R25.z, R4.x;
  15819. MOV.F R4.x, R29;
  15820. SGE.F32 R4.x, R4, {0, 0, 0, 0};
  15821. TRUNC.U.CC HC.x, R4;
  15822. MOV.S R30.y, R4;
  15823. MOV.S R30.x, R4.z;
  15824. IF NE.x;
  15825. MOV.S R12.z, {1065353216, 0, 0, 0}.x;
  15826. ELSE;
  15827. MOV.S R12.z, {0, 0, 0, 0}.x;
  15828. ENDIF;
  15829. MOV.F R12.y, R28.w;
  15830. MOV.F R4.x, R24.z;
  15831. MUL.F32 R4.y, R4.x, R12;
  15832. MOV.F R4.x, R24.y;
  15833. MOV.F R4.z, R24.w;
  15834. MUL.F32 R12.x, R4.z, R12.y;
  15835. MOV.S R24.y, R4;
  15836. MOV.F R4.z, R25.w;
  15837. MUL.F32 R4.x, R12.y, R4;
  15838. MOV.F R4.y, R30.x;
  15839. ADD.F32 R4.y, R4.z, R4;
  15840. MOV.S R21.z, R4.y;
  15841. MOV.F R4.y, R30;
  15842. MAD.F32 R4.y, R4, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  15843. MOV.S R29.x, R4.y;
  15844. MOV.F R4.z, R12;
  15845. MOV.S R25.w, R4.x;
  15846. ADD.F32 R4.x, -R4.z, {1, 0, 0, 0};
  15847. MOV.F R4.y, c[8].x;
  15848. MOV.S R24.x, R12;
  15849. MUL.F32 R12.x, -R4.y, R4;
  15850. SNE.F32 R4.x, -R4.z, {-1, 0, 0, 0};
  15851. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  15852. TRUNC.U R4.x, R4;
  15853. TRUNC.U R4.y, R4;
  15854. AND.U.CC HC.x, R4.y, R4;
  15855. IF NE.x;
  15856. MOV.F R12.z, R12.x;
  15857. ELSE;
  15858. MOV.F R12.z, {0, 0, 0, 0}.x;
  15859. ENDIF;
  15860. MOV.F R4.z, R25.w;
  15861. MOV.F R4.y, R21.z;
  15862. MOV.F R4.x, c[6].w;
  15863. ADD.F32 R4.x, R4.y, -R4;
  15864. MOV.S R12.x, R4;
  15865. MOV.S R4.x, R12;
  15866. MUL.F32 R12.y, R4.x, R4.z;
  15867. MOV.F R4.y, R29.x;
  15868. MUL.F32 R4.y, R4, {0.159154937, 0, 0, 0}.x;
  15869. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15870. MOV.S R30.w, R4.y;
  15871. TRUNC.U R4.y, R4.x;
  15872. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  15873. ADD.F32 R4.z, R12, {1, 0, 0, 0}.x;
  15874. TRUNC.U R4.x, R4;
  15875. AND.U.CC HC.x, R4.y, R4;
  15876. MOV.S R26.y, R12.x;
  15877. MOV.S R30.x, R4.z;
  15878. IF NE.x;
  15879. MOV.F R12.x, R12.y;
  15880. ELSE;
  15881. MOV.F R12.x, {0, 0, 0, 0};
  15882. ENDIF;
  15883. MOV.F R4.x, R24.y;
  15884. MOV.F R4.y, R26;
  15885. MUL.F32 R4.z, R4.y, R4.x;
  15886. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  15887. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15888. TRUNC.U R4.y, R4;
  15889. TRUNC.U R4.x, R4;
  15890. AND.U.CC HC.x, R4.y, R4;
  15891. MOV.S R29.x, R12;
  15892. IF NE.x;
  15893. MOV.F R12.y, R4.z;
  15894. ELSE;
  15895. MOV.F R12.y, {0, 0, 0, 0}.x;
  15896. ENDIF;
  15897. MOV.F R4.z, R30.x;
  15898. MAX.F R4.z, R4, -R4;
  15899. MOV.F R4.x, R24;
  15900. MOV.F R4.y, R26;
  15901. MUL.F32 R12.x, R4.y, R4;
  15902. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  15903. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15904. TRUNC.U R4.y, R4;
  15905. TRUNC.U R4.x, R4;
  15906. AND.U.CC HC.x, R4.y, R4;
  15907. MOV.S R24.z, R4;
  15908. MOV.S R29.y, R12;
  15909. IF NE.x;
  15910. MOV.F R12.y, R12.x;
  15911. ELSE;
  15912. MOV.F R12.y, {0, 0, 0, 0}.x;
  15913. ENDIF;
  15914. MOV.F R4.x, R30.w;
  15915. MUL.F32 R4.x, R4, {6.28318548, 0, 0, 0};
  15916. COS.F32 R4.x, R4.x;
  15917. ADD.F32 R4.x, R4, {1, 0, 0, 0};
  15918. MOV.S R4.x, R4;
  15919. MOV.S R4.z, R4.x;
  15920. MOV.F R4.y, c[6].z;
  15921. MOV.F R4.x, R29.y;
  15922. ADD.F32 R4.x, R4.y, R4;
  15923. MOV.F R4.y, R4.z;
  15924. MUL.F32 R4.z, R4.y, {0.5, 0, 0, 0}.x;
  15925. MOV.S R22.z, R4.x;
  15926. MOV.F R4.y, c[6];
  15927. MOV.F R4.x, R29;
  15928. ADD.F32 R4.x, R4.y, R4;
  15929. MOV.S R4.y, R4.z;
  15930. MOV.S R21.w, R4.x;
  15931. MOV.S R4.x, R4.y;
  15932. MOV.F R4.y, c[8].x;
  15933. MUL.F32 R12.x, -R4.y, R4;
  15934. MOV.F R4.z, c[6].x;
  15935. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  15936. ADD.F32 R4.z, R4, R12.y;
  15937. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  15938. TRUNC.U R4.x, R4;
  15939. TRUNC.U R4.y, R4;
  15940. AND.U.CC HC.x, R4.y, R4;
  15941. MOV.S R23.x, R4.z;
  15942. MOV.S R22.xy, {0, 0, 0, 0}.x;
  15943. IF NE.x;
  15944. MOV.F R4.x, R12;
  15945. ELSE;
  15946. MOV.F R4.x, {0, 0, 0, 0};
  15947. ENDIF;
  15948. MOV.F R4.z, c[7].w;
  15949. MOV.F R12.x, R25;
  15950. MOV.F R12.y, R21;
  15951. MOV.F R12.z, R28;
  15952. MOV.F R12.w, {-0, 0, 0, 0}.x;
  15953. MOV.F R17.y, R25.z;
  15954. MOV.F R17.z, R24;
  15955. MOV.F R17.w, {0, 0, 0, 0}.x;
  15956. ADD.F32 R17.x, R4, {1, 0, 0, 0};
  15957. DP4.F32 R4.x, R12, R17;
  15958. MOV.F R12.x, R21.z;
  15959. ADD.F32 R4.y, R12.x, -R4.z;
  15960. MOV.S R12.z, R4.x;
  15961. SGE.F32 R4.x, R12, R4.z;
  15962. MOV.S R26.z, R4.y;
  15963. TRUNC.U.CC HC.x, R4;
  15964. MOV.F R4.y, c[9].x;
  15965. MOV.F R4.z, c[7].x;
  15966. ADD.F32 R4.y, -R4.z, R4;
  15967. MOV.S R12.xyw, {0, 0, 0, 0}.x;
  15968. MOV.S R24.y, R4;
  15969. IF NE.x;
  15970. MOV.S R4.z, {1065353216, 0, 0, 0}.x;
  15971. ELSE;
  15972. MOV.S R4.z, {0, 0, 0, 0}.x;
  15973. ENDIF;
  15974. MOV.F R4.x, R26.y;
  15975. SGE.F32 R4.y, R4.x, {0, 0, 0, 0}.x;
  15976. TRUNC.U.CC HC.x, R4.y;
  15977. MOV.S R4.x, R4.z;
  15978. IF NE.x;
  15979. MOV.S R17.z, {1065353216, 0, 0, 0}.x;
  15980. ELSE;
  15981. MOV.S R17.z, {0, 0, 0, 0}.x;
  15982. ENDIF;
  15983. MOV.F R15.w, c[9];
  15984. MOV.F R4.z, R21;
  15985. ADD.F32 R4.y, R4.z, -R15.w;
  15986. MOV.S R21.y, R4;
  15987. SGE.F32 R4.y, R4.z, R15.w;
  15988. TRUNC.U.CC HC.x, R4.y;
  15989. MOV.F R17.x, c[7].z;
  15990. MOV.F R4.z, c[9];
  15991. ADD.F32 R4.z, -R17.x, R4;
  15992. MOV.S R25.x, R4.z;
  15993. MOV.F R4.z, c[7].w;
  15994. ADD.F32 R4.z, R15.w, -R4;
  15995. MOV.F R17.x, c[9].y;
  15996. MOV.F R17.y, c[7];
  15997. ADD.F32 R17.x, -R17.y, R17;
  15998. MOV.S R25.w, R17.x;
  15999. MOV.S R30.z, R4;
  16000. MOV.S R23.y, R17.z;
  16001. IF NE.x;
  16002. MOV.S R4.y, {1065353216, 0, 0, 0}.x;
  16003. ELSE;
  16004. MOV.S R4.y, {0, 0, 0, 0}.x;
  16005. ENDIF;
  16006. MOV.F R17.x, R30.z;
  16007. MOV.F R4.z, R24.y;
  16008. DIV.F32 R15.w, R4.z, R17.x;
  16009. MOV.F R4.z, R25.w;
  16010. DIV.F32 R4.z, R4, R17.x;
  16011. MOV.S R30.w, R15;
  16012. MOV.F R15.w, R25.x;
  16013. MOV.S R30.x, R4.z;
  16014. DIV.F32 R4.z, R15.w, R17.x;
  16015. SNE.F32 R15.w, R4.z, {0, 0, 0, 0}.x;
  16016. MOV.F R17.x, R26.z;
  16017. MUL.F32 R4.z, R17.x, R4;
  16018. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  16019. MOV.F R17.y, c[10];
  16020. MOV.F R17.z, c[9].y;
  16021. ADD.F32 R17.w, -R17.z, R17.y;
  16022. MOV.F R17.z, c[9];
  16023. MOV.F R17.y, c[10].z;
  16024. ADD.F32 R17.y, -R17.z, R17;
  16025. MOV.S R24.y, R17;
  16026. MOV.F R17.y, c[10].x;
  16027. MOV.F R17.z, c[9].x;
  16028. MOV.S R26.y, R17.w;
  16029. ADD.F32 R17.w, -R17.z, R17.y;
  16030. TRUNC.U R15.w, R15;
  16031. TRUNC.U R17.x, R17;
  16032. AND.U.CC HC.x, R17, R15.w;
  16033. MOV.F R17.y, c[10].w;
  16034. MOV.F R17.z, c[9].w;
  16035. ADD.F32 R17.y, -R17.z, R17;
  16036. MOV.S R24.z, R17.w;
  16037. MOV.S R27.z, R17.y;
  16038. MOV.S R21.x, R4.y;
  16039. IF NE.x;
  16040. MOV.F R17.x, R4.z;
  16041. ELSE;
  16042. MOV.F R17.x, {0, 0, 0, 0};
  16043. ENDIF;
  16044. MOV.F R4.y, R30.w;
  16045. MOV.F R4.z, R26;
  16046. MUL.F32 R15.w, R4.z, R4.y;
  16047. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  16048. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  16049. TRUNC.U R4.z, R4;
  16050. TRUNC.U R4.y, R4;
  16051. AND.U.CC HC.x, R4.z, R4.y;
  16052. MOV.S R29.x, R17;
  16053. IF NE.x;
  16054. MOV.F R17.z, R15.w;
  16055. ELSE;
  16056. MOV.F R17.z, {0, 0, 0, 0}.x;
  16057. ENDIF;
  16058. MOV.F R4.y, R30.x;
  16059. MOV.F R15.w, R26.z;
  16060. MUL.F32 R17.y, R15.w, R4;
  16061. SNE.F32 R15.w, R15, {0, 0, 0, 0}.x;
  16062. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  16063. MOV.F R4.z, c[10].w;
  16064. MOV.F R17.x, R21.z;
  16065. ADD.F32 R4.z, R17.x, -R4;
  16066. TRUNC.U R15.w, R15;
  16067. TRUNC.U R4.y, R4;
  16068. AND.U.CC HC.x, R15.w, R4.y;
  16069. MOV.S R4.z, R4;
  16070. MOV.S R29.y, R17.z;
  16071. IF NE.x;
  16072. MOV.F R4.y, R17;
  16073. ELSE;
  16074. MOV.F R4.y, {0, 0, 0, 0}.x;
  16075. ENDIF;
  16076. MOV.F R24.x, R27.z;
  16077. MOV.F R15.w, R26.y;
  16078. DIV.F32 R17.z, R15.w, R24.x;
  16079. MOV.F R17.x, R24.z;
  16080. DIV.F32 R17.w, R17.x, R24.x;
  16081. MOV.F R17.x, R21.y;
  16082. MUL.F32 R17.y, R17.x, R17.z;
  16083. MOV.S R30.x, R17.w;
  16084. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  16085. MOV.F R15.w, R29.y;
  16086. MOV.F R17.w, c[7].x;
  16087. ADD.F32 R19.z, R17.w, R15.w;
  16088. MOV.F R17.w, c[7].z;
  16089. MOV.F R15.w, R29.x;
  16090. ADD.F32 R15.w, R17, R15;
  16091. MOV.F R17.w, R24.y;
  16092. MOV.S R23.z, R19;
  16093. DIV.F32 R19.z, R17.w, R24.x;
  16094. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  16095. MOV.S R17.x, R19.z;
  16096. MOV.F R19.z, c[7].y;
  16097. ADD.F32 R4.y, R19.z, R4;
  16098. TRUNC.U R17.w, R17;
  16099. TRUNC.U R17.z, R17;
  16100. AND.U.CC HC.x, R17.w, R17.z;
  16101. MOV.S R15.w, R15;
  16102. MOV.S R4.y, R4;
  16103. IF NE.x;
  16104. MOV.F R24.x, R17.y;
  16105. ELSE;
  16106. MOV.F R24.x, {0, 0, 0, 0};
  16107. ENDIF;
  16108. MOV.F R17.y, R30.x;
  16109. MOV.F R17.z, R21.y;
  16110. MUL.F32 R19.z, R17, R17.y;
  16111. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  16112. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  16113. TRUNC.U R17.w, R17.z;
  16114. TRUNC.U R17.z, R17.y;
  16115. AND.U.CC HC.x, R17.w, R17.z;
  16116. MOV.S R17.y, R24.x;
  16117. IF NE.x;
  16118. MOV.F R24.x, R19.z;
  16119. ELSE;
  16120. MOV.F R24.x, {0, 0, 0, 0};
  16121. ENDIF;
  16122. MOV.F R17.z, c[11].x;
  16123. MOV.F R17.w, c[10].x;
  16124. ADD.F32 R19.z, -R17.w, R17;
  16125. MOV.F R17.w, c[10].y;
  16126. MOV.F R17.z, c[11].y;
  16127. ADD.F32 R17.z, -R17.w, R17;
  16128. MOV.S R17.w, R19.z;
  16129. MOV.S R19.z, R17;
  16130. MOV.S R17.z, R24.x;
  16131. ENDIF;
  16132. SEQ.U R24.x, R18.w, {1, 0, 0, 0};
  16133. MOV.U.CC RC.x, -R24;
  16134. IF NE.x;
  16135. MOV.F R16.w, R4.z;
  16136. SGE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16137. TRUNC.U.CC HC.x, R16.w;
  16138. MOV.F R22.x, R17.z;
  16139. MOV.F R24.x, c[9];
  16140. ADD.F32 R22.x, R24, R22;
  16141. MOV.S R25.x, R22;
  16142. IF NE.x;
  16143. MOV.S R16.w, {1065353216, 0, 0, 0}.x;
  16144. ELSE;
  16145. MOV.S R16.w, {0, 0, 0, 0}.x;
  16146. ENDIF;
  16147. MOV.F R24.x, c[9].y;
  16148. MOV.F R22.x, R17.y;
  16149. ADD.F32 R22.x, R24, R22;
  16150. MUL.F32 R24.x, R21.y, R17;
  16151. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  16152. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  16153. TRUNC.U R17.x, R17;
  16154. TRUNC.U R21.y, R21;
  16155. AND.U.CC HC.x, R21.y, R17;
  16156. MOV.S R26.z, R22.x;
  16157. IF NE.x;
  16158. MOV.F R22.x, R24;
  16159. ELSE;
  16160. MOV.F R22.x, {0, 0, 0, 0};
  16161. ENDIF;
  16162. MOV.F R21.y, R21.z;
  16163. MOV.S R21.z, R22.x;
  16164. MOV.F R17.x, R21;
  16165. ADD.F32 R17.x, -R17, {1, 0, 0, 0};
  16166. MOV.S R25.z, R17.x;
  16167. MOV.F R17.x, c[11].w;
  16168. SGE.F32 R17.x, R21.y, R17;
  16169. MOV.S R21.y, R21.z;
  16170. MOV.F R21.z, c[9];
  16171. ADD.F32 R21.y, R21.z, R21;
  16172. MOV.F R22.x, R16.w;
  16173. ADD.F32 R21.z, -R22.x, {1, 0, 0, 0}.x;
  16174. TRUNC.U.CC HC.x, R17;
  16175. MOV.S R25.y, R21;
  16176. MOV.S R30.x, R21.z;
  16177. IF NE.x;
  16178. MOV.S R17.x, {1065353216, 0, 0, 0};
  16179. ELSE;
  16180. MOV.S R17.x, {0, 0, 0, 0};
  16181. ENDIF;
  16182. MOV.F R21.y, R4.x;
  16183. ADD.F32 R21.y, -R21, {1, 0, 0, 0}.x;
  16184. MOV.S R28.y, R21;
  16185. MOV.F R21.y, R17.x;
  16186. MOV.F R21.z, c[11];
  16187. MUL.F32 R22.x, R21.z, R21.y;
  16188. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  16189. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  16190. TRUNC.U R21.y, R21;
  16191. TRUNC.U R21.z, R21;
  16192. AND.U.CC HC.x, R21.z, R21.y;
  16193. IF NE.x;
  16194. MOV.F R21.y, R22.x;
  16195. ELSE;
  16196. MOV.F R21.y, {0, 0, 0, 0}.x;
  16197. ENDIF;
  16198. MOV.F R21.z, R21.x;
  16199. MOV.F R22.x, R30;
  16200. MUL.F32 R21.x, R21.z, R22;
  16201. SNE.F32 R22.x, R22, {0, 0, 0, 0};
  16202. TRUNC.U R24.x, R22;
  16203. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  16204. TRUNC.U R21.z, R21;
  16205. AND.U.CC HC.x, R21.z, R24;
  16206. MOV.F R24.y, c[10].z;
  16207. MOV.F R22.x, c[11].z;
  16208. ADD.F32 R22.x, -R24.y, R22;
  16209. MOV.S R26.y, R22.x;
  16210. MOV.F R24.y, c[10].w;
  16211. MOV.F R22.x, c[11].w;
  16212. ADD.F32 R22.x, -R24.y, R22;
  16213. MOV.F R24.y, R17.x;
  16214. MOV.S R29.w, R22.x;
  16215. ADD.F32 R24.y, -R24, {1, 0, 0, 0}.x;
  16216. MOV.S R22.x, R21.y;
  16217. MOV.S R29.z, R24.y;
  16218. IF NE.x;
  16219. MOV.F R24.y, R21.x;
  16220. ELSE;
  16221. MOV.F R24.y, {0, 0, 0, 0}.x;
  16222. ENDIF;
  16223. MOV.F R21.x, R29.z;
  16224. MOV.F R21.z, R16.w;
  16225. SNE.F32 R16.w, R21.x, {0, 0, 0, 0}.x;
  16226. MUL.F32 R24.x, R21.z, R21;
  16227. SNE.F32 R21.x, R21.z, {0, 0, 0, 0};
  16228. TRUNC.U R16.w, R16;
  16229. TRUNC.U R21.x, R21;
  16230. AND.U.CC HC.x, R21, R16.w;
  16231. MOV.S R21.y, R25.x;
  16232. MOV.S R24.z, R24.y;
  16233. IF NE.x;
  16234. ELSE;
  16235. MOV.F R24.x, {0, 0, 0, 0};
  16236. ENDIF;
  16237. MOV.F R16.w, R17.x;
  16238. MOV.F R21.x, c[11];
  16239. MUL.F32 R21.z, R21.x, R16.w;
  16240. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16241. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  16242. TRUNC.U R16.w, R16;
  16243. TRUNC.U R21.x, R21;
  16244. AND.U.CC HC.x, R21, R16.w;
  16245. MOV.S R25.x, R24;
  16246. IF NE.x;
  16247. ELSE;
  16248. MOV.F R21.z, {0, 0, 0, 0}.x;
  16249. ENDIF;
  16250. MOV.F R16.w, R17.x;
  16251. MOV.F R17.x, c[11].y;
  16252. MUL.F32 R21.x, R17, R16.w;
  16253. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16254. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  16255. TRUNC.U R16.w, R16;
  16256. TRUNC.U R17.x, R17;
  16257. AND.U.CC HC.x, R17, R16.w;
  16258. MOV.S R24.y, R21.z;
  16259. IF NE.x;
  16260. MOV.F R21.z, R21.x;
  16261. ELSE;
  16262. MOV.F R21.z, {0, 0, 0, 0}.x;
  16263. ENDIF;
  16264. MOV.F R17.x, R24.z;
  16265. MOV.F R21.x, R21.y;
  16266. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  16267. MUL.F32 R21.y, R21.x, R17.x;
  16268. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  16269. TRUNC.U R16.w, R16;
  16270. TRUNC.U R17.x, R17;
  16271. AND.U.CC HC.x, R17, R16.w;
  16272. MOV.S R28.z, R21;
  16273. IF NE.x;
  16274. MOV.F R16.w, R21.y;
  16275. ELSE;
  16276. MOV.F R16.w, {0, 0, 0, 0}.x;
  16277. ENDIF;
  16278. MOV.F R21.z, R29.w;
  16279. RCP.F32 R21.z, R21.z;
  16280. MOV.F R21.x, R24.z;
  16281. MOV.F R21.y, R26.z;
  16282. MUL.F32 R17.x, R21.y, R21;
  16283. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  16284. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  16285. TRUNC.U R21.y, R21;
  16286. TRUNC.U R21.x, R21;
  16287. AND.U.CC HC.x, R21.y, R21;
  16288. MOV.S R27.z, R21;
  16289. MOV.S R24.w, R16;
  16290. IF NE.x;
  16291. MOV.F R16.w, R17.x;
  16292. ELSE;
  16293. MOV.F R16.w, {0, 0, 0, 0}.x;
  16294. ENDIF;
  16295. MOV.F R21.x, R24.z;
  16296. MOV.F R21.y, R25;
  16297. MOV.F R24.x, R27.z;
  16298. MOV.F R21.z, R26.y;
  16299. MUL.F32 R21.z, R21, R24.x;
  16300. MOV.S R29.w, R21.z;
  16301. MOV.F R21.z, R19;
  16302. MUL.F32 R19.z, R24.x, R17.w;
  16303. MUL.F32 R17.w, R24.x, R21.z;
  16304. MOV.S R29.z, R19;
  16305. MOV.S R29.y, R17.w;
  16306. SNE.F32 R17.w, R21.x, {0, 0, 0, 0}.x;
  16307. MUL.F32 R17.x, R21.y, R21;
  16308. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  16309. TRUNC.U R19.z, R19;
  16310. TRUNC.U R17.w, R17;
  16311. AND.U.CC HC.x, R19.z, R17.w;
  16312. MOV.S R21.x, R16.w;
  16313. IF NE.x;
  16314. MOV.F R21.y, R17.x;
  16315. ELSE;
  16316. MOV.F R21.y, {0, 0, 0, 0}.x;
  16317. ENDIF;
  16318. MOV.F R16.w, R29.z;
  16319. MOV.F R17.x, R4.z;
  16320. MUL.F32 R19.z, R17.x, R16.w;
  16321. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  16322. TRUNC.U R17.w, R17.x;
  16323. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16324. TRUNC.U R16.w, R16;
  16325. AND.U.CC HC.x, R17.w, R16.w;
  16326. MOV.S R17.x, R21.y;
  16327. IF NE.x;
  16328. MOV.F R21.y, R19.z;
  16329. ELSE;
  16330. MOV.F R21.y, {0, 0, 0, 0}.x;
  16331. ENDIF;
  16332. MOV.F R16.w, R29;
  16333. MOV.F R17.w, R4.z;
  16334. MUL.F32 R19.z, R17.w, R16.w;
  16335. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16336. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16337. TRUNC.U R17.w, R17;
  16338. TRUNC.U R16.w, R16;
  16339. AND.U.CC HC.x, R17.w, R16.w;
  16340. MOV.S R30.x, R21.y;
  16341. IF NE.x;
  16342. MOV.F R21.y, R19.z;
  16343. ELSE;
  16344. MOV.F R21.y, {0, 0, 0, 0}.x;
  16345. ENDIF;
  16346. MOV.F R16.w, R29.y;
  16347. MOV.F R17.w, R4.z;
  16348. MUL.F32 R19.z, R17.w, R16.w;
  16349. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16350. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16351. TRUNC.U R17.w, R17;
  16352. TRUNC.U R16.w, R16;
  16353. AND.U.CC HC.x, R17.w, R16.w;
  16354. MOV.S R30.y, R21;
  16355. IF NE.x;
  16356. MOV.F R21.y, R19.z;
  16357. ELSE;
  16358. MOV.F R21.y, {0, 0, 0, 0}.x;
  16359. ENDIF;
  16360. MOV.F R16.w, R25.z;
  16361. MOV.F R17.w, R4.x;
  16362. MUL.F32 R19.z, R17.w, R16.w;
  16363. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16364. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16365. TRUNC.U R17.w, R17;
  16366. TRUNC.U R16.w, R16;
  16367. AND.U.CC HC.x, R17.w, R16.w;
  16368. MOV.S R30.z, R21.y;
  16369. IF NE.x;
  16370. MOV.F R21.y, R19.z;
  16371. ELSE;
  16372. MOV.F R21.y, {0, 0, 0, 0}.x;
  16373. ENDIF;
  16374. MOV.F R16.w, R28.y;
  16375. MOV.F R17.w, R23.y;
  16376. MUL.F32 R19.z, R17.w, R16.w;
  16377. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16378. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16379. TRUNC.U R16.w, R16;
  16380. TRUNC.U R17.w, R17;
  16381. AND.U.CC HC.x, R17.w, R16.w;
  16382. MOV.S R25.w, R21.y;
  16383. IF NE.x;
  16384. MOV.F R16.w, R19.z;
  16385. ELSE;
  16386. MOV.F R16.w, {0, 0, 0, 0}.x;
  16387. ENDIF;
  16388. MOV.F R19.z, c[10].y;
  16389. MOV.F R17.w, R30.z;
  16390. ADD.F32 R17.w, R19.z, R17;
  16391. MOV.S R29.x, R17.w;
  16392. MOV.F R17.w, R25;
  16393. MOV.F R19.z, R23;
  16394. MUL.F32 R21.y, R19.z, R17.w;
  16395. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16396. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  16397. TRUNC.U R17.w, R17;
  16398. TRUNC.U R19.z, R19;
  16399. AND.U.CC HC.x, R19.z, R17.w;
  16400. MOV.S R28.w, R16;
  16401. IF NE.x;
  16402. MOV.F R17.w, R21.y;
  16403. ELSE;
  16404. MOV.F R17.w, {0, 0, 0, 0}.x;
  16405. ENDIF;
  16406. MOV.F R19.z, R25.w;
  16407. MOV.F R21.y, R4;
  16408. MUL.F32 R16.w, R21.y, R19.z;
  16409. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  16410. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  16411. MOV.F R21.z, R30.x;
  16412. MOV.F R23.z, c[10].x;
  16413. ADD.F32 R23.z, R23, R21;
  16414. MOV.F R21.z, R30.y;
  16415. MOV.F R24.x, c[10].z;
  16416. ADD.F32 R21.z, R24.x, R21;
  16417. TRUNC.U R21.y, R21;
  16418. TRUNC.U R19.z, R19;
  16419. AND.U.CC HC.x, R21.y, R19.z;
  16420. MOV.S R29.w, R23.z;
  16421. MOV.S R29.z, R21;
  16422. MOV.S R28.y, R17.w;
  16423. IF NE.x;
  16424. MOV.F R21.y, R16.w;
  16425. ELSE;
  16426. MOV.F R21.y, {0, 0, 0, 0}.x;
  16427. ENDIF;
  16428. MOV.F R16.w, R25;
  16429. MOV.F R17.w, R15;
  16430. MUL.F32 R19.z, R17.w, R16.w;
  16431. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16432. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16433. TRUNC.U R17.w, R17;
  16434. TRUNC.U R16.w, R16;
  16435. AND.U.CC HC.x, R17.w, R16.w;
  16436. MOV.S R28.x, R21.y;
  16437. IF NE.x;
  16438. MOV.F R21.y, R19.z;
  16439. ELSE;
  16440. MOV.F R21.y, {0, 0, 0, 0}.x;
  16441. ENDIF;
  16442. MOV.F R16.w, R25.x;
  16443. MOV.F R17.w, R29.x;
  16444. MUL.F32 R19.z, R17.w, R16.w;
  16445. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16446. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16447. TRUNC.U R17.w, R17;
  16448. TRUNC.U R16.w, R16;
  16449. AND.U.CC HC.x, R17.w, R16.w;
  16450. MOV.S R26.x, R21.y;
  16451. IF NE.x;
  16452. MOV.F R21.y, R19.z;
  16453. ELSE;
  16454. MOV.F R21.y, {0, 0, 0, 0}.x;
  16455. ENDIF;
  16456. MOV.F R16.w, R25.x;
  16457. MOV.F R17.w, R29;
  16458. MUL.F32 R19.z, R17.w, R16.w;
  16459. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16460. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16461. TRUNC.U R17.w, R17;
  16462. TRUNC.U R16.w, R16;
  16463. AND.U.CC HC.x, R17.w, R16.w;
  16464. MOV.S R26.y, R21;
  16465. IF NE.x;
  16466. MOV.F R21.y, R19.z;
  16467. ELSE;
  16468. MOV.F R21.y, {0, 0, 0, 0}.x;
  16469. ENDIF;
  16470. MOV.F R16.w, R25.x;
  16471. MOV.F R17.w, R29.z;
  16472. MUL.F32 R19.z, R17.w, R16.w;
  16473. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16474. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16475. TRUNC.U R17.w, R17;
  16476. TRUNC.U R16.w, R16;
  16477. AND.U.CC HC.x, R17.w, R16.w;
  16478. MOV.S R24.z, R21.y;
  16479. IF NE.x;
  16480. MOV.F R21.y, R19.z;
  16481. ELSE;
  16482. MOV.F R21.y, {0, 0, 0, 0}.x;
  16483. ENDIF;
  16484. MOV.F R16.w, R28;
  16485. MOV.F R17.w, R23.x;
  16486. MUL.F32 R19.z, R17.w, R16.w;
  16487. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16488. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16489. TRUNC.U R16.w, R16;
  16490. TRUNC.U R17.w, R17;
  16491. AND.U.CC HC.x, R17.w, R16.w;
  16492. MOV.S R25.w, R21.y;
  16493. IF NE.x;
  16494. MOV.F R16.w, R19.z;
  16495. ELSE;
  16496. MOV.F R16.w, {0, 0, 0, 0}.x;
  16497. ENDIF;
  16498. MOV.F R19.z, R9.x;
  16499. MOV.F R17.w, R9.y;
  16500. ADD.F32 R17.w, R19.z, R17;
  16501. MOV.S R24.x, R17.w;
  16502. MOV.F R17.w, R28;
  16503. MOV.F R19.z, R22;
  16504. MUL.F32 R21.y, R19.z, R17.w;
  16505. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16506. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  16507. TRUNC.U R17.w, R17;
  16508. TRUNC.U R19.z, R19;
  16509. AND.U.CC HC.x, R19.z, R17.w;
  16510. MOV.S R25.x, R16.w;
  16511. IF NE.x;
  16512. ELSE;
  16513. MOV.F R21.y, {0, 0, 0, 0}.x;
  16514. ENDIF;
  16515. MOV.F R16.w, R28;
  16516. MOV.F R17.w, R21;
  16517. MUL.F32 R19.z, R17.w, R16.w;
  16518. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  16519. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  16520. TRUNC.U R17.w, R17;
  16521. TRUNC.U R16.w, R16;
  16522. AND.U.CC HC.x, R17.w, R16.w;
  16523. MOV.S R25.y, R21;
  16524. IF NE.x;
  16525. MOV.F R16.w, R19.z;
  16526. ELSE;
  16527. MOV.F R16.w, {0, 0, 0, 0}.x;
  16528. ENDIF;
  16529. MOV.F R29, R6;
  16530. MOV.F R6.w, R23.y;
  16531. ADD.F32 R19.z, -R6.w, {1, 0, 0, 0}.x;
  16532. SNE.F32 R6.w, -R6, {-1, 0, 0, 0}.x;
  16533. MOV.F R17.w, c[6].x;
  16534. MOV.S R28.w, R19.z;
  16535. MOV.S R25.z, R16.w;
  16536. SNE.F32 R16.w, R17, {0, 0, 0, 0}.x;
  16537. MUL.F32 R19.z, R19, R17.w;
  16538. MOV.F R30.w, {1, 0, 0, 0}.x;
  16539. MOV.F R30.xyz, R16;
  16540. DP4.F32 R6.z, R29, R30;
  16541. TRUNC.U R6.w, R6;
  16542. TRUNC.U R16.w, R16;
  16543. AND.U.CC HC.x, R16.w, R6.w;
  16544. MOV.S R6.z, R6;
  16545. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  16546. IF NE.x;
  16547. MOV.F R6.w, R19.z;
  16548. ELSE;
  16549. MOV.F R6.w, {0, 0, 0, 0}.x;
  16550. ENDIF;
  16551. MOV.F R29.xyz, R16;
  16552. MOV.F R16.z, R25.x;
  16553. MOV.F R30, R11;
  16554. MOV.F R29.w, {1, 0, 0, 0}.x;
  16555. DP4.F32 R11.w, R29, R14;
  16556. DP4.F32 R11.y, R30, R29;
  16557. MOV.F R14.x, R28.y;
  16558. ADD.F32 R6.w, R16.z, R6;
  16559. ADD.F32 R6.w, R14.x, R6;
  16560. MOV.S R14.x, R11.w;
  16561. MOV.S R27.z, R6.w;
  16562. MOV.F R6.w, R28;
  16563. MOV.F R11.w, c[6].y;
  16564. MUL.F32 R14.y, R11.w, R6.w;
  16565. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16566. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  16567. TRUNC.U R6.w, R6;
  16568. TRUNC.U R11.w, R11;
  16569. AND.U.CC HC.x, R11.w, R6.w;
  16570. MOV.S R11.y, R11;
  16571. IF NE.x;
  16572. MOV.F R14.w, R14.y;
  16573. ELSE;
  16574. MOV.F R14.w, {0, 0, 0, 0}.x;
  16575. ENDIF;
  16576. MOV.F R11.w, R28;
  16577. MOV.F R14.y, c[6].z;
  16578. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  16579. MUL.F32 R14.z, R14.y, R11.w;
  16580. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  16581. TRUNC.U R6.w, R6;
  16582. TRUNC.U R11.w, R11;
  16583. AND.U.CC HC.x, R11.w, R6.w;
  16584. MOV.S R29.x, R14.w;
  16585. IF NE.x;
  16586. MOV.F R14.w, R14.z;
  16587. ELSE;
  16588. MOV.F R14.w, {0, 0, 0, 0}.x;
  16589. ENDIF;
  16590. MOV.F R6.w, R9.z;
  16591. MOV.F R11.w, R9.x;
  16592. ADD.F32 R11.w, R11, R6;
  16593. MUL.F32 R11.w, R11, {0.5, 0, 0, 0}.x;
  16594. MOV.S R29.z, R11.w;
  16595. MOV.F R14.y, R29.x;
  16596. MOV.F R14.z, R25;
  16597. ADD.F32 R14.y, R14.z, R14;
  16598. MOV.F R14.z, R28.x;
  16599. ADD.F32 R14.y, R14.z, R14;
  16600. MOV.F R14.z, R9.y;
  16601. ADD.F32 R6.w, R14.z, R6;
  16602. MOV.F R14.z, R24.y;
  16603. MOV.F R11.w, R25.y;
  16604. MOV.S R29.w, R14.y;
  16605. ADD.F32 R14.y, R11.w, R14.w;
  16606. MOV.F R11.w, R26.x;
  16607. ADD.F32 R11.w, R11, R14.y;
  16608. MOV.S R29.x, R11.w;
  16609. MUL.F32 R11.w, R6, {0.5, 0, 0, 0}.x;
  16610. MOV.F R6.w, R24.x;
  16611. MOV.S R28.w, R11;
  16612. MAD.F32 R6.w, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  16613. MOV.F R11.w, R27.z;
  16614. MOV.F R14.y, R24.w;
  16615. ADD.F32 R14.y, R14, R11.w;
  16616. MOV.F R11.w, R24.z;
  16617. ADD.F32 R14.w, R11, R14.y;
  16618. MOV.F R11.w, R13.x;
  16619. MOV.S R6.w, R6;
  16620. MOV.F R13.x, R6.w;
  16621. ADD.F32 R14.y, R14.z, R14.w;
  16622. MUL.F32 R14.y, R11.w, R14;
  16623. SNE.F32 R6.w, R14.z, -R14;
  16624. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  16625. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  16626. TRUNC.U R6.w, R6;
  16627. TRUNC.U R11.w, R11;
  16628. AND.U.CC HC.x, R11.w, R6.w;
  16629. MOV.S R24.y, R13.x;
  16630. IF NE.x;
  16631. ELSE;
  16632. MOV.F R14.y, {0, 0, 0, 0}.x;
  16633. ENDIF;
  16634. MOV.F R11.w, R17.x;
  16635. MOV.F R6.w, R29.x;
  16636. ADD.F32 R6.w, R11, R6;
  16637. MOV.S R30.w, R6;
  16638. MOV.F R6.w, R29;
  16639. MOV.F R11.w, R21.x;
  16640. ADD.F32 R11.w, R11, R6;
  16641. MOV.F R6.w, R28;
  16642. MOV.S R30.y, R11.w;
  16643. ADD.F32 R11.w, R6, {-0.5, 0, 0, 0}.x;
  16644. MUL.F32 R11.w, R11, {2, 0, 0, 0}.x;
  16645. MOV.F R6.w, R29.z;
  16646. ADD.F32 R6.w, R6, {-0.5, 0, 0, 0}.x;
  16647. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  16648. MOV.S R24.z, R11.w;
  16649. MOV.S R28.w, R6;
  16650. MOV.F R6.w, c[12].y;
  16651. MUL.F32 R13.x, R14.y, R6.w;
  16652. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16653. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  16654. TRUNC.U R6.w, R6;
  16655. TRUNC.U R11.w, R11;
  16656. AND.U.CC HC.x, R11.w, R6.w;
  16657. MOV.S R30.x, R14.y;
  16658. IF NE.x;
  16659. MOV.F R14.y, R13.x;
  16660. ELSE;
  16661. MOV.F R14.y, {0, 0, 0, 0}.x;
  16662. ENDIF;
  16663. MOV.F R6.w, R30.y;
  16664. MOV.F R11.w, R26.y;
  16665. ADD.F32 R11.w, R11, R6;
  16666. MOV.S R29.z, R11.w;
  16667. MOV.F R13.x, R25.w;
  16668. MOV.F R6.w, R30;
  16669. ADD.F32 R6.w, R13.x, R6;
  16670. MOV.S R29.y, R6.w;
  16671. MOV.F R6.w, c[12].y;
  16672. MOV.F R11.w, R30.x;
  16673. MUL.F32 R13.x, R11.w, R6.w;
  16674. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  16675. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16676. TRUNC.U R11.w, R11;
  16677. TRUNC.U R6.w, R6;
  16678. AND.U.CC HC.x, R11.w, R6.w;
  16679. MOV.S R17.x, R14.y;
  16680. IF NE.x;
  16681. MOV.F R6.w, R13.x;
  16682. ELSE;
  16683. MOV.F R6.w, {0, 0, 0, 0}.x;
  16684. ENDIF;
  16685. MOV.F R13.x, R28.z;
  16686. MOV.F R11.w, R29.z;
  16687. ADD.F32 R11.w, R13.x, R11;
  16688. MOV.S R30.x, R11.w;
  16689. MOV.F R11.w, R9.x;
  16690. ADD.F32 R14.y, R11.w, {-0.5, 0, 0, 0}.x;
  16691. MOV.S R25.z, R14.y;
  16692. MOV.F R14.y, R9;
  16693. MOV.F R13.x, R22;
  16694. MOV.F R11.w, R29.y;
  16695. ADD.F32 R11.w, R13.x, R11;
  16696. MOV.S R30.z, R11.w;
  16697. MOV.F R11.w, R9.z;
  16698. ADD.F32 R11.w, R11, {-0.5, 0, 0, 0}.x;
  16699. MOV.S R14.w, R11;
  16700. MOV.F R13.x, R24.y;
  16701. ADD.F32 R14.y, R14, {-0.5, 0, 0, 0}.x;
  16702. MOV.F R11.w, c[13].x;
  16703. MUL.F32 R14.z, R13.x, R11.w;
  16704. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16705. MOV.S R24.y, R14;
  16706. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  16707. TRUNC.U R14.y, R13.x;
  16708. TRUNC.U R13.x, R11.w;
  16709. AND.U.CC HC.x, R14.y, R13;
  16710. MOV.S R11.w, R6;
  16711. IF NE.x;
  16712. MOV.F R14.y, R14.z;
  16713. ELSE;
  16714. MOV.F R14.y, {0, 0, 0, 0}.x;
  16715. ENDIF;
  16716. MOV.F R13.x, R13.z;
  16717. MOV.F R6.w, R30.z;
  16718. MUL.F32 R13.z, R13.x, R6.w;
  16719. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16720. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16721. TRUNC.U R13.x, R13;
  16722. TRUNC.U R6.w, R6;
  16723. AND.U.CC HC.x, R13, R6.w;
  16724. MOV.S R27.z, R14.y;
  16725. IF NE.x;
  16726. MOV.F R14.y, R13.z;
  16727. ELSE;
  16728. MOV.F R14.y, {0, 0, 0, 0}.x;
  16729. ENDIF;
  16730. MOV.F R6.w, c[13].y;
  16731. MOV.F R13.x, R24.z;
  16732. MUL.F32 R13.z, R13.x, R6.w;
  16733. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16734. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16735. TRUNC.U R13.x, R13;
  16736. TRUNC.U R6.w, R6;
  16737. AND.U.CC HC.x, R13, R6.w;
  16738. MOV.S R29.x, R14.y;
  16739. IF NE.x;
  16740. MOV.F R16.z, R13;
  16741. ELSE;
  16742. MOV.F R16.z, {0, 0, 0, 0}.x;
  16743. ENDIF;
  16744. MOV.F R6.w, R13.y;
  16745. MOV.F R13.z, R30.x;
  16746. MUL.F32 R14.y, R6.w, R13.z;
  16747. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16748. TRUNC.U R13.x, R6.w;
  16749. SNE.F32 R6.w, R13.z, {0, 0, 0, 0}.x;
  16750. TRUNC.U R6.w, R6;
  16751. AND.U.CC HC.x, R13, R6.w;
  16752. MOV.F R13.y, c[14].x;
  16753. MOV.F R13.z, R27;
  16754. ADD.F32 R13.y, R13.z, R13;
  16755. MOV.S R14.z, R13.y;
  16756. MOV.S R29.y, R16.z;
  16757. IF NE.x;
  16758. MOV.F R13.z, R14.y;
  16759. ELSE;
  16760. MOV.F R13.z, {0, 0, 0, 0}.x;
  16761. ENDIF;
  16762. MOV.F R6.w, R9.y;
  16763. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  16764. MOV.S R19.z, R6.w;
  16765. MOV.F R6.w, c[12];
  16766. MOV.F R13.x, R29;
  16767. MUL.F32 R13.y, R13.x, R6.w;
  16768. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16769. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  16770. TRUNC.U R13.x, R13;
  16771. TRUNC.U R6.w, R6;
  16772. AND.U.CC HC.x, R13, R6.w;
  16773. MOV.S R29.w, R13.z;
  16774. IF NE.x;
  16775. MOV.F R13.z, R13.y;
  16776. ELSE;
  16777. MOV.F R13.z, {0, 0, 0, 0}.x;
  16778. ENDIF;
  16779. MOV.S R21.x, R13.z;
  16780. MOV.F R13.y, c[12].z;
  16781. MOV.F R13.x, c[14].y;
  16782. MOV.F R6.w, R29.y;
  16783. ADD.F32 R6.w, R13.x, R6;
  16784. MOV.F R13.x, R29.w;
  16785. MOV.S R14.y, R6.w;
  16786. SNE.F32 R6.w, R13.x, {0, 0, 0, 0}.x;
  16787. MUL.F32 R16.z, R13.x, R13.y;
  16788. TRUNC.U R13.x, R6.w;
  16789. SNE.F32 R6.w, R13.y, {0, 0, 0, 0}.x;
  16790. MOV.F R13.z, R19;
  16791. FLR.F R13.y, R13.z;
  16792. TRUNC.U R6.w, R6;
  16793. AND.U.CC HC.x, R13, R6.w;
  16794. MOV.S R30.z, R13.y;
  16795. IF NE.x;
  16796. MOV.F R13.y, R16.z;
  16797. ELSE;
  16798. MOV.F R13.y, {0, 0, 0, 0}.x;
  16799. ENDIF;
  16800. MOV.F R6.w, R9.z;
  16801. MUL.F32 R13.x, R6.w, {2, 0, 0, 0};
  16802. MOV.F R6.w, R30.z;
  16803. MOV.S R27.z, R13.x;
  16804. SGT.F32 R13.x, R6.w, {0, 0, 0, 0};
  16805. TRUNC.U.CC HC.x, R13;
  16806. MOV.S R6.w, R13.y;
  16807. IF NE.x;
  16808. MOV.F R13.y, {1, 0, 0, 0}.x;
  16809. ELSE;
  16810. MOV.F R13.y, {0, 0, 0, 0}.x;
  16811. ENDIF;
  16812. MOV.F R13.x, R30.z;
  16813. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  16814. TRUNC.U.CC HC.x, R13;
  16815. MOV.S R29.x, R13.y;
  16816. IF NE.x;
  16817. MOV.F R19.z, {1, 0, 0, 0}.x;
  16818. ELSE;
  16819. MOV.F R19.z, {0, 0, 0, 0}.x;
  16820. ENDIF;
  16821. MOV.F R13.y, R27.z;
  16822. FLR.F R16.z, R13.y;
  16823. MOV.F R13.z, c[13];
  16824. MOV.F R13.x, R28.w;
  16825. MUL.F32 R16.w, R13.x, R13.z;
  16826. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16827. TRUNC.U R13.y, R13.x;
  16828. SNE.F32 R13.x, R13.z, {0, 0, 0, 0};
  16829. MOV.F R13.z, R19;
  16830. TRUNC.U R13.x, R13;
  16831. AND.U.CC HC.x, R13.y, R13;
  16832. MOV.S R29.z, R16;
  16833. MOV.S R29.y, R13.z;
  16834. IF NE.x;
  16835. MOV.F R13.z, R16.w;
  16836. ELSE;
  16837. MOV.F R13.z, {0, 0, 0, 0}.x;
  16838. ENDIF;
  16839. MOV.F R13.x, R9;
  16840. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  16841. MOV.S R19.z, R13.x;
  16842. MOV.F R13.x, R29.z;
  16843. MOV.F R13.y, c[14].z;
  16844. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  16845. ADD.F32 R13.y, R13, R13.z;
  16846. TRUNC.U.CC HC.x, R13;
  16847. MOV.S R22.x, R13.y;
  16848. IF NE.x;
  16849. MOV.F R16.z, {1, 0, 0, 0}.x;
  16850. ELSE;
  16851. MOV.F R16.z, {0, 0, 0, 0}.x;
  16852. ENDIF;
  16853. MOV.F R13.y, R29.x;
  16854. MOV.F R13.x, R29.y;
  16855. ADD.F32 R13.x, R13.y, -R13;
  16856. MOV.S R13.z, R13.x;
  16857. MOV.F R13.x, R29.z;
  16858. MOV.F R13.y, R16.z;
  16859. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  16860. TRUNC.U.CC HC.x, R13;
  16861. MOV.S R30.y, R13;
  16862. IF NE.x;
  16863. MOV.F R13.y, {1, 0, 0, 0}.x;
  16864. ELSE;
  16865. MOV.F R13.y, {0, 0, 0, 0}.x;
  16866. ENDIF;
  16867. MOV.F R16.z, R13.y;
  16868. MOV.F R13.x, R19.z;
  16869. FLR.F R13.y, R13.x;
  16870. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  16871. TRUNC.U.CC HC.x, R13;
  16872. MOV.S R30.w, R16.z;
  16873. MOV.S R27.z, R13.y;
  16874. IF NE.x;
  16875. MOV.F R16.z, {1, 0, 0, 0}.x;
  16876. ELSE;
  16877. MOV.F R16.z, {0, 0, 0, 0}.x;
  16878. ENDIF;
  16879. MOV.F R13.y, R30.w;
  16880. MOV.F R13.x, R30.y;
  16881. ADD.F32 R13.x, R13.y, -R13;
  16882. MOV.S R13.y, R13.x;
  16883. MOV.F R13.x, R27.z;
  16884. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  16885. TRUNC.U.CC HC.x, R13;
  16886. MOV.S R29.x, R16.z;
  16887. IF NE.x;
  16888. MOV.F R21.y, {1, 0, 0, 0}.x;
  16889. ELSE;
  16890. MOV.F R21.y, {0, 0, 0, 0}.x;
  16891. ENDIF;
  16892. MOV.F R16.z, R25;
  16893. MOV.F R16.w, c[15].x;
  16894. SNE.F32 R13.x, R16.z, {0, 0, 0, 0};
  16895. MUL.F32 R19.z, R16, R16.w;
  16896. TRUNC.U R16.z, R13.x;
  16897. SNE.F32 R13.x, R16.w, {0, 0, 0, 0};
  16898. MOV.F R16.w, R21.y;
  16899. TRUNC.U R13.x, R13;
  16900. AND.U.CC HC.x, R16.z, R13;
  16901. MOV.S R29.z, R16.w;
  16902. IF NE.x;
  16903. MOV.F R16.w, R19.z;
  16904. ELSE;
  16905. MOV.F R16.w, {0, 0, 0, 0}.x;
  16906. ENDIF;
  16907. MOV.F R13.x, c[15].y;
  16908. MOV.F R16.z, R24.y;
  16909. MUL.F32 R19.z, R16, R13.x;
  16910. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  16911. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  16912. TRUNC.U R16.z, R16;
  16913. TRUNC.U R13.x, R13;
  16914. AND.U.CC HC.x, R16.z, R13;
  16915. MOV.S R16.w, R16;
  16916. IF NE.x;
  16917. ELSE;
  16918. MOV.F R19.z, {0, 0, 0, 0}.x;
  16919. ENDIF;
  16920. MOV.F R16.z, R29;
  16921. MOV.F R13.x, R29;
  16922. ADD.F32 R13.x, R16.z, -R13;
  16923. MOV.S R13.x, R13;
  16924. MOV.S R16.z, R19;
  16925. ENDIF;
  16926. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  16927. MOV.U.CC RC.x, -R19.z;
  16928. IF NE.x;
  16929. MOV.F R21.y, R14.w;
  16930. MOV.F R21.z, c[15];
  16931. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  16932. MUL.F32 R23.x, R21.y, R21.z;
  16933. TRUNC.U R21.y, R19.z;
  16934. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  16935. AND.S R22.z, c[2].x, {65536, 0, 0, 0}.x;
  16936. I2F.S R21.z, R22;
  16937. TRUNC.U R19.z, R19;
  16938. AND.U.CC HC.x, R21.y, R19.z;
  16939. AND.S R28.w, c[2].x, {262144, 0, 0, 0}.x;
  16940. AND.S R28.x, c[2], {131072, 0, 0, 0};
  16941. MOV.S R27.z, R21;
  16942. IF NE.x;
  16943. MOV.F R21.y, R23.x;
  16944. ELSE;
  16945. MOV.F R21.y, {0, 0, 0, 0}.x;
  16946. ENDIF;
  16947. MOV.F R19.z, R27;
  16948. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  16949. TRUNC.U.CC HC.x, R19.z;
  16950. MOV.S R26.x, R21.y;
  16951. IF NE.x;
  16952. MOV.F R21.y, {1, 0, 0, 0}.x;
  16953. ELSE;
  16954. MOV.F R21.y, {0, 0, 0, 0}.x;
  16955. ENDIF;
  16956. MOV.F R19.z, R27;
  16957. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  16958. TRUNC.U.CC HC.x, R19.z;
  16959. MOV.S R29.z, R21.y;
  16960. IF NE.x;
  16961. MOV.F R21.z, {1, 0, 0, 0}.x;
  16962. ELSE;
  16963. MOV.F R21.z, {0, 0, 0, 0}.x;
  16964. ENDIF;
  16965. I2F.S R21.y, R28.x;
  16966. MOV.S R19.z, R21.y;
  16967. SGT.F32 R21.y, {0, 0, 0, 0}.x, R21;
  16968. TRUNC.U.CC HC.x, R21.y;
  16969. MOV.S R29.w, R21.z;
  16970. IF NE.x;
  16971. MOV.F R22.z, {1, 0, 0, 0}.x;
  16972. ELSE;
  16973. MOV.F R22.z, {0, 0, 0, 0}.x;
  16974. ENDIF;
  16975. SGT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  16976. TRUNC.U.CC HC.x, R19.z;
  16977. MOV.F R21.y, R29.z;
  16978. MOV.F R21.z, R29.w;
  16979. ADD.F32 R21.y, R21.z, -R21;
  16980. MOV.S R30.y, R21;
  16981. MOV.F R21.y, R22.z;
  16982. MOV.S R30.x, R21.y;
  16983. IF NE.x;
  16984. MOV.F R21.y, {1, 0, 0, 0}.x;
  16985. ELSE;
  16986. MOV.F R21.y, {0, 0, 0, 0}.x;
  16987. ENDIF;
  16988. I2F.S R21.z, R28.w;
  16989. MOV.F R19.z, R30.x;
  16990. ADD.F32 R21.y, R21, -R19.z;
  16991. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  16992. TRUNC.U.CC HC.x, R19.z;
  16993. MOV.S R27.z, R21;
  16994. MOV.S R29.x, R21.y;
  16995. IF NE.x;
  16996. MOV.F R21.y, {1, 0, 0, 0}.x;
  16997. ELSE;
  16998. MOV.F R21.y, {0, 0, 0, 0}.x;
  16999. ENDIF;
  17000. MOV.F R19.z, R27;
  17001. SGT.F32 R19.z, {0, 0, 0, 0}.x, R19;
  17002. TRUNC.U.CC HC.x, R19.z;
  17003. MOV.S R29.y, R21;
  17004. IF NE.x;
  17005. MOV.F R22.z, {1, 0, 0, 0}.x;
  17006. ELSE;
  17007. MOV.F R22.z, {0, 0, 0, 0}.x;
  17008. ENDIF;
  17009. MOV.F R19.z, R30.y;
  17010. TRUNC.S R21.y, R19.z;
  17011. ADD.S R19.z, -R21.y, {0, 0, 0, 0}.x;
  17012. MAX.S R29.z, R21.y, R19;
  17013. MOV.F R21.z, R29.x;
  17014. TRUNC.S R21.z, R21;
  17015. MOV.F R21.y, R29;
  17016. MOV.F R19.z, c[14].w;
  17017. ADD.F32 R21.y, R21, -R22.z;
  17018. SEQ.F R19.z, R19, {1, 0, 0, 0}.x;
  17019. TRUNC.U.CC HC.x, R19.z;
  17020. ADD.S R29.x, -R21.z, {0, 0, 0, 0};
  17021. MOV.S R28.w, R21.z;
  17022. MOV.S R30.w, R21.y;
  17023. IF NE.x;
  17024. MOV.S R21.y, {-1, 0, 0, 0}.x;
  17025. ELSE;
  17026. MOV.S R21.y, {0, 0, 0, 0}.x;
  17027. ENDIF;
  17028. MOV.F R19.z, R30.w;
  17029. TRUNC.S R22.z, R19;
  17030. ADD.S R21.z, -R22, {0, 0, 0, 0}.x;
  17031. MAX.S R30.y, R28.w, R29.x;
  17032. MAX.S R29.x, R22.z, R21.z;
  17033. I2F.S R19.z, R29;
  17034. MUL.F32 R21.z, R19, {2, 0, 0, 0}.x;
  17035. MOV.F R22.z, R13;
  17036. SNE.F32 R19.z, -R21, {0, 0, 0, 0}.x;
  17037. MUL.F32 R23.z, -R21, R22;
  17038. TRUNC.U R21.z, R19;
  17039. SNE.F32 R19.z, R22, {0, 0, 0, 0}.x;
  17040. MOV.F R23.x, c[14].w;
  17041. ADD.F32 R22.z, -R23.x, {1, 0, 0, 0}.x;
  17042. TRUNC.U R19.z, R19;
  17043. AND.U.CC HC.x, R21.z, R19.z;
  17044. MOV.S R24.y, R22.z;
  17045. IF NE.x;
  17046. ELSE;
  17047. MOV.F R23.z, {0, 0, 0, 0}.x;
  17048. ENDIF;
  17049. MOV.F R21.z, R14;
  17050. SNE.F32 R22.z, R21, {0, 0, 0, 0}.x;
  17051. I2F.S R19.z, R30.y;
  17052. MUL.F32 R19.z, R19, {2, 0, 0, 0}.x;
  17053. MUL.F32 R23.x, R23.z, R21.z;
  17054. SNE.F32 R21.z, R23, {0, 0, 0, 0}.x;
  17055. TRUNC.U R22.z, R22;
  17056. TRUNC.U R21.z, R21;
  17057. AND.U.CC HC.x, R22.z, R21.z;
  17058. MOV.S R19.z, R19;
  17059. MOV.S R29.w, R23.z;
  17060. IF NE.x;
  17061. MOV.F R23.z, R23.x;
  17062. ELSE;
  17063. MOV.F R23.z, {0, 0, 0, 0}.x;
  17064. ENDIF;
  17065. MOV.F R21.z, R29.w;
  17066. MOV.F R22.z, R15.x;
  17067. MUL.F32 R23.x, R22.z, R21.z;
  17068. SNE.F32 R22.z, R22, {0, 0, 0, 0}.x;
  17069. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  17070. TRUNC.U R22.z, R22;
  17071. TRUNC.U R21.z, R21;
  17072. AND.U.CC HC.x, R22.z, R21.z;
  17073. MOV.S R30.x, R23.z;
  17074. IF NE.x;
  17075. MOV.F R23.z, R23.x;
  17076. ELSE;
  17077. MOV.F R23.z, {0, 0, 0, 0}.x;
  17078. ENDIF;
  17079. MOV.F R21.z, R13.y;
  17080. MOV.F R22.z, R19;
  17081. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  17082. MUL.F32 R23.x, -R22.z, R21.z;
  17083. SNE.F32 R21.z, -R22, {0, 0, 0, 0}.x;
  17084. TRUNC.U R19.z, R19;
  17085. TRUNC.U R21.z, R21;
  17086. AND.U.CC HC.x, R21.z, R19.z;
  17087. MOV.S R30.y, R23.z;
  17088. IF NE.x;
  17089. ELSE;
  17090. MOV.F R23.x, {0, 0, 0, 0};
  17091. ENDIF;
  17092. I2F.S R21.z, R29.x;
  17093. MOV.F R19.z, R13.x;
  17094. MUL.F32 R21.z, R21, {2, 0, 0, 0}.x;
  17095. MUL.F32 R22.z, -R21, R19;
  17096. SNE.F32 R21.z, -R21, {0, 0, 0, 0}.x;
  17097. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  17098. TRUNC.U R21.z, R21;
  17099. TRUNC.U R19.z, R19;
  17100. AND.U.CC HC.x, R21.z, R19.z;
  17101. MOV.S R30.z, R23.x;
  17102. IF NE.x;
  17103. MOV.F R23.x, R22.z;
  17104. ELSE;
  17105. MOV.F R23.x, {0, 0, 0, 0};
  17106. ENDIF;
  17107. MOV.F R21.z, R14;
  17108. MOV.F R19.z, R30.x;
  17109. ADD.F32 R19.z, R21, R19;
  17110. MOV.S R26.y, R19.z;
  17111. MOV.F R19.z, R30;
  17112. MOV.F R21.z, R14.y;
  17113. MUL.F32 R22.z, R21, R19;
  17114. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  17115. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  17116. TRUNC.U R21.z, R21;
  17117. TRUNC.U R19.z, R19;
  17118. AND.U.CC HC.x, R21.z, R19.z;
  17119. MOV.S R29.x, R23;
  17120. IF NE.x;
  17121. ELSE;
  17122. MOV.F R22.z, {0, 0, 0, 0}.x;
  17123. ENDIF;
  17124. MOV.F R19.z, R30.y;
  17125. ADD.F32 R15.x, R15, R19.z;
  17126. MOV.S R29.w, R15.x;
  17127. MOV.F R15.x, R30.z;
  17128. MOV.F R19.z, R15.y;
  17129. MUL.F32 R21.z, R19, R15.x;
  17130. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  17131. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17132. TRUNC.U R19.z, R19;
  17133. TRUNC.U R15.x, R15;
  17134. AND.U.CC HC.x, R19.z, R15;
  17135. MOV.S R29.z, R22;
  17136. IF NE.x;
  17137. MOV.F R19.z, R21;
  17138. ELSE;
  17139. MOV.F R19.z, {0, 0, 0, 0}.x;
  17140. ENDIF;
  17141. MOV.F R15.x, R29.z;
  17142. ADD.F32 R14.y, R14, R15.x;
  17143. MOV.S R28.x, R14.y;
  17144. MOV.F R14.y, R29.x;
  17145. MOV.F R15.x, R22;
  17146. MUL.F32 R21.z, R15.x, R14.y;
  17147. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  17148. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17149. TRUNC.U R14.y, R14;
  17150. TRUNC.U R15.x, R15;
  17151. AND.U.CC HC.x, R15, R14.y;
  17152. MOV.S R19.z, R19;
  17153. IF NE.x;
  17154. MOV.F R14.y, R21.z;
  17155. ELSE;
  17156. MOV.F R14.y, {0, 0, 0, 0}.x;
  17157. ENDIF;
  17158. MOV.F R15.x, R16.w;
  17159. MOV.F R16.w, R29;
  17160. ADD.F32 R15.x, R16.w, R15;
  17161. MOV.S R24.w, R15.x;
  17162. MOV.F R15.x, R19.z;
  17163. ADD.F32 R16.w, R15.y, R15.x;
  17164. MOV.F R15.x, R29;
  17165. MOV.F R15.y, R15.z;
  17166. MUL.F32 R19.z, R15.y, R15.x;
  17167. SNE.F32 R15.y, R15, {0, 0, 0, 0}.x;
  17168. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17169. TRUNC.U R15.y, R15;
  17170. TRUNC.U R15.x, R15;
  17171. AND.U.CC HC.x, R15.y, R15;
  17172. MOV.S R30.z, R16.w;
  17173. MOV.S R30.y, R14;
  17174. IF NE.x;
  17175. MOV.F R15.y, R19.z;
  17176. ELSE;
  17177. MOV.F R15.y, {0, 0, 0, 0}.x;
  17178. ENDIF;
  17179. MOV.F R14.y, R16.z;
  17180. MOV.F R15.x, R30.z;
  17181. ADD.F32 R15.x, R15, R14.y;
  17182. MOV.F R14.y, R15.z;
  17183. ADD.F32 R14.y, R14, R15;
  17184. MOV.S R24.x, R15;
  17185. MOV.S R29.y, R14;
  17186. MOV.F R14.y, c[14].w;
  17187. MAX.F R14.y, R14, {0, 0, 0, 0}.x;
  17188. LG2.F32 R16.w, R14.y;
  17189. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  17190. MOV.F R15.x, R30.y;
  17191. MOV.F R15.y, R22.x;
  17192. ADD.F32 R15.y, R15, R15.x;
  17193. MUL.F32 R15.x, R16.w, {2, 0, 0, 0};
  17194. SEQ.F R15.x, R16.w, R15;
  17195. TRUNC.U R14.y, R14;
  17196. TRUNC.U R15.x, R15;
  17197. AND.U R14.y, R15.x, R14;
  17198. SEQ.U R14.y, R14, {1, 0, 0, 0}.x;
  17199. MOV.U.CC RC.x, -R14.y;
  17200. MOV.S R28.w, R15.y;
  17201. IF NE.x;
  17202. MOV.F R16.w, {-3.40282347e+38, 0, 0, 0}.x;
  17203. ENDIF;
  17204. MOV.F R15.x, R13.w;
  17205. MUL.F32 R15.y, R15.x, R16.w;
  17206. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  17207. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17208. TRUNC.U R14.y, R14;
  17209. TRUNC.U R15.x, R15;
  17210. AND.U.CC HC.x, R15, R14.y;
  17211. IF NE.x;
  17212. MOV.F R14.y, R15;
  17213. ELSE;
  17214. MOV.F R14.y, {0, 0, 0, 0}.x;
  17215. ENDIF;
  17216. MOV.S R14.y, R14;
  17217. MOV.F R15.y, R14;
  17218. MOV.F R15.x, R29.y;
  17219. MOV.F R14.y, R26.x;
  17220. ADD.F32 R14.y, R15.x, R14;
  17221. EX2.F32 R15.y, R15.y;
  17222. ADD.F32 R15.x, -R15.y, {1, 0, 0, 0};
  17223. MOV.S R26.w, R14.y;
  17224. MOV.S R14.y, R15.x;
  17225. MOV.F R15.x, R24.y;
  17226. DIV.F32 R15.x, R14.y, R15.x;
  17227. SEQ.S R14.y, R21, {0, 0, 0, 0}.x;
  17228. MOV.U.CC RC.x, -R14.y;
  17229. MOV.S R29.w, R15.x;
  17230. IF NE.x;
  17231. MOV.S R19.z, R29.w;
  17232. ELSE;
  17233. MOV.S R19.z, R13.w;
  17234. ENDIF;
  17235. MOV.F R14.y, R19.z;
  17236. MOV.F R15.x, R28;
  17237. MUL.F32 R15.y, R15.x, R14;
  17238. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  17239. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17240. TRUNC.U R14.y, R14;
  17241. TRUNC.U R15.x, R15;
  17242. AND.U.CC HC.x, R15, R14.y;
  17243. IF NE.x;
  17244. MOV.F R16.w, R15.y;
  17245. ELSE;
  17246. MOV.F R16.w, {0, 0, 0, 0}.x;
  17247. ENDIF;
  17248. MOV.F R14.y, R19.z;
  17249. MOV.F R15.x, R26.y;
  17250. MUL.F32 R15.y, R15.x, R14;
  17251. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17252. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  17253. TRUNC.U R15.x, R15;
  17254. TRUNC.U R14.y, R14;
  17255. AND.U.CC HC.x, R15, R14.y;
  17256. MOV.S R29.x, R16.w;
  17257. IF NE.x;
  17258. MOV.F R16.w, R15.y;
  17259. ELSE;
  17260. MOV.F R16.w, {0, 0, 0, 0}.x;
  17261. ENDIF;
  17262. MOV.F R14.y, R19.z;
  17263. MOV.F R15.x, R28.w;
  17264. MUL.F32 R15.y, R15.x, R14;
  17265. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  17266. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  17267. TRUNC.U R15.x, R15;
  17268. TRUNC.U R14.y, R14;
  17269. AND.U.CC HC.x, R15, R14.y;
  17270. MOV.S R29.y, R16.w;
  17271. IF NE.x;
  17272. MOV.F R21.y, R15;
  17273. ELSE;
  17274. MOV.F R21.y, {0, 0, 0, 0}.x;
  17275. ENDIF;
  17276. MOV.F R15.x, R24.w;
  17277. MOV.F R14.y, R29;
  17278. ADD.F32 R14.y, R15.x, R14;
  17279. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  17280. FRC.F32 R14.y, R14;
  17281. MAD.F32 R14.y, R14, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  17282. MUL.F32 R14.y, R14, {0.159154937, 0, 0, 0}.x;
  17283. MOV.S R14.y, R14;
  17284. MOV.F R15.y, R24.x;
  17285. MOV.F R15.x, R29;
  17286. ADD.F32 R15.x, R15.y, R15;
  17287. MOV.S R16.w, R15.x;
  17288. MOV.F R15.x, R14.y;
  17289. MUL.F32 R19.z, R15.x, {6.28318548, 0, 0, 0}.x;
  17290. SIN.F32 R15.x, R19.z;
  17291. MOV.F R14.y, R26.w;
  17292. ADD.F32 R14.y, R14, R21;
  17293. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  17294. MOV.S R15.y, R15.x;
  17295. FRC.F32 R15.x, R14.y;
  17296. COS.F32 R14.y, R19.z;
  17297. MAD.F32 R19.z, R15.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  17298. MOV.S R22.x, R14.y;
  17299. MUL.F32 R14.y, R19.z, {0.159154937, 0, 0, 0}.x;
  17300. MOV.S R15.x, R14.y;
  17301. SIN.F32 R14.y, R19.z;
  17302. MOV.S R14.y, R14;
  17303. ENDIF;
  17304. SEQ.U R19.z, R18.w, {1, 0, 0, 0}.x;
  17305. MOV.U.CC RC.x, -R19.z;
  17306. IF NE.x;
  17307. MOV.F R11.z, R6;
  17308. MOV.F R3.w, c[16].x;
  17309. ADD.F32 R3.w, -R11.z, R3;
  17310. MOV.S R11.z, R3.w;
  17311. MOV.S R3.w, R11.z;
  17312. SGT.F32 R3.w, -R3, {0, 0, 0, 0}.x;
  17313. TRUNC.U.CC HC.x, R3.w;
  17314. MOV.F R13.x, c[16].z;
  17315. MOV.F R13.y, R14.x;
  17316. ADD.F32 R13.x, -R13.y, R13;
  17317. MOV.S R24.x, R13;
  17318. MOV.S R26.y, R11.z;
  17319. IF NE.x;
  17320. MOV.F R11.z, {1, 0, 0, 0}.x;
  17321. ELSE;
  17322. MOV.F R11.z, {0, 0, 0, 0}.x;
  17323. ENDIF;
  17324. MOV.F R3.w, R26.y;
  17325. SEQ.F R3.w, -R3, {0, 0, 0, 0}.x;
  17326. TRUNC.U.CC HC.x, R3.w;
  17327. MOV.S R30.x, R11.z;
  17328. IF NE.x;
  17329. MOV.S R11.z, {-1, 0, 0, 0}.x;
  17330. ELSE;
  17331. MOV.S R11.z, {0, 0, 0, 0}.x;
  17332. ENDIF;
  17333. MOV.F R3.w, R24.x;
  17334. SEQ.F R3.w, R3, {0, 0, 0, 0}.x;
  17335. TRUNC.U.CC HC.x, R3.w;
  17336. IF NE.x;
  17337. MOV.S R3.w, {-1, 0, 0, 0}.x;
  17338. ELSE;
  17339. MOV.S R3.w, {0, 0, 0, 0}.x;
  17340. ENDIF;
  17341. MOV.F R13.x, R26.y;
  17342. SGT.F32 R13.x, {0, 0, 0, 0}, -R13;
  17343. TRUNC.U.CC HC.x, R13;
  17344. IF NE.x;
  17345. MOV.F R13.z, {1, 0, 0, 0}.x;
  17346. ELSE;
  17347. MOV.F R13.z, {0, 0, 0, 0}.x;
  17348. ENDIF;
  17349. MOV.F R13.y, R24.x;
  17350. MOV.F R13.x, R26.y;
  17351. DIV.F32 R13.x, -R13, R13.y;
  17352. MOV.S R29.x, R13;
  17353. SGT.F32 R13.x, {0, 0, 0, 0}, R13.y;
  17354. TRUNC.U.CC HC.x, R13;
  17355. MOV.S R30.w, R13.z;
  17356. IF NE.x;
  17357. MOV.S R14.z, {-1, 0, 0, 0}.x;
  17358. ELSE;
  17359. MOV.S R14.z, {0, 0, 0, 0}.x;
  17360. ENDIF;
  17361. MOV.F R13.y, R30.x;
  17362. MOV.F R13.x, R30.w;
  17363. ADD.F32 R13.x, R13.y, -R13;
  17364. MOV.F R13.y, R15.x;
  17365. MOV.S R28.z, R13.x;
  17366. MUL.F32 R13.y, R13, {6.28318548, 0, 0, 0}.x;
  17367. MOV.F R13.x, R29;
  17368. COS.F32 R13.y, R13.y;
  17369. SGT.F32 R13.x, {0, 0, 0, 0}, R13;
  17370. TRUNC.U.CC HC.x, R13;
  17371. MOV.S R28.x, R13.y;
  17372. IF NE.x;
  17373. MOV.F R13.y, {1, 0, 0, 0}.x;
  17374. ELSE;
  17375. MOV.F R13.y, {0, 0, 0, 0}.x;
  17376. ENDIF;
  17377. MOV.F R13.x, R29;
  17378. SGT.F32 R13.x, R13, {0, 0, 0, 0};
  17379. TRUNC.U.CC HC.x, R13;
  17380. MOV.S R30.x, R13.y;
  17381. IF NE.x;
  17382. MOV.F R13.y, {1, 0, 0, 0}.x;
  17383. ELSE;
  17384. MOV.F R13.y, {0, 0, 0, 0}.x;
  17385. ENDIF;
  17386. MOV.F R13.z, R13.y;
  17387. MOV.F R13.x, R29;
  17388. MAX.F R13.x, R13, -R13;
  17389. MOV.S R25.z, R13.x;
  17390. MOV.F R13.x, R14.z;
  17391. MOV.F R13.y, R11.z;
  17392. SNE.F32 R11.z, R13.x, {0, 0, 0, 0}.x;
  17393. MUL.F32 R14.z, R13.y, R13.x;
  17394. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  17395. TRUNC.U R11.z, R11;
  17396. TRUNC.U R13.x, R13;
  17397. AND.U.CC HC.x, R13, R11.z;
  17398. MOV.S R30.y, R13.z;
  17399. IF NE.x;
  17400. MOV.F R13.x, R14.z;
  17401. ELSE;
  17402. MOV.F R13.x, {0, 0, 0, 0};
  17403. ENDIF;
  17404. MOV.F R11.z, R28;
  17405. MUL.F32 R11.z, R11, {1.57079637, 0, 0, 0}.x;
  17406. MOV.S R15.z, R11;
  17407. MOV.F R11.z, R25;
  17408. SGT.F32 R11.z, R11, {1, 0, 0, 0}.x;
  17409. TRUNC.U.CC HC.x, R11.z;
  17410. MOV.S R26.w, R13.x;
  17411. IF NE.x;
  17412. MOV.S R13.y, {-1, 0, 0, 0}.x;
  17413. ELSE;
  17414. MOV.S R13.y, {0, 0, 0, 0}.x;
  17415. ENDIF;
  17416. MOV.F R11.z, R30.x;
  17417. MOV.F R13.x, R30.y;
  17418. ADD.F32 R13.x, R13, -R11.z;
  17419. MOV.F R11.z, R25;
  17420. MOV.S R29.w, R13.x;
  17421. RCP.F32 R13.x, R11.z;
  17422. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  17423. MOV.U.CC RC.x, -R11.z;
  17424. MOV.S R19.z, R13.x;
  17425. IF NE.x;
  17426. MOV.S R14.w, R25.z;
  17427. ELSE;
  17428. MOV.S R14.w, R19.z;
  17429. ENDIF;
  17430. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  17431. MOV.U.CC RC.x, -R11.z;
  17432. IF NE.x;
  17433. MOV.F R13.x, R29.w;
  17434. [17:15:06] Shader cache loaded with 8709 shaders. Commited mem 5777MB. Took 92284ms
  17435. [17:15:06] Recompiler initialized. CPU extensions: LZCNT MOVBE AVX
  17436. [17:15:07] Custom timer mode: none
  17437. [17:15:07] Applying patch group BotW_FasterArrowDraw_V208 from pack 'Faster Arrow Draw' v3 to module u-king (checksum 0x6267BFD0)
  17438. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Amiibo' v3 to module u-king (checksum 0x6267BFD0)
  17439. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Arrows' v3 to module u-king (checksum 0x6267BFD0)
  17440. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Daruk's Protection' v3 to module u-king (checksum 0x6267BFD0)
  17441. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Hearts' v3 to module u-king (checksum 0x6267BFD0)
  17442. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Mipha's Grace' v3 to module u-king (checksum 0x6267BFD0)
  17443. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Motorcycle Energy' v3 to module u-king (checksum 0x6267BFD0)
  17444. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Revali's Gale' v3 to module u-king (checksum 0x6267BFD0)
  17445. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Stamina' v3 to module u-king (checksum 0x6267BFD0)
  17446. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Urbosa's Fury' v3 to module u-king (checksum 0x6267BFD0)
  17447. [17:15:07] Applying patch group BotwV208 from pack 'Infinite Weapons, Bows and Shields' v3 to module u-king (checksum 0x6267BFD0)
  17448. [17:15:07] Applying patch group BotwV208 from pack 'Spawn Motorcycle Anywhere' v3 to module u-king (checksum 0x6267BFD0)
  17449. [17:15:07] Applying patch group BotwFPSV208 from pack 'Dynamic Gamespeed' v3 to module u-king (checksum 0x6267BFD0)
  17450. [17:15:07] Applying patch group BotwFenceV208 from pack 'Fence Method' v3 to module u-king (checksum 0x6267BFD0)
  17451. [17:15:07] Applying patch group BotwFPSV208 from pack 'CPU Occlusion Query' v3 to module u-king (checksum 0x6267BFD0)
  17452. [17:15:07] Applying patch group BotwPlsNoCrashV208 from pack 'LWZX Crash Workaround (OpenGL)' v3 to module u-king (checksum 0x6267BFD0)
  17453. [17:15:07] Applying patch group BotwAspectsV208 from pack 'Resolution' v3 to module u-king (checksum 0x6267BFD0)
  17454. [17:15:07] IOSU_CRYPTO: No otp.bin found. Online mode cannot be used
  17455. [17:15:07] IOSU_CRYPTO: No Seeprom.bin found. Online mode cannot be used
  17456. [17:15:07] IOSU_ACT: using account default in first slot
  17457.  
Add Comment
Please, Sign In to add comment