Advertisement
ScrapMechanicFan2016

log.txt

Dec 29th, 2020
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 464.34 KB | None | 0 0
  1. [19:42:49] ------- Init Cemu 1.22.2 -------
  2. [19:42:49] Init Wii U memory space (base: 0x140ee0000)
  3. [19:42:49] mlc01 path: E:\CEMU\mlc01\
  4. [19:42:49] Cemuhook version: 0.5.7.3
  5. [19:42:49] CPU: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
  6. [19:42:49] RAM: 16383MB
  7. [19:42:49] Used CPU extensions: SSSE3, SSE4.1, AES-NI
  8. [19:42:51] Loading U-King.rpx
  9. [19:42:52] Creating OpenGL canvas
  10. [19:42:52] Unable to create dxgi wrapper: can't create dxgi adapter (VRAM overlay stat won't be available)
  11. [19:42:52] Loaded RPL module u-king (checksum 0x6267BFD0)
  12. [19:42:52] ------- Loaded title -------
  13. [19:42:52] TitleId: 00050000-101c9400
  14. [19:42:52] TitleVersion: v208
  15. [19:42:52] Update path: <mlc01>\usr\title\0005000e\101c9400\
  16. [19:42:52] AOC path: <mlc01>\usr\title\0005000c\101c9400\
  17. [19:42:52] Save path: <mlc01>\usr\save\00050000\101C9400\user\
  18. [19:42:52] Shader cache file: shaderCache\transferable\00050000101c9400.bin
  19. [19:42:52] gameprofile path: gameProfiles\default\00050000101c9400.ini
  20. [19:42:52] RPX hash (updated): fb7911ad
  21. [19:42:52] RPX hash (base): dcac9927
  22. [19:42:52] Loaded module 'u-king' with checksum 0x6267bfd0
  23. [19:42:52] RPL link time: 141ms
  24. [19:42:53] HLE scan time: 109ms
  25. [19:42:53] ------- Active settings -------
  26. [19:42:53] CPU-Mode: Multi-core recompiler
  27. [19:42:53] Load shared libraries: true
  28. [19:42:53] Use precompiled shaders: auto (gameprofile)
  29. [19:42:53] Full sync at GX2DrawDone: false
  30. [19:42:53] Console language: English
  31. [19:42:53] ------- Init OpenGL graphics backend -------
  32. [19:42:53] GL_VENDOR: NVIDIA Corporation
  33. [19:42:53] GL_RENDERER: GeForce GTX 1060 6GB/PCIe/SSE2
  34. [19:42:53] GL_VERSION: 4.5.0 NVIDIA 372.70
  35. [19:42:53] OpenGL extensions:
  36. [19:42:53] ARB_clip_control: available
  37. [19:42:53] ARB_get_program_binary: available
  38. [19:42:53] ARB_clear_texture: available
  39. [19:42:53] ARB_copy_image: available
  40. [19:42:53] NV_depth_buffer_float: available
  41. [19:42:53] ------- Activate graphic packs -------
  42. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/BCML
  43. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Main [Presets: Cel-Shading Disabled]
  44. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Start Menu Workaround [Presets: Start Menu Workaround]
  45. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Shadow Brightness Fix - SkalFate [Presets: Mode 1 - Shadows X8 (Best Mode)]
  46. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient Armor [Presets: Custom (Edit in rules.txt)]
  47. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient weapons [Presets: Energy Blue]
  48. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Decayed Guardian [Presets: Energy Blue]
  49. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Stalker & Scout & Guardian weapons [Presets: Energy Blue]
  50. [19:42:53] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Turret & Skywatcher [Presets: Energy Blue]
  51. [19:42:53] Applying patch group 'BotwV208'
  52. [19:42:53] An error occurred while trying to apply the patches for graphic pack 'Faster Arrow Draw'
  53. [19:42:53] Unexpected error in expression "0x100c50A0@l"
  54. [19:42:53] [BotwV208] Internal error
  55. [19:42:53] Unexpected error in expression "0x100c50A0@l"
  56. [19:42:53] [BotwV208] Internal error
  57. [19:42:53] Unexpected error in expression "0x100c50A0@l"
  58. [19:42:53] [BotwV208] Internal error
  59. [19:42:53] Unexpected error in expression "0x100c50A0@l"
  60. [19:42:53] [BotwV208] Internal error
  61. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Faster Arrow Draw
  62. [19:42:54] Applying patch group 'BotwV208'
  63. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Daruk's Protection
  64. [19:42:54] Applying patch group 'BotwV208'
  65. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Mipha's Grace
  66. [19:42:54] Applying patch group 'BotwV208'
  67. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Motorcycle Energy
  68. [19:42:54] Applying patch group 'BotwV208'
  69. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Stamina
  70. [19:42:54] Applying patch group 'BotwV208'
  71. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Infinite Weapons, Bows and Shields
  72. [19:42:54] Applying patch group 'BotwV208'
  73. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Cheats/Spawn Motorcycle Anywhere
  74. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Distant Fog - Main [Presets: Fog 0% Light x1]
  75. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Ganons Aura [Presets: Ganons Aura Fog Disabled]
  76. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Base Fog [Presets: Castle Base Fog Disabled]
  77. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/NPC Fog Removal [Presets: Distant NPC Fog Disabled]
  78. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/World Fog Fields [Presets: Fog Fields Disabled]
  79. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/Divine Laser Beams Customizer [Presets: Rainbow]
  80. [19:42:54] Applying patch group 'BotwFPSV208' (Codecave: 01800000-01800124)
  81. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Dynamic Gamespeed (Required) [Presets: 32 Frames Averaged]
  82. [19:42:54] Applying patch group 'BotwFenceV208' (Codecave: 01800200-01800250)
  83. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Fence Method (Required) [Presets: Performance Fence]
  84. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required) [Presets: 120FPS (ideal for 240/120/60Hz displays)]
  85. [19:42:54] Set vsync frequency to 120 (graphic pack The Legend of Zelda: Breath of the Wild/Mods/FPS++/Set FPS Limit (Required))
  86. [19:42:54] Applying patch group 'BotwFPSV208'
  87. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Mods/FPS++/NPC Stutter Fix (CPU Occlusion Query)
  88. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/Kakariko Torch Shadows (OpenGL)
  89. [19:42:54] Applying patch group 'BotwPlsNoCrashV208' (Codecave: 01800300-0180033c)
  90. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/LWZX Crash (OpenGL)
  91. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds for OpenGL/NVIDIA: Explosion Smoke
  92. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Workarounds/GPU specific workarounds for OpenGL/NVIDIA: Stretched Clouds
  93. [19:42:54] Applying patch group 'BotwAspectsV208'
  94. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Resolution [Presets: 1920x1080 (16:9)]
  95. [19:42:54] Activate graphic pack: The Legend of Zelda: Breath of the Wild/Graphics/Shadow Resolution [Presets: Ultra (300%)]
  96. [19:42:54] ------- Init Audio backend -------
  97. [19:42:54] DirectSound: available
  98. [19:42:54] XAudio 2.8: not supported
  99. [19:42:54] XAudio 2.7: available
  100. [19:42:54] ------- Run title -------
  101. [19:42:54] Using precompiled shaders: false
  102. [19:43:03] Reverting patch group BotwFPSV208 from pack 'Dynamic Gamespeed' v3
  103. [19:43:03] Reverting patch group BotwFPSV208 from pack 'CPU Occlusion Query' v3
  104. [19:43:03] Reverting patch group BotwFenceV208 from pack 'Fence Method' v3
  105. [19:43:04] Applying patch group 'BotwFPSV208'
  106. [19:43:04] Reverting patch group BotwFPSV208 from pack 'CPU Occlusion Query' v3
  107. [19:43:15] Link error in shader. Log:
  108. [19:43:15] Vertex info
  109. -----------
  110. Internal error: assembly compile error for vertex shader at offset 1843:
  111. -- error message --
  112. line 38, column 45: error: invalid vertex attribute reference
  113. line 53, column 25: error: invalid vertex attribute reference
  114. line 55, column 25: error: invalid vertex attribute reference
  115. line 57, column 25: error: invalid vertex attribute reference
  116. line 60, column 25: error: invalid vertex attribute reference
  117. -- internal assembly text --
  118. !!NVvp5.0
  119. OPTION NV_bindless_texture;
  120. # cgc version 3.4.0001, build date Aug 25 2016
  121. # command line args:
  122. #vendor NVIDIA Corporation
  123. #version 3.4.0.1 COP Build Date Aug 25 2016
  124. #profile gp5vp
  125. #program main
  126. #semantic uf_remappedVS
  127. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  128. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  129. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  130. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  131. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  132. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  133. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  134. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  135. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  136. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  137. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  138. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  139. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  140. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  141. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  142. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  143. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  144. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  145. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  146. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  147. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  148. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  149. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  150. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  151. #var float4 passParameterSem9 : $vout.ATTR5 : ATTR5 : -1 : 1
  152. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  153. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  154. PARAM c[48] = { program.local[0..47] };
  155. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  156. OUTPUT result_attrib[] = { result.attrib[0..5] };
  157. 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;
  158. TEMP RC;
  159. SHORT TEMP HC;
  160. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  161. AND.U R1, R0, {65280, 0, 0, 0}.x;
  162. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  163. MOV.F R16.w, {1, 0, 0, 0}.x;
  164. OR.U R0, R0, R1;
  165. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  166. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  167. OR.U R0, R0, R1;
  168. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  169. OR.U R4, R0, R2;
  170. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  171. AND.U R1, R0, {65280, 0, 0, 0}.x;
  172. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  173. OR.U R0, R0, R1;
  174. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  175. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  176. OR.U R0, R0, R1;
  177. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  178. OR.U R6, R0, R2;
  179. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  180. AND.U R2, R1, {65280, 0, 0, 0}.x;
  181. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  182. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  183. OR.U R1, R1, R2;
  184. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  185. OR.U R0, R1, R0;
  186. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  187. OR.U R0, R0, R2;
  188. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  189. AND.U R3, R2, {65280, 0, 0, 0}.x;
  190. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  191. OR.U R2, R2, R3;
  192. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  193. AND.U R3, R1, {16711680, 0, 0, 0}.x;
  194. OR.U R2, R2, R3;
  195. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  196. OR.U R7, R2, R1;
  197. MOV.F R1.x, c[0];
  198. ADD.F32 R3.x, -R0.w, R1;
  199. MOV.S R8.xyz, R0;
  200. SHR.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  201. AND.U R1, R0, {65280, 0, 0, 0}.x;
  202. MOV.S R9.w, R3.x;
  203. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  204. SHR.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  205. TRUNC.U R16.x, R3;
  206. SEQ.U R3.x, R16, {1, 0, 0, 0};
  207. SEQ.U R16.y, -R3.x, {1, 0, 0, 0}.x;
  208. MOV.U.CC RC.x, -R16.y;
  209. OR.U R0, R0, R1;
  210. SHL.U R2, vertex.attrib[12], {8, 0, 0, 0}.x;
  211. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  212. OR.U R0, R0, R1;
  213. SHL.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  214. OR.U R10, R0, R2;
  215. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  216. AND.U R1, R0, {65280, 0, 0, 0}.x;
  217. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  218. OR.U R0, R0, R1;
  219. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  220. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  221. OR.U R0, R0, R1;
  222. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  223. OR.U R11, R0, R2;
  224. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  225. AND.U R1, R0, {65280, 0, 0, 0}.x;
  226. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  227. OR.U R0, R0, R1;
  228. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  229. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  230. OR.U R0, R0, R1;
  231. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  232. OR.U R12, R0, R2;
  233. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  234. AND.U R1, R0, {65280, 0, 0, 0}.x;
  235. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  236. OR.U R0, R0, R1;
  237. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  238. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  239. OR.U R0, R0, R1;
  240. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  241. OR.U R13, R0, R2;
  242. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  243. AND.U R1, R0, {65280, 0, 0, 0}.x;
  244. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  245. OR.U R0, R0, R1;
  246. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  247. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  248. OR.U R0, R0, R1;
  249. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  250. OR.U R14, R0, R2;
  251. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  252. AND.U R1, R0, {65280, 0, 0, 0}.x;
  253. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  254. OR.U R0, R0, R1;
  255. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  256. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  257. OR.U R0, R0, R1;
  258. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  259. OR.U R22, R0, R2;
  260. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  261. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  262. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  263. OR.U R0.xyz, R0, R1;
  264. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  265. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  266. OR.U R0.xyz, R0, R1;
  267. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  268. OR.U R9.xyz, R0, R2;
  269. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  270. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  271. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  272. OR.U R0.xyz, R0, R1;
  273. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  274. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  275. OR.U R0.xyz, R0, R1;
  276. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  277. OR.U R25.xyz, R0, R2;
  278. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  279. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  280. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  281. OR.U R0.xyz, R0, R1;
  282. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  283. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  284. OR.U R0.xyz, R0, R1;
  285. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  286. OR.U R15.xyz, R0, R2;
  287. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  288. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  289. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  290. OR.U R0.xyz, R0, R1;
  291. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  292. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  293. OR.U R0.xyz, R0, R1;
  294. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  295. OR.U R21.xyz, R0, R2;
  296. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  297. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  298. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  299. OR.U R1.xy, R1, R1.zwzw;
  300. SHL.U R2.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  301. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  302. OR.U R1.xy, R1, R1.zwzw;
  303. SHL.U R2.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  304. OR.U R24.xy, R1, R2;
  305. MOV.U R1.x, R24;
  306. MOV.F R1.z, R1.x;
  307. MOV.U R1.y, R24;
  308. ADD.F32 R1.x, -R1.y, {1, 0, 0, 0};
  309. ADD.F32 R1.y, -R1.z, {1, 0, 0, 0}.x;
  310. MOV.S R24.z, R1.x;
  311. MOV.S R8.w, R1.y;
  312. MOV.S R0, {0, 0, 0, 0}.x;
  313. MOV.S R5, {0, 0, 0, 0}.x;
  314. MOV.S R3, {0, 0, 0, 0}.x;
  315. MOV.S R2, {0, 0, 0, 0}.x;
  316. MOV.S R26.xy, {0, 0, 0, 0}.x;
  317. MOV.S R1.yz, {0, 0, 0, 0};
  318. MOV.S R16.z, {0, 0, 0, 0}.x;
  319. MOV.S R1.x, vertex.id;
  320. MOV.S R1.w, vertex.instance.x;
  321. MOV.S R15.w, {0, 0, 0, 0}.x;
  322. MOV.S R21.w, R16;
  323. IF NE.x;
  324. MOV.F R3.z, c[1].y;
  325. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  326. MOV.S R22.w, R21;
  327. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  328. MOV.S R26.xy, {0, 0, 0, 0}.x;
  329. MOV.S R3.z, R3;
  330. ENDIF;
  331. SEQ.U R16.x, R16, {0, 0, 0, 0};
  332. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  333. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  334. MOV.U.CC RC.x, -R16;
  335. IF NE.x;
  336. MOV.S R22.w, {0, 0, 0, 0}.x;
  337. ENDIF;
  338. SEQ.S R16.x, R22.w, {0, 0, 0, 0};
  339. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  340. SEQ.U R16.w, -R16.y, {1, 0, 0, 0}.x;
  341. MOV.U.CC RC.x, -R16.w;
  342. MOV.U R16.x, -R16;
  343. MOV.U R23.z, -R16.y;
  344. IF NE.x;
  345. MOV.F R16.y, R7.w;
  346. TRUNC.S R16.y, R16;
  347. I2F.S R16.y, R16;
  348. MOV.F R16.z, R9.w;
  349. SGE.F32 R16.z, R16, R16.y;
  350. TRUNC.U R16.z, R16;
  351. SEQ.U R16.z, R16, {1, 0, 0, 0}.x;
  352. SEQ.U R16.w, R23.z, {1, 0, 0, 0}.x;
  353. AND.U R24.w, -R16.z, -R16;
  354. MOV.S R16.z, R16.y;
  355. ELSE;
  356. MOV.U R24.w, {0, 0, 0, 0}.x;
  357. ENDIF;
  358. SEQ.U R16.y, R24.w, {1, 0, 0, 0}.x;
  359. MOV.U.CC RC.x, -R16.y;
  360. IF NE.x;
  361. MOV.F R3.z, c[1].y;
  362. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  363. MOV.S R15.w, R21;
  364. MOV.S R3.xy, {0, 0, 0, 0};
  365. MOV.S R3.z, R3;
  366. MOV.S R26.x, {0, 0, 0, 0};
  367. ENDIF;
  368. SEQ.U R16.x, R16, {1, 0, 0, 0};
  369. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  370. MOV.U.CC RC.x, -R16.y;
  371. MOV.U R23.z, -R16.x;
  372. IF NE.x;
  373. SEQ.S R16.x, R15.w, {0, 0, 0, 0};
  374. MOV.U R26.z, -R16.x;
  375. SEQ.U R16.y, R23.z, {1, 0, 0, 0}.x;
  376. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  377. AND.U R24.w, -R16.x, -R16.y;
  378. ELSE;
  379. MOV.U R26.z, {0, 0, 0, 0}.x;
  380. MOV.U R24.w, {0, 0, 0, 0}.x;
  381. ENDIF;
  382. SEQ.U R16.x, R24.w, {1, 0, 0, 0};
  383. MOV.U.CC RC.x, -R16;
  384. IF NE.x;
  385. MOV.F R0.x, c[2];
  386. SLT.F32 R0.y, R0.x, {0, 0, 0, 0}.x;
  387. MOV.F R1.xyz, R9;
  388. MOV.F R0.x, {1, 0, 0, 0};
  389. TRUNC.U.CC HC.x, R0.y;
  390. MOV.F R0.x(EQ), {0, 0, 0, 0};
  391. MOV.S R16.x, R0;
  392. MOV.F R0.xyz, R15;
  393. MOV.F R1.w, {0, 0, 0, 0}.x;
  394. MOV.F R0.w, {-0, 0, 0, 0}.x;
  395. DP4.F32 R4.w, R0, R1;
  396. MOV.F R0.xyz, R21;
  397. MOV.F R0.w, {-0, 0, 0, 0}.x;
  398. DP4.F32 R0.y, R1, R0;
  399. MOV.S R5.y, R0;
  400. MOV.F R0.y, R10.x;
  401. MOV.F R15.xyz, R22;
  402. MOV.F R15.w, {-0, 0, 0, 0}.x;
  403. DP4.F32 R0.z, R1, R15;
  404. MOV.S R15.y, R0.z;
  405. MIN.F.SAT R1.x, R0.y, {0, 0, 0, 0};
  406. MOV.F R0.w, R25.x;
  407. ADD.F32 R0.w, R0, R1.x;
  408. MOV.S R25.x, R0.w;
  409. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  410. MOV.F R0.z, c[3].y;
  411. MUL.F32 R0.y, R0, R0.z;
  412. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  413. TRUNC.U R1.x, R0.w;
  414. TRUNC.U R1.y, R0.z;
  415. AND.U.CC HC.x, R1, R1.y;
  416. MOV.S R0.x, R4.w;
  417. MOV.S R5.xzw, {0, 0, 0, 0}.x;
  418. MOV.S R0.zw, {0, 0, 0, 0}.x;
  419. IF NE.x;
  420. ELSE;
  421. MOV.F R0.y, {0, 0, 0, 0}.x;
  422. ENDIF;
  423. MOV.F R1.x, c[2];
  424. SGT.F32 R1.x, R1, {0, 0, 0, 0};
  425. TRUNC.U.CC HC.x, R1;
  426. MOV.S R17.y, R0;
  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 R1.y, c[2].x;
  433. MOV.F R1.z, R17.y;
  434. MOV.F R1.x, R9.w;
  435. RCP.F32 R1.y, R1.y;
  436. MAD.F32 R1.y, R1.x, R1, R1.z;
  437. FRC.F R1.y, R1;
  438. MOV.F R1.z, R16.x;
  439. MOV.S R20.y, R1;
  440. ADD.F32 R1.y, R0, -R1.z;
  441. MOV.F R0.y, R16.z;
  442. DIV.F32 R1.x, R1, R0.y;
  443. ADD.F32 R1.z, -R1.y, {1, 0, 0, 0}.x;
  444. MUL.F32 R0.y, R1.x, R1.z;
  445. SNE.F32 R1.z, -R1.y, {-1, 0, 0, 0}.x;
  446. TRUNC.U R8.y, R1.z;
  447. MOV.S R17.z, R1.y;
  448. MOV.S R4.w, R1.x;
  449. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  450. TRUNC.U R8.x, R1;
  451. AND.U.CC HC.x, R8, R8.y;
  452. MOV.F R1.y, c[5].w;
  453. MOV.F R1.x, c[4].w;
  454. ADD.F32 R1.x, -R1, R1.y;
  455. MOV.S R9.y, R1.x;
  456. MOV.F R1.x, c[5].y;
  457. MOV.F R1.y, c[6];
  458. ADD.F32 R1.y, -R1.x, R1;
  459. MOV.S R19.x, R1.y;
  460. MOV.F R1.w, c[5].x;
  461. MOV.F R1.z, c[4].x;
  462. ADD.F32 R1.z, -R1, R1.w;
  463. MOV.S R19.y, R1.z;
  464. MOV.F R1.w, c[4].y;
  465. ADD.F32 R1.x, R1, -R1.w;
  466. MOV.F R1.z, c[5];
  467. MOV.F R1.y, c[4].z;
  468. ADD.F32 R1.y, -R1, R1.z;
  469. MOV.S R17.y, R1;
  470. MOV.S R17.w, R1.x;
  471. IF NE.x;
  472. ELSE;
  473. MOV.F R0.y, {0, 0, 0, 0}.x;
  474. ENDIF;
  475. MOV.F R1.z, R17;
  476. MOV.F R8.x, R20.y;
  477. MUL.F32 R1.x, R1.z, R8;
  478. MOV.F R1.w, R9.y;
  479. MOV.F R1.y, R19;
  480. DIV.F32 R1.y, R1, R1.w;
  481. MOV.S R17.x, R1.y;
  482. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  483. TRUNC.U R8.y, R1;
  484. MOV.F R1.z, c[6].x;
  485. MOV.F R1.y, c[5].x;
  486. ADD.F32 R1.y, -R1, R1.z;
  487. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  488. TRUNC.U R1.z, R8.x;
  489. MOV.S R19.w, R1.y;
  490. RCP.F32 R1.y, R1.w;
  491. AND.U.CC HC.x, R8.y, R1.z;
  492. MOV.S R19.z, R0.y;
  493. MOV.S R16.z, R1.y;
  494. IF NE.x;
  495. MOV.F R0.y, R1.x;
  496. ELSE;
  497. MOV.F R0.y, {0, 0, 0, 0}.x;
  498. ENDIF;
  499. MOV.F R1.z, R17.y;
  500. MOV.F R1.w, c[4];
  501. MOV.F R1.y, R16.z;
  502. MOV.F R1.x, R17.w;
  503. MUL.F32 R1.x, R1, R1.y;
  504. MUL.F32 R1.y, R1, R1.z;
  505. MOV.S R17.z, R1.x;
  506. MOV.S R0.y, R0;
  507. MOV.F R1.z, R19;
  508. ADD.F32 R1.z, R1, R0.y;
  509. ADD.F32 R8.x, R1.z, -R1.w;
  510. MUL.F32 R0.y, R8.x, R1;
  511. MOV.F R1.x, c[5].w;
  512. MOV.S R23.w, R8.x;
  513. ADD.F32 R8.x, R1.z, -R1;
  514. MOV.S R23.x, R1.z;
  515. SNE.F32 R1.z, R1, R1.w;
  516. MOV.S R18.x, R8;
  517. MOV.F R8.x, c[6].w;
  518. ADD.F32 R1.x, -R1, R8;
  519. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  520. TRUNC.U R8.x, R1.y;
  521. TRUNC.U R1.w, R1.z;
  522. MOV.S R1.x, R1;
  523. MOV.F R1.z, R1.x;
  524. AND.U.CC HC.x, R1.w, R8;
  525. MOV.F R1.y, c[6].z;
  526. MOV.F R1.x, c[5].z;
  527. ADD.F32 R1.x, -R1, R1.y;
  528. RCP.F32 R1.y, R1.z;
  529. MOV.S R17.y, R1.x;
  530. MOV.S R18.w, R1.y;
  531. IF NE.x;
  532. ELSE;
  533. MOV.F R0.y, {0, 0, 0, 0}.x;
  534. ENDIF;
  535. MOV.F R1.z, R17;
  536. MOV.F R1.y, R23.w;
  537. MUL.F32 R1.x, R1.y, R1.z;
  538. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  539. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  540. TRUNC.U R1.y, R1;
  541. TRUNC.U R1.z, R1;
  542. AND.U.CC HC.x, R1.y, R1.z;
  543. MOV.S R20.x, R0.y;
  544. IF NE.x;
  545. MOV.F R0.y, R1.x;
  546. ELSE;
  547. MOV.F R0.y, {0, 0, 0, 0}.x;
  548. ENDIF;
  549. MOV.F R1.z, R17.x;
  550. MOV.F R1.y, R23.w;
  551. MUL.F32 R1.x, R1.y, R1.z;
  552. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  553. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  554. TRUNC.U R1.y, R1;
  555. TRUNC.U R1.z, R1;
  556. AND.U.CC HC.x, R1.y, R1.z;
  557. MOV.S R20.y, R0;
  558. IF NE.x;
  559. MOV.F R0.y, R1.x;
  560. ELSE;
  561. MOV.F R0.y, {0, 0, 0, 0}.x;
  562. ENDIF;
  563. MOV.F R1.y, R18.w;
  564. MOV.F R1.x, R19;
  565. MUL.F32 R1.x, R1, R1.y;
  566. MOV.F R1.z, R17.y;
  567. MUL.F32 R1.z, R1, R1.y;
  568. MOV.S R19.y, R1.x;
  569. MOV.F R1.x, R19.w;
  570. MUL.F32 R1.x, R1, R1.y;
  571. SNE.F32 R1.y, R1.x, {0, 0, 0, 0}.x;
  572. MOV.F R8.x, R18;
  573. TRUNC.U R8.y, R1;
  574. MOV.S R16.x, R1.z;
  575. MOV.F R1.z, R20.x;
  576. MOV.F R1.y, c[4].z;
  577. ADD.F32 R1.y, R1, R1.z;
  578. MOV.F R1.w, R20.y;
  579. MOV.F R1.z, c[4].y;
  580. ADD.F32 R1.z, R1, R1.w;
  581. MOV.S R15.z, R1;
  582. MOV.F R1.z, c[4].x;
  583. ADD.F32 R0.y, R1.z, R0;
  584. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  585. TRUNC.U R1.z, R1.w;
  586. AND.U.CC HC.x, R1.z, R8.y;
  587. MUL.F32 R1.x, R8, R1;
  588. MOV.S R1.y, R1;
  589. MOV.S R22.w, R0.y;
  590. IF NE.x;
  591. MOV.F R0.y, R1.x;
  592. ELSE;
  593. MOV.F R0.y, {0, 0, 0, 0}.x;
  594. ENDIF;
  595. MOV.F R1.x, R18;
  596. SNE.F32 R1.z, R1.x, {0, 0, 0, 0}.x;
  597. MOV.F R1.w, R16.x;
  598. TRUNC.U R8.x, R1.z;
  599. MOV.F R1.z, c[5].x;
  600. ADD.F32 R0.y, R1.z, R0;
  601. MUL.F32 R1.x, R1, R1.w;
  602. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  603. TRUNC.U R1.z, R1.w;
  604. AND.U.CC HC.x, R8, R1.z;
  605. MOV.S R21.x, R0.y;
  606. IF NE.x;
  607. MOV.F R0.y, R1.x;
  608. ELSE;
  609. MOV.F R0.y, {0, 0, 0, 0}.x;
  610. ENDIF;
  611. MOV.F R1.w, R19.y;
  612. MOV.F R1.z, R18.x;
  613. MUL.F32 R1.x, R1.z, R1.w;
  614. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  615. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  616. TRUNC.U R1.z, R1;
  617. TRUNC.U R1.w, R1;
  618. AND.U.CC HC.x, R1.z, R1.w;
  619. MOV.S R20.y, R0;
  620. IF NE.x;
  621. MOV.F R0.y, R1.x;
  622. ELSE;
  623. MOV.F R0.y, {0, 0, 0, 0}.x;
  624. ENDIF;
  625. MOV.F R1.x, {1, 0, 0, 0};
  626. MOV.S R8.z, R1.x;
  627. MOV.F R1.z, R23.w;
  628. SLT.F32 R1.z, R1, {0, 0, 0, 0}.x;
  629. TRUNC.U.CC HC.x, R1.z;
  630. MOV.F R1.z, R18.x;
  631. MOV.S R1.x, {0, 0, 0, 0};
  632. MOV.F R8.y, R23.x;
  633. MOV.F R9.x, c[6].w;
  634. MOV.S R8.x, {0, 0, 0, 0};
  635. MOV.S R1.w, {0, 0, 0, 0}.x;
  636. MOV.S R1.x(EQ), R8.z;
  637. SLT.F32 R1.z, R1, {0, 0, 0, 0}.x;
  638. TRUNC.U.CC HC.x, R1.z;
  639. MOV.S R15.x, {0, 0, 0, 0};
  640. SLT.F32 R1.z, R8.y, R9.x;
  641. MOV.S R15.x(EQ), R8.z;
  642. TRUNC.U.CC HC.x, R1.z;
  643. MOV.S R8.x(EQ), R8.z;
  644. MOV.F R1.z, c[7].w;
  645. SLT.F32 R9.y, R8, R1.z;
  646. TRUNC.U.CC HC.x, R9.y;
  647. MOV.S R1.w(EQ.x), R8.z;
  648. MOV.S R23.y, R8.x;
  649. MOV.S R19.z, R1.w;
  650. ADD.F32 R1.w, R8.y, -R9.x;
  651. MOV.F R8.z, R20.y;
  652. MOV.F R8.x, c[5].z;
  653. ADD.F32 R8.x, R8, R8.z;
  654. MOV.S R9.z, R8.x;
  655. ADD.F32 R8.x, -R9, R1.z;
  656. MOV.S R8.z, R8.x;
  657. ADD.F32 R8.x, R8.y, -R1.z;
  658. MOV.F R11.w, R8.z;
  659. MOV.S R19.x, R8;
  660. MOV.F R8.z, c[7].x;
  661. MOV.F R8.x, c[6];
  662. ADD.F32 R8.x, R8.z, -R8;
  663. DIV.F32 R16.x, R8, R11.w;
  664. SNE.F32 R8.x, R8.y, R9;
  665. MOV.S R18.w, R1;
  666. MOV.F R8.y, c[7];
  667. MOV.F R9.x, c[6].y;
  668. ADD.F32 R9.y, -R9.x, R8;
  669. DIV.F32 R9.y, R9, R11.w;
  670. MOV.S R16.z, R9.y;
  671. MOV.F R9.x, c[7].z;
  672. MOV.F R15.w, c[6].z;
  673. ADD.F32 R15.w, R9.x, -R15;
  674. DIV.F32 R11.w, R15, R11.w;
  675. MOV.F R9.y, c[8].z;
  676. ADD.F32 R9.x, -R9, R9.y;
  677. MOV.F R9.y, c[8].x;
  678. ADD.F32 R8.z, -R8, R9.y;
  679. MOV.S R16.y, R11.w;
  680. SNE.F32 R11.w, R16.x, {0, 0, 0, 0}.x;
  681. MOV.S R18.x, R9;
  682. MOV.F R9.x, c[5].y;
  683. ADD.F32 R0.y, R9.x, R0;
  684. MOV.S R21.w, R0.y;
  685. MOV.S R19.y, R8.z;
  686. MOV.F R0.y, c[8];
  687. MOV.F R8.z, c[8].w;
  688. ADD.F32 R0.y, -R8, R0;
  689. ADD.F32 R1.z, -R1, R8;
  690. TRUNC.U R8.x, R8;
  691. TRUNC.U R11.w, R11;
  692. AND.U.CC HC.x, R8, R11.w;
  693. MUL.F32 R1.w, R1, R16.x;
  694. MOV.S R17.x, R0.y;
  695. MOV.S R9.y, R1.z;
  696. IF NE.x;
  697. MOV.F R0.y, R1.w;
  698. ELSE;
  699. MOV.F R0.y, {0, 0, 0, 0}.x;
  700. ENDIF;
  701. MOV.F R8.x, R18.w;
  702. MOV.F R1.z, R23.x;
  703. MOV.F R1.w, c[8];
  704. ADD.F32 R1.w, R1.z, -R1;
  705. MOV.F R8.y, R16;
  706. MOV.S R18.y, R1.w;
  707. SNE.F32 R1.w, R8.x, {0, 0, 0, 0}.x;
  708. MUL.F32 R1.z, R8.x, R8.y;
  709. SNE.F32 R8.x, R8.y, {0, 0, 0, 0};
  710. TRUNC.U R1.w, R1;
  711. TRUNC.U R8.x, R8;
  712. AND.U.CC HC.x, R1.w, R8;
  713. MOV.S R20.x, R0.y;
  714. IF NE.x;
  715. MOV.F R0.y, R1.z;
  716. ELSE;
  717. MOV.F R0.y, {0, 0, 0, 0}.x;
  718. ENDIF;
  719. MOV.F R8.x, R16.z;
  720. MOV.F R1.w, R18;
  721. MUL.F32 R1.z, R1.w, R8.x;
  722. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  723. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  724. TRUNC.U R1.w, R1;
  725. TRUNC.U R8.x, R8;
  726. AND.U.CC HC.x, R1.w, R8;
  727. MOV.S R20.z, R0.y;
  728. IF NE.x;
  729. MOV.F R0.y, R1.z;
  730. ELSE;
  731. MOV.F R0.y, {0, 0, 0, 0}.x;
  732. ENDIF;
  733. MOV.F R8.x, R9.y;
  734. MOV.F R9.x, R19;
  735. MOV.F R1.z, c[6].x;
  736. MOV.F R1.w, R20.x;
  737. ADD.F32 R1.w, R1.z, R1;
  738. MOV.F R1.z, R17.x;
  739. DIV.F32 R11.w, R1.z, R8.x;
  740. MOV.S R9.y, R1.w;
  741. MOV.F R1.w, R19.y;
  742. DIV.F32 R1.w, R1, R8.x;
  743. MUL.F32 R1.z, R9.x, R11.w;
  744. MOV.F R8.z, R20;
  745. MOV.F R8.y, c[6].z;
  746. ADD.F32 R8.y, R8, R8.z;
  747. MOV.S R16.z, R1.w;
  748. MOV.S R1.w, R8.y;
  749. SNE.F32 R8.y, R9.x, {0, 0, 0, 0}.x;
  750. SNE.F32 R9.x, R11.w, {0, 0, 0, 0};
  751. TRUNC.U R8.z, R8.y;
  752. TRUNC.U R11.w, R9.x;
  753. MOV.F R8.y, c[6];
  754. ADD.F32 R8.y, R8, R0;
  755. RCP.F32 R0.y, R8.x;
  756. AND.U.CC HC.x, R8.z, R11.w;
  757. MOV.S R9.x, R8.y;
  758. MOV.S R17.y, R0;
  759. IF NE.x;
  760. MOV.F R0.y, R1.z;
  761. ELSE;
  762. MOV.F R0.y, {0, 0, 0, 0}.x;
  763. ENDIF;
  764. MOV.F R8.y, R16.z;
  765. MOV.F R8.x, R19;
  766. MUL.F32 R1.z, R8.x, R8.y;
  767. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  768. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  769. TRUNC.U R8.x, R8;
  770. TRUNC.U R8.y, R8;
  771. AND.U.CC HC.x, R8, R8.y;
  772. MOV.S R20.x, R0.y;
  773. IF NE.x;
  774. MOV.F R8.x, R1.z;
  775. ELSE;
  776. MOV.F R8.x, {0, 0, 0, 0};
  777. ENDIF;
  778. MOV.F R11.w, R19.x;
  779. MOV.F R0.y, R18;
  780. SLT.F32 R1.z, R0.y, {0, 0, 0, 0}.x;
  781. TRUNC.U.CC HC.x, R1.z;
  782. MOV.F R1.z, R17.y;
  783. MOV.F R0.y, {1, 0, 0, 0}.x;
  784. MOV.S R19.x, {0, 0, 0, 0};
  785. MOV.S R19.x(EQ), R0.y;
  786. MOV.F R0.y, R18.x;
  787. MUL.F32 R0.y, R0, R1.z;
  788. SNE.F32 R1.z, R0.y, {0, 0, 0, 0}.x;
  789. MOV.F R8.z, R20.x;
  790. MOV.F R8.y, c[7];
  791. ADD.F32 R8.y, R8, R8.z;
  792. MOV.S R19.y, R8;
  793. MOV.F R8.y, c[7].x;
  794. ADD.F32 R8.x, R8.y, R8;
  795. MOV.S R18.z, R8.x;
  796. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  797. MUL.F32 R0.y, R11.w, R0;
  798. TRUNC.U R11.w, R8.z;
  799. TRUNC.U R1.z, R1;
  800. AND.U.CC HC.x, R11.w, R1.z;
  801. MOV.F R8.y, c[9].x;
  802. MOV.F R8.x, c[8];
  803. ADD.F32 R8.x, -R8, R8.y;
  804. MOV.F R8.z, c[9].y;
  805. MOV.F R8.y, c[8];
  806. ADD.F32 R8.y, -R8, R8.z;
  807. MOV.S R18.w, R8.x;
  808. MOV.S R17.y, R8;
  809. IF NE.x;
  810. MOV.F R8.y, R0;
  811. ELSE;
  812. MOV.F R8.y, {0, 0, 0, 0}.x;
  813. ENDIF;
  814. MOV.F R11.w, R23.y;
  815. ADD.F32 R11.w, -R11, {1, 0, 0, 0}.x;
  816. MOV.F R0.y, R23.x;
  817. MOV.F R1.z, c[9].w;
  818. SLT.F32 R8.x, R0.y, R1.z;
  819. TRUNC.U.CC HC.x, R8;
  820. MOV.S R0.y, {0, 0, 0, 0}.x;
  821. MOV.F R1.z, {1, 0, 0, 0}.x;
  822. MOV.S R0.y(EQ.x), R1.z;
  823. MOV.F R1.z, R0.y;
  824. SNE.F32 R8.z, R1, {0, 0, 0, 0}.x;
  825. MOV.F R8.x, c[9].z;
  826. MOV.S R17.z, R0.y;
  827. MUL.F32 R0.y, R8.x, R1.z;
  828. TRUNC.U R1.z, R8;
  829. MOV.F R8.z, R19.x;
  830. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  831. MOV.S R20.y, R8.z;
  832. MOV.F R8.z, R19;
  833. ADD.F32 R8.z, -R8, {1, 0, 0, 0}.x;
  834. MOV.S R8.y, R8;
  835. MOV.S R23.w, R8.z;
  836. MOV.F R8.z, R8.y;
  837. MOV.F R8.y, c[7].z;
  838. ADD.F32 R8.y, R8, R8.z;
  839. MOV.F R8.z, c[8];
  840. MOV.S R18.x, R8.y;
  841. ADD.F32 R8.y, -R8.z, R8.x;
  842. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  843. TRUNC.U R8.x, R8;
  844. AND.U.CC HC.x, R8, R1.z;
  845. MOV.S R17.w, R11;
  846. MOV.S R23.x, R8.y;
  847. IF NE.x;
  848. ELSE;
  849. MOV.F R0.y, {0, 0, 0, 0}.x;
  850. ENDIF;
  851. MOV.F R8.x, R17.z;
  852. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  853. MOV.S R16.z, R8.x;
  854. MOV.F R8.z, R20.y;
  855. MOV.F R8.y, R19.z;
  856. MUL.F32 R1.z, R8.y, R8;
  857. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  858. TRUNC.U R11.w, R8.y;
  859. MOV.F R8.y, c[9].w;
  860. MOV.F R8.x, c[8].w;
  861. ADD.F32 R8.x, -R8, R8.y;
  862. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  863. TRUNC.U R8.y, R8.z;
  864. AND.U.CC HC.x, R11.w, R8.y;
  865. MOV.S R16.w, R8.x;
  866. MOV.S R0.y, R0;
  867. IF NE.x;
  868. ELSE;
  869. MOV.F R1.z, {0, 0, 0, 0}.x;
  870. ENDIF;
  871. MOV.F R8.x, R17.z;
  872. SNE.F32 R8.z, R8.x, {0, 0, 0, 0}.x;
  873. MOV.F R8.y, c[9].x;
  874. MUL.F32 R8.x, R8.y, R8;
  875. TRUNC.U R8.z, R8;
  876. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  877. MOV.S R17.x, R1.z;
  878. TRUNC.U R1.z, R8.y;
  879. AND.U.CC HC.x, R1.z, R8.z;
  880. IF NE.x;
  881. MOV.F R1.z, R8.x;
  882. ELSE;
  883. MOV.F R1.z, {0, 0, 0, 0}.x;
  884. ENDIF;
  885. MOV.F R8.z, R16;
  886. MOV.F R8.x, R19;
  887. MUL.F32 R8.y, R8.x, R8.z;
  888. SNE.F32 R11.w, R8.z, {0, 0, 0, 0}.x;
  889. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  890. TRUNC.U R8.z, R8.x;
  891. TRUNC.U R11.w, R11;
  892. AND.U.CC HC.x, R8.z, R11.w;
  893. MOV.S R8.x, R1.z;
  894. IF NE.x;
  895. MOV.F R1.z, R8.y;
  896. ELSE;
  897. MOV.F R1.z, {0, 0, 0, 0}.x;
  898. ENDIF;
  899. MOV.F R8.y, R17.z;
  900. SNE.F32 R11.w, R8.y, {0, 0, 0, 0}.x;
  901. MOV.F R8.z, c[9].y;
  902. MUL.F32 R8.y, R8.z, R8;
  903. TRUNC.U R11.w, R11;
  904. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  905. MOV.S R21.y, R1.z;
  906. TRUNC.U R1.z, R8;
  907. AND.U.CC HC.x, R1.z, R11.w;
  908. IF NE.x;
  909. MOV.F R1.z, R8.y;
  910. ELSE;
  911. MOV.F R1.z, {0, 0, 0, 0}.x;
  912. ENDIF;
  913. MOV.F R11.w, R17.x;
  914. MOV.F R8.z, R18;
  915. MUL.F32 R8.y, R8.z, R11.w;
  916. SNE.F32 R15.w, R11, {0, 0, 0, 0}.x;
  917. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  918. TRUNC.U R11.w, R8.z;
  919. TRUNC.U R15.w, R15;
  920. AND.U.CC HC.x, R11.w, R15.w;
  921. MOV.S R8.z, R1;
  922. IF NE.x;
  923. MOV.F R1.z, R8.y;
  924. ELSE;
  925. MOV.F R1.z, {0, 0, 0, 0}.x;
  926. ENDIF;
  927. MOV.F R11.w, R16;
  928. MOV.F R8.y, R17;
  929. DIV.F32 R8.y, R8, R11.w;
  930. MOV.F R15.w, R18;
  931. DIV.F32 R15.w, R15, R11.w;
  932. RCP.F32 R11.w, R11.w;
  933. MOV.S R16.y, R15.w;
  934. MOV.F R15.w, R19.y;
  935. MOV.S R16.z, R11.w;
  936. SNE.F32 R11.w, R15, {0, 0, 0, 0}.x;
  937. MOV.F R16.w, R17.x;
  938. MOV.S R16.x, R8.y;
  939. MUL.F32 R8.y, R15.w, R16.w;
  940. TRUNC.U R15.w, R11;
  941. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  942. TRUNC.U R16.w, R16;
  943. AND.U.CC HC.x, R15.w, R16.w;
  944. MOV.S R11.w, R1.z;
  945. IF NE.x;
  946. MOV.F R1.z, R8.y;
  947. ELSE;
  948. MOV.F R1.z, {0, 0, 0, 0}.x;
  949. ENDIF;
  950. MOV.F R17.y, R17.x;
  951. MOV.F R17.x, R18;
  952. MOV.F R15.w, R23.x;
  953. MUL.F32 R15.w, R15, R16.z;
  954. MOV.S R16.w, R15;
  955. SNE.F32 R15.w, R17.x, {0, 0, 0, 0}.x;
  956. SNE.F32 R16.z, R17.y, {0, 0, 0, 0}.x;
  957. TRUNC.U R15.w, R15;
  958. TRUNC.U R16.z, R16;
  959. AND.U.CC HC.x, R15.w, R16.z;
  960. MUL.F32 R8.y, R17.x, R17;
  961. MOV.S R1.z, R1;
  962. IF NE.x;
  963. ELSE;
  964. MOV.F R8.y, {0, 0, 0, 0}.x;
  965. ENDIF;
  966. MOV.F R16.z, R18.y;
  967. MUL.F32 R15.w, R16.z, R16;
  968. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  969. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  970. TRUNC.U R16.z, R16;
  971. TRUNC.U R16.w, R16;
  972. AND.U.CC HC.x, R16.z, R16.w;
  973. MOV.S R8.y, R8;
  974. IF NE.x;
  975. ELSE;
  976. MOV.F R15.w, {0, 0, 0, 0}.x;
  977. ENDIF;
  978. MOV.F R16.w, R16.x;
  979. MOV.F R16.z, R18.y;
  980. MUL.F32 R16.x, R16.z, R16.w;
  981. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  982. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  983. TRUNC.U R16.z, R16;
  984. TRUNC.U R16.w, R16;
  985. AND.U.CC HC.x, R16.z, R16.w;
  986. MOV.S R22.x, R15.w;
  987. IF NE.x;
  988. MOV.F R15.w, R16.x;
  989. ELSE;
  990. MOV.F R15.w, {0, 0, 0, 0}.x;
  991. ENDIF;
  992. MOV.F R16.z, R16.y;
  993. MOV.F R16.y, R18;
  994. MUL.F32 R16.x, R16.y, R16.z;
  995. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  996. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  997. TRUNC.U R16.y, R16;
  998. TRUNC.U R16.z, R16;
  999. AND.U.CC HC.x, R16.y, R16.z;
  1000. MOV.S R22.y, R15.w;
  1001. IF NE.x;
  1002. MOV.F R15.w, R16.x;
  1003. ELSE;
  1004. MOV.F R15.w, {0, 0, 0, 0}.x;
  1005. ENDIF;
  1006. MOV.F R16.z, R23.w;
  1007. MOV.F R16.y, R23;
  1008. MUL.F32 R16.x, R16.y, R16.z;
  1009. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1010. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  1011. TRUNC.U R16.y, R16;
  1012. TRUNC.U R16.z, R16;
  1013. AND.U.CC HC.x, R16.y, R16.z;
  1014. MOV.S R22.z, R15.w;
  1015. IF NE.x;
  1016. MOV.F R15.w, R16.x;
  1017. ELSE;
  1018. MOV.F R15.w, {0, 0, 0, 0}.x;
  1019. ENDIF;
  1020. MOV.F R16.z, R17.w;
  1021. MOV.F R16.y, R15.x;
  1022. MUL.F32 R16.x, R16.y, R16.z;
  1023. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1024. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  1025. TRUNC.U R16.y, R16;
  1026. TRUNC.U R16.z, R16;
  1027. AND.U.CC HC.x, R16.y, R16.z;
  1028. MOV.S R15.w, R15;
  1029. IF NE.x;
  1030. ELSE;
  1031. MOV.F R16.x, {0, 0, 0, 0};
  1032. ENDIF;
  1033. MOV.S R21.z, R16.x;
  1034. ENDIF;
  1035. SEQ.U R16.x, R24.w, {1, 0, 0, 0};
  1036. MOV.U.CC RC.x, -R16;
  1037. IF NE.x;
  1038. MOV.F R16.x, R15.w;
  1039. MUL.F32 R7.w, R9.y, R16.x;
  1040. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1041. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1042. TRUNC.U R16.x, R16;
  1043. TRUNC.U R9.y, R9;
  1044. AND.U.CC HC.x, R9.y, R16;
  1045. IF NE.x;
  1046. ELSE;
  1047. MOV.F R7.w, {0, 0, 0, 0}.x;
  1048. ENDIF;
  1049. MOV.F R9.y, c[8].x;
  1050. MOV.F R16.x, R22.z;
  1051. ADD.F32 R16.x, R9.y, R16;
  1052. MOV.S R20.w, R16.x;
  1053. MOV.F R17.x, R15.w;
  1054. MOV.F R16.w, R9.x;
  1055. MOV.F R16.y, R22;
  1056. MOV.F R16.x, c[8].y;
  1057. ADD.F32 R16.z, R16.x, R16.y;
  1058. MOV.F R16.y, R22.x;
  1059. MOV.F R16.x, c[8].z;
  1060. ADD.F32 R16.x, R16, R16.y;
  1061. MOV.S R20.y, R16.x;
  1062. SNE.F32 R16.x, R16.w, {0, 0, 0, 0};
  1063. SNE.F32 R16.y, R17.x, {0, 0, 0, 0}.x;
  1064. TRUNC.U R16.x, R16;
  1065. TRUNC.U R16.y, R16;
  1066. AND.U.CC HC.x, R16, R16.y;
  1067. MUL.F32 R9.y, R16.w, R17.x;
  1068. MOV.S R20.z, R16;
  1069. MOV.S R18.x, R7.w;
  1070. IF NE.x;
  1071. MOV.F R7.w, R9.y;
  1072. ELSE;
  1073. MOV.F R7.w, {0, 0, 0, 0}.x;
  1074. ENDIF;
  1075. MOV.F R16.y, R21;
  1076. MOV.F R16.x, R20.w;
  1077. MUL.F32 R9.y, R16.x, R16;
  1078. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1079. SNE.F32 R16.y, R16, {0, 0, 0, 0}.x;
  1080. TRUNC.U R16.x, R16;
  1081. TRUNC.U R16.y, R16;
  1082. AND.U.CC HC.x, R16, R16.y;
  1083. MOV.S R17.y, R7.w;
  1084. IF NE.x;
  1085. MOV.F R7.w, R9.y;
  1086. ELSE;
  1087. MOV.F R7.w, {0, 0, 0, 0}.x;
  1088. ENDIF;
  1089. MOV.F R9.y, R1.w;
  1090. MOV.F R16.x, R15.w;
  1091. MUL.F32 R1.w, R9.y, R16.x;
  1092. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1093. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1094. TRUNC.U R9.y, R9;
  1095. TRUNC.U R16.x, R16;
  1096. AND.U.CC HC.x, R9.y, R16;
  1097. MOV.S R19.x, R7.w;
  1098. IF NE.x;
  1099. ELSE;
  1100. MOV.F R1.w, {0, 0, 0, 0}.x;
  1101. ENDIF;
  1102. MOV.F R16.x, R21.y;
  1103. MOV.F R9.y, R20;
  1104. MUL.F32 R7.w, R9.y, R16.x;
  1105. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1106. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1107. TRUNC.U R9.y, R9;
  1108. TRUNC.U R16.x, R16;
  1109. AND.U.CC HC.x, R9.y, R16;
  1110. MOV.S R19.y, R1.w;
  1111. IF NE.x;
  1112. MOV.F R1.w, R7;
  1113. ELSE;
  1114. MOV.F R1.w, {0, 0, 0, 0}.x;
  1115. ENDIF;
  1116. MOV.F R16.x, R21.y;
  1117. MOV.F R9.y, R20.z;
  1118. MUL.F32 R7.w, R9.y, R16.x;
  1119. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1120. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1121. TRUNC.U R9.y, R9;
  1122. TRUNC.U R16.x, R16;
  1123. AND.U.CC HC.x, R9.y, R16;
  1124. MOV.S R18.z, R1.w;
  1125. IF NE.x;
  1126. MOV.F R1.w, R7;
  1127. ELSE;
  1128. MOV.F R1.w, {0, 0, 0, 0}.x;
  1129. ENDIF;
  1130. MOV.F R16.x, R21.z;
  1131. MOV.F R9.y, R21.x;
  1132. MUL.F32 R7.w, R9.y, R16.x;
  1133. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1134. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1135. TRUNC.U R9.y, R9;
  1136. TRUNC.U R16.x, R16;
  1137. AND.U.CC HC.x, R9.y, R16;
  1138. MOV.S R18.w, R1;
  1139. IF NE.x;
  1140. MOV.F R1.w, R7;
  1141. ELSE;
  1142. MOV.F R1.w, {0, 0, 0, 0}.x;
  1143. ENDIF;
  1144. MOV.F R16.x, R21.z;
  1145. MOV.F R9.y, R21.w;
  1146. MUL.F32 R7.w, R9.y, R16.x;
  1147. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1148. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1149. TRUNC.U R9.y, R9;
  1150. TRUNC.U R16.x, R16;
  1151. AND.U.CC HC.x, R9.y, R16;
  1152. MOV.S R18.y, R1.w;
  1153. IF NE.x;
  1154. MOV.F R1.w, R7;
  1155. ELSE;
  1156. MOV.F R1.w, {0, 0, 0, 0}.x;
  1157. ENDIF;
  1158. MOV.F R16.x, R15;
  1159. ADD.F32 R16.x, -R16, {1, 0, 0, 0};
  1160. MOV.F R9.y, R1.x;
  1161. ADD.F32 R9.y, -R9, {1, 0, 0, 0}.x;
  1162. MOV.F R16.z, R21;
  1163. MOV.F R16.y, R9.z;
  1164. MOV.S R20.z, R16.x;
  1165. MOV.S R20.y, R9;
  1166. SNE.F32 R9.y, R16, {0, 0, 0, 0}.x;
  1167. SNE.F32 R16.x, R16.z, {0, 0, 0, 0};
  1168. TRUNC.U R9.y, R9;
  1169. TRUNC.U R16.x, R16;
  1170. AND.U.CC HC.x, R9.y, R16;
  1171. MUL.F32 R7.w, R16.y, R16.z;
  1172. MOV.S R23.x, R1.w;
  1173. IF NE.x;
  1174. MOV.F R1.w, R7;
  1175. ELSE;
  1176. MOV.F R1.w, {0, 0, 0, 0}.x;
  1177. ENDIF;
  1178. MOV.F R7.w, R15.y;
  1179. ADD.F32 R7.w, R7, {9.99999997e-007, 0, 0, 0}.x;
  1180. MOV.S R21.z, R7.w;
  1181. MOV.F R7.w, R20.y;
  1182. SNE.F32 R16.x, R7.w, {0, 0, 0, 0};
  1183. MOV.F R9.y, c[4].x;
  1184. MUL.F32 R7.w, R9.y, R7;
  1185. TRUNC.U R16.x, R16;
  1186. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1187. MOV.S R23.w, R1;
  1188. TRUNC.U R1.w, R9.y;
  1189. AND.U.CC HC.x, R1.w, R16;
  1190. IF NE.x;
  1191. MOV.F R1.w, R7;
  1192. ELSE;
  1193. MOV.F R1.w, {0, 0, 0, 0}.x;
  1194. ENDIF;
  1195. MOV.F R16.x, R20.z;
  1196. MOV.F R9.y, R1.x;
  1197. MUL.F32 R7.w, R9.y, R16.x;
  1198. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1199. SNE.F32 R16.x, R16, {0, 0, 0, 0};
  1200. TRUNC.U R9.y, R9;
  1201. TRUNC.U R16.x, R16;
  1202. AND.U.CC HC.x, R9.y, R16;
  1203. MOV.S R17.x, R1.w;
  1204. IF NE.x;
  1205. MOV.F R1.w, R7;
  1206. ELSE;
  1207. MOV.F R1.w, {0, 0, 0, 0}.x;
  1208. ENDIF;
  1209. MOV.F R7.w, R20.y;
  1210. SNE.F32 R16.x, R7.w, {0, 0, 0, 0};
  1211. MOV.F R9.y, c[4].z;
  1212. MUL.F32 R7.w, R9.y, R7;
  1213. TRUNC.U R16.x, R16;
  1214. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1215. MOV.S R23.y, R1.w;
  1216. TRUNC.U R1.w, R9.y;
  1217. AND.U.CC HC.x, R1.w, R16;
  1218. IF NE.x;
  1219. MOV.F R1.w, R7;
  1220. ELSE;
  1221. MOV.F R1.w, {0, 0, 0, 0}.x;
  1222. ENDIF;
  1223. MOV.F R7.w, R20.y;
  1224. SNE.F32 R16.x, R7.w, {0, 0, 0, 0};
  1225. MOV.F R9.y, c[4];
  1226. MUL.F32 R7.w, R9.y, R7;
  1227. TRUNC.U R16.x, R16;
  1228. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1229. MOV.S R17.z, R1.w;
  1230. TRUNC.U R1.w, R9.y;
  1231. AND.U.CC HC.x, R1.w, R16;
  1232. IF NE.x;
  1233. MOV.F R1.w, R7;
  1234. ELSE;
  1235. MOV.F R1.w, {0, 0, 0, 0}.x;
  1236. ENDIF;
  1237. MOV.F R20, R12;
  1238. MOV.S R17.w, R1;
  1239. MOV.F R12.w, R23.y;
  1240. MOV.F R9.y, R22.w;
  1241. MOV.F R16.w, {1, 0, 0, 0}.x;
  1242. MOV.F R16.xyz, R7;
  1243. DP4.F32 R7.w, R20, R16;
  1244. MOV.S R12.x, R7.w;
  1245. MUL.F32 R7.w, R9.y, R12;
  1246. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1247. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  1248. TRUNC.U R9.y, R9;
  1249. TRUNC.U R12.w, R12;
  1250. AND.U.CC HC.x, R9.y, R12.w;
  1251. MOV.S R1.w, {1065353216, 0, 0, 0}.x;
  1252. IF NE.x;
  1253. ELSE;
  1254. MOV.F R7.w, {0, 0, 0, 0}.x;
  1255. ENDIF;
  1256. MOV.F R20.xyz, R7;
  1257. MOV.F R16, R13;
  1258. MOV.F R20.w, {1, 0, 0, 0}.x;
  1259. DP4.F32 R7.x, R16, R20;
  1260. MOV.F R16, R14;
  1261. DP4.F32 R9.y, R20, R16;
  1262. MOV.S R22.w, R7.x;
  1263. MOV.F R7.x, R17;
  1264. ADD.F32 R7.y, R7.w, R7.x;
  1265. MOV.F R7.x, R18.y;
  1266. ADD.F32 R7.x, R7, R7.y;
  1267. MOV.F R7.w, R23.y;
  1268. MOV.F R7.y, R15.z;
  1269. MOV.S R16.z, R7.x;
  1270. MUL.F32 R7.x, R7.y, R7.w;
  1271. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1272. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1273. TRUNC.U R7.w, R7;
  1274. TRUNC.U R7.y, R7;
  1275. AND.U.CC HC.x, R7.y, R7.w;
  1276. MOV.S R14.z, R9.y;
  1277. IF NE.x;
  1278. ELSE;
  1279. MOV.F R7.x, {0, 0, 0, 0};
  1280. ENDIF;
  1281. MOV.F R7.w, R10.y;
  1282. MOV.F R7.y, R10.x;
  1283. ADD.F32 R7.y, R7, R7.w;
  1284. MOV.F R9.y, R23;
  1285. MOV.F R7.w, R1.y;
  1286. MOV.S R16.y, R7;
  1287. MUL.F32 R7.y, R7.w, R9;
  1288. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1289. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1290. TRUNC.U R7.w, R7;
  1291. TRUNC.U R9.y, R9;
  1292. AND.U.CC HC.x, R7.w, R9.y;
  1293. MOV.S R16.x, R7;
  1294. IF NE.x;
  1295. MOV.F R7.x, R7.y;
  1296. ELSE;
  1297. MOV.F R7.x, {0, 0, 0, 0};
  1298. ENDIF;
  1299. MOV.F R7.w, R10.z;
  1300. MOV.F R7.y, R10.x;
  1301. ADD.F32 R7.y, R7, R7.w;
  1302. MUL.F32 R12.w, R7.y, {0.5, 0, 0, 0}.x;
  1303. MOV.F R9.y, R10;
  1304. ADD.F32 R7.y, R7.w, R9;
  1305. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  1306. MOV.F R7.w, R17;
  1307. MOV.F R7.y, R16.x;
  1308. ADD.F32 R7.y, R7, R7.w;
  1309. MOV.F R7.w, R23.x;
  1310. ADD.F32 R7.y, R7.w, R7;
  1311. MOV.F R7.w, R17.y;
  1312. ADD.F32 R7.y, R7.w, R7;
  1313. MOV.S R20.z, R7.y;
  1314. MOV.F R7.y, R17.z;
  1315. ADD.F32 R7.x, R7, R7.y;
  1316. MOV.F R7.y, R23.w;
  1317. ADD.F32 R7.x, R7.y, R7;
  1318. MOV.F R7.y, R19;
  1319. ADD.F32 R7.x, R7.y, R7;
  1320. MOV.S R7.w, R9.y;
  1321. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  1322. MOV.S R20.y, R7.x;
  1323. MOV.S R17.z, R7.y;
  1324. MOV.F R7.y, R16.z;
  1325. MOV.F R7.x, R18;
  1326. ADD.F32 R7.x, R7, R7.y;
  1327. MOV.F R7.y, R11.w;
  1328. ADD.F32 R7.w, R7.y, R7.x;
  1329. MOV.F R7.y, R16;
  1330. MAD.F32 R9.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  1331. MOV.F R7.y, R8.x;
  1332. MOV.S R8.x, R9.y;
  1333. MOV.F R7.x, R19;
  1334. ADD.F32 R7.w, R7.x, R7;
  1335. ADD.F32 R7.x, R7.y, R7.w;
  1336. SNE.F32 R7.w, R7.y, -R7;
  1337. MOV.F R7.y, R8.x;
  1338. MOV.F R9.y, R25.x;
  1339. TRUNC.U R8.x, R7.w;
  1340. MUL.F32 R7.y, R7, {2, 0, 0, 0}.x;
  1341. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  1342. MOV.S R23.w, R7.y;
  1343. TRUNC.U R7.y, R7.w;
  1344. AND.U.CC HC.x, R7.y, R8;
  1345. MOV.S R20.w, R12;
  1346. MUL.F32 R7.x, R9.y, R7;
  1347. IF NE.x;
  1348. ELSE;
  1349. MOV.F R7.x, {0, 0, 0, 0};
  1350. ENDIF;
  1351. MOV.F R7.w, R20.y;
  1352. MOV.F R7.y, R8;
  1353. ADD.F32 R7.y, R7, R7.w;
  1354. MOV.S R16.z, R7.y;
  1355. MOV.F R7.y, R20.z;
  1356. ADD.F32 R1.z, R1, R7.y;
  1357. MOV.F R7.w, R18;
  1358. ADD.F32 R7.w, R7, R1.z;
  1359. MOV.F R7.y, R20.w;
  1360. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  1361. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  1362. MOV.S R20.x, R7.w;
  1363. MOV.F R7.y, R10.x;
  1364. MOV.S R17.y, R1.z;
  1365. ADD.F32 R1.z, R7.y, {-0.5, 0, 0, 0}.x;
  1366. MOV.F R7.w, c[10].y;
  1367. MOV.S R19.x, R1.z;
  1368. MUL.F32 R1.z, R7.x, R7.w;
  1369. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1370. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  1371. TRUNC.U R7.w, R7;
  1372. TRUNC.U R7.x, R7;
  1373. AND.U.CC HC.x, R7, R7.w;
  1374. MOV.S R7.y, R18.z;
  1375. IF NE.x;
  1376. MOV.F R7.x, R1.z;
  1377. ELSE;
  1378. MOV.F R7.x, {0, 0, 0, 0};
  1379. ENDIF;
  1380. MOV.F R7.w, R20.x;
  1381. MOV.F R1.z, R8;
  1382. ADD.F32 R8.x, R1.z, R7.w;
  1383. MOV.F R1.z, R7.y;
  1384. MOV.F R7.w, R16.z;
  1385. ADD.F32 R1.z, R1, R7.w;
  1386. MOV.F R7.y, R0;
  1387. ADD.F32 R1.z, R7.y, R1;
  1388. MOV.S R16.y, R8.x;
  1389. MOV.S R16.x, R1.z;
  1390. MOV.F R1.z, R10.y;
  1391. ADD.F32 R1.z, R1, {-0.5, 0, 0, 0}.x;
  1392. MOV.F R7.y, R10.z;
  1393. ADD.F32 R7.y, R7, {-0.5, 0, 0, 0}.x;
  1394. MOV.S R18.z, R1;
  1395. MOV.F R8.x, c[11];
  1396. MOV.F R7.w, R23;
  1397. MOV.S R1.z, R7.y;
  1398. MUL.F32 R7.y, R7.w, R8.x;
  1399. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1400. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1401. TRUNC.U R7.w, R7;
  1402. TRUNC.U R8.x, R8;
  1403. AND.U.CC HC.x, R7.w, R8;
  1404. MOV.S R8.y, R7.x;
  1405. IF NE.x;
  1406. MOV.F R7.x, R7.y;
  1407. ELSE;
  1408. MOV.F R7.x, {0, 0, 0, 0};
  1409. ENDIF;
  1410. MOV.F R8.x, c[11].y;
  1411. MOV.F R7.w, R17.z;
  1412. MUL.F32 R7.y, R7.w, R8.x;
  1413. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1414. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1415. TRUNC.U R7.w, R7;
  1416. TRUNC.U R8.x, R8;
  1417. AND.U.CC HC.x, R7.w, R8;
  1418. MOV.S R16.z, R7.x;
  1419. IF NE.x;
  1420. MOV.F R7.x, R7.y;
  1421. ELSE;
  1422. MOV.F R7.x, {0, 0, 0, 0};
  1423. ENDIF;
  1424. MOV.F R8.x, c[11].z;
  1425. MOV.F R7.w, R17.y;
  1426. MUL.F32 R7.y, R7.w, R8.x;
  1427. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1428. SNE.F32 R8.x, R8, {0, 0, 0, 0};
  1429. TRUNC.U R7.w, R7;
  1430. TRUNC.U R8.x, R8;
  1431. AND.U.CC HC.x, R7.w, R8;
  1432. MOV.S R16.w, R7.x;
  1433. IF NE.x;
  1434. MOV.F R7.x, R7.y;
  1435. ELSE;
  1436. MOV.F R7.x, {0, 0, 0, 0};
  1437. ENDIF;
  1438. MOV.F R7.w, c[12].x;
  1439. MOV.F R7.y, R16.z;
  1440. ADD.F32 R7.y, R7, R7.w;
  1441. MOV.F R8.z, R16.x;
  1442. MOV.F R7.w, R25.z;
  1443. MOV.S R8.x, R7.y;
  1444. MUL.F32 R7.y, R7.w, R8.z;
  1445. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1446. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1447. TRUNC.U R8.z, R8;
  1448. TRUNC.U R7.w, R7;
  1449. AND.U.CC HC.x, R7.w, R8.z;
  1450. MOV.S R9.y, R7.x;
  1451. IF NE.x;
  1452. MOV.F R7.x, R7.y;
  1453. ELSE;
  1454. MOV.F R7.x, {0, 0, 0, 0};
  1455. ENDIF;
  1456. MOV.F R8.z, R16.y;
  1457. MOV.F R7.w, R25.y;
  1458. MUL.F32 R7.y, R7.w, R8.z;
  1459. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1460. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1461. TRUNC.U R8.z, R8;
  1462. TRUNC.U R7.w, R7;
  1463. AND.U.CC HC.x, R7.w, R8.z;
  1464. MOV.S R20.y, R7.x;
  1465. IF NE.x;
  1466. MOV.F R7.x, R7.y;
  1467. ELSE;
  1468. MOV.F R7.x, {0, 0, 0, 0};
  1469. ENDIF;
  1470. MOV.F R7.w, R16;
  1471. MOV.F R7.y, c[12];
  1472. ADD.F32 R7.y, R7, R7.w;
  1473. MOV.F R7.w, R10.y;
  1474. MOV.S R14.w, R7.y;
  1475. MUL.F32 R7.y, R7.w, {2, 0, 0, 0}.x;
  1476. MOV.S R16.x, R7.y;
  1477. MOV.F R7.y, R20;
  1478. SNE.F32 R7.w, R7.y, {0, 0, 0, 0}.x;
  1479. MOV.F R11.w, c[10];
  1480. TRUNC.U R12.w, R7;
  1481. MOV.F R8.z, R9.y;
  1482. MOV.F R7.w, c[12].z;
  1483. ADD.F32 R7.w, R7, R8.z;
  1484. SNE.F32 R8.z, R11.w, {0, 0, 0, 0}.x;
  1485. MOV.S R14.x, R7.w;
  1486. TRUNC.U R7.w, R8.z;
  1487. AND.U.CC HC.x, R12.w, R7.w;
  1488. MUL.F32 R7.y, R7, R11.w;
  1489. MOV.S R20.z, R7.x;
  1490. IF NE.x;
  1491. MOV.F R7.x, R7.y;
  1492. ELSE;
  1493. MOV.F R7.x, {0, 0, 0, 0};
  1494. ENDIF;
  1495. MOV.F R8.z, c[10];
  1496. MOV.F R7.w, R20.z;
  1497. MUL.F32 R7.y, R7.w, R8.z;
  1498. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  1499. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1500. TRUNC.U R7.w, R7;
  1501. TRUNC.U R8.z, R8;
  1502. AND.U.CC HC.x, R7.w, R8.z;
  1503. MOV.S R16.z, R7.x;
  1504. IF NE.x;
  1505. MOV.F R7.x, R7.y;
  1506. ELSE;
  1507. MOV.F R7.x, {0, 0, 0, 0};
  1508. ENDIF;
  1509. MOV.F R7.w, R10.x;
  1510. MUL.F32 R7.w, R7, {2, 0, 0, 0}.x;
  1511. MOV.S R20.z, R7.w;
  1512. MOV.F R8.z, R10;
  1513. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  1514. MOV.F R7.w, R16.x;
  1515. FLR.F R7.w, R7;
  1516. MOV.F R9.y, R4.z;
  1517. MOV.F R11.w, R16.z;
  1518. MOV.S R20.x, R7.w;
  1519. SNE.F32 R7.w, R9.y, {0, 0, 0, 0}.x;
  1520. MUL.F32 R7.y, R9, R11.w;
  1521. MOV.S R20.y, R8.z;
  1522. TRUNC.U R8.z, R7.w;
  1523. SNE.F32 R9.y, R11.w, {0, 0, 0, 0}.x;
  1524. TRUNC.U R9.y, R9;
  1525. AND.U.CC HC.x, R8.z, R9.y;
  1526. MOV.S R7.w, R7.x;
  1527. IF NE.x;
  1528. MOV.F R7.x, R7.y;
  1529. ELSE;
  1530. MOV.F R7.x, {0, 0, 0, 0};
  1531. ENDIF;
  1532. MOV.F R9.y, c[13].x;
  1533. MOV.F R8.z, R19.x;
  1534. MUL.F32 R7.y, R8.z, R9;
  1535. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  1536. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1537. TRUNC.U R8.z, R8;
  1538. TRUNC.U R9.y, R9;
  1539. AND.U.CC HC.x, R8.z, R9.y;
  1540. MOV.S R12.w, R7.x;
  1541. IF NE.x;
  1542. MOV.F R7.x, R7.y;
  1543. ELSE;
  1544. MOV.F R7.x, {0, 0, 0, 0};
  1545. ENDIF;
  1546. MOV.F R8.z, R20.x;
  1547. SLT.F32 R9.y, R8.z, {0, 0, 0, 0}.x;
  1548. MOV.F R7.y, {1, 0, 0, 0}.x;
  1549. TRUNC.U.CC HC.x, R9.y;
  1550. MOV.F R7.y(EQ.x), {0, 0, 0, 0}.x;
  1551. MOV.S R16.y, R7;
  1552. MOV.F R7.y, R20;
  1553. FLR.F R7.y, R7;
  1554. MOV.S R16.x, R7.y;
  1555. SGT.F32 R7.y, R8.z, {0, 0, 0, 0}.x;
  1556. TRUNC.U.CC HC.x, R7.y;
  1557. MOV.S R8.z, R7.x;
  1558. IF NE.x;
  1559. MOV.F R7.x, {1, 0, 0, 0};
  1560. ELSE;
  1561. MOV.F R7.x, {0, 0, 0, 0};
  1562. ENDIF;
  1563. MOV.F R7.y, R20.z;
  1564. FLR.F R7.y, R7;
  1565. MOV.S R16.w, R7.y;
  1566. MOV.F R7.y, R18.z;
  1567. SNE.F32 R11.w, R7.y, {0, 0, 0, 0}.x;
  1568. MOV.F R9.y, c[13];
  1569. MUL.F32 R7.y, R7, R9;
  1570. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1571. TRUNC.U R11.w, R11;
  1572. TRUNC.U R9.y, R9;
  1573. AND.U.CC HC.x, R11.w, R9.y;
  1574. MOV.S R16.z, R7.x;
  1575. IF NE.x;
  1576. MOV.F R7.x, R7.y;
  1577. ELSE;
  1578. MOV.F R7.x, {0, 0, 0, 0};
  1579. ENDIF;
  1580. MOV.F R9.y, R16;
  1581. MOV.F R7.y, R16.z;
  1582. ADD.F32 R7.y, R7, -R9;
  1583. MOV.S R25.x, R7.y;
  1584. MOV.F R7.y, R16.x;
  1585. SGT.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1586. TRUNC.U.CC HC.x, R7.y;
  1587. MOV.S R7.x, R7;
  1588. IF NE.x;
  1589. MOV.F R7.y, {1, 0, 0, 0}.x;
  1590. ELSE;
  1591. MOV.F R7.y, {0, 0, 0, 0}.x;
  1592. ENDIF;
  1593. MOV.F R9.y, R16.x;
  1594. SLT.F32 R11.w, R9.y, {0, 0, 0, 0}.x;
  1595. MOV.F R9.y, {1, 0, 0, 0}.x;
  1596. TRUNC.U.CC HC.x, R11.w;
  1597. MOV.F R9.y(EQ.x), {0, 0, 0, 0}.x;
  1598. MOV.S R20.z, R9.y;
  1599. MOV.F R9.y, R16.w;
  1600. SGT.F32 R9.y, R9, {0, 0, 0, 0}.x;
  1601. TRUNC.U.CC HC.x, R9.y;
  1602. MOV.S R20.y, R7;
  1603. IF NE.x;
  1604. MOV.F R7.y, {1, 0, 0, 0}.x;
  1605. ELSE;
  1606. MOV.F R7.y, {0, 0, 0, 0}.x;
  1607. ENDIF;
  1608. MOV.F R9.y, R16.w;
  1609. SLT.F32 R11.w, R9.y, {0, 0, 0, 0}.x;
  1610. MOV.F R9.y, {1, 0, 0, 0}.x;
  1611. TRUNC.U.CC HC.x, R11.w;
  1612. MOV.F R9.y(EQ.x), {0, 0, 0, 0}.x;
  1613. ADD.F32 R7.y, R7, -R9;
  1614. MOV.S R25.z, R7.y;
  1615. MOV.F R9.y, R20.z;
  1616. MOV.F R7.y, R20;
  1617. ADD.F32 R7.y, R7, -R9;
  1618. MOV.S R11.w, R7.y;
  1619. MOV.S R13.w, c[0];
  1620. ENDIF;
  1621. SEQ.U R7.y, R24.w, {1, 0, 0, 0}.x;
  1622. MOV.U.CC RC.x, -R7.y;
  1623. IF NE.x;
  1624. AND.S R1.x, c[14], {65536, 0, 0, 0};
  1625. I2F.S R1.y, R1.x;
  1626. SLT.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  1627. MOV.F R1.x, {1, 0, 0, 0};
  1628. TRUNC.U.CC HC.x, R4.z;
  1629. MOV.F R1.x(EQ), {0, 0, 0, 0};
  1630. MOV.S R20.x, R1;
  1631. SGT.F32 R1.x, R1.y, {0, 0, 0, 0};
  1632. TRUNC.U.CC HC.x, R1;
  1633. AND.S R17.y, c[14].x, {262144, 0, 0, 0}.x;
  1634. AND.S R18.z, c[14].x, {131072, 0, 0, 0}.x;
  1635. IF NE.x;
  1636. MOV.F R1.x, {1, 0, 0, 0};
  1637. ELSE;
  1638. MOV.F R1.x, {0, 0, 0, 0};
  1639. ENDIF;
  1640. MOV.F R1.y, R1.z;
  1641. SNE.F32 R4.z, R1.y, {0, 0, 0, 0}.x;
  1642. MOV.F R1.z, c[13];
  1643. MUL.F32 R1.y, R1, R1.z;
  1644. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1645. TRUNC.U R4.z, R4;
  1646. TRUNC.U R1.z, R1;
  1647. AND.U.CC HC.x, R4.z, R1.z;
  1648. MOV.S R20.y, R1.x;
  1649. IF NE.x;
  1650. MOV.F R1.x, R1.y;
  1651. ELSE;
  1652. MOV.F R1.x, {0, 0, 0, 0};
  1653. ENDIF;
  1654. I2F.S R1.y, R18.z;
  1655. MOV.S R16.z, R1.y;
  1656. SGT.F32 R1.y, R1, {0, 0, 0, 0}.x;
  1657. TRUNC.U.CC HC.x, R1.y;
  1658. MOV.S R17.z, R1.x;
  1659. IF NE.x;
  1660. MOV.F R1.x, {1, 0, 0, 0};
  1661. ELSE;
  1662. MOV.F R1.x, {0, 0, 0, 0};
  1663. ENDIF;
  1664. I2F.S R7.y, R17;
  1665. SLT.F32 R1.z, R7.y, {0, 0, 0, 0}.x;
  1666. TRUNC.U.CC HC.x, R1.z;
  1667. MOV.F R1.y, {1, 0, 0, 0}.x;
  1668. MOV.F R1.z, R16;
  1669. SLT.F32 R4.z, R1, {0, 0, 0, 0}.x;
  1670. MOV.F R1.y(EQ.x), {0, 0, 0, 0}.x;
  1671. TRUNC.U.CC HC.x, R4.z;
  1672. MOV.F R1.z, {1, 0, 0, 0}.x;
  1673. MOV.F R1.z(EQ.x), {0, 0, 0, 0}.x;
  1674. MOV.F R4.z, R1.y;
  1675. MOV.F R1.y, R20.x;
  1676. ADD.F32 R1.x, R1, -R1.z;
  1677. MOV.S R20.z, R1.x;
  1678. MOV.F R1.x, R20.y;
  1679. ADD.F32 R1.x, R1, -R1.y;
  1680. SGT.F32 R1.y, R7, {0, 0, 0, 0}.x;
  1681. TRUNC.U.CC HC.x, R1.y;
  1682. MOV.S R20.x, R4.z;
  1683. MOV.S R16.w, R1.x;
  1684. IF NE.x;
  1685. MOV.F R1.x, {1, 0, 0, 0};
  1686. ELSE;
  1687. MOV.F R1.x, {0, 0, 0, 0};
  1688. ENDIF;
  1689. MOV.F R4.z, R20.x;
  1690. ADD.F32 R1.x, R1, -R4.z;
  1691. MOV.F R1.z, R16.w;
  1692. TRUNC.S R1.z, R1;
  1693. MOV.F R1.y, R20.z;
  1694. TRUNC.S R1.y, R1;
  1695. ADD.S R7.y, -R1.z, {0, 0, 0, 0}.x;
  1696. MOV.S R16.y, R1.x;
  1697. MOV.F R1.x, c[12].w;
  1698. SEQ.F R1.x, R1, {1, 0, 0, 0};
  1699. TRUNC.U.CC HC.x, R1;
  1700. MAX.S R20.x, R1.z, R7.y;
  1701. ADD.S R20.y, -R1, {0, 0, 0, 0}.x;
  1702. MOV.S R17.y, R1;
  1703. IF NE.x;
  1704. MOV.S R1.x, {-1, 0, 0, 0};
  1705. ELSE;
  1706. MOV.S R1.x, {0, 0, 0, 0};
  1707. ENDIF;
  1708. MOV.F R1.y, R16;
  1709. TRUNC.S R19.x, R1.y;
  1710. I2F.S R1.y, R20.x;
  1711. MUL.F32 R1.z, R1.y, {2, 0, 0, 0}.x;
  1712. MOV.F R4.z, R25.x;
  1713. MUL.F32 R1.y, -R1.z, R4.z;
  1714. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1715. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  1716. TRUNC.U R4.z, R4;
  1717. TRUNC.U R1.z, R1;
  1718. AND.U.CC HC.x, R1.z, R4.z;
  1719. MAX.S R16.w, R17.y, R20.y;
  1720. ADD.S R16.x, -R19, {0, 0, 0, 0};
  1721. IF NE.x;
  1722. ELSE;
  1723. MOV.F R1.y, {0, 0, 0, 0}.x;
  1724. ENDIF;
  1725. MOV.F R4.z, R11.w;
  1726. SNE.F32 R9.y, R4.z, {0, 0, 0, 0}.x;
  1727. I2F.S R1.z, R16.w;
  1728. MUL.F32 R1.z, R1, {2, 0, 0, 0}.x;
  1729. SNE.F32 R7.y, -R1.z, {0, 0, 0, 0}.x;
  1730. MUL.F32 R1.z, -R1, R4;
  1731. MOV.F R4.z, c[12].w;
  1732. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  1733. TRUNC.U R7.y, R7;
  1734. TRUNC.U R9.y, R9;
  1735. AND.U.CC HC.x, R7.y, R9.y;
  1736. MAX.S R20.z, R19.x, R16.x;
  1737. MOV.S R20.y, R1;
  1738. MOV.S R23.w, R4.z;
  1739. IF NE.x;
  1740. MOV.F R1.y, R1.z;
  1741. ELSE;
  1742. MOV.F R1.y, {0, 0, 0, 0}.x;
  1743. ENDIF;
  1744. MOV.F R7.y, R20;
  1745. MOV.F R4.z, R8.x;
  1746. MUL.F32 R1.z, R4, R7.y;
  1747. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1748. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1749. TRUNC.U R4.z, R4;
  1750. TRUNC.U R7.y, R7;
  1751. AND.U.CC HC.x, R4.z, R7.y;
  1752. MOV.S R16.x, R1.y;
  1753. IF NE.x;
  1754. MOV.F R1.y, R1.z;
  1755. ELSE;
  1756. MOV.F R1.y, {0, 0, 0, 0}.x;
  1757. ENDIF;
  1758. MOV.F R7.y, R20;
  1759. MOV.F R4.z, R11.x;
  1760. MUL.F32 R1.z, R4, R7.y;
  1761. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1762. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1763. TRUNC.U R4.z, R4;
  1764. TRUNC.U R7.y, R7;
  1765. AND.U.CC HC.x, R4.z, R7.y;
  1766. MOV.S R16.y, R1;
  1767. IF NE.x;
  1768. MOV.F R1.y, R1.z;
  1769. ELSE;
  1770. MOV.F R1.y, {0, 0, 0, 0}.x;
  1771. ENDIF;
  1772. I2F.S R1.z, R20;
  1773. MUL.F32 R4.z, R1, {2, 0, 0, 0}.x;
  1774. MOV.F R7.y, R25.z;
  1775. MUL.F32 R1.z, -R4, R7.y;
  1776. SNE.F32 R4.z, -R4, {0, 0, 0, 0}.x;
  1777. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1778. TRUNC.U R4.z, R4;
  1779. TRUNC.U R7.y, R7;
  1780. AND.U.CC HC.x, R4.z, R7.y;
  1781. MOV.S R16.z, R1.y;
  1782. IF NE.x;
  1783. MOV.F R1.y, R1.z;
  1784. ELSE;
  1785. MOV.F R1.y, {0, 0, 0, 0}.x;
  1786. ENDIF;
  1787. MOV.F R4.z, R16;
  1788. MOV.F R1.z, R11.x;
  1789. ADD.F32 R1.z, R1, R4;
  1790. MOV.F R7.y, R16.x;
  1791. MOV.F R4.z, R14.w;
  1792. MOV.S R20.y, R1.z;
  1793. MUL.F32 R1.z, R4, R7.y;
  1794. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1795. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1796. TRUNC.U R4.z, R4;
  1797. TRUNC.U R7.y, R7;
  1798. AND.U.CC HC.x, R4.z, R7.y;
  1799. MOV.S R20.x, R1.y;
  1800. IF NE.x;
  1801. MOV.F R1.y, R1.z;
  1802. ELSE;
  1803. MOV.F R1.y, {0, 0, 0, 0}.x;
  1804. ENDIF;
  1805. MOV.F R4.z, R16.y;
  1806. MOV.F R1.z, R8.x;
  1807. ADD.F32 R1.z, R1, R4;
  1808. MOV.F R7.y, R16.x;
  1809. MOV.F R4.z, R11.y;
  1810. MOV.S R18.w, R1.z;
  1811. MUL.F32 R1.z, R4, R7.y;
  1812. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1813. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1814. TRUNC.U R4.z, R4;
  1815. TRUNC.U R7.y, R7;
  1816. AND.U.CC HC.x, R4.z, R7.y;
  1817. MOV.S R20.z, R1.y;
  1818. IF NE.x;
  1819. MOV.F R1.y, R1.z;
  1820. ELSE;
  1821. MOV.F R1.y, {0, 0, 0, 0}.x;
  1822. ENDIF;
  1823. MOV.F R4.z, R20;
  1824. MOV.F R1.z, R14.w;
  1825. ADD.F32 R1.z, R1, R4;
  1826. MOV.S R19.z, R1;
  1827. MOV.F R1.z, R20.y;
  1828. MOV.F R4.z, R8;
  1829. ADD.F32 R4.z, R1, R4;
  1830. MOV.F R1.z, R11.y;
  1831. ADD.F32 R1.z, R1, R1.y;
  1832. MOV.S R19.y, R4.z;
  1833. MOV.F R4.z, R14.x;
  1834. MOV.F R7.y, R20.x;
  1835. MUL.F32 R1.y, R4.z, R7;
  1836. MOV.S R16.x, R1.z;
  1837. SNE.F32 R1.z, R4, {0, 0, 0, 0}.x;
  1838. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1839. TRUNC.U R4.z, R7.y;
  1840. TRUNC.U R1.z, R1;
  1841. AND.U.CC HC.x, R1.z, R4.z;
  1842. IF NE.x;
  1843. ELSE;
  1844. MOV.F R1.y, {0, 0, 0, 0}.x;
  1845. ENDIF;
  1846. MOV.F R7.y, R20.x;
  1847. MOV.F R4.z, R11;
  1848. MUL.F32 R1.z, R4, R7.y;
  1849. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  1850. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1851. TRUNC.U R4.z, R4;
  1852. TRUNC.U R7.y, R7;
  1853. AND.U.CC HC.x, R4.z, R7.y;
  1854. MOV.S R16.w, R1.y;
  1855. IF NE.x;
  1856. MOV.F R1.y, R1.z;
  1857. ELSE;
  1858. MOV.F R1.y, {0, 0, 0, 0}.x;
  1859. ENDIF;
  1860. MOV.F R4.z, R7.x;
  1861. MOV.F R1.z, R16.x;
  1862. ADD.F32 R1.z, R1, R4;
  1863. MOV.S R19.x, R1.z;
  1864. MOV.F R1.z, c[12].w;
  1865. MAX.F R1.z, R1, {0, 0, 0, 0}.x;
  1866. LG2.F32 R1.z, R1.z;
  1867. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  1868. MOV.F R7.y, R16.w;
  1869. MOV.F R4.z, R14.x;
  1870. ADD.F32 R4.z, R4, R7.y;
  1871. MOV.S R17.y, R4.z;
  1872. MOV.F R4.z, R11;
  1873. ADD.F32 R1.y, R4.z, R1;
  1874. MUL.F32 R7.y, R1.z, {2, 0, 0, 0}.x;
  1875. SEQ.F R7.y, R1.z, R7;
  1876. TRUNC.U R9.y, R9;
  1877. TRUNC.U R7.y, R7;
  1878. AND.U R7.y, R7, R9;
  1879. SEQ.U R4.z, R7.y, {1, 0, 0, 0}.x;
  1880. MOV.U.CC RC.x, -R4.z;
  1881. MOV.S R20.w, R1.y;
  1882. IF NE.x;
  1883. MOV.F R1.z, {-3.40282347e+038, 0, 0, 0}.x;
  1884. ENDIF;
  1885. MOV.F R4.z, R17;
  1886. MOV.F R1.y, R20.w;
  1887. ADD.F32 R1.y, R1, R4.z;
  1888. MOV.F R4.z, c[15].x;
  1889. MUL.F32 R4.z, R4, {0.5, 0, 0, 0}.x;
  1890. MOV.S R16.z, R4;
  1891. MOV.F R7.y, R9.w;
  1892. MOV.S R23.y, R1;
  1893. MUL.F32 R1.y, R7, R1.z;
  1894. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  1895. MOV.F R4.z, c[15].y;
  1896. SNE.F32 R9.y, R1.z, {0, 0, 0, 0}.x;
  1897. MUL.F32 R1.z, R4, {0.5, 0, 0, 0}.x;
  1898. TRUNC.U R7.y, R7;
  1899. TRUNC.U R4.z, R9.y;
  1900. AND.U.CC HC.x, R7.y, R4.z;
  1901. MOV.S R16.x, R1.z;
  1902. IF NE.x;
  1903. ELSE;
  1904. MOV.F R1.y, {0, 0, 0, 0}.x;
  1905. ENDIF;
  1906. MOV.F R1.z, R4.x;
  1907. MOV.F R4.z, R16;
  1908. ADD.F32 R1.z, R1, R4;
  1909. MOV.F R4.x, R23.w;
  1910. RCP.F32 R4.x, R4.x;
  1911. MOV.S R17.z, R4.x;
  1912. EX2.F32 R1.y, R1.y;
  1913. SNE.F32 R4.x, R7.w, {0, 0, 0, 0};
  1914. MOV.F R4.z, R16.x;
  1915. MOV.S R20.x, R1.z;
  1916. ADD.F32 R1.z, R4.y, R4;
  1917. SNE.F32 R4.y, R4, -R4.z;
  1918. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  1919. TRUNC.U R4.y, R4;
  1920. TRUNC.U R4.x, R4;
  1921. AND.U.CC HC.x, R4, R4.y;
  1922. MUL.F32 R1.z, R7.w, R1;
  1923. MOV.S R7.y, R8;
  1924. MOV.S R16.x, R1.y;
  1925. IF NE.x;
  1926. MOV.F R1.y, R1.z;
  1927. ELSE;
  1928. MOV.F R1.y, {0, 0, 0, 0}.x;
  1929. ENDIF;
  1930. MOV.F R1.z, R20.x;
  1931. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  1932. MOV.F R4.x, R7.y;
  1933. MUL.F32 R1.z, R4.x, R1;
  1934. TRUNC.U R4.y, R4;
  1935. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1936. MOV.S R8.y, R1;
  1937. TRUNC.U R1.y, R4.x;
  1938. AND.U.CC HC.x, R1.y, R4.y;
  1939. IF NE.x;
  1940. MOV.F R1.y, R1.z;
  1941. ELSE;
  1942. MOV.F R1.y, {0, 0, 0, 0}.x;
  1943. ENDIF;
  1944. SEQ.S R1.x, R1, {0, 0, 0, 0};
  1945. MOV.U.CC RC.x, -R1;
  1946. MOV.F R4.x, R17.z;
  1947. MOV.F R1.z, R16.x;
  1948. MUL.F32 R1.z, R1, R4.x;
  1949. MOV.S R20.y, R1.z;
  1950. MOV.S R4.z, R1.y;
  1951. IF NE.x;
  1952. MOV.S R1.x, R20.y;
  1953. ELSE;
  1954. MOV.S R1.x, R9.w;
  1955. ENDIF;
  1956. MOV.F R4.x, R1;
  1957. MOV.F R1.z, R17.y;
  1958. MUL.F32 R1.y, R1.z, R4.x;
  1959. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1960. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1961. TRUNC.U R4.x, R4;
  1962. TRUNC.U R1.z, R1;
  1963. AND.U.CC HC.x, R1.z, R4;
  1964. IF NE.x;
  1965. ELSE;
  1966. MOV.F R1.y, {0, 0, 0, 0}.x;
  1967. ENDIF;
  1968. MOV.F R4.y, R1.x;
  1969. MOV.F R4.x, R19.z;
  1970. MUL.F32 R1.z, R4.x, R4.y;
  1971. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1972. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  1973. TRUNC.U R4.x, R4;
  1974. TRUNC.U R4.y, R4;
  1975. AND.U.CC HC.x, R4, R4.y;
  1976. MOV.S R20.y, R1;
  1977. IF NE.x;
  1978. MOV.F R1.y, R1.z;
  1979. ELSE;
  1980. MOV.F R1.y, {0, 0, 0, 0}.x;
  1981. ENDIF;
  1982. MOV.F R4.x, R1;
  1983. MOV.F R1.z, R18.w;
  1984. MUL.F32 R1.x, R1.z, R4;
  1985. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  1986. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  1987. TRUNC.U R1.z, R1;
  1988. TRUNC.U R4.x, R4;
  1989. AND.U.CC HC.x, R1.z, R4;
  1990. MOV.S R20.z, R1.y;
  1991. IF NE.x;
  1992. ELSE;
  1993. MOV.F R1.x, {0, 0, 0, 0};
  1994. ENDIF;
  1995. MOV.F R1.z, R20;
  1996. MOV.F R1.y, R19.x;
  1997. ADD.F32 R1.y, R1, R1.z;
  1998. MAD.F32 R4.x, R1.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  1999. MOV.F R1.z, R20.y;
  2000. MOV.F R1.y, R23;
  2001. ADD.F32 R1.y, R1, R1.z;
  2002. FRC.F R1.z, R4.x;
  2003. MAD.F32 R1.z, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  2004. MUL.F32 R4.x, R1.z, {0.159154937, 0, 0, 0};
  2005. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  2006. FRC.F R1.y, R1;
  2007. MAD.F32 R1.z, R1.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  2008. MOV.F R1.y, R19;
  2009. ADD.F32 R1.x, R1.y, R1;
  2010. MUL.F32 R1.z, R1, {0.159154937, 0, 0, 0}.x;
  2011. MUL.F32 R1.y, R4.x, {6.28318548, 0, 0, 0}.x;
  2012. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  2013. SIN.F32 R1.y, R1.y;
  2014. MOV.S R1.y, R1;
  2015. MOV.S R19.y, R1.z;
  2016. FRC.F R1.x, R1;
  2017. MAD.F32 R1.x, R1, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  2018. MOV.S R1.z, R1.y;
  2019. MOV.S R19.x, R4;
  2020. MOV.F R4.x, R1.z;
  2021. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  2022. MOV.S R18.w, R1.y;
  2023. MUL.F32 R1.y, R1.x, {6.28318548, 0, 0, 0}.x;
  2024. COS.F32 R1.z, R1.y;
  2025. SIN.F32 R1.y, R1.y;
  2026. MUL.F32 R1.x, R1.z, R4;
  2027. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2028. MOV.S R17.y, R1;
  2029. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  2030. TRUNC.U R4.x, R4;
  2031. TRUNC.U R1.y, R1;
  2032. AND.U.CC HC.x, R1.y, R4;
  2033. MOV.S R23.x, R1.z;
  2034. IF NE.x;
  2035. ELSE;
  2036. MOV.F R1.x, {0, 0, 0, 0};
  2037. ENDIF;
  2038. MOV.F R4.x, R18.w;
  2039. MOV.F R1.z, R17.y;
  2040. MUL.F32 R1.y, R1.z, R4.x;
  2041. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2042. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2043. TRUNC.U R1.z, R1;
  2044. TRUNC.U R4.x, R4;
  2045. AND.U.CC HC.x, R1.z, R4;
  2046. MOV.S R18.z, R1.x;
  2047. IF NE.x;
  2048. MOV.F R1.x, R1.y;
  2049. ELSE;
  2050. MOV.F R1.x, {0, 0, 0, 0};
  2051. ENDIF;
  2052. MOV.F R1.y, R19.x;
  2053. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  2054. COS.F32 R1.z, R1.y;
  2055. MOV.F R4.x, R23;
  2056. MUL.F32 R1.y, R1.z, R4.x;
  2057. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2058. SNE.F32 R4.y, R1.z, {0, 0, 0, 0}.x;
  2059. MOV.S R19.z, R1;
  2060. TRUNC.U R1.z, R4.x;
  2061. TRUNC.U R4.x, R4.y;
  2062. AND.U.CC HC.x, R1.z, R4;
  2063. MOV.S R23.w, R1.x;
  2064. IF NE.x;
  2065. MOV.F R1.x, R1.y;
  2066. ELSE;
  2067. MOV.F R1.x, {0, 0, 0, 0};
  2068. ENDIF;
  2069. MOV.F R4.x, R19.z;
  2070. MOV.F R1.z, R17.y;
  2071. MUL.F32 R1.y, R1.z, R4.x;
  2072. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2073. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2074. TRUNC.U R1.z, R1;
  2075. TRUNC.U R4.x, R4;
  2076. AND.U.CC HC.x, R1.z, R4;
  2077. MOV.S R18.x, R1;
  2078. IF NE.x;
  2079. MOV.F R1.x, R1.y;
  2080. ELSE;
  2081. MOV.F R1.x, {0, 0, 0, 0};
  2082. ENDIF;
  2083. MOV.F R1.y, R19;
  2084. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  2085. SIN.F32 R1.z, R1.y;
  2086. SNE.F32 R4.x, R1, {0, 0, 0, 0};
  2087. MOV.S R18.y, R1.z;
  2088. MUL.F32 R1.y, R1.x, R1.z;
  2089. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2090. TRUNC.U R1.z, R1;
  2091. TRUNC.U R4.x, R4;
  2092. AND.U.CC HC.x, R1.z, R4;
  2093. MOV.S R7.y, R19;
  2094. MOV.S R23.y, R1.x;
  2095. IF NE.x;
  2096. MOV.F R1.x, R1.y;
  2097. ELSE;
  2098. MOV.F R1.x, {0, 0, 0, 0};
  2099. ENDIF;
  2100. MOV.F R1.z, R18.y;
  2101. MOV.F R4.x, -R1.z;
  2102. MOV.F R4.y, R18.x;
  2103. MUL.F32 R1.y, R1.z, R4;
  2104. MOV.S R19.y, R4.x;
  2105. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2106. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  2107. TRUNC.U R1.z, R1;
  2108. TRUNC.U R4.x, R4;
  2109. AND.U.CC HC.x, R1.z, R4;
  2110. MOV.S R16.x, R1;
  2111. IF NE.x;
  2112. MOV.F R1.x, R1.y;
  2113. ELSE;
  2114. MOV.F R1.x, {0, 0, 0, 0};
  2115. ENDIF;
  2116. MOV.F R4.x, R18.z;
  2117. MOV.F R1.z, R18.y;
  2118. MUL.F32 R1.y, R1.z, R4.x;
  2119. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2120. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2121. TRUNC.U R1.z, R1;
  2122. TRUNC.U R4.x, R4;
  2123. AND.U.CC HC.x, R1.z, R4;
  2124. MOV.S R16.z, R1.x;
  2125. IF NE.x;
  2126. MOV.F R1.x, R1.y;
  2127. ELSE;
  2128. MOV.F R1.x, {0, 0, 0, 0};
  2129. ENDIF;
  2130. MOV.F R1.y, R7;
  2131. MOV.F R1.z, R18;
  2132. MOV.F R4.x, R16;
  2133. ADD.F32 R4.y, -R1.z, R4.x;
  2134. MOV.F R4.x, R16.z;
  2135. MOV.F R1.z, R23.w;
  2136. ADD.F32 R1.z, R1, R4.x;
  2137. MOV.S R7.y, R23.x;
  2138. MOV.S R23.x, R1.z;
  2139. MOV.F R1.z, R23.y;
  2140. ADD.F32 R1.x, -R1.z, R1;
  2141. MOV.S R20.y, R1.x;
  2142. MUL.F32 R1.x, R1.y, {6.28318548, 0, 0, 0};
  2143. COS.F32 R1.y, R1.x;
  2144. MOV.F R1.z, R19;
  2145. MUL.F32 R1.x, R1.y, R1.z;
  2146. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2147. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  2148. TRUNC.U R1.z, R1;
  2149. TRUNC.U R4.x, R4;
  2150. AND.U.CC HC.x, R1.z, R4;
  2151. MOV.S R11.z, R4.y;
  2152. MOV.S R19.x, R1.y;
  2153. IF NE.x;
  2154. ELSE;
  2155. MOV.F R1.x, {0, 0, 0, 0};
  2156. ENDIF;
  2157. MOV.F R1.y, R19.x;
  2158. SNE.F32 R4.x, R1.y, {0, 0, 0, 0};
  2159. MOV.F R1.z, R7.y;
  2160. MUL.F32 R1.y, R1.z, R1;
  2161. TRUNC.U R4.x, R4;
  2162. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2163. MOV.S R17.w, R1.x;
  2164. TRUNC.U R1.x, R1.z;
  2165. AND.U.CC HC.x, R1, R4;
  2166. IF NE.x;
  2167. MOV.F R1.x, R1.y;
  2168. ELSE;
  2169. MOV.F R1.x, {0, 0, 0, 0};
  2170. ENDIF;
  2171. MOV.F R4.x, R19;
  2172. MOV.F R1.z, R17.y;
  2173. MUL.F32 R1.y, R1.z, R4.x;
  2174. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2175. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2176. TRUNC.U R1.z, R1;
  2177. TRUNC.U R4.x, R4;
  2178. AND.U.CC HC.x, R1.z, R4;
  2179. MOV.S R7.y, R19.x;
  2180. MOV.S R23.y, R1.x;
  2181. IF NE.x;
  2182. MOV.F R1.x, R1.y;
  2183. ELSE;
  2184. MOV.F R1.x, {0, 0, 0, 0};
  2185. ENDIF;
  2186. MOV.F R4.x, R23.w;
  2187. MOV.F R1.z, R18.y;
  2188. MUL.F32 R1.y, R1.z, R4.x;
  2189. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2190. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2191. TRUNC.U R1.z, R1;
  2192. TRUNC.U R4.x, R4;
  2193. AND.U.CC HC.x, R1.z, R4;
  2194. MOV.S R19.x, R1;
  2195. IF NE.x;
  2196. MOV.F R1.x, R1.y;
  2197. ELSE;
  2198. MOV.F R1.x, {0, 0, 0, 0};
  2199. ENDIF;
  2200. MOV.F R4.x, R12.w;
  2201. MOV.F R1.z, R20.y;
  2202. MUL.F32 R1.y, R1.z, R4.x;
  2203. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2204. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2205. TRUNC.U R1.z, R1;
  2206. TRUNC.U R4.x, R4;
  2207. AND.U.CC HC.x, R1.z, R4;
  2208. MOV.S R16.y, R1.x;
  2209. IF NE.x;
  2210. MOV.F R1.x, R1.y;
  2211. ELSE;
  2212. MOV.F R1.x, {0, 0, 0, 0};
  2213. ENDIF;
  2214. MOV.F R4.x, R7.y;
  2215. MOV.F R1.z, R18.w;
  2216. MUL.F32 R1.y, R1.z, R4.x;
  2217. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2218. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2219. TRUNC.U R1.z, R1;
  2220. TRUNC.U R4.x, R4;
  2221. AND.U.CC HC.x, R1.z, R4;
  2222. MOV.S R16.z, R1.x;
  2223. IF NE.x;
  2224. MOV.F R1.x, R1.y;
  2225. ELSE;
  2226. MOV.F R1.x, {0, 0, 0, 0};
  2227. ENDIF;
  2228. MOV.F R4.x, R23.y;
  2229. MOV.F R1.z, R8.y;
  2230. MUL.F32 R1.y, R1.z, R4.x;
  2231. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  2232. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2233. TRUNC.U R1.z, R1;
  2234. TRUNC.U R4.x, R4;
  2235. AND.U.CC HC.x, R1.z, R4;
  2236. MOV.S R16.w, R1.x;
  2237. IF NE.x;
  2238. MOV.F R1.x, R1.y;
  2239. ELSE;
  2240. MOV.F R1.x, {0, 0, 0, 0};
  2241. ENDIF;
  2242. MOV.F R1.y, R16.z;
  2243. ADD.F32 R1.y, R1.x, R1;
  2244. MOV.F R1.z, R16.w;
  2245. MOV.F R4.x, R12.w;
  2246. MUL.F32 R1.x, R1.z, R4;
  2247. MOV.S R20.x, R1.y;
  2248. SNE.F32 R1.y, R1.z, {0, 0, 0, 0}.x;
  2249. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  2250. TRUNC.U R1.z, R4.x;
  2251. TRUNC.U R1.y, R1;
  2252. AND.U.CC HC.x, R1.y, R1.z;
  2253. IF NE.x;
  2254. ELSE;
  2255. MOV.F R1.x, {0, 0, 0, 0};
  2256. ENDIF;
  2257. MOV.F R1.z, R18.x;
  2258. MOV.F R4.x, R16.y;
  2259. ADD.F32 R1.y, R1.z, R4.x;
  2260. SNE.F32 R4.x, R1.z, -R4;
  2261. MOV.F R4.y, R12.w;
  2262. MUL.F32 R1.y, R1, R4;
  2263. MOV.F R1.z, R13.w;
  2264. RCP.F32 R1.z, R1.z;
  2265. TRUNC.U R4.x, R4;
  2266. SNE.F32 R4.y, R4, {0, 0,
  2267. [19:43:20] Link error in shader. Log:
  2268. [19:43:20] Vertex info
  2269. -----------
  2270. Internal error: assembly compile error for vertex shader at offset 1782:
  2271. -- error message --
  2272. line 37, column 45: error: invalid vertex attribute reference
  2273. line 42, column 25: error: invalid vertex attribute reference
  2274. line 44, column 25: error: invalid vertex attribute reference
  2275. line 47, column 25: error: invalid vertex attribute reference
  2276. line 50, column 25: error: invalid vertex attribute reference
  2277. -- internal assembly text --
  2278. !!NVvp5.0
  2279. OPTION NV_bindless_texture;
  2280. # cgc version 3.4.0001, build date Aug 25 2016
  2281. # command line args:
  2282. #vendor NVIDIA Corporation
  2283. #version 3.4.0.1 COP Build Date Aug 25 2016
  2284. #profile gp5vp
  2285. #program main
  2286. #semantic uf_remappedVS
  2287. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  2288. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  2289. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  2290. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  2291. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  2292. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  2293. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  2294. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  2295. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  2296. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  2297. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  2298. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  2299. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  2300. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  2301. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  2302. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  2303. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  2304. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  2305. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  2306. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  2307. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  2308. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  2309. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  2310. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  2311. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  2312. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  2313. PARAM c[36] = { program.local[0..35] };
  2314. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  2315. OUTPUT result_attrib[] = { result.attrib[0..4] };
  2316. 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;
  2317. TEMP RC;
  2318. SHORT TEMP HC;
  2319. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  2320. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2321. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  2322. MOV.F R10.w, {1, 0, 0, 0}.x;
  2323. OR.U R0, R0, R1;
  2324. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  2325. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2326. OR.U R0, R0, R1;
  2327. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  2328. OR.U R4, R0, R2;
  2329. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  2330. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2331. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  2332. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  2333. OR.U R1, R1, R2;
  2334. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  2335. OR.U R0, R1, R0;
  2336. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  2337. OR.U R5, R0, R2;
  2338. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  2339. AND.U R2, R1, {65280, 0, 0, 0}.x;
  2340. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  2341. OR.U R1, R1, R2;
  2342. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  2343. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  2344. OR.U R1, R1, R2;
  2345. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  2346. OR.U R18, R1, R0;
  2347. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  2348. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2349. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  2350. OR.U R0, R0, R1;
  2351. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  2352. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2353. OR.U R0, R0, R1;
  2354. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  2355. OR.U R6, R0, R2;
  2356. MOV.U R0.x, R18.w;
  2357. MOV.F R0.y, c[0].x;
  2358. ADD.F32 R3.x, -R0, R0.y;
  2359. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  2360. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  2361. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2362. TRUNC.U R11.x, R3.y;
  2363. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  2364. MOV.S R18.w, R3.x;
  2365. OR.U R0, R0, R1;
  2366. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  2367. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2368. OR.U R0, R0, R1;
  2369. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  2370. OR.U R7, R0, R2;
  2371. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  2372. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2373. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  2374. OR.U R0, R0, R1;
  2375. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  2376. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2377. OR.U R0, R0, R1;
  2378. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  2379. OR.U R8, R0, R2;
  2380. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  2381. AND.U R1, R0, {65280, 0, 0, 0}.x;
  2382. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  2383. OR.U R0, R0, R1;
  2384. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  2385. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  2386. OR.U R0, R0, R1;
  2387. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  2388. OR.U R17, R0, R2;
  2389. SEQ.U R0.x, R11, {1, 0, 0, 0};
  2390. SEQ.U R11.y, -R0.x, {1, 0, 0, 0}.x;
  2391. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2392. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2393. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2394. MOV.U.CC RC.x, -R11.y;
  2395. OR.U R0.xyz, R0, R1;
  2396. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  2397. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2398. OR.U R0.xyz, R0, R1;
  2399. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  2400. OR.U R19.xyz, R0, R2;
  2401. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  2402. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2403. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  2404. OR.U R0.xyz, R0, R1;
  2405. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  2406. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2407. OR.U R0.xyz, R0, R1;
  2408. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  2409. OR.U R23.xyz, R0, R2;
  2410. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2411. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2412. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2413. OR.U R0.xyz, R0, R1;
  2414. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  2415. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2416. OR.U R0.xyz, R0, R1;
  2417. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  2418. OR.U R20.xyz, R0, R2;
  2419. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  2420. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2421. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  2422. OR.U R0.xyz, R0, R1;
  2423. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  2424. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2425. OR.U R0.xyz, R0, R1;
  2426. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  2427. OR.U R21.xyz, R0, R2;
  2428. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2429. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2430. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2431. OR.U R0.xyz, R0, R1;
  2432. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  2433. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2434. OR.U R0.xyz, R0, R1;
  2435. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  2436. OR.U R22.xyz, R0, R2;
  2437. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2438. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2439. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2440. OR.U R0.xyz, R0, R1;
  2441. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  2442. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2443. OR.U R0.xyz, R0, R1;
  2444. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  2445. OR.U R9.xyz, R0, R2;
  2446. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2447. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  2448. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2449. OR.U R0.xyz, R0, R1;
  2450. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  2451. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  2452. OR.U R0.xyz, R0, R1;
  2453. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  2454. OR.U R10.xyz, R0, R2;
  2455. MOV.S R0, {0, 0, 0, 0}.x;
  2456. MOV.S R1, {0, 0, 0, 0}.x;
  2457. MOV.S R2, {0, 0, 0, 0}.x;
  2458. MOV.S R24.xy, {0, 0, 0, 0}.x;
  2459. MOV.S R3.yz, {0, 0, 0, 0};
  2460. MOV.S R3.x, vertex.id;
  2461. MOV.S R3.w, vertex.instance.x;
  2462. MOV.S R9.w, {0, 0, 0, 0}.x;
  2463. MOV.S R10.w, R10;
  2464. IF NE.x;
  2465. MOV.F R0.z, c[1].y;
  2466. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  2467. MOV.S R17.w, R10;
  2468. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  2469. MOV.S R24.xy, {0, 0, 0, 0}.x;
  2470. MOV.S R0.z, R0;
  2471. ENDIF;
  2472. SEQ.U R11.x, R11, {0, 0, 0, 0};
  2473. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2474. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2475. MOV.U.CC RC.x, -R11;
  2476. IF NE.x;
  2477. MOV.S R17.w, {0, 0, 0, 0}.x;
  2478. ENDIF;
  2479. SEQ.S R11.x, R17.w, {0, 0, 0, 0};
  2480. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  2481. SEQ.U R11.z, -R11.y, {1, 0, 0, 0}.x;
  2482. MOV.U.CC RC.x, -R11.z;
  2483. MOV.U R11.x, -R11;
  2484. MOV.U R11.y, -R11;
  2485. IF NE.x;
  2486. MOV.F R11.z, R5.w;
  2487. TRUNC.S R11.z, R11;
  2488. I2F.S R11.z, R11;
  2489. MOV.F R11.w, R18;
  2490. SGE.F32 R11.w, R11, R11.z;
  2491. MOV.S R23.z, R11;
  2492. TRUNC.U R11.z, R11.w;
  2493. SEQ.U R11.w, R11.y, {1, 0, 0, 0}.x;
  2494. SEQ.U R11.y, R11.z, {1, 0, 0, 0}.x;
  2495. AND.U R17.w, -R11.y, -R11;
  2496. ELSE;
  2497. MOV.U R17.w, {0, 0, 0, 0}.x;
  2498. ENDIF;
  2499. SEQ.U R11.y, R17.w, {1, 0, 0, 0}.x;
  2500. MOV.U.CC RC.x, -R11.y;
  2501. IF NE.x;
  2502. MOV.F R0.z, c[1].y;
  2503. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  2504. MOV.S R9.w, R10;
  2505. MOV.S R0.xy, {0, 0, 0, 0};
  2506. MOV.S R0.z, R0;
  2507. MOV.S R24.x, {0, 0, 0, 0};
  2508. ENDIF;
  2509. SEQ.U R11.x, R11, {1, 0, 0, 0};
  2510. SEQ.U R11.z, -R11.x, {1, 0, 0, 0}.x;
  2511. MOV.U.CC RC.x, -R11.z;
  2512. MOV.U R11.y, -R11.x;
  2513. IF NE.x;
  2514. SEQ.S R11.x, R9.w, {0, 0, 0, 0};
  2515. SEQ.U R11.y, R11, {1, 0, 0, 0}.x;
  2516. SEQ.U R11.x, -R11, {1, 0, 0, 0};
  2517. AND.U R17.w, -R11.x, -R11.y;
  2518. ELSE;
  2519. MOV.U R17.w, {0, 0, 0, 0}.x;
  2520. ENDIF;
  2521. SEQ.U R11.x, R17.w, {1, 0, 0, 0};
  2522. MOV.U.CC RC.x, -R11;
  2523. IF NE.x;
  2524. MOV.F R3.y, c[2].x;
  2525. SLT.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  2526. MOV.F R3.x, {1, 0, 0, 0};
  2527. TRUNC.U.CC HC.x, R3.z;
  2528. MOV.F R3.x(EQ), {0, 0, 0, 0};
  2529. MOV.S R11.x, R3;
  2530. MOV.F R3.x, R21;
  2531. MAX.F R3.x, R3, {0, 0, 0, 0};
  2532. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  2533. TRUNC.U.CC HC.x, R3.y;
  2534. MOV.S R11.y, R3.x;
  2535. IF NE.x;
  2536. MOV.F R3.x, {1, 0, 0, 0};
  2537. ELSE;
  2538. MOV.F R3.x, {0, 0, 0, 0};
  2539. ENDIF;
  2540. MOV.F R3.y, R21.x;
  2541. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  2542. MOV.F R3.z, c[3].y;
  2543. MUL.F32 R3.y, R3, R3.z;
  2544. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2545. TRUNC.U R3.w, R3;
  2546. TRUNC.U R3.z, R3;
  2547. AND.U.CC HC.x, R3.w, R3.z;
  2548. MOV.S R11.z, R3.x;
  2549. IF NE.x;
  2550. MOV.F R3.x, R3.y;
  2551. ELSE;
  2552. MOV.F R3.x, {0, 0, 0, 0};
  2553. ENDIF;
  2554. MOV.F R3.y, R11.z;
  2555. MOV.F R3.z, R11.x;
  2556. ADD.F32 R3.z, R3.y, -R3;
  2557. MOV.F R5.w, R18;
  2558. MOV.F R3.w, R23.z;
  2559. DIV.F32 R3.w, R5, R3.w;
  2560. MOV.S R11.x, R3.w;
  2561. MOV.S R3.w, R11.x;
  2562. MOV.F R11.z, R3.w;
  2563. MOV.F R3.w, R11.y;
  2564. ADD.F32 R3.y, -R3.z, {1, 0, 0, 0}.x;
  2565. MIN.F R9.w, R3, {0, 0, 0, 0}.x;
  2566. MOV.F R10.w, R20.x;
  2567. ADD.F32 R9.w, R10, R9;
  2568. MOV.S R13.x, R3.z;
  2569. SNE.F32 R3.z, -R3, {-1, 0, 0, 0}.x;
  2570. MOV.F R3.w, c[2].x;
  2571. RCP.F32 R3.w, R3.w;
  2572. MAD.F32 R3.x, R5.w, R3.w, R3;
  2573. MOV.S R11.y, R3.x;
  2574. SNE.F32 R3.x, R11.z, {0, 0, 0, 0};
  2575. MOV.S R20.x, R9.w;
  2576. TRUNC.U R9.w, R3.x;
  2577. TRUNC.U R3.z, R3;
  2578. AND.U.CC HC.x, R9.w, R3.z;
  2579. MOV.F R3.w, c[5].x;
  2580. MOV.F R3.x, c[4];
  2581. ADD.F32 R3.x, -R3, R3.w;
  2582. MOV.F R5.w, c[5].y;
  2583. MOV.F R3.w, c[4].y;
  2584. ADD.F32 R3.w, -R3, R5;
  2585. MUL.F32 R3.y, R11.z, R3;
  2586. MOV.S R18.z, R11.x;
  2587. MOV.S R13.z, R3.x;
  2588. MOV.S R12.z, R3.w;
  2589. IF NE.x;
  2590. MOV.F R3.x, R3.y;
  2591. ELSE;
  2592. MOV.F R3.x, {0, 0, 0, 0};
  2593. ENDIF;
  2594. MOV.F R3.y, R11;
  2595. FRC.F R3.z, R3.y;
  2596. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2597. MOV.F R3.w, R13.x;
  2598. MUL.F32 R3.y, R3.w, R3.z;
  2599. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2600. TRUNC.U R9.w, R3;
  2601. TRUNC.U R10.w, R5;
  2602. AND.U.CC HC.x, R9.w, R10.w;
  2603. MOV.F R3.w, c[5].z;
  2604. MOV.F R3.z, c[4];
  2605. ADD.F32 R3.z, -R3, R3.w;
  2606. MOV.S R13.y, R3.z;
  2607. MOV.F R3.w, c[5];
  2608. MOV.F R3.z, c[4].w;
  2609. ADD.F32 R3.z, -R3, R3.w;
  2610. MOV.F R5.w, c[6].x;
  2611. MOV.F R3.w, c[5].x;
  2612. ADD.F32 R3.w, -R3, R5;
  2613. MOV.S R16.z, R3;
  2614. MOV.S R15.x, R3.w;
  2615. MOV.S R12.x, R3;
  2616. IF NE.x;
  2617. MOV.F R3.x, R3.y;
  2618. ELSE;
  2619. MOV.F R3.x, {0, 0, 0, 0};
  2620. ENDIF;
  2621. MOV.F R3.z, R16;
  2622. MOV.F R3.y, R13.z;
  2623. DIV.F32 R5.w, R3.y, R3.z;
  2624. MOV.F R3.y, R12.z;
  2625. DIV.F32 R3.y, R3, R3.z;
  2626. MOV.F R3.w, R12.x;
  2627. MOV.S R3.x, R3;
  2628. ADD.F32 R3.w, R3, R3.x;
  2629. MOV.F R9.w, c[4];
  2630. ADD.F32 R10.w, R3, -R9;
  2631. MOV.S R12.x, R3.y;
  2632. MOV.F R3.y, R13;
  2633. DIV.F32 R3.y, R3, R3.z;
  2634. SNE.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  2635. MUL.F32 R3.x, R10.w, R3.y;
  2636. TRUNC.U R3.y, R3.z;
  2637. SNE.F32 R9.w, R3, R9;
  2638. MOV.S R13.x, R10.w;
  2639. TRUNC.U R10.w, R9;
  2640. AND.U.CC HC.x, R10.w, R3.y;
  2641. MOV.F R3.z, c[5].w;
  2642. MOV.S R13.z, R5.w;
  2643. ADD.F32 R5.w, R3, -R3.z;
  2644. MOV.S R15.y, R3.w;
  2645. MOV.S R13.y, R5.w;
  2646. MOV.F R9.w, c[6];
  2647. ADD.F32 R3.z, -R3, R9.w;
  2648. MOV.F R5.w, c[6].z;
  2649. MOV.F R3.w, c[5].z;
  2650. ADD.F32 R3.w, -R3, R5;
  2651. MOV.S R12.z, R3.w;
  2652. MOV.F R5.w, c[6].y;
  2653. MOV.F R3.w, c[5].y;
  2654. ADD.F32 R3.w, -R3, R5;
  2655. MOV.S R12.w, R3;
  2656. MOV.S R16.x, R3.z;
  2657. IF NE.x;
  2658. ELSE;
  2659. MOV.F R3.x, {0, 0, 0, 0};
  2660. ENDIF;
  2661. MOV.F R3.w, R12.x;
  2662. MOV.F R3.z, R13.x;
  2663. MUL.F32 R3.y, R3.z, R3.w;
  2664. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2665. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2666. TRUNC.U R3.z, R3;
  2667. TRUNC.U R3.w, R3;
  2668. AND.U.CC HC.x, R3.z, R3.w;
  2669. MOV.S R16.y, R3.x;
  2670. IF NE.x;
  2671. MOV.F R3.x, R3.y;
  2672. ELSE;
  2673. MOV.F R3.x, {0, 0, 0, 0};
  2674. ENDIF;
  2675. MOV.F R3.w, R13.z;
  2676. MOV.F R3.z, R13.x;
  2677. MUL.F32 R3.y, R3.z, R3.w;
  2678. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  2679. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2680. TRUNC.U R3.z, R3;
  2681. TRUNC.U R3.w, R3;
  2682. AND.U.CC HC.x, R3.z, R3.w;
  2683. MOV.S R16.z, R3.x;
  2684. IF NE.x;
  2685. MOV.F R3.x, R3.y;
  2686. ELSE;
  2687. MOV.F R3.x, {0, 0, 0, 0};
  2688. ENDIF;
  2689. MOV.F R3.y, R13.x;
  2690. SLT.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  2691. TRUNC.U.CC HC.x, R3.w;
  2692. MOV.F R3.w, R16.x;
  2693. MOV.F R9.w, R15.x;
  2694. DIV.F32 R11.x, R9.w, R3.w;
  2695. MOV.F R9.w, R13.y;
  2696. MOV.F R3.z, {1, 0, 0, 0}.x;
  2697. MOV.S R3.y, {0, 0, 0, 0}.x;
  2698. MOV.S R3.y(EQ.x), R3.z;
  2699. MOV.F R3.z, R12.w;
  2700. DIV.F32 R3.z, R3, R3.w;
  2701. MOV.F R10.w, R16.z;
  2702. MOV.F R5.w, R12.z;
  2703. MOV.S R16.z, R3;
  2704. DIV.F32 R3.z, R5.w, R3.w;
  2705. MOV.F R5.w, R16.y;
  2706. MOV.F R3.w, c[4].y;
  2707. ADD.F32 R10.w, R3, R10;
  2708. MOV.S R16.y, R3.z;
  2709. MUL.F32 R3.z, R9.w, R11.x;
  2710. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  2711. TRUNC.U R3.w, R11.x;
  2712. MOV.S R13.w, R10;
  2713. MOV.F R11.x, c[6].w;
  2714. MOV.F R10.w, R15.y;
  2715. ADD.F32 R10.w, R10, -R11.x;
  2716. MOV.F R11.x, c[4].z;
  2717. ADD.F32 R5.w, R11.x, R5;
  2718. MOV.S R13.z, R10.w;
  2719. MOV.S R14.z, R5.w;
  2720. SNE.F32 R5.w, R9, {0, 0, 0, 0}.x;
  2721. TRUNC.U R5.w, R5;
  2722. AND.U.CC HC.x, R5.w, R3.w;
  2723. MOV.F R10.w, c[7].y;
  2724. MOV.F R9.w, c[6].y;
  2725. ADD.F32 R9.w, -R9, R10;
  2726. MOV.F R10.w, c[4].x;
  2727. ADD.F32 R3.x, R10.w, R3;
  2728. MOV.S R13.x, R9.w;
  2729. MOV.F R10.w, c[7].x;
  2730. MOV.F R9.w, c[6].x;
  2731. ADD.F32 R9.w, -R9, R10;
  2732. MOV.S R14.x, R3;
  2733. MOV.S R15.x, R9.w;
  2734. IF NE.x;
  2735. MOV.F R3.x, R3.z;
  2736. ELSE;
  2737. MOV.F R3.x, {0, 0, 0, 0};
  2738. ENDIF;
  2739. MOV.F R3.w, R16.y;
  2740. MOV.F R3.z, R13.y;
  2741. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2742. TRUNC.U R9.w, R5;
  2743. SNE.F32 R10.w, R3, {0, 0, 0, 0}.x;
  2744. MUL.F32 R3.z, R3, R3.w;
  2745. MOV.F R5.w, c[7].z;
  2746. MOV.F R3.w, c[6].z;
  2747. ADD.F32 R3.w, -R3, R5;
  2748. TRUNC.U R5.w, R10;
  2749. AND.U.CC HC.x, R9.w, R5.w;
  2750. MOV.S R12.y, R3.w;
  2751. MOV.S R11.x, R3;
  2752. IF NE.x;
  2753. MOV.F R3.x, R3.z;
  2754. ELSE;
  2755. MOV.F R3.x, {0, 0, 0, 0};
  2756. ENDIF;
  2757. MOV.F R5.w, R16.z;
  2758. MOV.F R3.w, R13.y;
  2759. MUL.F32 R3.z, R3.w, R5.w;
  2760. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2761. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2762. TRUNC.U R3.w, R3;
  2763. TRUNC.U R5.w, R5;
  2764. AND.U.CC HC.x, R3.w, R5.w;
  2765. MOV.S R11.z, R3.x;
  2766. IF NE.x;
  2767. ELSE;
  2768. MOV.F R3.z, {0, 0, 0, 0}.x;
  2769. ENDIF;
  2770. MOV.F R3.w, R13.y;
  2771. MOV.F R3.x, {1, 0, 0, 0};
  2772. MOV.S R10.w, R3.x;
  2773. SLT.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2774. TRUNC.U.CC HC.x, R3.w;
  2775. MOV.S R3.x, {0, 0, 0, 0};
  2776. MOV.S R3.x(EQ), R10.w;
  2777. MOV.F R3.w, R13.z;
  2778. SLT.F32 R9.w, R3, {0, 0, 0, 0}.x;
  2779. TRUNC.U.CC HC.x, R9.w;
  2780. MOV.S R5.w, {0, 0, 0, 0}.x;
  2781. MOV.S R15.z, R3.x;
  2782. MOV.S R5.w(EQ.x), R10;
  2783. MOV.F R9.w, R12.y;
  2784. MOV.F R11.y, c[7].w;
  2785. MOV.F R3.x, c[6].w;
  2786. ADD.F32 R10.w, -R3.x, R11.y;
  2787. MOV.F R12.x, R15.y;
  2788. ADD.F32 R12.x, -R11.y, R12;
  2789. DIV.F32 R9.w, R9, R10.w;
  2790. MOV.F R11.w, R11.z;
  2791. MOV.S R11.z, R9.w;
  2792. MOV.F R3.x, R13;
  2793. MOV.S R12.y, R5.w;
  2794. DIV.F32 R5.w, R3.x, R10.w;
  2795. MUL.F32 R3.x, R3.w, R5.w;
  2796. MOV.F R11.y, R15.x;
  2797. DIV.F32 R10.w, R11.y, R10.w;
  2798. MOV.F R9.w, R11.x;
  2799. MOV.S R11.x, R10.w;
  2800. MOV.F R10.w, c[5].z;
  2801. ADD.F32 R10.w, R10, R11;
  2802. MOV.F R11.y, c[5].x;
  2803. ADD.F32 R9.w, R11.y, R9;
  2804. MOV.S R13.y, R9.w;
  2805. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2806. MOV.F R9.w, c[5].y;
  2807. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2808. MOV.S R14.y, R12.x;
  2809. ADD.F32 R3.z, R9.w, R3;
  2810. TRUNC.U R3.w, R3;
  2811. TRUNC.U R5.w, R5;
  2812. AND.U.CC HC.x, R3.w, R5.w;
  2813. MOV.S R12.w, R10;
  2814. MOV.S R11.w, R13.z;
  2815. MOV.S R12.x, R3.z;
  2816. IF NE.x;
  2817. ELSE;
  2818. MOV.F R3.x, {0, 0, 0, 0};
  2819. ENDIF;
  2820. MOV.F R5.w, R11.x;
  2821. MOV.F R3.w, R13.z;
  2822. MUL.F32 R3.z, R3.w, R5.w;
  2823. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2824. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2825. TRUNC.U R3.w, R3;
  2826. TRUNC.U R5.w, R5;
  2827. AND.U.CC HC.x, R3.w, R5.w;
  2828. MOV.S R16.x, R3;
  2829. IF NE.x;
  2830. MOV.F R3.x, R3.z;
  2831. ELSE;
  2832. MOV.F R3.x, {0, 0, 0, 0};
  2833. ENDIF;
  2834. MOV.F R3.z, R14.y;
  2835. SLT.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2836. MOV.S R3.z, {0, 0, 0, 0}.x;
  2837. TRUNC.U.CC HC.x, R5.w;
  2838. MOV.F R3.w, {1, 0, 0, 0}.x;
  2839. MOV.S R3.z(EQ.x), R3.w;
  2840. MOV.S R13.z, R3;
  2841. MOV.F R3.z, R11;
  2842. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2843. MOV.F R3.w, R11;
  2844. MUL.F32 R3.z, R3.w, R3;
  2845. TRUNC.U R5.w, R5;
  2846. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2847. MOV.S R16.y, R3.x;
  2848. TRUNC.U R3.x, R3.w;
  2849. AND.U.CC HC.x, R3, R5.w;
  2850. IF NE.x;
  2851. MOV.F R3.w, R3.z;
  2852. ELSE;
  2853. MOV.F R3.w, {0, 0, 0, 0}.x;
  2854. ENDIF;
  2855. MOV.F R3.z, R12.y;
  2856. MOV.F R9.w, R13.z;
  2857. ADD.F32 R9.w, -R9, {1, 0, 0, 0}.x;
  2858. MOV.S R11.w, R9;
  2859. ADD.F32 R3.x, -R3.z, {1, 0, 0, 0};
  2860. MOV.F R5.w, R15.z;
  2861. MUL.F32 R3.x, R5.w, R3;
  2862. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2863. MOV.F R11.x, R16;
  2864. MOV.F R10.w, c[6].y;
  2865. ADD.F32 R10.w, R10, R11.x;
  2866. MOV.S R15.y, R10.w;
  2867. MOV.F R11.x, R16.y;
  2868. MOV.F R10.w, c[6].x;
  2869. ADD.F32 R10.w, R10, R11.x;
  2870. MOV.S R12.z, R10.w;
  2871. SNE.F32 R10.w, -R3.z, {-1, 0, 0, 0}.x;
  2872. MOV.F R9.w, c[6].z;
  2873. ADD.F32 R3.z, R9.w, R3.w;
  2874. TRUNC.U R5.w, R5;
  2875. TRUNC.U R3.w, R10;
  2876. AND.U.CC HC.x, R5.w, R3.w;
  2877. MOV.S R13.x, R3.z;
  2878. IF NE.x;
  2879. MOV.F R3.z, R3.x;
  2880. ELSE;
  2881. MOV.F R3.z, {0, 0, 0, 0}.x;
  2882. ENDIF;
  2883. MOV.F R3.x, R13.z;
  2884. SNE.F32 R5.w, R3.x, {0, 0, 0, 0}.x;
  2885. MOV.F R3.w, c[7].x;
  2886. MUL.F32 R3.x, R3.w, R3;
  2887. TRUNC.U R5.w, R5;
  2888. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2889. MOV.S R14.y, R3.z;
  2890. TRUNC.U R3.z, R3.w;
  2891. AND.U.CC HC.x, R3.z, R5.w;
  2892. IF NE.x;
  2893. MOV.F R3.w, R3.x;
  2894. ELSE;
  2895. MOV.F R3.w, {0, 0, 0, 0}.x;
  2896. ENDIF;
  2897. MOV.F R3.x, R13.z;
  2898. SNE.F32 R3.z, R3.x, {0, 0, 0, 0}.x;
  2899. MOV.F R5.w, c[7].y;
  2900. MUL.F32 R3.x, R5.w, R3;
  2901. TRUNC.U R3.z, R3;
  2902. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2903. MOV.S R18.x, R3.w;
  2904. TRUNC.U R3.w, R5;
  2905. AND.U.CC HC.x, R3.w, R3.z;
  2906. IF NE.x;
  2907. ELSE;
  2908. MOV.F R3.x, {0, 0, 0, 0};
  2909. ENDIF;
  2910. MOV.F R5.w, R11;
  2911. MOV.F R3.w, R12.y;
  2912. MUL.F32 R3.z, R3.w, R5.w;
  2913. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2914. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2915. TRUNC.U R3.w, R3;
  2916. TRUNC.U R5.w, R5;
  2917. AND.U.CC HC.x, R3.w, R5.w;
  2918. MOV.S R18.y, R3.x;
  2919. IF NE.x;
  2920. MOV.F R3.x, R3.z;
  2921. ELSE;
  2922. MOV.F R3.x, {0, 0, 0, 0};
  2923. ENDIF;
  2924. MOV.F R3.z, R13;
  2925. SNE.F32 R5.w, R3.z, {0, 0, 0, 0}.x;
  2926. MOV.F R3.w, c[7].z;
  2927. MUL.F32 R3.z, R3.w, R3;
  2928. TRUNC.U R5.w, R5;
  2929. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2930. MOV.S R16.z, R3.x;
  2931. TRUNC.U R3.x, R3.w;
  2932. AND.U.CC HC.x, R3, R5.w;
  2933. IF NE.x;
  2934. ELSE;
  2935. MOV.F R3.z, {0, 0, 0, 0}.x;
  2936. ENDIF;
  2937. MOV.F R5.w, R14.y;
  2938. MOV.F R3.w, R13.y;
  2939. MUL.F32 R3.x, R3.w, R5.w;
  2940. SNE.F32 R9.w, R5, {0, 0, 0, 0}.x;
  2941. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  2942. TRUNC.U R5.w, R3;
  2943. TRUNC.U R9.w, R9;
  2944. AND.U.CC HC.x, R5.w, R9.w;
  2945. MOV.S R3.w, R3.z;
  2946. IF NE.x;
  2947. MOV.F R3.z, R3.x;
  2948. ELSE;
  2949. MOV.F R3.z, {0, 0, 0, 0}.x;
  2950. ENDIF;
  2951. MOV.F R9.w, R16.z;
  2952. MOV.F R5.w, R15.y;
  2953. MUL.F32 R3.x, R5.w, R9.w;
  2954. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2955. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2956. TRUNC.U R5.w, R5;
  2957. TRUNC.U R9.w, R9;
  2958. AND.U.CC HC.x, R5.w, R9.w;
  2959. MOV.S R15.x, R3.z;
  2960. IF NE.x;
  2961. ELSE;
  2962. MOV.F R3.x, {0, 0, 0, 0};
  2963. ENDIF;
  2964. MOV.F R9.w, R16.z;
  2965. MOV.F R5.w, R12.z;
  2966. MUL.F32 R3.z, R5.w, R9.w;
  2967. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  2968. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2969. TRUNC.U R5.w, R5;
  2970. TRUNC.U R9.w, R9;
  2971. AND.U.CC HC.x, R5.w, R9.w;
  2972. MOV.S R3.x, R3;
  2973. IF NE.x;
  2974. MOV.F R5.w, R3.z;
  2975. ELSE;
  2976. MOV.F R5.w, {0, 0, 0, 0}.x;
  2977. ENDIF;
  2978. MOV.F R10.w, R14.y;
  2979. MOV.F R9.w, R12.x;
  2980. MUL.F32 R3.z, R9.w, R10.w;
  2981. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2982. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2983. TRUNC.U R9.w, R9;
  2984. TRUNC.U R10.w, R10;
  2985. AND.U.CC HC.x, R9.w, R10.w;
  2986. MOV.S R15.y, R5.w;
  2987. IF NE.x;
  2988. ELSE;
  2989. MOV.F R3.z, {0, 0, 0, 0}.x;
  2990. ENDIF;
  2991. MOV.F R10.w, R16.z;
  2992. MOV.F R9.w, R13.x;
  2993. MUL.F32 R5.w, R9, R10;
  2994. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  2995. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  2996. TRUNC.U R9.w, R9;
  2997. TRUNC.U R10.w, R10;
  2998. AND.U.CC HC.x, R9.w, R10.w;
  2999. MOV.S R13.z, R3;
  3000. IF NE.x;
  3001. MOV.F R3.z, R5.w;
  3002. ELSE;
  3003. MOV.F R3.z, {0, 0, 0, 0}.x;
  3004. ENDIF;
  3005. MOV.F R10.w, R14.y;
  3006. MOV.F R9.w, R12;
  3007. MUL.F32 R5.w, R9, R10;
  3008. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  3009. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  3010. TRUNC.U R9.w, R9;
  3011. TRUNC.U R10.w, R10;
  3012. AND.U.CC HC.x, R9.w, R10.w;
  3013. MOV.S R14.w, R3.z;
  3014. IF NE.x;
  3015. MOV.F R3.z, R5.w;
  3016. ELSE;
  3017. MOV.F R3.z, {0, 0, 0, 0}.x;
  3018. ENDIF;
  3019. MOV.F R11, R6;
  3020. MOV.F R5.w, R15.z;
  3021. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  3022. MOV.F R6.xyz, R5;
  3023. MOV.F R6.w, {1, 0, 0, 0}.x;
  3024. DP4.F32 R6.x, R11, R6;
  3025. MOV.S R5.w, R5;
  3026. MOV.S R6.w, R6.x;
  3027. MOV.F R6.x, R3.y;
  3028. MOV.F R6.y, R5.w;
  3029. ADD.F32 R6.z, -R6.x, {1, 0, 0, 0}.x;
  3030. MUL.F32 R5.w, R6.x, R6.y;
  3031. MOV.S R12.x, R6.z;
  3032. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3033. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  3034. MOV.F R9.w, R21.y;
  3035. MOV.F R6.z, R21.x;
  3036. MOV.F R10.w, R21.z;
  3037. ADD.F32 R10.w, R9, R10;
  3038. ADD.F32 R6.z, R9.w, R6;
  3039. TRUNC.U R6.x, R6;
  3040. TRUNC.U R6.y, R6;
  3041. AND.U.CC HC.x, R6, R6.y;
  3042. MOV.S R15.w, R10;
  3043. MOV.S R15.z, R6;
  3044. MOV.S R3.z, R3;
  3045. IF NE.x;
  3046. ELSE;
  3047. MOV.F R5.w, {0, 0, 0, 0}.x;
  3048. ENDIF;
  3049. SNE.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  3050. MOV.F R6.y, R14.x;
  3051. MOV.F R16, R7;
  3052. MOV.F R11.w, {1, 0, 0, 0}.x;
  3053. MOV.F R11.xyz, R5;
  3054. DP4.F32 R6.x, R16, R11;
  3055. MOV.S R10.w, R6.x;
  3056. MUL.F32 R6.x, R5.w, R6.y;
  3057. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  3058. TRUNC.U R6.y, R6;
  3059. TRUNC.U R6.z, R6;
  3060. AND.U.CC HC.x, R6.y, R6.z;
  3061. MOV.S R13.x, R5.w;
  3062. IF NE.x;
  3063. ELSE;
  3064. MOV.F R6.x, {0, 0, 0, 0};
  3065. ENDIF;
  3066. MOV.F R11, R8;
  3067. MOV.F R5.w, {1, 0, 0, 0}.x;
  3068. DP4.F32 R5.x, R11, R5;
  3069. MOV.F R5.z, R13.x;
  3070. MOV.F R5.y, R13.w;
  3071. MOV.S R9.w, R5.x;
  3072. MUL.F32 R5.x, R5.y, R5.z;
  3073. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3074. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3075. TRUNC.U R5.y, R5;
  3076. TRUNC.U R5.z, R5;
  3077. AND.U.CC HC.x, R5.y, R5.z;
  3078. MOV.S R12.w, R6.x;
  3079. IF NE.x;
  3080. ELSE;
  3081. MOV.F R5.x, {0, 0, 0, 0};
  3082. ENDIF;
  3083. MOV.F R5.y, R12.x;
  3084. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3085. MOV.F R5.z, c[4];
  3086. MUL.F32 R5.y, R5.z, R5;
  3087. TRUNC.U R5.w, R5;
  3088. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3089. MOV.S R12.z, R5.x;
  3090. TRUNC.U R5.x, R5.z;
  3091. AND.U.CC HC.x, R5, R5.w;
  3092. IF NE.x;
  3093. MOV.F R5.x, R5.y;
  3094. ELSE;
  3095. MOV.F R5.x, {0, 0, 0, 0};
  3096. ENDIF;
  3097. MOV.F R5.w, R13.x;
  3098. MOV.F R5.z, R14;
  3099. MUL.F32 R5.y, R5.z, R5.w;
  3100. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3101. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3102. TRUNC.U R5.z, R5;
  3103. TRUNC.U R5.w, R5;
  3104. AND.U.CC HC.x, R5.z, R5.w;
  3105. MOV.S R16.x, R5;
  3106. IF NE.x;
  3107. MOV.F R5.x, R5.y;
  3108. ELSE;
  3109. MOV.F R5.x, {0, 0, 0, 0};
  3110. ENDIF;
  3111. MOV.F R5.y, R12.x;
  3112. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3113. MOV.F R5.z, c[4].y;
  3114. MUL.F32 R5.y, R5.z, R5;
  3115. TRUNC.U R5.w, R5;
  3116. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3117. MOV.S R16.y, R5.x;
  3118. TRUNC.U R5.x, R5.z;
  3119. AND.U.CC HC.x, R5, R5.w;
  3120. IF NE.x;
  3121. MOV.F R5.x, R5.y;
  3122. ELSE;
  3123. MOV.F R5.x, {0, 0, 0, 0};
  3124. ENDIF;
  3125. MOV.F R5.y, R12.x;
  3126. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3127. MOV.F R5.z, c[4].x;
  3128. MUL.F32 R5.y, R5.z, R5;
  3129. TRUNC.U R5.w, R5;
  3130. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3131. MOV.S R16.z, R5.x;
  3132. TRUNC.U R5.x, R5.z;
  3133. AND.U.CC HC.x, R5, R5.w;
  3134. IF NE.x;
  3135. MOV.F R5.x, R5.y;
  3136. ELSE;
  3137. MOV.F R5.x, {0, 0, 0, 0};
  3138. ENDIF;
  3139. MOV.F R5.z, R16;
  3140. MOV.F R5.y, R12.z;
  3141. ADD.F32 R5.y, R5, R5.z;
  3142. MOV.F R5.z, R13;
  3143. ADD.F32 R5.y, R5.z, R5;
  3144. ADD.F32 R5.y, R3.x, R5;
  3145. MOV.F R3.x, R12.w;
  3146. ADD.F32 R3.x, R3, R5;
  3147. MOV.S R8.y, R5;
  3148. MOV.F R5.x, R15;
  3149. ADD.F32 R5.x, R5, R3;
  3150. MOV.F R3.x, R3.z;
  3151. MOV.F R3.z, R15.y;
  3152. ADD.F32 R3.z, R3, R5.x;
  3153. MOV.F R5.y, R16.x;
  3154. MOV.F R5.x, R16.y;
  3155. ADD.F32 R5.x, R5, R5.y;
  3156. ADD.F32 R3.x, R3, R5;
  3157. MOV.F R5.y, R15.z;
  3158. MAD.F32 R5.x, R5.y, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  3159. MOV.F R5.y, R14.w;
  3160. ADD.F32 R3.x, R5.y, R3;
  3161. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  3162. MOV.S R8.w, R5.x;
  3163. MOV.F R5.x, R15.w;
  3164. MAD.F32 R5.x, R5, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  3165. MOV.S R5.z, R5.x;
  3166. MOV.F R5.y, R21.z;
  3167. MOV.F R5.x, R21;
  3168. ADD.F32 R5.x, R5, R5.y;
  3169. MOV.S R5.y, R5.z;
  3170. MAD.F32 R5.z, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  3171. MOV.F R5.x, R5.y;
  3172. MUL.F32 R5.y, R5.z, {2, 0, 0, 0}.x;
  3173. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  3174. MOV.S R3.z, R3;
  3175. MOV.S R3.x, R3;
  3176. MOV.S R5.y, R5;
  3177. MOV.S R5.w, R5.x;
  3178. ENDIF;
  3179. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  3180. MOV.U.CC RC.x, -R5;
  3181. IF NE.x;
  3182. MOV.F R5.x, R18.y;
  3183. MOV.F R5.z, R8.y;
  3184. ADD.F32 R5.z, R5.x, R5;
  3185. MOV.F R5.x, R3;
  3186. MOV.F R3.x, R3.w;
  3187. ADD.F32 R3.x, R3, R5;
  3188. MOV.S R11.z, R5;
  3189. MOV.S R11.y, R3.x;
  3190. MOV.F R3.x, R18;
  3191. SNE.F32 R5.x, R3, -R3.z;
  3192. ADD.F32 R3.x, R3, R3.z;
  3193. MOV.F R5.z, R20.x;
  3194. TRUNC.U R6.x, R5;
  3195. MOV.F R3.z, R21.x;
  3196. ADD.F32 R3.z, R3, {-0.5, 0, 0, 0}.x;
  3197. MOV.F R5.x, R21.y;
  3198. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  3199. MOV.S R13.x, R3.z;
  3200. SNE.F32 R3.z, R5, {0, 0, 0, 0}.x;
  3201. TRUNC.U R3.z, R3;
  3202. AND.U.CC HC.x, R3.z, R6;
  3203. MUL.F32 R3.x, R5.z, R3;
  3204. MOV.S R14.w, R5.x;
  3205. MOV.S R11.w, R20.y;
  3206. IF NE.x;
  3207. ELSE;
  3208. MOV.F R3.x, {0, 0, 0, 0};
  3209. ENDIF;
  3210. MOV.F R5.x, R11.y;
  3211. MOV.F R5.z, R20;
  3212. MUL.F32 R3.z, R5, R5.x;
  3213. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  3214. MOV.F R5.x, R21.z;
  3215. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  3216. TRUNC.U R6.x, R6;
  3217. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3218. MOV.S R20.y, R5.x;
  3219. TRUNC.U R5.x, R5.z;
  3220. AND.U.CC HC.x, R5, R6;
  3221. MOV.S R16.x, R3;
  3222. IF NE.x;
  3223. MOV.F R3.x, R3.z;
  3224. ELSE;
  3225. MOV.F R3.x, {0, 0, 0, 0};
  3226. ENDIF;
  3227. MOV.F R3.z, R11;
  3228. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  3229. MOV.F R5.x, R11.w;
  3230. MUL.F32 R3.z, R5.x, R3;
  3231. TRUNC.U R5.z, R5;
  3232. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3233. MOV.S R16.z, R3.x;
  3234. TRUNC.U R3.x, R5;
  3235. AND.U.CC HC.x, R3, R5.z;
  3236. IF NE.x;
  3237. MOV.F R3.x, R3.z;
  3238. ELSE;
  3239. MOV.F R3.x, {0, 0, 0, 0};
  3240. ENDIF;
  3241. MOV.F R5.z, c[8].x;
  3242. MOV.F R5.x, R8.w;
  3243. MUL.F32 R3.z, R5.x, R5;
  3244. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3245. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3246. TRUNC.U R5.x, R5;
  3247. TRUNC.U R5.z, R5;
  3248. AND.U.CC HC.x, R5, R5.z;
  3249. MOV.S R16.w, R3.x;
  3250. IF NE.x;
  3251. MOV.F R3.x, R3.z;
  3252. ELSE;
  3253. MOV.F R3.x, {0, 0, 0, 0};
  3254. ENDIF;
  3255. MOV.F R5.z, c[9];
  3256. MOV.F R5.x, R16.w;
  3257. MUL.F32 R3.z, R5.x, R5;
  3258. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3259. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3260. TRUNC.U R5.x, R5;
  3261. TRUNC.U R5.z, R5;
  3262. AND.U.CC HC.x, R5, R5.z;
  3263. MOV.S R15.y, R3.x;
  3264. IF NE.x;
  3265. MOV.F R3.x, R3.z;
  3266. ELSE;
  3267. MOV.F R3.x, {0, 0, 0, 0};
  3268. ENDIF;
  3269. MOV.F R5.z, c[9].y;
  3270. MOV.F R5.x, R16;
  3271. MUL.F32 R3.z, R5.x, R5;
  3272. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3273. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3274. TRUNC.U R5.x, R5;
  3275. TRUNC.U R5.z, R5;
  3276. AND.U.CC HC.x, R5, R5.z;
  3277. MOV.S R18.x, R3;
  3278. IF NE.x;
  3279. MOV.F R3.x, R3.z;
  3280. ELSE;
  3281. MOV.F R3.x, {0, 0, 0, 0};
  3282. ENDIF;
  3283. MOV.F R5.z, c[9].w;
  3284. MOV.F R5.x, R16.z;
  3285. MUL.F32 R3.z, R5.x, R5;
  3286. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3287. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3288. TRUNC.U R5.x, R5;
  3289. TRUNC.U R5.z, R5;
  3290. AND.U.CC HC.x, R5, R5.z;
  3291. MOV.S R18.y, R3.x;
  3292. IF NE.x;
  3293. MOV.F R3.x, R3.z;
  3294. ELSE;
  3295. MOV.F R3.x, {0, 0, 0, 0};
  3296. ENDIF;
  3297. MOV.F R3.z, R21.y;
  3298. MUL.F32 R3.z, R3, {2, 0, 0, 0}.x;
  3299. MOV.F R5.x, R21.z;
  3300. MOV.S R11.w, R3.z;
  3301. MUL.F32 R3.z, R5.x, {2, 0, 0, 0}.x;
  3302. MOV.F R5.x, R19.z;
  3303. MOV.S R14.y, R3.z;
  3304. MUL.F32 R3.z, R5.x, R3.x;
  3305. SNE.F32 R5.z, R3.x, {0, 0, 0, 0}.x;
  3306. SNE.F32 R3.x, R5, {0, 0, 0, 0};
  3307. TRUNC.U R5.x, R5.z;
  3308. TRUNC.U R3.x, R3;
  3309. AND.U.CC HC.x, R3, R5;
  3310. IF NE.x;
  3311. MOV.F R3.x, R3.z;
  3312. ELSE;
  3313. MOV.F R3.x, {0, 0, 0, 0};
  3314. ENDIF;
  3315. MOV.F R5.x, c[10];
  3316. MOV.F R3.z, R15.y;
  3317. ADD.F32 R3.z, R3, R5.x;
  3318. MOV.F R5.x, R11.w;
  3319. MOV.S R8.y, R3.z;
  3320. FLR.F R3.z, R5.x;
  3321. MOV.F R5.z, c[8].y;
  3322. MOV.F R5.x, R5.w;
  3323. MOV.S R16.z, R3;
  3324. MUL.F32 R3.z, R5.x, R5;
  3325. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3326. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3327. TRUNC.U R5.x, R5;
  3328. TRUNC.U R5.z, R5;
  3329. AND.U.CC HC.x, R5, R5.z;
  3330. MOV.S R8.x, R3;
  3331. IF NE.x;
  3332. MOV.F R3.x, R3.z;
  3333. ELSE;
  3334. MOV.F R3.x, {0, 0, 0, 0};
  3335. ENDIF;
  3336. MOV.F R5.x, R16.z;
  3337. MOV.F R3.z, R14.y;
  3338. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3339. FLR.F R3.z, R3;
  3340. TRUNC.U.CC HC.x, R5;
  3341. MOV.S R16.w, R3.x;
  3342. MOV.S R13.z, R3;
  3343. IF NE.x;
  3344. MOV.F R3.x, {1, 0, 0, 0};
  3345. ELSE;
  3346. MOV.F R3.x, {0, 0, 0, 0};
  3347. ENDIF;
  3348. MOV.F R3.z, R5.y;
  3349. SNE.F32 R5.y, R3.z, {0, 0, 0, 0}.x;
  3350. MOV.F R5.x, c[8].z;
  3351. MUL.F32 R3.z, R3, R5.x;
  3352. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  3353. TRUNC.U R5.y, R5;
  3354. TRUNC.U R5.x, R5;
  3355. AND.U.CC HC.x, R5.y, R5;
  3356. MOV.S R11.x, R3;
  3357. IF NE.x;
  3358. MOV.F R3.x, R3.z;
  3359. ELSE;
  3360. MOV.F R3.x, {0, 0, 0, 0};
  3361. ENDIF;
  3362. MOV.F R3.z, R16;
  3363. SLT.F32 R5.x, R3.z, {0, 0, 0, 0};
  3364. TRUNC.U.CC HC.x, R5;
  3365. MOV.F R3.z, {1, 0, 0, 0}.x;
  3366. MOV.F R3.z(EQ.x), {0, 0, 0, 0}.x;
  3367. MOV.S R11.w, R3.z;
  3368. MOV.F R5.x, R16.w;
  3369. MOV.F R3.z, c[10].y;
  3370. ADD.F32 R3.z, R3, R5.x;
  3371. MOV.F R5.x, R13.z;
  3372. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3373. TRUNC.U.CC HC.x, R5;
  3374. MOV.S R3.z, R3;
  3375. MOV.S R11.y, R3.x;
  3376. IF NE.x;
  3377. MOV.F R3.x, {1, 0, 0, 0};
  3378. ELSE;
  3379. MOV.F R3.x, {0, 0, 0, 0};
  3380. ENDIF;
  3381. MOV.F R5.x, R13.z;
  3382. SLT.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  3383. TRUNC.U.CC HC.x, R5.y;
  3384. MOV.F R5.x, {1, 0, 0, 0};
  3385. MOV.F R5.x(EQ), {0, 0, 0, 0};
  3386. MOV.S R16.z, R5.x;
  3387. MOV.F R5.y, R11.w;
  3388. MOV.F R5.x, R11;
  3389. ADD.F32 R5.x, R5, -R5.y;
  3390. MOV.F R5.z, R11.y;
  3391. MOV.F R5.y, c[10].z;
  3392. ADD.F32 R5.y, R5, R5.z;
  3393. MOV.F R5.z, R13.x;
  3394. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  3395. MOV.F R5.w, c[11].x;
  3396. MOV.S R20.x, R5;
  3397. MUL.F32 R5.x, R5.z, R5.w;
  3398. MOV.F R5.z, R21.x;
  3399. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  3400. MOV.S R16.w, R5.z;
  3401. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  3402. TRUNC.U R6.x, R6;
  3403. TRUNC.U R5.z, R5;
  3404. AND.U.CC HC.x, R6, R5.z;
  3405. MOV.S R5.y, R5;
  3406. MOV.S R15.y, R3.x;
  3407. IF NE.x;
  3408. MOV.F R3.x, R5;
  3409. ELSE;
  3410. MOV.F R3.x, {0, 0, 0, 0};
  3411. ENDIF;
  3412. MOV.F R5.w, c[11].y;
  3413. MOV.F R5.z, R14.w;
  3414. MUL.F32 R5.x, R5.z, R5.w;
  3415. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3416. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3417. TRUNC.U R5.z, R5;
  3418. TRUNC.U R5.w, R5;
  3419. AND.U.CC HC.x, R5.z, R5.w;
  3420. MOV.S R8.z, R3.x;
  3421. IF NE.x;
  3422. MOV.F R3.x, R5;
  3423. ELSE;
  3424. MOV.F R3.x, {0, 0, 0, 0};
  3425. ENDIF;
  3426. MOV.F R5.x, R16.w;
  3427. FLR.F R5.x, R5;
  3428. MOV.S R5.x, R5;
  3429. MOV.F R5.w, R16.z;
  3430. MOV.F R5.z, R15.y;
  3431. ADD.F32 R5.z, R5, -R5.w;
  3432. MOV.S R5.w, R5.z;
  3433. MOV.S R5.z, R5.x;
  3434. MOV.S R11.y, R5.x;
  3435. MOV.F R5.x, R5.z;
  3436. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3437. TRUNC.U.CC HC.x, R5;
  3438. MOV.S R3.x, R3;
  3439. IF NE.x;
  3440. MOV.F R5.x, {1, 0, 0, 0};
  3441. ELSE;
  3442. MOV.F R5.x, {0, 0, 0, 0};
  3443. ENDIF;
  3444. MOV.F R5.z, R11.y;
  3445. SLT.F32 R6.x, R5.z, {0, 0, 0, 0};
  3446. MOV.F R5.z, {1, 0, 0, 0}.x;
  3447. TRUNC.U.CC HC.x, R6;
  3448. MOV.F R5.z(EQ.x), {0, 0, 0, 0}.x;
  3449. ADD.F32 R5.x, R5, -R5.z;
  3450. MOV.S R20.z, R5.x;
  3451. ENDIF;
  3452. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  3453. MOV.U.CC RC.x, -R5;
  3454. IF NE.x;
  3455. AND.S R3.w, c[12].x, {65536, 0, 0, 0}.x;
  3456. I2F.S R5.x, R3.w;
  3457. SLT.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  3458. MOV.F R3.w, {1, 0, 0, 0}.x;
  3459. TRUNC.U.CC HC.x, R5.z;
  3460. MOV.F R3.w(EQ.x), {0, 0, 0, 0}.x;
  3461. MOV.S R11.x, R3.w;
  3462. SGT.F32 R3.w, R5.x, {0, 0, 0, 0}.x;
  3463. TRUNC.U.CC HC.x, R3.w;
  3464. AND.S R15.y, c[12].x, {262144, 0, 0, 0}.x;
  3465. AND.S R13.z, c[12].x, {131072, 0, 0, 0}.x;
  3466. IF NE.x;
  3467. MOV.F R3.w, {1, 0, 0, 0}.x;
  3468. ELSE;
  3469. MOV.F R3.w, {0, 0, 0, 0}.x;
  3470. ENDIF;
  3471. MOV.F R5.x, R20.y;
  3472. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  3473. MOV.F R5.z, c[11];
  3474. MUL.F32 R5.x, R5, R5.z;
  3475. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3476. TRUNC.U R6.x, R6;
  3477. TRUNC.U R5.z, R5;
  3478. AND.U.CC HC.x, R6, R5.z;
  3479. MOV.S R11.y, R3.w;
  3480. IF NE.x;
  3481. MOV.F R3.w, R5.x;
  3482. ELSE;
  3483. MOV.F R3.w, {0, 0, 0, 0}.x;
  3484. ENDIF;
  3485. I2F.S R5.x, R13.z;
  3486. MOV.S R14.y, R5.x;
  3487. SGT.F32 R5.x, R5, {0, 0, 0, 0};
  3488. TRUNC.U.CC HC.x, R5;
  3489. MOV.S R12.z, R3.w;
  3490. IF NE.x;
  3491. MOV.F R3.w, {1, 0, 0, 0}.x;
  3492. ELSE;
  3493. MOV.F R3.w, {0, 0, 0, 0}.x;
  3494. ENDIF;
  3495. I2F.S R6.y, R15;
  3496. SLT.F32 R5.z, R6.y, {0, 0, 0, 0}.x;
  3497. TRUNC.U.CC HC.x, R5.z;
  3498. MOV.F R5.x, {1, 0, 0, 0};
  3499. MOV.F R5.z, R14.y;
  3500. SLT.F32 R6.x, R5.z, {0, 0, 0, 0};
  3501. MOV.F R5.x(EQ), {0, 0, 0, 0};
  3502. TRUNC.U.CC HC.x, R6;
  3503. MOV.F R5.z, {1, 0, 0, 0}.x;
  3504. MOV.F R5.z(EQ.x), {0, 0, 0, 0}.x;
  3505. MOV.F R6.x, R5;
  3506. MOV.F R5.x, R11;
  3507. ADD.F32 R3.w, R3, -R5.z;
  3508. MOV.S R11.z, R3.w;
  3509. MOV.F R3.w, R11.y;
  3510. ADD.F32 R3.w, R3, -R5.x;
  3511. SGT.F32 R5.x, R6.y, {0, 0, 0, 0};
  3512. TRUNC.U.CC HC.x, R5;
  3513. MOV.S R11.x, R6;
  3514. MOV.S R16.w, R3;
  3515. IF NE.x;
  3516. MOV.F R3.w, {1, 0, 0, 0}.x;
  3517. ELSE;
  3518. MOV.F R3.w, {0, 0, 0, 0}.x;
  3519. ENDIF;
  3520. MOV.F R6.x, R11;
  3521. ADD.F32 R3.w, R3, -R6.x;
  3522. MOV.F R5.x, R11.z;
  3523. TRUNC.S R5.x, R5;
  3524. MOV.F R5.z, R16.w;
  3525. TRUNC.S R5.z, R5;
  3526. ADD.S R6.y, -R5.z, {0, 0, 0, 0}.x;
  3527. MAX.S R11.x, R5.z, R6.y;
  3528. MOV.F R5.z, c[10].w;
  3529. MOV.S R16.y, R3.w;
  3530. SEQ.F R3.w, R5.z, {1, 0, 0, 0}.x;
  3531. TRUNC.U.CC HC.x, R3.w;
  3532. ADD.S R11.y, -R5.x, {0, 0, 0, 0}.x;
  3533. MOV.S R15.y, R5.x;
  3534. IF NE.x;
  3535. MOV.S R3.w, {-1, 0, 0, 0}.x;
  3536. ELSE;
  3537. MOV.S R3.w, {0, 0, 0, 0}.x;
  3538. ENDIF;
  3539. MOV.F R5.x, R16.y;
  3540. TRUNC.S R13.x, R5;
  3541. I2F.S R5.x, R11;
  3542. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  3543. MOV.F R6.x, R20;
  3544. MUL.F32 R5.x, -R5.z, R6;
  3545. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3546. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  3547. TRUNC.U R6.x, R6;
  3548. TRUNC.U R5.z, R5;
  3549. AND.U.CC HC.x, R5.z, R6;
  3550. MAX.S R16.w, R15.y, R11.y;
  3551. ADD.S R16.x, -R13, {0, 0, 0, 0};
  3552. IF NE.x;
  3553. ELSE;
  3554. MOV.F R5.x, {0, 0, 0, 0};
  3555. ENDIF;
  3556. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  3557. I2F.S R5.z, R16.w;
  3558. MUL.F32 R5.z, R5, {2, 0, 0, 0}.x;
  3559. SNE.F32 R6.x, -R5.z, {0, 0, 0, 0};
  3560. MUL.F32 R5.z, -R5, R5.w;
  3561. MOV.F R5.w, c[10];
  3562. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  3563. TRUNC.U R6.x, R6;
  3564. TRUNC.U R6.y, R6;
  3565. AND.U.CC HC.x, R6, R6.y;
  3566. MAX.S R11.z, R13.x, R16.x;
  3567. MOV.S R11.y, R5.x;
  3568. MOV.S R14.w, R5;
  3569. IF NE.x;
  3570. MOV.F R5.x, R5.z;
  3571. ELSE;
  3572. MOV.F R5.x, {0, 0, 0, 0};
  3573. ENDIF;
  3574. MOV.F R6.x, R11.y;
  3575. MOV.F R5.w, R8.y;
  3576. MUL.F32 R5.z, R5.w, R6.x;
  3577. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3578. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3579. TRUNC.U R5.w, R5;
  3580. TRUNC.U R6.x, R6;
  3581. AND.U.CC HC.x, R5.w, R6;
  3582. MOV.S R16.x, R5;
  3583. IF NE.x;
  3584. MOV.F R5.x, R5.z;
  3585. ELSE;
  3586. MOV.F R5.x, {0, 0, 0, 0};
  3587. ENDIF;
  3588. MOV.F R6.x, R11.y;
  3589. MOV.F R5.w, R22.x;
  3590. MUL.F32 R5.z, R5.w, R6.x;
  3591. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3592. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3593. TRUNC.U R6.x, R6;
  3594. TRUNC.U R5.w, R5;
  3595. AND.U.CC HC.x, R5.w, R6;
  3596. MOV.S R16.y, R5.x;
  3597. IF NE.x;
  3598. MOV.F R5.x, R5.z;
  3599. ELSE;
  3600. MOV.F R5.x, {0, 0, 0, 0};
  3601. ENDIF;
  3602. I2F.S R5.z, R11;
  3603. MUL.F32 R5.w, R5.z, {2, 0, 0, 0}.x;
  3604. MOV.F R6.x, R20.z;
  3605. MUL.F32 R5.z, -R5.w, R6.x;
  3606. SNE.F32 R5.w, -R5, {0, 0, 0, 0}.x;
  3607. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3608. TRUNC.U R5.w, R5;
  3609. TRUNC.U R6.x, R6;
  3610. AND.U.CC HC.x, R5.w, R6;
  3611. MOV.S R16.z, R5.x;
  3612. IF NE.x;
  3613. MOV.F R5.x, R5.z;
  3614. ELSE;
  3615. MOV.F R5.x, {0, 0, 0, 0};
  3616. ENDIF;
  3617. MOV.F R6.x, R3.z;
  3618. MOV.F R5.z, R22.x;
  3619. MOV.F R5.w, R16.z;
  3620. ADD.F32 R5.w, R5.z, R5;
  3621. MOV.F R6.y, R16.x;
  3622. MOV.S R11.y, R5.w;
  3623. SNE.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  3624. MUL.F32 R5.z, R6.x, R6.y;
  3625. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  3626. TRUNC.U R5.w, R5;
  3627. TRUNC.U R6.x, R6;
  3628. AND.U.CC HC.x, R5.w, R6;
  3629. MOV.S R11.x, R5;
  3630. IF NE.x;
  3631. MOV.F R5.x, R5.z;
  3632. ELSE;
  3633. MOV.F R5.x, {0, 0, 0, 0};
  3634. ENDIF;
  3635. MOV.F R5.w, R16.y;
  3636. MOV.F R5.z, R8.y;
  3637. ADD.F32 R5.z, R5, R5.w;
  3638. MOV.F R6.x, R16;
  3639. MOV.F R5.w, R22.y;
  3640. MOV.S R12.w, R5.z;
  3641. MUL.F32 R5.z, R5.w, R6.x;
  3642. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  3643. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3644. TRUNC.U R6.x, R6;
  3645. TRUNC.U R5.w, R5;
  3646. AND.U.CC HC.x, R5.w, R6;
  3647. MOV.S R11.z, R5.x;
  3648. IF NE.x;
  3649. MOV.F R5.x, R5.z;
  3650. ELSE;
  3651. MOV.F R5.x, {0, 0, 0, 0};
  3652. ENDIF;
  3653. MOV.F R5.w, R8.z;
  3654. MOV.F R5.z, R11.y;
  3655. ADD.F32 R5.z, R5, R5.w;
  3656. MOV.F R5.w, R11.z;
  3657. ADD.F32 R3.z, R3, R5.w;
  3658. MOV.S R14.y, R5.z;
  3659. MOV.F R5.w, R11.x;
  3660. MOV.F R5.z, R5.y;
  3661. MOV.S R15.z, R3;
  3662. MUL.F32 R3.z, R5, R5.w;
  3663. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3664. TRUNC.U R6.x, R5.z;
  3665. MOV.F R5.z, R22.y;
  3666. ADD.F32 R5.x, R5.z, R5;
  3667. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3668. TRUNC.U R5.z, R5.w;
  3669. AND.U.CC HC.x, R6, R5.z;
  3670. MOV.S R16.x, R5;
  3671. IF NE.x;
  3672. ELSE;
  3673. MOV.F R3.z, {0, 0, 0, 0}.x;
  3674. ENDIF;
  3675. MOV.F R5.w, R11.x;
  3676. MOV.F R5.z, R22;
  3677. MUL.F32 R5.x, R5.z, R5.w;
  3678. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3679. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3680. TRUNC.U R5.w, R5;
  3681. TRUNC.U R5.z, R5;
  3682. AND.U.CC HC.x, R5.z, R5.w;
  3683. MOV.S R16.w, R3.z;
  3684. IF NE.x;
  3685. MOV.F R3.z, R5.x;
  3686. ELSE;
  3687. MOV.F R3.z, {0, 0, 0, 0}.x;
  3688. ENDIF;
  3689. MOV.F R5.z, R3.x;
  3690. MOV.F R5.x, R16;
  3691. ADD.F32 R5.x, R5, R5.z;
  3692. MOV.S R13.x, R5;
  3693. MOV.F R5.x, R5.y;
  3694. MOV.F R5.z, R16.w;
  3695. ADD.F32 R5.x, R5, R5.z;
  3696. MOV.F R5.y, c[10].w;
  3697. MOV.S R15.y, R5.x;
  3698. MAX.F R5.x, R5.y, {0, 0, 0, 0};
  3699. LG2.F32 R5.x, R5.x;
  3700. MOV.F R5.y, R22.z;
  3701. ADD.F32 R3.z, R5.y, R3;
  3702. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  3703. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  3704. SEQ.F R5.z, R5.x, R5;
  3705. TRUNC.U R5.w, R5;
  3706. TRUNC.U R5.z, R5;
  3707. AND.U R5.z, R5, R5.w;
  3708. SEQ.U R5.y, R5.z, {1, 0, 0, 0}.x;
  3709. MOV.U.CC RC.x, -R5.y;
  3710. MOV.S R11.w, R3.z;
  3711. IF NE.x;
  3712. MOV.F R5.x, {-3.40282347e+038, 0, 0, 0};
  3713. ENDIF;
  3714. MOV.F R5.z, c[13].x;
  3715. MUL.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  3716. MOV.F R5.y, R12.z;
  3717. MOV.F R3.z, R11.w;
  3718. ADD.F32 R3.z, R3, R5.y;
  3719. MOV.F R5.y, c[13];
  3720. MUL.F32 R5.y, R5, {0.5, 0, 0, 0}.x;
  3721. MOV.S R16.x, R5.y;
  3722. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  3723. MOV.F R5.w, R18;
  3724. MOV.S R13.y, R3.z;
  3725. MUL.F32 R3.z, R5.w, R5.x;
  3726. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  3727. TRUNC.U R5.y, R5;
  3728. TRUNC.U R5.x, R5;
  3729. AND.U.CC HC.x, R5, R5.y;
  3730. MOV.S R16.z, R5;
  3731. IF NE.x;
  3732. ELSE;
  3733. MOV.F R3.z, {0, 0, 0, 0}.x;
  3734. ENDIF;
  3735. MOV.F R5.x, R14.w;
  3736. RCP.F32 R5.y, R5.x;
  3737. MOV.S R12.z, R5.y;
  3738. EX2.F32 R3.z, R3.z;
  3739. MOV.F R6.x, R16;
  3740. MOV.F R5.w, R19.y;
  3741. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  3742. MOV.F R6.y, R18.x;
  3743. ADD.F32 R5.x, R5.w, R6;
  3744. MOV.F R5.z, R16;
  3745. MOV.F R5.y, R19.x;
  3746. ADD.F32 R5.y, R5, R5.z;
  3747. MOV.S R11.x, R5.y;
  3748. SNE.F32 R5.y, R6, {0, 0, 0, 0}.x;
  3749. SNE.F32 R5.z, R5.w, -R6.x;
  3750. TRUNC.U R5.y, R5;
  3751. TRUNC.U R5.z, R5;
  3752. AND.U.CC HC.x, R5.y, R5.z;
  3753. MUL.F32 R5.x, R6.y, R5;
  3754. MOV.S R11.w, R18.y;
  3755. MOV.S R16.x, R3.z;
  3756. IF NE.x;
  3757. MOV.F R3.z, R5.x;
  3758. ELSE;
  3759. MOV.F R3.z, {0, 0, 0, 0}.x;
  3760. ENDIF;
  3761. MOV.F R5.x, R11;
  3762. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  3763. MOV.F R5.y, R11.w;
  3764. MUL.F32 R5.x, R5.y, R5;
  3765. TRUNC.U R5.z, R5;
  3766. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3767. MOV.S R18.y, R3.z;
  3768. TRUNC.U R3.z, R5.y;
  3769. AND.U.CC HC.x, R3.z, R5.z;
  3770. IF NE.x;
  3771. MOV.F R3.z, R5.x;
  3772. ELSE;
  3773. MOV.F R3.z, {0, 0, 0, 0}.x;
  3774. ENDIF;
  3775. MOV.S R22.z, R3;
  3776. MOV.F R5.y, R12.z;
  3777. MOV.F R5.x, R16;
  3778. MUL.F32 R5.x, R5, R5.y;
  3779. MOV.S R11.y, R5.x;
  3780. SEQ.S R5.x, R3.w, {0, 0, 0, 0};
  3781. MOV.F R3.z, {1, 0, 0, 0}.x;
  3782. MOV.U.CC RC.x, -R5;
  3783. MOV.S R3.w, R3.z;
  3784. IF NE.x;
  3785. MOV.S R3.z, R11.y;
  3786. ELSE;
  3787. MOV.S R3.z, R18.w;
  3788. ENDIF;
  3789. MOV.F R5.z, R3;
  3790. MOV.F R5.y, R15;
  3791. MUL.F32 R5.x, R5.y, R5.z;
  3792. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3793. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3794. TRUNC.U R5.z, R5;
  3795. TRUNC.U R5.y, R5;
  3796. AND.U.CC HC.x, R5.y, R5.z;
  3797. IF NE.x;
  3798. ELSE;
  3799. MOV.F R5.x, {0, 0, 0, 0};
  3800. ENDIF;
  3801. MOV.F R5.w, R3.z;
  3802. MOV.F R5.z, R15;
  3803. MUL.F32 R5.y, R5.z, R5.w;
  3804. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3805. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  3806. TRUNC.U R5.z, R5;
  3807. TRUNC.U R5.w, R5;
  3808. AND.U.CC HC.x, R5.z, R5.w;
  3809. MOV.S R11.y, R5.x;
  3810. IF NE.x;
  3811. MOV.F R5.x, R5.y;
  3812. ELSE;
  3813. MOV.F R5.x, {0, 0, 0, 0};
  3814. ENDIF;
  3815. MOV.F R5.z, R3;
  3816. MOV.F R5.y, R12.w;
  3817. MUL.F32 R3.z, R5.y, R5;
  3818. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3819. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3820. TRUNC.U R5.y, R5;
  3821. TRUNC.U R5.z, R5;
  3822. AND.U.CC HC.x, R5.y, R5.z;
  3823. MOV.S R11.z, R5.x;
  3824. IF NE.x;
  3825. ELSE;
  3826. MOV.F R3.z, {0, 0, 0, 0}.x;
  3827. ENDIF;
  3828. MOV.F R5.y, R11;
  3829. MOV.F R5.x, R13.y;
  3830. ADD.F32 R5.x, R5, R5.y;
  3831. MAD.F32 R5.z, R5.x, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  3832. MOV.F R5.y, R11.z;
  3833. MOV.F R5.x, R13;
  3834. ADD.F32 R5.x, R5, R5.y;
  3835. FRC.F R5.y, R5.z;
  3836. MAD.F32 R5.x, R5, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  3837. MAD.F32 R5.y, R5, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  3838. MUL.F32 R5.y, R5, {0.159154937, 0, 0, 0}.x;
  3839. FRC.F R5.x, R5;
  3840. MAD.F32 R5.x, R5, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  3841. MOV.S R13.y, R5;
  3842. MUL.F32 R5.y, R5.x, {0.159154937, 0, 0, 0}.x;
  3843. MOV.F R5.x, R14.y;
  3844. ADD.F32 R3.z, R5.x, R3;
  3845. MUL.F32 R5.x, R5.y, {6.28318548, 0, 0, 0};
  3846. MAD.F32 R3.z, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  3847. FRC.F R3.z, R3;
  3848. SIN.F32 R5.x, R5.x;
  3849. MOV.S R13.x, R5.y;
  3850. MOV.S R5.y, R5.x;
  3851. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  3852. MUL.F32 R5.x, R3.z, {0.159154937, 0, 0, 0};
  3853. MUL.F32 R3.z, R5.x, {6.28318548, 0, 0, 0}.x;
  3854. MOV.S R5.x, R5;
  3855. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  3856. SIN.F32 R5.x, R5.x;
  3857. MOV.F R5.z, R5.y;
  3858. MOV.S R12.w, R5.y;
  3859. COS.F32 R5.y, R3.z;
  3860. MUL.F32 R3.z, R5.y, R5;
  3861. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3862. MOV.S R15.x, R5.y;
  3863. TRUNC.U R5.z, R5;
  3864. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3865. MOV.S R15.y, R5.x;
  3866. TRUNC.U R5.x, R5.y;
  3867. AND.U.CC HC.x, R5, R5.z;
  3868. MOV.S R8.z, {1065353216, 0, 0, 0}.x;
  3869. IF NE.x;
  3870. ELSE;
  3871. MOV.F R3.z, {0, 0, 0, 0}.x;
  3872. ENDIF;
  3873. MOV.F R5.z, R12.w;
  3874. MOV.F R5.y, R15;
  3875. MUL.F32 R5.x, R5.y, R5.z;
  3876. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3877. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3878. TRUNC.U R5.y, R5;
  3879. TRUNC.U R5.z, R5;
  3880. AND.U.CC HC.x, R5.y, R5.z;
  3881. MOV.S R13.z, R3;
  3882. IF NE.x;
  3883. MOV.F R3.z, R5.x;
  3884. ELSE;
  3885. MOV.F R3.z, {0, 0, 0, 0}.x;
  3886. ENDIF;
  3887. MOV.F R5.x, R13;
  3888. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  3889. COS.F32 R5.y, R5.x;
  3890. MOV.F R5.z, R15.x;
  3891. MUL.F32 R5.x, R5.y, R5.z;
  3892. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3893. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3894. MOV.S R15.z, R5.y;
  3895. TRUNC.U R5.y, R5.z;
  3896. TRUNC.U R5.z, R5.w;
  3897. AND.U.CC HC.x, R5.y, R5.z;
  3898. MOV.S R14.w, R3.z;
  3899. IF NE.x;
  3900. MOV.F R3.z, R5.x;
  3901. ELSE;
  3902. MOV.F R3.z, {0, 0, 0, 0}.x;
  3903. ENDIF;
  3904. MOV.F R5.z, R15;
  3905. MOV.F R5.y, R15;
  3906. MUL.F32 R5.x, R5.y, R5.z;
  3907. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3908. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3909. TRUNC.U R5.y, R5;
  3910. TRUNC.U R5.z, R5;
  3911. AND.U.CC HC.x, R5.y, R5.z;
  3912. MOV.S R12.x, R3.z;
  3913. IF NE.x;
  3914. MOV.F R3.z, R5.x;
  3915. ELSE;
  3916. MOV.F R3.z, {0, 0, 0, 0}.x;
  3917. ENDIF;
  3918. MOV.F R5.x, R13.y;
  3919. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  3920. SIN.F32 R5.y, R5.x;
  3921. SNE.F32 R5.z, R3, {0, 0, 0, 0}.x;
  3922. MOV.S R12.y, R5;
  3923. MUL.F32 R5.x, R3.z, R5.y;
  3924. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3925. TRUNC.U R5.y, R5;
  3926. TRUNC.U R5.z, R5;
  3927. AND.U.CC HC.x, R5.y, R5.z;
  3928. MOV.S R11.w, R13.y;
  3929. MOV.S R14.y, R3.z;
  3930. IF NE.x;
  3931. MOV.F R3.z, R5.x;
  3932. ELSE;
  3933. MOV.F R3.z, {0, 0, 0, 0}.x;
  3934. ENDIF;
  3935. MOV.F R5.y, R12;
  3936. MOV.F R5.z, -R5.y;
  3937. MOV.F R5.w, R12.x;
  3938. MUL.F32 R5.x, R5.y, R5.w;
  3939. MOV.S R13.y, R5.z;
  3940. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3941. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  3942. TRUNC.U R5.y, R5;
  3943. TRUNC.U R5.z, R5;
  3944. AND.U.CC HC.x, R5.y, R5.z;
  3945. MOV.S R16.x, R3.z;
  3946. IF NE.x;
  3947. MOV.F R3.z, R5.x;
  3948. ELSE;
  3949. MOV.F R3.z, {0, 0, 0, 0}.x;
  3950. ENDIF;
  3951. MOV.F R5.z, R13;
  3952. MOV.F R5.y, R12;
  3953. MUL.F32 R5.x, R5.y, R5.z;
  3954. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  3955. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3956. TRUNC.U R5.y, R5;
  3957. TRUNC.U R5.z, R5;
  3958. AND.U.CC HC.x, R5.y, R5.z;
  3959. MOV.S R16.z, R3;
  3960. IF NE.x;
  3961. ELSE;
  3962. MOV.F R5.x, {0, 0, 0, 0};
  3963. ENDIF;
  3964. MOV.F R5.y, R11.w;
  3965. MOV.F R3.z, R13;
  3966. MOV.F R5.z, R16.x;
  3967. ADD.F32 R5.w, -R3.z, R5.z;
  3968. MOV.F R5.z, R16;
  3969. MOV.F R3.z, R14.w;
  3970. ADD.F32 R3.z, R3, R5;
  3971. MOV.F R5.z, R14.y;
  3972. ADD.F32 R5.x, -R5.z, R5;
  3973. MOV.S R11.w, R15.x;
  3974. MOV.S R15.x, R3.z;
  3975. MOV.S R11.y, R5.x;
  3976. MUL.F32 R5.x, R5.y, {6.28318548, 0, 0, 0};
  3977. COS.F32 R5.y, R5.x;
  3978. MOV.F R5.z, R15;
  3979. MOV.S R3.z, R5.w;
  3980. MUL.F32 R5.x, R5.y, R5.z;
  3981. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3982. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3983. TRUNC.U R5.z, R5;
  3984. TRUNC.U R5.w, R5;
  3985. AND.U.CC HC.x, R5.z, R5.w;
  3986. MOV.S R13.x, R5.y;
  3987. IF NE.x;
  3988. ELSE;
  3989. MOV.F R5.x, {0, 0, 0, 0};
  3990. ENDIF;
  3991. MOV.F R5.y, R13.x;
  3992. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  3993. MOV.F R5.z, R11.w;
  3994. TRUNC.U R6.x, R5.w;
  3995. MUL.F32 R5.y, R5.z, R5;
  3996. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  3997. MOV.S R5.w, R5.x;
  3998. TRUNC.U R5.x, R5.z;
  3999. AND.U.CC HC.x, R5, R6;
  4000. IF NE.x;
  4001. MOV.F R5.x, R5.y;
  4002. ELSE;
  4003. MOV.F R5.x, {0, 0, 0, 0};
  4004. ENDIF;
  4005. MOV.F R6.x, R13;
  4006. MOV.F R5.z, R15.y;
  4007. MUL.F32 R5.y, R5.z, R6.x;
  4008. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4009. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4010. TRUNC.U R5.z, R5;
  4011. TRUNC.U R6.x, R6;
  4012. AND.U.CC HC.x, R5.z, R6;
  4013. MOV.S R14.y, R5.x;
  4014. IF NE.x;
  4015. MOV.F R5.x, R5.y;
  4016. ELSE;
  4017. MOV.F R5.x, {0, 0, 0, 0};
  4018. ENDIF;
  4019. MOV.F R6.x, R14.w;
  4020. MOV.F R5.z, R12.y;
  4021. MUL.F32 R5.y, R5.z, R6.x;
  4022. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4023. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4024. TRUNC.U R5.z, R5;
  4025. TRUNC.U R6.x, R6;
  4026. AND.U.CC HC.x, R5.z, R6;
  4027. MOV.S R18.x, R5;
  4028. IF NE.x;
  4029. MOV.F R5.x, R5.y;
  4030. ELSE;
  4031. MOV.F R5.x, {0, 0, 0, 0};
  4032. ENDIF;
  4033. MOV.F R6.x, R8;
  4034. MOV.F R5.z, R11.y;
  4035. MUL.F32 R5.y, R5.z, R6.x;
  4036. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4037. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4038. TRUNC.U R5.z, R5;
  4039. TRUNC.U R6.x, R6;
  4040. AND.U.CC HC.x, R5.z, R6;
  4041. MOV.S R16.y, R5.x;
  4042. IF NE.x;
  4043. MOV.F R5.x, R5.y;
  4044. ELSE;
  4045. MOV.F R5.x, {0, 0, 0, 0};
  4046. ENDIF;
  4047. MOV.F R6.x, R13;
  4048. MOV.F R5.z, R12.w;
  4049. MUL.F32 R5.y, R5.z, R6.x;
  4050. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4051. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4052. TRUNC.U R5.z, R5;
  4053. TRUNC.U R6.x, R6;
  4054. AND.U.CC HC.x, R5.z, R6;
  4055. MOV.S R16.z, R5.x;
  4056. IF NE.x;
  4057. MOV.F R5.x, R5.y;
  4058. ELSE;
  4059. MOV.F R5.x, {0, 0, 0, 0};
  4060. ENDIF;
  4061. MOV.F R6.x, R14.y;
  4062. MOV.F R5.z, R18.y;
  4063. MUL.F32 R5.y, R5.z, R6.x;
  4064. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4065. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4066. TRUNC.U R5.z, R5;
  4067. TRUNC.U R6.x, R6;
  4068. AND.U.CC HC.x, R5.z, R6;
  4069. MOV.S R16.w, R5.x;
  4070. IF NE.x;
  4071. MOV.F R5.x, R5.y;
  4072. ELSE;
  4073. MOV.F R5.x, {0, 0, 0, 0};
  4074. ENDIF;
  4075. MOV.F R5.y, R16.z;
  4076. ADD.F32 R5.y, R5.x, R5;
  4077. MOV.F R6.x, R8;
  4078. MOV.F R5.z, R16.w;
  4079. MUL.F32 R5.x, R5.z, R6;
  4080. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4081. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  4082. TRUNC.U R6.x, R6;
  4083. TRUNC.U R5.z, R5;
  4084. AND.U.CC HC.x, R5.z, R6;
  4085. MOV.S R5.y, R5;
  4086. IF NE.x;
  4087. ELSE;
  4088. MOV.F R5.x, {0, 0, 0, 0};
  4089. ENDIF;
  4090. MOV.F R6.y, R16;
  4091. MOV.F R6.x, R12;
  4092. ADD.F32 R5.z, R6.x, R6.y;
  4093. SNE.F32 R6.x, R6, -R6.y;
  4094. MOV.F R6.z, R8.x;
  4095. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  4096. TRUNC.U R6.x, R6;
  4097. TRUNC.U R6.y, R6;
  4098. AND.U.CC HC.x, R6, R6.y;
  4099. MUL.F32 R5.z, R5, R6;
  4100. MOV.S R11.z, R5.x;
  4101. IF NE.x;
  4102. MOV.F R5.x, R5.z;
  4103. ELSE;
  4104. MOV.F R5.x, {0, 0, 0, 0};
  4105. ENDIF;
  4106. MOV.F R6.y, R15.x;
  4107. MOV.F R6.x, R22.z;
  4108. MUL.F32 R5.z, R6.x, R6.y;
  4109. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  4110. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4111. TRUNC.U R6.y, R6;
  4112. TRUNC.U R6.x, R6;
  4113. AND.U.CC HC.x, R6, R6.y;
  4114. MOV.S R8.x, R5;
  4115. IF NE.x;
  4116. MOV.F R5.x, R5.z;
  4117. ELSE;
  4118. MOV.F R5.x, {0, 0, 0, 0};
  4119. ENDIF;
  4120. ADD.F32 R5.y, R5.x, R5;
  4121. MOV.F R5.z, R18.y;
  4122. MOV.F R6.x, R13.y;
  4123. MUL.F32 R5.x, R5.z, R6;
  4124. MOV.S R19.y, R5;
  4125. SNE.F32 R5.y, R5.z, {0, 0, 0, 0}.x;
  4126. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  4127. TRUNC.U R5.z, R6.x;
  4128. TRUNC.U R5.y, R5;
  4129. AND.U.CC HC.x, R5.y, R5.z;
  4130. IF NE.x;
  4131. ELSE;
  4132. MOV.F R5.x, {0, 0, 0, 0};
  4133. ENDIF;
  4134. MOV.F R5.y, R11.z;
  4135. ADD.F32 R5.x, R5, R5.y;
  4136. MOV.S R19.z, R5.x;
  4137. MOV.F R5.x, R21;
  4138. SGT.F32 R5.x, R5, {0.5, 0, 0, 0};
  4139. TRUNC.U.CC HC.x, R5;
  4140. AND.S R8.w, c[12].x, {524288, 0, 0, 0}.x;
  4141. IF NE.x;
  4142. MOV.S R5.x, {-1, 0, 0, 0};
  4143. ELSE;
  4144. MOV.S R5.x, {0, 0, 0, 0};
  4145. ENDIF;
  4146. MOV.S R7.w, R5.x;
  4147. ENDIF;
  4148. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  4149. MOV.U.CC RC.x, -R5;
  4150. IF NE.x;
  4151. MOV.F R2.z, R5.w;
  4152. MOV.F R2.y, R22.z;
  4153. MUL.F32 R2.x, R2.y, R2.z;
  4154. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4155. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4156. TRUNC.U R2.z, R2;
  4157. TRUNC.U R2.y, R2;
  4158. AND.U.CC HC.x, R2.y, R2.z;
  4159. IF NE.x;
  4160. ELSE;
  4161. MOV.F R2.x, {0, 0, 0, 0};
  4162. ENDIF;
  4163. MOV.F R2.y, R18;
  4164. SNE.F32 R2.z, R2.y, {0, 0, 0, 0}.x;
  4165. MOV.F R2.w, R18.x;
  4166. TRUNC.U R3.x, R2.z;
  4167. MOV.F R2.z, R19;
  4168. ADD.F32 R2.x, R2, R2.z;
  4169. MUL.F32 R2.y, R2, R2.w;
  4170. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4171. TRUNC.U R2.z, R2.w;
  4172. AND.U.CC HC.x, R3, R2.z;
  4173. MOV.S R12.x, R2;
  4174. IF NE.x;
  4175. MOV.F R2.x, R2.y;
  4176. ELSE;
  4177. MOV.F R2.x, {0, 0, 0, 0};
  4178. ENDIF;
  4179. MOV.F R2.y, R8.x;
  4180. ADD.F32 R2.x, R2, R2.y;
  4181. MOV.F R2.z, c[15].x;
  4182. MOV.F R2.y, c[14].x;
  4183. MOV.S R5.w, R2.x;
  4184. MUL.F32 R2.x, R2.y, R2.z;
  4185. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4186. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4187. TRUNC.U R2.z, R2;
  4188. TRUNC.U R2.y, R2;
  4189. AND.U.CC HC.x, R2.y, R2.z;
  4190. IF NE.x;
  4191. ELSE;
  4192. MOV.F R2.x, {0, 0, 0, 0};
  4193. ENDIF;
  4194. MOV.F R2.z, c[14].y;
  4195. MOV.F R2.w, c[15].y;
  4196. MUL.F32 R2.y, R2.z, R2.w;
  4197. MOV.S R3.x, R2;
  4198. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  4199. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4200. TRUNC.U R2.z, R2.w;
  4201. TRUNC.U R2.x, R2;
  4202. AND.U.CC HC.x, R2, R2.z;
  4203. IF NE.x;
  4204. MOV.F R2.x, R2.y;
  4205. ELSE;
  4206. MOV.F R2.x, {0, 0, 0, 0};
  4207. ENDIF;
  4208. MOV.F R2.w, R3.z;
  4209. MOV.F R2.z, R22;
  4210. MUL.F32 R2.y, R2.z, R2.w;
  4211. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  4212. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4213. TRUNC.U R2.w, R2;
  4214. TRUNC.U R2.z, R2;
  4215. AND.U.CC HC.x, R2.z, R2.w;
  4216. MOV.S R3.y, R2.x;
  4217. IF NE.x;
  4218. MOV.F R2.x, R2.y;
  4219. ELSE;
  4220. MOV.F R2.x, {0, 0, 0, 0};
  4221. ENDIF;
  4222. MOV.F R2.y, R5.w;
  4223. ADD.F32 R2.x, R2, R2.y;
  4224. SEQ.S R2.y, R8.w, {524288, 0, 0, 0}.x;
  4225. MOV.U.CC RC.x, -R2.y;
  4226. MOV.S R13.z, R2.x;
  4227. IF NE.x;
  4228. MOV.S R6.x, {-1, 0, 0, 0};
  4229. ELSE;
  4230. MOV.S R6.x, {0, 0, 0, 0};
  4231. ENDIF;
  4232. MOV.F R2.xyz, R9;
  4233. MOV.F R2.w, R6;
  4234. MOV.F R5.x, R12;
  4235. MOV.F R5.z, R13;
  4236. MOV.F R5.w, R3;
  4237. MOV.F R5.y, R19;
  4238. DP4.F32 R2.x, R2, R5;
  4239. MOV.F R2.z, c[15];
  4240. MOV.F R2.y, c[14].z;
  4241. MOV.S R9.x, R2;
  4242. MUL.F32 R2.x, R2.y, R2.z;
  4243. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4244. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4245. TRUNC.U R2.z, R2;
  4246. TRUNC.U R2.y, R2;
  4247. AND.U.CC HC.x, R2.y, R2.z;
  4248. IF NE.x;
  4249. MOV.F R3.z, R2.x;
  4250. ELSE;
  4251. MOV.F R3.z, {0, 0, 0, 0}.x;
  4252. ENDIF;
  4253. MOV.F R5, R10;
  4254. MOV.F R2.z, R13;
  4255. MOV.F R2.y, R19;
  4256. MOV.F R2.x, R12;
  4257. MOV.F R2.w, R3;
  4258. DP4.F32 R2.x, R5, R2;
  4259. MOV.F R2.z, c[15].w;
  4260. MOV.F R2.y, c[16].x;
  4261. MOV.S R10.y, R2.x;
  4262. MUL.F32 R2.x, R2.y, R2.z;
  4263. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4264. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4265. TRUNC.U R2.z, R2;
  4266. TRUNC.U R2.y, R2;
  4267. AND.U.CC HC.x, R2.y, R2.z;
  4268. MOV.S R3.z, R3;
  4269. IF NE.x;
  4270. MOV.F R6.y, R2.x;
  4271. ELSE;
  4272. MOV.F R6.y, {0, 0, 0, 0}.x;
  4273. ENDIF;
  4274. MOV.F R2.xyz, R17;
  4275. MOV.F R2.w, R9;
  4276. MOV.F R5.x, R12;
  4277. MOV.F R5.z, R13;
  4278. MOV.F R5.w, R3;
  4279. MOV.F R5.y, R19;
  4280. DP4.F32 R2.x, R2, R5;
  4281. MOV.F R2.z, c[17].x;
  4282. MOV.F R2.y, R3.x;
  4283. MOV.S R17.z, R2.x;
  4284. MUL.F32 R2.x, R2.y, R2.z;
  4285. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  4286. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  4287. TRUNC.U R2.y, R2;
  4288. TRUNC.U R2.z, R2;
  4289. AND.U.CC HC.x, R2.y, R2.z;
  4290. MOV.S R2.w, R6.y;
  4291. IF NE.x;
  4292. ELSE;
  4293. MOV.F R2.x, {0, 0, 0, 0};
  4294. ENDIF;
  4295. MOV.F R2.z, R3.y;
  4296. MOV.F R3.x, c[17];
  4297. SNE.F32 R5.x, R2.z, {0, 0, 0, 0};
  4298. MUL.F32 R2.y, R2.z, R3.x;
  4299. MOV.F R2.z, R23.x;
  4300. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  4301. SNE.F32 R5.y, R3.x, {0, 0, 0, 0}.x;
  4302. MOV.S R3.x, R2.z;
  4303. TRUNC.U R5.x, R5;
  4304. TRUNC.U R2.z, R5.y;
  4305. AND.U.CC HC.x, R5, R2.z;
  4306. MOV.S R2.x, R2;
  4307. IF NE.x;
  4308. ELSE;
  4309. MOV.F R2.y, {0, 0, 0, 0}.x;
  4310. ENDIF;
  4311. MOV.F R5.y, c[17].x;
  4312. MOV.F R5.x, R3.z;
  4313. MUL.F32 R2.z, R5.x, R5.y;
  4314. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  4315. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  4316. TRUNC.U R5.x, R5;
  4317. TRUNC.U R5.y, R5;
  4318. AND.U.CC HC.x, R5, R5.y;
  4319. MOV.S R2.y, R2;
  4320. IF NE.x;
  4321. ELSE;
  4322. MOV.F R2.z, {0, 0, 0, 0}.x;
  4323. ENDIF;
  4324. SEQ.S R5.x, R7.w, {0, 0, 0, 0};
  4325. MOV.U.CC RC.x, -R5;
  4326. MOV.S R2.z, R2;
  4327. IF NE.x;
  4328. MOV.S R5.x, R23.y;
  4329. ELSE;
  4330. MOV.S R5.x, R23.y;
  4331. ENDIF;
  4332. MOV.F R5.y, c[18].z;
  4333. RCP.F32 R5.y, R5.y;
  4334. SEQ.S R5.z, R7.w, {0, 0, 0, 0}.x;
  4335. MOV.U.CC RC.x, -R5.z;
  4336. MOV.S R17.x, R5.y;
  4337. IF NE.x;
  4338. MOV.S R5.y, R23.x;
  4339. ELSE;
  4340. MOV.S R5.y, R3.x;
  4341. ENDIF;
  4342. MOV.F R5.z, R21.y;
  4343. SGT.F32 R5.z, R5, {0.5, 0, 0, 0}.x;
  4344. TRUNC.U.CC HC.x, R5.z;
  4345. IF NE.x;
  4346. MOV.S R5.z, {-1, 0, 0, 0}.x;
  4347. ELSE;
  4348. MOV.S R5.z, {0, 0, 0, 0}.x;
  4349. ENDIF;
  4350. SEQ.S R5.w, R6.x, {0, 0, 0, 0}.x;
  4351. MOV.U.CC RC.x, -R5.w;
  4352. IF NE.x;
  4353. MOV.S R5.x, R23.y;
  4354. ELSE;
  4355. ENDIF;
  4356. MOV.F R5.w, c[18];
  4357. RCP.F32 R5.w, R5.w;
  4358. SEQ.S R6.x, R6, {0, 0, 0, 0};
  4359. MOV.U.CC RC.x, -R6;
  4360. MOV.S R7.w, R5.x;
  4361. MOV.S R10.z, R5.w;
  4362. IF NE.x;
  4363. MOV.S R5.y, R23.x;
  4364. ELSE;
  4365. ENDIF;
  4366. MOV.F R5.w, R5.x;
  4367. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  4368. SEQ.S R6.x, R5.z, {0, 0, 0, 0};
  4369. MOV.U.CC RC.x, -R6;
  4370. MOV.S R23.y, R5;
  4371. MOV.S R16.w, R5;
  4372. IF NE.x;
  4373. ELSE;
  4374. ENDIF;
  4375. SEQ.S R5.z, R5, {0, 0, 0, 0}.x;
  4376. MOV.U.CC RC.x, -R5.z;
  4377. MOV.S R21.x, R5.y;
  4378. IF NE.x;
  4379. ELSE;
  4380. MOV.S R5.x, R16.w;
  4381. ENDIF;
  4382. MOV.S R21.z, R5.x;
  4383. MOV.S R23.x, c[9];
  4384. ENDIF;
  4385. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  4386. MOV.U.CC RC.x, -R5;
  4387. IF NE.x;
  4388. MOV.F R1.w, R8.z;
  4389. MOV.F R1.x, R9;
  4390. MOV.F R1.y, R10;
  4391. MOV.F R1.z, R17;
  4392. MOV.F R0, c[22];
  4393. DP4.F32 R5.x, R1, R0;
  4394. MOV.F R0, c[23];
  4395. DP4.F32 R3.w, R1, R0;
  4396. MOV.F R6, c[24];
  4397. DP4.F32 R0.y, R1, R6;
  4398. MOV.F R0.x, c[13].z;
  4399. ADD.F32 R0.x, R0, R0.y;
  4400. MOV.S R7.y, R0.x;
  4401. MOV.F R0, c[25];
  4402. DP4.F32 R7.x, R1, R0;
  4403. MOV.F R0, c[21];
  4404. DP4.F32 R0.z, R0, R1;
  4405. MOV.S R0.w, R0.z;
  4406. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  4407. MOV.F R8, c[20];
  4408. DP4.F32 R0.y, R8, R1;
  4409. MOV.S R14.w, R0.z;
  4410. AND.S R0.z, c[12].x, {1048576, 0, 0, 0}.x;
  4411. SEQ.S R0.z, R0, {1048576, 0, 0, 0}.x;
  4412. MOV.U.CC RC.x, -R0.z;
  4413. MOV.F R5.y, R3.w;
  4414. MOV.S R14.y, R3.w;
  4415. MOV.F R6, c[26];
  4416. MOV.S R5.z, R7.y;
  4417. MOV.F R5.w, R7.x;
  4418. DP4.F32 R5.y, R5, R6;
  4419. MOV.F R6, c[19];
  4420. DP4.F32 R0.x, R1, R6;
  4421. MOV.S R15.z, R5.y;
  4422. MOV.S R0.y, R0;
  4423. MOV.S R0.x, R0;
  4424. MOV.S R15.x, R5;
  4425. MOV.S R12.w, R7.x;
  4426. MOV.S R13.z, R7.y;
  4427. MOV.S R3.w, R18.z;
  4428. MOV.S R24.x, R23;
  4429. IF NE.x;
  4430. MOV.S R0.z, {-1, 0, 0, 0}.x;
  4431. ELSE;
  4432. MOV.S R0.z, {0, 0, 0, 0}.x;
  4433. ENDIF;
  4434. SEQ.S R1.x, R0.z, {0, 0, 0, 0};
  4435. MOV.U.CC RC.x, -R1;
  4436. IF NE.x;
  4437. MOV.S R1.x, R23.y;
  4438. ELSE;
  4439. MOV.S R1.x, R21;
  4440. ENDIF;
  4441. SEQ.S R0.z, R0, {0, 0, 0, 0}.x;
  4442. MOV.U.CC RC.x, -R0.z;
  4443. MOV.S R23.y, R1.x;
  4444. IF NE.x;
  4445. MOV.S R0.z, R7.w;
  4446. ELSE;
  4447. MOV.S R0.z, R21;
  4448. ENDIF;
  4449. MOV.F R1.x, R15;
  4450. MOV.F R1.z, R13;
  4451. MOV.F R1.y, R14;
  4452. MOV.F R5, c[27];
  4453. MOV.F R1.w, R12;
  4454. DP4.F32 R1.y, R1, R5;
  4455. MOV.F R1.x, R15.z;
  4456. DIV.F32 R1.z, R1.x, R1.y;
  4457. MOV.F R1.y, R0.w;
  4458. MUL.F32 R1.x, R1.y, R1.z;
  4459. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  4460. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  4461. TRUNC.U R1.z, R1;
  4462. TRUNC.U R1.y, R1;
  4463. AND.U.CC HC.x, R1.y, R1.z;
  4464. MOV.S R7.w, R0.z;
  4465. IF NE.x;
  4466. MOV.F R0.z,
  4467. [19:43:20] Link error in shader. Log:
  4468. [19:43:20] Vertex info
  4469. -----------
  4470. Internal error: assembly compile error for vertex shader at offset 1782:
  4471. -- error message --
  4472. line 37, column 45: error: invalid vertex attribute reference
  4473. line 52, column 25: error: invalid vertex attribute reference
  4474. line 54, column 25: error: invalid vertex attribute reference
  4475. line 56, column 25: error: invalid vertex attribute reference
  4476. line 59, column 25: error: invalid vertex attribute reference
  4477. -- internal assembly text --
  4478. !!NVvp5.0
  4479. OPTION NV_bindless_texture;
  4480. # cgc version 3.4.0001, build date Aug 25 2016
  4481. # command line args:
  4482. #vendor NVIDIA Corporation
  4483. #version 3.4.0.1 COP Build Date Aug 25 2016
  4484. #profile gp5vp
  4485. #program main
  4486. #semantic uf_remappedVS
  4487. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  4488. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  4489. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  4490. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  4491. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  4492. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  4493. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  4494. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  4495. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  4496. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  4497. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  4498. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  4499. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  4500. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  4501. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  4502. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  4503. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  4504. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  4505. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  4506. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  4507. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  4508. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  4509. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  4510. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  4511. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  4512. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  4513. PARAM c[34] = { program.local[0..33] };
  4514. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  4515. OUTPUT result_attrib[] = { result.attrib[0..4] };
  4516. 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;
  4517. TEMP RC;
  4518. SHORT TEMP HC;
  4519. SHR.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  4520. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4521. SHR.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  4522. MOV.F R14.w, {1, 0, 0, 0}.x;
  4523. OR.U R0, R0, R1;
  4524. SHL.U R2, vertex.attrib[11], {8, 0, 0, 0}.x;
  4525. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4526. OR.U R0, R0, R1;
  4527. SHL.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  4528. OR.U R4, R0, R2;
  4529. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  4530. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4531. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  4532. OR.U R0, R0, R1;
  4533. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  4534. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4535. OR.U R0, R0, R1;
  4536. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  4537. OR.U R5, R0, R2;
  4538. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  4539. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4540. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  4541. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  4542. OR.U R1, R1, R2;
  4543. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  4544. OR.U R0, R1, R0;
  4545. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  4546. OR.U R6, R0, R2;
  4547. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  4548. AND.U R2, R1, {65280, 0, 0, 0}.x;
  4549. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  4550. OR.U R1, R1, R2;
  4551. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  4552. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  4553. OR.U R1, R1, R2;
  4554. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  4555. OR.U R8, R1, R0;
  4556. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  4557. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4558. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  4559. OR.U R0, R0, R1;
  4560. SHL.U R2, vertex.attrib[6], {8, 0, 0, 0}.x;
  4561. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4562. OR.U R0, R0, R1;
  4563. SHL.U R2, vertex.attrib[6], {24, 0, 0, 0}.x;
  4564. OR.U R9, R0, R2;
  4565. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  4566. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4567. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  4568. OR.U R0, R0, R1;
  4569. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  4570. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4571. OR.U R0, R0, R1;
  4572. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  4573. OR.U R7, R0, R2;
  4574. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  4575. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4576. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  4577. OR.U R0, R0, R1;
  4578. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  4579. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4580. OR.U R0, R0, R1;
  4581. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  4582. OR.U R10, R0, R2;
  4583. MOV.U R0.x, R7.w;
  4584. MOV.F R0.y, c[0].x;
  4585. ADD.F32 R3.x, -R0, R0.y;
  4586. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  4587. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  4588. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4589. TRUNC.U R16.x, R3.y;
  4590. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  4591. MOV.S R21.w, R3.x;
  4592. OR.U R0, R0, R1;
  4593. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  4594. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4595. OR.U R0, R0, R1;
  4596. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  4597. OR.U R11, R0, R2;
  4598. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  4599. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4600. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  4601. OR.U R0, R0, R1;
  4602. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  4603. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4604. OR.U R0, R0, R1;
  4605. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  4606. OR.U R12, R0, R2;
  4607. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  4608. AND.U R1, R0, {65280, 0, 0, 0}.x;
  4609. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  4610. OR.U R0, R0, R1;
  4611. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  4612. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  4613. OR.U R0, R0, R1;
  4614. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  4615. OR.U R15, R0, R2;
  4616. SEQ.U R0.x, R16, {1, 0, 0, 0};
  4617. SEQ.U R16.y, -R0.x, {1, 0, 0, 0}.x;
  4618. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4619. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4620. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4621. MOV.U.CC RC.x, -R16.y;
  4622. OR.U R0.xyz, R0, R1;
  4623. SHL.U R2.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  4624. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4625. OR.U R0.xyz, R0, R1;
  4626. SHL.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  4627. OR.U R24.xyz, R0, R2;
  4628. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4629. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4630. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4631. OR.U R0.xyz, R0, R1;
  4632. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  4633. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4634. OR.U R0.xyz, R0, R1;
  4635. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  4636. OR.U R23.xyz, R0, R2;
  4637. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4638. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4639. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4640. OR.U R0.xyz, R0, R1;
  4641. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  4642. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4643. OR.U R0.xyz, R0, R1;
  4644. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  4645. OR.U R13.xyz, R0, R2;
  4646. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4647. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  4648. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4649. OR.U R0.xyz, R0, R1;
  4650. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  4651. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  4652. OR.U R0.xyz, R0, R1;
  4653. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  4654. OR.U R14.xyz, R0, R2;
  4655. MOV.S R0, {0, 0, 0, 0}.x;
  4656. MOV.S R1, {0, 0, 0, 0}.x;
  4657. MOV.S R2, {0, 0, 0, 0}.x;
  4658. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  4659. MOV.S R3.yz, {0, 0, 0, 0};
  4660. MOV.S R3.x, vertex.id;
  4661. MOV.S R3.w, vertex.instance.x;
  4662. MOV.S R13.w, {0, 0, 0, 0}.x;
  4663. MOV.S R14.w, R14;
  4664. IF NE.x;
  4665. MOV.F R3.x, c[1].y;
  4666. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  4667. MOV.S R15.w, R14;
  4668. MOV.S R3.xy, {0, 0, 0, 0};
  4669. MOV.S R3.z, R3;
  4670. MOV.S R7.x, {0, 0, 0, 0};
  4671. ENDIF;
  4672. SEQ.U R16.x, R16, {0, 0, 0, 0};
  4673. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4674. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4675. MOV.U.CC RC.x, -R16;
  4676. IF NE.x;
  4677. MOV.S R15.w, {0, 0, 0, 0}.x;
  4678. ENDIF;
  4679. SEQ.S R16.x, R15.w, {0, 0, 0, 0};
  4680. SEQ.U R16.y, -R16.x, {1, 0, 0, 0}.x;
  4681. SEQ.U R16.z, -R16.y, {1, 0, 0, 0}.x;
  4682. MOV.U.CC RC.x, -R16.z;
  4683. MOV.U R16.x, -R16;
  4684. MOV.U R16.y, -R16;
  4685. IF NE.x;
  4686. MOV.F R16.z, R6.w;
  4687. TRUNC.S R16.z, R16;
  4688. I2F.S R16.z, R16;
  4689. MOV.F R16.w, R21;
  4690. SGE.F32 R16.w, R16, R16.z;
  4691. MOV.S R24.z, R16;
  4692. TRUNC.U R16.z, R16.w;
  4693. SEQ.U R16.w, R16.y, {1, 0, 0, 0}.x;
  4694. SEQ.U R16.y, R16.z, {1, 0, 0, 0}.x;
  4695. AND.U R22.w, -R16.y, -R16;
  4696. ELSE;
  4697. MOV.U R22.w, {0, 0, 0, 0}.x;
  4698. ENDIF;
  4699. SEQ.U R16.y, R22.w, {1, 0, 0, 0}.x;
  4700. MOV.U.CC RC.x, -R16.y;
  4701. IF NE.x;
  4702. MOV.F R3.x, c[1].y;
  4703. MUL.F32 R3.z, R3.x, {5, 0, 0, 0}.x;
  4704. MOV.S R13.w, R14;
  4705. MOV.S R3.xy, {0, 0, 0, 0};
  4706. MOV.S R3.z, R3;
  4707. MOV.S R7.x, {0, 0, 0, 0};
  4708. ENDIF;
  4709. SEQ.U R16.x, R16, {1, 0, 0, 0};
  4710. SEQ.U R16.z, -R16.x, {1, 0, 0, 0}.x;
  4711. MOV.U.CC RC.x, -R16.z;
  4712. MOV.U R16.y, -R16.x;
  4713. IF NE.x;
  4714. SEQ.S R16.x, R13.w, {0, 0, 0, 0};
  4715. SEQ.U R16.y, R16, {1, 0, 0, 0}.x;
  4716. SEQ.U R16.x, -R16, {1, 0, 0, 0};
  4717. AND.U R22.w, -R16.x, -R16.y;
  4718. ELSE;
  4719. MOV.U R22.w, {0, 0, 0, 0}.x;
  4720. ENDIF;
  4721. SEQ.U R16.x, R22.w, {1, 0, 0, 0};
  4722. MOV.U.CC RC.x, -R16;
  4723. IF NE.x;
  4724. AND.S R0.x, c[2], {65536, 0, 0, 0};
  4725. I2F.S R0.z, R0.x;
  4726. SLT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4727. TRUNC.U.CC HC.x, R0.y;
  4728. MOV.F R0.x, {1, 0, 0, 0};
  4729. MOV.F R0.x(EQ), {0, 0, 0, 0};
  4730. MOV.S R19.x, R0;
  4731. MOV.F R0.y, R8;
  4732. MOV.F R0.w, R8.z;
  4733. ADD.F32 R3.x, R0.w, R0.y;
  4734. MOV.F R0.x, R8;
  4735. ADD.F32 R0.x, R0, R0.y;
  4736. MUL.F32 R0.x, R0, {0.5, 0, 0, 0};
  4737. MUL.F32 R3.x, R3, {0.5, 0, 0, 0};
  4738. MOV.S R20.y, R0.x;
  4739. MUL.F32 R0.x, R0.w, {2, 0, 0, 0};
  4740. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  4741. MOV.S R17.w, R0.x;
  4742. SGT.F32 R0.x, R0.z, {0, 0, 0, 0};
  4743. TRUNC.U.CC HC.x, R0;
  4744. MOV.S R20.z, R3.x;
  4745. MOV.S R21.x, R0.y;
  4746. AND.S R17.z, c[2].x, {131072, 0, 0, 0}.x;
  4747. AND.S R17.y, c[2].x, {262144, 0, 0, 0}.x;
  4748. IF NE.x;
  4749. MOV.F R0.x, {1, 0, 0, 0};
  4750. ELSE;
  4751. MOV.F R0.x, {0, 0, 0, 0};
  4752. ENDIF;
  4753. MOV.F R0.z, R8;
  4754. MOV.F R0.y, R8.x;
  4755. ADD.F32 R0.y, R0, R0.z;
  4756. I2F.S R0.z, R17;
  4757. MOV.S R16.z, R0.y;
  4758. MOV.F R0.y, R21.x;
  4759. FLR.F R0.y, R0;
  4760. MOV.S R16.w, R0.y;
  4761. SGT.F32 R0.y, R0.z, {0, 0, 0, 0}.x;
  4762. TRUNC.U.CC HC.x, R0.y;
  4763. MOV.S R7.y, R0.z;
  4764. MOV.S R19.y, R0.x;
  4765. IF NE.x;
  4766. MOV.F R0.y, {1, 0, 0, 0}.x;
  4767. ELSE;
  4768. MOV.F R0.y, {0, 0, 0, 0}.x;
  4769. ENDIF;
  4770. I2F.S R0.x, R17.y;
  4771. SLT.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  4772. TRUNC.U.CC HC.x, R0.w;
  4773. MOV.F R0.z, {1, 0, 0, 0}.x;
  4774. MOV.F R0.w, R7.y;
  4775. SLT.F32 R3.x, R0.w, {0, 0, 0, 0};
  4776. MOV.F R0.z(EQ.x), {0, 0, 0, 0}.x;
  4777. TRUNC.U.CC HC.x, R3;
  4778. MOV.F R0.w, {1, 0, 0, 0}.x;
  4779. MOV.F R0.w(EQ.x), {0, 0, 0, 0}.x;
  4780. MOV.F R3.x, R0.z;
  4781. MOV.F R0.z, R19.x;
  4782. ADD.F32 R0.y, R0, -R0.w;
  4783. MOV.S R19.z, R0.y;
  4784. MOV.F R0.y, R19;
  4785. ADD.F32 R0.y, R0, -R0.z;
  4786. MOV.F R0.z, R8.x;
  4787. MOV.S R21.y, R0;
  4788. MUL.F32 R0.z, R0, {2, 0, 0, 0}.x;
  4789. MOV.F R0.y, R17.w;
  4790. FLR.F R0.y, R0;
  4791. SGT.F32 R0.x, R0, {0, 0, 0, 0};
  4792. TRUNC.U.CC HC.x, R0;
  4793. MOV.S R19.x, R3;
  4794. MOV.S R18.y, R0.z;
  4795. MOV.S R18.z, R0.y;
  4796. IF NE.x;
  4797. MOV.F R0.x, {1, 0, 0, 0};
  4798. ELSE;
  4799. MOV.F R0.x, {0, 0, 0, 0};
  4800. ENDIF;
  4801. MOV.F R0.y, R19.x;
  4802. ADD.F32 R0.y, R0.x, -R0;
  4803. MOV.F R0.x, R21.y;
  4804. TRUNC.S R0.x, R0;
  4805. MOV.S R17.y, R0;
  4806. MOV.F R0.y, c[3].x;
  4807. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  4808. TRUNC.U.CC HC.x, R0.y;
  4809. MOV.S R17.z, R0.x;
  4810. ADD.S R21.x, -R0, {0, 0, 0, 0};
  4811. IF NE.x;
  4812. MOV.F R0.x, {1, 0, 0, 0};
  4813. ELSE;
  4814. MOV.F R0.x, {0, 0, 0, 0};
  4815. ENDIF;
  4816. MOV.F R0.y, c[3].x;
  4817. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  4818. TRUNC.U.CC HC.x, R0.z;
  4819. MOV.F R0.y, {1, 0, 0, 0}.x;
  4820. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  4821. MOV.S R17.w, R0.y;
  4822. MOV.F R0.z, R16;
  4823. MOV.F R0.y, R19.z;
  4824. TRUNC.S R0.y, R0;
  4825. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  4826. MAX.S R3.y, R17.z, R21.x;
  4827. MOV.S R17.z, R0;
  4828. MOV.F R0.z, c[4].y;
  4829. MOV.S R16.y, R0;
  4830. ADD.S R19.x, -R0.y, {0, 0, 0, 0};
  4831. MOV.F R0.y, R8.x;
  4832. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  4833. MUL.F32 R0.y, R0, R0.z;
  4834. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4835. TRUNC.U R0.w, R0;
  4836. TRUNC.U R0.z, R0;
  4837. AND.U.CC HC.x, R0.w, R0.z;
  4838. MOV.S R3.z, R0.x;
  4839. IF NE.x;
  4840. MOV.F R0.x, R0.y;
  4841. ELSE;
  4842. MOV.F R0.x, {0, 0, 0, 0};
  4843. ENDIF;
  4844. MOV.F R0.z, R16.w;
  4845. MOV.F R0.y, c[3].x;
  4846. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4847. RCP.F32 R0.y, R0.y;
  4848. TRUNC.U.CC HC.x, R0.z;
  4849. MOV.S R3.w, R17.y;
  4850. MOV.S R20.w, R0.x;
  4851. MOV.S R7.y, R0;
  4852. IF NE.x;
  4853. MOV.F R0.x, {1, 0, 0, 0};
  4854. ELSE;
  4855. MOV.F R0.x, {0, 0, 0, 0};
  4856. ENDIF;
  4857. MOV.F R0.y, R16.w;
  4858. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  4859. MOV.F R0.y, {1, 0, 0, 0}.x;
  4860. TRUNC.U.CC HC.x, R0.z;
  4861. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  4862. MOV.F R0.z, R0.y;
  4863. MOV.F R0.y, R3.w;
  4864. MOV.S R3.w, R20.y;
  4865. MOV.S R20.y, R0.z;
  4866. MOV.F R0.z, R20;
  4867. ADD.F32 R0.z, R0, {-0.5, 0, 0, 0}.x;
  4868. MUL.F32 R0.z, R0, {2, 0, 0, 0}.x;
  4869. MOV.S R16.z, R0;
  4870. TRUNC.S R17.x, R0.y;
  4871. MOV.F R0.w, R7.y;
  4872. MOV.F R0.z, R21.w;
  4873. MUL.F32 R0.z, R0, R0.w;
  4874. MOV.F R3.x, R18.z;
  4875. SGT.F32 R0.w, R3.x, {0, 0, 0, 0}.x;
  4876. TRUNC.U.CC HC.x, R0.w;
  4877. MAX.S R18.w, R16.y, R19.x;
  4878. MOV.S R17.y, R0.z;
  4879. MOV.S R20.x, R0;
  4880. ADD.S R16.x, -R17, {0, 0, 0, 0};
  4881. IF NE.x;
  4882. MOV.F R0.z, {1, 0, 0, 0}.x;
  4883. ELSE;
  4884. MOV.F R0.z, {0, 0, 0, 0}.x;
  4885. ENDIF;
  4886. MOV.F R0.x, c[5].w;
  4887. MAX.F R0.x, R0, {0, 0, 0, 0};
  4888. LG2.F32 R0.x, R0.x;
  4889. MUL.F32 R0.y, R0.x, {2, 0, 0, 0}.x;
  4890. SNE.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  4891. SEQ.F R0.y, R0.x, R0;
  4892. TRUNC.U R0.w, R0;
  4893. TRUNC.U R0.y, R0;
  4894. AND.U R0.y, R0, R0.w;
  4895. MOV.F R0.w, R3;
  4896. SEQ.U R0.y, R0, {1, 0, 0, 0}.x;
  4897. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  4898. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  4899. MOV.U.CC RC.x, -R0.y;
  4900. MOV.S R20.z, R0;
  4901. MOV.S R16.w, R0;
  4902. IF NE.x;
  4903. MOV.F R0.x, {-3.40282347e+038, 0, 0, 0};
  4904. ENDIF;
  4905. MOV.F R0.y, R18.z;
  4906. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  4907. TRUNC.U.CC HC.x, R0.z;
  4908. MOV.F R0.y, {1, 0, 0, 0}.x;
  4909. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  4910. MOV.S R21.x, R0.y;
  4911. MOV.F R0.z, R17.w;
  4912. MOV.F R0.y, R3.z;
  4913. ADD.F32 R0.y, R0, -R0.z;
  4914. MOV.S R18.z, R0.y;
  4915. MOV.F R0.y, R18;
  4916. MOV.F R0.z, R21.w;
  4917. FLR.F R0.y, R0;
  4918. MOV.S R3.w, R17.y;
  4919. MOV.S R17.y, R0;
  4920. MUL.F32 R0.y, R0.z, R0.x;
  4921. SNE.F32 R0.w, R0.x, {0, 0, 0, 0}.x;
  4922. SNE.F32 R0.x, R0.z, {0, 0, 0, 0};
  4923. TRUNC.U R0.z, R0.w;
  4924. TRUNC.U R0.x, R0;
  4925. AND.U.CC HC.x, R0, R0.z;
  4926. IF NE.x;
  4927. MOV.F R0.x, R0.y;
  4928. ELSE;
  4929. MOV.F R0.x, {0, 0, 0, 0};
  4930. ENDIF;
  4931. MOV.F R0.w, R20.z;
  4932. MOV.F R0.z, R20.y;
  4933. MOV.F R0.y, R20.x;
  4934. ADD.F32 R0.y, R0, -R0.z;
  4935. MOV.F R0.z, R21.x;
  4936. ADD.F32 R0.w, R0, -R0.z;
  4937. MAX.S R20.z, R17.x, R16.x;
  4938. MOV.S R17.x, R0.y;
  4939. MOV.F R0.y, R20.w;
  4940. MOV.F R0.z, R17;
  4941. MOV.S R20.w, R0;
  4942. ADD.F32 R0.w, R0.z, {-0.5, 0, 0, 0}.x;
  4943. MOV.F R0.z, R3.w;
  4944. ADD.F32 R0.y, R0, R0.z;
  4945. MOV.S R0.w, R0;
  4946. MOV.S R0.z, R0.w;
  4947. MOV.S R18.x, R0.y;
  4948. MOV.F R0.y, R0.z;
  4949. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  4950. MOV.S R20.y, R0;
  4951. MOV.F R0.y, R24.z;
  4952. MOV.F R0.z, R17.y;
  4953. RCP.F32 R0.y, R0.y;
  4954. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4955. TRUNC.U.CC HC.x, R0.z;
  4956. MOV.S R3.w, R17.y;
  4957. MOV.S R17.z, R0.y;
  4958. MOV.S R17.w, R0.x;
  4959. IF NE.x;
  4960. MOV.F R0.x, {1, 0, 0, 0};
  4961. ELSE;
  4962. MOV.F R0.x, {0, 0, 0, 0};
  4963. ENDIF;
  4964. MOV.F R0.y, R16.w;
  4965. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  4966. MOV.F R0.z, c[6].x;
  4967. MUL.F32 R0.y, R0, R0.z;
  4968. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4969. TRUNC.U R0.w, R0;
  4970. TRUNC.U R0.z, R0;
  4971. AND.U.CC HC.x, R0.w, R0.z;
  4972. MOV.S R21.x, R0;
  4973. IF NE.x;
  4974. MOV.F R0.x, R0.y;
  4975. ELSE;
  4976. MOV.F R0.x, {0, 0, 0, 0};
  4977. ENDIF;
  4978. MOV.F R0.y, R3.w;
  4979. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  4980. TRUNC.U.CC HC.x, R0.z;
  4981. MOV.F R0.y, {1, 0, 0, 0}.x;
  4982. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  4983. MOV.F R0.w, c[6].y;
  4984. MOV.F R0.z, R16;
  4985. MOV.S R21.z, R0.y;
  4986. MUL.F32 R0.y, R0.z, R0.w;
  4987. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  4988. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  4989. TRUNC.U R0.z, R0;
  4990. TRUNC.U R0.w, R0;
  4991. AND.U.CC HC.x, R0.z, R0.w;
  4992. MOV.S R17.y, R0.x;
  4993. IF NE.x;
  4994. MOV.F R0.x, R0.y;
  4995. ELSE;
  4996. MOV.F R0.x, {0, 0, 0, 0};
  4997. ENDIF;
  4998. I2F.S R0.y, R3;
  4999. MOV.F R0.w, R18.x;
  5000. MOV.F R3.y, R17.x;
  5001. MUL.F32 R0.z, R0.y, {2, 0, 0, 0}.x;
  5002. FRC.F R0.w, R0;
  5003. MUL.F32 R0.y, -R0.z, R3;
  5004. MOV.S R17.x, R0.w;
  5005. SNE.F32 R0.z, -R0, {0, 0, 0, 0}.x;
  5006. SNE.F32 R0.w, R3.y, {0, 0, 0, 0}.x;
  5007. TRUNC.U R0.z, R0;
  5008. TRUNC.U R0.w, R0;
  5009. AND.U.CC HC.x, R0.z, R0.w;
  5010. MOV.S R3.x, R18.w;
  5011. MOV.S R16.w, R0.x;
  5012. IF NE.x;
  5013. MOV.F R0.x, R0.y;
  5014. ELSE;
  5015. MOV.F R0.x, {0, 0, 0, 0};
  5016. ENDIF;
  5017. MOV.F R0.z, R21;
  5018. MOV.F R0.y, R21.x;
  5019. ADD.F32 R0.y, R0, -R0.z;
  5020. MOV.S R16.z, R0.y;
  5021. I2F.S R0.y, R3.x;
  5022. MOV.F R0.z, c[5].w;
  5023. ADD.F32 R0.z, -R0, {1, 0, 0, 0}.x;
  5024. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  5025. MOV.F R3.x, R20.w;
  5026. MUL.F32 R0.y, -R0.w, R3.x;
  5027. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  5028. MOV.S R18.w, R0.z;
  5029. TRUNC.U R3.x, R3;
  5030. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  5031. MOV.S R18.y, R0.x;
  5032. TRUNC.U R0.x, R0.z;
  5033. AND.U.CC HC.x, R0, R3;
  5034. MOV.S R3.w, R17;
  5035. IF NE.x;
  5036. MOV.F R3.y, R0;
  5037. ELSE;
  5038. MOV.F R3.y, {0, 0, 0, 0}.x;
  5039. ENDIF;
  5040. MOV.S R16.x, R3.y;
  5041. EX2.F32 R3.y, R3.w;
  5042. MOV.F R13.w, c[6].z;
  5043. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  5044. ADD.F32 R3.y, -R3, {1, 0, 0, 0}.x;
  5045. MOV.F R0.y, R17.z;
  5046. MOV.F R0.x, R21.w;
  5047. MUL.F32 R0.x, R0, R0.y;
  5048. MOV.F R0.z, R18;
  5049. MOV.S R0.y, R0.x;
  5050. ADD.F32 R0.x, -R0.z, {1, 0, 0, 0};
  5051. MOV.S R21.z, R0.x;
  5052. MOV.F R0.x, R20.y;
  5053. MOV.F R0.w, c[5].x;
  5054. MOV.F R0.z, R17.y;
  5055. ADD.F32 R0.z, R0, R0.w;
  5056. MOV.S R17.w, R0.z;
  5057. SNE.F32 R0.z, R0.x, {0, 0, 0, 0}.x;
  5058. TRUNC.U R7.y, R0.z;
  5059. MUL.F32 R3.z, R0.x, R13.w;
  5060. TRUNC.U R3.w, R3;
  5061. AND.U.CC HC.x, R7.y, R3.w;
  5062. MOV.S R3.x, R20.z;
  5063. MOV.S R0.xzw, {0, 0, 0, 0}.x;
  5064. MOV.S R18.x, R3.y;
  5065. IF NE.x;
  5066. MOV.F R3.y, R3.z;
  5067. ELSE;
  5068. MOV.F R3.y, {0, 0, 0, 0}.x;
  5069. ENDIF;
  5070. MOV.F R7.y, R0;
  5071. MOV.F R3.z, c[5].y;
  5072. MOV.F R3.w, R16;
  5073. ADD.F32 R3.w, R3.z, R3;
  5074. MOV.F R13.w, R21.z;
  5075. MOV.S R20.z, R3.w;
  5076. SNE.F32 R3.w, R7.y, {0, 0, 0, 0}.x;
  5077. MUL.F32 R3.z, R7.y, R13.w;
  5078. SNE.F32 R7.y, R13.w, {0, 0, 0, 0}.x;
  5079. TRUNC.U R3.w, R3;
  5080. TRUNC.U R7.y, R7;
  5081. AND.U.CC HC.x, R3.w, R7.y;
  5082. MOV.S R20.y, R3;
  5083. IF NE.x;
  5084. ELSE;
  5085. MOV.F R3.z, {0, 0, 0, 0}.x;
  5086. ENDIF;
  5087. I2F.S R3.w, R3.x;
  5088. MOV.F R15.w, R8.y;
  5089. MOV.F R14.w, R8.x;
  5090. ADD.F32 R15.w, R15, {-0.5, 0, 0, 0}.x;
  5091. MOV.F R7.y, R17.x;
  5092. MOV.F R13.w, R18.z;
  5093. MUL.F32 R3.y, R13.w, R7;
  5094. ADD.F32 R14.w, R14, {-0.5, 0, 0, 0}.x;
  5095. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  5096. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5097. MOV.S R17.x, R14.w;
  5098. TRUNC.U R14.w, R7.y;
  5099. TRUNC.U R13.w, R13;
  5100. MUL.F32 R3.w, R3, {2, 0, 0, 0}.x;
  5101. AND.U.CC HC.x, R13.w, R14.w;
  5102. MOV.S R3.x, R16.z;
  5103. MOV.S R17.y, R15.w;
  5104. MOV.S R16.w, R3.z;
  5105. MOV.S R7.y, R3.w;
  5106. IF NE.x;
  5107. ELSE;
  5108. MOV.F R3.y, {0, 0, 0, 0}.x;
  5109. ENDIF;
  5110. MOV.F R3.w, R3.x;
  5111. MOV.F R3.z, R7.y;
  5112. MUL.F32 R3.x, -R3.z, R3.w;
  5113. MOV.S R16.z, R3.y;
  5114. SNE.F32 R3.y, -R3.z, {0, 0, 0, 0}.x;
  5115. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5116. TRUNC.U R3.z, R3.w;
  5117. TRUNC.U R3.y, R3;
  5118. AND.U.CC HC.x, R3.y, R3.z;
  5119. IF NE.x;
  5120. ELSE;
  5121. MOV.F R3.x, {0, 0, 0, 0};
  5122. ENDIF;
  5123. MOV.F R3.y, R20;
  5124. MOV.F R3.w, R18;
  5125. MOV.F R3.z, R18.x;
  5126. DIV.F32 R3.z, R3, R3.w;
  5127. MOV.F R3.w, c[5].z;
  5128. ADD.F32 R3.y, R3.w, R3;
  5129. MOV.F R13.w, R18.y;
  5130. SNE.F32 R3.w, R13, {0, 0, 0, 0}.x;
  5131. MOV.F R7.y, R17.w;
  5132. MOV.S R20.y, R3.z;
  5133. MOV.S R18.x, R3.y;
  5134. SNE.F32 R3.y, R7, {0, 0, 0, 0}.x;
  5135. TRUNC.U R3.y, R3;
  5136. TRUNC.U R3.w, R3;
  5137. AND.U.CC HC.x, R3.y, R3.w;
  5138. MUL.F32 R3.z, R7.y, R13.w;
  5139. MOV.S R20.w, R3.x;
  5140. IF NE.x;
  5141. MOV.F R3.y, R3.z;
  5142. ELSE;
  5143. MOV.F R3.y, {0, 0, 0, 0}.x;
  5144. ENDIF;
  5145. MOV.F R3.w, R18.y;
  5146. MOV.F R3.z, R9.x;
  5147. MUL.F32 R3.x, R3.z, R3.w;
  5148. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5149. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5150. TRUNC.U R3.z, R3;
  5151. TRUNC.U R3.w, R3;
  5152. AND.U.CC HC.x, R3.z, R3.w;
  5153. MOV.S R19.z, R3.y;
  5154. IF NE.x;
  5155. MOV.F R3.y, R3.x;
  5156. ELSE;
  5157. MOV.F R3.y, {0, 0, 0, 0}.x;
  5158. ENDIF;
  5159. MOV.F R3.w, R16.x;
  5160. MOV.F R3.z, R20;
  5161. MUL.F32 R3.x, R3.z, R3.w;
  5162. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5163. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5164. TRUNC.U R3.z, R3;
  5165. TRUNC.U R3.w, R3;
  5166. AND.U.CC HC.x, R3.z, R3.w;
  5167. MOV.S R19.w, R3.y;
  5168. IF NE.x;
  5169. ELSE;
  5170. MOV.F R3.x, {0, 0, 0, 0};
  5171. ENDIF;
  5172. MOV.F R3.y, c[5].w;
  5173. SEQ.F R3.y, R3, {1, 0, 0, 0}.x;
  5174. TRUNC.U.CC HC.x, R3.y;
  5175. MOV.S R18.w, R3.x;
  5176. IF NE.x;
  5177. MOV.S R3.x, {-1, 0, 0, 0};
  5178. ELSE;
  5179. MOV.S R3.x, {0, 0, 0, 0};
  5180. ENDIF;
  5181. MOV.F R3.w, R16.x;
  5182. MOV.F R3.z, R9.y;
  5183. MUL.F32 R3.y, R3.z, R3.w;
  5184. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5185. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5186. TRUNC.U R3.w, R3;
  5187. TRUNC.U R3.z, R3;
  5188. AND.U.CC HC.x, R3.z, R3.w;
  5189. IF NE.x;
  5190. ELSE;
  5191. MOV.F R3.y, {0, 0, 0, 0}.x;
  5192. ENDIF;
  5193. SEQ.S R3.x, R3, {0, 0, 0, 0};
  5194. MOV.U.CC RC.x, -R3;
  5195. MOV.F R3.w, R19.z;
  5196. MOV.F R3.z, R17.w;
  5197. ADD.F32 R3.z, R3, R3.w;
  5198. MOV.S R17.w, R3.z;
  5199. MOV.F R3.w, R16.z;
  5200. MOV.F R3.z, R16.w;
  5201. ADD.F32 R3.z, R3, R3.w;
  5202. MOV.F R7.y, R19.w;
  5203. MOV.F R3.w, R9.x;
  5204. ADD.F32 R3.w, R3, R7.y;
  5205. MOV.S R17.z, R3;
  5206. MOV.S R18.y, R3.w;
  5207. MOV.S R21.y, R3;
  5208. IF NE.x;
  5209. MOV.S R3.x, R20.y;
  5210. ELSE;
  5211. MOV.S R3.x, R21.w;
  5212. ENDIF;
  5213. MOV.F R3.w, R9.z;
  5214. MOV.F R3.z, R21.y;
  5215. MOV.F R3.y, R9;
  5216. ADD.F32 R3.y, R3, R3.z;
  5217. MOV.S R20.y, R3;
  5218. MOV.F R3.y, R20.z;
  5219. MOV.F R3.z, R18.w;
  5220. ADD.F32 R3.z, R3.y, R3;
  5221. MOV.F R3.y, R8.z;
  5222. MOV.S R16.z, R3;
  5223. ADD.F32 R3.z, R3.y, {-0.5, 0, 0, 0}.x;
  5224. MOV.F R7.y, R20.w;
  5225. MUL.F32 R3.y, R3.w, R7;
  5226. MOV.S R20.z, R3;
  5227. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5228. TRUNC.U R9.x, R3.z;
  5229. MOV.F R3.w, c[8];
  5230. MOV.F R3.z, c[7].w;
  5231. ADD.F32 R3.z, -R3, R3.w;
  5232. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5233. TRUNC.U R3.w, R7.y;
  5234. AND.U.CC HC.x, R9, R3.w;
  5235. MOV.S R19.w, R3.z;
  5236. IF NE.x;
  5237. ELSE;
  5238. MOV.F R3.y, {0, 0, 0, 0}.x;
  5239. ENDIF;
  5240. MOV.F R7.y, c[9].x;
  5241. MOV.F R3.w, R17.x;
  5242. MUL.F32 R3.z, R3.w, R7.y;
  5243. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5244. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5245. TRUNC.U R3.w, R3;
  5246. TRUNC.U R7.y, R7;
  5247. AND.U.CC HC.x, R3.w, R7.y;
  5248. MOV.S R21.x, R3.y;
  5249. IF NE.x;
  5250. MOV.F R3.y, R3.z;
  5251. ELSE;
  5252. MOV.F R3.y, {0, 0, 0, 0}.x;
  5253. ENDIF;
  5254. MOV.F R7.y, R20.w;
  5255. MOV.F R3.w, R18.x;
  5256. MUL.F32 R3.z, R3.w, R7.y;
  5257. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5258. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5259. TRUNC.U R3.w, R3;
  5260. TRUNC.U R7.y, R7;
  5261. AND.U.CC HC.x, R3.w, R7.y;
  5262. MOV.S R21.y, R3;
  5263. IF NE.x;
  5264. MOV.F R3.y, R3.z;
  5265. ELSE;
  5266. MOV.F R3.y, {0, 0, 0, 0}.x;
  5267. ENDIF;
  5268. MOV.F R7.y, c[9];
  5269. MOV.F R3.w, R17.y;
  5270. MUL.F32 R3.z, R3.w, R7.y;
  5271. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5272. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  5273. TRUNC.U R3.w, R3;
  5274. TRUNC.U R7.y, R7;
  5275. AND.U.CC HC.x, R3.w, R7.y;
  5276. MOV.S R21.z, R3.y;
  5277. IF NE.x;
  5278. MOV.F R3.y, R3.z;
  5279. ELSE;
  5280. MOV.F R3.y, {0, 0, 0, 0}.x;
  5281. ENDIF;
  5282. MOV.F R3.w, R21.x;
  5283. MOV.F R3.z, R9;
  5284. ADD.F32 R9.x, R3.z, R3.w;
  5285. MOV.S R20.w, R9.x;
  5286. MOV.F R9.x, R20.y;
  5287. ADD.F32 R3.y, R9.x, R3;
  5288. MOV.S R18.z, R3.y;
  5289. MOV.F R7.y, R18.x;
  5290. MOV.F R3.w, R21.y;
  5291. MOV.F R3.z, R18.y;
  5292. ADD.F32 R3.z, R3, R3.w;
  5293. MOV.S R18.x, R3.z;
  5294. MOV.F R3.z, R21;
  5295. ADD.F32 R3.z, R7.y, R3;
  5296. MOV.S R20.y, R3.z;
  5297. MOV.F R7.y, R19.w;
  5298. MOV.F R3.w, c[8];
  5299. MOV.F R3.z, R17;
  5300. ADD.F32 R3.z, R3, -R3.w;
  5301. RCP.F32 R3.w, R7.y;
  5302. MOV.S R21.x, R3.z;
  5303. MOV.F R3.z, R3.x;
  5304. SNE.F32 R7.y, R3.z, {0, 0, 0, 0}.x;
  5305. MOV.F R3.y, R16.z;
  5306. MOV.S R14.w, R3;
  5307. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5308. TRUNC.U R9.x, R3.w;
  5309. MUL.F32 R3.y, R3, R3.z;
  5310. MOV.F R3.w, c[8].z;
  5311. MOV.F R3.z, c[7];
  5312. ADD.F32 R3.z, -R3, R3.w;
  5313. TRUNC.U R3.w, R7.y;
  5314. AND.U.CC HC.x, R9, R3.w;
  5315. MOV.S R7.y, R3.z;
  5316. IF NE.x;
  5317. ELSE;
  5318. MOV.F R3.y, {0, 0, 0, 0}.x;
  5319. ENDIF;
  5320. MOV.F R9.x, c[9].z;
  5321. MOV.F R3.w, R20.z;
  5322. MUL.F32 R3.z, R3.w, R9.x;
  5323. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5324. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  5325. TRUNC.U R3.w, R3;
  5326. TRUNC.U R9.x, R9;
  5327. AND.U.CC HC.x, R3.w, R9;
  5328. MOV.S R21.y, R3;
  5329. IF NE.x;
  5330. MOV.F R3.y, R3.z;
  5331. ELSE;
  5332. MOV.F R3.y, {0, 0, 0, 0}.x;
  5333. ENDIF;
  5334. MOV.F R9.x, R3;
  5335. MOV.F R3.w, R17;
  5336. MUL.F32 R3.z, R3.w, R9.x;
  5337. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5338. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  5339. TRUNC.U R3.w, R3;
  5340. TRUNC.U R9.x, R9;
  5341. AND.U.CC HC.x, R3.w, R9;
  5342. MOV.S R21.z, R3.y;
  5343. IF NE.x;
  5344. MOV.F R3.y, R3.z;
  5345. ELSE;
  5346. MOV.F R3.y, {0, 0, 0, 0}.x;
  5347. ENDIF;
  5348. MOV.F R3.z, R21.x;
  5349. SLT.F32 R9.x, R3.z, {0, 0, 0, 0};
  5350. MOV.S R3.z, {0, 0, 0, 0}.x;
  5351. TRUNC.U.CC HC.x, R9;
  5352. MOV.F R3.w, {1, 0, 0, 0}.x;
  5353. MOV.S R3.z(EQ.x), R3.w;
  5354. MOV.S R15.w, R3.z;
  5355. MOV.F R9.z, R17;
  5356. MOV.F R3.w, R21.z;
  5357. MOV.F R3.z, R20.w;
  5358. ADD.F32 R3.z, R3, R3.w;
  5359. MOV.S R9.y, R3.z;
  5360. MOV.F R3.z, R18;
  5361. MOV.F R3.w, R21.y;
  5362. ADD.F32 R3.w, R3.z, R3;
  5363. MOV.F R3.z, R18.x;
  5364. ADD.F32 R9.x, R3.z, R3.y;
  5365. MOV.F R3.y, R7;
  5366. MOV.F R3.z, R14.w;
  5367. MUL.F32 R7.y, R3, R3.z;
  5368. MOV.F R13.w, c[7];
  5369. ADD.F32 R3.z, R9, -R13.w;
  5370. MUL.F32 R3.y, R3.z, R7;
  5371. SNE.F32 R16.x, R7.y, {0, 0, 0, 0};
  5372. SNE.F32 R7.y, R9.z, R13.w;
  5373. TRUNC.U R9.z, R16.x;
  5374. TRUNC.U R7.y, R7;
  5375. AND.U.CC HC.x, R7.y, R9.z;
  5376. MOV.S R3.w, R3;
  5377. MOV.S R9.x, R9;
  5378. MOV.S R3.z, R3;
  5379. IF NE.x;
  5380. ELSE;
  5381. MOV.F R3.y, {0, 0, 0, 0}.x;
  5382. ENDIF;
  5383. MOV.F R9.z, R3.x;
  5384. MOV.F R3.x, R20.y;
  5385. MUL.F32 R7.y, R3.x, R9.z;
  5386. SNE.F32 R13.w, R9.z, {0, 0, 0, 0}.x;
  5387. SNE.F32 R3.x, R3, {0, 0, 0, 0};
  5388. TRUNC.U R9.z, R3.x;
  5389. TRUNC.U R13.w, R13;
  5390. AND.U.CC HC.x, R9.z, R13.w;
  5391. MOV.S R3.x, R3.y;
  5392. IF NE.x;
  5393. MOV.F R3.y, R7;
  5394. ELSE;
  5395. MOV.F R3.y, {0, 0, 0, 0}.x;
  5396. ENDIF;
  5397. MOV.F R7.y, R3.z;
  5398. SLT.F32 R13.w, R7.y, {0, 0, 0, 0}.x;
  5399. TRUNC.U.CC HC.x, R13.w;
  5400. MOV.F R9.z, {1, 0, 0, 0}.x;
  5401. MOV.S R7.y, {0, 0, 0, 0}.x;
  5402. MOV.S R7.y(EQ.x), R9.z;
  5403. MOV.F R13.w, c[8].y;
  5404. MOV.F R9.z, c[7].y;
  5405. ADD.F32 R9.z, -R9, R13.w;
  5406. MOV.F R16.x, c[8];
  5407. MOV.F R13.w, c[7].x;
  5408. ADD.F32 R13.w, -R13, R16.x;
  5409. MOV.S R9.z, R9;
  5410. MOV.S R13.w, R13;
  5411. MOV.S R3.y, R3;
  5412. ENDIF;
  5413. SEQ.U R16.x, R22.w, {1, 0, 0, 0};
  5414. MOV.U.CC RC.x, -R16;
  5415. IF NE.x;
  5416. MOV.F R4.w, R3.y;
  5417. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5418. MOV.F R3.y, R9;
  5419. ADD.F32 R3.y, R3, R4.w;
  5420. MOV.S R17.z, R3.y;
  5421. MOV.F R3.y, R9.z;
  5422. MOV.F R4.w, R14;
  5423. MUL.F32 R4.w, R3.y, R4;
  5424. SNE.F32 R6.w, R4, {0, 0, 0, 0}.x;
  5425. MOV.F R7.w, R3.z;
  5426. TRUNC.U R8.z, R6.w;
  5427. MUL.F32 R3.y, R7.w, R4.w;
  5428. MOV.F R4.w, R9.x;
  5429. MAD.F32 R4.w, R4, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5430. MOV.F R6.w, R15;
  5431. MOV.S R17.x, R4.w;
  5432. ADD.F32 R4.w, -R6, {1, 0, 0, 0}.x;
  5433. MOV.S R19.w, R4;
  5434. SNE.F32 R4.w, R7, {0, 0, 0, 0}.x;
  5435. MOV.S R20.w, R3;
  5436. TRUNC.U R3.w, R4;
  5437. AND.U.CC HC.x, R3.w, R8.z;
  5438. IF NE.x;
  5439. ELSE;
  5440. MOV.F R3.y, {0, 0, 0, 0}.x;
  5441. ENDIF;
  5442. MOV.F R4.w, R14;
  5443. MOV.F R3.w, R13;
  5444. MUL.F32 R3.w, R3, R4;
  5445. MOV.S R21.z, R3.w;
  5446. MOV.F R3.w, R3.x;
  5447. MOV.F R3.x, c[7].z;
  5448. ADD.F32 R3.w, R3.x, R3;
  5449. MOV.F R4.w, R7.y;
  5450. MOV.F R6.w, R19;
  5451. MOV.S R20.y, R3.w;
  5452. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  5453. MUL.F32 R3.x, R4.w, R6.w;
  5454. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  5455. TRUNC.U R3.w, R3;
  5456. TRUNC.U R4.w, R4;
  5457. AND.U.CC HC.x, R3.w, R4.w;
  5458. MOV.S R21.x, R3.y;
  5459. IF NE.x;
  5460. ELSE;
  5461. MOV.F R3.x, {0, 0, 0, 0};
  5462. ENDIF;
  5463. MOV.F R4.w, R3.z;
  5464. MOV.F R6.w, R21.z;
  5465. MOV.F R3.z, R7.y;
  5466. ADD.F32 R3.z, -R3, {1, 0, 0, 0}.x;
  5467. MOV.F R3.w, R20;
  5468. FRC.F R3.w, R3;
  5469. MOV.S R18.z, R3;
  5470. MOV.S R19.z, R3.w;
  5471. MOV.F R3.w, R17.z;
  5472. MAD.F32 R3.w, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  5473. MOV.F R3.z, R17.x;
  5474. FRC.F R3.z, R3;
  5475. MOV.S R19.y, R3.w;
  5476. MOV.S R19.x, R3.z;
  5477. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  5478. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  5479. TRUNC.U R3.z, R3;
  5480. TRUNC.U R3.w, R3;
  5481. AND.U.CC HC.x, R3.z, R3.w;
  5482. MUL.F32 R3.y, R4.w, R6.w;
  5483. MOV.S R18.w, R3.x;
  5484. IF NE.x;
  5485. MOV.F R3.x, R3.y;
  5486. ELSE;
  5487. MOV.F R3.x, {0, 0, 0, 0};
  5488. ENDIF;
  5489. MOV.F R3.z, R21.x;
  5490. MOV.F R3.y, c[7];
  5491. ADD.F32 R3.y, R3, R3.z;
  5492. MOV.S R17.w, R3.y;
  5493. MOV.F R3.y, R18.z;
  5494. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5495. MOV.F R3.z, c[7];
  5496. MUL.F32 R3.y, R3.z, R3;
  5497. TRUNC.U R3.w, R3;
  5498. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5499. MOV.S R20.w, R3.x;
  5500. TRUNC.U R3.x, R3.z;
  5501. AND.U.CC HC.x, R3, R3.w;
  5502. IF NE.x;
  5503. MOV.F R3.x, R3.y;
  5504. ELSE;
  5505. MOV.F R3.x, {0, 0, 0, 0};
  5506. ENDIF;
  5507. MOV.F R3.z, R19.x;
  5508. MAD.F32 R3.z, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5509. MOV.F R3.w, R19.z;
  5510. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5511. MOV.F R6.w, R18;
  5512. MOV.F R4.w, R20.y;
  5513. MOV.S R21.y, R3.z;
  5514. MOV.S R17.z, R3.w;
  5515. SNE.F32 R3.z, R4.w, {0, 0, 0, 0}.x;
  5516. SNE.F32 R3.w, R6, {0, 0, 0, 0}.x;
  5517. TRUNC.U R3.z, R3;
  5518. TRUNC.U R3.w, R3;
  5519. AND.U.CC HC.x, R3.z, R3.w;
  5520. MUL.F32 R3.y, R4.w, R6.w;
  5521. MOV.S R21.x, R3;
  5522. IF NE.x;
  5523. MOV.F R3.x, R3.y;
  5524. ELSE;
  5525. MOV.F R3.x, {0, 0, 0, 0};
  5526. ENDIF;
  5527. MOV.F R3.y, R19;
  5528. FRC.F R3.y, R3;
  5529. MOV.S R17.x, R3.y;
  5530. MOV.F R3.y, R21.x;
  5531. ADD.F32 R3.x, R3, R3.y;
  5532. MOV.F R3.z, R20.w;
  5533. MOV.F R3.y, c[7].x;
  5534. ADD.F32 R3.y, R3, R3.z;
  5535. MOV.S R20.y, R3;
  5536. MOV.F R3.z, R15.w;
  5537. MOV.F R3.y, c[8].z;
  5538. MOV.S R19.x, R3;
  5539. MUL.F32 R3.x, R3.y, R3.z;
  5540. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5541. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  5542. TRUNC.U R3.z, R3;
  5543. TRUNC.U R3.y, R3;
  5544. AND.U.CC HC.x, R3.y, R3.z;
  5545. IF NE.x;
  5546. ELSE;
  5547. MOV.F R3.x, {0, 0, 0, 0};
  5548. ENDIF;
  5549. MOV.F R3.y, R18.z;
  5550. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5551. MOV.F R3.z, c[7].y;
  5552. MUL.F32 R3.y, R3.z, R3;
  5553. TRUNC.U R3.w, R3;
  5554. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5555. MOV.S R19.z, R3.x;
  5556. TRUNC.U R3.x, R3.z;
  5557. AND.U.CC HC.x, R3, R3.w;
  5558. IF NE.x;
  5559. MOV.F R3.x, R3.y;
  5560. ELSE;
  5561. MOV.F R3.x, {0, 0, 0, 0};
  5562. ENDIF;
  5563. MOV.F R3.z, R21.y;
  5564. MUL.F32 R3.z, R3, {0.159154937, 0, 0, 0}.x;
  5565. MOV.F R3.w, R17;
  5566. MOV.F R4.w, R18;
  5567. MOV.S R16.z, R3;
  5568. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5569. MUL.F32 R3.y, R3.w, R4.w;
  5570. SNE.F32 R3.w, R4, {0, 0, 0, 0}.x;
  5571. TRUNC.U R3.z, R3;
  5572. TRUNC.U R3.w, R3;
  5573. AND.U.CC HC.x, R3.z, R3.w;
  5574. MOV.S R20.w, R3.x;
  5575. IF NE.x;
  5576. MOV.F R3.x, R3.y;
  5577. ELSE;
  5578. MOV.F R3.x, {0, 0, 0, 0};
  5579. ENDIF;
  5580. MOV.F R3.w, R17.x;
  5581. MAD.F32 R3.w, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  5582. MOV.F R3.y, R19.z;
  5583. MOV.F R3.z, R19.x;
  5584. ADD.F32 R3.z, R3.y, R3;
  5585. MOV.F R3.y, R17.z;
  5586. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  5587. MOV.S R17.z, R3;
  5588. MOV.F R3.z, R8.x;
  5589. MAX.F R3.z, R3, {0, 0, 0, 0}.x;
  5590. MOV.S R17.y, R3;
  5591. MOV.S R18.y, R3.z;
  5592. MOV.F R3.y, R15.w;
  5593. MOV.S R17.w, R3;
  5594. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5595. MOV.F R3.z, c[8].y;
  5596. MUL.F32 R3.y, R3.z, R3;
  5597. TRUNC.U R3.w, R3;
  5598. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5599. MOV.S R21.x, R3;
  5600. TRUNC.U R3.x, R3.z;
  5601. AND.U.CC HC.x, R3, R3.w;
  5602. IF NE.x;
  5603. MOV.F R3.x, R3.y;
  5604. ELSE;
  5605. MOV.F R3.x, {0, 0, 0, 0};
  5606. ENDIF;
  5607. MOV.F R3.z, R20.w;
  5608. MOV.F R3.y, R21.x;
  5609. ADD.F32 R3.y, R3, R3.z;
  5610. MOV.F R3.w, R18;
  5611. MOV.F R3.z, R20.y;
  5612. MOV.S R19.y, R3;
  5613. MUL.F32 R3.y, R3.z, R3.w;
  5614. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5615. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5616. TRUNC.U R3.z, R3;
  5617. TRUNC.U R3.w, R3;
  5618. AND.U.CC HC.x, R3.z, R3.w;
  5619. MOV.S R19.x, R3;
  5620. IF NE.x;
  5621. MOV.F R3.x, R3.y;
  5622. ELSE;
  5623. MOV.F R3.x, {0, 0, 0, 0};
  5624. ENDIF;
  5625. MOV.F R3.y, R18.z;
  5626. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  5627. MOV.F R3.z, c[7].x;
  5628. MUL.F32 R3.y, R3.z, R3;
  5629. TRUNC.U R3.w, R3;
  5630. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5631. MOV.S R19.z, R3.x;
  5632. TRUNC.U R3.x, R3.z;
  5633. AND.U.CC HC.x, R3, R3.w;
  5634. IF NE.x;
  5635. MOV.F R3.x, R3.y;
  5636. ELSE;
  5637. MOV.F R3.x, {0, 0, 0, 0};
  5638. ENDIF;
  5639. MOV.F R3.y, R16.z;
  5640. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5641. SIN.F32 R3.y, R3.y;
  5642. MOV.S R20.y, R3;
  5643. MOV.F R3.y, R17.w;
  5644. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  5645. MOV.F R3.w, R19.y;
  5646. MOV.F R3.z, R19.x;
  5647. ADD.F32 R3.z, R3, R3.w;
  5648. MOV.S R21.y, R3.z;
  5649. MOV.F R3.z, R19;
  5650. ADD.F32 R3.x, R3.z, R3;
  5651. MOV.F R3.z, R17;
  5652. MOV.S R17.z, R3.y;
  5653. MOV.F R3.y, R23.z;
  5654. MOV.S R17.x, R3;
  5655. MUL.F32 R3.x, R3.y, R3.z;
  5656. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5657. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  5658. TRUNC.U R3.z, R3;
  5659. TRUNC.U R3.y, R3;
  5660. AND.U.CC HC.x, R3.y, R3.z;
  5661. IF NE.x;
  5662. ELSE;
  5663. MOV.F R3.x, {0, 0, 0, 0};
  5664. ENDIF;
  5665. MOV.F R3.y, R16.z;
  5666. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5667. COS.F32 R3.y, R3.y;
  5668. MOV.F R4.w, R21.y;
  5669. MOV.F R3.z, R23.y;
  5670. MOV.S R18.x, R3.y;
  5671. MUL.F32 R3.y, R3.z, R4.w;
  5672. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5673. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5674. TRUNC.U R4.w, R4;
  5675. TRUNC.U R3.z, R3;
  5676. AND.U.CC HC.x, R3.z, R4.w;
  5677. MOV.S R3.w, R18.y;
  5678. MOV.S R21.w, R3.x;
  5679. IF NE.x;
  5680. MOV.F R3.x, R3.y;
  5681. ELSE;
  5682. MOV.F R3.x, {0, 0, 0, 0};
  5683. ENDIF;
  5684. MOV.F R4.w, c[10];
  5685. MOV.F R3.z, R21.w;
  5686. MUL.F32 R3.y, R3.z, R4.w;
  5687. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5688. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5689. TRUNC.U R3.z, R3;
  5690. TRUNC.U R4.w, R4;
  5691. AND.U.CC HC.x, R3.z, R4.w;
  5692. MOV.S R16.x, R3;
  5693. IF NE.x;
  5694. MOV.F R3.x, R3.y;
  5695. ELSE;
  5696. MOV.F R3.x, {0, 0, 0, 0};
  5697. ENDIF;
  5698. MOV.F R3.y, R15.w;
  5699. SNE.F32 R4.w, R3.y, {0, 0, 0, 0}.x;
  5700. MOV.F R3.z, c[8].x;
  5701. MUL.F32 R3.y, R3.z, R3;
  5702. TRUNC.U R4.w, R4;
  5703. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5704. MOV.S R18.y, R3.x;
  5705. TRUNC.U R3.x, R3.z;
  5706. AND.U.CC HC.x, R3, R4.w;
  5707. IF NE.x;
  5708. MOV.F R3.x, R3.y;
  5709. ELSE;
  5710. MOV.F R3.x, {0, 0, 0, 0};
  5711. ENDIF;
  5712. MOV.F R4.w, R17.x;
  5713. ADD.F32 R3.x, R3, R4.w;
  5714. MOV.F R6.w, R18.x;
  5715. MOV.F R3.y, R17;
  5716. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5717. SIN.F32 R3.z, R3.y;
  5718. SNE.F32 R4.w, R6, {0, 0, 0, 0}.x;
  5719. MOV.S R21.y, R3.x;
  5720. MOV.F R3.x, R3.w;
  5721. SNE.F32 R3.w, R3.z, {0, 0, 0, 0}.x;
  5722. MUL.F32 R3.y, R3.z, R6.w;
  5723. MOV.S R17.w, R3.z;
  5724. MOV.F R3.z, R23.x;
  5725. MIN.F R3.x, R3, {0, 0, 0, 0};
  5726. ADD.F32 R3.x, R3.z, R3;
  5727. TRUNC.U R4.w, R4;
  5728. TRUNC.U R3.z, R3.w;
  5729. AND.U.CC HC.x, R4.w, R3.z;
  5730. MOV.S R3.x, R3;
  5731. IF NE.x;
  5732. ELSE;
  5733. MOV.F R3.y, {0, 0, 0, 0}.x;
  5734. ENDIF;
  5735. MOV.F R4.w, R17;
  5736. MOV.F R3.w, R20.y;
  5737. MUL.F32 R3.z, R3.w, R4.w;
  5738. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5739. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5740. TRUNC.U R3.w, R3;
  5741. TRUNC.U R4.w, R4;
  5742. AND.U.CC HC.x, R3.w, R4.w;
  5743. MOV.S R16.z, R3.y;
  5744. IF NE.x;
  5745. MOV.F R3.y, R3.z;
  5746. ELSE;
  5747. MOV.F R3.y, {0, 0, 0, 0}.x;
  5748. ENDIF;
  5749. MOV.F R3.z, R17.y;
  5750. MUL.F32 R3.z, R3, {6.28318548, 0, 0, 0}.x;
  5751. COS.F32 R4.w, R3.z;
  5752. MOV.F R6.w, R18.x;
  5753. MUL.F32 R3.z, R4.w, R6.w;
  5754. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5755. SNE.F32 R7.y, R4.w, {0, 0, 0, 0}.x;
  5756. MOV.S R18.z, R4.w;
  5757. TRUNC.U R4.w, R6;
  5758. TRUNC.U R6.w, R7.y;
  5759. AND.U.CC HC.x, R4.w, R6.w;
  5760. MOV.S R3.w, R18.y;
  5761. MOV.S R20.w, R3.y;
  5762. IF NE.x;
  5763. MOV.F R3.y, R3.z;
  5764. ELSE;
  5765. MOV.F R3.y, {0, 0, 0, 0}.x;
  5766. ENDIF;
  5767. MOV.F R6.w, R18.z;
  5768. MOV.F R4.w, R20.y;
  5769. MUL.F32 R3.z, R4.w, R6.w;
  5770. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5771. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  5772. TRUNC.U R4.w, R4;
  5773. TRUNC.U R6.w, R6;
  5774. AND.U.CC HC.x, R4.w, R6.w;
  5775. MOV.S R17.x, R3.y;
  5776. IF NE.x;
  5777. MOV.F R3.y, R3.z;
  5778. ELSE;
  5779. MOV.F R3.y, {0, 0, 0, 0}.x;
  5780. ENDIF;
  5781. MOV.F R3.z, R3.x;
  5782. MOV.F R4.w, R21.y;
  5783. MUL.F32 R3.x, R3.z, R4.w;
  5784. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5785. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  5786. TRUNC.U R3.z, R3;
  5787. TRUNC.U R4.w, R4;
  5788. AND.U.CC HC.x, R3.z, R4.w;
  5789. MOV.S R18.y, R3;
  5790. IF NE.x;
  5791. ELSE;
  5792. MOV.F R3.x, {0, 0, 0, 0};
  5793. ENDIF;
  5794. MOV.F R3.z, R4;
  5795. MUL.F32 R3.y, R3.z, R3.w;
  5796. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5797. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5798. TRUNC.U R3.z, R3;
  5799. TRUNC.U R3.w, R3;
  5800. AND.U.CC HC.x, R3.z, R3.w;
  5801. MOV.S R19.z, R3.x;
  5802. IF NE.x;
  5803. MOV.F R3.x, R3.y;
  5804. ELSE;
  5805. MOV.F R3.x, {0, 0, 0, 0};
  5806. ENDIF;
  5807. MOV.F R3.y, R17.z;
  5808. MUL.F32 R3.y, R3, {6.28318548, 0, 0, 0}.x;
  5809. SIN.F32 R3.z, R3.y;
  5810. MOV.F R3.w, R20;
  5811. MUL.F32 R3.y, R3.z, R3.w;
  5812. MOV.S R17.y, R3.z;
  5813. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5814. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5815. TRUNC.U R3.z, R3;
  5816. TRUNC.U R3.w, R3;
  5817. AND.U.CC HC.x, R3.z, R3.w;
  5818. MOV.S R18.w, R3.x;
  5819. IF NE.x;
  5820. MOV.F R3.x, R3.y;
  5821. ELSE;
  5822. MOV.F R3.x, {0, 0, 0, 0};
  5823. ENDIF;
  5824. MOV.F R3.w, c[10].z;
  5825. MOV.F R3.z, R16.x;
  5826. MUL.F32 R3.y, R3.z, R3.w;
  5827. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5828. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5829. TRUNC.U R3.z, R3;
  5830. TRUNC.U R3.w, R3;
  5831. AND.U.CC HC.x, R3.z, R3.w;
  5832. MOV.S R21.x, R3;
  5833. IF NE.x;
  5834. MOV.F R3.x, R3.y;
  5835. ELSE;
  5836. MOV.F R3.x, {0, 0, 0, 0};
  5837. ENDIF;
  5838. MOV.F R3.w, R16.z;
  5839. MOV.F R3.z, R17.y;
  5840. MUL.F32 R3.y, R3.z, R3.w;
  5841. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5842. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5843. TRUNC.U R3.z, R3;
  5844. TRUNC.U R3.w, R3;
  5845. AND.U.CC HC.x, R3.z, R3.w;
  5846. MOV.S R23.y, R3.x;
  5847. IF NE.x;
  5848. MOV.F R3.x, R3.y;
  5849. ELSE;
  5850. MOV.F R3.x, {0, 0, 0, 0};
  5851. ENDIF;
  5852. MOV.F R3.w, c[10].y;
  5853. MOV.F R3.z, R19;
  5854. MUL.F32 R3.y, R3.z, R3.w;
  5855. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5856. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5857. TRUNC.U R3.z, R3;
  5858. TRUNC.U R3.w, R3;
  5859. AND.U.CC HC.x, R3.z, R3.w;
  5860. MOV.S R21.z, R3.x;
  5861. IF NE.x;
  5862. MOV.F R3.x, R3.y;
  5863. ELSE;
  5864. MOV.F R3.x, {0, 0, 0, 0};
  5865. ENDIF;
  5866. MOV.F R3.w, R17.x;
  5867. MOV.F R3.y, R21.x;
  5868. ADD.F32 R3.y, R3.w, R3;
  5869. MOV.S R17.x, R3.y;
  5870. MOV.F R4.z, R21;
  5871. MOV.F R3.z, R18.y;
  5872. ADD.F32 R3.z, -R3, R4;
  5873. MOV.F R3.y, R17.z;
  5874. MOV.S R19.y, R3.z;
  5875. MUL.F32 R3.z, R3.y, {6.28318548, 0, 0, 0}.x;
  5876. MOV.F R4.z, R17.y;
  5877. COS.F32 R3.z, R3.z;
  5878. MUL.F32 R3.y, R3.w, R4.z;
  5879. MOV.S R20.x, R3.z;
  5880. SNE.F32 R3.z, R4, {0, 0, 0, 0}.x;
  5881. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5882. TRUNC.U R3.z, R3;
  5883. TRUNC.U R3.w, R3;
  5884. AND.U.CC HC.x, R3.z, R3.w;
  5885. MOV.S R15.w, R3.x;
  5886. IF NE.x;
  5887. MOV.F R3.x, R3.y;
  5888. ELSE;
  5889. MOV.F R3.x, {0, 0, 0, 0};
  5890. ENDIF;
  5891. MOV.F R3.w, R20.x;
  5892. MOV.F R3.z, R17.w;
  5893. MUL.F32 R3.y, R3.z, R3.w;
  5894. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5895. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5896. TRUNC.U R3.z, R3;
  5897. TRUNC.U R3.w, R3;
  5898. AND.U.CC HC.x, R3.z, R3.w;
  5899. MOV.S R17.z, R3.x;
  5900. IF NE.x;
  5901. MOV.F R3.x, R3.y;
  5902. ELSE;
  5903. MOV.F R3.x, {0, 0, 0, 0};
  5904. ENDIF;
  5905. MOV.F R3.w, R18.y;
  5906. MOV.F R3.z, R17.y;
  5907. MUL.F32 R3.y, R3.z, R3.w;
  5908. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5909. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5910. TRUNC.U R3.z, R3;
  5911. TRUNC.U R3.w, R3;
  5912. AND.U.CC HC.x, R3.z, R3.w;
  5913. MOV.S R19.w, R3.x;
  5914. IF NE.x;
  5915. MOV.F R3.x, R3.y;
  5916. ELSE;
  5917. MOV.F R3.x, {0, 0, 0, 0};
  5918. ENDIF;
  5919. MOV.F R3.w, R20.x;
  5920. MOV.F R3.z, R20.y;
  5921. MUL.F32 R3.y, R3.z, R3.w;
  5922. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5923. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5924. TRUNC.U R3.z, R3;
  5925. TRUNC.U R3.w, R3;
  5926. AND.U.CC HC.x, R3.z, R3.w;
  5927. MOV.S R16.x, R3;
  5928. IF NE.x;
  5929. MOV.F R3.x, R3.y;
  5930. ELSE;
  5931. MOV.F R3.x, {0, 0, 0, 0};
  5932. ENDIF;
  5933. MOV.F R3.w, R20.x;
  5934. MOV.F R3.z, R18.x;
  5935. MUL.F32 R3.y, R3.z, R3.w;
  5936. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5937. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5938. TRUNC.U R3.z, R3;
  5939. TRUNC.U R3.w, R3;
  5940. AND.U.CC HC.x, R3.z, R3.w;
  5941. MOV.S R23.x, R3;
  5942. IF NE.x;
  5943. MOV.F R3.x, R3.y;
  5944. ELSE;
  5945. MOV.F R3.x, {0, 0, 0, 0};
  5946. ENDIF;
  5947. MOV.F R3.z, R17.y;
  5948. MOV.F R3.z, -R3;
  5949. MOV.F R3.w, R19;
  5950. MOV.F R4.z, R18.w;
  5951. MOV.S R23.z, R3;
  5952. SNE.F32 R3.z, R3.w, {0, 0, 0, 0}.x;
  5953. MUL.F32 R3.y, R3.w, R4.z;
  5954. SNE.F32 R3.w, R4.z, {0, 0, 0, 0}.x;
  5955. TRUNC.U R3.z, R3;
  5956. TRUNC.U R3.w, R3;
  5957. AND.U.CC HC.x, R3.z, R3.w;
  5958. MOV.S R7.y, R3.x;
  5959. IF NE.x;
  5960. MOV.F R3.x, R3.y;
  5961. ELSE;
  5962. MOV.F R3.x, {0, 0, 0, 0};
  5963. ENDIF;
  5964. MOV.F R3.w, R18;
  5965. MOV.F R3.z, R19.y;
  5966. MUL.F32 R3.y, R3.z, R3.w;
  5967. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  5968. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  5969. TRUNC.U R3.z, R3;
  5970. TRUNC.U R3.w, R3;
  5971. AND.U.CC HC.x, R3.z, R3.w;
  5972. MOV.S R13.w, R3.x;
  5973. IF NE.x;
  5974. MOV.F R3.x, R3.y;
  5975. ELSE;
  5976. MOV.F R3.x, {0, 0, 0, 0};
  5977. ENDIF;
  5978. MOV.F R3.w, R18;
  5979. MOV.F R3.y, R17.x;
  5980. MUL.F32 R3.z, R3.y, R3.w;
  5981. SNE.F32 R4.z, R3.w, {0, 0, 0, 0}.x;
  5982. SNE.F32 R3.y, R3, {0, 0, 0, 0}.x;
  5983. TRUNC.U R3.w, R3.y;
  5984. TRUNC.U R4.z, R4;
  5985. AND.U.CC HC.x, R3.w, R4.z;
  5986. MOV.S R3.y, R3.x;
  5987. IF NE.x;
  5988. MOV.F R3.x, R3.z;
  5989. ELSE;
  5990. MOV.F R3.x, {0, 0, 0, 0};
  5991. ENDIF;
  5992. MOV.F R3.w, R17.z;
  5993. MOV.F R3.z, R20.w;
  5994. ADD.F32 R3.z, R3, R3.w;
  5995. MOV.F R4.z, R20.x;
  5996. MOV.F R3.w, R18.z;
  5997. MOV.S R9.y, R3.z;
  5998. MUL.F32 R3.z, R3.w, R4;
  5999. SNE.F32 R3.w, R3, {0, 0, 0, 0}.x;
  6000. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6001. TRUNC.U R3.w, R3;
  6002. TRUNC.U R4.z, R4;
  6003. AND.U.CC HC.x, R3.w, R4.z;
  6004. MOV.S R3.x, R3;
  6005. IF NE.x;
  6006. ELSE;
  6007. MOV.F R3.z, {0, 0, 0, 0}.x;
  6008. ENDIF;
  6009. MOV.F R6.w, {1, 0, 0, 0}.x;
  6010. DP4.F32 R3.w, R10, R6;
  6011. MOV.F R10, R11;
  6012. MOV.S R7.w, R3;
  6013. DP4.F32 R3.w, R6, R10;
  6014. MOV.F R10, R12;
  6015. DP4.F32 R6.x, R6, R10;
  6016. MOV.S R4.w, R3;
  6017. MOV.F R4.z, R16.x;
  6018. MOV.F R3.w, R16.z;
  6019. ADD.F32 R3.w, -R3, R4.z;
  6020. MOV.S R14.w, R3;
  6021. MOV.F R3.w, c[11];
  6022. MOV.S R10.x, R0.y;
  6023. ADD.F32 R0.y, R0, -R3.w;
  6024. MOV.S R8.w, R6.x;
  6025. MOV.S R6.x, R0.y;
  6026. MOV.F R0.y, c[12].w;
  6027. ADD.F32 R0.y, R3.w, -R0;
  6028. MOV.F R4.z, R8.x;
  6029. SGT.F32 R3.w, R4.z, {0.5, 0, 0, 0}.x;
  6030. MOV.S R19.y, R0;
  6031. MOV.F R0.y, {1, 0, 0, 0}.x;
  6032. TRUNC.U.CC HC.x, R3.w;
  6033. MOV.S R3.z, R3;
  6034. MOV.S R10.w, R0.y;
  6035. MOV.S R9.w, {1065353216, 0, 0, 0}.x;
  6036. IF NE.x;
  6037. MOV.S R0.y, {-1, 0, 0, 0}.x;
  6038. ELSE;
  6039. MOV.S R0.y, {0, 0, 0, 0}.x;
  6040. ENDIF;
  6041. MOV.F R3.w, {1, 0, 0, 0}.x;
  6042. MOV.S R6.w, R3;
  6043. MOV.F R4.z, R10.x;
  6044. MOV.F R6.y, c[12].w;
  6045. SLT.F32 R6.z, R4, R6.y;
  6046. TRUNC.U.CC HC.x, R6.z;
  6047. MOV.S R3.w, {0, 0, 0, 0}.x;
  6048. MOV.S R3.w(EQ.x), R6;
  6049. MOV.F R6.z, R6.x;
  6050. SLT.F32 R6.z, R6, {0, 0, 0, 0}.x;
  6051. MOV.S R17.y, R3.w;
  6052. ADD.F32 R3.w, R4.z, -R6.y;
  6053. TRUNC.U.CC HC.x, R6.z;
  6054. MOV.S R12.x, {0, 0, 0, 0};
  6055. MOV.F R4.z, R24.x;
  6056. MOV.S R12.w, R3;
  6057. ADD.F32 R3.w, -R4.z, {1, 0, 0, 0}.x;
  6058. MOV.S R9.x, R3.w;
  6059. MOV.F R4.z, c[11].x;
  6060. MOV.F R3.w, c[12].x;
  6061. ADD.F32 R3.w, -R3, R4.z;
  6062. MOV.S R12.x(EQ), R6.w;
  6063. SEQ.S R4.z, R0.y, {0, 0, 0, 0}.x;
  6064. MOV.U.CC RC.x, -R4.z;
  6065. MOV.S R21.z, R3.w;
  6066. IF NE.x;
  6067. MOV.S R3.w, R24.y;
  6068. ELSE;
  6069. MOV.S R3.w, R24.y;
  6070. ENDIF;
  6071. MOV.F R6.w, R17.y;
  6072. ADD.F32 R8.x, -R6.w, {1, 0, 0, 0};
  6073. MOV.F R8.z, R12.x;
  6074. MOV.F R6.z, c[13].w;
  6075. MOV.F R6.y, R21.z;
  6076. MOV.F R4.z, R19.y;
  6077. DIV.F32 R4.z, R6.y, R4.z;
  6078. MOV.S R12.y, R4.z;
  6079. ADD.F32 R4.z, -R8, {1, 0, 0, 0}.x;
  6080. MOV.F R6.y, R10.x;
  6081. ADD.F32 R6.y, R6, -R6.z;
  6082. MOV.S R11.x, R6.y;
  6083. SNE.F32 R6.y, R6.w, {0, 0, 0, 0}.x;
  6084. MUL.F32 R4.z, R6.w, R4;
  6085. SNE.F32 R6.w, -R8.z, {-1, 0, 0, 0}.x;
  6086. TRUNC.U R8.z, R6.w;
  6087. MOV.S R12.z, R8.x;
  6088. TRUNC.U R8.x, R6.y;
  6089. MOV.F R6.y, c[11].w;
  6090. ADD.F32 R6.y, R6.z, -R6;
  6091. AND.U.CC HC.x, R8, R8.z;
  6092. MOV.F R6.w, c[13].x;
  6093. MOV.F R6.z, c[11].x;
  6094. ADD.F32 R6.z, -R6, R6.w;
  6095. MOV.S R19.w, R6.y;
  6096. MOV.S R21.x, R6.z;
  6097. MOV.S R11.w, R3;
  6098. IF NE.x;
  6099. MOV.F R3.w, R4.z;
  6100. ELSE;
  6101. MOV.F R3.w, {0, 0, 0, 0}.x;
  6102. ENDIF;
  6103. SEQ.S R0.y, R0, {0, 0, 0, 0}.x;
  6104. MOV.U.CC RC.x, -R0.y;
  6105. MOV.S R6.y, R3.w;
  6106. IF NE.x;
  6107. MOV.S R0.y, R24.x;
  6108. ELSE;
  6109. MOV.S R0.y, R9.x;
  6110. ENDIF;
  6111. MOV.F R3.w, R11.x;
  6112. SLT.F32 R6.z, R3.w, {0, 0, 0, 0}.x;
  6113. TRUNC.U.CC HC.x, R6.z;
  6114. MOV.F R4.z, {1, 0, 0, 0}.x;
  6115. MOV.S R3.w, {0, 0, 0, 0}.x;
  6116. MOV.S R3.w(EQ.x), R4.z;
  6117. SGT.F32 R9.x, R8.y, {0.5, 0, 0, 0};
  6118. MOV.F R4.z, R3.w;
  6119. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  6120. MOV.S R6.w, R4.z;
  6121. TRUNC.U.CC HC.x, R9;
  6122. MOV.F R6.z, R21.x;
  6123. MOV.F R4.z, R19.w;
  6124. DIV.F32 R4.z, R6, R4.z;
  6125. MOV.S R8.z, R4;
  6126. MOV.F R6.z, c[14].w;
  6127. MOV.F R4.z, R10.x;
  6128. ADD.F32 R4.z, -R6, R4;
  6129. MOV.S R8.x, R4.z;
  6130. MOV.F R4.z, c[13].w;
  6131. ADD.F32 R4.z, -R4, R6;
  6132. MOV.S R8.y, R4.z;
  6133. MOV.S R6.z, R0.y;
  6134. IF NE.x;
  6135. MOV.S R0.y, {-1, 0, 0, 0}.x;
  6136. ELSE;
  6137. MOV.S R0.y, {0, 0, 0, 0}.x;
  6138. ENDIF;
  6139. ENDIF;
  6140. SEQ.U R4.z, R22.w, {1, 0, 0, 0}.x;
  6141. MOV.U.CC RC.x, -R4.z;
  6142. IF NE.x;
  6143. MOV.F R9.z, R12.y;
  6144. MOV.F R9.x, R12.w;
  6145. MUL.F32 R4.z, R9.x, R9;
  6146. SNE.F32 R9.z, R9, {0, 0, 0, 0}.x;
  6147. SNE.F32 R9.x, R9, {0, 0, 0, 0};
  6148. TRUNC.U R9.z, R9;
  6149. TRUNC.U R9.x, R9;
  6150. AND.U.CC HC.x, R9, R9.z;
  6151. IF NE.x;
  6152. ELSE;
  6153. MOV.F R4.z, {0, 0, 0, 0}.x;
  6154. ENDIF;
  6155. MOV.F R9.x, R8;
  6156. SLT.F32 R10.y, R9.x, {0, 0, 0, 0}.x;
  6157. TRUNC.U.CC HC.x, R10.y;
  6158. RCP.F32 R8.y, R8.y;
  6159. MOV.S R9.x, {0, 0, 0, 0};
  6160. MOV.F R9.z, {1, 0, 0, 0}.x;
  6161. MOV.S R9.x(EQ), R9.z;
  6162. MOV.S R16.w, R9.x;
  6163. MOV.F R9.x, R6.w;
  6164. MOV.F R10.z, R12.x;
  6165. MOV.S R17.x, R8.y;
  6166. MOV.F R10.y, c[16].w;
  6167. MOV.F R9.z, R10.x;
  6168. ADD.F32 R9.z, R9, -R10.y;
  6169. MOV.S R16.y, R9.z;
  6170. MOV.F R9.z, R4.y;
  6171. MOV.F R4.y, c[15];
  6172. MAD.F32 R4.y, R4, {0.5, 0, 0, 0}.x, R9.z;
  6173. MOV.S R21.w, R4.y;
  6174. MOV.F R4.y, R4.x;
  6175. MOV.F R4.x, c[15];
  6176. MAD.F32 R4.x, R4, {0.5, 0, 0, 0}, R4.y;
  6177. SNE.F32 R4.y, R10.z, {0, 0, 0, 0}.x;
  6178. MOV.S R21.x, R4;
  6179. MOV.F R4.x, c[12];
  6180. ADD.F32 R4.x, R4.z, R4;
  6181. SNE.F32 R8.y, R9.x, {0, 0, 0, 0}.x;
  6182. TRUNC.U R4.y, R4;
  6183. TRUNC.U R4.z, R8.y;
  6184. AND.U.CC HC.x, R4.y, R4.z;
  6185. MUL.F32 R6.w, R10.z, R9.x;
  6186. MOV.S R16.x, R4;
  6187. AND.S R21.z, c[2].x, {524288, 0, 0, 0}.x;
  6188. IF NE.x;
  6189. MOV.F R4.x, R6.w;
  6190. ELSE;
  6191. MOV.F R4.x, {0, 0, 0, 0};
  6192. ENDIF;
  6193. MOV.F R4.z, R23.y;
  6194. MOV.F R4.y, R21.w;
  6195. SNE.F32 R6.w, R4.y, {0, 0, 0, 0}.x;
  6196. TRUNC.U R9.x, R6.w;
  6197. SNE.F32 R8.y, R4.z, {0, 0, 0, 0}.x;
  6198. MUL.F32 R4.y, R4.z, R4;
  6199. MOV.F R6.w, c[14].x;
  6200. MOV.F R4.z, c[13].x;
  6201. ADD.F32 R4.z, -R4, R6.w;
  6202. TRUNC.U R6.w, R8.y;
  6203. AND.U.CC HC.x, R6.w, R9;
  6204. MOV.S R19.x, R4.z;
  6205. MOV.S R20.y, R4.x;
  6206. IF NE.x;
  6207. MOV.F R4.x, R4.y;
  6208. ELSE;
  6209. MOV.F R4.x, {0, 0, 0, 0};
  6210. ENDIF;
  6211. MOV.F R6.w, R21.x;
  6212. MOV.F R4.z, R15.w;
  6213. MUL.F32 R4.y, R4.z, R6.w;
  6214. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6215. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6216. TRUNC.U R4.z, R4;
  6217. TRUNC.U R6.w, R6;
  6218. AND.U.CC HC.x, R4.z, R6.w;
  6219. MOV.S R19.y, R4.x;
  6220. IF NE.x;
  6221. MOV.F R4.x, R4.y;
  6222. ELSE;
  6223. MOV.F R4.x, {0, 0, 0, 0};
  6224. ENDIF;
  6225. SEQ.S R4.y, R21.z, {524288, 0, 0, 0}.x;
  6226. MOV.U.CC RC.x, -R4.y;
  6227. MOV.S R17.z, R4.x;
  6228. IF NE.x;
  6229. MOV.S R6.w, {-1, 0, 0, 0}.x;
  6230. ELSE;
  6231. MOV.S R6.w, {0, 0, 0, 0}.x;
  6232. ENDIF;
  6233. MOV.F R4.x, R16.y;
  6234. SLT.F32 R4.z, R4.x, {0, 0, 0, 0}.x;
  6235. MOV.S R4.x, {0, 0, 0, 0};
  6236. TRUNC.U.CC HC.x, R4.z;
  6237. MOV.F R4.y, {1, 0, 0, 0}.x;
  6238. MOV.S R4.x(EQ), R4.y;
  6239. MOV.F R4.y, R7;
  6240. MOV.S R18.y, R4.x;
  6241. MOV.F R4.x, R19.y;
  6242. SNE.F32 R4.z, R4.x, {0, 0, 0, 0}.x;
  6243. TRUNC.U R7.y, R4.z;
  6244. SNE.F32 R8.y, R4, {0, 0, 0, 0}.x;
  6245. MUL.F32 R4.x, R4, R4.y;
  6246. MOV.F R4.z, c[16].w;
  6247. MOV.F R4.y, c[14].w;
  6248. ADD.F32 R4.y, -R4, R4.z;
  6249. TRUNC.U R4.z, R8.y;
  6250. AND.U.CC HC.x, R7.y, R4.z;
  6251. MOV.S R21.x, R4.y;
  6252. IF NE.x;
  6253. ELSE;
  6254. MOV.F R4.x, {0, 0, 0, 0};
  6255. ENDIF;
  6256. MOV.F R4.y, R3;
  6257. ADD.F32 R4.x, R4, R4.y;
  6258. MOV.F R4.z, R23;
  6259. MOV.F R4.y, R19;
  6260. MOV.S R21.y, R4.x;
  6261. MUL.F32 R4.x, R4.y, R4.z;
  6262. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6263. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6264. TRUNC.U R4.z, R4;
  6265. TRUNC.U R4.y, R4;
  6266. AND.U.CC HC.x, R4.y, R4.z;
  6267. IF NE.x;
  6268. ELSE;
  6269. MOV.F R4.x, {0, 0, 0, 0};
  6270. ENDIF;
  6271. MOV.F R4.y, R13.w;
  6272. ADD.F32 R4.x, R4, R4.y;
  6273. MOV.F R4.z, R23.x;
  6274. MOV.F R4.y, R19;
  6275. MOV.S R21.z, R4.x;
  6276. MUL.F32 R4.x, R4.y, R4.z;
  6277. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6278. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6279. TRUNC.U R4.z, R4;
  6280. TRUNC.U R4.y, R4;
  6281. AND.U.CC HC.x, R4.y, R4.z;
  6282. IF NE.x;
  6283. ELSE;
  6284. MOV.F R4.x, {0, 0, 0, 0};
  6285. ENDIF;
  6286. MOV.F R4.y, R19.x;
  6287. MOV.F R4.z, R17.x;
  6288. MUL.F32 R4.z, R4.y, R4;
  6289. MOV.F R4.y, R3.x;
  6290. ADD.F32 R4.y, R4.x, R4;
  6291. MOV.S R18.w, R4.z;
  6292. MOV.F R4.z, R17;
  6293. MOV.F R7.y, R3.z;
  6294. MUL.F32 R4.x, R4.z, R7.y;
  6295. MOV.S R21.w, R4.y;
  6296. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6297. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6298. TRUNC.U R4.z, R7.y;
  6299. TRUNC.U R4.y, R4;
  6300. AND.U.CC HC.x, R4.y, R4.z;
  6301. IF NE.x;
  6302. ELSE;
  6303. MOV.F R4.x, {0, 0, 0, 0};
  6304. ENDIF;
  6305. MOV.F R4.y, R21.z;
  6306. ADD.F32 R4.y, R4.x, R4;
  6307. MOV.F R4.z, R17;
  6308. MOV.F R7.y, R9;
  6309. MUL.F32 R4.x, R4.z, R7.y;
  6310. MOV.S R17.x, R4.y;
  6311. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6312. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6313. TRUNC.U R4.z, R7.y;
  6314. TRUNC.U R4.y, R4;
  6315. AND.U.CC HC.x, R4.y, R4.z;
  6316. IF NE.x;
  6317. ELSE;
  6318. MOV.F R4.x, {0, 0, 0, 0};
  6319. ENDIF;
  6320. MOV.F R4.y, R21;
  6321. ADD.F32 R4.y, R4.x, R4;
  6322. MOV.F R4.z, R17;
  6323. MOV.F R7.y, R14.w;
  6324. MUL.F32 R4.x, R4.z, R7.y;
  6325. MOV.S R17.y, R4;
  6326. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6327. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  6328. TRUNC.U R4.z, R7.y;
  6329. TRUNC.U R4.y, R4;
  6330. AND.U.CC HC.x, R4.y, R4.z;
  6331. IF NE.x;
  6332. ELSE;
  6333. MOV.F R4.x, {0, 0, 0, 0};
  6334. ENDIF;
  6335. MOV.F R4.y, R21.w;
  6336. ADD.F32 R4.x, R4, R4.y;
  6337. MOV.F R4.z, R12;
  6338. MOV.F R4.y, c[12].x;
  6339. MOV.S R17.z, R4.x;
  6340. MUL.F32 R4.x, R4.y, R4.z;
  6341. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  6342. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  6343. TRUNC.U R4.z, R4;
  6344. TRUNC.U R4.y, R4;
  6345. AND.U.CC HC.x, R4.y, R4.z;
  6346. IF NE.x;
  6347. ELSE;
  6348. MOV.F R4.x, {0, 0, 0, 0};
  6349. ENDIF;
  6350. MOV.F R7.y, R6;
  6351. MOV.F R12.xyz, R13;
  6352. MOV.F R6.y, R16.x;
  6353. MOV.F R13.xyz, R17;
  6354. MOV.F R4.y, R21.x;
  6355. MOV.F R12.w, R7;
  6356. MOV.F R13.w, R10;
  6357. DP4.F32 R4.z, R12, R13;
  6358. MOV.S R13.x, R4.z;
  6359. RCP.F32 R4.z, R4.y;
  6360. MOV.S R16.z, R4;
  6361. SNE.F32 R4.z, R6.y, {0, 0, 0, 0}.x;
  6362. MUL.F32 R4.y, R6, R7;
  6363. SNE.F32 R6.y, R7, {0, 0, 0, 0}.x;
  6364. TRUNC.U R4.z, R4;
  6365. TRUNC.U R6.y, R6;
  6366. AND.U.CC HC.x, R4.z, R6.y;
  6367. MOV.S R19.w, R4.x;
  6368. IF NE.x;
  6369. MOV.F R6.y, R4;
  6370. ELSE;
  6371. MOV.F R6.y, {0, 0, 0, 0}.x;
  6372. ENDIF;
  6373. MOV.F R4.xyz, R14;
  6374. MOV.F R12.w, R10;
  6375. MOV.F R12.xyz, R17;
  6376. DP4.F32 R4.y, R4, R12;
  6377. MOV.F R4.z, R6.x;
  6378. MOV.F R4.x, R19.w;
  6379. MOV.S R14.y, R4;
  6380. ADD.F32 R4.y, R6, R4.x;
  6381. MOV.F R4.w, R8.z;
  6382. MUL.F32 R4.x, R4.z, R4.w;
  6383. MOV.S R20.x, R4.y;
  6384. SNE.F32 R4.y, R4.z, {0, 0, 0, 0}.x;
  6385. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  6386. TRUNC.U R4.z, R4.w;
  6387. TRUNC.U R4.y, R4;
  6388. AND.U.CC HC.x, R4.y, R4.z;
  6389. IF NE.x;
  6390. MOV.F R6.x, R4;
  6391. ELSE;
  6392. MOV.F R6.x, {0, 0, 0, 0};
  6393. ENDIF;
  6394. MOV.F R4.xyz, R15;
  6395. MOV.F R4.w, R8;
  6396. MOV.F R12.xyz, R17;
  6397. MOV.F R12.w, R10;
  6398. DP4.F32 R4.x, R4, R12;
  6399. MOV.F R4.w, R20.y;
  6400. SNE.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  6401. TRUNC.U R7.y, R6;
  6402. MOV.S R15.z, R4.x;
  6403. MOV.F R4.z, c[17].w;
  6404. MOV.F R4.x, R10;
  6405. ADD.F32 R4.x, R4, -R4.z;
  6406. MOV.F R4.y, R16.w;
  6407. MOV.S R16.x, R4;
  6408. ADD.F32 R4.x, -R4.y, {1, 0, 0, 0};
  6409. MOV.F R4.y, c[11].x;
  6410. MOV.S R19.z, R4.x;
  6411. ADD.F32 R4.x, R6, R4.y;
  6412. MUL.F32 R4.x, R4, R4.w;
  6413. SNE.F32 R4.y, R6.x, -R4;
  6414. TRUNC.U R4.y, R4;
  6415. AND.U.CC HC.x, R4.y, R7.y;
  6416. MOV.F R6.y, c[16].x;
  6417. MOV.F R4.w, c[14].x;
  6418. ADD.F32 R4.w, -R4, R6.y;
  6419. MOV.F R6.y, c[16].w;
  6420. ADD.F32 R4.z, R4, -R6.y;
  6421. MOV.S R17.x, R4.w;
  6422. MOV.S R19.y, R4.z;
  6423. IF NE.x;
  6424. ELSE;
  6425. MOV.F R4.x, {0, 0, 0, 0};
  6426. ENDIF;
  6427. MOV.F R4.y, R20.x;
  6428. ADD.F32 R4.x, R4, R4.y;
  6429. SEQ.S R4.y, R6.w, {0, 0, 0, 0}.x;
  6430. MOV.U.CC RC.x, -R4.y;
  6431. MOV.S R20.w, R4.x;
  6432. IF NE.x;
  6433. MOV.S R4.x, R24.y;
  6434. ELSE;
  6435. MOV.S R4.x, R11.w;
  6436. ENDIF;
  6437. MOV.F R4.w, R11.x;
  6438. MOV.F R4.z, R16;
  6439. MOV.F R4.y, R17.x;
  6440. MUL.F32 R4.y, R4, R4.z;
  6441. MOV.S R20.y, R4;
  6442. MOV.F R4.y, R10.x;
  6443. MOV.F R4.z, c[18].w;
  6444. ADD.F32 R4.z, R4.y, -R4;
  6445. MOV.F R6.x, R18.w;
  6446. MUL.F32 R4.y, R4.w, R6.x;
  6447. MOV.S R18.x, R4.z;
  6448. SNE.F32 R4.z, R4.w, {0, 0, 0, 0}.x;
  6449. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6450. TRUNC.U R4.w, R6.x;
  6451. TRUNC.U R4.z, R4;
  6452. AND.U.CC HC.x, R4.z, R4.w;
  6453. IF NE.x;
  6454. ELSE;
  6455. MOV.F R4.y, {0, 0, 0, 0}.x;
  6456. ENDIF;
  6457. MOV.F R4.z, R3.w;
  6458. SNE.F32 R4.w, R4.z, {0, 0, 0, 0}.x;
  6459. MOV.F R6.x, R19.z;
  6460. TRUNC.U R6.y, R4.w;
  6461. MOV.F R4.w, c[13].x;
  6462. ADD.F32 R4.y, R4, R4.w;
  6463. MUL.F32 R4.z, R4, R6.x;
  6464. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6465. TRUNC.U R4.w, R6.x;
  6466. AND.U.CC HC.x, R6.y, R4.w;
  6467. MOV.S R21.z, R4.y;
  6468. IF NE.x;
  6469. MOV.F R4.y, R4.z;
  6470. ELSE;
  6471. MOV.F R4.y, {0, 0, 0, 0}.x;
  6472. ENDIF;
  6473. MOV.F R4.z, R16.x;
  6474. SLT.F32 R4.w, R4.z, {0, 0, 0, 0}.x;
  6475. TRUNC.U.CC HC.x, R4.w;
  6476. MOV.S R4.y, R4;
  6477. MOV.F R4.w, R4.y;
  6478. MOV.F R4.z, {1, 0, 0, 0}.x;
  6479. MOV.S R20.x, {0, 0, 0, 0};
  6480. MOV.S R20.x(EQ), R4.z;
  6481. MOV.F R4.z, R19.y;
  6482. RCP.F32 R4.z, R4.z;
  6483. MOV.S R17.x, R4.z;
  6484. MOV.F R4.z, R18.y;
  6485. ADD.F32 R4.z, -R4, {1, 0, 0, 0}.x;
  6486. MOV.S R19.y, R4.z;
  6487. MOV.F R4.z, R21;
  6488. SNE.F32 R6.x, R4.z, {0, 0, 0, 0};
  6489. MUL.F32 R4.y, R4.z, R4.w;
  6490. SNE.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  6491. MOV.F R4.w, c[17].x;
  6492. MOV.F R4.z, c[16].x;
  6493. ADD.F32 R4.z, -R4, R4.w;
  6494. TRUNC.U R6.x, R6;
  6495. TRUNC.U R4.w, R6.y;
  6496. AND.U.CC HC.x, R6, R4.w;
  6497. MOV.S R19.z, R4;
  6498. IF NE.x;
  6499. ELSE;
  6500. MOV.F R4.y, {0, 0, 0, 0}.x;
  6501. ENDIF;
  6502. MOV.F R4.z, R20.w;
  6503. ADD.F32 R4.y, R4, R4.z;
  6504. MOV.S R17.w, R4.y;
  6505. SEQ.S R4.y, R6.w, {0, 0, 0, 0}.x;
  6506. MOV.U.CC RC.x, -R4.y;
  6507. IF NE.x;
  6508. MOV.S R4.y, R24.x;
  6509. ELSE;
  6510. MOV.S R4.y, R6.z;
  6511. ENDIF;
  6512. MOV.F R4.w, R17.x;
  6513. MOV.F R4.z, R19;
  6514. MUL.F32 R4.z, R4, R4.w;
  6515. MOV.F R6.x, R19.y;
  6516. MOV.F R4.w, R16;
  6517. MOV.S R17.x, R4.z;
  6518. MUL.F32 R4.z, R4.w, R6.x;
  6519. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6520. SNE.F32 R4.w, R4, {0, 0, 0, 0}.x;
  6521. TRUNC.U R6.x, R6;
  6522. TRUNC.U R4.w, R4;
  6523. AND.U.CC HC.x, R4.w, R6;
  6524. IF NE.x;
  6525. ELSE;
  6526. MOV.F R4.z, {0, 0, 0, 0}.x;
  6527. ENDIF;
  6528. MOV.F R4.w, R18.x;
  6529. SLT.F32 R6.y, R4.w, {0, 0, 0, 0}.x;
  6530. TRUNC.U.CC HC.x, R6.y;
  6531. MOV.S R4.w, {0, 0, 0, 0}.x;
  6532. MOV.F R6.x, {1, 0, 0, 0};
  6533. MOV.S R4.w(EQ.x), R6.x;
  6534. MOV.F R6.y, R20;
  6535. MOV.F R6.x, R8;
  6536. MOV.S R20.w, R4;
  6537. MUL.F32 R4.w, R6.x, R6.y;
  6538. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  6539. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6540. TRUNC.U R6.z, R6.x;
  6541. TRUNC.U R6.w, R6.y;
  6542. AND.U.CC HC.x, R6.z, R6.w;
  6543. MOV.F R6.x, c[17].w;
  6544. MOV.F R6.y, c[18].w;
  6545. ADD.F32 R6.y, -R6.x, R6;
  6546. MOV.F R6.x, R4;
  6547. ADD.F32 R6.x, -R6, {1, 0, 0, 0};
  6548. MOV.S R21.w, R6.y;
  6549. MOV.S R17.y, R4.z;
  6550. MOV.S R21.z, R6.x;
  6551. IF NE.x;
  6552. MOV.F R4.z, R4.w;
  6553. ELSE;
  6554. MOV.F R4.z, {0, 0, 0, 0}.x;
  6555. ENDIF;
  6556. MOV.F R4.w, R20.x;
  6557. ADD.F32 R6.x, -R4.w, {1, 0, 0, 0};
  6558. MOV.F R4.w, c[14].x;
  6559. ADD.F32 R4.z, R4, R4.w;
  6560. SEQ.S R4.w, R0.y, {0, 0, 0, 0}.x;
  6561. MOV.U.CC RC.x, -R4.w;
  6562. MOV.S R19.z, R6.x;
  6563. MOV.S R21.x, R4.z;
  6564. AND.S R19.y, c[2].x, {1048576, 0, 0, 0}.x;
  6565. IF NE.x;
  6566. MOV.S R4.z, R4.x;
  6567. ELSE;
  6568. MOV.S R4.z, R21;
  6569. ENDIF;
  6570. MOV.F R4.w, R21;
  6571. RCP.F32 R6.x, R4.w;
  6572. MOV.F R6.y, R21.x;
  6573. MOV.F R6.z, R17.y;
  6574. MUL.F32 R4.w, R6.y, R6.z;
  6575. MOV.S R16.z, R6.x;
  6576. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  6577. TRUNC.U R6.w, R6.x;
  6578. MOV.F R6.y, c[18].x;
  6579. MOV.F R6.x, c[17];
  6580. ADD.F32 R6.x, -R6, R6.y;
  6581. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  6582. TRUNC.U R6.y, R6.z;
  6583. AND.U.CC HC.x, R6.w, R6.y;
  6584. MOV.S R21.x, R6;
  6585. IF NE.x;
  6586. ELSE;
  6587. MOV.F R4.w, {0, 0, 0, 0}.x;
  6588. ENDIF;
  6589. MOV.F R6.x, R17.w;
  6590. ADD.F32 R4.w, R4, R6.x;
  6591. MOV.S R17.y, R4.w;
  6592. SEQ.S R4.w, R19.y, {1048576, 0, 0, 0}.x;
  6593. MOV.U.CC RC.x, -R4.w;
  6594. IF NE.x;
  6595. MOV.S R4.w, {-1, 0, 0, 0}.x;
  6596. ELSE;
  6597. MOV.S R4.w, {0, 0, 0, 0}.x;
  6598. ENDIF;
  6599. MOV.F R6.z, R19;
  6600. MOV.F R6.y, R18;
  6601. MUL.F32 R6.x, R6.y, R6.z;
  6602. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  6603. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  6604. TRUNC.U R6.z, R6;
  6605. TRUNC.U R6.y, R6;
  6606. AND.U.CC HC.x, R6.y, R6.z;
  6607. IF NE.x;
  6608. ELSE;
  6609. MOV.F R6.x, {0, 0, 0, 0};
  6610. ENDIF;
  6611. MOV.F R6.y, R21.x;
  6612. MOV.F R6.z, R16;
  6613. MUL.F32 R6.z, R6.y, R6;
  6614. MOV.F R6.y, R20.w;
  6615. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  6616. MOV.S R19.x, R6.z;
  6617. MOV.S R18.z, R6.y;
  6618. MOV.F R6.z, c[19].w;
  6619. MOV.F R6.y, R10.x;
  6620. ADD.F32 R6.w, -R6.z, R6.y;
  6621. MOV.F R6.y, c[18].w;
  6622. ADD.F32 R6.y, -R6, R6.z;
  6623. SEQ.S R6.z, R0.y, {0, 0, 0, 0}.x;
  6624. MOV.U.CC RC.x, -R6.z;
  6625. MOV.S R19.z, R6.w;
  6626. MOV.S R18.y, R6;
  6627. MOV.S R17.w, R6.x;
  6628. IF NE.x;
  6629. MOV.S R6.x, R4.y;
  6630. ELSE;
  6631. MOV.S R6.x, R4.y;
  6632. ENDIF;
  6633. SEQ.S R6.y, R4.w, {0, 0, 0, 0}.x;
  6634. MOV.U.CC RC.x, -R6.y;
  6635. IF NE.x;
  6636. ELSE;
  6637. MOV.S R4.x, R4.z;
  6638. ENDIF;
  6639. SEQ.S R4.z, R4.w, {0, 0, 0, 0}.x;
  6640. MOV.U.CC RC.x, -R4.z;
  6641. MOV.S R11.w, R4.x;
  6642. IF NE.x;
  6643. MOV.S R4.x, R4.y;
  6644. ELSE;
  6645. MOV.S R4.x, R6;
  6646. ENDIF;
  6647. MOV.F R4.y, R19.z;
  6648. SLT.F32 R4.w, R4.y, {0, 0, 0, 0}.x;
  6649. TRUNC.U.CC HC.x, R4.w;
  6650. MOV.S R4.y, {0, 0, 0, 0}.x;
  6651. MOV.F R4.z
  6652. [19:43:20] Link error in shader. Log:
  6653. [19:43:20] Vertex info
  6654. -----------
  6655. Internal error: assembly compile error for vertex shader at offset 1782:
  6656. -- error message --
  6657. line 37, column 45: error: invalid vertex attribute reference
  6658. line 52, column 25: error: invalid vertex attribute reference
  6659. line 54, column 25: error: invalid vertex attribute reference
  6660. line 60, column 25: error: invalid vertex attribute reference
  6661. line 63, column 25: error: invalid vertex attribute reference
  6662. -- internal assembly text --
  6663. !!NVvp5.0
  6664. OPTION NV_bindless_texture;
  6665. # cgc version 3.4.0001, build date Aug 25 2016
  6666. # command line args:
  6667. #vendor NVIDIA Corporation
  6668. #version 3.4.0.1 COP Build Date Aug 25 2016
  6669. #profile gp5vp
  6670. #program main
  6671. #semantic uf_remappedVS
  6672. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  6673. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  6674. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  6675. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  6676. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  6677. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  6678. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  6679. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  6680. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  6681. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  6682. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  6683. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  6684. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  6685. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  6686. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  6687. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  6688. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  6689. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  6690. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 0
  6691. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  6692. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  6693. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  6694. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  6695. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  6696. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  6697. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  6698. PARAM c[35] = { program.local[0..34] };
  6699. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  6700. OUTPUT result_attrib[] = { result.attrib[0..4] };
  6701. 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;
  6702. TEMP RC;
  6703. SHORT TEMP HC;
  6704. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  6705. AND.U R1, R0, {65280, 0, 0, 0}.x;
  6706. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  6707. MOV.F R10.w, {1, 0, 0, 0}.x;
  6708. OR.U R0, R0, R1;
  6709. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  6710. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  6711. OR.U R0, R0, R1;
  6712. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  6713. OR.U R19, R0, R2;
  6714. SHR.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  6715. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6716. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  6717. OR.U R2, R2, R3;
  6718. MOV.U R0.x, R19.w;
  6719. MOV.F R0.y, c[0].x;
  6720. ADD.F32 R1.x, -R0, R0.y;
  6721. MOV.S R1.y, R1.x;
  6722. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  6723. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6724. OR.U R0, R2, R0;
  6725. SHL.U R3, vertex.attrib[16], {24, 0, 0, 0}.x;
  6726. OR.U R5, R0, R3;
  6727. SHR.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  6728. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6729. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  6730. SGT.F32 R1.x, {0, 0, 0, 0}, R1;
  6731. TRUNC.U R1.x, R1;
  6732. SEQ.U R1.z, R1.x, {1, 0, 0, 0}.x;
  6733. SEQ.U R12.x, -R1.z, {1, 0, 0, 0};
  6734. SHR.U R1.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  6735. AND.U R11.xy, R1.zwzw, {65280, 0, 0, 0}.x;
  6736. SHR.U R1.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  6737. MOV.U.CC RC.x, -R12;
  6738. OR.U R2, R2, R3;
  6739. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  6740. AND.U R3, R0, {16711680, 0, 0, 0}.x;
  6741. OR.U R2, R2, R3;
  6742. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  6743. OR.U R6, R2, R0;
  6744. SHR.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  6745. AND.U R3, R2, {65280, 0, 0, 0}.x;
  6746. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  6747. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  6748. OR.U R2, R2, R3;
  6749. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  6750. OR.U R0, R2, R0;
  6751. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  6752. OR.U R7, R0, R3;
  6753. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  6754. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6755. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  6756. OR.U R0, R0, R2;
  6757. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  6758. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6759. OR.U R0, R0, R2;
  6760. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  6761. OR.U R8, R0, R3;
  6762. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  6763. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6764. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  6765. OR.U R0, R0, R2;
  6766. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  6767. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6768. OR.U R0, R0, R2;
  6769. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  6770. OR.U R9, R0, R3;
  6771. SHR.U R0, vertex.attrib[4], {8, 0, 0, 0}.x;
  6772. AND.U R2, R0, {65280, 0, 0, 0}.x;
  6773. SHR.U R0, vertex.attrib[4], {24, 0, 0, 0}.x;
  6774. OR.U R0, R0, R2;
  6775. SHL.U R3, vertex.attrib[4], {8, 0, 0, 0}.x;
  6776. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  6777. OR.U R0, R0, R2;
  6778. SHL.U R3, vertex.attrib[4], {24, 0, 0, 0}.x;
  6779. OR.U R15, R0, R3;
  6780. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6781. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6782. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6783. OR.U R0.xyz, R0, R2;
  6784. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  6785. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6786. OR.U R0.xyz, R0, R2;
  6787. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  6788. OR.U R21.xyz, R0, R3;
  6789. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6790. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6791. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6792. OR.U R0.xyz, R0, R2;
  6793. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  6794. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6795. OR.U R0.xyz, R0, R2;
  6796. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  6797. OR.U R17.xyz, R0.yxzw, R3.yxzw;
  6798. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  6799. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6800. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  6801. OR.U R0.xyz, R0, R2;
  6802. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  6803. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6804. OR.U R0.xyz, R0, R2;
  6805. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  6806. OR.U R20.xyz, R0, R3;
  6807. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6808. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6809. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6810. OR.U R0.xyz, R0, R2;
  6811. SHL.U R3.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  6812. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6813. OR.U R0.xyz, R0, R2;
  6814. SHL.U R3.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  6815. OR.U R22.xyz, R0, R3;
  6816. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6817. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6818. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6819. OR.U R0.xyz, R0, R2;
  6820. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  6821. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6822. OR.U R0.xyz, R0, R2;
  6823. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  6824. OR.U R10.xyz, R0, R3;
  6825. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6826. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  6827. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6828. OR.U R0.xyz, R0, R2;
  6829. SHL.U R3.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  6830. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  6831. OR.U R0.xyz, R0, R2;
  6832. SHL.U R3.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  6833. OR.U R23.xyz, R0, R3;
  6834. OR.U R1.zw, R1, R11.xyxy;
  6835. SHL.U R11.zw, vertex.attrib[15].xyxy, {8, 0, 0, 0}.x;
  6836. AND.U R11.xy, R11.zwzw, {16711680, 0, 0, 0}.x;
  6837. OR.U R1.zw, R1, R11.xyxy;
  6838. SHL.U R11.zw, vertex.attrib[15].xyxy, {24, 0, 0, 0}.x;
  6839. OR.U R24.xy, R1.zwzw, R11.zwzw;
  6840. MOV.S R2, {0, 0, 0, 0}.x;
  6841. MOV.S R4, {0, 0, 0, 0}.x;
  6842. MOV.S R3, {0, 0, 0, 0}.x;
  6843. MOV.S R0, {0, 0, 0, 0}.x;
  6844. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  6845. MOV.S R1.zw, {0, 0, 0, 0};
  6846. MOV.S R10.w, R10;
  6847. IF NE.x;
  6848. MOV.F R2.x, c[1].y;
  6849. MUL.F32 R2.z, R2.x, {5, 0, 0, 0}.x;
  6850. MOV.S R15.w, R10;
  6851. MOV.S R2.xyw, {0, 0, 0, 0}.xyzx;
  6852. MOV.S R2.z, R2;
  6853. MOV.S R19.x, {0, 0, 0, 0};
  6854. ENDIF;
  6855. SEQ.U R1.x, R1, {0, 0, 0, 0};
  6856. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6857. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6858. MOV.U.CC RC.x, -R1;
  6859. IF NE.x;
  6860. MOV.S R15.w, {0, 0, 0, 0}.x;
  6861. ENDIF;
  6862. SEQ.S R1.x, R15.w, {0, 0, 0, 0};
  6863. SEQ.U R11.x, -R1, {1, 0, 0, 0};
  6864. SEQ.U R11.y, -R11.x, {1, 0, 0, 0}.x;
  6865. MOV.U.CC RC.x, -R11.y;
  6866. MOV.U R1.x, -R1;
  6867. MOV.U R11.x, -R11;
  6868. IF NE.x;
  6869. MOV.F R1.z, R6.w;
  6870. TRUNC.S R1.z, R1;
  6871. I2F.S R1.z, R1;
  6872. MOV.F R11.y, R1;
  6873. SGE.F32 R11.y, R11, R1.z;
  6874. SEQ.U R11.z, R11.x, {1, 0, 0, 0}.x;
  6875. TRUNC.U R11.y, R11;
  6876. SEQ.U R11.x, R11.y, {1, 0, 0, 0};
  6877. AND.U R15.w, -R11.x, -R11.z;
  6878. MOV.S R1.z, R1;
  6879. ELSE;
  6880. MOV.U R15.w, {0, 0, 0, 0}.x;
  6881. ENDIF;
  6882. SEQ.U R11.x, R15.w, {1, 0, 0, 0};
  6883. MOV.U.CC RC.x, -R11;
  6884. IF NE.x;
  6885. MOV.F R2.x, c[1].y;
  6886. MUL.F32 R2.z, R2.x, {5, 0, 0, 0}.x;
  6887. MOV.S R1.w, R10;
  6888. MOV.S R2.xy, {0, 0, 0, 0};
  6889. MOV.S R2.z, R2;
  6890. MOV.S R19.x, {0, 0, 0, 0};
  6891. ENDIF;
  6892. SEQ.U R1.x, R1, {1, 0, 0, 0};
  6893. SEQ.U R11.y, -R1.x, {1, 0, 0, 0}.x;
  6894. MOV.U.CC RC.x, -R11.y;
  6895. MOV.U R11.x, -R1;
  6896. IF NE.x;
  6897. SEQ.S R1.x, R1.w, {0, 0, 0, 0};
  6898. SEQ.U R11.x, R11, {1, 0, 0, 0};
  6899. SEQ.U R1.x, -R1, {1, 0, 0, 0};
  6900. AND.U R15.w, -R1.x, -R11.x;
  6901. ELSE;
  6902. MOV.U R15.w, {0, 0, 0, 0}.x;
  6903. ENDIF;
  6904. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  6905. MOV.U.CC RC.x, -R1;
  6906. IF NE.x;
  6907. MOV.F R1.w, c[2].x;
  6908. SLT.F32 R6.w, R1, {0, 0, 0, 0}.x;
  6909. MOV.F R1.x, {1, 0, 0, 0};
  6910. TRUNC.U.CC HC.x, R6.w;
  6911. MOV.F R1.x(EQ), {0, 0, 0, 0};
  6912. MOV.S R12.x, R1;
  6913. MOV.F R1.x, R20;
  6914. MAX.F R1.x, R1, {0, 0, 0, 0};
  6915. SGT.F32 R1.w, R1, {0, 0, 0, 0}.x;
  6916. TRUNC.U.CC HC.x, R1.w;
  6917. MOV.S R12.y, R1.x;
  6918. IF NE.x;
  6919. MOV.F R1.x, {1, 0, 0, 0};
  6920. ELSE;
  6921. MOV.F R1.x, {0, 0, 0, 0};
  6922. ENDIF;
  6923. MOV.F R1.w, R20.x;
  6924. SNE.F32 R10.w, R1, {0, 0, 0, 0}.x;
  6925. MOV.F R6.w, c[3].y;
  6926. MUL.F32 R1.w, R1, R6;
  6927. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  6928. TRUNC.U R10.w, R10;
  6929. TRUNC.U R6.w, R6;
  6930. AND.U.CC HC.x, R10.w, R6.w;
  6931. MOV.S R12.z, R1.x;
  6932. IF NE.x;
  6933. MOV.F R6.w, R1;
  6934. ELSE;
  6935. MOV.F R6.w, {0, 0, 0, 0}.x;
  6936. ENDIF;
  6937. MOV.F R11.y, R1;
  6938. DIV.F32 R1.z, R11.y, R1.z;
  6939. SNE.F32 R10.w, R1.z, {0, 0, 0, 0}.x;
  6940. MOV.F R1.w, R12.x;
  6941. MOV.F R1.x, R12.z;
  6942. ADD.F32 R1.x, R1, -R1.w;
  6943. ADD.F32 R1.w, -R1.x, {1, 0, 0, 0}.x;
  6944. SNE.F32 R11.x, -R1, {-1, 0, 0, 0};
  6945. MUL.F32 R1.w, R1.z, R1;
  6946. MOV.S R13.x, R1;
  6947. MOV.F R1.x, R12.y;
  6948. MIN.F R11.z, R1.x, {0, 0, 0, 0}.x;
  6949. MOV.F R1.x, R17.y;
  6950. ADD.F32 R1.x, R1, R11.z;
  6951. MOV.F R11.w, c[2].x;
  6952. RCP.F32 R11.z, R11.w;
  6953. MAD.F32 R6.w, R11.y, R11.z, R6;
  6954. MOV.S R12.y, R6.w;
  6955. MOV.F R11.y, c[5].x;
  6956. MOV.F R6.w, c[4].x;
  6957. ADD.F32 R6.w, -R6, R11.y;
  6958. TRUNC.U R10.w, R10;
  6959. TRUNC.U R11.x, R11;
  6960. AND.U.CC HC.x, R10.w, R11;
  6961. MOV.F R11.z, c[5].y;
  6962. MOV.F R11.y, c[4];
  6963. ADD.F32 R11.y, -R11, R11.z;
  6964. MOV.S R1.z, R1;
  6965. MOV.S R1.x, R1;
  6966. MOV.S R13.z, R6.w;
  6967. MOV.S R14.z, R11.y;
  6968. IF NE.x;
  6969. ELSE;
  6970. MOV.F R1.w, {0, 0, 0, 0}.x;
  6971. ENDIF;
  6972. MOV.F R6.w, R12.y;
  6973. FRC.F R11.x, R6.w;
  6974. MOV.F R10.w, R13.x;
  6975. SNE.F32 R11.z, R11.x, {0, 0, 0, 0}.x;
  6976. MUL.F32 R6.w, R10, R11.x;
  6977. TRUNC.U R11.w, R11.z;
  6978. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  6979. TRUNC.U R10.w, R10;
  6980. AND.U.CC HC.x, R10.w, R11.w;
  6981. MOV.F R11.y, c[6].x;
  6982. MOV.F R11.x, c[5];
  6983. ADD.F32 R11.x, -R11, R11.y;
  6984. MOV.S R13.x, R11;
  6985. MOV.F R11.y, c[5].z;
  6986. MOV.F R11.x, c[4].z;
  6987. ADD.F32 R11.x, -R11, R11.y;
  6988. MOV.F R11.z, c[5].w;
  6989. MOV.F R11.y, c[4].w;
  6990. ADD.F32 R11.y, -R11, R11.z;
  6991. MOV.S R13.y, R11.x;
  6992. MOV.S R16.z, R11.y;
  6993. MOV.S R14.x, R1.w;
  6994. IF NE.x;
  6995. MOV.F R1.w, R6;
  6996. ELSE;
  6997. MOV.F R1.w, {0, 0, 0, 0}.x;
  6998. ENDIF;
  6999. MOV.F R11.x, R16.z;
  7000. MOV.F R6.w, R13.z;
  7001. DIV.F32 R11.y, R6.w, R11.x;
  7002. MOV.F R10.w, R14.z;
  7003. MOV.S R13.z, R11.y;
  7004. DIV.F32 R10.w, R10, R11.x;
  7005. MOV.F R6.w, R14.x;
  7006. MOV.S R14.x, R10.w;
  7007. MOV.F R10.w, R13.y;
  7008. DIV.F32 R10.w, R10, R11.x;
  7009. MOV.S R1.w, R1;
  7010. ADD.F32 R11.x, R6.w, R1.w;
  7011. MOV.F R11.y, c[4].w;
  7012. ADD.F32 R11.z, R11.x, -R11.y;
  7013. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  7014. MUL.F32 R1.w, R11.z, R10;
  7015. MOV.F R10.w, c[5];
  7016. ADD.F32 R11.w, R11.x, -R10;
  7017. MOV.S R12.x, R11.z;
  7018. SNE.F32 R11.z, R11.x, R11.y;
  7019. MOV.S R14.y, R11.w;
  7020. MOV.S R13.y, R11.x;
  7021. MOV.F R11.w, c[6];
  7022. ADD.F32 R10.w, -R10, R11;
  7023. MOV.F R11.x, c[5].z;
  7024. MOV.F R11.y, c[6].z;
  7025. ADD.F32 R11.y, -R11.x, R11;
  7026. TRUNC.U R11.x, R11.z;
  7027. TRUNC.U R6.w, R6;
  7028. MOV.S R14.z, R11.y;
  7029. AND.U.CC HC.x, R11, R6.w;
  7030. MOV.F R11.z, c[6].y;
  7031. MOV.F R11.y, c[5];
  7032. ADD.F32 R11.y, -R11, R11.z;
  7033. MOV.S R14.w, R11.y;
  7034. MOV.S R16.x, R10.w;
  7035. IF NE.x;
  7036. ELSE;
  7037. MOV.F R1.w, {0, 0, 0, 0}.x;
  7038. ENDIF;
  7039. MOV.F R11.x, R14;
  7040. MOV.F R10.w, R12.x;
  7041. MUL.F32 R6.w, R10, R11.x;
  7042. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7043. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7044. TRUNC.U R10.w, R10;
  7045. TRUNC.U R11.x, R11;
  7046. AND.U.CC HC.x, R10.w, R11;
  7047. MOV.S R16.y, R1.w;
  7048. IF NE.x;
  7049. MOV.F R1.w, R6;
  7050. ELSE;
  7051. MOV.F R1.w, {0, 0, 0, 0}.x;
  7052. ENDIF;
  7053. MOV.F R11.x, R13.z;
  7054. MOV.F R10.w, R12.x;
  7055. MUL.F32 R6.w, R10, R11.x;
  7056. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7057. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7058. TRUNC.U R10.w, R10;
  7059. TRUNC.U R11.x, R11;
  7060. AND.U.CC HC.x, R10.w, R11;
  7061. MOV.S R16.z, R1.w;
  7062. IF NE.x;
  7063. MOV.F R1.w, R6;
  7064. ELSE;
  7065. MOV.F R1.w, {0, 0, 0, 0}.x;
  7066. ENDIF;
  7067. MOV.F R10.w, R14.y;
  7068. SLT.F32 R11.x, R10.w, {0, 0, 0, 0};
  7069. TRUNC.U.CC HC.x, R11;
  7070. MOV.F R11.x, R12;
  7071. SLT.F32 R11.z, R11.x, {0, 0, 0, 0}.x;
  7072. MOV.F R6.w, {1, 0, 0, 0}.x;
  7073. MOV.S R11.y, R6.w;
  7074. MOV.S R6.w, {0, 0, 0, 0}.x;
  7075. MOV.S R6.w(EQ.x), R11.y;
  7076. TRUNC.U.CC HC.x, R11.z;
  7077. MOV.S R11.x, {0, 0, 0, 0};
  7078. MOV.S R11.x(EQ), R11.y;
  7079. MOV.F R11.z, R6.w;
  7080. MOV.S R11.y, R6.w;
  7081. ADD.F32 R6.w, -R11.z, {1, 0, 0, 0}.x;
  7082. MOV.S R11.z, R11.x;
  7083. MOV.F R11.x, R16;
  7084. MOV.F R11.w, R14;
  7085. DIV.F32 R12.x, R11.w, R11.x;
  7086. MOV.F R11.w, R16.z;
  7087. MOV.F R12.y, R13.x;
  7088. DIV.F32 R12.z, R12.y, R11.x;
  7089. MOV.F R12.y, R14.z;
  7090. DIV.F32 R11.x, R12.y, R11.x;
  7091. MOV.S R16.z, R12.x;
  7092. MOV.F R12.x, R16.y;
  7093. MOV.S R16.y, R11.x;
  7094. MUL.F32 R11.x, R10.w, R12.z;
  7095. SNE.F32 R12.w, R12.z, {0, 0, 0, 0}.x;
  7096. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7097. MOV.F R12.z, c[6].w;
  7098. MOV.F R12.y, R13;
  7099. ADD.F32 R12.y, R12, -R12.z;
  7100. TRUNC.U R12.z, R12.w;
  7101. MOV.S R16.x, R12.y;
  7102. MOV.F R12.y, c[4];
  7103. ADD.F32 R11.w, R12.y, R11;
  7104. MOV.F R12.w, c[4].z;
  7105. ADD.F32 R12.x, R12.w, R12;
  7106. MOV.S R13.w, R11;
  7107. MOV.F R11.w, c[4].x;
  7108. ADD.F32 R1.w, R11, R1;
  7109. TRUNC.U R10.w, R10;
  7110. AND.U.CC HC.x, R10.w, R12.z;
  7111. MOV.S R6.w, R6;
  7112. MOV.S R13.z, R12.x;
  7113. MOV.S R12.y, R14;
  7114. MOV.S R14.x, R1.w;
  7115. IF NE.x;
  7116. MOV.F R1.w, R11.x;
  7117. ELSE;
  7118. MOV.F R1.w, {0, 0, 0, 0}.x;
  7119. ENDIF;
  7120. MOV.F R10.w, R16.x;
  7121. SLT.F32 R11.w, R10, {0, 0, 0, 0}.x;
  7122. MOV.S R10.w, {0, 0, 0, 0}.x;
  7123. TRUNC.U.CC HC.x, R11.w;
  7124. MOV.F R11.x, {1, 0, 0, 0};
  7125. MOV.S R10.w(EQ.x), R11.x;
  7126. MOV.S R14.y, R10.w;
  7127. MOV.F R10.w, R16.y;
  7128. SNE.F32 R11.w, R10, {0, 0, 0, 0}.x;
  7129. MOV.F R11.x, R12.y;
  7130. MUL.F32 R10.w, R11.x, R10;
  7131. TRUNC.U R11.w, R11;
  7132. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7133. MOV.S R12.x, R1.w;
  7134. TRUNC.U R1.w, R11.x;
  7135. AND.U.CC HC.x, R1.w, R11.w;
  7136. IF NE.x;
  7137. MOV.F R1.w, R10;
  7138. ELSE;
  7139. MOV.F R1.w, {0, 0, 0, 0}.x;
  7140. ENDIF;
  7141. MOV.F R10.w, R16.z;
  7142. SNE.F32 R11.w, R10, {0, 0, 0, 0}.x;
  7143. MOV.F R11.x, R12.y;
  7144. MUL.F32 R10.w, R11.x, R10;
  7145. TRUNC.U R11.w, R11;
  7146. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7147. MOV.S R12.z, R1.w;
  7148. TRUNC.U R1.w, R11.x;
  7149. AND.U.CC HC.x, R1.w, R11.w;
  7150. IF NE.x;
  7151. MOV.F R1.w, R10;
  7152. ELSE;
  7153. MOV.F R1.w, {0, 0, 0, 0}.x;
  7154. ENDIF;
  7155. MOV.F R11.x, R6.w;
  7156. MOV.F R10.w, R11.z;
  7157. MUL.F32 R6.w, R10, R11.x;
  7158. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7159. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7160. TRUNC.U R10.w, R10;
  7161. TRUNC.U R11.x, R11;
  7162. AND.U.CC HC.x, R10.w, R11;
  7163. MOV.S R12.w, R1;
  7164. IF NE.x;
  7165. ELSE;
  7166. MOV.F R6.w, {0, 0, 0, 0}.x;
  7167. ENDIF;
  7168. MOV.S R6.w, R6;
  7169. MOV.F R10.w, R12.z;
  7170. MOV.F R1.w, c[5].z;
  7171. ADD.F32 R1.w, R1, R10;
  7172. MOV.S R14.w, R1;
  7173. MOV.F R1.w, R14.x;
  7174. MOV.F R11.x, R12.w;
  7175. MOV.F R10.w, c[5].y;
  7176. ADD.F32 R10.w, R10, R11.x;
  7177. MOV.S R14.x, R10.w;
  7178. MOV.F R11.w, R14.y;
  7179. MOV.F R11.x, R12;
  7180. MOV.F R10.w, c[5].x;
  7181. ADD.F32 R10.w, R10, R11.x;
  7182. ADD.F32 R11.x, -R11.w, {1, 0, 0, 0};
  7183. MOV.S R13.y, R10.w;
  7184. MOV.S R10.w, R6;
  7185. MOV.F R11.w, R10;
  7186. MOV.S R16.z, R11.x;
  7187. MUL.F32 R10.w, R1, R11;
  7188. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  7189. SNE.F32 R11.x, R11.w, {0, 0, 0, 0};
  7190. TRUNC.U R1.w, R1;
  7191. TRUNC.U R11.x, R11;
  7192. AND.U.CC HC.x, R1.w, R11;
  7193. MOV.S R17.y, R6.w;
  7194. IF NE.x;
  7195. ELSE;
  7196. MOV.F R10.w, {0, 0, 0, 0}.x;
  7197. ENDIF;
  7198. MOV.F R1.w, R14.y;
  7199. SNE.F32 R6.w, R1, {0, 0, 0, 0}.x;
  7200. MOV.F R11.x, c[6];
  7201. MUL.F32 R1.w, R11.x, R1;
  7202. TRUNC.U R6.w, R6;
  7203. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  7204. MOV.S R13.x, R10.w;
  7205. TRUNC.U R10.w, R11.x;
  7206. AND.U.CC HC.x, R10.w, R6.w;
  7207. MOV.S R12.y, R14;
  7208. IF NE.x;
  7209. ELSE;
  7210. MOV.F R1.w, {0, 0, 0, 0}.x;
  7211. ENDIF;
  7212. MOV.F R11.x, c[6].y;
  7213. MOV.F R6.w, R14.y;
  7214. SNE.F32 R10.w, R6, {0, 0, 0, 0}.x;
  7215. SNE.F32 R11.w, R11.x, {0, 0, 0, 0}.x;
  7216. MUL.F32 R6.w, R11.x, R6;
  7217. MOV.S R11.x, R1.w;
  7218. TRUNC.U R10.w, R10;
  7219. TRUNC.U R1.w, R11;
  7220. AND.U.CC HC.x, R1.w, R10.w;
  7221. IF NE.x;
  7222. MOV.F R1.w, R6;
  7223. ELSE;
  7224. MOV.F R1.w, {0, 0, 0, 0}.x;
  7225. ENDIF;
  7226. MOV.F R10.w, R11.y;
  7227. MOV.F R11.w, R16.z;
  7228. MUL.F32 R6.w, R10, R11;
  7229. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7230. SNE.F32 R11.y, R11.w, {0, 0, 0, 0}.x;
  7231. TRUNC.U R10.w, R10;
  7232. TRUNC.U R11.y, R11;
  7233. AND.U.CC HC.x, R10.w, R11.y;
  7234. MOV.S R14.y, R1.w;
  7235. IF NE.x;
  7236. ELSE;
  7237. MOV.F R6.w, {0, 0, 0, 0}.x;
  7238. ENDIF;
  7239. MOV.F R10.w, c[6].z;
  7240. MOV.F R11.y, R12;
  7241. MUL.F32 R1.w, R10, R11.y;
  7242. MOV.S R12.z, R6.w;
  7243. SNE.F32 R6.w, R10, {0, 0, 0, 0}.x;
  7244. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7245. TRUNC.U R10.w, R11.y;
  7246. TRUNC.U R6.w, R6;
  7247. AND.U.CC HC.x, R6.w, R10.w;
  7248. IF NE.x;
  7249. MOV.F R6.w, R1;
  7250. ELSE;
  7251. MOV.F R6.w, {0, 0, 0, 0}.x;
  7252. ENDIF;
  7253. MOV.F R11.y, R17;
  7254. MOV.F R10.w, R13;
  7255. MUL.F32 R1.w, R10, R11.y;
  7256. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7257. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7258. TRUNC.U R10.w, R10;
  7259. TRUNC.U R11.y, R11;
  7260. AND.U.CC HC.x, R10.w, R11.y;
  7261. MOV.S R17.w, R6;
  7262. IF NE.x;
  7263. MOV.F R6.w, R1;
  7264. ELSE;
  7265. MOV.F R6.w, {0, 0, 0, 0}.x;
  7266. ENDIF;
  7267. MOV.F R11.y, R12.z;
  7268. MOV.F R10.w, R14.x;
  7269. MUL.F32 R1.w, R10, R11.y;
  7270. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7271. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7272. TRUNC.U R10.w, R10;
  7273. TRUNC.U R11.y, R11;
  7274. AND.U.CC HC.x, R10.w, R11.y;
  7275. MOV.S R13.w, R6;
  7276. IF NE.x;
  7277. MOV.F R6.w, R1;
  7278. ELSE;
  7279. MOV.F R6.w, {0, 0, 0, 0}.x;
  7280. ENDIF;
  7281. MOV.F R11.y, R12.z;
  7282. MOV.F R10.w, R13.y;
  7283. MUL.F32 R1.w, R10, R11.y;
  7284. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7285. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7286. TRUNC.U R10.w, R10;
  7287. TRUNC.U R11.y, R11;
  7288. AND.U.CC HC.x, R10.w, R11.y;
  7289. MOV.S R14.x, R6.w;
  7290. IF NE.x;
  7291. ELSE;
  7292. MOV.F R1.w, {0, 0, 0, 0}.x;
  7293. ENDIF;
  7294. MOV.F R11.y, R17;
  7295. MOV.F R10.w, R13.z;
  7296. MUL.F32 R6.w, R10, R11.y;
  7297. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7298. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7299. TRUNC.U R10.w, R10;
  7300. TRUNC.U R11.y, R11;
  7301. AND.U.CC HC.x, R10.w, R11.y;
  7302. MOV.S R13.y, R1.w;
  7303. IF NE.x;
  7304. MOV.F R1.w, R6;
  7305. ELSE;
  7306. MOV.F R1.w, {0, 0, 0, 0}.x;
  7307. ENDIF;
  7308. MOV.F R11.y, R12.z;
  7309. MOV.F R10.w, R14;
  7310. MUL.F32 R6.w, R10, R11.y;
  7311. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  7312. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7313. TRUNC.U R10.w, R10;
  7314. TRUNC.U R11.y, R11;
  7315. AND.U.CC HC.x, R10.w, R11.y;
  7316. MOV.S R13.z, R1.w;
  7317. IF NE.x;
  7318. MOV.F R1.w, R6;
  7319. ELSE;
  7320. MOV.F R1.w, {0, 0, 0, 0}.x;
  7321. ENDIF;
  7322. MOV.F R10.w, R11.z;
  7323. ADD.F32 R11.y, -R10.w, {1, 0, 0, 0}.x;
  7324. SNE.F32 R11.w, -R10, {-1, 0, 0, 0}.x;
  7325. MOV.F R11.z, c[4].x;
  7326. TRUNC.U R12.x, R11.w;
  7327. MOV.S R6.w, R11.y;
  7328. MUL.F32 R10.w, R11.y, R11.z;
  7329. SNE.F32 R11.y, R11.z, {0, 0, 0, 0}.x;
  7330. MOV.S R11.w, R1;
  7331. TRUNC.U R1.w, R11.y;
  7332. AND.U.CC HC.x, R1.w, R12;
  7333. IF NE.x;
  7334. MOV.F R1.w, R10;
  7335. ELSE;
  7336. MOV.F R1.w, {0, 0, 0, 0}.x;
  7337. ENDIF;
  7338. MOV.F R11.y, R20;
  7339. MOV.F R10.w, R20.x;
  7340. ADD.F32 R10.w, R10, R11.y;
  7341. MOV.F R11.y, c[4].z;
  7342. MOV.S R12.x, R1.w;
  7343. SNE.F32 R1.w, R11.y, {0, 0, 0, 0}.x;
  7344. MOV.F R11.z, R6.w;
  7345. MOV.S R17.y, R10.w;
  7346. MUL.F32 R10.w, R11.y, R11.z;
  7347. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  7348. TRUNC.U R11.y, R11.z;
  7349. TRUNC.U R1.w, R1;
  7350. AND.U.CC HC.x, R1.w, R11.y;
  7351. IF NE.x;
  7352. ELSE;
  7353. MOV.F R10.w, {0, 0, 0, 0}.x;
  7354. ENDIF;
  7355. MOV.F R11.y, R6.w;
  7356. MOV.F R6.w, c[4].y;
  7357. MUL.F32 R1.w, R6, R11.y;
  7358. MOV.S R11.z, R10.w;
  7359. SNE.F32 R10.w, R11.y, {0, 0, 0, 0}.x;
  7360. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7361. TRUNC.U R10.w, R10;
  7362. TRUNC.U R6.w, R6;
  7363. AND.U.CC HC.x, R6.w, R10.w;
  7364. IF NE.x;
  7365. MOV.F R11.y, R1.w;
  7366. ELSE;
  7367. MOV.F R11.y, {0, 0, 0, 0}.x;
  7368. ENDIF;
  7369. MOV.F R6.w, {1, 0, 0, 0}.x;
  7370. DP4.F32 R1.w, R7, R6;
  7371. MOV.S R7.w, R1;
  7372. DP4.F32 R1.w, R6, R9;
  7373. MOV.F R16, R8;
  7374. DP4.F32 R7.x, R6, R16;
  7375. MOV.F R6.y, R12.x;
  7376. MOV.F R6.x, R13;
  7377. ADD.F32 R6.y, R6.x, R6;
  7378. MOV.F R6.x, R13.y;
  7379. ADD.F32 R6.y, R6.x, R6;
  7380. MOV.F R6.x, R11;
  7381. SNE.F32 R6.z, R6.x, -R6.y;
  7382. ADD.F32 R6.x, R6, R6.y;
  7383. MOV.F R6.y, R1.x;
  7384. MUL.F32 R1.x, R6.y, R6;
  7385. MOV.F R6.x, R13.w;
  7386. ADD.F32 R6.x, R6, R11.y;
  7387. TRUNC.U R6.z, R6;
  7388. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7389. MOV.S R12.x, R6;
  7390. TRUNC.U R6.x, R6.y;
  7391. AND.U.CC HC.x, R6, R6.z;
  7392. MOV.S R10.w, R7.x;
  7393. MOV.S R1.w, R1;
  7394. IF NE.x;
  7395. ELSE;
  7396. MOV.F R1.x, {0, 0, 0, 0};
  7397. ENDIF;
  7398. MOV.F R6.x, R14;
  7399. MOV.F R6.y, R12.x;
  7400. ADD.F32 R6.y, R6.x, R6;
  7401. MOV.F R6.x, R14.y;
  7402. ADD.F32 R6.x, R6, R6.y;
  7403. MOV.S R12.z, R6.x;
  7404. MOV.F R7.x, R20.z;
  7405. MOV.F R6.x, R20;
  7406. ADD.F32 R6.y, R6.x, R7.x;
  7407. MAD.F32 R7.y, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7408. ADD.F32 R6.x, R6, {-0.5, 0, 0, 0};
  7409. MOV.F R6.y, R11.w;
  7410. MOV.F R6.w, R11.z;
  7411. MOV.F R6.z, R13;
  7412. ADD.F32 R6.z, R6, R6.w;
  7413. ADD.F32 R6.w, R6.y, R6.z;
  7414. MOV.S R6.z, R7.y;
  7415. MOV.F R7.y, R17.w;
  7416. ADD.F32 R6.y, R7, R6.w;
  7417. MOV.S R7.z, R6;
  7418. SNE.F32 R6.w, R7.y, -R6;
  7419. MUL.F32 R7.y, R7.z, {2, 0, 0, 0}.x;
  7420. MOV.F R6.z, R17;
  7421. MOV.F R7.z, R20.y;
  7422. ADD.F32 R7.x, R7, R7.z;
  7423. MUL.F32 R6.y, R6.z, R6;
  7424. MOV.S R16.y, R7;
  7425. MOV.F R7.y, R17;
  7426. MAD.F32 R7.y, R7, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  7427. MOV.S R9.x, R6;
  7428. ADD.F32 R6.x, R7.z, {-0.5, 0, 0, 0};
  7429. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7430. MOV.S R7.y, R7;
  7431. MAD.F32 R8.x, R7, {0.5, 0, 0, 0}, -{0.5, 0, 0, 0};
  7432. MOV.S R7.x, R7.y;
  7433. MUL.F32 R7.x, R7, {2, 0, 0, 0};
  7434. TRUNC.U R6.w, R6;
  7435. TRUNC.U R6.z, R6;
  7436. AND.U.CC HC.x, R6.z, R6.w;
  7437. MOV.S R7.y, R8.x;
  7438. MOV.S R11.w, R7.x;
  7439. MUL.F32 R7.x, R7.y, {2, 0, 0, 0};
  7440. MOV.S R17.w, R7.x;
  7441. MOV.S R6.x, R6;
  7442. MOV.S R9.y, R1.x;
  7443. IF NE.x;
  7444. MOV.F R1.x, R6.y;
  7445. ELSE;
  7446. MOV.F R1.x, {0, 0, 0, 0};
  7447. ENDIF;
  7448. MOV.F R6.w, R12.z;
  7449. MOV.F R6.z, R17.x;
  7450. MUL.F32 R6.y, R6.z, R6.w;
  7451. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7452. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7453. TRUNC.U R6.w, R6;
  7454. TRUNC.U R6.z, R6;
  7455. AND.U.CC HC.x, R6.z, R6.w;
  7456. MOV.S R17.z, R1.x;
  7457. IF NE.x;
  7458. MOV.F R1.x, R6.y;
  7459. ELSE;
  7460. MOV.F R1.x, {0, 0, 0, 0};
  7461. ENDIF;
  7462. MOV.F R6.z, R16.y;
  7463. MOV.F R6.w, c[7].z;
  7464. MUL.F32 R6.y, R6.z, R6.w;
  7465. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  7466. MOV.F R6.z, R20;
  7467. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  7468. TRUNC.U R7.x, R7;
  7469. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7470. MOV.S R8.z, R6;
  7471. TRUNC.U R6.z, R6.w;
  7472. AND.U.CC HC.x, R7, R6.z;
  7473. MOV.S R9.w, R1.x;
  7474. IF NE.x;
  7475. MOV.F R1.x, R6.y;
  7476. ELSE;
  7477. MOV.F R1.x, {0, 0, 0, 0};
  7478. ENDIF;
  7479. MOV.F R6.w, c[7].x;
  7480. MOV.F R6.z, R11.w;
  7481. MUL.F32 R6.y, R6.z, R6.w;
  7482. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7483. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7484. TRUNC.U R6.z, R6;
  7485. TRUNC.U R6.w, R6;
  7486. AND.U.CC HC.x, R6.z, R6.w;
  7487. MOV.S R12.x, R1;
  7488. IF NE.x;
  7489. MOV.F R1.x, R6.y;
  7490. ELSE;
  7491. MOV.F R1.x, {0, 0, 0, 0};
  7492. ENDIF;
  7493. MOV.F R6.z, R17.w;
  7494. MOV.F R6.w, c[7].y;
  7495. MUL.F32 R6.y, R6.z, R6.w;
  7496. SNE.F32 R7.x, R6.z, {0, 0, 0, 0};
  7497. MOV.F R6.z, R20.y;
  7498. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  7499. TRUNC.U R7.x, R7;
  7500. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7501. MOV.S R12.z, R6;
  7502. TRUNC.U R6.z, R6.w;
  7503. AND.U.CC HC.x, R7, R6.z;
  7504. MOV.S R12.y, R1.x;
  7505. IF NE.x;
  7506. MOV.F R1.x, R6.y;
  7507. ELSE;
  7508. MOV.F R1.x, {0, 0, 0, 0};
  7509. ENDIF;
  7510. MOV.F R6.z, R12.x;
  7511. MOV.F R6.y, c[8].z;
  7512. ADD.F32 R6.y, R6, R6.z;
  7513. MOV.S R8.y, R6;
  7514. MOV.F R6.z, c[8].x;
  7515. MOV.F R6.y, R12;
  7516. ADD.F32 R6.y, R6, R6.z;
  7517. MOV.F R6.z, R12;
  7518. MOV.S R8.x, R6.y;
  7519. FLR.F R6.y, R6.z;
  7520. MOV.S R6.y, R6;
  7521. MOV.F R6.z, R6.y;
  7522. SGT.F32 R6.w, R6.z, {0, 0, 0, 0}.x;
  7523. MOV.F R6.z, c[8].y;
  7524. ADD.F32 R1.x, R6.z, R1;
  7525. MOV.S R16.w, R6.y;
  7526. MOV.F R6.y, R20.z;
  7527. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  7528. FLR.F R6.y, R6;
  7529. TRUNC.U.CC HC.x, R6.w;
  7530. MOV.S R6.z, R6.y;
  7531. MOV.S R7.z, R1.x;
  7532. IF NE.x;
  7533. MOV.F R1.x, {1, 0, 0, 0};
  7534. ELSE;
  7535. MOV.F R1.x, {0, 0, 0, 0};
  7536. ENDIF;
  7537. MOV.F R6.y, R16.w;
  7538. SLT.F32 R6.w, R6.y, {0, 0, 0, 0}.x;
  7539. TRUNC.U.CC HC.x, R6.w;
  7540. MOV.F R6.y, {1, 0, 0, 0}.x;
  7541. MOV.F R6.y(EQ.x), {0, 0, 0, 0}.x;
  7542. MOV.S R17.x, R6.y;
  7543. MOV.S R17.y, R1.x;
  7544. AND.S R6.w, c[9].x, {65536, 0, 0, 0}.x;
  7545. AND.S R6.y, c[9].x, {262144, 0, 0, 0}.x;
  7546. AND.S R9.z, c[9].x, {131072, 0, 0, 0}.x;
  7547. ENDIF;
  7548. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  7549. MOV.U.CC RC.x, -R1;
  7550. IF NE.x;
  7551. MOV.F R7.y, c[10];
  7552. MOV.F R7.x, R17;
  7553. MOV.F R1.x, R17.y;
  7554. ADD.F32 R1.x, R1, -R7;
  7555. MOV.S R11.x, R1;
  7556. MOV.F R1.x, R9.y;
  7557. MUL.F32 R7.x, R1, R7.y;
  7558. SNE.F32 R9.y, R7, {0, 0, 0, 0}.x;
  7559. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  7560. TRUNC.U R7.y, R1.x;
  7561. TRUNC.U R9.y, R9;
  7562. AND.U.CC HC.x, R7.y, R9.y;
  7563. MOV.S R1.x, R17.z;
  7564. IF NE.x;
  7565. ELSE;
  7566. MOV.F R7.x, {0, 0, 0, 0};
  7567. ENDIF;
  7568. MOV.F R9.y, R9.w;
  7569. MOV.F R11.y, c[10].z;
  7570. MUL.F32 R7.y, R9, R11;
  7571. SNE.F32 R9.y, R9, {0, 0, 0, 0}.x;
  7572. TRUNC.U R9.w, R9.y;
  7573. SNE.F32 R11.y, R11, {0, 0, 0, 0}.x;
  7574. TRUNC.U R11.y, R11;
  7575. AND.U.CC HC.x, R9.w, R11.y;
  7576. MOV.S R9.y, R7.x;
  7577. IF NE.x;
  7578. MOV.F R7.x, R7.y;
  7579. ELSE;
  7580. MOV.F R7.x, {0, 0, 0, 0};
  7581. ENDIF;
  7582. MOV.F R7.y, R1.x;
  7583. MOV.F R9.w, c[10];
  7584. MUL.F32 R1.x, R7.y, R9.w;
  7585. MOV.S R17.z, R7.x;
  7586. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  7587. SNE.F32 R9.w, R9, {0, 0, 0, 0}.x;
  7588. TRUNC.U R7.y, R9.w;
  7589. TRUNC.U R7.x, R7;
  7590. AND.U.CC HC.x, R7, R7.y;
  7591. IF NE.x;
  7592. ELSE;
  7593. MOV.F R1.x, {0, 0, 0, 0};
  7594. ENDIF;
  7595. I2F.S R7.x, R6.w;
  7596. MOV.S R1.x, R1;
  7597. MOV.S R6.w, R1.x;
  7598. MOV.S R1.x, R7;
  7599. MOV.F R7.y, R6.w;
  7600. MOV.F R7.x, R21.z;
  7601. MUL.F32 R6.w, R7.x, R7.y;
  7602. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  7603. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  7604. TRUNC.U R7.y, R7;
  7605. TRUNC.U R7.x, R7;
  7606. AND.U.CC HC.x, R7, R7.y;
  7607. IF NE.x;
  7608. ELSE;
  7609. MOV.F R6.w, {0, 0, 0, 0}.x;
  7610. ENDIF;
  7611. MOV.F R7.x, R1;
  7612. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  7613. TRUNC.U.CC HC.x, R7;
  7614. MOV.S R17.x, R6.w;
  7615. IF NE.x;
  7616. MOV.F R6.w, {1, 0, 0, 0}.x;
  7617. ELSE;
  7618. MOV.F R6.w, {0, 0, 0, 0}.x;
  7619. ENDIF;
  7620. SLT.F32 R7.x, R1, {0, 0, 0, 0};
  7621. TRUNC.U.CC HC.x, R7;
  7622. MOV.F R1.x, {1, 0, 0, 0};
  7623. MOV.F R1.x(EQ), {0, 0, 0, 0};
  7624. MOV.S R16.z, R1.x;
  7625. MOV.F R1.x, R6.w;
  7626. MOV.F R7.x, R6.z;
  7627. SGT.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  7628. TRUNC.U.CC HC.x, R6.w;
  7629. MOV.S R16.y, R1.x;
  7630. IF NE.x;
  7631. MOV.F R1.x, {1, 0, 0, 0};
  7632. ELSE;
  7633. MOV.F R1.x, {0, 0, 0, 0};
  7634. ENDIF;
  7635. I2F.S R7.x, R9.z;
  7636. MOV.S R6.w, R7.x;
  7637. SGT.F32 R7.x, R7, {0, 0, 0, 0};
  7638. TRUNC.U.CC HC.x, R7;
  7639. MOV.S R11.w, R1.x;
  7640. IF NE.x;
  7641. MOV.F R7.x, {1, 0, 0, 0};
  7642. ELSE;
  7643. MOV.F R7.x, {0, 0, 0, 0};
  7644. ENDIF;
  7645. MOV.F R1.x, R6.z;
  7646. SLT.F32 R1.x, R1, {0, 0, 0, 0};
  7647. TRUNC.U.CC HC.x, R1;
  7648. MOV.F R6.z, {1, 0, 0, 0}.x;
  7649. MOV.F R6.z(EQ.x), {0, 0, 0, 0}.x;
  7650. MOV.F R1.x, R6.w;
  7651. SLT.F32 R6.w, R1.x, {0, 0, 0, 0}.x;
  7652. MOV.S R12.z, R6;
  7653. MOV.F R1.x, {1, 0, 0, 0};
  7654. TRUNC.U.CC HC.x, R6.w;
  7655. MOV.F R1.x(EQ), {0, 0, 0, 0};
  7656. MOV.S R12.y, R1.x;
  7657. MOV.F R6.z, R16;
  7658. MOV.F R1.x, R16.y;
  7659. ADD.F32 R1.x, R1, -R6.z;
  7660. I2F.S R6.z, R6.y;
  7661. MOV.S R12.w, R1.x;
  7662. MOV.S R1.x, R6.z;
  7663. MOV.F R6.y, R7.x;
  7664. SGT.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7665. TRUNC.U.CC HC.x, R6.z;
  7666. MOV.S R12.x, R6.y;
  7667. IF NE.x;
  7668. MOV.F R6.y, {1, 0, 0, 0}.x;
  7669. ELSE;
  7670. MOV.F R6.y, {0, 0, 0, 0}.x;
  7671. ENDIF;
  7672. SLT.F32 R6.z, R1.x, {0, 0, 0, 0}.x;
  7673. TRUNC.U.CC HC.x, R6.z;
  7674. MOV.F R1.x, {1, 0, 0, 0};
  7675. MOV.F R1.x(EQ), {0, 0, 0, 0};
  7676. ADD.F32 R1.x, R6.y, -R1;
  7677. MOV.F R6.y, R12;
  7678. MOV.S R12.y, R1.x;
  7679. MOV.F R1.x, R12;
  7680. ADD.F32 R1.x, R1, -R6.y;
  7681. MOV.S R16.z, R1.x;
  7682. MOV.F R6.y, R12.z;
  7683. MOV.F R1.x, R11.w;
  7684. ADD.F32 R1.x, R1, -R6.y;
  7685. MOV.F R6.y, R12.w;
  7686. MOV.S R11.w, R1.x;
  7687. TRUNC.S R1.x, R6.y;
  7688. MOV.F R6.z, c[11].x;
  7689. MOV.S R13.z, R1.x;
  7690. ADD.S R12.x, -R1, {0, 0, 0, 0};
  7691. MOV.F R1.x, R9;
  7692. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  7693. TRUNC.U R6.w, R6.y;
  7694. MUL.F32 R1.x, R1, R6.z;
  7695. MOV.F R6.y, R20.x;
  7696. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7697. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  7698. TRUNC.U R6.z, R6;
  7699. AND.U.CC HC.x, R6.w, R6.z;
  7700. MOV.S R12.z, R6.y;
  7701. IF NE.x;
  7702. ELSE;
  7703. MOV.F R1.x, {0, 0, 0, 0};
  7704. ENDIF;
  7705. MOV.F R6.y, R16.z;
  7706. TRUNC.S R6.y, R6;
  7707. MOV.F R6.z, R12;
  7708. FLR.F R6.z, R6;
  7709. MOV.S R16.z, R6;
  7710. MOV.F R6.z, c[11].y;
  7711. MOV.S R14.y, R6;
  7712. ADD.S R16.y, -R6, {0, 0, 0, 0}.x;
  7713. MOV.F R6.y, R6.x;
  7714. MUL.F32 R6.x, R6.y, R6.z;
  7715. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7716. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7717. TRUNC.U R6.y, R6;
  7718. TRUNC.U R6.z, R6;
  7719. AND.U.CC HC.x, R6.y, R6.z;
  7720. MAX.S R16.x, R12, R13.z;
  7721. MOV.S R17.w, R1.x;
  7722. IF NE.x;
  7723. MOV.F R1.x, R6;
  7724. ELSE;
  7725. MOV.F R1.x, {0, 0, 0, 0};
  7726. ENDIF;
  7727. MOV.F R6.x, R12.y;
  7728. TRUNC.S R14.x, R6;
  7729. MOV.F R6.x, R16.z;
  7730. SGT.F32 R6.x, R6, {0, 0, 0, 0};
  7731. TRUNC.U.CC HC.x, R6;
  7732. ADD.S R12.x, -R14, {0, 0, 0, 0};
  7733. MOV.S R13.w, R1.x;
  7734. IF NE.x;
  7735. MOV.F R1.x, {1, 0, 0, 0};
  7736. ELSE;
  7737. MOV.F R1.x, {0, 0, 0, 0};
  7738. ENDIF;
  7739. MOV.F R6.x, R16.z;
  7740. SLT.F32 R6.y, R6.x, {0, 0, 0, 0}.x;
  7741. TRUNC.U.CC HC.x, R6.y;
  7742. MOV.F R6.x, {1, 0, 0, 0};
  7743. MOV.F R6.x(EQ), {0, 0, 0, 0};
  7744. ADD.F32 R1.x, R1, -R6;
  7745. MOV.S R12.y, R14.x;
  7746. MOV.S R14.x, R1;
  7747. I2F.S R1.x, R16;
  7748. MUL.F32 R6.x, R1, {2, 0, 0, 0};
  7749. MOV.F R6.y, R11.x;
  7750. MUL.F32 R1.x, -R6, R6.y;
  7751. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7752. SNE.F32 R6.x, -R6, {0, 0, 0, 0};
  7753. TRUNC.U R6.y, R6;
  7754. TRUNC.U R6.x, R6;
  7755. AND.U.CC HC.x, R6, R6.y;
  7756. MAX.S R12.w, R14.y, R16.y;
  7757. IF NE.x;
  7758. ELSE;
  7759. MOV.F R1.x, {0, 0, 0, 0};
  7760. ENDIF;
  7761. MOV.F R6.z, c[11];
  7762. MOV.F R6.y, R8.z;
  7763. MUL.F32 R6.x, R6.y, R6.z;
  7764. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7765. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7766. TRUNC.U R6.y, R6;
  7767. TRUNC.U R6.z, R6;
  7768. AND.U.CC HC.x, R6.y, R6.z;
  7769. MAX.S R16.z, R12.y, R12.x;
  7770. MOV.S R16.y, R1.x;
  7771. IF NE.x;
  7772. MOV.F R1.x, R6;
  7773. ELSE;
  7774. MOV.F R1.x, {0, 0, 0, 0};
  7775. ENDIF;
  7776. I2F.S R6.x, R12.w;
  7777. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  7778. MOV.F R6.z, R11.w;
  7779. MUL.F32 R6.x, -R6.y, R6.z;
  7780. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  7781. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7782. TRUNC.U R6.y, R6;
  7783. TRUNC.U R6.z, R6;
  7784. AND.U.CC HC.x, R6.y, R6.z;
  7785. MOV.S R14.w, R1.x;
  7786. IF NE.x;
  7787. MOV.F R1.x, R6;
  7788. ELSE;
  7789. MOV.F R1.x, {0, 0, 0, 0};
  7790. ENDIF;
  7791. MOV.F R6.z, R16.y;
  7792. MOV.F R6.y, R8.x;
  7793. MUL.F32 R6.x, R6.y, R6.z;
  7794. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7795. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7796. TRUNC.U R6.y, R6;
  7797. TRUNC.U R6.z, R6;
  7798. AND.U.CC HC.x, R6.y, R6.z;
  7799. MOV.S R12.x, R1;
  7800. IF NE.x;
  7801. MOV.F R1.x, R6;
  7802. ELSE;
  7803. MOV.F R1.x, {0, 0, 0, 0};
  7804. ENDIF;
  7805. MOV.F R6.z, R16.y;
  7806. MOV.F R6.y, R22.x;
  7807. MUL.F32 R6.x, R6.y, R6.z;
  7808. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7809. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7810. TRUNC.U R6.z, R6;
  7811. TRUNC.U R6.y, R6;
  7812. AND.U.CC HC.x, R6.y, R6.z;
  7813. MOV.S R12.y, R1.x;
  7814. IF NE.x;
  7815. MOV.F R1.x, R6;
  7816. ELSE;
  7817. MOV.F R1.x, {0, 0, 0, 0};
  7818. ENDIF;
  7819. MOV.F R6.x, c[8].w;
  7820. SEQ.F R6.x, R6, {1, 0, 0, 0};
  7821. TRUNC.U.CC HC.x, R6;
  7822. MOV.S R12.z, R1.x;
  7823. IF NE.x;
  7824. MOV.S R1.x, {-1, 0, 0, 0};
  7825. ELSE;
  7826. MOV.S R1.x, {0, 0, 0, 0};
  7827. ENDIF;
  7828. I2F.S R6.x, R16.z;
  7829. MUL.F32 R6.y, R6.x, {2, 0, 0, 0}.x;
  7830. MOV.F R6.z, R14.x;
  7831. MUL.F32 R6.x, -R6.y, R6.z;
  7832. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7833. SNE.F32 R6.y, -R6, {0, 0, 0, 0}.x;
  7834. TRUNC.U R6.z, R6;
  7835. TRUNC.U R6.y, R6;
  7836. AND.U.CC HC.x, R6.y, R6.z;
  7837. IF NE.x;
  7838. ELSE;
  7839. MOV.F R6.x, {0, 0, 0, 0};
  7840. ENDIF;
  7841. MOV.F R6.w, R7.z;
  7842. MOV.F R6.y, R22.x;
  7843. MOV.F R6.z, R12;
  7844. ADD.F32 R6.z, R6.y, R6;
  7845. MOV.F R7.x, R12;
  7846. MOV.S R16.y, R6.z;
  7847. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  7848. MUL.F32 R6.y, R6.w, R7.x;
  7849. SNE.F32 R6.w, R7.x, {0, 0, 0, 0}.x;
  7850. TRUNC.U R6.z, R6;
  7851. TRUNC.U R6.w, R6;
  7852. AND.U.CC HC.x, R6.z, R6.w;
  7853. MOV.S R16.x, R6;
  7854. IF NE.x;
  7855. MOV.F R6.x, R6.y;
  7856. ELSE;
  7857. MOV.F R6.x, {0, 0, 0, 0};
  7858. ENDIF;
  7859. MOV.F R6.z, R12.y;
  7860. MOV.F R6.y, R8.x;
  7861. ADD.F32 R6.y, R6, R6.z;
  7862. MOV.F R6.w, R12.x;
  7863. MOV.F R6.z, R22.y;
  7864. MOV.S R9.w, R6.y;
  7865. MUL.F32 R6.y, R6.z, R6.w;
  7866. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7867. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7868. TRUNC.U R6.w, R6;
  7869. TRUNC.U R6.z, R6;
  7870. AND.U.CC HC.x, R6.z, R6.w;
  7871. MOV.S R16.z, R6.x;
  7872. IF NE.x;
  7873. MOV.F R6.x, R6.y;
  7874. ELSE;
  7875. MOV.F R6.x, {0, 0, 0, 0};
  7876. ENDIF;
  7877. MOV.F R6.z, R17.w;
  7878. MOV.F R6.y, R16;
  7879. ADD.F32 R6.y, R6, R6.z;
  7880. MOV.F R6.w, R16.z;
  7881. MOV.F R6.z, R7;
  7882. ADD.F32 R6.z, R6, R6.w;
  7883. MOV.S R11.z, R6;
  7884. MOV.F R6.w, R16.x;
  7885. MOV.F R6.z, R8.y;
  7886. MOV.S R17.y, R6;
  7887. MUL.F32 R6.y, R6.z, R6.w;
  7888. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7889. TRUNC.U R7.x, R6.z;
  7890. MOV.F R6.z, R22.y;
  7891. ADD.F32 R6.x, R6.z, R6;
  7892. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7893. TRUNC.U R6.z, R6.w;
  7894. AND.U.CC HC.x, R7, R6.z;
  7895. MOV.S R12.x, R6;
  7896. IF NE.x;
  7897. MOV.F R6.x, R6.y;
  7898. ELSE;
  7899. MOV.F R6.x, {0, 0, 0, 0};
  7900. ENDIF;
  7901. MOV.F R6.w, R16.x;
  7902. MOV.F R6.z, R22;
  7903. MUL.F32 R6.y, R6.z, R6.w;
  7904. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  7905. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7906. TRUNC.U R6.w, R6;
  7907. TRUNC.U R6.z, R6;
  7908. AND.U.CC HC.x, R6.z, R6.w;
  7909. MOV.S R12.w, R6.x;
  7910. IF NE.x;
  7911. MOV.F R6.x, R6.y;
  7912. ELSE;
  7913. MOV.F R6.x, {0, 0, 0, 0};
  7914. ENDIF;
  7915. MOV.F R6.z, R12.w;
  7916. MOV.F R6.y, R8;
  7917. ADD.F32 R6.w, R6.y, R6.z;
  7918. MOV.F R6.z, R13.w;
  7919. MOV.F R6.y, R12.x;
  7920. ADD.F32 R6.y, R6, R6.z;
  7921. MOV.S R14.x, R6.y;
  7922. MOV.F R6.z, R22;
  7923. ADD.F32 R6.z, R6, R6.x;
  7924. MOV.F R6.y, c[8].w;
  7925. MOV.S R14.y, R6.w;
  7926. MAX.F R6.w, R6.y, {0, 0, 0, 0}.x;
  7927. LG2.F32 R6.x, R6.w;
  7928. MOV.S R16.w, R6.z;
  7929. MUL.F32 R6.z, R6.x, {2, 0, 0, 0}.x;
  7930. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  7931. SEQ.F R6.z, R6.x, R6;
  7932. ADD.F32 R6.y, -R6, {1, 0, 0, 0}.x;
  7933. TRUNC.U R6.w, R6;
  7934. TRUNC.U R6.z, R6;
  7935. AND.U R6.z, R6, R6.w;
  7936. SEQ.U R6.z, R6, {1, 0, 0, 0}.x;
  7937. MOV.U.CC RC.x, -R6.z;
  7938. MOV.S R16.z, R6.y;
  7939. IF NE.x;
  7940. MOV.F R6.x, {-3.40282347e+038, 0, 0, 0};
  7941. ENDIF;
  7942. MOV.F R6.z, R14.w;
  7943. MOV.F R6.y, R16.w;
  7944. ADD.F32 R6.y, R6, R6.z;
  7945. MOV.F R6.z, R1.y;
  7946. MOV.S R13.y, R6;
  7947. MUL.F32 R6.y, R6.z, R6.x;
  7948. SNE.F32 R6.w, R6.x, {0, 0, 0, 0}.x;
  7949. SNE.F32 R6.x, R6.z, {0, 0, 0, 0};
  7950. TRUNC.U R6.z, R6.w;
  7951. TRUNC.U R6.x, R6;
  7952. AND.U.CC HC.x, R6, R6.z;
  7953. IF NE.x;
  7954. MOV.F R6.x, R6.y;
  7955. ELSE;
  7956. MOV.F R6.x, {0, 0, 0, 0};
  7957. ENDIF;
  7958. MOV.S R6.x, R6;
  7959. MOV.F R6.y, R16.z;
  7960. SEQ.S R1.x, R1, {0, 0, 0, 0};
  7961. MOV.U.CC RC.x, -R1;
  7962. RCP.F32 R6.y, R6.y;
  7963. EX2.F32 R6.x, R6.x;
  7964. MAD.F32 R6.x, -R6, R6.y, R6.y;
  7965. MOV.S R16.y, R6.x;
  7966. IF NE.x;
  7967. MOV.S R1.x, R16.y;
  7968. ELSE;
  7969. MOV.S R1.x, R1.y;
  7970. ENDIF;
  7971. MOV.F R6.y, R1.x;
  7972. MOV.F R6.x, R14.y;
  7973. MUL.F32 R1.y, R6.x, R6;
  7974. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7975. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  7976. TRUNC.U R6.y, R6;
  7977. TRUNC.U R6.x, R6;
  7978. AND.U.CC HC.x, R6, R6.y;
  7979. IF NE.x;
  7980. ELSE;
  7981. MOV.F R1.y, {0, 0, 0, 0}.x;
  7982. ENDIF;
  7983. MOV.F R6.z, R1.x;
  7984. MOV.F R6.y, R11.z;
  7985. MUL.F32 R6.x, R6.y, R6.z;
  7986. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  7987. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  7988. TRUNC.U R6.y, R6;
  7989. TRUNC.U R6.z, R6;
  7990. AND.U.CC HC.x, R6.y, R6.z;
  7991. MOV.S R16.y, R1;
  7992. IF NE.x;
  7993. MOV.F R1.y, R6.x;
  7994. ELSE;
  7995. MOV.F R1.y, {0, 0, 0, 0}.x;
  7996. ENDIF;
  7997. MOV.F R6.y, R1.x;
  7998. MOV.F R6.x, R9.w;
  7999. MUL.F32 R1.x, R6, R6.y;
  8000. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8001. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8002. TRUNC.U R6.x, R6;
  8003. TRUNC.U R6.y, R6;
  8004. AND.U.CC HC.x, R6, R6.y;
  8005. MOV.S R16.z, R1.y;
  8006. IF NE.x;
  8007. ELSE;
  8008. MOV.F R1.x, {0, 0, 0, 0};
  8009. ENDIF;
  8010. MOV.F R6.x, R16.z;
  8011. MOV.F R1.y, R14.x;
  8012. ADD.F32 R1.y, R1, R6.x;
  8013. MAD.F32 R1.y, R1, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  8014. FRC.F R1.y, R1;
  8015. MAD.F32 R6.x, R1.y, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  8016. MUL.F32 R6.y, R6.x, {0.159154937, 0, 0, 0}.x;
  8017. MOV.F R1.y, R17;
  8018. ADD.F32 R1.x, R1.y, R1;
  8019. MAD.F32 R6.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  8020. MOV.F R1.y, R16;
  8021. MOV.F R1.x, R13.y;
  8022. ADD.F32 R1.x, R1, R1.y;
  8023. FRC.F R1.y, R6.x;
  8024. MAD.F32 R1.x, R1, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  8025. FRC.F R1.x, R1;
  8026. MAD.F32 R1.y, R1, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  8027. MAD.F32 R6.x, R1, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  8028. MUL.F32 R1.y, R1, {0.159154937, 0, 0, 0}.x;
  8029. MOV.S R1.x, R1.y;
  8030. MUL.F32 R1.y, R6.x, {0.159154937, 0, 0, 0}.x;
  8031. MUL.F32 R6.x, R6.y, {6.28318548, 0, 0, 0};
  8032. SIN.F32 R6.x, R6.x;
  8033. MOV.S R13.y, R1;
  8034. MUL.F32 R1.y, R1.x, {6.28318548, 0, 0, 0}.x;
  8035. MOV.S R14.x, R6.y;
  8036. COS.F32 R6.y, R1.y;
  8037. SIN.F32 R1.y, R1.y;
  8038. MOV.S R14.y, R1;
  8039. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  8040. MOV.S R11.w, R6.x;
  8041. MUL.F32 R1.x, R6, R6.y;
  8042. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8043. TRUNC.U R7.x, R6;
  8044. TRUNC.U R6.x, R1.y;
  8045. MOV.F R1.y, {1, 0, 0, 0}.x;
  8046. AND.U.CC HC.x, R6, R7;
  8047. MOV.S R11.x, R6.y;
  8048. MOV.S R6.z, {1065353216, 0, 0, 0}.x;
  8049. MOV.S R6.w, R1.y;
  8050. IF NE.x;
  8051. ELSE;
  8052. MOV.F R1.x, {0, 0, 0, 0};
  8053. ENDIF;
  8054. MOV.F R6.y, R11.w;
  8055. MOV.F R6.x, R14.y;
  8056. MUL.F32 R1.y, R6.x, R6;
  8057. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8058. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8059. TRUNC.U R6.x, R6;
  8060. TRUNC.U R6.y, R6;
  8061. AND.U.CC HC.x, R6, R6.y;
  8062. MOV.S R13.z, R1.x;
  8063. IF NE.x;
  8064. MOV.F R1.x, R1.y;
  8065. ELSE;
  8066. MOV.F R1.x, {0, 0, 0, 0};
  8067. ENDIF;
  8068. MOV.F R1.y, R14.x;
  8069. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  8070. COS.F32 R6.x, R1.y;
  8071. MOV.F R6.y, R11.x;
  8072. MUL.F32 R1.y, R6.x, R6;
  8073. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8074. SNE.F32 R7.x, R6, {0, 0, 0, 0};
  8075. MOV.S R11.z, R6.x;
  8076. TRUNC.U R6.x, R6.y;
  8077. TRUNC.U R6.y, R7.x;
  8078. AND.U.CC HC.x, R6, R6.y;
  8079. MOV.S R14.w, R1.x;
  8080. IF NE.x;
  8081. MOV.F R1.x, R1.y;
  8082. ELSE;
  8083. MOV.F R1.x, {0, 0, 0, 0};
  8084. ENDIF;
  8085. MOV.F R6.y, R11.z;
  8086. MOV.F R6.x, R14.y;
  8087. MUL.F32 R1.y, R6.x, R6;
  8088. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8089. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8090. TRUNC.U R6.x, R6;
  8091. TRUNC.U R6.y, R6;
  8092. AND.U.CC HC.x, R6, R6.y;
  8093. MOV.S R13.x, R1;
  8094. IF NE.x;
  8095. MOV.F R1.x, R1.y;
  8096. ELSE;
  8097. MOV.F R1.x, {0, 0, 0, 0};
  8098. ENDIF;
  8099. MOV.F R1.y, R13;
  8100. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  8101. SIN.F32 R6.x, R1.y;
  8102. SNE.F32 R6.y, R1.x, {0, 0, 0, 0}.x;
  8103. MOV.S R11.y, R6.x;
  8104. MUL.F32 R1.y, R1.x, R6.x;
  8105. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8106. TRUNC.U R6.x, R6;
  8107. TRUNC.U R6.y, R6;
  8108. AND.U.CC HC.x, R6, R6.y;
  8109. MOV.S R17.y, R1.x;
  8110. IF NE.x;
  8111. MOV.F R1.x, R1.y;
  8112. ELSE;
  8113. MOV.F R1.x, {0, 0, 0, 0};
  8114. ENDIF;
  8115. MOV.F R6.x, R11.y;
  8116. MOV.F R6.y, -R6.x;
  8117. MOV.F R7.x, R13;
  8118. MUL.F32 R1.y, R6.x, R7.x;
  8119. MOV.S R8.y, R6;
  8120. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8121. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  8122. TRUNC.U R6.x, R6;
  8123. TRUNC.U R6.y, R6;
  8124. AND.U.CC HC.x, R6, R6.y;
  8125. MOV.S R12.x, R1;
  8126. IF NE.x;
  8127. MOV.F R1.x, R1.y;
  8128. ELSE;
  8129. MOV.F R1.x, {0, 0, 0, 0};
  8130. ENDIF;
  8131. MOV.F R6.y, R13.z;
  8132. MOV.F R6.x, R11.y;
  8133. MUL.F32 R1.y, R6.x, R6;
  8134. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8135. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8136. TRUNC.U R6.x, R6;
  8137. TRUNC.U R6.y, R6;
  8138. AND.U.CC HC.x, R6, R6.y;
  8139. MOV.S R12.z, R1.x;
  8140. IF NE.x;
  8141. MOV.F R1.x, R1.y;
  8142. ELSE;
  8143. MOV.F R1.x, {0, 0, 0, 0};
  8144. ENDIF;
  8145. MOV.F R7.x, R17.y;
  8146. ADD.F32 R1.x, -R7, R1;
  8147. MOV.F R6.x, R12.z;
  8148. MOV.F R1.y, R14.w;
  8149. ADD.F32 R1.y, R1, R6.x;
  8150. MOV.S R6.x, R1.y;
  8151. MOV.F R1.y, R13.z;
  8152. MOV.F R6.y, R12.x;
  8153. ADD.F32 R6.y, -R1, R6;
  8154. MOV.F R1.y, R13;
  8155. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  8156. MOV.S R8.z, R6.y;
  8157. COS.F32 R6.y, R1.y;
  8158. MOV.F R7.y, R11.z;
  8159. MOV.S R16.y, R1.x;
  8160. SNE.F32 R1.x, R7.y, {0, 0, 0, 0};
  8161. MUL.F32 R1.y, R6, R7;
  8162. MOV.S R14.x, R6.y;
  8163. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8164. TRUNC.U R6.y, R6;
  8165. TRUNC.U R1.x, R1;
  8166. AND.U.CC HC.x, R1, R6.y;
  8167. IF NE.x;
  8168. MOV.F R1.x, R1.y;
  8169. ELSE;
  8170. MOV.F R1.x, {0, 0, 0, 0};
  8171. ENDIF;
  8172. MOV.F R7.x, R14;
  8173. MOV.F R6.y, R11.x;
  8174. MUL.F32 R1.y, R6, R7.x;
  8175. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8176. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8177. TRUNC.U R6.y, R6;
  8178. TRUNC.U R7.x, R7;
  8179. AND.U.CC HC.x, R6.y, R7;
  8180. MOV.S R9.w, R1.x;
  8181. IF NE.x;
  8182. MOV.F R1.x, R1.y;
  8183. ELSE;
  8184. MOV.F R1.x, {0, 0, 0, 0};
  8185. ENDIF;
  8186. MOV.F R7.x, R14;
  8187. MOV.F R6.y, R14;
  8188. MUL.F32 R1.y, R6, R7.x;
  8189. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8190. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8191. TRUNC.U R6.y, R6;
  8192. TRUNC.U R7.x, R7;
  8193. AND.U.CC HC.x, R6.y, R7;
  8194. MOV.S R22.y, R1.x;
  8195. IF NE.x;
  8196. MOV.F R1.x, R1.y;
  8197. ELSE;
  8198. MOV.F R1.x, {0, 0, 0, 0};
  8199. ENDIF;
  8200. MOV.F R7.x, R14.w;
  8201. MOV.F R6.y, R11;
  8202. MUL.F32 R1.y, R6, R7.x;
  8203. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8204. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8205. TRUNC.U R6.y, R6;
  8206. TRUNC.U R7.x, R7;
  8207. AND.U.CC HC.x, R6.y, R7;
  8208. MOV.S R22.x, R1;
  8209. IF NE.x;
  8210. MOV.F R1.x, R1.y;
  8211. ELSE;
  8212. MOV.F R1.x, {0, 0, 0, 0};
  8213. ENDIF;
  8214. MOV.F R7.x, R17;
  8215. MOV.F R6.y, R16;
  8216. MUL.F32 R1.y, R6, R7.x;
  8217. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8218. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8219. TRUNC.U R6.y, R6;
  8220. TRUNC.U R7.x, R7;
  8221. AND.U.CC HC.x, R6.y, R7;
  8222. MOV.S R12.y, R1.x;
  8223. IF NE.x;
  8224. MOV.F R1.x, R1.y;
  8225. ELSE;
  8226. MOV.F R1.x, {0, 0, 0, 0};
  8227. ENDIF;
  8228. MOV.F R7.x, R14;
  8229. MOV.F R6.y, R11.w;
  8230. MUL.F32 R1.y, R6, R7.x;
  8231. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8232. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8233. TRUNC.U R6.y, R6;
  8234. TRUNC.U R7.x, R7;
  8235. AND.U.CC HC.x, R6.y, R7;
  8236. MOV.S R7.z, R1.x;
  8237. IF NE.x;
  8238. MOV.F R1.x, R1.y;
  8239. ELSE;
  8240. MOV.F R1.x, {0, 0, 0, 0};
  8241. ENDIF;
  8242. MOV.F R6.y, R17.x;
  8243. MUL.F32 R1.y, R1.x, R6;
  8244. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8245. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8246. TRUNC.U R6.y, R6;
  8247. TRUNC.U R1.x, R1;
  8248. AND.U.CC HC.x, R1, R6.y;
  8249. IF NE.x;
  8250. MOV.F R1.x, R1.y;
  8251. ELSE;
  8252. MOV.F R1.x, {0, 0, 0, 0};
  8253. ENDIF;
  8254. MOV.F R6.y, R12;
  8255. MOV.F R1.y, R13.x;
  8256. ADD.F32 R1.y, R1, R6;
  8257. MOV.S R1.y, R1;
  8258. MOV.F R6.y, R1;
  8259. MOV.F R7.x, R17;
  8260. MUL.F32 R1.y, R6, R7.x;
  8261. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8262. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8263. TRUNC.U R6.y, R6;
  8264. TRUNC.U R7.x, R7;
  8265. AND.U.CC HC.x, R6.y, R7;
  8266. MOV.S R22.z, R1.x;
  8267. IF NE.x;
  8268. MOV.F R1.x, R1.y;
  8269. ELSE;
  8270. MOV.F R1.x, {0, 0, 0, 0};
  8271. ENDIF;
  8272. MOV.S R8.x, R1;
  8273. ENDIF;
  8274. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  8275. MOV.U.CC RC.x, -R1;
  8276. IF NE.x;
  8277. MOV.F R6.y, R21.x;
  8278. MOV.F R1.y, c[13].x;
  8279. MAD.F32 R7.x, R1.y, {0.5, 0, 0, 0}, R6.y;
  8280. MOV.F R6.y, R21;
  8281. MOV.F R1.x, c[13].y;
  8282. MUL.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x;
  8283. ADD.F32 R1.x, R6.y, R1.y;
  8284. SNE.F32 R6.y, R6, -R1;
  8285. MOV.F R7.y, R17.z;
  8286. MOV.S R16.x, R7;
  8287. SNE.F32 R7.x, R7.y, {0, 0, 0, 0};
  8288. TRUNC.U R1.y, R7.x;
  8289. TRUNC.U R6.y, R6;
  8290. AND.U.CC HC.x, R1.y, R6.y;
  8291. MUL.F32 R1.x, R7.y, R1;
  8292. MOV.S R9.x, c[12];
  8293. MOV.S R8.w, c[12].y;
  8294. MOV.S R21.z, c[14].x;
  8295. MOV.S R21.y, c[12].z;
  8296. IF NE.x;
  8297. ELSE;
  8298. MOV.F R1.x, {0, 0, 0, 0};
  8299. ENDIF;
  8300. MOV.F R7.x, R16;
  8301. MOV.F R6.y, R9;
  8302. MUL.F32 R1.y, R6, R7.x;
  8303. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8304. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8305. TRUNC.U R6.y, R6;
  8306. TRUNC.U R7.x, R7;
  8307. AND.U.CC HC.x, R6.y, R7;
  8308. MOV.S R12.y, R1.x;
  8309. IF NE.x;
  8310. MOV.F R1.x, R1.y;
  8311. ELSE;
  8312. MOV.F R1.x, {0, 0, 0, 0};
  8313. ENDIF;
  8314. MOV.F R7.x, R22.y;
  8315. MOV.F R6.y, R12;
  8316. MUL.F32 R1.y, R6, R7.x;
  8317. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8318. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8319. TRUNC.U R6.y, R6;
  8320. TRUNC.U R7.x, R7;
  8321. AND.U.CC HC.x, R6.y, R7;
  8322. MOV.S R13.z, R1.x;
  8323. AND.S R16.x, c[9], {524288, 0, 0, 0};
  8324. IF NE.x;
  8325. MOV.F R1.x, R1.y;
  8326. ELSE;
  8327. MOV.F R1.x, {0, 0, 0, 0};
  8328. ENDIF;
  8329. MOV.F R1.y, R7.z;
  8330. ADD.F32 R1.y, R1.x, R1;
  8331. MOV.F R6.y, R12;
  8332. MOV.F R7.x, R8.y;
  8333. MUL.F32 R1.x, R6.y, R7;
  8334. MOV.S R16.y, R1;
  8335. SNE.F32 R1.y, R6, {0, 0, 0, 0}.x;
  8336. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8337. TRUNC.U R6.y, R7.x;
  8338. TRUNC.U R1.y, R1;
  8339. AND.U.CC HC.x, R1.y, R6.y;
  8340. IF NE.x;
  8341. ELSE;
  8342. MOV.F R1.x, {0, 0, 0, 0};
  8343. ENDIF;
  8344. MOV.F R1.y, R12;
  8345. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  8346. MOV.F R7.x, R22;
  8347. TRUNC.U R7.y, R6;
  8348. MOV.F R6.y, R22.z;
  8349. ADD.F32 R1.x, R1, R6.y;
  8350. MUL.F32 R1.y, R1, R7.x;
  8351. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8352. TRUNC.U R6.y, R7.x;
  8353. AND.U.CC HC.x, R7.y, R6.y;
  8354. MOV.S R16.z, R1.x;
  8355. IF NE.x;
  8356. MOV.F R1.x, R1.y;
  8357. ELSE;
  8358. MOV.F R1.x, {0, 0, 0, 0};
  8359. ENDIF;
  8360. MOV.F R1.y, R8.x;
  8361. ADD.F32 R1.x, R1, R1.y;
  8362. MOV.F R1.y, R20.x;
  8363. MOV.S R16.w, R1.x;
  8364. SGT.F32 R1.x, R1.y, {0.5, 0, 0, 0};
  8365. TRUNC.U.CC HC.x, R1;
  8366. IF NE.x;
  8367. MOV.S R1.y, {-1, 0, 0, 0}.x;
  8368. ELSE;
  8369. MOV.S R1.y, {0, 0, 0, 0}.x;
  8370. ENDIF;
  8371. MOV.F R7.x, R9.w;
  8372. MOV.F R6.y, R13.z;
  8373. MUL.F32 R1.x, R6.y, R7;
  8374. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8375. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  8376. TRUNC.U R7.x, R7;
  8377. TRUNC.U R6.y, R6;
  8378. AND.U.CC HC.x, R6.y, R7;
  8379. IF NE.x;
  8380. ELSE;
  8381. MOV.F R1.x, {0, 0, 0, 0};
  8382. ENDIF;
  8383. MOV.F R7.x, R6;
  8384. MOV.F R6.y, R16.z;
  8385. ADD.F32 R6.y, R1.x, R6;
  8386. MOV.F R6.x, R13.z;
  8387. MUL.F32 R1.x, R6, R7;
  8388. MOV.S R17.x, R6.y;
  8389. SNE.F32 R6.y, R7.x, {0, 0, 0, 0}.x;
  8390. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8391. TRUNC.U R6.y, R6;
  8392. TRUNC.U R6.x, R6;
  8393. AND.U.CC HC.x, R6, R6.y;
  8394. IF NE.x;
  8395. ELSE;
  8396. MOV.F R1.x, {0, 0, 0, 0};
  8397. ENDIF;
  8398. MOV.F R6.x, R16.y;
  8399. ADD.F32 R6.x, R1, R6;
  8400. MOV.F R6.y, R13.z;
  8401. MOV.F R7.x, R8.z;
  8402. MUL.F32 R1.x, R6.y, R7;
  8403. MOV.S R14.y, R6.x;
  8404. SNE.F32 R6.x, R6.y, {0, 0, 0, 0};
  8405. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  8406. TRUNC.U R6.y, R7.x;
  8407. TRUNC.U R6.x, R6;
  8408. AND.U.CC HC.x, R6, R6.y;
  8409. IF NE.x;
  8410. ELSE;
  8411. MOV.F R1.x, {0, 0, 0, 0};
  8412. ENDIF;
  8413. MOV.F R6.x, R16.w;
  8414. ADD.F32 R1.x, R1, R6;
  8415. SEQ.S R6.x, R16, {524288, 0, 0, 0};
  8416. MOV.U.CC RC.x, -R6;
  8417. MOV.S R13.z, R1.x;
  8418. IF NE.x;
  8419. MOV.S R6.x, {-1, 0, 0, 0};
  8420. ELSE;
  8421. MOV.S R6.x, {0, 0, 0, 0};
  8422. ENDIF;
  8423. SEQ.S R6.y, R1, {0, 0, 0, 0}.x;
  8424. MOV.U.CC RC.x, -R6.y;
  8425. MOV.F R7.xyz, R10;
  8426. MOV.F R11.x, R17;
  8427. MOV.F R11.y, R14;
  8428. MOV.F R11.w, R6;
  8429. MOV.F R11.z, R13;
  8430. DP4.F32 R1.x, R7, R11;
  8431. MOV.S R10.x, R1;
  8432. MOV.F R1.x, R24;
  8433. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  8434. MOV.S R1.x, R1;
  8435. IF NE.x;
  8436. MOV.S R1.x, R24;
  8437. ELSE;
  8438. ENDIF;
  8439. MOV.F R7.xyz, R15;
  8440. MOV.F R7.w, R10;
  8441. MOV.F R11.x, R17;
  8442. MOV.F R11.y, R14;
  8443. MOV.F R11.w, R6;
  8444. MOV.F R11.z, R13;
  8445. DP4.F32 R6.y, R7, R11;
  8446. SEQ.S R7.x, R6, {0, 0, 0, 0};
  8447. MOV.U.CC RC.x, -R7;
  8448. MOV.S R15.y, R6;
  8449. IF NE.x;
  8450. MOV.S R1.x, R24;
  8451. ELSE;
  8452. ENDIF;
  8453. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  8454. MOV.U.CC RC.x, -R1.y;
  8455. MOV.F R11.xyz, R23;
  8456. MOV.F R11.w, R1;
  8457. MOV.F R7.x, R17;
  8458. MOV.F R7.y, R14;
  8459. MOV.F R7.z, R13;
  8460. MOV.F R7.w, R6;
  8461. DP4.F32 R1.w, R11, R7;
  8462. MOV.S R23.z, R1.w;
  8463. IF NE.x;
  8464. MOV.S R1.y, R24;
  8465. ELSE;
  8466. MOV.S R1.y, R24;
  8467. ENDIF;
  8468. MOV.F R1.w, R20.y;
  8469. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  8470. TRUNC.U.CC HC.x, R1.w;
  8471. AND.S R12.x, c[9], {1048576, 0, 0, 0};
  8472. IF NE.x;
  8473. MOV.S R1.w, {-1, 0, 0, 0}.x;
  8474. ELSE;
  8475. MOV.S R1.w, {0, 0, 0, 0}.x;
  8476. ENDIF;
  8477. SEQ.S R6.x, R6, {0, 0, 0, 0};
  8478. MOV.U.CC RC.x, -R6;
  8479. IF NE.x;
  8480. MOV.S R1.y, R24;
  8481. ELSE;
  8482. ENDIF;
  8483. MOV.F R6.x, c[15].z;
  8484. RCP.F32 R6.x, R6.x;
  8485. SEQ.S R6.y, R1.w, {0, 0, 0, 0}.x;
  8486. MOV.U.CC RC.x, -R6.y;
  8487. MOV.S R17.x, R6;
  8488. IF NE.x;
  8489. MOV.S R6.x, R1;
  8490. ELSE;
  8491. MOV.S R6.x, R1;
  8492. ENDIF;
  8493. SEQ.S R6.y, R12.x, {1048576, 0, 0, 0}.x;
  8494. MOV.U.CC RC.x, -R6.y;
  8495. IF NE.x;
  8496. MOV.S R6.y, {-1, 0, 0, 0}.x;
  8497. ELSE;
  8498. MOV.S R6.y, {0, 0, 0, 0}.x;
  8499. ENDIF;
  8500. MOV.F R6.w, R1.y;
  8501. ADD.F32 R6.w, -R6, {1, 0, 0, 0}.x;
  8502. MOV.F R7.x, c[15].w;
  8503. MOV.S R16.w, R6;
  8504. RCP.F32 R6.w, R7.x;
  8505. SEQ.S R7.x, R6.y, {0, 0, 0, 0};
  8506. MOV.U.CC RC.x, -R7;
  8507. MOV.S R20.z, R6.w;
  8508. IF NE.x;
  8509. ELSE;
  8510. MOV.S R1.x, R6;
  8511. ENDIF;
  8512. SEQ.S R1.w, R1, {0, 0, 0, 0}.x;
  8513. MOV.U.CC RC.x, -R1.w;
  8514. IF NE.x;
  8515. MOV.S R1.w, R1.y;
  8516. ELSE;
  8517. MOV.S R1.w, R16;
  8518. ENDIF;
  8519. MOV.F R6.x, R1;
  8520. MOV.F R6.w, c[15].x;
  8521. MUL.F32 R1.x, R6, R6.w;
  8522. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  8523. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8524. TRUNC.U R6.w, R6;
  8525. TRUNC.U R6.x, R6;
  8526. AND.U.CC HC.x, R6, R6.w;
  8527. IF NE.x;
  8528. ELSE;
  8529. MOV.F R1.x, {0, 0, 0, 0};
  8530. ENDIF;
  8531. SEQ.S R6.x, R6.y, {0, 0, 0, 0};
  8532. MOV.U.CC RC.x, -R6;
  8533. MOV.S R16.y, R1.x;
  8534. IF NE.x;
  8535. MOV.S R1.x, R1.y;
  8536. ELSE;
  8537. MOV.S R1.x, R1.w;
  8538. ENDIF;
  8539. MOV.F R6.x, R16.y;
  8540. MOV.F R1.w, R17.x;
  8541. MUL.F32 R1.y, R1.w, R6.x;
  8542. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  8543. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  8544. TRUNC.U R1.w, R1;
  8545. TRUNC.U R6.x, R6;
  8546. AND.U.CC HC.x, R1.w, R6;
  8547. MOV.S R6.w, R1.x;
  8548. IF NE.x;
  8549. MOV.F R1.x, R1.y;
  8550. ELSE;
  8551. MOV.F R1.x, {0, 0, 0, 0};
  8552. ENDIF;
  8553. MOV.S R18.yz, {0, 0, 0, 0}.x;
  8554. MOV.S R18.x, R1;
  8555. ENDIF;
  8556. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  8557. MOV.U.CC RC.x, -R1;
  8558. IF NE.x;
  8559. MOV.F R3.x, R10;
  8560. MOV.F R3.y, R15;
  8561. MOV.F R3.w, R6.z;
  8562. MOV.F R3.z, R23;
  8563. MOV.F R2, c[19];
  8564. MOV.F R7, c[21];
  8565. DP4.F32 R1.y, R3, R7;
  8566. DP4.F32 R2.x, R3, R2;
  8567. MOV.F R10, c[20];
  8568. DP4.F32 R2.y, R3, R10;
  8569. MOV.F R7, c[22];
  8570. DP4.F32 R2.w, R3, R7;
  8571. MOV.F R1.x, c[13].z;
  8572. ADD.F32 R2.z, R1.x, R1.y;
  8573. MOV.F R7, c[23];
  8574. DP4.F32 R1.x, R2, R7;
  8575. MOV.F R10, c[24];
  8576. DP4.F32 R1.y, R2, R10;
  8577. DIV.F32 R1.x, R1, R1.y;
  8578. MOV.F R2, c[18];
  8579. DP4.F32 R1.y, R3, R2;
  8580. SNE.F32 R1.w, R1.x, {0, 0, 0, 0}.x;
  8581. MOV.F R10, c[16];
  8582. DP4.F32 R2.x, R3, R10;
  8583. TRUNC.U R2.z, R1.w;
  8584. MOV.F R7, c[17];
  8585. DP4.F32 R1.w, R3, R7;
  8586. MOV.S R2.y, R1.w;
  8587. MUL.F32 R1.w, R1.y, {0.5, 0, 0, 0}.x;
  8588. MUL.F32 R1.x, R1.y, R1;
  8589. MOV.S R2.w, R1.y;
  8590. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8591. TRUNC.U R1.y, R1;
  8592. AND.U.CC HC.x, R1.y, R2.z;
  8593. MOV.S R2.x, R2;
  8594. MOV.S R14.w, R1;
  8595. MOV.S R9.w, R1.z;
  8596. IF NE.x;
  8597. ELSE;
  8598. MOV.F R1.x, {0, 0, 0, 0};
  8599. ENDIF;
  8600. MOV.F R1.z, R14.w;
  8601. MOV.F R1.y, R2.x;
  8602. MAD.F32 R1.y, R1, {0.5, 0, 0, 0}.x, R1.z;
  8603. MOV.F R1.w, R2.y;
  8604. MAD.F32 R1.w, R1, {-0.5, 0, 0, 0}.x, R1.z;
  8605. MOV.S R3.x, R1.y;
  8606. MAD.F32 R1.y, R1.x, {0.5, 0, 0, 0}.x, R1.z;
  8607. MOV.S R3.y, R1.w;
  8608. MOV.S R3.w, R2;
  8609. MOV.S R3.z, R1.y;
  8610. MOV.S R2.z, R1.x;
  8611. ENDIF;
  8612. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  8613. MOV.U.CC RC.x, -R1;
  8614. IF NE.x;
  8615. MOV.F R0.z, c[25].x;
  8616. MOV.F R0.y, R9.x;
  8617. MUL.F32 R0.x, R0.y, R0.z;
  8618. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8619. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  8620. TRUNC.U R0.z, R0;
  8621. TRUNC.U R0.y, R0;
  8622. AND.U.CC HC.x, R0.y, R0.z;
  8623. IF NE.x;
  8624. ELSE;
  8625. MOV.F R0.x, {0, 0, 0, 0};
  8626. ENDIF;
  8627. MOV.F R0.w, c[25].y;
  8628. MOV.F R0.z, R8.w;
  8629. MUL.F32 R0.y, R0.z, R0.w;
  8630. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8631. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8632. TRUNC.U R0.z, R0;
  8633. TRUNC.U R0.w, R0;
  8634. AND.U.CC HC.x, R0.z, R0.w;
  8635. MOV.S R1.x, R0;
  8636. IF NE.x;
  8637. MOV.F R0.x, R0.y;
  8638. ELSE;
  8639. MOV.F R0.x, {0, 0, 0, 0};
  8640. ENDIF;
  8641. MOV.F R0.w, c[25].z;
  8642. MOV.F R0.z, R21.y;
  8643. MUL.F32 R0.y, R0.z, R0.w;
  8644. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8645. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8646. TRUNC.U R0.z, R0;
  8647. TRUNC.U R0.w, R0;
  8648. AND.U.CC HC.x, R0.z, R0.w;
  8649. MOV.S R1.y, R0.x;
  8650. IF NE.x;
  8651. MOV.F R0.x, R0.y;
  8652. ELSE;
  8653. MOV.F R0.x, {0, 0, 0, 0};
  8654. ENDIF;
  8655. MOV.F R0.w, c[25];
  8656. MOV.F R0.z, R21;
  8657. MUL.F32 R0.y, R0.z, R0.w;
  8658. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8659. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8660. TRUNC.U R0.z, R0;
  8661. TRUNC.U R0.w, R0;
  8662. AND.U.CC HC.x, R0.z, R0.w;
  8663. MOV.S R1.z, R0.x;
  8664. IF NE.x;
  8665. MOV.F R0.x, R0.y;
  8666. ELSE;
  8667. MOV.F R0.x, {0, 0, 0, 0};
  8668. ENDIF;
  8669. MOV.F R0.z, R1.x;
  8670. MOV.F R0.w, c[26].x;
  8671. MUL.F32 R0.y, R0.z, R0.w;
  8672. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  8673. TRUNC.U R1.x, R0.w;
  8674. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8675. TRUNC.U R0.z, R0;
  8676. AND.U.CC HC.x, R0.z, R1;
  8677. MOV.S R0.w, R0.x;
  8678. IF NE.x;
  8679. MOV.F R0.x, R0.y;
  8680. ELSE;
  8681. MOV.F R0.x, {0, 0, 0, 0};
  8682. ENDIF;
  8683. MOV.F R1.x, c[26];
  8684. MOV.F R0.z, R1.y;
  8685. MUL.F32 R0.y, R0.z, R1.x;
  8686. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  8687. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8688. TRUNC.U R0.z, R0;
  8689. TRUNC.U R1.x, R1;
  8690. AND.U.CC HC.x, R0.z, R1;
  8691. MOV.S R0.x, R0;
  8692. IF NE.x;
  8693. ELSE;
  8694. MOV.F R0.y, {0, 0, 0, 0}.x;
  8695. ENDIF;
  8696. MOV.F R1.y, c[26].x;
  8697. MOV.F R1.x, R1.z;
  8698. MUL.F32 R0.z, R1.x, R1.y;
  8699. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  8700. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8701. TRUNC.U R1.x, R1;
  8702. TRUNC.U R1.y, R1;
  8703. AND.U.CC HC.x, R1, R1.y;
  8704. MOV.S R0.y, R0;
  8705. IF NE.x;
  8706. ELSE;
  8707. MOV.F R0.z, {0, 0, 0, 0}.x;
  8708. ENDIF;
  8709. MOV.F R1.z, c[15].y;
  8710. MOV.F R1.y, R6.w;
  8711. MUL.F32 R1.x, R1.y, R1.z;
  8712. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8713. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  8714. TRUNC.U R1.y, R1;
  8715. TRUNC.U R1.z, R1;
  8716. AND.U.CC HC.x, R1.y, R1.z;
  8717. MOV.S R0.z, R0;
  8718. IF NE.x;
  8719. ELSE;
  8720. MOV.F R1.x, {0, 0, 0, 0};
  8721. ENDIF;
  8722. MOV.S R1.x, R1;
  8723. MOV.F R1.z, R1.x;
  8724. MOV.F R1.y, R20.z;
  8725. MUL.F32 R1.x, R1.y, R1.z;
  8726. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  8727. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  8728. TRUNC.U R1.y, R1;
  8729. TRUNC.U R1.z, R1;
  8730. AND.U.CC HC.x, R1.y, R1.z;
  8731. MOV.S R19.x, c[10];
  8732. IF NE.x;
  8733. ELSE;
  8734. MOV.F R1.x, {0, 0, 0, 0};
  8735. ENDIF;
  8736. MOV.S R18.z, {0, 0, 0, 0}.x;
  8737. MOV.S R18.y, R1.x;
  8738. ENDIF;
  8739. SEQ.U R1.x, R15.w, {1, 0, 0, 0};
  8740. MOV.U.CC RC.x, -R1;
  8741. IF NE.x;
  8742. MOV.F R1.x, {1, 0, 0, 0};
  8743. MOV.F R1.z, R9.w;
  8744. MOV.F R1.w, c[27];
  8745. SLT.F32 R4.x, R1.z, R1.w;
  8746. TRUNC.U.CC HC.x, R4;
  8747. MOV.F R4.x, c[28].w;
  8748. MOV.S R4.y, R1.x;
  8749. ADD.F32 R4.z, R1, -R4.x;
  8750. MOV.S R1.y, {0, 0, 0, 0}.x;
  8751. MOV.S R1.y(EQ.x), R4;
  8752. MOV.S R1.x, R4.z;
  8753. SLT.F32 R4.w, R1.x, {0, 0, 0, 0}.x;
  8754. MOV.S R11.w, R1.y;
  8755. MOV.S R1.x, {0, 0, 0, 0};
  8756. TRUNC.U.CC HC.x, R4.w;
  8757. MOV.S R1.x(EQ), R4.y;
  8758. MOV.S R14.y, R1.x;
  8759. ADD.F32 R1.x, R1.w, -R4;
  8760. MOV.S R1.x, R1;
  8761. MOV.F R4.y, R1.x;
  8762. MOV.F R1.y, c[27].x;
  8763. MOV.F R1.x, c[28];
  8764. ADD.F32 R1.x, -R1, R1.y;
  8765. DIV.F32 R1.x, R1, R4.y;
  8766. MOV.S R4.y, R1.x;
  8767. ADD.F32 R1.x, R1.z, -R1.w;
  8768. SNE.F32 R1.z, R1, R4.x;
  8769. TRUNC.U R4.x, R1.z;
  8770. MOV.F R1.z, c[29].x;
  8771. ADD.F32 R1.y, R1.z, -R1;
  8772. MOV.S R1.w, R4.y;
  8773. MOV.S R13.x, R1;
  8774. MUL.F32 R1.x, R4.z, R1.w;
  8775. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  8776. TRUNC.U R1.z, R1.w;
  8777. AND.U.CC HC.x, R4, R1.z;
  8778. MOV.S R14.w, R1.y;
  8779. IF NE.x;
  8780. ELSE;
  8781. MOV.F R1.x, {0, 0, 0, 0};
  8782. ENDIF;
  8783. MOV.F R1.w, c[29];
  8784. MOV.F R1.z, R9.w;
  8785. SLT.F32 R4.x, R1.z, R1.w;
  8786. TRUNC.U.CC HC.x, R4;
  8787. ADD.F32 R1.z, R1, -R1.w;
  8788. MOV.F R4.y, R11.w;
  8789. MOV.F R4.x, R14.y;
  8790. MOV.S R11.z, R1;
  8791. ADD.F32 R1.z, -R4.x, {1, 0, 0, 0}.x;
  8792. MOV.S R17.y, R1.z;
  8793. MOV.F R1.z, c[28].x;
  8794. ADD.F32 R1.x, R1, R1.z;
  8795. MOV.S R11.x, R1;
  8796. MOV.F R1.y, {1, 0, 0, 0}.x;
  8797. MOV.S R14.x, {0, 0, 0, 0};
  8798. MOV.S R14.x(EQ), R1.y;
  8799. MOV.F R1.y, R14.x;
  8800. ADD.F32 R1.y, -R1, {1, 0, 0, 0}.x;
  8801. MOV.S R16.y, R1;
  8802. ADD.F32 R1.y, -R4, {1, 0, 0, 0}.x;
  8803. MUL.F32 R1.y, R4.x, R1;
  8804. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  8805. TRUNC.U R4.z, R4.x;
  8806. SNE.F32 R4.x, -R4.y, {-1, 0, 0, 0};
  8807. TRUNC.U R4.y, R4.x;
  8808. AND.U.CC HC.x, R4.z, R4.y;
  8809. MOV.F R1.z, c[30].x;
  8810. MOV.F R1.x, c[29];
  8811. ADD.F32 R1.x, -R1, R1.z;
  8812. MOV.F R4.x, c[27].w;
  8813. ADD.F32 R1.z, R1.w, -R4.x;
  8814. MOV.S R17.x, R1;
  8815. MOV.S R12.z, R1;
  8816. IF NE.x;
  8817. MOV.F R1.x, R1.y;
  8818. ELSE;
  8819. MOV.F R1.x, {0, 0, 0, 0};
  8820. ENDIF;
  8821. MOV.F R1.z, R12;
  8822. RCP.F32 R1.z, R1.z;
  8823. MOV.F R1.w, R11;
  8824. MOV.F R4.x, R16.y;
  8825. MOV.S R6.w, R1.z;
  8826. SNE.F32 R1.z, R1.w, {0, 0, 0, 0}.x;
  8827. MUL.F32 R1.y, R1.w, R4.x;
  8828. SNE.F32 R1.w, R4.x, {0, 0, 0, 0}.x;
  8829. TRUNC.U R1.z, R1;
  8830. TRUNC.U R1.w, R1;
  8831. AND.U.CC HC.x, R1.z, R1.w;
  8832. MOV.S R14.z, R1.x;
  8833. IF NE.x;
  8834. MOV.F R1.x, R1.y;
  8835. ELSE;
  8836. MOV.F R1.
  8837. [19:43:20] Link error in shader. Log:
  8838. [19:43:20] Vertex info
  8839. -----------
  8840. Internal error: assembly compile error for vertex shader at offset 2438:
  8841. -- error message --
  8842. line 50, column 45: error: invalid vertex attribute reference
  8843. line 56, column 25: error: invalid vertex attribute reference
  8844. line 58, column 25: error: invalid vertex attribute reference
  8845. line 61, column 25: error: invalid vertex attribute reference
  8846. line 64, column 25: error: invalid vertex attribute reference
  8847. -- internal assembly text --
  8848. !!NVvp5.0
  8849. OPTION NV_gpu_program_fp64;
  8850. OPTION NV_bindless_texture;
  8851. # cgc version 3.4.0001, build date Aug 25 2016
  8852. # command line args:
  8853. #vendor NVIDIA Corporation
  8854. #version 3.4.0.1 COP Build Date Aug 25 2016
  8855. #profile gp5vp
  8856. #program main
  8857. #semantic textureUnitVS12 : TEXUNIT[2]
  8858. #semantic textureUnitVS13 : TEXUNIT[3]
  8859. #semantic textureUnitVS7 : TEXUNIT[0]
  8860. #semantic textureUnitVS8 : TEXUNIT[1]
  8861. #semantic uf_remappedVS
  8862. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  8863. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  8864. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  8865. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  8866. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  8867. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  8868. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  8869. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  8870. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  8871. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  8872. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  8873. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  8874. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  8875. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  8876. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  8877. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  8878. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  8879. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  8880. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  8881. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  8882. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  8883. #var float4 passParameterSem11 : $vout.ATTR5 : ATTR5 : -1 : 1
  8884. #var float4 passParameterSem14 : $vout.ATTR6 : ATTR6 : -1 : 1
  8885. #var float4 passParameterSem15 : $vout.ATTR7 : ATTR7 : -1 : 1
  8886. #var float4 passParameterSem16 : $vout.ATTR8 : ATTR8 : -1 : 1
  8887. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  8888. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  8889. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  8890. #var ulong textureUnitVS12 : TEXUNIT[2] : c[69] : -1 : 1
  8891. #var ulong textureUnitVS13 : TEXUNIT[3] : c[70] : -1 : 1
  8892. #var ulong textureUnitVS7 : TEXUNIT[0] : c[71] : -1 : 1
  8893. #var ulong textureUnitVS8 : TEXUNIT[1] : c[72] : -1 : 1
  8894. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  8895. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  8896. PARAM c[73] = { program.local[0..72] };
  8897. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  8898. OUTPUT result_attrib[] = { result.attrib[0..8] };
  8899. 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;
  8900. LONG TEMP D0;
  8901. TEMP RC;
  8902. SHORT TEMP HC;
  8903. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  8904. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8905. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  8906. MOV.F R10.w, {1, 0, 0, 0}.x;
  8907. OR.U R0, R0, R1;
  8908. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  8909. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8910. OR.U R0, R0, R1;
  8911. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  8912. OR.U R8, R0, R2;
  8913. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  8914. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8915. SHR.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  8916. OR.U R0, R0, R1;
  8917. SHL.U R2, vertex.attrib[8], {8, 0, 0, 0}.x;
  8918. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8919. OR.U R0, R0, R1;
  8920. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  8921. OR.U R20, R0, R2;
  8922. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  8923. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8924. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  8925. SHR.U R1, vertex.attrib[9], {24, 0, 0, 0}.x;
  8926. OR.U R1, R1, R2;
  8927. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  8928. OR.U R0, R1, R0;
  8929. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  8930. OR.U R23, R0, R2;
  8931. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  8932. AND.U R2, R1, {65280, 0, 0, 0}.x;
  8933. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  8934. OR.U R1, R1, R2;
  8935. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  8936. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  8937. OR.U R1, R1, R2;
  8938. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  8939. OR.U R9, R1, R0;
  8940. MOV.U R0.x, R23.w;
  8941. MOV.F R0.y, c[0].x;
  8942. ADD.F32 R3.x, -R0, R0.y;
  8943. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  8944. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8945. SGT.F32 R3.y, {0, 0, 0, 0}.x, R3.x;
  8946. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  8947. OR.U R0, R0, R1;
  8948. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  8949. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8950. OR.U R0, R0, R1;
  8951. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  8952. OR.U R11, R0, R2;
  8953. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  8954. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8955. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  8956. OR.U R0, R0, R1;
  8957. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  8958. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8959. OR.U R0, R0, R1;
  8960. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  8961. OR.U R12, R0, R2;
  8962. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  8963. AND.U R1, R0, {65280, 0, 0, 0}.x;
  8964. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  8965. OR.U R0, R0, R1;
  8966. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  8967. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  8968. OR.U R0, R0, R1;
  8969. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  8970. OR.U R13, R0, R2;
  8971. TRUNC.U R17.x, R3.y;
  8972. SEQ.U R0.x, R17, {1, 0, 0, 0};
  8973. SEQ.U R17.y, -R0.x, {1, 0, 0, 0}.x;
  8974. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8975. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8976. MOV.S R14.w, R3.x;
  8977. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8978. MOV.U.CC RC.x, -R17.y;
  8979. OR.U R0.xyz, R0, R1;
  8980. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  8981. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8982. OR.U R0.xyz, R0, R1;
  8983. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  8984. OR.U R29.xyz, R0, R2;
  8985. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8986. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8987. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8988. OR.U R0.xyz, R0, R1;
  8989. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  8990. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  8991. OR.U R0.xyz, R0, R1;
  8992. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  8993. OR.U R28.xyz, R0, R2;
  8994. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8995. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  8996. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  8997. OR.U R0.xyz, R0, R1;
  8998. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  8999. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  9000. OR.U R0.xyz, R0, R1;
  9001. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  9002. OR.U R24.xyw, R0.xzzy, R2.xzzy;
  9003. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  9004. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  9005. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  9006. OR.U R0.xyz, R0, R1;
  9007. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  9008. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  9009. OR.U R0.xyz, R0, R1;
  9010. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  9011. OR.U R10.xyz, R0, R2;
  9012. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  9013. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  9014. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  9015. OR.U R0.xyz, R0, R1;
  9016. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  9017. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  9018. OR.U R0.xyz, R0, R1;
  9019. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  9020. OR.U R14.xyz, R0, R2;
  9021. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  9022. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  9023. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  9024. OR.U R0.xyz, R0, R1;
  9025. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  9026. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  9027. OR.U R0.xyz, R0, R1;
  9028. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  9029. OR.U R15.xyz, R0, R2;
  9030. SHR.U R0.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  9031. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  9032. SHR.U R0.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  9033. OR.U R0.xyz, R0, R1;
  9034. SHL.U R2.xyz, vertex.attrib[5], {8, 0, 0, 0}.x;
  9035. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  9036. OR.U R0.xyz, R0, R1;
  9037. SHL.U R2.xyz, vertex.attrib[5], {24, 0, 0, 0}.x;
  9038. OR.U R16.xyz, R0, R2;
  9039. SHR.U R0.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  9040. AND.U R0.zw, R0.xyxy, {65280, 0, 0, 0}.x;
  9041. SHR.U R0.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  9042. OR.U R0.xy, R0, R0.zwzw;
  9043. SHL.U R7.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  9044. AND.U R0.zw, R7.xyxy, {16711680, 0, 0, 0}.x;
  9045. OR.U R0.xy, R0, R0.zwzw;
  9046. SHL.U R7.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  9047. OR.U R26.xy, R0, R7;
  9048. MOV.U R0.x, R26;
  9049. MOV.F R0.z, R0.x;
  9050. MOV.U R0.y, R26;
  9051. ADD.F32 R0.x, -R0.y, {1, 0, 0, 0};
  9052. ADD.F32 R0.y, -R0.z, {1, 0, 0, 0}.x;
  9053. MOV.S R26.z, R0.x;
  9054. MOV.S R15.w, R0.y;
  9055. MOV.S R1, {0, 0, 0, 0}.x;
  9056. MOV.S R2, {0, 0, 0, 0}.x;
  9057. MOV.S R6, {0, 0, 0, 0}.x;
  9058. MOV.S R3, {0, 0, 0, 0}.x;
  9059. MOV.S R5, {0, 0, 0, 0}.x;
  9060. MOV.S R4, {0, 0, 0, 0}.x;
  9061. MOV.S R7, {0, 0, 0, 0}.x;
  9062. MOV.S R30.xyz, {0, 0, 0, 0}.x;
  9063. MOV.S R25.xyz, {0, 0, 0, 0}.x;
  9064. MOV.S R0.yz, {0, 0, 0, 0};
  9065. MOV.S R0.x, vertex.id;
  9066. MOV.S R0.w, vertex.instance.x;
  9067. MOV.S R10.w, R10;
  9068. MOV.S R16.w, {0, 0, 0, 0}.x;
  9069. IF NE.x;
  9070. MOV.F R6.x, c[1].y;
  9071. MUL.F32 R6.z, R6.x, {5, 0, 0, 0}.x;
  9072. MOV.S R23.w, R10;
  9073. MOV.S R6.xyw, {0, 0, 0, 0}.xyzx;
  9074. MOV.S R6.z, R6;
  9075. MOV.S R23.x, {0, 0, 0, 0};
  9076. ENDIF;
  9077. SEQ.U R17.x, R17, {0, 0, 0, 0};
  9078. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  9079. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  9080. MOV.U.CC RC.x, -R17;
  9081. IF NE.x;
  9082. MOV.S R23.w, {0, 0, 0, 0}.x;
  9083. ENDIF;
  9084. SEQ.S R17.x, R23.w, {0, 0, 0, 0};
  9085. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  9086. SEQ.U R17.z, -R17.y, {1, 0, 0, 0}.x;
  9087. MOV.U.CC RC.x, -R17.z;
  9088. MOV.U R17.x, -R17;
  9089. MOV.U R23.w, -R17.y;
  9090. IF NE.x;
  9091. MOV.F R17.y, R20.w;
  9092. TRUNC.S R17.y, R17;
  9093. I2F.S R17.y, R17;
  9094. MOV.F R17.z, R14.w;
  9095. SGE.F32 R17.z, R17, R17.y;
  9096. TRUNC.U R17.z, R17;
  9097. SEQ.U R17.w, R23, {1, 0, 0, 0}.x;
  9098. SEQ.U R17.z, R17, {1, 0, 0, 0}.x;
  9099. AND.U R32.x, -R17.z, -R17.w;
  9100. MOV.S R30.x, R17.y;
  9101. MOV.S R30.yz, {0, 0, 0, 0}.x;
  9102. ELSE;
  9103. MOV.U R32.x, {0, 0, 0, 0};
  9104. ENDIF;
  9105. SEQ.U R17.y, R32.x, {1, 0, 0, 0}.x;
  9106. MOV.U.CC RC.x, -R17.y;
  9107. IF NE.x;
  9108. MOV.F R6.x, c[1].y;
  9109. MUL.F32 R6.z, R6.x, {5, 0, 0, 0}.x;
  9110. MOV.S R16.w, R10;
  9111. MOV.S R6.xy, {0, 0, 0, 0};
  9112. MOV.S R6.z, R6;
  9113. MOV.S R23.x, {0, 0, 0, 0};
  9114. ENDIF;
  9115. SEQ.U R17.x, R17, {1, 0, 0, 0};
  9116. SEQ.U R17.y, -R17.x, {1, 0, 0, 0}.x;
  9117. MOV.U.CC RC.x, -R17.y;
  9118. MOV.U R23.w, -R17.x;
  9119. IF NE.x;
  9120. SEQ.S R17.x, R16.w, {0, 0, 0, 0};
  9121. MOV.U R31.w, -R17.x;
  9122. SEQ.U R17.y, R23.w, {1, 0, 0, 0}.x;
  9123. SEQ.U R17.x, -R17, {1, 0, 0, 0};
  9124. AND.U R32.x, -R17, -R17.y;
  9125. ELSE;
  9126. MOV.U R31.w, {0, 0, 0, 0}.x;
  9127. MOV.U R32.x, {0, 0, 0, 0};
  9128. ENDIF;
  9129. SEQ.U R17.x, R32, {1, 0, 0, 0};
  9130. MOV.U.CC RC.x, -R17;
  9131. IF NE.x;
  9132. MOV.F R0.z, c[2].x;
  9133. SLT.F32 R0.w, R0.z, {0, 0, 0, 0}.x;
  9134. MOV.F R0.x, {1, 0, 0, 0};
  9135. TRUNC.U.CC HC.x, R0.w;
  9136. MOV.F R0.x(EQ), {0, 0, 0, 0};
  9137. MOV.S R17.y, R0.x;
  9138. MOV.F R0.x, R9;
  9139. MAX.F R0.x, R0, {0, 0, 0, 0};
  9140. MOV.S R17.z, R0.x;
  9141. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  9142. TRUNC.U.CC HC.x, R0.z;
  9143. MOV.S R0.x, {0, 0, 0, 0};
  9144. IF NE.x;
  9145. MOV.F R0.z, {1, 0, 0, 0}.x;
  9146. ELSE;
  9147. MOV.F R0.z, {0, 0, 0, 0}.x;
  9148. ENDIF;
  9149. MOV.F R0.w, R9.x;
  9150. SNE.F32 R17.w, R0, {0, 0, 0, 0}.x;
  9151. MOV.F R17.x, c[3].y;
  9152. TRUNC.U R18.x, R17.w;
  9153. MUL.F32 R0.w, R0, R17.x;
  9154. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  9155. TRUNC.U R17.x, R17;
  9156. AND.U.CC HC.x, R18, R17;
  9157. MOV.S R17.w, R0.z;
  9158. IF NE.x;
  9159. MOV.F R0.z, R0.w;
  9160. ELSE;
  9161. MOV.F R0.z, {0, 0, 0, 0}.x;
  9162. ENDIF;
  9163. MOV.F R17.x, R17.y;
  9164. MOV.F R0.w, R17;
  9165. ADD.F32 R0.w, R0, -R17.x;
  9166. MOV.S R17.x, R0.w;
  9167. MOV.F R18.x, R17;
  9168. MOV.S R19.y, R0.w;
  9169. MOV.F R0.w, R14;
  9170. MOV.F R17.y, R30.x;
  9171. DIV.F32 R17.w, R0, R17.y;
  9172. SNE.F32 R17.y, -R18.x, {-1, 0, 0, 0}.x;
  9173. ADD.F32 R18.y, -R18.x, {1, 0, 0, 0}.x;
  9174. MOV.F R17.x, c[2];
  9175. DIV.F32 R17.x, R0.w, R17.x;
  9176. MOV.S R17.x, R17;
  9177. ADD.F32 R0.z, R0, R17.x;
  9178. MOV.S R17.x, R0.z;
  9179. MOV.F R0.z, R17;
  9180. MOV.S R17.z, R17.x;
  9181. MIN.F R17.x, R0.z, {0, 0, 0, 0};
  9182. MOV.F R0.z, R24.x;
  9183. ADD.F32 R0.z, R0, R17.x;
  9184. MOV.F R17.x, R17.z;
  9185. MOV.S R23.x, R0.z;
  9186. FRC.F R0.z, R17.x;
  9187. MOV.S R17.x, R0.z;
  9188. SNE.F32 R17.z, R17.w, {0, 0, 0, 0}.x;
  9189. MUL.F32 R0.w, R17, R18.y;
  9190. TRUNC.U R18.y, R17.z;
  9191. TRUNC.U R17.y, R17;
  9192. MOV.S R0.z, R17.w;
  9193. AND.U.CC HC.x, R18.y, R17.y;
  9194. MOV.F R17.w, c[5].x;
  9195. MOV.F R17.z, c[4].x;
  9196. ADD.F32 R17.z, -R17, R17.w;
  9197. MOV.F R18.x, c[5].y;
  9198. MOV.F R17.w, c[4].y;
  9199. ADD.F32 R17.w, -R17, R18.x;
  9200. MOV.S R18.w, R17.z;
  9201. MOV.S R19.w, R17;
  9202. IF NE.x;
  9203. MOV.F R17.y, R0.w;
  9204. ELSE;
  9205. MOV.F R17.y, {0, 0, 0, 0}.x;
  9206. ENDIF;
  9207. MOV.F R17.z, R17.x;
  9208. MOV.F R17.x, R19.y;
  9209. MUL.F32 R0.w, R17.x, R17.z;
  9210. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  9211. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9212. MOV.F R18.x, c[5].z;
  9213. MOV.F R17.w, c[4].z;
  9214. ADD.F32 R17.w, -R17, R18.x;
  9215. MOV.F R18.y, c[5].w;
  9216. MOV.F R18.x, c[4].w;
  9217. ADD.F32 R18.x, -R18, R18.y;
  9218. MOV.S R18.z, R17.w;
  9219. MOV.S R17.w, R18.x;
  9220. MOV.F R18.y, c[6].x;
  9221. MOV.F R18.x, c[5];
  9222. ADD.F32 R19.x, -R18, R18.y;
  9223. MOV.F R18.y, c[6];
  9224. MOV.F R18.x, c[5].y;
  9225. ADD.F32 R18.x, -R18, R18.y;
  9226. MOV.S R19.y, R19.x;
  9227. TRUNC.U R17.x, R17;
  9228. TRUNC.U R17.z, R17;
  9229. AND.U.CC HC.x, R17, R17.z;
  9230. MOV.S R19.x, R18;
  9231. MOV.S R18.y, R17;
  9232. IF NE.x;
  9233. MOV.F R17.x, R0.w;
  9234. ELSE;
  9235. MOV.F R17.x, {0, 0, 0, 0};
  9236. ENDIF;
  9237. MOV.F R0.w, R17;
  9238. MOV.F R17.z, R18;
  9239. DIV.F32 R17.z, R17, R0.w;
  9240. MOV.F R17.y, R18;
  9241. MOV.S R18.y, R17.z;
  9242. MOV.F R17.z, R19.w;
  9243. DIV.F32 R17.w, R17.z, R0.w;
  9244. MOV.S R17.x, R17;
  9245. ADD.F32 R17.x, R17.y, R17;
  9246. MOV.F R17.z, c[4].w;
  9247. ADD.F32 R17.y, R17.x, -R17.z;
  9248. MOV.S R17.z, R17.y;
  9249. MOV.S R18.x, R17.w;
  9250. MOV.F R17.w, R18;
  9251. MOV.S R17.y, R17.z;
  9252. DIV.F32 R0.w, R17, R0.w;
  9253. MOV.F R18.w, R17.y;
  9254. SNE.F32 R17.y, R0.w, {0, 0, 0, 0}.x;
  9255. MOV.F R17.w, c[5];
  9256. MOV.S R21.y, R17.z;
  9257. ADD.F32 R17.z, R17.x, -R17.w;
  9258. MOV.S R18.z, R17.x;
  9259. MOV.S R19.z, R17;
  9260. MOV.F R17.z, c[6];
  9261. MOV.F R17.x, c[5].z;
  9262. ADD.F32 R17.x, -R17, R17.z;
  9263. SNE.F32 R17.w, R18, {0, 0, 0, 0}.x;
  9264. TRUNC.U R17.y, R17;
  9265. TRUNC.U R17.z, R17.w;
  9266. AND.U.CC HC.x, R17.z, R17.y;
  9267. MUL.F32 R0.w, R18, R0;
  9268. MOV.S R19.w, R17.x;
  9269. IF NE.x;
  9270. ELSE;
  9271. MOV.F R0.w, {0, 0, 0, 0}.x;
  9272. ENDIF;
  9273. MOV.F R17.y, R18;
  9274. MOV.F R17.x, R21.y;
  9275. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  9276. MUL.F32 R17.z, R17.x, R17.y;
  9277. SNE.F32 R18.y, R17, {0, 0, 0, 0}.x;
  9278. MOV.F R17.y, c[6].w;
  9279. MOV.F R17.x, c[5].w;
  9280. ADD.F32 R17.x, -R17, R17.y;
  9281. MOV.S R17.y, R17.x;
  9282. TRUNC.U R17.w, R17;
  9283. TRUNC.U R18.y, R18;
  9284. AND.U.CC HC.x, R17.w, R18.y;
  9285. MOV.S R17.x, R0.w;
  9286. IF NE.x;
  9287. MOV.F R0.w, R17.z;
  9288. ELSE;
  9289. MOV.F R0.w, {0, 0, 0, 0}.x;
  9290. ENDIF;
  9291. MOV.F R17.z, R21.y;
  9292. MUL.F32 R17.w, R17.z, R18.x;
  9293. SNE.F32 R18.y, R18.x, {0, 0, 0, 0}.x;
  9294. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9295. TRUNC.U R18.x, R17.z;
  9296. TRUNC.U R18.y, R18;
  9297. AND.U.CC HC.x, R18, R18.y;
  9298. MOV.S R17.z, R0.w;
  9299. IF NE.x;
  9300. ELSE;
  9301. MOV.F R17.w, {0, 0, 0, 0}.x;
  9302. ENDIF;
  9303. MOV.F R0.w, R19.z;
  9304. SLT.F32 R18.w, R0, {0, 0, 0, 0}.x;
  9305. MOV.F R18.x, {1, 0, 0, 0};
  9306. MOV.S R20.w, R18.x;
  9307. MOV.S R18.y, {0, 0, 0, 0}.x;
  9308. TRUNC.U.CC HC.x, R18.w;
  9309. MOV.S R18.y(EQ.x), R20.w;
  9310. MOV.F R18.x, R21.y;
  9311. SLT.F32 R18.w, R18.x, {0, 0, 0, 0}.x;
  9312. TRUNC.U.CC HC.x, R18.w;
  9313. MOV.S R18.x, {0, 0, 0, 0};
  9314. MOV.S R18.x(EQ), R20.w;
  9315. MOV.S R22.w, R18.x;
  9316. MOV.F R18.w, R18.y;
  9317. MOV.S R22.z, R18.y;
  9318. ADD.F32 R18.y, -R18.w, {1, 0, 0, 0}.x;
  9319. MOV.F R18.x, R19.w;
  9320. MOV.F R18.w, R19.x;
  9321. DIV.F32 R19.w, R18, R17.y;
  9322. MOV.F R18.w, R19.y;
  9323. SNE.F32 R19.y, R19.w, {0, 0, 0, 0}.x;
  9324. MUL.F32 R19.x, R0.w, R19.w;
  9325. MOV.S R27.w, R18.y;
  9326. DIV.F32 R18.y, R18.x, R17.y;
  9327. MOV.F R18.x, R17.z;
  9328. MOV.S R17.z, R18.y;
  9329. MOV.F R18.y, R17.x;
  9330. DIV.F32 R17.x, R18.w, R17.y;
  9331. MOV.F R17.y, R18.z;
  9332. MOV.F R18.w, c[6];
  9333. ADD.F32 R17.y, R17, -R18.w;
  9334. MOV.F R18.z, c[4];
  9335. ADD.F32 R18.x, R18.z, R18;
  9336. MOV.F R18.w, c[4].x;
  9337. ADD.F32 R18.y, R18.w, R18;
  9338. MOV.S R18.w, R18.x;
  9339. MOV.F R18.x, c[4].y;
  9340. SNE.F32 R19.w, R0, {0, 0, 0, 0}.x;
  9341. ADD.F32 R0.w, R18.x, R17;
  9342. TRUNC.U R19.y, R19;
  9343. TRUNC.U R17.w, R19;
  9344. AND.U.CC HC.x, R17.w, R19.y;
  9345. MOV.S R17.x, R17;
  9346. MOV.S R17.y, R17;
  9347. MOV.S R18.y, R18;
  9348. MOV.S R18.z, R19;
  9349. MOV.S R18.x, R0.w;
  9350. IF NE.x;
  9351. MOV.F R0.w, R19.x;
  9352. ELSE;
  9353. MOV.F R0.w, {0, 0, 0, 0}.x;
  9354. ENDIF;
  9355. MOV.F R19.x, R17;
  9356. MOV.F R17.w, R19.z;
  9357. MUL.F32 R17.x, R17.w, R19;
  9358. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  9359. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  9360. TRUNC.U R17.w, R17;
  9361. TRUNC.U R19.x, R19;
  9362. AND.U.CC HC.x, R17.w, R19;
  9363. MOV.S R21.x, R0.w;
  9364. IF NE.x;
  9365. MOV.F R0.w, R17.x;
  9366. ELSE;
  9367. MOV.F R0.w, {0, 0, 0, 0}.x;
  9368. ENDIF;
  9369. MOV.F R17.x, R17.y;
  9370. SLT.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  9371. MOV.S R17.x, {0, 0, 0, 0};
  9372. MOV.F R17.y, {1, 0, 0, 0}.x;
  9373. TRUNC.U.CC HC.x, R17.w;
  9374. MOV.S R17.x(EQ), R17.y;
  9375. MOV.S R19.z, R17.x;
  9376. MOV.F R17.x, R17.z;
  9377. SNE.F32 R17.z, R17.x, {0, 0, 0, 0}.x;
  9378. MOV.F R17.y, R18.z;
  9379. MUL.F32 R17.x, R17.y, R17;
  9380. TRUNC.U R17.z, R17;
  9381. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9382. MOV.S R21.y, R0.w;
  9383. TRUNC.U R0.w, R17.y;
  9384. AND.U.CC HC.x, R0.w, R17.z;
  9385. IF NE.x;
  9386. MOV.F R0.w, R17.x;
  9387. ELSE;
  9388. MOV.F R0.w, {0, 0, 0, 0}.x;
  9389. ENDIF;
  9390. MOV.F R17.z, R27.w;
  9391. MOV.F R17.y, R22.w;
  9392. MUL.F32 R17.x, R17.y, R17.z;
  9393. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9394. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9395. TRUNC.U R17.y, R17;
  9396. TRUNC.U R17.z, R17;
  9397. AND.U.CC HC.x, R17.y, R17.z;
  9398. MOV.S R21.w, R0;
  9399. IF NE.x;
  9400. MOV.F R0.w, R17.x;
  9401. ELSE;
  9402. MOV.F R0.w, {0, 0, 0, 0}.x;
  9403. ENDIF;
  9404. MOV.S R0.w, R0;
  9405. MOV.F R17.y, R21.w;
  9406. MOV.F R17.x, c[5].z;
  9407. ADD.F32 R17.x, R17, R17.y;
  9408. MOV.S R19.x, R17;
  9409. MOV.F R17.x, R19.z;
  9410. MOV.F R17.z, R21.y;
  9411. MOV.F R17.y, c[5].x;
  9412. ADD.F32 R17.y, R17, R17.z;
  9413. MOV.S R18.z, R17.y;
  9414. MOV.F R17.y, R18;
  9415. MOV.F R17.w, R21.x;
  9416. MOV.F R17.z, c[5].y;
  9417. ADD.F32 R17.z, R17, R17.w;
  9418. ADD.F32 R17.x, -R17, {1, 0, 0, 0};
  9419. MOV.S R18.y, R17.z;
  9420. MOV.S R17.z, R0.w;
  9421. MOV.S R17.w, R17.x;
  9422. MUL.F32 R17.x, R17.y, R17.z;
  9423. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9424. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9425. TRUNC.U R17.y, R17;
  9426. TRUNC.U R17.z, R17;
  9427. AND.U.CC HC.x, R17.y, R17.z;
  9428. MOV.S R24.z, R0.w;
  9429. IF NE.x;
  9430. MOV.F R0.w, R17.x;
  9431. ELSE;
  9432. MOV.F R0.w, {0, 0, 0, 0}.x;
  9433. ENDIF;
  9434. MOV.F R17.y, R19.z;
  9435. MOV.S R17.x, R18;
  9436. SNE.F32 R18.x, R17.y, {0, 0, 0, 0};
  9437. MOV.F R17.z, c[6].x;
  9438. MUL.F32 R17.y, R17.z, R17;
  9439. TRUNC.U R18.x, R18;
  9440. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9441. MOV.S R19.y, R0.w;
  9442. TRUNC.U R0.w, R17.z;
  9443. AND.U.CC HC.x, R0.w, R18;
  9444. IF NE.x;
  9445. ELSE;
  9446. MOV.F R17.y, {0, 0, 0, 0}.x;
  9447. ENDIF;
  9448. MOV.F R0.w, R19.z;
  9449. SNE.F32 R18.x, R0.w, {0, 0, 0, 0};
  9450. MOV.F R17.z, c[6];
  9451. TRUNC.U R19.w, R18.x;
  9452. MUL.F32 R0.w, R17.z, R0;
  9453. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9454. MOV.S R18.x, R17.y;
  9455. TRUNC.U R17.y, R17.z;
  9456. AND.U.CC HC.x, R17.y, R19.w;
  9457. IF NE.x;
  9458. MOV.F R17.y, R0.w;
  9459. ELSE;
  9460. MOV.F R17.y, {0, 0, 0, 0}.x;
  9461. ENDIF;
  9462. MOV.F R0.w, R19.z;
  9463. SNE.F32 R19.z, R0.w, {0, 0, 0, 0}.x;
  9464. MOV.F R17.z, c[6].y;
  9465. MUL.F32 R0.w, R17.z, R0;
  9466. TRUNC.U R19.z, R19;
  9467. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9468. MOV.S R22.y, R17;
  9469. TRUNC.U R17.y, R17.z;
  9470. AND.U.CC HC.x, R17.y, R19.z;
  9471. IF NE.x;
  9472. ELSE;
  9473. MOV.F R0.w, {0, 0, 0, 0}.x;
  9474. ENDIF;
  9475. MOV.F R17.z, R22;
  9476. MUL.F32 R17.y, R17.z, R17.w;
  9477. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9478. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  9479. TRUNC.U R17.z, R17;
  9480. TRUNC.U R17.w, R17;
  9481. AND.U.CC HC.x, R17.z, R17.w;
  9482. MOV.S R19.z, R0.w;
  9483. IF NE.x;
  9484. MOV.F R0.w, R17.y;
  9485. ELSE;
  9486. MOV.F R0.w, {0, 0, 0, 0}.x;
  9487. ENDIF;
  9488. MOV.F R17.z, R24;
  9489. MOV.F R17.y, R17.x;
  9490. MUL.F32 R17.x, R17.y, R17.z;
  9491. SNE.F32 R17.w, R17.z, {0, 0, 0, 0}.x;
  9492. TRUNC.U R17.z, R17.w;
  9493. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9494. MOV.S R21.w, R0;
  9495. TRUNC.U R0.w, R17.y;
  9496. AND.U.CC HC.x, R0.w, R17.z;
  9497. IF NE.x;
  9498. ELSE;
  9499. MOV.F R17.x, {0, 0, 0, 0};
  9500. ENDIF;
  9501. MOV.F R17.z, R21.w;
  9502. MOV.F R17.y, R19.x;
  9503. MUL.F32 R0.w, R17.y, R17.z;
  9504. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9505. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9506. TRUNC.U R17.y, R17;
  9507. TRUNC.U R17.z, R17;
  9508. AND.U.CC HC.x, R17.y, R17.z;
  9509. MOV.S R22.x, R17;
  9510. IF NE.x;
  9511. MOV.F R17.x, R0.w;
  9512. ELSE;
  9513. MOV.F R17.x, {0, 0, 0, 0};
  9514. ENDIF;
  9515. MOV.F R17.z, R21.w;
  9516. MOV.F R17.y, R18;
  9517. MUL.F32 R0.w, R17.y, R17.z;
  9518. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9519. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9520. TRUNC.U R17.y, R17;
  9521. TRUNC.U R17.z, R17;
  9522. AND.U.CC HC.x, R17.y, R17.z;
  9523. MOV.S R24.x, R17;
  9524. IF NE.x;
  9525. ELSE;
  9526. MOV.F R0.w, {0, 0, 0, 0}.x;
  9527. ENDIF;
  9528. MOV.F R17.z, R21.w;
  9529. MOV.F R17.y, R18.z;
  9530. MUL.F32 R17.x, R17.y, R17.z;
  9531. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9532. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9533. TRUNC.U R17.y, R17;
  9534. TRUNC.U R17.z, R17;
  9535. AND.U.CC HC.x, R17.y, R17.z;
  9536. MOV.S R18.y, R0.w;
  9537. IF NE.x;
  9538. MOV.F R0.w, R17.x;
  9539. ELSE;
  9540. MOV.F R0.w, {0, 0, 0, 0}.x;
  9541. ENDIF;
  9542. MOV.F R17.z, R24;
  9543. MOV.F R17.y, R18.w;
  9544. MUL.F32 R17.x, R17.y, R17.z;
  9545. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  9546. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9547. TRUNC.U R17.y, R17;
  9548. TRUNC.U R17.z, R17;
  9549. AND.U.CC HC.x, R17.y, R17.z;
  9550. MOV.S R18.z, R0.w;
  9551. IF NE.x;
  9552. MOV.F R0.w, R17.x;
  9553. ELSE;
  9554. MOV.F R0.w, {0, 0, 0, 0}.x;
  9555. ENDIF;
  9556. MOV.F R17.x, R22.w;
  9557. ADD.F32 R17.y, -R17.x, {1, 0, 0, 0}.x;
  9558. SNE.F32 R17.w, -R17.x, {-1, 0, 0, 0}.x;
  9559. MOV.F R17.z, c[4].y;
  9560. MOV.S R27.w, R17.y;
  9561. MUL.F32 R17.x, R17.y, R17.z;
  9562. TRUNC.U R17.w, R17;
  9563. SNE.F32 R17.y, R17.z, {0, 0, 0, 0}.x;
  9564. MOV.S R18.w, R0;
  9565. TRUNC.U R0.w, R17.y;
  9566. AND.U.CC HC.x, R0.w, R17.w;
  9567. IF NE.x;
  9568. ELSE;
  9569. MOV.F R17.x, {0, 0, 0, 0};
  9570. ENDIF;
  9571. MOV.F R17.y, c[4].x;
  9572. MOV.F R17.z, R27.w;
  9573. MUL.F32 R0.w, R17.y, R17.z;
  9574. MOV.S R19.x, R17;
  9575. SNE.F32 R17.x, R17.y, {0, 0, 0, 0};
  9576. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9577. TRUNC.U R17.y, R17.z;
  9578. TRUNC.U R17.x, R17;
  9579. AND.U.CC HC.x, R17, R17.y;
  9580. IF NE.x;
  9581. ELSE;
  9582. MOV.F R0.w, {0, 0, 0, 0}.x;
  9583. ENDIF;
  9584. MOV.F R17.y, R9;
  9585. MOV.F R17.x, R9;
  9586. ADD.F32 R17.x, R17, R17.y;
  9587. MOV.F R17.y, c[4].z;
  9588. MOV.S R21.y, R0.w;
  9589. SNE.F32 R0.w, R17.y, {0, 0, 0, 0}.x;
  9590. MOV.F R17.z, R27.w;
  9591. MOV.S R24.z, R17.x;
  9592. MUL.F32 R17.x, R17.y, R17.z;
  9593. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  9594. TRUNC.U R17.y, R17.z;
  9595. TRUNC.U R0.w, R0;
  9596. AND.U.CC HC.x, R0.w, R17.y;
  9597. IF NE.x;
  9598. MOV.F R0.w, R17.x;
  9599. ELSE;
  9600. MOV.F R0.w, {0, 0, 0, 0}.x;
  9601. ENDIF;
  9602. MOV.F R27, R12;
  9603. MOV.F R17.xyz, R20;
  9604. MOV.F R17.w, {1, 0, 0, 0}.x;
  9605. DP4.F32 R19.w, R13, R17;
  9606. MOV.F R13, R11;
  9607. DP4.F32 R11.x, R13, R17;
  9608. DP4.F32 R11.w, R27, R17;
  9609. MOV.F R12.z, R19.x;
  9610. MOV.F R12.x, R22;
  9611. ADD.F32 R12.w, R12.x, R12.z;
  9612. MOV.F R12.z, R21.y;
  9613. MOV.F R12.x, R19.y;
  9614. ADD.F32 R12.z, R12.x, R12;
  9615. MOV.F R12.x, R18.z;
  9616. ADD.F32 R12.z, R12.x, R12;
  9617. MOV.F R12.x, R18;
  9618. SNE.F32 R13.x, R12, -R12.z;
  9619. ADD.F32 R12.x, R12, R12.z;
  9620. MOV.F R12.z, R18.w;
  9621. ADD.F32 R0.w, R12.z, R0;
  9622. MOV.S R21.y, R12.w;
  9623. MOV.F R12.w, R23.x;
  9624. SNE.F32 R12.z, R12.w, {0, 0, 0, 0}.x;
  9625. MOV.S R21.x, R0.w;
  9626. TRUNC.U R13.x, R13;
  9627. TRUNC.U R12.z, R12;
  9628. AND.U.CC HC.x, R12.z, R13;
  9629. MOV.S R11.z, R19.w;
  9630. MOV.S R11.w, R11;
  9631. MOV.S R11.x, R11;
  9632. MOV.S R20.z, R19.w;
  9633. MUL.F32 R12.x, R12.w, R12;
  9634. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  9635. IF NE.x;
  9636. ELSE;
  9637. MOV.F R12.x, {0, 0, 0, 0};
  9638. ENDIF;
  9639. MOV.F R12.w, R21.x;
  9640. MOV.F R12.z, R24.x;
  9641. ADD.F32 R12.z, R12, R12.w;
  9642. MOV.F R12.w, R22.y;
  9643. ADD.F32 R12.z, R12.w, R12;
  9644. MOV.S R21.z, R12;
  9645. MOV.F R12.w, R9.z;
  9646. MOV.F R12.z, R9.y;
  9647. ADD.F32 R13.x, R12.z, R12.w;
  9648. MUL.F32 R13.y, R13.x, {0.5, 0, 0, 0}.x;
  9649. MOV.F R12.z, R9.x;
  9650. ADD.F32 R12.z, R12, R12.w;
  9651. MOV.S R21.x, R13.y;
  9652. MOV.F R13.x, R21.y;
  9653. MUL.F32 R12.z, R12, {0.5, 0, 0, 0}.x;
  9654. MOV.F R12.w, R18.y;
  9655. MOV.S R21.y, R12.z;
  9656. MOV.F R12.z, R24;
  9657. MAD.F32 R12.z, R12, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  9658. ADD.F32 R13.x, R12.w, R13;
  9659. MOV.S R12.z, R12;
  9660. MOV.F R13.y, R19.z;
  9661. ADD.F32 R13.z, R13.y, R13.x;
  9662. MOV.S R12.w, R12.z;
  9663. MOV.F R13.w, R24;
  9664. MUL.F32 R12.w, R12, {2, 0, 0, 0}.x;
  9665. MUL.F32 R12.z, R13.w, R13;
  9666. SNE.F32 R13.x, R13.y, -R13;
  9667. MOV.S R18.w, R12;
  9668. SNE.F32 R12.w, R13, {0, 0, 0, 0}.x;
  9669. TRUNC.U R13.x, R13;
  9670. TRUNC.U R12.w, R12;
  9671. AND.U.CC HC.x, R12.w, R13;
  9672. MOV.S R30.y, R11.w;
  9673. MOV.S R13.z, R12.x;
  9674. MOV.S R30.z, R20;
  9675. IF NE.x;
  9676. MOV.F R12.x, R12.z;
  9677. ELSE;
  9678. MOV.F R12.x, {0, 0, 0, 0};
  9679. ENDIF;
  9680. MOV.F R12.z, R21.y;
  9681. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  9682. MOV.S R12.w, R12.z;
  9683. MOV.F R12.z, R21.x;
  9684. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  9685. MUL.F32 R13.x, R12.z, {2, 0, 0, 0};
  9686. MUL.F32 R12.z, R12.w, {2, 0, 0, 0}.x;
  9687. MOV.S R17.z, R13.x;
  9688. MOV.F R13.x, R21.z;
  9689. MOV.F R12.w, R24.y;
  9690. MOV.S R17.y, R12.z;
  9691. MUL.F32 R12.z, R12.w, R13.x;
  9692. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9693. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  9694. TRUNC.U R13.x, R13;
  9695. TRUNC.U R12.w, R12;
  9696. AND.U.CC HC.x, R12.w, R13;
  9697. MOV.S R24.x, R12;
  9698. IF NE.x;
  9699. ELSE;
  9700. MOV.F R12.z, {0, 0, 0, 0}.x;
  9701. ENDIF;
  9702. MOV.F R12.x, R9;
  9703. ADD.F32 R12.x, R12, {-0.5, 0, 0, 0};
  9704. MOV.F R13.y, c[7];
  9705. MOV.F R13.x, R17.z;
  9706. MUL.F32 R12.w, R13.x, R13.y;
  9707. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9708. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  9709. TRUNC.U R13.x, R13;
  9710. TRUNC.U R13.y, R13;
  9711. AND.U.CC HC.x, R13, R13.y;
  9712. MOV.S R12.x, R12;
  9713. MOV.S R13.w, R12.z;
  9714. IF NE.x;
  9715. MOV.F R12.z, R12.w;
  9716. ELSE;
  9717. MOV.F R12.z, {0, 0, 0, 0}.x;
  9718. ENDIF;
  9719. MOV.F R13.y, c[7].x;
  9720. MOV.F R13.x, R18.w;
  9721. MUL.F32 R12.w, R13.x, R13.y;
  9722. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9723. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  9724. TRUNC.U R13.x, R13;
  9725. TRUNC.U R13.y, R13;
  9726. AND.U.CC HC.x, R13, R13.y;
  9727. MOV.S R21.x, R12.z;
  9728. IF NE.x;
  9729. MOV.F R13.x, R12.w;
  9730. ELSE;
  9731. MOV.F R13.x, {0, 0, 0, 0};
  9732. ENDIF;
  9733. MOV.F R12.w, R9.y;
  9734. MOV.F R12.z, R9;
  9735. ADD.F32 R12.w, R12, {-0.5, 0, 0, 0}.x;
  9736. ADD.F32 R12.z, R12, {-0.5, 0, 0, 0}.x;
  9737. MOV.F R17.x, R17.y;
  9738. MOV.F R17.z, c[7];
  9739. MUL.F32 R13.y, R17.x, R17.z;
  9740. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  9741. SNE.F32 R17.y, R17.z, {0, 0, 0, 0}.x;
  9742. TRUNC.U R17.x, R17;
  9743. TRUNC.U R17.y, R17;
  9744. AND.U.CC HC.x, R17, R17.y;
  9745. MOV.S R12.w, R12;
  9746. MOV.S R12.z, R12;
  9747. MOV.S R21.y, R13.x;
  9748. IF NE.x;
  9749. ELSE;
  9750. MOV.F R13.y, {0, 0, 0, 0}.x;
  9751. ENDIF;
  9752. MOV.F R13.x, R9.y;
  9753. MUL.F32 R17.y, R13.x, {2, 0, 0, 0}.x;
  9754. MOV.F R17.x, R21;
  9755. MOV.F R13.x, c[8].y;
  9756. ADD.F32 R13.x, R13, R17;
  9757. MOV.S R17.x, R17.y;
  9758. MOV.S R17.y, R17.x;
  9759. MOV.S R20.z, R13.x;
  9760. MOV.F R17.x, c[8];
  9761. MOV.F R13.x, R21.y;
  9762. ADD.F32 R13.x, R13, R17;
  9763. MOV.F R17.x, R17.y;
  9764. MOV.S R20.x, R13;
  9765. FLR.F R13.x, R17;
  9766. MOV.F R17.x, c[8].z;
  9767. ADD.F32 R13.y, R17.x, R13;
  9768. MOV.S R13.x, R13;
  9769. MOV.S R13.y, R13;
  9770. AND.S R20.w, c[9].x, {65536, 0, 0, 0}.x;
  9771. AND.S R24.y, c[9].x, {131072, 0, 0, 0}.x;
  9772. AND.S R24.w, c[9].x, {262144, 0, 0, 0}.x;
  9773. ENDIF;
  9774. SEQ.U R17.x, R32, {1, 0, 0, 0};
  9775. MOV.U.CC RC.x, -R17;
  9776. IF NE.x;
  9777. MOV.F R12.y, c[10].w;
  9778. MOV.F R10.w, R13;
  9779. MUL.F32 R0.w, R10, R12.y;
  9780. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9781. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9782. TRUNC.U R12.y, R12;
  9783. TRUNC.U R10.w, R10;
  9784. AND.U.CC HC.x, R10.w, R12.y;
  9785. IF NE.x;
  9786. ELSE;
  9787. MOV.F R0.w, {0, 0, 0, 0}.x;
  9788. ENDIF;
  9789. MOV.F R13.w, c[10].z;
  9790. MOV.F R12.y, R24.x;
  9791. MUL.F32 R10.w, R12.y, R13;
  9792. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9793. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  9794. TRUNC.U R12.y, R12;
  9795. TRUNC.U R13.w, R13;
  9796. AND.U.CC HC.x, R12.y, R13.w;
  9797. MOV.S R17.x, R0.w;
  9798. IF NE.x;
  9799. MOV.F R0.w, R10;
  9800. ELSE;
  9801. MOV.F R0.w, {0, 0, 0, 0}.x;
  9802. ENDIF;
  9803. MOV.F R12.y, R13.z;
  9804. MOV.F R13.w, c[10].y;
  9805. MUL.F32 R10.w, R12.y, R13;
  9806. SNE.F32 R12.y, R12, {0, 0, 0, 0}.x;
  9807. TRUNC.U R13.z, R12.y;
  9808. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  9809. TRUNC.U R13.w, R13;
  9810. AND.U.CC HC.x, R13.z, R13.w;
  9811. MOV.S R12.y, R0.w;
  9812. IF NE.x;
  9813. MOV.F R0.w, R10;
  9814. ELSE;
  9815. MOV.F R0.w, {0, 0, 0, 0}.x;
  9816. ENDIF;
  9817. MOV.F R10.w, R13.x;
  9818. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9819. TRUNC.U.CC HC.x, R10.w;
  9820. MOV.S R13.z, R0.w;
  9821. IF NE.x;
  9822. MOV.F R0.w, {1, 0, 0, 0}.x;
  9823. ELSE;
  9824. MOV.F R0.w, {0, 0, 0, 0}.x;
  9825. ENDIF;
  9826. I2F.S R10.w, R20;
  9827. MOV.S R27.w, R10;
  9828. MOV.F R10.w, R17.x;
  9829. SNE.F32 R13.w, R10, {0, 0, 0, 0}.x;
  9830. MOV.S R18.z, R13.x;
  9831. MOV.F R13.x, R29.z;
  9832. MUL.F32 R10.w, R13.x, R10;
  9833. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  9834. TRUNC.U R13.w, R13;
  9835. TRUNC.U R13.x, R13;
  9836. AND.U.CC HC.x, R13, R13.w;
  9837. MOV.S R18.w, R0;
  9838. IF NE.x;
  9839. MOV.F R0.w, R10;
  9840. ELSE;
  9841. MOV.F R0.w, {0, 0, 0, 0}.x;
  9842. ENDIF;
  9843. MOV.F R10.w, R27;
  9844. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9845. TRUNC.U.CC HC.x, R10.w;
  9846. MOV.S R13.x, R0.w;
  9847. IF NE.x;
  9848. MOV.F R0.w, {1, 0, 0, 0}.x;
  9849. ELSE;
  9850. MOV.F R0.w, {0, 0, 0, 0}.x;
  9851. ENDIF;
  9852. MOV.F R10.w, R27;
  9853. SLT.F32 R13.w, R10, {0, 0, 0, 0}.x;
  9854. TRUNC.U.CC HC.x, R13.w;
  9855. MOV.F R10.w, {1, 0, 0, 0}.x;
  9856. MOV.F R10.w(EQ.x), {0, 0, 0, 0}.x;
  9857. MOV.F R13.w, R18.z;
  9858. SLT.F32 R16.w, R13, {0, 0, 0, 0}.x;
  9859. TRUNC.U.CC HC.x, R16.w;
  9860. MOV.F R13.w, {1, 0, 0, 0}.x;
  9861. MOV.F R13.w(EQ.x), {0, 0, 0, 0}.x;
  9862. MOV.F R16.w, R18;
  9863. ADD.F32 R13.w, R16, -R13;
  9864. MOV.S R19.x, R13.w;
  9865. I2F.S R13.w, R24.y;
  9866. MOV.S R21.z, R10.w;
  9867. MOV.S R10.w, R13;
  9868. SGT.F32 R13.w, R13, {0, 0, 0, 0}.x;
  9869. TRUNC.U.CC HC.x, R13.w;
  9870. MOV.S R21.y, R0.w;
  9871. IF NE.x;
  9872. MOV.F R0.w, {1, 0, 0, 0}.x;
  9873. ELSE;
  9874. MOV.F R0.w, {0, 0, 0, 0}.x;
  9875. ENDIF;
  9876. I2F.S R17.x, R24.w;
  9877. SLT.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  9878. TRUNC.U.CC HC.x, R16.w;
  9879. MOV.F R13.w, {1, 0, 0, 0}.x;
  9880. MOV.F R13.w(EQ.x), {0, 0, 0, 0}.x;
  9881. SLT.F32 R16.w, R10, {0, 0, 0, 0}.x;
  9882. MOV.F R10.w, {1, 0, 0, 0}.x;
  9883. TRUNC.U.CC HC.x, R16.w;
  9884. MOV.F R10.w(EQ.x), {0, 0, 0, 0}.x;
  9885. ADD.F32 R0.w, R0, -R10;
  9886. MOV.F R10.w, R21.z;
  9887. MOV.S R21.z, R0.w;
  9888. MOV.F R0.w, R21.y;
  9889. ADD.F32 R0.w, R0, -R10;
  9890. MOV.F R10.w, R9.z;
  9891. MOV.S R17.w, R0;
  9892. MUL.F32 R0.w, R10, {2, 0, 0, 0}.x;
  9893. SGT.F32 R10.w, R17.x, {0, 0, 0, 0}.x;
  9894. TRUNC.U.CC HC.x, R10.w;
  9895. MOV.S R21.x, R13.w;
  9896. MOV.S R21.y, R0.w;
  9897. IF NE.x;
  9898. MOV.F R0.w, {1, 0, 0, 0}.x;
  9899. ELSE;
  9900. MOV.F R0.w, {0, 0, 0, 0}.x;
  9901. ENDIF;
  9902. MOV.F R16.w, R21.x;
  9903. ADD.F32 R0.w, R0, -R16;
  9904. MOV.F R10.w, R17;
  9905. TRUNC.S R10.w, R10;
  9906. ADD.S R13.w, -R10, {0, 0, 0, 0}.x;
  9907. MAX.S R21.x, R10.w, R13.w;
  9908. MOV.F R13.w, R21.y;
  9909. FLR.F R13.w, R13;
  9910. MOV.F R10.w, R21.z;
  9911. TRUNC.S R10.w, R10;
  9912. MOV.F R17.x, R9;
  9913. MUL.F32 R16.w, R17.x, {2, 0, 0, 0}.x;
  9914. MOV.S R17.y, R0.w;
  9915. SGT.F32 R0.w, R13, {0, 0, 0, 0}.x;
  9916. TRUNC.U.CC HC.x, R0.w;
  9917. ADD.S R21.y, -R10.w, {0, 0, 0, 0}.x;
  9918. MOV.S R17.z, R13.w;
  9919. MOV.S R18.w, R16;
  9920. MOV.S R22.y, R10.w;
  9921. IF NE.x;
  9922. MOV.F R0.w, {1, 0, 0, 0}.x;
  9923. ELSE;
  9924. MOV.F R0.w, {0, 0, 0, 0}.x;
  9925. ENDIF;
  9926. MOV.F R10.w, R17.z;
  9927. SLT.F32 R13.w, R10, {0, 0, 0, 0}.x;
  9928. MOV.F R10.w, {1, 0, 0, 0}.x;
  9929. TRUNC.U.CC HC.x, R13.w;
  9930. MOV.F R10.w(EQ.x), {0, 0, 0, 0}.x;
  9931. ADD.F32 R0.w, R0, -R10;
  9932. MOV.S R22.x, R0.w;
  9933. MOV.F R0.w, R18;
  9934. FLR.F R10.w, R0;
  9935. MOV.F R0.w, R17.y;
  9936. TRUNC.S R24.x, R0.w;
  9937. MOV.S R17.z, R10.w;
  9938. I2F.S R0.w, R21.x;
  9939. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  9940. SGT.F32 R10.w, R10, {0, 0, 0, 0}.x;
  9941. TRUNC.U.CC HC.x, R10.w;
  9942. MAX.S R17.w, R22.y, R21.y;
  9943. ADD.S R17.y, -R24.x, {0, 0, 0, 0}.x;
  9944. MOV.S R27.w, R0;
  9945. IF NE.x;
  9946. MOV.F R0.w, {1, 0, 0, 0}.x;
  9947. ELSE;
  9948. MOV.F R0.w, {0, 0, 0, 0}.x;
  9949. ENDIF;
  9950. MOV.F R10.w, R19.x;
  9951. SNE.F32 R16.w, R10, {0, 0, 0, 0}.x;
  9952. MOV.F R13.w, R27;
  9953. MUL.F32 R10.w, -R13, R10;
  9954. TRUNC.U R16.w, R16;
  9955. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  9956. MOV.S R21.x, R0.w;
  9957. TRUNC.U R0.w, R13;
  9958. AND.U.CC HC.x, R0.w, R16.w;
  9959. IF NE.x;
  9960. MOV.F R0.w, R10;
  9961. ELSE;
  9962. MOV.F R0.w, {0, 0, 0, 0}.x;
  9963. ENDIF;
  9964. MOV.F R10.w, R17.z;
  9965. SLT.F32 R13.w, R10, {0, 0, 0, 0}.x;
  9966. MOV.F R10.w, {1, 0, 0, 0}.x;
  9967. TRUNC.U.CC HC.x, R13.w;
  9968. MOV.F R10.w(EQ.x), {0, 0, 0, 0}.x;
  9969. MOV.S R21.w, R10;
  9970. I2F.S R10.w, R17;
  9971. MUL.F32 R13.w, R10, {2, 0, 0, 0}.x;
  9972. MOV.F R16.w, R22.x;
  9973. MUL.F32 R10.w, -R13, R16;
  9974. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  9975. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  9976. TRUNC.U R13.w, R13;
  9977. TRUNC.U R16.w, R16;
  9978. AND.U.CC HC.x, R13.w, R16.w;
  9979. MAX.S R21.z, R17.y, R24.x;
  9980. MOV.S R21.y, R0.w;
  9981. IF NE.x;
  9982. MOV.F R0.w, R10;
  9983. ELSE;
  9984. MOV.F R0.w, {0, 0, 0, 0}.x;
  9985. ENDIF;
  9986. MOV.F R16.w, R21.y;
  9987. MOV.F R13.w, R20.x;
  9988. MUL.F32 R10.w, R13, R16;
  9989. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  9990. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  9991. TRUNC.U R13.w, R13;
  9992. TRUNC.U R16.w, R16;
  9993. AND.U.CC HC.x, R13.w, R16.w;
  9994. MOV.S R17.x, R0.w;
  9995. IF NE.x;
  9996. MOV.F R0.w, R10;
  9997. ELSE;
  9998. MOV.F R0.w, {0, 0, 0, 0}.x;
  9999. ENDIF;
  10000. MOV.F R13.w, R21;
  10001. MOV.F R10.w, R21.x;
  10002. ADD.F32 R10.w, R10, -R13;
  10003. MOV.F R16.w, R21.y;
  10004. MOV.F R13.w, R10.x;
  10005. MOV.S R17.z, R10.w;
  10006. MUL.F32 R10.w, R13, R16;
  10007. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  10008. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  10009. TRUNC.U R13.w, R13;
  10010. TRUNC.U R16.w, R16;
  10011. AND.U.CC HC.x, R13.w, R16.w;
  10012. MOV.S R17.y, R0.w;
  10013. IF NE.x;
  10014. MOV.F R0.w, R10;
  10015. ELSE;
  10016. MOV.F R0.w, {0, 0, 0, 0}.x;
  10017. ENDIF;
  10018. I2F.S R10.w, R21.z;
  10019. MUL.F32 R13.w, R10, {2, 0, 0, 0}.x;
  10020. MOV.F R16.w, R17.z;
  10021. MUL.F32 R10.w, -R13, R16;
  10022. SNE.F32 R13.w, -R13, {0, 0, 0, 0}.x;
  10023. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  10024. TRUNC.U R13.w, R13;
  10025. TRUNC.U R16.w, R16;
  10026. AND.U.CC HC.x, R13.w, R16.w;
  10027. MOV.S R17.w, R0;
  10028. IF NE.x;
  10029. MOV.F R0.w, R10;
  10030. ELSE;
  10031. MOV.F R0.w, {0, 0, 0, 0}.x;
  10032. ENDIF;
  10033. MOV.F R10.w, R17;
  10034. ADD.F32 R10.x, R10, R10.w;
  10035. MOV.F R13.w, R17.x;
  10036. MOV.F R10.w, R20.z;
  10037. MOV.S R22.y, R10.x;
  10038. MUL.F32 R10.x, R10.w, R13.w;
  10039. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  10040. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  10041. TRUNC.U R10.w, R10;
  10042. TRUNC.U R13.w, R13;
  10043. AND.U.CC HC.x, R10.w, R13.w;
  10044. MOV.S R21.x, R0.w;
  10045. IF NE.x;
  10046. MOV.F R0.w, R10.x;
  10047. ELSE;
  10048. MOV.F R0.w, {0, 0, 0, 0}.x;
  10049. ENDIF;
  10050. MOV.F R10.w, R17.y;
  10051. MOV.F R10.x, R20;
  10052. ADD.F32 R10.x, R10, R10.w;
  10053. MOV.F R13.w, R17.x;
  10054. MOV.F R10.w, R10.y;
  10055. MOV.S R18.w, R10.x;
  10056. MUL.F32 R10.x, R10.w, R13.w;
  10057. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  10058. SNE.F32 R13.w, R13, {0, 0, 0, 0}.x;
  10059. TRUNC.U R10.w, R10;
  10060. TRUNC.U R13.w, R13;
  10061. AND.U.CC HC.x, R10.w, R13.w;
  10062. MOV.S R21.z, R0.w;
  10063. IF NE.x;
  10064. MOV.F R0.w, R10.x;
  10065. ELSE;
  10066. MOV.F R0.w, {0, 0, 0, 0}.x;
  10067. ENDIF;
  10068. MOV.F R10.x, R10.y;
  10069. ADD.F32 R10.x, R10, R0.w;
  10070. MOV.F R10.y, R13;
  10071. MOV.F R10.w, R21.x;
  10072. MUL.F32 R0.w, R10.y, R10;
  10073. MOV.S R22.x, R10;
  10074. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10075. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  10076. TRUNC.U R10.y, R10.w;
  10077. TRUNC.U R10.x, R10;
  10078. AND.U.CC HC.x, R10, R10.y;
  10079. IF NE.x;
  10080. ELSE;
  10081. MOV.F R0.w, {0, 0, 0, 0}.x;
  10082. ENDIF;
  10083. MOV.F R10.y, R21.z;
  10084. MOV.F R10.x, R20.z;
  10085. ADD.F32 R10.x, R10, R10.y;
  10086. MOV.F R10.w, R21.x;
  10087. MOV.F R10.y, R10.z;
  10088. MOV.S R24.z, R10.x;
  10089. MUL.F32 R10.x, R10.y, R10.w;
  10090. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10091. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  10092. TRUNC.U R10.y, R10;
  10093. TRUNC.U R10.w, R10;
  10094. AND.U.CC HC.x, R10.y, R10.w;
  10095. MOV.S R17.y, R0.w;
  10096. IF NE.x;
  10097. MOV.F R0.w, R10.x;
  10098. ELSE;
  10099. MOV.F R0.w, {0, 0, 0, 0}.x;
  10100. ENDIF;
  10101. MOV.F R10.w, c[11].x;
  10102. MOV.F R10.y, R12.x;
  10103. MUL.F32 R10.x, R10.y, R10.w;
  10104. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10105. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  10106. TRUNC.U R10.y, R10;
  10107. TRUNC.U R10.w, R10;
  10108. AND.U.CC HC.x, R10.y, R10.w;
  10109. MOV.S R17.w, R0;
  10110. IF NE.x;
  10111. MOV.F R0.w, R10.x;
  10112. ELSE;
  10113. MOV.F R0.w, {0, 0, 0, 0}.x;
  10114. ENDIF;
  10115. MOV.F R10.x, R22.y;
  10116. ADD.F32 R0.w, R10.x, R0;
  10117. MOV.F R10.x, R12.w;
  10118. MOV.F R10.w, R17.y;
  10119. MOV.F R10.y, R13;
  10120. ADD.F32 R10.y, R10, R10.w;
  10121. MOV.S R22.y, R10;
  10122. MOV.F R10.y, c[11];
  10123. MOV.S R19.x, R0.w;
  10124. MUL.F32 R0.w, R10.x, R10.y;
  10125. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10126. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  10127. TRUNC.U R10.y, R10;
  10128. TRUNC.U R10.x, R10;
  10129. AND.U.CC HC.x, R10, R10.y;
  10130. IF NE.x;
  10131. ELSE;
  10132. MOV.F R0.w, {0, 0, 0, 0}.x;
  10133. ENDIF;
  10134. MOV.F R10.x, R10.z;
  10135. MOV.F R10.y, R17.w;
  10136. ADD.F32 R10.x, R10, R10.y;
  10137. MOV.F R10.z, c[11];
  10138. MOV.F R10.y, R12.z;
  10139. MOV.S R21.w, R10.x;
  10140. MUL.F32 R10.x, R10.y, R10.z;
  10141. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10142. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10143. TRUNC.U R10.y, R10;
  10144. TRUNC.U R10.z, R10;
  10145. AND.U.CC HC.x, R10.y, R10.z;
  10146. MOV.S R21.z, R0.w;
  10147. IF NE.x;
  10148. MOV.F R0.w, R10.x;
  10149. ELSE;
  10150. MOV.F R0.w, {0, 0, 0, 0}.x;
  10151. ENDIF;
  10152. MOV.F R10.x, c[8].w;
  10153. SEQ.F R10.x, R10, {1, 0, 0, 0};
  10154. TRUNC.U.CC HC.x, R10;
  10155. MOV.S R10.w, R0;
  10156. IF NE.x;
  10157. MOV.S R10.x, {-1, 0, 0, 0};
  10158. ELSE;
  10159. MOV.S R10.x, {0, 0, 0, 0};
  10160. ENDIF;
  10161. MOV.F R10.z, c[8].w;
  10162. MOV.F R10.y, R21.z;
  10163. MOV.F R0.w, R22.x;
  10164. ADD.F32 R0.w, R0, R10.y;
  10165. MOV.S R22.w, R0;
  10166. MOV.F R10.y, R10.w;
  10167. MOV.F R0.w, R21;
  10168. ADD.F32 R0.w, R0, R10.y;
  10169. MOV.S R18.y, R0.w;
  10170. MAX.F R0.w, R10.z, {0, 0, 0, 0}.x;
  10171. LG2.F32 R10.y, R0.w;
  10172. MUL.F32 R0.w, R10.y, {2, 0, 0, 0}.x;
  10173. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  10174. SEQ.F R0.w, R10.y, R0;
  10175. TRUNC.U R0.w, R0;
  10176. TRUNC.U R10.w, R10;
  10177. AND.U R10.w, R0, R10;
  10178. ADD.F32 R0.w, -R10.z, {1, 0, 0, 0}.x;
  10179. SEQ.U R10.z, R10.w, {1, 0, 0, 0}.x;
  10180. MOV.U.CC RC.x, -R10.z;
  10181. MOV.S R17.z, R0.w;
  10182. IF NE.x;
  10183. MOV.F R10.y, {-3.40282347e+038, 0, 0, 0}.x;
  10184. ENDIF;
  10185. MOV.F R10.z, R14.w;
  10186. MUL.F32 R0.w, R10.z, R10.y;
  10187. SNE.F32 R10.w, R10.y, {0, 0, 0, 0}.x;
  10188. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  10189. TRUNC.U R10.z, R10.w;
  10190. TRUNC.U R10.y, R10;
  10191. AND.U.CC HC.x, R10.y, R10.z;
  10192. IF NE.x;
  10193. MOV.F R10.y, R0.w;
  10194. ELSE;
  10195. MOV.F R10.y, {0, 0, 0, 0}.x;
  10196. ENDIF;
  10197. MOV.S R10.y, R10;
  10198. MOV.F R10.z, R17;
  10199. SEQ.S R10.x, R10, {0, 0, 0, 0};
  10200. MOV.U.CC RC.x, -R10;
  10201. RCP.F32 R10.z, R10.z;
  10202. EX2.F32 R10.y, R10.y;
  10203. MAD.F32 R10.y, -R10, R10.z, R10.z;
  10204. MOV.S R17.y, R10;
  10205. MOV.F R10.y, {1, 0, 0, 0}.x;
  10206. MOV.S R0.w, R11.x;
  10207. MOV.S R16.w, R11;
  10208. MOV.S R10.w, R11.z;
  10209. MOV.S R20.y, R10;
  10210. IF NE.x;
  10211. MOV.S R10.x, R17.y;
  10212. ELSE;
  10213. MOV.S R10.x, R14.w;
  10214. ENDIF;
  10215. MOV.F R11.z, R10.x;
  10216. MOV.F R10.z, R22.y;
  10217. MUL.F32 R10.y, R10.z, R11.z;
  10218. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10219. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10220. TRUNC.U R11.z, R11;
  10221. TRUNC.U R10.z, R10;
  10222. AND.U.CC HC.x, R10.z, R11.z;
  10223. IF NE.x;
  10224. ELSE;
  10225. MOV.F R10.y, {0, 0, 0, 0}.x;
  10226. ENDIF;
  10227. MOV.F R11.w, R10.x;
  10228. MOV.F R11.z, R24;
  10229. MUL.F32 R10.z, R11, R11.w;
  10230. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10231. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10232. TRUNC.U R11.z, R11;
  10233. TRUNC.U R11.w, R11;
  10234. AND.U.CC HC.x, R11.z, R11.w;
  10235. MOV.S R17.y, R10;
  10236. IF NE.x;
  10237. MOV.F R10.y, R10.z;
  10238. ELSE;
  10239. MOV.F R10.y, {0, 0, 0, 0}.x;
  10240. ENDIF;
  10241. MOV.F R11.z, R10.x;
  10242. MOV.F R10.z, R18.w;
  10243. MUL.F32 R10.x, R10.z, R11.z;
  10244. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10245. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10246. TRUNC.U R10.z, R10;
  10247. TRUNC.U R11.z, R11;
  10248. AND.U.CC HC.x, R10.z, R11.z;
  10249. MOV.S R17.z, R10.y;
  10250. IF NE.x;
  10251. ELSE;
  10252. MOV.F R10.x, {0, 0, 0, 0};
  10253. ENDIF;
  10254. MOV.F R10.z, R17;
  10255. MOV.F R10.y, R22.w;
  10256. ADD.F32 R10.y, R10, R10.z;
  10257. MAD.F32 R10.y, R10, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  10258. FRC.F R10.y, R10;
  10259. MAD.F32 R10.z, R10.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  10260. MOV.F R10.y, R19.x;
  10261. MUL.F32 R11.z, R10, {0.159154937, 0, 0, 0}.x;
  10262. ADD.F32 R10.x, R10.y, R10;
  10263. MAD.F32 R10.z, R10.x, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  10264. MOV.F R10.y, R17;
  10265. MOV.F R10.x, R18.y;
  10266. ADD.F32 R10.x, R10, R10.y;
  10267. FRC.F R10.y, R10.z;
  10268. MAD.F32 R10.x, R10, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  10269. FRC.F R10.x, R10;
  10270. MAD.F32 R10.y, R10, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  10271. MAD.F32 R10.z, R10.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  10272. MUL.F32 R10.y, R10, {0.159154937, 0, 0, 0}.x;
  10273. MOV.S R10.x, R10.y;
  10274. MUL.F32 R10.y, R10.z, {0.159154937, 0, 0, 0}.x;
  10275. MOV.S R18.y, R10;
  10276. MUL.F32 R10.z, R11, {6.28318548, 0, 0, 0}.x;
  10277. MOV.S R19.x, R11.z;
  10278. SIN.F32 R11.z, R10.z;
  10279. MUL.F32 R10.y, R10.x, {6.28318548, 0, 0, 0}.x;
  10280. COS.F32 R10.z, R10.y;
  10281. SIN.F32 R10.y, R10.y;
  10282. MOV.S R19.y, R10;
  10283. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  10284. MOV.S R22.w, R11.z;
  10285. MUL.F32 R10.x, R11.z, R10.z;
  10286. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10287. TRUNC.U R11.z, R11;
  10288. TRUNC.U R10.y, R10;
  10289. AND.U.CC HC.x, R10.y, R11.z;
  10290. MOV.S R22.x, R10.z;
  10291. IF NE.x;
  10292. ELSE;
  10293. MOV.F R10.x, {0, 0, 0, 0};
  10294. ENDIF;
  10295. MOV.F R11.z, R22.w;
  10296. MOV.F R10.z, R19.y;
  10297. MUL.F32 R10.y, R10.z, R11.z;
  10298. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10299. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10300. TRUNC.U R10.z, R10;
  10301. TRUNC.U R11.z, R11;
  10302. AND.U.CC HC.x, R10.z, R11.z;
  10303. MOV.S R19.z, R10.x;
  10304. IF NE.x;
  10305. MOV.F R10.x, R10.y;
  10306. ELSE;
  10307. MOV.F R10.x, {0, 0, 0, 0};
  10308. ENDIF;
  10309. MOV.F R10.y, R19.x;
  10310. MUL.F32 R10.y, R10, {6.28318548, 0, 0, 0}.x;
  10311. COS.F32 R10.y, R10.y;
  10312. MOV.S R10.z, R10.y;
  10313. MOV.S R10.y, R10.z;
  10314. MOV.F R11.w, R10.y;
  10315. MOV.F R11.z, R22.x;
  10316. MOV.S R24.z, R10;
  10317. SNE.F32 R10.z, R11, {0, 0, 0, 0}.x;
  10318. MUL.F32 R10.y, R11.z, R11.w;
  10319. SNE.F32 R11.z, R11.w, {0, 0, 0, 0}.x;
  10320. TRUNC.U R10.z, R10;
  10321. TRUNC.U R11.z, R11;
  10322. AND.U.CC HC.x, R10.z, R11.z;
  10323. MOV.S R18.w, R10.x;
  10324. IF NE.x;
  10325. MOV.F R10.x, R10.y;
  10326. ELSE;
  10327. MOV.F R10.x, {0, 0, 0, 0};
  10328. ENDIF;
  10329. MOV.F R11.z, R24;
  10330. MOV.F R10.z, R19.y;
  10331. MUL.F32 R10.y, R10.z, R11.z;
  10332. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10333. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10334. TRUNC.U R10.z, R10;
  10335. TRUNC.U R11.z, R11;
  10336. AND.U.CC HC.x, R10.z, R11.z;
  10337. MOV.S R10.x, R10;
  10338. IF NE.x;
  10339. ELSE;
  10340. MOV.F R10.y, {0, 0, 0, 0}.x;
  10341. ENDIF;
  10342. MOV.F R10.z, R18.y;
  10343. MUL.F32 R10.z, R10, {6.28318548, 0, 0, 0}.x;
  10344. SIN.F32 R11.z, R10.z;
  10345. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  10346. MOV.S R24.y, R11.z;
  10347. MUL.F32 R10.z, R10.y, R11;
  10348. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10349. TRUNC.U R11.z, R11;
  10350. TRUNC.U R11.w, R11;
  10351. AND.U.CC HC.x, R11.z, R11.w;
  10352. MOV.S R22.y, R10;
  10353. IF NE.x;
  10354. ELSE;
  10355. MOV.F R10.z, {0, 0, 0, 0}.x;
  10356. ENDIF;
  10357. MOV.F R11.w, R24.y;
  10358. MOV.F R12.x, R10;
  10359. MOV.F R10.y, -R11.w;
  10360. MUL.F32 R11.z, R11.w, R12.x;
  10361. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10362. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10363. TRUNC.U R11.w, R11;
  10364. TRUNC.U R12.x, R12;
  10365. AND.U.CC HC.x, R11.w, R12;
  10366. MOV.S R10.y, R10;
  10367. MOV.S R21.x, R10.z;
  10368. IF NE.x;
  10369. MOV.F R10.z, R11;
  10370. ELSE;
  10371. MOV.F R10.z, {0, 0, 0, 0}.x;
  10372. ENDIF;
  10373. MOV.F R12.x, R19.z;
  10374. MOV.F R11.w, R24.y;
  10375. MUL.F32 R11.z, R11.w, R12.x;
  10376. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10377. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10378. TRUNC.U R11.w, R11;
  10379. TRUNC.U R12.x, R12;
  10380. AND.U.CC HC.x, R11.w, R12;
  10381. MOV.S R21.z, R10;
  10382. IF NE.x;
  10383. MOV.F R10.z, R11;
  10384. ELSE;
  10385. MOV.F R10.z, {0, 0, 0, 0}.x;
  10386. ENDIF;
  10387. MOV.F R12.x, R22.y;
  10388. ADD.F32 R10.z, -R12.x, R10;
  10389. MOV.F R11.w, R21.z;
  10390. MOV.F R11.z, R18.w;
  10391. ADD.F32 R11.z, R11, R11.w;
  10392. MOV.S R20.x, R11.z;
  10393. MOV.F R11.z, R19;
  10394. MOV.F R11.w, R21.x;
  10395. ADD.F32 R11.w, -R11.z, R11;
  10396. MOV.F R11.z, R18.y;
  10397. MUL.F32 R11.z, R11, {6.28318548, 0, 0, 0}.x;
  10398. MOV.S R12.z, R11.w;
  10399. COS.F32 R11.w, R11.z;
  10400. MOV.F R12.w, R24.z;
  10401. MOV.S R17.y, R10.z;
  10402. SNE.F32 R10.z, R12.w, {0, 0, 0, 0}.x;
  10403. MUL.F32 R11.z, R11.w, R12.w;
  10404. MOV.S R19.x, R11.w;
  10405. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10406. TRUNC.U R11.w, R11;
  10407. TRUNC.U R10.z, R10;
  10408. AND.U.CC HC.x, R10.z, R11.w;
  10409. IF NE.x;
  10410. MOV.F R10.z, R11;
  10411. ELSE;
  10412. MOV.F R10.z, {0, 0, 0, 0}.x;
  10413. ENDIF;
  10414. MOV.F R12.x, R19;
  10415. MOV.F R11.w, R22.x;
  10416. MUL.F32 R11.z, R11.w, R12.x;
  10417. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10418. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10419. TRUNC.U R11.w, R11;
  10420. TRUNC.U R12.x, R12;
  10421. AND.U.CC HC.x, R11.w, R12;
  10422. MOV.S R13.w, R10.z;
  10423. IF NE.x;
  10424. MOV.F R10.z, R11;
  10425. ELSE;
  10426. MOV.F R10.z, {0, 0, 0, 0}.x;
  10427. ENDIF;
  10428. MOV.F R12.x, R19;
  10429. MOV.F R11.w, R19.y;
  10430. MUL.F32 R11.z, R11.w, R12.x;
  10431. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10432. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10433. TRUNC.U R11.w, R11;
  10434. TRUNC.U R12.x, R12;
  10435. AND.U.CC HC.x, R11.w, R12;
  10436. MOV.S R24.w, R10.z;
  10437. IF NE.x;
  10438. MOV.F R10.z, R11;
  10439. ELSE;
  10440. MOV.F R10.z, {0, 0, 0, 0}.x;
  10441. ENDIF;
  10442. MOV.F R12.x, R18.w;
  10443. MOV.F R11.w, R24.y;
  10444. MUL.F32 R11.z, R11.w, R12.x;
  10445. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  10446. TRUNC.U R12.w, R12.x;
  10447. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10448. TRUNC.U R11.w, R11;
  10449. AND.U.CC HC.x, R11.w, R12.w;
  10450. MOV.S R12.x, R10.z;
  10451. IF NE.x;
  10452. MOV.F R10.z, R11;
  10453. ELSE;
  10454. MOV.F R10.z, {0, 0, 0, 0}.x;
  10455. ENDIF;
  10456. MOV.F R12.w, R13.x;
  10457. MOV.F R11.w, R17.y;
  10458. MUL.F32 R11.z, R11.w, R12.w;
  10459. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10460. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  10461. TRUNC.U R11.w, R11;
  10462. TRUNC.U R12.w, R12;
  10463. AND.U.CC HC.x, R11.w, R12.w;
  10464. MOV.S R13.y, R10.z;
  10465. IF NE.x;
  10466. MOV.F R10.z, R11;
  10467. ELSE;
  10468. MOV.F R10.z, {0, 0, 0, 0}.x;
  10469. ENDIF;
  10470. MOV.F R12.w, R19.x;
  10471. MOV.F R11.z, R22.w;
  10472. MUL.F32 R11.w, R11.z, R12;
  10473. SNE.F32 R17.x, R12.w, {0, 0, 0, 0};
  10474. SNE.F32 R11.z, R11, {0, 0, 0, 0}.x;
  10475. TRUNC.U R12.w, R11.z;
  10476. TRUNC.U R17.x, R17;
  10477. AND.U.CC HC.x, R12.w, R17;
  10478. MOV.S R11.z, R10;
  10479. IF NE.x;
  10480. MOV.F R10.z, R11.w;
  10481. ELSE;
  10482. MOV.F R10.z, {0, 0, 0, 0}.x;
  10483. ENDIF;
  10484. MOV.F R17.x, R17.y;
  10485. MOV.F R11.w, R28.z;
  10486. MUL.F32 R12.w, R11, R17.x;
  10487. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  10488. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10489. TRUNC.U R17.y, R17.x;
  10490. TRUNC.U R17.x, R11.w;
  10491. AND.U.CC HC.x, R17, R17.y;
  10492. MOV.S R11.w, R10.z;
  10493. IF NE.x;
  10494. MOV.F R10.z, R12.w;
  10495. ELSE;
  10496. MOV.F R10.z, {0, 0, 0, 0}.x;
  10497. ENDIF;
  10498. MOV.S R12.w, R10.z;
  10499. ENDIF;
  10500. SEQ.U R10.z, R32.x, {1, 0, 0, 0}.x;
  10501. MOV.U.CC RC.x, -R10.z;
  10502. IF NE.x;
  10503. MOV.F R17.x, R13;
  10504. MOV.F R10.z, R11.w;
  10505. MUL.F32 R0.y, R10.z, R17.x;
  10506. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  10507. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10508. TRUNC.U R17.x, R17;
  10509. TRUNC.U R10.z, R10;
  10510. AND.U.CC HC.x, R10.z, R17;
  10511. IF NE.x;
  10512. ELSE;
  10513. MOV.F R0.y, {0, 0, 0, 0}.x;
  10514. ENDIF;
  10515. MOV.F R10.z, R13.y;
  10516. ADD.F32 R10.x, R10, R10.z;
  10517. MOV.S R19.x, R0.y;
  10518. MOV.F R0.y, c[12];
  10519. MUL.F32 R0.y, R0, {0.5, 0, 0, 0}.x;
  10520. MOV.F R10.z, R28;
  10521. MOV.S R17.w, R10.x;
  10522. MUL.F32 R10.x, R10.z, R11.w;
  10523. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10524. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10525. TRUNC.U R17.x, R11.w;
  10526. TRUNC.U R11.w, R10.z;
  10527. MOV.F R10.z, c[12].x;
  10528. MUL.F32 R10.z, R10, {0.5, 0, 0, 0}.x;
  10529. AND.U.CC HC.x, R11.w, R17;
  10530. MOV.S R17.z, R10;
  10531. MOV.S R17.y, R0;
  10532. IF NE.x;
  10533. MOV.F R0.y, R10.x;
  10534. ELSE;
  10535. MOV.F R0.y, {0, 0, 0, 0}.x;
  10536. ENDIF;
  10537. MOV.F R11.w, R17;
  10538. MOV.F R10.x, R29;
  10539. MOV.F R10.z, R17;
  10540. ADD.F32 R10.z, R10.x, R10;
  10541. MOV.S R21.x, R10.z;
  10542. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  10543. MUL.F32 R10.x, R11.w, R13;
  10544. SNE.F32 R11.w, R13.x, {0, 0, 0, 0}.x;
  10545. TRUNC.U R10.z, R10;
  10546. TRUNC.U R11.w, R11;
  10547. AND.U.CC HC.x, R10.z, R11.w;
  10548. MOV.S R27.w, R0.y;
  10549. IF NE.x;
  10550. MOV.F R0.y, R10.x;
  10551. ELSE;
  10552. MOV.F R0.y, {0, 0, 0, 0}.x;
  10553. ENDIF;
  10554. MOV.F R11.w, R17;
  10555. MOV.F R10.z, R28;
  10556. MUL.F32 R10.x, R10.z, R11.w;
  10557. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10558. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10559. TRUNC.U R11.w, R11;
  10560. TRUNC.U R10.z, R10;
  10561. AND.U.CC HC.x, R10.z, R11.w;
  10562. MOV.S R19.y, R0;
  10563. IF NE.x;
  10564. MOV.F R0.y, R10.x;
  10565. ELSE;
  10566. MOV.F R0.y, {0, 0, 0, 0}.x;
  10567. ENDIF;
  10568. MOV.F R10.z, R17.y;
  10569. MOV.F R10.x, R29.y;
  10570. ADD.F32 R10.x, R10, R10.z;
  10571. MOV.F R11.w, R10.y;
  10572. MOV.F R10.z, R28.y;
  10573. MOV.S R21.w, R10.x;
  10574. MUL.F32 R10.x, R10.z, R11.w;
  10575. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10576. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10577. TRUNC.U R11.w, R11;
  10578. TRUNC.U R10.z, R10;
  10579. AND.U.CC HC.x, R10.z, R11.w;
  10580. MOV.S R21.z, R0.y;
  10581. IF NE.x;
  10582. MOV.F R0.y, R10.x;
  10583. ELSE;
  10584. MOV.F R0.y, {0, 0, 0, 0}.x;
  10585. ENDIF;
  10586. MOV.F R10.x, R12;
  10587. MOV.F R11.w, R28.y;
  10588. SNE.F32 R13.x, R10, {0, 0, 0, 0};
  10589. MUL.F32 R10.z, R11.w, R10.x;
  10590. MOV.F R10.x, R27.w;
  10591. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10592. ADD.F32 R0.y, R0, R10.x;
  10593. TRUNC.U R13.x, R13;
  10594. TRUNC.U R11.w, R11;
  10595. AND.U.CC HC.x, R11.w, R13;
  10596. MOV.S R10.x, R0.y;
  10597. IF NE.x;
  10598. MOV.F R0.y, R10.z;
  10599. ELSE;
  10600. MOV.F R0.y, {0, 0, 0, 0}.x;
  10601. ENDIF;
  10602. MOV.F R10.z, R21;
  10603. ADD.F32 R10.z, R0.y, R10;
  10604. MOV.F R11.w, R12.y;
  10605. MOV.F R13.x, R21.w;
  10606. MUL.F32 R0.y, R11.w, R13.x;
  10607. MOV.S R27.x, R10.z;
  10608. SNE.F32 R10.z, R11.w, {0, 0, 0, 0}.x;
  10609. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  10610. TRUNC.U R11.w, R13.x;
  10611. TRUNC.U R10.z, R10;
  10612. AND.U.CC HC.x, R10.z, R11.w;
  10613. IF NE.x;
  10614. ELSE;
  10615. MOV.F R0.y, {0, 0, 0, 0}.x;
  10616. ENDIF;
  10617. MOV.F R13.x, R21;
  10618. MOV.F R11.w, R13.z;
  10619. MUL.F32 R10.z, R11.w, R13.x;
  10620. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10621. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  10622. TRUNC.U R11.w, R11;
  10623. TRUNC.U R13.x, R13;
  10624. AND.U.CC HC.x, R11.w, R13;
  10625. MOV.S R17.y, R0;
  10626. IF NE.x;
  10627. MOV.F R0.y, R10.z;
  10628. ELSE;
  10629. MOV.F R0.y, {0, 0, 0, 0}.x;
  10630. ENDIF;
  10631. MOV.F R13.x, R24.w;
  10632. MOV.F R11.w, R28.y;
  10633. MUL.F32 R10.z, R11.w, R13.x;
  10634. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10635. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  10636. TRUNC.U R11.w, R11;
  10637. TRUNC.U R13.x, R13;
  10638. AND.U.CC HC.x, R11.w, R13;
  10639. MOV.S R19.z, R0.y;
  10640. IF NE.x;
  10641. MOV.F R0.y, R10.z;
  10642. ELSE;
  10643. MOV.F R0.y, {0, 0, 0, 0}.x;
  10644. ENDIF;
  10645. MOV.F R10.z, R12.w;
  10646. ADD.F32 R0.y, R0, R10.z;
  10647. MOV.F R11.w, R13;
  10648. MOV.F R10.z, R28.x;
  10649. MOV.S R18.w, R0.y;
  10650. MUL.F32 R0.y, R10.z, R11.w;
  10651. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10652. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10653. TRUNC.U R11.w, R11;
  10654. TRUNC.U R10.z, R10;
  10655. AND.U.CC HC.x, R10.z, R11.w;
  10656. IF NE.x;
  10657. ELSE;
  10658. MOV.F R0.y, {0, 0, 0, 0}.x;
  10659. ENDIF;
  10660. MOV.F R10.z, R12;
  10661. SNE.F32 R12.w, R10.z, {0, 0, 0, 0}.x;
  10662. MOV.F R11.w, R28.x;
  10663. ADD.F32 R0.y, R0, R10.x;
  10664. MUL.F32 R10.z, R11.w, R10;
  10665. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  10666. TRUNC.U R12.w, R12;
  10667. TRUNC.U R10.x, R11.w;
  10668. AND.U.CC HC.x, R10, R12.w;
  10669. MOV.S R22.x, R0.y;
  10670. IF NE.x;
  10671. MOV.F R0.y, R10.z;
  10672. ELSE;
  10673. MOV.F R0.y, {0, 0, 0, 0}.x;
  10674. ENDIF;
  10675. MOV.F R10.x, R27;
  10676. ADD.F32 R0.y, R0, R10.x;
  10677. MOV.F R10.z, R24.w;
  10678. MOV.F R10.x, R17.y;
  10679. MOV.S R24.x, R0.y;
  10680. MUL.F32 R0.y, R10.x, R10.z;
  10681. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10682. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  10683. TRUNC.U R10.z, R10;
  10684. TRUNC.U R10.x, R10;
  10685. AND.U.CC HC.x, R10, R10.z;
  10686. IF NE.x;
  10687. ELSE;
  10688. MOV.F R0.y, {0, 0, 0, 0}.x;
  10689. ENDIF;
  10690. MOV.F R10.z, R10.y;
  10691. MOV.F R10.x, R11.z;
  10692. ADD.F32 R10.x, R0.y, R10;
  10693. MOV.F R10.y, R17;
  10694. MUL.F32 R0.y, R10, R10.z;
  10695. MOV.S R27.y, R10.x;
  10696. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10697. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10698. TRUNC.U R10.y, R10.z;
  10699. TRUNC.U R10.x, R10;
  10700. AND.U.CC HC.x, R10, R10.y;
  10701. IF NE.x;
  10702. ELSE;
  10703. MOV.F R0.y, {0, 0, 0, 0}.x;
  10704. ENDIF;
  10705. MOV.F R10.x, R19;
  10706. ADD.F32 R10.x, R0.y, R10;
  10707. MOV.F R10.y, R17;
  10708. MOV.F R10.z, R12.x;
  10709. MUL.F32 R0.y, R10, R10.z;
  10710. MOV.S R27.z, R10.x;
  10711. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10712. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10713. TRUNC.U R10.y, R10.z;
  10714. TRUNC.U R10.x, R10;
  10715. AND.U.CC HC.x, R10, R10.y;
  10716. IF NE.x;
  10717. ELSE;
  10718. MOV.F R0.y, {0, 0, 0, 0}.x;
  10719. ENDIF;
  10720. MOV.F R10.x, R19.y;
  10721. ADD.F32 R10.x, R0.y, R10;
  10722. MOV.F R10.y, R19.z;
  10723. MOV.F R10.z, R13.w;
  10724. MOV.S R27.w, R10.x;
  10725. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10726. MUL.F32 R0.y, R10, R10.z;
  10727. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  10728. TRUNC.U R10.x, R10;
  10729. TRUNC.U R10.y, R10;
  10730. AND.U.CC HC.x, R10, R10.y;
  10731. MOV.S R12.w, c[13].x;
  10732. IF NE.x;
  10733. ELSE;
  10734. MOV.F R0.y, {0, 0, 0, 0}.x;
  10735. ENDIF;
  10736. MOV.F R10.x, R27.z;
  10737. ADD.F32 R10.x, R0.y, R10;
  10738. MOV.F R10.y, R19.z;
  10739. MOV.F R10.z, R20.x;
  10740. MUL.F32 R0.y, R10, R10.z;
  10741. MOV.S R19.x, R10;
  10742. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10743. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10744. TRUNC.U R10.y, R10.z;
  10745. TRUNC.U R10.x, R10;
  10746. AND.U.CC HC.x, R10, R10.y;
  10747. IF NE.x;
  10748. ELSE;
  10749. MOV.F R0.y, {0, 0, 0, 0}.x;
  10750. ENDIF;
  10751. MOV.F R10.x, R27.y;
  10752. ADD.F32 R10.x, R0.y, R10;
  10753. MOV.F R10.y, R19.z;
  10754. MOV.F R10.z, R12;
  10755. MUL.F32 R0.y, R10, R10.z;
  10756. MOV.S R19.y, R10.x;
  10757. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  10758. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  10759. TRUNC.U R10.y, R10.z;
  10760. TRUNC.U R10.x, R10;
  10761. AND.U.CC HC.x, R10, R10.y;
  10762. IF NE.x;
  10763. ELSE;
  10764. MOV.F R0.y, {0, 0, 0, 0}.x;
  10765. ENDIF;
  10766. MOV.F R10.x, R27.w;
  10767. ADD.F32 R0.y, R0, R10.x;
  10768. MOV.F R10.y, R20.x;
  10769. MOV.F R10.x, R28;
  10770. MOV.S R19.z, R0.y;
  10771. MUL.F32 R0.y, R10.x, R10;
  10772. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10773. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  10774. TRUNC.U R10.y, R10;
  10775. TRUNC.U R10.x, R10;
  10776. AND.U.CC HC.x, R10, R10.y;
  10777. IF NE.x;
  10778. ELSE;
  10779. MOV.F R0.y, {0, 0, 0, 0}.x;
  10780. ENDIF;
  10781. MOV.F R17.w, R20.y;
  10782. MOV.F R17.xyz, R19;
  10783. MOV.F R21.xyz, R14;
  10784. MOV.F R21.w, R0;
  10785. DP4.F32 R0.w, R21, R17;
  10786. MOV.S R13.x, R0.w;
  10787. MOV.F R0.w, R18;
  10788. ADD.F32 R0.w, R0.y, R0;
  10789. MOV.F R18.w, R16;
  10790. MOV.F R18.xyz, R15;
  10791. DP4.F32 R10.x, R17, R18;
  10792. MOV.S R18.w, R0;
  10793. MOV.F R0.w, c[14].y;
  10794. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  10795. TRUNC.U.CC HC.x, R0.w;
  10796. MOV.S R0.y, R10.x;
  10797. MOV.S R12.z, c[13].y;
  10798. MOV.S R20.x, c[13].z;
  10799. IF NE.x;
  10800. MOV.F R10.x, {1, 0, 0, 0};
  10801. ELSE;
  10802. MOV.F R10.x, {0, 0, 0, 0};
  10803. ENDIF;
  10804. MOV.F R18.y, R18.w;
  10805. MOV.F R0.w, c[14].y;
  10806. SLT.F32 R10.z, R0.w, {0, 0, 0, 0}.x;
  10807. MOV.F R18.x, R22;
  10808. MOV.F R10.y, {1, 0, 0, 0}.x;
  10809. TRUNC.U.CC HC.x, R10.z;
  10810. MOV.F R10.y(EQ.x), {0, 0, 0, 0}.x;
  10811. ADD.F32 R10.x, R10, -R10.y;
  10812. MOV.S R10.x, R10;
  10813. MOV.F R17.xyz, R19;
  10814. MOV.S R10.y, R10.x;
  10815. MOV.S R19.z, R10.x;
  10816. ADD.F32 R10.x, -R10.y, {1, 0, 0, 0};
  10817. MOV.S R22.x, R10;
  10818. MOV.F R18.z, R24.x;
  10819. MOV.F R18.w, {0, 0, 0, 0}.x;
  10820. MOV.F R10.xyz, R16;
  10821. MOV.F R17.w, R20.y;
  10822. DP4.F32 R11.z, R10, R17;
  10823. MOV.F R10.xyz, R16;
  10824. MOV.F R10.w, {-0, 0, 0, 0}.x;
  10825. DP4.F32 R10.x, R10, R18;
  10826. MOV.S R25.z, R10.x;
  10827. MOV.F R10.w, {-0, 0, 0, 0}.x;
  10828. MOV.F R10.xyz, R15;
  10829. DP4.F32 R11.w, R18, R10;
  10830. MOV.F R10.xyz, R14;
  10831. MOV.F R10.w, {-0, 0, 0, 0}.x;
  10832. DP4.F32 R10.x, R18, R10;
  10833. MOV.S R25.x, R10;
  10834. MOV.F R10.x, R14.w;
  10835. DIV.F32 R0.w, R10.x, R0.w;
  10836. MOV.S R21.y, R0.w;
  10837. MOV.F R0.w, R9.x;
  10838. SNE.F32 R10.y, R0.w, {0, 0, 0, 0}.x;
  10839. MOV.F R10.z, c[2];
  10840. TRUNC.U R10.w, R10.y;
  10841. MUL.F32 R10.x, R0.w, R10.z;
  10842. MOV.F R10.y, c[16].x;
  10843. MOV.F R0.w, c[15].x;
  10844. ADD.F32 R0.w, -R0, R10.y;
  10845. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  10846. MOV.S R24.z, R0.w;
  10847. TRUNC.U R10.y, R10;
  10848. AND.U.CC HC.x, R10.w, R10.y;
  10849. MOV.S R11.z, R11;
  10850. MOV.S R25.y, R11.w;
  10851. MOV.S R0.w, {1065353216, 0, 0, 0}.x;
  10852. IF NE.x;
  10853. ELSE;
  10854. MOV.F R10.x, {0, 0, 0, 0};
  10855. ENDIF;
  10856. MOV.F R10.y, R21;
  10857. ADD.F32 R10.x, R10, R10.y;
  10858. MOV.F R10.z, R19;
  10859. MOV.S R10.x, R10;
  10860. FRC.F R10.y, R10.x;
  10861. SNE.F32 R10.w, R10.z, {0, 0, 0, 0}.x;
  10862. MUL.F32 R10.x, R10.z, R10.y;
  10863. SNE.F32 R11.w, R10.y, {0, 0, 0, 0}.x;
  10864. MOV.F R10.z, c[16].w;
  10865. MOV.F R10.y, c[15].w;
  10866. ADD.F32 R10.y, -R10, R10.z;
  10867. TRUNC.U R10.w, R10;
  10868. TRUNC.U R10.z, R11.w;
  10869. AND.U.CC HC.x, R10.w, R10.z;
  10870. MOV.S R21.y, R10;
  10871. IF NE.x;
  10872. ELSE;
  10873. MOV.F R10.x, {0, 0, 0, 0};
  10874. ENDIF;
  10875. MOV.F R10.z, R24;
  10876. MOV.F R10.y, R21;
  10877. DIV.F32 R10.y, R10.z, R10.y;
  10878. MOV.S R24.z, R10.y;
  10879. MOV.F R10.y, R0.z;
  10880. MOV.F R10.z, R22.x;
  10881. MUL.F32 R0.z, R10.y, R10;
  10882. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  10883. SNE.F32 R1
  10884. [19:43:21] Link error in shader. Log:
  10885. [19:43:21] Vertex info
  10886. -----------
  10887. Internal error: assembly compile error for vertex shader at offset 2308:
  10888. -- error message --
  10889. line 47, column 45: error: invalid vertex attribute reference
  10890. line 53, column 25: error: invalid vertex attribute reference
  10891. line 55, column 25: error: invalid vertex attribute reference
  10892. line 58, column 25: error: invalid vertex attribute reference
  10893. line 61, column 25: error: invalid vertex attribute reference
  10894. -- internal assembly text --
  10895. !!NVvp5.0
  10896. OPTION NV_gpu_program_fp64;
  10897. OPTION NV_bindless_texture;
  10898. # cgc version 3.4.0001, build date Aug 25 2016
  10899. # command line args:
  10900. #vendor NVIDIA Corporation
  10901. #version 3.4.0.1 COP Build Date Aug 25 2016
  10902. #profile gp5vp
  10903. #program main
  10904. #semantic textureUnitVS13 : TEXUNIT[1]
  10905. #semantic textureUnitVS8 : TEXUNIT[0]
  10906. #semantic uf_remappedVS
  10907. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  10908. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  10909. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  10910. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  10911. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  10912. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  10913. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  10914. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  10915. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  10916. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  10917. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  10918. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  10919. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  10920. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  10921. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  10922. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  10923. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  10924. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  10925. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  10926. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  10927. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  10928. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  10929. #var float4 passParameterSem15 : $vout.ATTR8 : ATTR8 : -1 : 1
  10930. #var float4 passParameterSem16 : $vout.ATTR9 : ATTR9 : -1 : 1
  10931. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  10932. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  10933. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  10934. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  10935. #var float4 passParameterSem9 : $vout.ATTR6 : ATTR6 : -1 : 1
  10936. #var ulong textureUnitVS13 : TEXUNIT[1] : c[65] : -1 : 1
  10937. #var ulong textureUnitVS8 : TEXUNIT[0] : c[66] : -1 : 1
  10938. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  10939. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  10940. PARAM c[67] = { program.local[0..66] };
  10941. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  10942. OUTPUT result_attrib[] = { result.attrib[0..9] };
  10943. 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;
  10944. LONG TEMP D0;
  10945. TEMP RC;
  10946. SHORT TEMP HC;
  10947. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  10948. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10949. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  10950. MOV.F R17.w, {1, 0, 0, 0}.x;
  10951. OR.U R0, R0, R1;
  10952. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  10953. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  10954. OR.U R0, R0, R1;
  10955. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  10956. OR.U R9, R0, R2;
  10957. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  10958. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10959. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  10960. OR.U R0, R0, R1;
  10961. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  10962. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  10963. OR.U R0, R0, R1;
  10964. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  10965. OR.U R27, R0, R2;
  10966. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  10967. AND.U R2, R1, {65280, 0, 0, 0}.x;
  10968. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  10969. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  10970. OR.U R1, R1, R2;
  10971. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  10972. OR.U R0, R1, R0;
  10973. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  10974. OR.U R10, R0, R2;
  10975. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  10976. AND.U R2, R1, {65280, 0, 0, 0}.x;
  10977. SHR.U R1, vertex.attrib[12], {24, 0, 0, 0}.x;
  10978. OR.U R1, R1, R2;
  10979. MOV.U R0.x, R27.w;
  10980. MOV.F R0.y, c[0].x;
  10981. ADD.F32 R3.x, -R0, R0.y;
  10982. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  10983. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  10984. OR.U R1, R1, R2;
  10985. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  10986. OR.U R12, R1, R0;
  10987. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  10988. AND.U R1, R0, {65280, 0, 0, 0}.x;
  10989. MOV.S R13.w, R3.x;
  10990. SGT.F32 R3.x, {0, 0, 0, 0}, R3;
  10991. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  10992. TRUNC.U R19.x, R3;
  10993. SEQ.U R3.x, R19, {1, 0, 0, 0};
  10994. SEQ.U R19.y, -R3.x, {1, 0, 0, 0}.x;
  10995. MOV.U.CC RC.x, -R19.y;
  10996. OR.U R0, R0, R1;
  10997. SHL.U R2, vertex.attrib[0], {8, 0, 0, 0}.x;
  10998. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  10999. OR.U R0, R0, R1;
  11000. SHL.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  11001. OR.U R14, R0, R2;
  11002. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  11003. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11004. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  11005. OR.U R0, R0, R1;
  11006. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  11007. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11008. OR.U R0, R0, R1;
  11009. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  11010. OR.U R15, R0, R2;
  11011. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  11012. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11013. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  11014. OR.U R0, R0, R1;
  11015. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  11016. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11017. OR.U R0, R0, R1;
  11018. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  11019. OR.U R16, R0, R2;
  11020. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  11021. AND.U R1, R0, {65280, 0, 0, 0}.x;
  11022. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  11023. OR.U R0, R0, R1;
  11024. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  11025. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  11026. OR.U R0, R0, R1;
  11027. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  11028. OR.U R18, R0, R2;
  11029. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11030. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11031. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11032. OR.U R0.xyz, R0, R1;
  11033. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  11034. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11035. OR.U R0.xyz, R0, R1;
  11036. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  11037. OR.U R32.xyz, R0, R2;
  11038. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11039. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11040. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11041. OR.U R0.xyz, R0, R1;
  11042. SHL.U R2.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  11043. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11044. OR.U R0.xyz, R0, R1;
  11045. SHL.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  11046. OR.U R28.xyz, R0, R2;
  11047. SHR.U R0.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11048. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11049. SHR.U R0.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11050. OR.U R0.xyz, R0, R1;
  11051. SHL.U R2.xyz, vertex.attrib[7], {8, 0, 0, 0}.x;
  11052. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11053. OR.U R0.xyz, R0, R1;
  11054. SHL.U R2.xyz, vertex.attrib[7], {24, 0, 0, 0}.x;
  11055. OR.U R11.xyz, R0, R2;
  11056. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11057. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11058. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11059. OR.U R0.xyz, R0, R1;
  11060. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  11061. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11062. OR.U R0.xyz, R0, R1;
  11063. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  11064. OR.U R30.xyz, R0, R2;
  11065. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11066. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11067. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11068. OR.U R0.xyz, R0, R1;
  11069. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  11070. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11071. OR.U R0.xyz, R0, R1;
  11072. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  11073. OR.U R13.xyz, R0, R2;
  11074. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11075. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11076. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11077. OR.U R0.xyz, R0, R1;
  11078. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  11079. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11080. OR.U R0.xyz, R0, R1;
  11081. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  11082. OR.U R25.xyz, R0, R2;
  11083. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11084. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  11085. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11086. OR.U R0.xyz, R0, R1;
  11087. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  11088. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  11089. OR.U R0.xyz, R0, R1;
  11090. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  11091. OR.U R17.xyz, R0, R2;
  11092. SHR.U R1.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11093. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  11094. SHR.U R1.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11095. OR.U R1.xy, R1, R1.zwzw;
  11096. SHL.U R8.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  11097. AND.U R1.zw, R8.xyxy, {16711680, 0, 0, 0}.x;
  11098. SHL.U R8.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  11099. OR.U R1.xy, R1, R1.zwzw;
  11100. OR.U R29.xy, R1, R8;
  11101. MOV.U R8.x, R29;
  11102. MOV.F R8.z, R8.x;
  11103. MOV.U R8.y, R29;
  11104. ADD.F32 R8.x, -R8.y, {1, 0, 0, 0};
  11105. ADD.F32 R8.y, -R8.z, {1, 0, 0, 0}.x;
  11106. MOV.S R29.z, R8.x;
  11107. MOV.S R11.w, R8.y;
  11108. MOV.S R2, {0, 0, 0, 0}.x;
  11109. MOV.S R0, {0, 0, 0, 0}.x;
  11110. MOV.S R3, {0, 0, 0, 0}.x;
  11111. MOV.S R4, {0, 0, 0, 0}.x;
  11112. MOV.S R5, {0, 0, 0, 0}.x;
  11113. MOV.S R6, {0, 0, 0, 0}.x;
  11114. MOV.S R7, {0, 0, 0, 0}.x;
  11115. MOV.S R1, {0, 0, 0, 0}.x;
  11116. MOV.S R31.xyz, {0, 0, 0, 0}.x;
  11117. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11118. MOV.S R8.yz, {0, 0, 0, 0};
  11119. MOV.S R8.x, vertex.id;
  11120. MOV.S R8.w, vertex.instance.x;
  11121. MOV.S R25.w, {0, 0, 0, 0}.x;
  11122. MOV.S R17.w, R17;
  11123. IF NE.x;
  11124. MOV.F R3.z, c[1].y;
  11125. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11126. MOV.S R18.w, R17;
  11127. MOV.S R3.xyw, {0, 0, 0, 0}.x;
  11128. MOV.S R33.xy, {0, 0, 0, 0}.x;
  11129. MOV.S R3.z, R3;
  11130. ENDIF;
  11131. SEQ.U R19.x, R19, {0, 0, 0, 0};
  11132. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11133. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11134. MOV.U.CC RC.x, -R19;
  11135. IF NE.x;
  11136. MOV.S R18.w, {0, 0, 0, 0}.x;
  11137. ENDIF;
  11138. SEQ.S R19.x, R18.w, {0, 0, 0, 0};
  11139. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11140. SEQ.U R19.z, -R19.y, {1, 0, 0, 0}.x;
  11141. MOV.U.CC RC.x, -R19.z;
  11142. MOV.U R19.x, -R19;
  11143. MOV.U R34.x, -R19.y;
  11144. IF NE.x;
  11145. MOV.F R19.y, R10.w;
  11146. TRUNC.S R19.y, R19;
  11147. I2F.S R19.y, R19;
  11148. MOV.F R19.z, R13.w;
  11149. SGE.F32 R19.z, R19, R19.y;
  11150. TRUNC.U R19.z, R19;
  11151. SEQ.U R19.w, R34.x, {1, 0, 0, 0}.x;
  11152. SEQ.U R19.z, R19, {1, 0, 0, 0}.x;
  11153. AND.U R27.w, -R19.z, -R19;
  11154. MOV.S R31.x, R19.y;
  11155. MOV.S R31.yz, {0, 0, 0, 0}.x;
  11156. ELSE;
  11157. MOV.U R27.w, {0, 0, 0, 0}.x;
  11158. ENDIF;
  11159. SEQ.U R19.y, R27.w, {1, 0, 0, 0}.x;
  11160. MOV.U.CC RC.x, -R19.y;
  11161. IF NE.x;
  11162. MOV.F R3.z, c[1].y;
  11163. MUL.F32 R3.z, R3, {5, 0, 0, 0}.x;
  11164. MOV.S R25.w, R17;
  11165. MOV.S R3.xy, {0, 0, 0, 0};
  11166. MOV.S R3.z, R3;
  11167. MOV.S R33.x, {0, 0, 0, 0};
  11168. ENDIF;
  11169. SEQ.U R19.x, R19, {1, 0, 0, 0};
  11170. SEQ.U R19.y, -R19.x, {1, 0, 0, 0}.x;
  11171. MOV.U.CC RC.x, -R19.y;
  11172. MOV.U R34.x, -R19;
  11173. IF NE.x;
  11174. SEQ.S R19.x, R25.w, {0, 0, 0, 0};
  11175. MOV.U R34.y, -R19.x;
  11176. SEQ.U R19.y, R34.x, {1, 0, 0, 0}.x;
  11177. SEQ.U R19.x, -R19, {1, 0, 0, 0};
  11178. AND.U R27.w, -R19.x, -R19.y;
  11179. ELSE;
  11180. MOV.U R34.y, {0, 0, 0, 0}.x;
  11181. MOV.U R27.w, {0, 0, 0, 0}.x;
  11182. ENDIF;
  11183. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  11184. MOV.U.CC RC.x, -R19;
  11185. IF NE.x;
  11186. MOV.F R8.x, R12.y;
  11187. MOV.F R8.y, R12.z;
  11188. ADD.F32 R8.z, R8.x, R8.y;
  11189. MOV.F R8.w, R12.x;
  11190. ADD.F32 R8.y, R8, R8.w;
  11191. MOV.S R19.z, R8;
  11192. ADD.F32 R8.z, R8.x, R8.w;
  11193. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11194. MUL.F32 R8.z, R8, {0.5, 0, 0, 0}.x;
  11195. MOV.S R20.x, R8.y;
  11196. MUL.F32 R8.y, R8.w, {2, 0, 0, 0}.x;
  11197. MOV.S R22.w, R8.x;
  11198. AND.S R8.x, c[2], {65536, 0, 0, 0};
  11199. I2F.S R8.x, R8;
  11200. MOV.S R20.y, R8;
  11201. SGT.F32 R8.y, R8.x, {0, 0, 0, 0}.x;
  11202. TRUNC.U.CC HC.x, R8.y;
  11203. MOV.S R21.x, R8.z;
  11204. AND.S R19.y, c[2].x, {131072, 0, 0, 0}.x;
  11205. AND.S R19.x, c[2], {262144, 0, 0, 0};
  11206. MOV.S R20.z, R8.x;
  11207. IF NE.x;
  11208. MOV.F R8.y, {1, 0, 0, 0}.x;
  11209. ELSE;
  11210. MOV.F R8.y, {0, 0, 0, 0}.x;
  11211. ENDIF;
  11212. I2F.S R8.x, R19;
  11213. SLT.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11214. TRUNC.U.CC HC.x, R8.w;
  11215. MOV.F R8.z, {1, 0, 0, 0}.x;
  11216. MOV.F R8.z(EQ.x), {0, 0, 0, 0}.x;
  11217. MOV.F R8.w, R20.z;
  11218. SLT.F32 R10.w, R8, {0, 0, 0, 0}.x;
  11219. MOV.S R22.y, R8.z;
  11220. MOV.F R8.w, {1, 0, 0, 0}.x;
  11221. TRUNC.U.CC HC.x, R10.w;
  11222. MOV.F R8.w(EQ.x), {0, 0, 0, 0}.x;
  11223. ADD.F32 R8.y, R8, -R8.w;
  11224. MOV.S R22.x, R8.y;
  11225. MOV.F R8.y, R20.x;
  11226. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11227. SGT.F32 R8.x, R8, {0, 0, 0, 0};
  11228. TRUNC.U.CC HC.x, R8;
  11229. MOV.F R8.z, R22.w;
  11230. MOV.S R21.y, R8;
  11231. FLR.F R8.y, R8.z;
  11232. MOV.S R20.z, R8.y;
  11233. IF NE.x;
  11234. MOV.F R8.x, {1, 0, 0, 0};
  11235. ELSE;
  11236. MOV.F R8.x, {0, 0, 0, 0};
  11237. ENDIF;
  11238. I2F.S R8.z, R19.y;
  11239. SLT.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  11240. MOV.F R8.y, {1, 0, 0, 0}.x;
  11241. TRUNC.U.CC HC.x, R8.w;
  11242. MOV.F R8.y(EQ.x), {0, 0, 0, 0}.x;
  11243. MOV.S R24.z, R8.y;
  11244. MOV.F R8.y, R12.z;
  11245. MUL.F32 R8.y, R8, {2, 0, 0, 0}.x;
  11246. MOV.S R20.w, R8.y;
  11247. MOV.F R8.y, R22;
  11248. ADD.F32 R8.x, R8, -R8.y;
  11249. MOV.F R8.y, R20;
  11250. MOV.S R24.x, R8;
  11251. FLR.F R8.x, R8.y;
  11252. SGT.F32 R8.y, R8.z, {0, 0, 0, 0}.x;
  11253. TRUNC.U.CC HC.x, R8.y;
  11254. MOV.S R23.y, R8.x;
  11255. IF NE.x;
  11256. MOV.F R8.x, {1, 0, 0, 0};
  11257. ELSE;
  11258. MOV.F R8.x, {0, 0, 0, 0};
  11259. ENDIF;
  11260. MOV.F R8.y, R22.x;
  11261. TRUNC.S R8.y, R8;
  11262. MOV.F R8.z, R24;
  11263. ADD.F32 R8.x, R8, -R8.z;
  11264. MOV.S R20.y, R8;
  11265. ADD.S R22.x, -R8.y, {0, 0, 0, 0};
  11266. MOV.F R8.y, c[3].x;
  11267. MOV.S R19.y, R8.x;
  11268. SGT.F32 R8.x, R8.y, {0, 0, 0, 0};
  11269. TRUNC.U.CC HC.x, R8;
  11270. IF NE.x;
  11271. MOV.F R8.x, {1, 0, 0, 0};
  11272. ELSE;
  11273. MOV.F R8.x, {0, 0, 0, 0};
  11274. ENDIF;
  11275. MOV.F R8.y, c[3].x;
  11276. SLT.F32 R8.z, R8.y, {0, 0, 0, 0}.x;
  11277. TRUNC.U.CC HC.x, R8.z;
  11278. MOV.F R8.y, {1, 0, 0, 0}.x;
  11279. MOV.F R8.y(EQ.x), {0, 0, 0, 0}.x;
  11280. MOV.S R21.w, R8.y;
  11281. MOV.F R8.y, R24.x;
  11282. TRUNC.S R19.w, R8.y;
  11283. MOV.F R8.y, R19.z;
  11284. MUL.F32 R8.y, R8, {0.5, 0, 0, 0}.x;
  11285. MOV.S R20.x, R8.y;
  11286. MOV.F R8.y, R12.x;
  11287. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11288. MOV.F R8.z, c[4].y;
  11289. MUL.F32 R8.y, R8, R8.z;
  11290. SNE.F32 R8.z, R8, {0, 0, 0, 0}.x;
  11291. TRUNC.U R8.w, R8;
  11292. TRUNC.U R8.z, R8;
  11293. AND.U.CC HC.x, R8.w, R8.z;
  11294. MOV.S R34.w, R20.y;
  11295. MOV.S R21.z, R8.x;
  11296. IF NE.x;
  11297. MOV.F R8.x, R8.y;
  11298. ELSE;
  11299. MOV.F R8.x, {0, 0, 0, 0};
  11300. ENDIF;
  11301. MOV.F R8.y, R20.z;
  11302. SLT.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11303. TRUNC.U.CC HC.x, R8.w;
  11304. MOV.F R8.z, {1, 0, 0, 0}.x;
  11305. MOV.F R8.z(EQ.x), {0, 0, 0, 0}.x;
  11306. MOV.F R8.w, R21.y;
  11307. MOV.S R19.x, R8.z;
  11308. ADD.S R8.z, -R19.w, {0, 0, 0, 0}.x;
  11309. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11310. TRUNC.U.CC HC.x, R8.y;
  11311. ADD.F32 R8.w, R8, {-0.5, 0, 0, 0}.x;
  11312. MAX.S R21.y, R19.w, R8.z;
  11313. MUL.F32 R8.z, R8.w, {2, 0, 0, 0}.x;
  11314. MOV.S R23.x, R8.z;
  11315. MOV.F R8.z, R21.x;
  11316. MOV.F R8.w, R19.y;
  11317. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11318. MUL.F32 R10.w, R8.z, {2, 0, 0, 0}.x;
  11319. TRUNC.S R21.x, R8.w;
  11320. MOV.F R8.z, c[3].x;
  11321. MOV.F R8.w, R13;
  11322. DIV.F32 R8.z, R8.w, R8.z;
  11323. MAX.S R23.w, R34, R22.x;
  11324. MOV.S R19.w, R8.z;
  11325. MOV.S R19.z, R10.w;
  11326. MOV.S R20.y, R8.x;
  11327. IF NE.x;
  11328. MOV.F R8.y, {1, 0, 0, 0}.x;
  11329. ELSE;
  11330. MOV.F R8.y, {0, 0, 0, 0}.x;
  11331. ENDIF;
  11332. MOV.F R8.x, R20.w;
  11333. FLR.F R8.x, R8;
  11334. MOV.F R8.z, c[5].w;
  11335. MAX.F R8.z, R8, {0, 0, 0, 0}.x;
  11336. MOV.S R20.z, R8.x;
  11337. LG2.F32 R8.x, R8.z;
  11338. MUL.F32 R8.z, R8.x, {2, 0, 0, 0}.x;
  11339. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11340. SEQ.F R8.z, R8.x, R8;
  11341. TRUNC.U R8.w, R8;
  11342. TRUNC.U R8.z, R8;
  11343. AND.U R8.z, R8, R8.w;
  11344. SEQ.U R8.z, R8, {1, 0, 0, 0}.x;
  11345. MOV.U.CC RC.x, -R8.z;
  11346. ADD.S R20.w, -R21.x, {0, 0, 0, 0}.x;
  11347. MOV.S R19.y, R8;
  11348. IF NE.x;
  11349. MOV.F R8.x, {-3.40282347e+038, 0, 0, 0};
  11350. ENDIF;
  11351. MOV.F R8.z, R13.w;
  11352. MUL.F32 R8.y, R8.z, R8.x;
  11353. SNE.F32 R8.w, R8.x, {0, 0, 0, 0}.x;
  11354. SNE.F32 R8.x, R8.z, {0, 0, 0, 0};
  11355. TRUNC.U R8.z, R8.w;
  11356. TRUNC.U R8.x, R8;
  11357. AND.U.CC HC.x, R8, R8.z;
  11358. MOV.S R34.w, R23.y;
  11359. IF NE.x;
  11360. MOV.F R8.x, R8.y;
  11361. ELSE;
  11362. MOV.F R8.x, {0, 0, 0, 0};
  11363. ENDIF;
  11364. MOV.F R8.y, R34.w;
  11365. SLT.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11366. TRUNC.U.CC HC.x, R8.w;
  11367. MOV.F R8.z, {1, 0, 0, 0}.x;
  11368. MOV.F R8.z(EQ.x), {0, 0, 0, 0}.x;
  11369. MOV.S R22.z, R8;
  11370. SGT.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11371. TRUNC.U.CC HC.x, R8.y;
  11372. MOV.F R8.w, R21;
  11373. MOV.F R8.z, R21;
  11374. ADD.F32 R8.z, R8, -R8.w;
  11375. MOV.S R23.y, R8.z;
  11376. MOV.S R8.x, R8;
  11377. IF NE.x;
  11378. MOV.F R8.z, {1, 0, 0, 0}.x;
  11379. ELSE;
  11380. MOV.F R8.z, {0, 0, 0, 0}.x;
  11381. ENDIF;
  11382. MOV.F R8.w, R19;
  11383. MOV.F R8.y, R20;
  11384. ADD.F32 R8.y, R8, R8.w;
  11385. MOV.S R21.z, R8.y;
  11386. MOV.F R8.w, R19.z;
  11387. MOV.S R8.y, R19;
  11388. SNE.F32 R19.y, R8.w, {0, 0, 0, 0}.x;
  11389. MOV.F R10.w, c[6].x;
  11390. MUL.F32 R8.w, R8, R10;
  11391. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11392. TRUNC.U R19.y, R19;
  11393. TRUNC.U R10.w, R10;
  11394. AND.U.CC HC.x, R19.y, R10.w;
  11395. MOV.S R34.w, R21.x;
  11396. MOV.S R22.w, R8.z;
  11397. IF NE.x;
  11398. MOV.F R8.z, R8.w;
  11399. ELSE;
  11400. MOV.F R8.z, {0, 0, 0, 0}.x;
  11401. ENDIF;
  11402. MAX.S R19.z, R34.w, R20.w;
  11403. MOV.F R10.w, R22.z;
  11404. MOV.F R8.w, R22;
  11405. ADD.F32 R8.w, R8, -R10;
  11406. MOV.S R19.y, R8.w;
  11407. MOV.F R8.w, R19.x;
  11408. ADD.F32 R8.y, R8, -R8.w;
  11409. MOV.F R8.w, R23.x;
  11410. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11411. MOV.F R10.w, c[6].z;
  11412. MOV.S R20.w, R8.y;
  11413. MUL.F32 R8.y, R8.w, R10.w;
  11414. MOV.F R8.w, R31.x;
  11415. TRUNC.U R19.w, R19.x;
  11416. RCP.F32 R8.w, R8.w;
  11417. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11418. MOV.S R19.x, R8.w;
  11419. TRUNC.U R8.w, R10;
  11420. AND.U.CC HC.x, R19.w, R8.w;
  11421. MOV.S R34.w, R20.x;
  11422. MOV.S R21.x, R8.z;
  11423. IF NE.x;
  11424. ELSE;
  11425. MOV.F R8.y, {0, 0, 0, 0}.x;
  11426. ENDIF;
  11427. MOV.F R8.z, R34.w;
  11428. MOV.F R8.w, R20.z;
  11429. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11430. MUL.F32 R8.z, R8, {2, 0, 0, 0}.x;
  11431. SGT.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11432. TRUNC.U.CC HC.x, R8.w;
  11433. MOV.S R20.y, R8.z;
  11434. MOV.S R20.x, R8.y;
  11435. IF NE.x;
  11436. MOV.F R8.y, {1, 0, 0, 0}.x;
  11437. ELSE;
  11438. MOV.F R8.y, {0, 0, 0, 0}.x;
  11439. ENDIF;
  11440. MOV.F R8.z, R20;
  11441. SLT.F32 R8.w, R8.z, {0, 0, 0, 0}.x;
  11442. MOV.F R8.z, {1, 0, 0, 0}.x;
  11443. TRUNC.U.CC HC.x, R8.w;
  11444. MOV.F R8.z(EQ.x), {0, 0, 0, 0}.x;
  11445. ADD.F32 R8.y, R8, -R8.z;
  11446. MOV.S R23.x, R8.y;
  11447. I2F.S R8.y, R23.w;
  11448. MUL.F32 R8.w, R8.y, {2, 0, 0, 0}.x;
  11449. MOV.F R10.w, R20;
  11450. MUL.F32 R8.z, -R8.w, R10.w;
  11451. SNE.F32 R10.w, R10, {0, 0, 0, 0}.x;
  11452. SNE.F32 R8.w, -R8, {0, 0, 0, 0}.x;
  11453. TRUNC.U R10.w, R10;
  11454. TRUNC.U R8.w, R8;
  11455. AND.U.CC HC.x, R8.w, R10.w;
  11456. MOV.S R34.w, R21.z;
  11457. MOV.S R8.y, R21;
  11458. IF NE.x;
  11459. ELSE;
  11460. MOV.F R8.z, {0, 0, 0, 0}.x;
  11461. ENDIF;
  11462. MOV.F R19.w, R19.y;
  11463. MOV.F R8.w, R23.y;
  11464. ADD.F32 R8.w, -R8, {1, 0, 0, 0}.x;
  11465. MOV.S R22.x, R8.w;
  11466. MOV.F R10.w, c[5].x;
  11467. MOV.F R8.w, R21.x;
  11468. ADD.F32 R8.w, R8, R10;
  11469. I2F.S R8.y, R8;
  11470. MUL.F32 R10.w, R8.y, {2, 0, 0, 0}.x;
  11471. MUL.F32 R8.y, -R10.w, R19.w;
  11472. MOV.S R19.y, R8.w;
  11473. MOV.F R8.w, c[5];
  11474. SNE.F32 R20.z, R19.w, {0, 0, 0, 0}.x;
  11475. ADD.F32 R19.w, -R8, {1, 0, 0, 0}.x;
  11476. MOV.S R21.z, R19.w;
  11477. TRUNC.U R8.w, R20.z;
  11478. MOV.F R19.w, R34;
  11479. MOV.S R21.y, R8.z;
  11480. FRC.F R8.z, R19.w;
  11481. SNE.F32 R10.w, -R10, {0, 0, 0, 0}.x;
  11482. MOV.S R20.w, R8.z;
  11483. TRUNC.U R8.z, R10.w;
  11484. AND.U.CC HC.x, R8.z, R8.w;
  11485. IF NE.x;
  11486. MOV.F R8.z, R8.y;
  11487. ELSE;
  11488. MOV.F R8.z, {0, 0, 0, 0}.x;
  11489. ENDIF;
  11490. MOV.F R8.w, R19.x;
  11491. MOV.F R8.y, R13.w;
  11492. MUL.F32 R8.y, R8, R8.w;
  11493. MOV.F R19.x, R22;
  11494. MUL.F32 R8.w, R8.y, R19.x;
  11495. MOV.S R10.w, R8.y;
  11496. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11497. TRUNC.U R19.w, R8.y;
  11498. EX2.F32 R8.x, R8.x;
  11499. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11500. TRUNC.U R19.x, R19;
  11501. AND.U.CC HC.x, R19.w, R19;
  11502. ADD.F32 R8.x, -R8, {1, 0, 0, 0};
  11503. MOV.S R8.y, R20.x;
  11504. MOV.S R20.x, R8;
  11505. MOV.S R34.w, R20.y;
  11506. MOV.S R8.x, R19.z;
  11507. MOV.S R20.z, R8;
  11508. IF NE.x;
  11509. MOV.F R8.z, R8.w;
  11510. ELSE;
  11511. MOV.F R8.z, {0, 0, 0, 0}.x;
  11512. ENDIF;
  11513. MOV.F R19.x, R34.w;
  11514. MOV.F R19.z, c[6].y;
  11515. MUL.F32 R8.w, R19.x, R19.z;
  11516. MOV.S R20.y, R8.z;
  11517. SNE.F32 R8.z, R19.x, {0, 0, 0, 0}.x;
  11518. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11519. TRUNC.U R19.x, R19.z;
  11520. TRUNC.U R8.z, R8;
  11521. AND.U.CC HC.x, R8.z, R19;
  11522. IF NE.x;
  11523. ELSE;
  11524. MOV.F R8.w, {0, 0, 0, 0}.x;
  11525. ENDIF;
  11526. MOV.F R19.z, R20.w;
  11527. MOV.F R19.x, R23.y;
  11528. MUL.F32 R8.z, R19.x, R19;
  11529. SNE.F32 R20.w, R19.z, {0, 0, 0, 0}.x;
  11530. MOV.F R19.w, R8.y;
  11531. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11532. MOV.F R19.z, c[5];
  11533. ADD.F32 R19.z, R19, R19.w;
  11534. I2F.S R8.x, R8;
  11535. MOV.S R23.w, R19.z;
  11536. MUL.F32 R8.x, R8, {2, 0, 0, 0};
  11537. TRUNC.U R19.x, R19;
  11538. TRUNC.U R20.w, R20;
  11539. AND.U.CC HC.x, R19, R20.w;
  11540. MOV.S R34.w, R23.x;
  11541. MOV.S R8.y, R21.z;
  11542. MOV.S R19.z, R8.w;
  11543. MOV.S R23.z, R8.x;
  11544. IF NE.x;
  11545. MOV.F R8.x, R8.z;
  11546. ELSE;
  11547. MOV.F R8.x, {0, 0, 0, 0};
  11548. ENDIF;
  11549. MOV.F R8.z, R12.x;
  11550. ADD.F32 R8.z, R8, {-0.5, 0, 0, 0}.x;
  11551. MOV.F R8.w, R12.z;
  11552. MOV.S R23.y, R8.z;
  11553. ADD.F32 R8.z, R8.w, {-0.5, 0, 0, 0}.x;
  11554. MOV.F R8.w, R23.z;
  11555. MOV.S R23.x, R8;
  11556. SNE.F32 R8.x, -R8.w, {0, 0, 0, 0};
  11557. MOV.F R19.x, R34.w;
  11558. MOV.S R21.z, R8;
  11559. MUL.F32 R8.z, -R8.w, R19.x;
  11560. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11561. TRUNC.U R8.w, R19.x;
  11562. TRUNC.U R8.x, R8;
  11563. AND.U.CC HC.x, R8, R8.w;
  11564. IF NE.x;
  11565. MOV.F R8.x, R8.z;
  11566. ELSE;
  11567. MOV.F R8.x, {0, 0, 0, 0};
  11568. ENDIF;
  11569. MOV.F R8.z, R8.y;
  11570. MOV.F R8.y, R20.x;
  11571. DIV.F32 R8.y, R8, R8.z;
  11572. MOV.S R20.x, R8.y;
  11573. MOV.F R19.x, R13;
  11574. MOV.F R19.w, R21.y;
  11575. MOV.F R8.w, R19.z;
  11576. MOV.F R8.y, c[5];
  11577. ADD.F32 R8.y, R8, R8.w;
  11578. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11579. MUL.F32 R8.z, R19.x, R19.w;
  11580. SNE.F32 R19.x, R19.w, {0, 0, 0, 0};
  11581. TRUNC.U R8.w, R8;
  11582. TRUNC.U R19.x, R19;
  11583. AND.U.CC HC.x, R8.w, R19;
  11584. MOV.S R8.y, R8;
  11585. MOV.S R20.w, R8.x;
  11586. IF NE.x;
  11587. MOV.F R8.x, R8.z;
  11588. ELSE;
  11589. MOV.F R8.x, {0, 0, 0, 0};
  11590. ENDIF;
  11591. MOV.F R19.x, R21.y;
  11592. MOV.F R8.w, R19.y;
  11593. MUL.F32 R8.z, R8.w, R19.x;
  11594. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11595. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11596. TRUNC.U R8.w, R8;
  11597. TRUNC.U R19.x, R19;
  11598. AND.U.CC HC.x, R8.w, R19;
  11599. MOV.S R24.z, R8.x;
  11600. IF NE.x;
  11601. MOV.F R8.x, R8.z;
  11602. ELSE;
  11603. MOV.F R8.x, {0, 0, 0, 0};
  11604. ENDIF;
  11605. MOV.F R19.x, R20.z;
  11606. MOV.F R8.w, R23;
  11607. MUL.F32 R8.z, R8.w, R19.x;
  11608. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11609. SNE.F32 R19.x, R19, {0, 0, 0, 0};
  11610. TRUNC.U R8.w, R8;
  11611. TRUNC.U R19.x, R19;
  11612. AND.U.CC HC.x, R8.w, R19;
  11613. MOV.S R24.w, R8.x;
  11614. IF NE.x;
  11615. MOV.F R8.x, R8.z;
  11616. ELSE;
  11617. MOV.F R8.x, {0, 0, 0, 0};
  11618. ENDIF;
  11619. MOV.F R8.z, c[5].w;
  11620. SEQ.F R8.z, R8, {1, 0, 0, 0}.x;
  11621. TRUNC.U.CC HC.x, R8.z;
  11622. MOV.S R34.w, R19.y;
  11623. MOV.S R21.y, R8.x;
  11624. IF NE.x;
  11625. MOV.S R8.x, {-1, 0, 0, 0};
  11626. ELSE;
  11627. MOV.S R8.x, {0, 0, 0, 0};
  11628. ENDIF;
  11629. MOV.F R19.x, R13.z;
  11630. MOV.F R8.w, R23.x;
  11631. MOV.F R8.z, R20.y;
  11632. ADD.F32 R8.z, R8, R8.w;
  11633. MOV.S R19.y, R8.z;
  11634. MOV.F R8.z, R34.w;
  11635. MOV.F R8.w, R24;
  11636. ADD.F32 R8.w, R8.z, R8;
  11637. MOV.F R19.z, R20;
  11638. MUL.F32 R8.z, R19.x, R19;
  11639. MOV.S R23.z, R8.w;
  11640. SNE.F32 R8.w, R19.x, {0, 0, 0, 0}.x;
  11641. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  11642. TRUNC.U R19.x, R19.z;
  11643. TRUNC.U R8.w, R8;
  11644. AND.U.CC HC.x, R8.w, R19;
  11645. IF NE.x;
  11646. ELSE;
  11647. MOV.F R8.z, {0, 0, 0, 0}.x;
  11648. ENDIF;
  11649. MOV.F R8.w, R13.x;
  11650. MOV.F R19.x, R24.z;
  11651. ADD.F32 R8.w, R8, R19.x;
  11652. MOV.S R23.x, R8.w;
  11653. SEQ.S R8.x, R8, {0, 0, 0, 0};
  11654. MOV.U.CC RC.x, -R8;
  11655. MOV.S R8.z, R8;
  11656. MOV.F R13.x, R21.y;
  11657. MOV.F R8.w, R23;
  11658. ADD.F32 R8.w, R8, R13.x;
  11659. MOV.S R34.w, R20.x;
  11660. MOV.S R20.x, R8.w;
  11661. MOV.F R8.w, R8.z;
  11662. MOV.F R8.z, R13;
  11663. ADD.F32 R8.z, R8, R8.w;
  11664. MOV.S R20.z, R8;
  11665. MOV.F R8.w, c[8];
  11666. MOV.F R8.z, c[7].w;
  11667. ADD.F32 R8.z, -R8, R8.w;
  11668. MOV.S R24.y, R8.z;
  11669. IF NE.x;
  11670. MOV.S R8.x, R34.w;
  11671. ELSE;
  11672. MOV.S R8.x, R13.w;
  11673. ENDIF;
  11674. MOV.F R8.z, R12.y;
  11675. ADD.F32 R8.w, R8.z, {-0.5, 0, 0, 0}.x;
  11676. MOV.F R13.x, R13.y;
  11677. MOV.F R13.z, R20.w;
  11678. MUL.F32 R8.z, R13.x, R13;
  11679. MOV.S R19.z, R8.w;
  11680. SNE.F32 R8.w, R13.x, {0, 0, 0, 0}.x;
  11681. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11682. TRUNC.U R13.x, R13.z;
  11683. TRUNC.U R8.w, R8;
  11684. AND.U.CC HC.x, R8.w, R13;
  11685. IF NE.x;
  11686. ELSE;
  11687. MOV.F R8.z, {0, 0, 0, 0}.x;
  11688. ENDIF;
  11689. MOV.F R13.z, c[9].x;
  11690. MOV.F R13.x, R23.y;
  11691. MUL.F32 R8.w, R13.x, R13.z;
  11692. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11693. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11694. TRUNC.U R13.x, R13;
  11695. TRUNC.U R13.z, R13;
  11696. AND.U.CC HC.x, R13, R13.z;
  11697. MOV.S R22.x, R8.z;
  11698. IF NE.x;
  11699. MOV.F R8.z, R8.w;
  11700. ELSE;
  11701. MOV.F R8.z, {0, 0, 0, 0}.x;
  11702. ENDIF;
  11703. MOV.F R13.z, R20.w;
  11704. MOV.F R13.x, R8.y;
  11705. MUL.F32 R8.w, R13.x, R13.z;
  11706. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11707. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11708. TRUNC.U R13.x, R13;
  11709. TRUNC.U R13.z, R13;
  11710. AND.U.CC HC.x, R13, R13.z;
  11711. MOV.S R22.y, R8.z;
  11712. IF NE.x;
  11713. MOV.F R8.z, R8.w;
  11714. ELSE;
  11715. MOV.F R8.z, {0, 0, 0, 0}.x;
  11716. ENDIF;
  11717. MOV.F R13.z, c[9];
  11718. MOV.F R13.x, R21.z;
  11719. MUL.F32 R8.w, R13.x, R13.z;
  11720. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11721. SNE.F32 R13.z, R13, {0, 0, 0, 0}.x;
  11722. TRUNC.U R13.x, R13;
  11723. TRUNC.U R13.z, R13;
  11724. AND.U.CC HC.x, R13, R13.z;
  11725. MOV.S R22.z, R8;
  11726. IF NE.x;
  11727. MOV.F R8.z, R8.w;
  11728. ELSE;
  11729. MOV.F R8.z, {0, 0, 0, 0}.x;
  11730. ENDIF;
  11731. MOV.F R8.w, R22.z;
  11732. ADD.F32 R13.x, R8.y, R8.w;
  11733. MOV.F R8.w, R22.y;
  11734. MOV.F R8.y, R23.x;
  11735. ADD.F32 R8.y, R8, R8.w;
  11736. MOV.S R23.x, R8.y;
  11737. MOV.F R8.y, R13;
  11738. MOV.F R8.w, R22.x;
  11739. ADD.F32 R8.w, R8.y, R8;
  11740. MOV.F R8.y, R24;
  11741. RCP.F32 R8.y, R8.y;
  11742. MOV.S R20.w, R8;
  11743. MOV.F R8.w, R20.z;
  11744. MOV.S R27.y, R8;
  11745. ADD.F32 R8.y, R8.w, R8.z;
  11746. MOV.F R8.z, R8.x;
  11747. MOV.S R20.z, R8.y;
  11748. MOV.F R8.y, R23.z;
  11749. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11750. MOV.S R23.y, R13.x;
  11751. TRUNC.U R13.x, R8.w;
  11752. SNE.F32 R13.y, R8.z, {0, 0, 0, 0}.x;
  11753. MUL.F32 R8.y, R8, R8.z;
  11754. MOV.F R8.w, c[8].z;
  11755. MOV.F R8.z, c[7];
  11756. ADD.F32 R8.z, -R8, R8.w;
  11757. TRUNC.U R8.w, R13.y;
  11758. AND.U.CC HC.x, R13, R8.w;
  11759. MOV.S R23.z, R8;
  11760. IF NE.x;
  11761. ELSE;
  11762. MOV.F R8.y, {0, 0, 0, 0}.x;
  11763. ENDIF;
  11764. MOV.F R13.x, R8;
  11765. MOV.F R8.w, R20.x;
  11766. MUL.F32 R8.z, R8.w, R13.x;
  11767. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11768. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11769. TRUNC.U R8.w, R8;
  11770. TRUNC.U R13.x, R13;
  11771. AND.U.CC HC.x, R8.w, R13;
  11772. MOV.S R22.x, R8.y;
  11773. IF NE.x;
  11774. MOV.F R8.y, R8.z;
  11775. ELSE;
  11776. MOV.F R8.y, {0, 0, 0, 0}.x;
  11777. ENDIF;
  11778. MOV.F R8.w, c[8];
  11779. MOV.F R8.z, R19.y;
  11780. ADD.F32 R8.z, R8, -R8.w;
  11781. MOV.F R13.x, c[9].y;
  11782. MOV.F R8.w, R19.z;
  11783. MOV.S R22.z, R8;
  11784. MUL.F32 R8.z, R8.w, R13.x;
  11785. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  11786. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  11787. TRUNC.U R8.w, R8;
  11788. TRUNC.U R13.x, R13;
  11789. AND.U.CC HC.x, R8.w, R13;
  11790. MOV.S R22.y, R8;
  11791. IF NE.x;
  11792. MOV.F R8.y, R8.z;
  11793. ELSE;
  11794. MOV.F R8.y, {0, 0, 0, 0}.x;
  11795. ENDIF;
  11796. MOV.F R8.z, R22;
  11797. SLT.F32 R13.x, R8.z, {0, 0, 0, 0};
  11798. MOV.S R8.z, {0, 0, 0, 0}.x;
  11799. TRUNC.U.CC HC.x, R13;
  11800. MOV.F R8.w, {1, 0, 0, 0}.x;
  11801. MOV.S R8.z(EQ.x), R8.w;
  11802. MOV.S R31.y, R8.z;
  11803. MOV.F R8.w, R22.y;
  11804. MOV.F R8.z, R20;
  11805. ADD.F32 R8.z, R8, R8.w;
  11806. MOV.S R13.y, R8.z;
  11807. MOV.F R8.w, R22.x;
  11808. MOV.F R8.z, R23.x;
  11809. ADD.F32 R13.x, R8.z, R8.w;
  11810. MOV.F R8.w, R27.y;
  11811. MOV.F R8.z, R23;
  11812. MUL.F32 R8.z, R8, R8.w;
  11813. MOV.S R19.z, R8;
  11814. MOV.F R8.w, c[7];
  11815. MOV.F R8.z, R19.y;
  11816. ADD.F32 R8.z, R8, -R8.w;
  11817. MOV.F R8.w, R20;
  11818. ADD.F32 R8.y, R8.w, R8;
  11819. MOV.S R27.x, R8.z;
  11820. MOV.S R13.z, R8.y;
  11821. MOV.F R8.y, R23;
  11822. MOV.F R8.z, R8.x;
  11823. SNE.F32 R8.w, R8.y, {0, 0, 0, 0}.x;
  11824. MUL.F32 R8.x, R8.y, R8.z;
  11825. MOV.S R25.w, R13.x;
  11826. SNE.F32 R13.x, R8.z, {0, 0, 0, 0};
  11827. MOV.F R8.z, c[8].x;
  11828. MOV.F R8.y, c[7].x;
  11829. ADD.F32 R8.y, -R8, R8.z;
  11830. TRUNC.U R8.z, R13.x;
  11831. TRUNC.U R8.w, R8;
  11832. AND.U.CC HC.x, R8.w, R8.z;
  11833. MOV.S R13.x, R8.y;
  11834. IF NE.x;
  11835. ELSE;
  11836. MOV.F R8.x, {0, 0, 0, 0};
  11837. ENDIF;
  11838. MOV.F R8.w, R19.z;
  11839. MOV.F R8.y, R27.x;
  11840. MUL.F32 R8.z, R8.y, R8.w;
  11841. SNE.F32 R19.x, R8.w, {0, 0, 0, 0};
  11842. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  11843. TRUNC.U R8.w, R8.y;
  11844. TRUNC.U R19.x, R19;
  11845. AND.U.CC HC.x, R8.w, R19;
  11846. MOV.S R8.y, R8.x;
  11847. IF NE.x;
  11848. ELSE;
  11849. MOV.F R8.z, {0, 0, 0, 0}.x;
  11850. ENDIF;
  11851. MOV.F R8.x, R27;
  11852. SLT.F32 R19.x, R8, {0, 0, 0, 0};
  11853. TRUNC.U.CC HC.x, R19;
  11854. MOV.F R8.w, {1, 0, 0, 0}.x;
  11855. MOV.S R8.x, {0, 0, 0, 0};
  11856. MOV.S R8.x(EQ), R8.w;
  11857. MOV.F R19.x, c[8].y;
  11858. MOV.F R8.w, c[7].y;
  11859. ADD.F32 R8.w, -R8, R19.x;
  11860. MOV.S R8.w, R8;
  11861. MOV.S R8.z, R8;
  11862. ENDIF;
  11863. SEQ.U R19.x, R27.w, {1, 0, 0, 0};
  11864. MOV.U.CC RC.x, -R19;
  11865. IF NE.x;
  11866. MOV.F R2.y, R27;
  11867. MOV.F R2.x, R8.w;
  11868. MUL.F32 R2.x, R2, R2.y;
  11869. MOV.F R2.w, R13.x;
  11870. MUL.F32 R2.y, R2, R2.w;
  11871. MOV.S R24.x, R2;
  11872. MOV.S R20.w, R2.y;
  11873. MOV.F R2.z, R8.y;
  11874. MOV.F R2.x, R13.z;
  11875. ADD.F32 R2.x, R2, R2.z;
  11876. MOV.S R19.z, R2.x;
  11877. MOV.F R2.z, R8.x;
  11878. MOV.F R2.x, c[7].z;
  11879. MOV.F R2.y, R8.z;
  11880. ADD.F32 R2.y, R2.x, R2;
  11881. MOV.F R2.x, R25.w;
  11882. MAD.F32 R2.x, R2, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  11883. MOV.S R23.y, R2;
  11884. MOV.F R2.y, R13;
  11885. MOV.S R23.w, R2.x;
  11886. MAD.F32 R2.x, R2.y, {0.159154937, 0.5, 0, 0}, {0.159154937, 0.5, 0, 0}.y;
  11887. MOV.F R2.y, R31;
  11888. MOV.S R26.x, R2;
  11889. ADD.F32 R2.x, -R2.y, {1, 0, 0, 0};
  11890. SNE.F32 R2.w, -R2.y, {-1, 0, 0, 0}.x;
  11891. SNE.F32 R2.y, R2.z, {0, 0, 0, 0}.x;
  11892. MUL.F32 R2.x, R2.z, R2;
  11893. TRUNC.U R2.z, R2.w;
  11894. TRUNC.U R2.y, R2;
  11895. AND.U.CC HC.x, R2.y, R2.z;
  11896. IF NE.x;
  11897. ELSE;
  11898. MOV.F R2.x, {0, 0, 0, 0};
  11899. ENDIF;
  11900. MOV.F R2.w, R24.x;
  11901. MOV.F R2.z, R27.x;
  11902. MUL.F32 R2.y, R2.z, R2.w;
  11903. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  11904. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  11905. TRUNC.U R2.z, R2;
  11906. TRUNC.U R2.w, R2;
  11907. AND.U.CC HC.x, R2.z, R2.w;
  11908. MOV.S R23.z, R2.x;
  11909. IF NE.x;
  11910. MOV.F R2.x, R2.y;
  11911. ELSE;
  11912. MOV.F R2.x, {0, 0, 0, 0};
  11913. ENDIF;
  11914. MOV.F R2.z, R8.x;
  11915. ADD.F32 R2.z, -R2, {1, 0, 0, 0}.x;
  11916. MOV.F R8.y, R20.w;
  11917. MOV.F R8.x, R27;
  11918. MOV.F R2.w, R26.x;
  11919. MOV.S R19.w, R2.z;
  11920. FRC.F R2.z, R2.w;
  11921. MOV.S R24.x, R2.z;
  11922. SNE.F32 R2.z, R8.x, {0, 0, 0, 0}.x;
  11923. SNE.F32 R2.w, R8.y, {0, 0, 0, 0}.x;
  11924. TRUNC.U R2.z, R2;
  11925. TRUNC.U R2.w, R2;
  11926. AND.U.CC HC.x, R2.z, R2.w;
  11927. MUL.F32 R2.y, R8.x, R8;
  11928. MOV.S R22.w, R2.x;
  11929. IF NE.x;
  11930. MOV.F R2.x, R2.y;
  11931. ELSE;
  11932. MOV.F R2.x, {0, 0, 0, 0};
  11933. ENDIF;
  11934. MOV.F R2.w, R19;
  11935. MOV.F R2.y, R19.z;
  11936. MAD.F32 R2.y, R2, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  11937. MOV.F R2.z, R23.w;
  11938. FRC.F R2.z, R2;
  11939. MOV.S R26.z, R2.y;
  11940. MOV.S R24.w, R2.z;
  11941. MOV.F R2.z, R22.w;
  11942. MOV.F R2.y, c[7];
  11943. ADD.F32 R2.y, R2, R2.z;
  11944. MOV.F R2.z, c[7];
  11945. MOV.S R21.y, R2;
  11946. MUL.F32 R2.y, R2.z, R2.w;
  11947. SNE.F32 R8.x, R2.w, {0, 0, 0, 0};
  11948. TRUNC.U R2.w, R8.x;
  11949. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  11950. MOV.S R19.y, R2.x;
  11951. TRUNC.U R2.x, R2.z;
  11952. AND.U.CC HC.x, R2, R2.w;
  11953. IF NE.x;
  11954. MOV.F R2.x, R2.y;
  11955. ELSE;
  11956. MOV.F R2.x, {0, 0, 0, 0};
  11957. ENDIF;
  11958. MOV.F R2.w, R23.z;
  11959. MOV.F R2.z, R23.y;
  11960. MUL.F32 R2.y, R2.z, R2.w;
  11961. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  11962. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  11963. TRUNC.U R2.z, R2;
  11964. TRUNC.U R2.w, R2;
  11965. AND.U.CC HC.x, R2.z, R2.w;
  11966. MOV.S R22.x, R2;
  11967. IF NE.x;
  11968. MOV.F R2.x, R2.y;
  11969. ELSE;
  11970. MOV.F R2.x, {0, 0, 0, 0};
  11971. ENDIF;
  11972. MOV.F R2.y, R24.w;
  11973. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  11974. MOV.S R19.z, R2.y;
  11975. MOV.F R2.y, R24.x;
  11976. MAD.F32 R2.z, R2.y, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  11977. MOV.F R2.y, R26.z;
  11978. FRC.F R2.y, R2;
  11979. MOV.S R20.z, R2;
  11980. MOV.S R20.w, R2.y;
  11981. MOV.F R2.w, R19.y;
  11982. MOV.F R2.z, c[7].x;
  11983. ADD.F32 R2.z, R2, R2.w;
  11984. MOV.F R2.y, R31;
  11985. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  11986. MOV.S R23.x, R2.z;
  11987. MOV.F R2.z, c[8];
  11988. MUL.F32 R2.y, R2.z, R2;
  11989. TRUNC.U R2.w, R2;
  11990. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  11991. MOV.S R22.y, R2.x;
  11992. TRUNC.U R2.x, R2.z;
  11993. AND.U.CC HC.x, R2, R2.w;
  11994. IF NE.x;
  11995. MOV.F R2.x, R2.y;
  11996. ELSE;
  11997. MOV.F R2.x, {0, 0, 0, 0};
  11998. ENDIF;
  11999. MOV.F R2.z, R22.x;
  12000. MOV.F R2.y, R22;
  12001. ADD.F32 R2.y, R2, R2.z;
  12002. MOV.F R2.w, R23.z;
  12003. MOV.F R2.z, R21.y;
  12004. MOV.S R24.z, R2.y;
  12005. MUL.F32 R2.y, R2.z, R2.w;
  12006. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12007. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12008. TRUNC.U R2.z, R2;
  12009. TRUNC.U R2.w, R2;
  12010. AND.U.CC HC.x, R2.z, R2.w;
  12011. MOV.S R24.y, R2.x;
  12012. IF NE.x;
  12013. MOV.F R2.x, R2.y;
  12014. ELSE;
  12015. MOV.F R2.x, {0, 0, 0, 0};
  12016. ENDIF;
  12017. MOV.F R2.y, R19.w;
  12018. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12019. MOV.F R2.z, c[7].y;
  12020. MUL.F32 R2.y, R2.z, R2;
  12021. TRUNC.U R2.w, R2;
  12022. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12023. MOV.S R24.w, R2.x;
  12024. TRUNC.U R2.x, R2.z;
  12025. AND.U.CC HC.x, R2, R2.w;
  12026. IF NE.x;
  12027. MOV.F R2.x, R2.y;
  12028. ELSE;
  12029. MOV.F R2.x, {0, 0, 0, 0};
  12030. ENDIF;
  12031. MOV.F R2.z, R24;
  12032. MOV.F R2.y, R24;
  12033. ADD.F32 R2.y, R2, R2.z;
  12034. MOV.F R2.z, R24.w;
  12035. ADD.F32 R2.x, R2.z, R2;
  12036. MOV.S R19.x, R2.y;
  12037. MOV.F R2.y, R20.w;
  12038. MAD.F32 R2.y, R2, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  12039. MOV.S R20.w, R2.x;
  12040. MOV.F R2.x, R19.z;
  12041. MUL.F32 R2.x, R2, {0.159154937, 0, 0, 0};
  12042. MOV.S R20.x, R2.y;
  12043. MOV.F R2.y, R20.z;
  12044. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12045. MOV.S R19.z, R2.y;
  12046. MOV.F R2.z, R31.y;
  12047. MOV.F R2.y, c[8];
  12048. MOV.S R19.y, R2.x;
  12049. MUL.F32 R2.x, R2.y, R2.z;
  12050. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12051. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12052. TRUNC.U R2.z, R2;
  12053. TRUNC.U R2.y, R2;
  12054. AND.U.CC HC.x, R2.y, R2.z;
  12055. IF NE.x;
  12056. ELSE;
  12057. MOV.F R2.x, {0, 0, 0, 0};
  12058. ENDIF;
  12059. MOV.F R2.w, R23.z;
  12060. MOV.F R2.z, R23.x;
  12061. MUL.F32 R2.y, R2.z, R2.w;
  12062. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12063. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12064. TRUNC.U R2.z, R2;
  12065. TRUNC.U R2.w, R2;
  12066. AND.U.CC HC.x, R2.z, R2.w;
  12067. MOV.S R24.x, R2;
  12068. IF NE.x;
  12069. MOV.F R2.x, R2.y;
  12070. ELSE;
  12071. MOV.F R2.x, {0, 0, 0, 0};
  12072. ENDIF;
  12073. MOV.F R2.y, R12.x;
  12074. MAX.F R2.y, R2, {0, 0, 0, 0}.x;
  12075. MOV.S R23.z, R2.y;
  12076. MOV.F R2.y, R19.w;
  12077. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12078. MOV.F R2.z, c[7].x;
  12079. MUL.F32 R2.y, R2.z, R2;
  12080. TRUNC.U R2.w, R2;
  12081. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12082. MOV.S R24.y, R2.x;
  12083. TRUNC.U R2.x, R2.z;
  12084. AND.U.CC HC.x, R2, R2.w;
  12085. IF NE.x;
  12086. MOV.F R2.x, R2.y;
  12087. ELSE;
  12088. MOV.F R2.x, {0, 0, 0, 0};
  12089. ENDIF;
  12090. MOV.F R2.y, R19;
  12091. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12092. COS.F32 R2.y, R2.y;
  12093. MOV.S R23.w, R2.y;
  12094. MOV.F R2.y, R24;
  12095. ADD.F32 R2.x, R2.y, R2;
  12096. MOV.F R2.y, R30.z;
  12097. MOV.F R2.w, R20;
  12098. MOV.F R2.z, R24.x;
  12099. ADD.F32 R2.z, R2, R2.w;
  12100. MOV.S R22.y, R2.z;
  12101. MOV.F R2.z, R19.x;
  12102. MOV.S R19.x, R2;
  12103. MUL.F32 R2.x, R2.y, R2.z;
  12104. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12105. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  12106. TRUNC.U R2.z, R2;
  12107. TRUNC.U R2.y, R2;
  12108. AND.U.CC HC.x, R2.y, R2.z;
  12109. IF NE.x;
  12110. ELSE;
  12111. MOV.F R2.x, {0, 0, 0, 0};
  12112. ENDIF;
  12113. MOV.F R2.z, R19;
  12114. MOV.F R2.y, R20.x;
  12115. MUL.F32 R2.y, R2, {0.159154937, 0, 0, 0}.x;
  12116. MUL.F32 R2.z, R2, {6.28318548, 0, 0, 0}.x;
  12117. SIN.F32 R2.z, R2.z;
  12118. MOV.S R21.x, R2.z;
  12119. MOV.F R2.w, R22.y;
  12120. MOV.F R2.z, R30.y;
  12121. MOV.S R20.w, R2.y;
  12122. MUL.F32 R2.y, R2.z, R2.w;
  12123. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12124. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12125. TRUNC.U R2.w, R2;
  12126. TRUNC.U R2.z, R2;
  12127. AND.U.CC HC.x, R2.z, R2.w;
  12128. MOV.S R34.w, R19.z;
  12129. MOV.S R20.z, R2.x;
  12130. IF NE.x;
  12131. MOV.F R2.x, R2.y;
  12132. ELSE;
  12133. MOV.F R2.x, {0, 0, 0, 0};
  12134. ENDIF;
  12135. MOV.F R2.z, R23;
  12136. MIN.F R2.z, R2, {0, 0, 0, 0}.x;
  12137. MOV.F R2.w, R23;
  12138. MOV.F R8.x, R21;
  12139. MOV.S R24.y, R2.z;
  12140. SNE.F32 R2.z, R2.w, {0, 0, 0, 0}.x;
  12141. MUL.F32 R2.y, R2.w, R8.x;
  12142. SNE.F32 R2.w, R8.x, {0, 0, 0, 0}.x;
  12143. TRUNC.U R2.z, R2;
  12144. TRUNC.U R2.w, R2;
  12145. AND.U.CC HC.x, R2.z, R2.w;
  12146. MOV.S R20.x, R2;
  12147. IF NE.x;
  12148. MOV.F R2.x, R2.y;
  12149. ELSE;
  12150. MOV.F R2.x, {0, 0, 0, 0};
  12151. ENDIF;
  12152. MOV.F R2.y, R31;
  12153. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12154. MOV.F R2.z, c[8].x;
  12155. MUL.F32 R2.y, R2.z, R2;
  12156. TRUNC.U R2.w, R2;
  12157. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12158. MOV.S R19.z, R2.x;
  12159. TRUNC.U R2.x, R2.z;
  12160. AND.U.CC HC.x, R2, R2.w;
  12161. IF NE.x;
  12162. MOV.F R2.x, R2.y;
  12163. ELSE;
  12164. MOV.F R2.x, {0, 0, 0, 0};
  12165. ENDIF;
  12166. MOV.F R2.y, R34.w;
  12167. MOV.F R2.w, R24.y;
  12168. MOV.F R2.z, R30.x;
  12169. ADD.F32 R2.z, R2, R2.w;
  12170. MOV.F R2.w, R23;
  12171. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12172. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12173. MOV.S R8.x, R2.z;
  12174. COS.F32 R2.z, R2.y;
  12175. MUL.F32 R2.y, R2.z, R2.w;
  12176. TRUNC.U R2.w, R8.y;
  12177. SNE.F32 R8.y, R2.z, {0, 0, 0, 0}.x;
  12178. MOV.S R24.w, R2.x;
  12179. TRUNC.U R2.x, R8.y;
  12180. AND.U.CC HC.x, R2.w, R2;
  12181. MOV.S R34.w, R19.y;
  12182. MOV.S R21.w, R2.z;
  12183. IF NE.x;
  12184. MOV.F R2.x, R2.y;
  12185. ELSE;
  12186. MOV.F R2.x, {0, 0, 0, 0};
  12187. ENDIF;
  12188. MOV.F R2.z, R19.x;
  12189. MOV.F R2.y, R24.w;
  12190. ADD.F32 R2.y, R2, R2.z;
  12191. MOV.F R2.w, c[10];
  12192. MOV.F R2.z, R20;
  12193. MOV.S R22.z, R2.y;
  12194. MUL.F32 R2.y, R2.z, R2.w;
  12195. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12196. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12197. TRUNC.U R2.z, R2;
  12198. TRUNC.U R2.w, R2;
  12199. AND.U.CC HC.x, R2.z, R2.w;
  12200. MOV.S R19.y, R2.x;
  12201. IF NE.x;
  12202. MOV.F R2.x, R2.y;
  12203. ELSE;
  12204. MOV.F R2.x, {0, 0, 0, 0};
  12205. ENDIF;
  12206. MOV.F R2.w, R21.x;
  12207. MOV.F R2.y, R34.w;
  12208. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12209. SIN.F32 R2.z, R2.y;
  12210. MOV.S R22.w, R2.x;
  12211. SNE.F32 R2.x, R2.z, {0, 0, 0, 0};
  12212. SNE.F32 R8.y, R2.w, {0, 0, 0, 0}.x;
  12213. MUL.F32 R2.y, R2.z, R2.w;
  12214. TRUNC.U R2.w, R8.y;
  12215. TRUNC.U R2.x, R2;
  12216. AND.U.CC HC.x, R2, R2.w;
  12217. MOV.S R23.x, R2.z;
  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.w, R22;
  12224. MOV.F R2.z, R32;
  12225. MUL.F32 R2.y, R2.z, R2.w;
  12226. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12227. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12228. TRUNC.U R2.w, R2;
  12229. TRUNC.U R2.z, R2;
  12230. AND.U.CC HC.x, R2.z, R2.w;
  12231. MOV.S R19.x, R2;
  12232. IF NE.x;
  12233. MOV.F R2.x, R2.y;
  12234. ELSE;
  12235. MOV.F R2.x, {0, 0, 0, 0};
  12236. ENDIF;
  12237. MOV.F R2.w, R22.z;
  12238. MOV.F R2.z, R8.x;
  12239. MUL.F32 R2.y, R2.z, R2.w;
  12240. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12241. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12242. TRUNC.U R2.z, R2;
  12243. TRUNC.U R2.w, R2;
  12244. AND.U.CC HC.x, R2.z, R2.w;
  12245. MOV.S R21.y, R2.x;
  12246. IF NE.x;
  12247. MOV.F R2.x, R2.y;
  12248. ELSE;
  12249. MOV.F R2.x, {0, 0, 0, 0};
  12250. ENDIF;
  12251. MOV.F R2.w, R21;
  12252. MOV.F R2.z, R23.x;
  12253. MUL.F32 R2.y, R2.z, R2.w;
  12254. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12255. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12256. TRUNC.U R2.z, R2;
  12257. TRUNC.U R2.w, R2;
  12258. AND.U.CC HC.x, R2.z, R2.w;
  12259. MOV.S R20.z, R2.x;
  12260. IF NE.x;
  12261. MOV.F R2.x, R2.y;
  12262. ELSE;
  12263. MOV.F R2.x, {0, 0, 0, 0};
  12264. ENDIF;
  12265. MOV.F R2.y, R20.w;
  12266. MUL.F32 R2.y, R2, {6.28318548, 0, 0, 0}.x;
  12267. SIN.F32 R2.z, R2.y;
  12268. MOV.F R2.w, R19.z;
  12269. MUL.F32 R2.y, R2.z, R2.w;
  12270. MOV.S R23.z, R2;
  12271. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12272. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12273. TRUNC.U R2.z, R2;
  12274. TRUNC.U R2.w, R2;
  12275. AND.U.CC HC.x, R2.z, R2.w;
  12276. MOV.S R19.w, R2.x;
  12277. IF NE.x;
  12278. MOV.F R2.x, R2.y;
  12279. ELSE;
  12280. MOV.F R2.x, {0, 0, 0, 0};
  12281. ENDIF;
  12282. MOV.F R2.w, c[10].z;
  12283. MOV.F R2.z, R20.x;
  12284. MUL.F32 R2.y, R2.z, R2.w;
  12285. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12286. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12287. TRUNC.U R2.z, R2;
  12288. TRUNC.U R2.w, R2;
  12289. AND.U.CC HC.x, R2.z, R2.w;
  12290. MOV.S R22.x, R2;
  12291. IF NE.x;
  12292. MOV.F R2.x, R2.y;
  12293. ELSE;
  12294. MOV.F R2.x, {0, 0, 0, 0};
  12295. ENDIF;
  12296. MOV.F R2.w, R19.y;
  12297. MOV.F R2.z, R23;
  12298. MUL.F32 R2.y, R2.z, R2.w;
  12299. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12300. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12301. TRUNC.U R2.z, R2;
  12302. TRUNC.U R2.w, R2;
  12303. AND.U.CC HC.x, R2.z, R2.w;
  12304. MOV.S R31.y, R2.x;
  12305. IF NE.x;
  12306. MOV.F R2.x, R2.y;
  12307. ELSE;
  12308. MOV.F R2.x, {0, 0, 0, 0};
  12309. ENDIF;
  12310. MOV.F R2.w, R19;
  12311. MOV.F R2.z, R23;
  12312. MUL.F32 R2.y, R2.z, R2.w;
  12313. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12314. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12315. TRUNC.U R2.z, R2;
  12316. TRUNC.U R2.w, R2;
  12317. AND.U.CC HC.x, R2.z, R2.w;
  12318. MOV.S R22.z, R2.x;
  12319. IF NE.x;
  12320. MOV.F R2.x, R2.y;
  12321. ELSE;
  12322. MOV.F R2.x, {0, 0, 0, 0};
  12323. ENDIF;
  12324. MOV.F R2.w, R19.x;
  12325. MOV.F R2.y, R22.z;
  12326. ADD.F32 R2.y, R2.w, R2;
  12327. MOV.S R8.x, R2.y;
  12328. MOV.F R2.y, R20.w;
  12329. MUL.F32 R2.z, R2.y, {6.28318548, 0, 0, 0}.x;
  12330. MOV.F R8.y, R23.z;
  12331. COS.F32 R2.z, R2.z;
  12332. MUL.F32 R2.y, R2.w, R8;
  12333. MOV.S R23.y, R2.z;
  12334. SNE.F32 R2.z, R8.y, {0, 0, 0, 0}.x;
  12335. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12336. TRUNC.U R2.z, R2;
  12337. TRUNC.U R2.w, R2;
  12338. AND.U.CC HC.x, R2.z, R2.w;
  12339. MOV.S R22.w, R2.x;
  12340. IF NE.x;
  12341. MOV.F R2.x, R2.y;
  12342. ELSE;
  12343. MOV.F R2.x, {0, 0, 0, 0};
  12344. ENDIF;
  12345. MOV.F R2.w, R23.y;
  12346. MOV.F R2.z, R23.w;
  12347. MUL.F32 R2.y, R2.z, R2.w;
  12348. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12349. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12350. TRUNC.U R2.z, R2;
  12351. TRUNC.U R2.w, R2;
  12352. AND.U.CC HC.x, R2.z, R2.w;
  12353. MOV.S R24.y, R2.x;
  12354. IF NE.x;
  12355. MOV.F R2.x, R2.y;
  12356. ELSE;
  12357. MOV.F R2.x, {0, 0, 0, 0};
  12358. ENDIF;
  12359. MOV.F R2.z, R24.y;
  12360. MOV.F R2.y, R19;
  12361. ADD.F32 R2.y, R2, R2.z;
  12362. MOV.S R27.x, R2.y;
  12363. MOV.F R2.z, R22.x;
  12364. MOV.F R2.y, R19.w;
  12365. ADD.F32 R2.y, -R2, R2.z;
  12366. MOV.S R17.w, R2.y;
  12367. MOV.F R2.w, R22;
  12368. MOV.F R2.z, R19;
  12369. ADD.F32 R2.z, -R2, R2.w;
  12370. MOV.F R2.y, R20.z;
  12371. SNE.F32 R2.w, R2.y, {0, 0, 0, 0}.x;
  12372. MOV.S R31.z, R2;
  12373. MOV.F R2.z, c[10].y;
  12374. MUL.F32 R2.y, R2, R2.z;
  12375. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12376. TRUNC.U R2.w, R2;
  12377. TRUNC.U R2.z, R2;
  12378. AND.U.CC HC.x, R2.w, R2.z;
  12379. MOV.S R27.z, R2.x;
  12380. IF NE.x;
  12381. MOV.F R2.x, R2.y;
  12382. ELSE;
  12383. MOV.F R2.x, {0, 0, 0, 0};
  12384. ENDIF;
  12385. MOV.F R2.w, R21.y;
  12386. MOV.F R2.z, R8.x;
  12387. MUL.F32 R2.y, R2.z, R2.w;
  12388. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12389. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12390. TRUNC.U R2.z, R2;
  12391. TRUNC.U R2.w, R2;
  12392. AND.U.CC HC.x, R2.z, R2.w;
  12393. MOV.S R13.y, R2.x;
  12394. IF NE.x;
  12395. MOV.F R2.x, R2.y;
  12396. ELSE;
  12397. MOV.F R2.x, {0, 0, 0, 0};
  12398. ENDIF;
  12399. MOV.F R2.w, R23.y;
  12400. MOV.F R2.z, R23.x;
  12401. MUL.F32 R2.y, R2.z, R2.w;
  12402. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12403. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12404. TRUNC.U R2.z, R2;
  12405. TRUNC.U R2.w, R2;
  12406. AND.U.CC HC.x, R2.z, R2.w;
  12407. MOV.S R8.z, R2.x;
  12408. IF NE.x;
  12409. MOV.F R2.x, R2.y;
  12410. ELSE;
  12411. MOV.F R2.x, {0, 0, 0, 0};
  12412. ENDIF;
  12413. MOV.F R2.w, R21.y;
  12414. MOV.F R2.z, R17.w;
  12415. MUL.F32 R2.y, R2.z, R2.w;
  12416. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12417. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12418. TRUNC.U R2.z, R2;
  12419. TRUNC.U R2.w, R2;
  12420. AND.U.CC HC.x, R2.z, R2.w;
  12421. MOV.S R25.w, R2.x;
  12422. IF NE.x;
  12423. MOV.F R2.x, R2.y;
  12424. ELSE;
  12425. MOV.F R2.x, {0, 0, 0, 0};
  12426. ENDIF;
  12427. MOV.F R2.w, R21.x;
  12428. MOV.F R2.z, R23.y;
  12429. MUL.F32 R2.y, R2.z, R2.w;
  12430. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12431. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12432. TRUNC.U R2.z, R2;
  12433. TRUNC.U R2.w, R2;
  12434. AND.U.CC HC.x, R2.z, R2.w;
  12435. MOV.S R13.z, R2.x;
  12436. IF NE.x;
  12437. MOV.F R2.x, R2.y;
  12438. ELSE;
  12439. MOV.F R2.x, {0, 0, 0, 0};
  12440. ENDIF;
  12441. MOV.F R2.w, R21.y;
  12442. MOV.F R2.z, R27;
  12443. MUL.F32 R2.y, R2.z, R2.w;
  12444. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12445. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12446. TRUNC.U R2.z, R2;
  12447. TRUNC.U R2.w, R2;
  12448. AND.U.CC HC.x, R2.z, R2.w;
  12449. MOV.S R13.x, R2;
  12450. IF NE.x;
  12451. MOV.F R2.x, R2.y;
  12452. ELSE;
  12453. MOV.F R2.x, {0, 0, 0, 0};
  12454. ENDIF;
  12455. MOV.F R2.w, R21;
  12456. MOV.F R2.z, R23.y;
  12457. MUL.F32 R2.y, R2.z, R2.w;
  12458. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  12459. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  12460. TRUNC.U R2.z, R2;
  12461. TRUNC.U R2.w, R2;
  12462. AND.U.CC HC.x, R2.z, R2.w;
  12463. MOV.S R8.y, R2.x;
  12464. IF NE.x;
  12465. MOV.F R8.w, R2.y;
  12466. ELSE;
  12467. MOV.F R8.w, {0, 0, 0, 0}.x;
  12468. ENDIF;
  12469. MOV.F R2.x, R23.z;
  12470. MOV.F R2.w, -R2.x;
  12471. MOV.F R2.xyz, R12.zyxw;
  12472. ADD.F32 R2.xyz, R2, {1, 0, 0, 0}.x;
  12473. MOV.S R30.xyz, R2;
  12474. MOV.F R2.x, R13.w;
  12475. SEQ.F R19.x, R2, {0, 0, 0, 0};
  12476. MOV.S R18.w, R2;
  12477. MOV.S R2.z, R8.w;
  12478. TRUNC.U.CC HC.x, R19;
  12479. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  12480. MOV.S R8.w, {1065353216, 0, 0, 0}.x;
  12481. IF NE.x;
  12482. MOV.S R21.x, {-1, 0, 0, 0};
  12483. ELSE;
  12484. MOV.S R21.x, {0, 0, 0, 0};
  12485. ENDIF;
  12486. MOV.F R20, R14;
  12487. SEQ.S R14.y, R21.x, {0, 0, 0, 0}.x;
  12488. MOV.U.CC RC.x, -R14.y;
  12489. MOV.F R19.w, {1, 0, 0, 0}.x;
  12490. MOV.F R19.xyz, R10;
  12491. DP4.F32 R14.x, R20, R19;
  12492. MOV.S R14.x, R14;
  12493. IF NE.x;
  12494. MOV.S R14.z, R13.w;
  12495. ELSE;
  12496. MOV.S R14.z, {1065353216, 0, 0, 0}.x;
  12497. ENDIF;
  12498. MOV.F R20, R15;
  12499. MOV.F R19.xyz, R10;
  12500. MOV.F R19.w, {1, 0, 0, 0}.x;
  12501. DP4.F32 R10.x, R20, R19;
  12502. MOV.F R21.xyz, R11;
  12503. MOV.F R21.w, {0, 0, 0, 0}.x;
  12504. MOV.F R20.xyz, R17;
  12505. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12506. MOV.S R14.y, R10.x;
  12507. DP4.F32 R10.x, R20, R21;
  12508. MOV.F R20.xyz, R18;
  12509. MOV.F R20.w, {-0, 0, 0, 0}.x;
  12510. DP4.F32 R10.y, R21, R20;
  12511. MOV.S R15.y, R10.x;
  12512. MOV.S R10.x, R10.y;
  12513. MOV.S R10.y, R10.x;
  12514. MOV.F R20, R16;
  12515. DP4.F32 R10.x, R19, R20;
  12516. ADD.F32 R10.y, R10, {9.99999997e-007, 0, 0, 0}.x;
  12517. MOV.S R15.z, R10.x;
  12518. MOV.F R19.w, {-0, 0, 0, 0}.x;
  12519. MOV.F R19.xyz, R25;
  12520. DP4.F32 R10.x, R21, R19;
  12521. MOV.S R18.z, R10.y;
  12522. MOV.S R18.x, R10;
  12523. ENDIF;
  12524. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12525. MOV.U.CC RC.x, -R10;
  12526. IF NE.x;
  12527. MOV.F R10.y, c[11].x;
  12528. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12529. MOV.S R24.y, R10;
  12530. MOV.F R10.y, c[11];
  12531. MUL.F32 R10.y, R10, {0.5, 0, 0, 0}.x;
  12532. MOV.F R11.x, c[12];
  12533. MOV.F R10.z, R30;
  12534. MUL.F32 R10.x, R10.z, R11;
  12535. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12536. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12537. TRUNC.U R10.z, R10;
  12538. TRUNC.U R11.x, R11;
  12539. AND.U.CC HC.x, R10.z, R11;
  12540. MOV.S R24.x, R10.y;
  12541. IF NE.x;
  12542. ELSE;
  12543. MOV.F R10.x, {0, 0, 0, 0};
  12544. ENDIF;
  12545. MOV.F R11.x, c[12];
  12546. MOV.F R10.z, R30.y;
  12547. MUL.F32 R10.y, R10.z, R11.x;
  12548. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12549. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12550. TRUNC.U R10.z, R10;
  12551. TRUNC.U R11.x, R11;
  12552. AND.U.CC HC.x, R10.z, R11;
  12553. MOV.S R30.z, R10.x;
  12554. IF NE.x;
  12555. MOV.F R10.x, R10.y;
  12556. ELSE;
  12557. MOV.F R10.x, {0, 0, 0, 0};
  12558. ENDIF;
  12559. MOV.F R11.x, c[12];
  12560. MOV.F R10.z, R30.x;
  12561. MUL.F32 R10.y, R10.z, R11.x;
  12562. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12563. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12564. TRUNC.U R10.z, R10;
  12565. TRUNC.U R11.x, R11;
  12566. AND.U.CC HC.x, R10.z, R11;
  12567. MOV.S R16.w, R10.x;
  12568. IF NE.x;
  12569. MOV.F R10.x, R10.y;
  12570. ELSE;
  12571. MOV.F R10.x, {0, 0, 0, 0};
  12572. ENDIF;
  12573. MOV.F R11.x, c[13].w;
  12574. MOV.F R10.z, R31.x;
  12575. MUL.F32 R10.y, R10.z, R11.x;
  12576. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12577. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12578. TRUNC.U R10.z, R10;
  12579. TRUNC.U R11.x, R11;
  12580. AND.U.CC HC.x, R10.z, R11;
  12581. MOV.S R30.y, R10.x;
  12582. IF NE.x;
  12583. MOV.F R10.x, R10.y;
  12584. ELSE;
  12585. MOV.F R10.x, {0, 0, 0, 0};
  12586. ENDIF;
  12587. MOV.F R10.z, R24.y;
  12588. MOV.F R10.y, R32.x;
  12589. ADD.F32 R10.y, R10, R10.z;
  12590. MOV.F R10.z, R32.y;
  12591. MOV.F R11.x, R24;
  12592. MOV.S R22.w, R10.y;
  12593. ADD.F32 R10.y, R10.z, R11.x;
  12594. MOV.F R11.y, R31;
  12595. SNE.F32 R11.x, R10.z, -R11;
  12596. SNE.F32 R10.z, R11.y, {0, 0, 0, 0}.x;
  12597. TRUNC.U R11.x, R11;
  12598. TRUNC.U R10.z, R10;
  12599. AND.U.CC HC.x, R10.z, R11;
  12600. MUL.F32 R10.y, R11, R10;
  12601. MOV.S R22.y, R10.x;
  12602. IF NE.x;
  12603. MOV.F R10.x, R10.y;
  12604. ELSE;
  12605. MOV.F R10.x, {0, 0, 0, 0};
  12606. ENDIF;
  12607. MOV.F R11.x, R22.w;
  12608. MOV.F R10.z, R13.y;
  12609. MUL.F32 R10.y, R10.z, R11.x;
  12610. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12611. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12612. TRUNC.U R10.z, R10;
  12613. TRUNC.U R11.x, R11;
  12614. AND.U.CC HC.x, R10.z, R11;
  12615. MOV.S R24.x, R10;
  12616. IF NE.x;
  12617. MOV.F R10.x, R10.y;
  12618. ELSE;
  12619. MOV.F R10.x, {0, 0, 0, 0};
  12620. ENDIF;
  12621. MOV.F R10.y, R22;
  12622. RCP.F32 R10.y, R10.y;
  12623. MOV.F R11.x, R31.z;
  12624. MOV.F R10.z, R24.x;
  12625. MOV.S R21.x, R10.y;
  12626. MUL.F32 R10.y, R10.z, R11.x;
  12627. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12628. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12629. TRUNC.U R10.z, R10;
  12630. TRUNC.U R11.x, R11;
  12631. AND.U.CC HC.x, R10.z, R11;
  12632. MOV.S R21.y, R10.x;
  12633. IF NE.x;
  12634. MOV.F R10.x, R10.y;
  12635. ELSE;
  12636. MOV.F R10.x, {0, 0, 0, 0};
  12637. ENDIF;
  12638. MOV.F R10.y, R8.z;
  12639. ADD.F32 R10.y, R10.x, R10;
  12640. MOV.F R10.z, R24.x;
  12641. MOV.F R11.x, R25.w;
  12642. MUL.F32 R10.x, R10.z, R11;
  12643. MOV.S R26.x, R10.y;
  12644. SNE.F32 R10.y, R10.z, {0, 0, 0, 0}.x;
  12645. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12646. TRUNC.U R10.z, R11.x;
  12647. TRUNC.U R10.y, R10;
  12648. AND.U.CC HC.x, R10.y, R10.z;
  12649. IF NE.x;
  12650. ELSE;
  12651. MOV.F R10.x, {0, 0, 0, 0};
  12652. ENDIF;
  12653. ADD.F32 R10.x, R10, R8.y;
  12654. MOV.F R10.y, R24.x;
  12655. MOV.F R10.z, R27.x;
  12656. MUL.F32 R8.y, R10, R10.z;
  12657. MOV.S R26.z, R10.x;
  12658. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12659. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12660. TRUNC.U R10.y, R10.z;
  12661. TRUNC.U R10.x, R10;
  12662. AND.U.CC HC.x, R10, R10.y;
  12663. IF NE.x;
  12664. ELSE;
  12665. MOV.F R8.y, {0, 0, 0, 0}.x;
  12666. ENDIF;
  12667. MOV.F R10.x, R13.z;
  12668. ADD.F32 R10.x, R8.y, R10;
  12669. MOV.F R10.y, R21;
  12670. MOV.F R10.z, R2;
  12671. MUL.F32 R8.y, R10, R10.z;
  12672. MOV.S R26.w, R10.x;
  12673. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12674. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12675. TRUNC.U R10.y, R10.z;
  12676. TRUNC.U R10.x, R10;
  12677. AND.U.CC HC.x, R10, R10.y;
  12678. MOV.S R34.w, R14.z;
  12679. IF NE.x;
  12680. ELSE;
  12681. MOV.F R8.y, {0, 0, 0, 0}.x;
  12682. ENDIF;
  12683. MOV.F R10.x, R26;
  12684. ADD.F32 R10.x, R8.y, R10;
  12685. MOV.F R10.y, R21;
  12686. MOV.F R10.z, R13.x;
  12687. MUL.F32 R8.y, R10, R10.z;
  12688. MOV.S R32.x, R10;
  12689. SNE.F32 R10.x, R10.y, {0, 0, 0, 0};
  12690. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12691. TRUNC.U R10.y, R10.z;
  12692. TRUNC.U R10.x, R10;
  12693. AND.U.CC HC.x, R10, R10.y;
  12694. IF NE.x;
  12695. ELSE;
  12696. MOV.F R8.y, {0, 0, 0, 0}.x;
  12697. ENDIF;
  12698. MOV.F R10.x, R26.w;
  12699. ADD.F32 R8.y, R8, R10.x;
  12700. MOV.F R10.z, R18.w;
  12701. MOV.F R10.y, R21;
  12702. MUL.F32 R10.x, R10.y, R10.z;
  12703. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12704. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12705. TRUNC.U R10.z, R10;
  12706. TRUNC.U R10.y, R10;
  12707. AND.U.CC HC.x, R10.y, R10.z;
  12708. MOV.S R8.y, R8;
  12709. IF NE.x;
  12710. ELSE;
  12711. MOV.F R10.x, {0, 0, 0, 0};
  12712. ENDIF;
  12713. MOV.F R10.y, R26.z;
  12714. ADD.F32 R10.x, R10, R10.y;
  12715. MOV.F R11.x, R21;
  12716. MOV.F R10.z, R34.w;
  12717. MUL.F32 R10.z, R10, R11.x;
  12718. MOV.S R14.z, R10.x;
  12719. MOV.S R10.x, R10.z;
  12720. SEQ.S R10.y, R10.x, {2147483647, 0, 0, 0}.x;
  12721. MOV.U.CC RC.x, -R10.y;
  12722. MOV.S R14.w, R10.z;
  12723. MOV.U R10.x, {1, 0, 0, 0};
  12724. IF NE.x;
  12725. MOV.F R10.x, {1, 0, 0, 0};
  12726. MOV.S R26.y, R10.x;
  12727. MOV.U R10.x, {0, 0, 0, 0};
  12728. ELSE;
  12729. SEQ.S R10.y, R14.w, {-1, 0, 0, 0}.x;
  12730. MOV.U.CC RC.x, -R10.y;
  12731. IF NE.x;
  12732. MOV.F R10.x, {0, 0, 0, 0};
  12733. MOV.S R26.y, R10.x;
  12734. MOV.U R10.x, {0, 0, 0, 0};
  12735. ENDIF;
  12736. ENDIF;
  12737. MOV.U.CC RC.x, R10;
  12738. IF NE.x;
  12739. MOV.F.SAT R10.x, R14.w;
  12740. MOV.S R26.y, R10.x;
  12741. ENDIF;
  12742. MOV.S R14.w, R26.y;
  12743. ENDIF;
  12744. SEQ.U R10.x, R27.w, {1, 0, 0, 0};
  12745. MOV.U.CC RC.x, -R10;
  12746. IF NE.x;
  12747. MOV.F R8.z, R14.x;
  12748. MOV.F R20, c[14];
  12749. MOV.F R19.z, R14;
  12750. MOV.F R19.yw, R8;
  12751. MOV.F R19.x, R32;
  12752. DP4.F32 R10.x, R20, R19;
  12753. ADD.F32 R10.x, R10, R8.z;
  12754. MOV.F R20, c[15];
  12755. MOV.F R10.y, R14;
  12756. DP4.F32 R8.z, R19, R20;
  12757. ADD.F32 R8.z, R10.y, R8;
  12758. MOV.F R10.y, c[14].z;
  12759. MOV.S R15.x, R10;
  12760. MOV.F R10.z, R30;
  12761. ADD.F32 R10.x, R10, R10.z;
  12762. MOV.S R21.w, R10.x;
  12763. MOV.F R10.x, R27.z;
  12764. MOV.S R16.y, R8.z;
  12765. MUL.F32 R8.z, R10.x, R10.y;
  12766. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12767. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12768. TRUNC.U R10.y, R10;
  12769. TRUNC.U R10.x, R10;
  12770. AND.U.CC HC.x, R10, R10.y;
  12771. IF NE.x;
  12772. MOV.F R10.x, R8.z;
  12773. ELSE;
  12774. MOV.F R10.x, {0, 0, 0, 0};
  12775. ENDIF;
  12776. MOV.F R8.z, R15;
  12777. MOV.F R10.z, c[15];
  12778. MOV.F R19, c[16];
  12779. MOV.F R20.z, R14;
  12780. MOV.F R20.yw, R8;
  12781. MOV.F R20.x, R32;
  12782. DP4.F32 R8.y, R19, R20;
  12783. ADD.F32 R10.y, R8.z, R8;
  12784. MOV.F R8.z, R16.w;
  12785. MOV.F R8.y, R16;
  12786. ADD.F32 R8.y, R8, R8.z;
  12787. MOV.F R8.z, R21.w;
  12788. ADD.F32 R8.y, R8.z, R8;
  12789. MOV.S R8.z, R10.y;
  12790. MOV.F R10.y, R27.z;
  12791. MOV.S R21.y, R8;
  12792. MUL.F32 R8.y, R10, R10.z;
  12793. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12794. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12795. TRUNC.U R10.y, R10;
  12796. TRUNC.U R10.z, R10;
  12797. AND.U.CC HC.x, R10.y, R10.z;
  12798. MOV.S R23.z, R10.x;
  12799. IF NE.x;
  12800. ELSE;
  12801. MOV.F R8.y, {0, 0, 0, 0}.x;
  12802. ENDIF;
  12803. MOV.F R10.y, R30;
  12804. MOV.F R10.x, R8.z;
  12805. ADD.F32 R10.x, R10, R10.y;
  12806. MOV.F R10.y, R21;
  12807. MOV.S R10.x, R10;
  12808. ADD.F32 R10.x, R10, R10.y;
  12809. MOV.F R10.z, c[14];
  12810. MOV.F R10.y, R25.w;
  12811. MOV.S R16.x, R10;
  12812. MUL.F32 R10.x, R10.y, R10.z;
  12813. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12814. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12815. TRUNC.U R10.y, R10;
  12816. TRUNC.U R10.z, R10;
  12817. AND.U.CC HC.x, R10.y, R10.z;
  12818. MOV.S R23.y, R8;
  12819. IF NE.x;
  12820. MOV.F R8.y, R10.x;
  12821. ELSE;
  12822. MOV.F R8.y, {0, 0, 0, 0}.x;
  12823. ENDIF;
  12824. MOV.F R10.z, c[15];
  12825. MOV.F R10.y, R25.w;
  12826. MUL.F32 R10.x, R10.y, R10.z;
  12827. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12828. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12829. TRUNC.U R10.y, R10;
  12830. TRUNC.U R10.z, R10;
  12831. AND.U.CC HC.x, R10.y, R10.z;
  12832. MOV.S R24.z, R8.y;
  12833. IF NE.x;
  12834. MOV.F R8.y, R10.x;
  12835. ELSE;
  12836. MOV.F R8.y, {0, 0, 0, 0}.x;
  12837. ENDIF;
  12838. MOV.F R10.z, c[14].y;
  12839. MOV.F R10.y, R17.w;
  12840. MUL.F32 R10.x, R10.y, R10.z;
  12841. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12842. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12843. TRUNC.U R10.y, R10;
  12844. TRUNC.U R10.z, R10;
  12845. AND.U.CC HC.x, R10.y, R10.z;
  12846. MOV.S R34.w, R23.y;
  12847. MOV.S R24.w, R8.y;
  12848. IF NE.x;
  12849. MOV.F R8.y, R10.x;
  12850. ELSE;
  12851. MOV.F R8.y, {0, 0, 0, 0}.x;
  12852. ENDIF;
  12853. MOV.F R10.x, R23.z;
  12854. ADD.F32 R8.y, R8, R10.x;
  12855. MOV.F R10.y, c[15];
  12856. MOV.F R10.x, R17.w;
  12857. MOV.S R19.x, R8.y;
  12858. MUL.F32 R8.y, R10.x, R10;
  12859. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12860. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12861. TRUNC.U R10.y, R10;
  12862. TRUNC.U R10.x, R10;
  12863. AND.U.CC HC.x, R10, R10.y;
  12864. IF NE.x;
  12865. ELSE;
  12866. MOV.F R8.y, {0, 0, 0, 0}.x;
  12867. ENDIF;
  12868. MOV.F R10.x, R27;
  12869. SNE.F32 R10.y, R10.x, {0, 0, 0, 0}.x;
  12870. MOV.F R10.z, c[14].y;
  12871. TRUNC.U R11.x, R10.y;
  12872. MOV.F R10.y, R34.w;
  12873. ADD.F32 R8.y, R8, R10;
  12874. MUL.F32 R10.x, R10, R10.z;
  12875. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12876. TRUNC.U R10.y, R10.z;
  12877. AND.U.CC HC.x, R11, R10.y;
  12878. MOV.S R23.z, R8.y;
  12879. IF NE.x;
  12880. MOV.F R8.y, R10.x;
  12881. ELSE;
  12882. MOV.F R8.y, {0, 0, 0, 0}.x;
  12883. ENDIF;
  12884. MOV.F R10.x, R24.z;
  12885. ADD.F32 R8.y, R8, R10.x;
  12886. MOV.F R10.y, c[15];
  12887. MOV.F R10.x, R27;
  12888. MOV.S R21.w, R8.y;
  12889. MUL.F32 R8.y, R10.x, R10;
  12890. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12891. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12892. TRUNC.U R10.y, R10;
  12893. TRUNC.U R10.x, R10;
  12894. AND.U.CC HC.x, R10, R10.y;
  12895. IF NE.x;
  12896. ELSE;
  12897. MOV.F R8.y, {0, 0, 0, 0}.x;
  12898. ENDIF;
  12899. MOV.F R10.x, R24.w;
  12900. ADD.F32 R8.y, R8, R10.x;
  12901. MOV.F R10.z, c[15];
  12902. MOV.F R10.y, R18.w;
  12903. MUL.F32 R10.x, R10.y, R10.z;
  12904. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12905. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12906. TRUNC.U R10.z, R10;
  12907. TRUNC.U R10.y, R10;
  12908. AND.U.CC HC.x, R10.y, R10.z;
  12909. MOV.S R8.y, R8;
  12910. IF NE.x;
  12911. ELSE;
  12912. MOV.F R10.x, {0, 0, 0, 0};
  12913. ENDIF;
  12914. MOV.F R11.x, c[14].z;
  12915. MOV.F R10.z, R18.w;
  12916. MUL.F32 R10.y, R10.z, R11.x;
  12917. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12918. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12919. TRUNC.U R10.z, R10;
  12920. TRUNC.U R11.x, R11;
  12921. AND.U.CC HC.x, R10.z, R11;
  12922. MOV.S R21.x, R10;
  12923. IF NE.x;
  12924. MOV.F R10.x, R10.y;
  12925. ELSE;
  12926. MOV.F R10.x, {0, 0, 0, 0};
  12927. ENDIF;
  12928. MOV.F R11.x, c[15];
  12929. MOV.F R10.z, R31;
  12930. MUL.F32 R10.y, R10.z, R11.x;
  12931. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12932. SNE.F32 R11.x, R11, {0, 0, 0, 0};
  12933. TRUNC.U R10.z, R10;
  12934. TRUNC.U R11.x, R11;
  12935. AND.U.CC HC.x, R10.z, R11;
  12936. MOV.S R21.y, R10.x;
  12937. IF NE.x;
  12938. MOV.F R10.x, R10.y;
  12939. ELSE;
  12940. MOV.F R10.x, {0, 0, 0, 0};
  12941. ENDIF;
  12942. MOV.F R10.y, R8.x;
  12943. SNE.F32 R11.x, R10.y, {0, 0, 0, 0};
  12944. MOV.F R10.z, c[15].x;
  12945. ADD.F32 R8.y, R10.x, R8;
  12946. MUL.F32 R10.y, R10, R10.z;
  12947. SNE.F32 R10.z, R10, {0, 0, 0, 0}.x;
  12948. TRUNC.U R11.x, R11;
  12949. TRUNC.U R10.x, R10.z;
  12950. AND.U.CC HC.x, R11, R10;
  12951. MOV.S R34.w, R19.x;
  12952. MOV.S R20.w, R8.y;
  12953. IF NE.x;
  12954. MOV.F R8.y, R10;
  12955. ELSE;
  12956. MOV.F R8.y, {0, 0, 0, 0}.x;
  12957. ENDIF;
  12958. MOV.F R10.x, R23.z;
  12959. ADD.F32 R8.y, R8, R10.x;
  12960. MOV.F R10.y, c[14].x;
  12961. MOV.F R10.x, R31.z;
  12962. MOV.S R19.x, R8.y;
  12963. MUL.F32 R8.y, R10.x, R10;
  12964. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12965. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12966. TRUNC.U R10.y, R10;
  12967. TRUNC.U R10.x, R10;
  12968. AND.U.CC HC.x, R10, R10.y;
  12969. IF NE.x;
  12970. ELSE;
  12971. MOV.F R8.y, {0, 0, 0, 0}.x;
  12972. ENDIF;
  12973. MOV.F R10.x, R21.w;
  12974. ADD.F32 R8.y, R8, R10.x;
  12975. MOV.S R20.y, R8;
  12976. MOV.F R8.y, R8.x;
  12977. MOV.F R10.x, c[14];
  12978. MUL.F32 R8.x, R8.y, R10;
  12979. SNE.F32 R10.x, R10, {0, 0, 0, 0};
  12980. SNE.F32 R8.y, R8, {0, 0, 0, 0}.x;
  12981. TRUNC.U R10.x, R10;
  12982. TRUNC.U R8.y, R8;
  12983. AND.U.CC HC.x, R8.y, R10;
  12984. IF NE.x;
  12985. ELSE;
  12986. MOV.F R8.x, {0, 0, 0, 0};
  12987. ENDIF;
  12988. MOV.F R8.y, R13.x;
  12989. SNE.F32 R10.x, R8.y, {0, 0, 0, 0};
  12990. MOV.F R10.y, c[14];
  12991. TRUNC.U R10.z, R10.x;
  12992. MOV.F R10.x, R34.w;
  12993. ADD.F32 R8.x, R8, R10;
  12994. MUL.F32 R8.y, R8, R10;
  12995. SNE.F32 R10.y, R10, {0, 0, 0, 0}.x;
  12996. TRUNC.U R10.x, R10.y;
  12997. AND.U.CC HC.x, R10.z, R10;
  12998. MOV.S R26.w, R8.x;
  12999. IF NE.x;
  13000. MOV.F R8.x,
  13001. [19:43:29] Link error in shader. Log:
  13002. [19:43:29] Vertex info
  13003. -----------
  13004. Internal error: assembly compile error for vertex shader at offset 2091:
  13005. -- error message --
  13006. line 43, column 45: error: invalid vertex attribute reference
  13007. line 78, column 25: error: invalid vertex attribute reference
  13008. line 79, column 25: error: invalid vertex attribute reference
  13009. line 81, column 25: error: invalid vertex attribute reference
  13010. line 85, column 25: error: invalid vertex attribute reference
  13011. -- internal assembly text --
  13012. !!NVvp5.0
  13013. OPTION NV_gpu_program_fp64;
  13014. OPTION NV_bindless_texture;
  13015. # cgc version 3.4.0001, build date Aug 25 2016
  13016. # command line args:
  13017. #vendor NVIDIA Corporation
  13018. #version 3.4.0.1 COP Build Date Aug 25 2016
  13019. #profile gp5vp
  13020. #program main
  13021. #semantic textureUnitVS13 : TEXUNIT[0]
  13022. #semantic uf_remappedVS
  13023. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  13024. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  13025. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  13026. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  13027. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  13028. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  13029. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 1
  13030. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  13031. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  13032. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  13033. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 0
  13034. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 0
  13035. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 0
  13036. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  13037. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  13038. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  13039. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  13040. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 0
  13041. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  13042. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  13043. #var float4 passParameterSem1 : $vout.ATTR1 : ATTR1 : -1 : 1
  13044. #var float4 passParameterSem11 : $vout.ATTR6 : ATTR6 : -1 : 1
  13045. #var float4 passParameterSem14 : $vout.ATTR7 : ATTR7 : -1 : 1
  13046. #var float4 passParameterSem3 : $vout.ATTR2 : ATTR2 : -1 : 1
  13047. #var float4 passParameterSem4 : $vout.ATTR3 : ATTR3 : -1 : 1
  13048. #var float4 passParameterSem7 : $vout.ATTR4 : ATTR4 : -1 : 1
  13049. #var float4 passParameterSem8 : $vout.ATTR5 : ATTR5 : -1 : 1
  13050. #var ulong textureUnitVS13 : TEXUNIT[0] : c[51] : -1 : 1
  13051. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  13052. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  13053. PARAM c[52] = { program.local[0..51] };
  13054. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  13055. OUTPUT result_attrib[] = { result.attrib[0..7] };
  13056. 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;
  13057. LONG TEMP D0;
  13058. TEMP RC;
  13059. SHORT TEMP HC;
  13060. SHR.U R1, vertex.attrib[11], {8, 0, 0, 0}.x;
  13061. MOV.F R20.w, {1, 0, 0, 0}.x;
  13062. MOV.F R15.w, {1, 0, 0, 0}.x;
  13063. SHL.U R0, vertex.attrib[11], {8, 0, 0, 0}.x;
  13064. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13065. SHR.U R2, vertex.attrib[11], {24, 0, 0, 0}.x;
  13066. OR.U R2, R2, R1;
  13067. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13068. OR.U R1, R2, R1;
  13069. SHL.U R0, vertex.attrib[11], {24, 0, 0, 0}.x;
  13070. OR.U R3, R1, R0;
  13071. SHR.U R1, vertex.attrib[14], {8, 0, 0, 0}.x;
  13072. SHL.U R0, vertex.attrib[14], {8, 0, 0, 0}.x;
  13073. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13074. SHR.U R2, vertex.attrib[14], {24, 0, 0, 0}.x;
  13075. OR.U R2, R2, R1;
  13076. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13077. OR.U R1, R2, R1;
  13078. SHL.U R0, vertex.attrib[14], {24, 0, 0, 0}.x;
  13079. OR.U R4, R1, R0;
  13080. SHR.U R1, vertex.attrib[9], {8, 0, 0, 0}.x;
  13081. SHL.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  13082. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13083. SHR.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  13084. OR.U R2, R2, R1;
  13085. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13086. OR.U R1, R2, R1;
  13087. SHL.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  13088. OR.U R21, R1, R0;
  13089. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  13090. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  13091. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13092. SHR.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  13093. OR.U R2, R2, R1;
  13094. AND.U R1, R0, {16711680, 0, 0, 0}.x;
  13095. OR.U R1, R2, R1;
  13096. SHL.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  13097. OR.U R5, R1, R0;
  13098. MOV.U R0.y, R21.w;
  13099. MOV.F R0.x, c[0];
  13100. ADD.F32 R7.x, -R0.y, R0;
  13101. SHR.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  13102. MOV.S R13.w, R7.x;
  13103. SGT.F32 R7.x, {0, 0, 0, 0}, R7;
  13104. TRUNC.U R24.x, R7;
  13105. SHL.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  13106. SHR.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  13107. AND.U R0, R0, {65280, 0, 0, 0}.x;
  13108. OR.U R0, R2, R0;
  13109. AND.U R2, R1, {16711680, 0, 0, 0}.x;
  13110. OR.U R0, R0, R2;
  13111. SHL.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  13112. OR.U R16, R0, R1;
  13113. SHR.U R1, vertex.attrib[12], {8, 0, 0, 0}.x;
  13114. SHL.U R0, vertex.attrib[12], {8, 0, 0, 0}.x;
  13115. SHR.U R2, vertex.attrib[12], {24, 0, 0, 0}.x;
  13116. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13117. OR.U R1, R2, R1;
  13118. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13119. OR.U R1, R1, R2;
  13120. SHL.U R0, vertex.attrib[12], {24, 0, 0, 0}.x;
  13121. OR.U R9, R1, R0;
  13122. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  13123. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  13124. SHR.U R2, vertex.attrib[0], {24, 0, 0, 0}.x;
  13125. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13126. OR.U R1, R2, R1;
  13127. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13128. OR.U R1, R1, R2;
  13129. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  13130. OR.U R6, R1, R0;
  13131. SHR.U R1, vertex.attrib[1], {8, 0, 0, 0}.x;
  13132. SHL.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  13133. SHR.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  13134. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13135. OR.U R1, R2, R1;
  13136. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13137. OR.U R1, R1, R2;
  13138. SHL.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  13139. OR.U R11, R1, R0;
  13140. SHR.U R1, vertex.attrib[2], {8, 0, 0, 0}.x;
  13141. SHL.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  13142. SHR.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  13143. AND.U R1, R1, {65280, 0, 0, 0}.x;
  13144. OR.U R1, R2, R1;
  13145. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  13146. OR.U R1, R1, R2;
  13147. SHL.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  13148. OR.U R14, R1, R0;
  13149. SHR.U R1.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13150. SHL.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  13151. SHR.U R2.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13152. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13153. OR.U R1.xyz, R2, R1;
  13154. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13155. OR.U R1.xyz, R1, R2;
  13156. SHL.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  13157. OR.U R19.xyz, R1, R0;
  13158. SEQ.U R0.x, R24, {1, 0, 0, 0};
  13159. MOV.U R0.y, R19.x;
  13160. SEQ.U R24.y, -R0.x, {1, 0, 0, 0}.x;
  13161. MOV.F R0.w, R0.y;
  13162. SHR.U R1.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  13163. MOV.U.CC RC.x, -R24.y;
  13164. SHL.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  13165. SHR.U R2.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  13166. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13167. OR.U R1.xyz, R2, R1;
  13168. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13169. OR.U R1.xyz, R1, R2;
  13170. SHL.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  13171. OR.U R20.xyz, R1, R0;
  13172. ADD.F32 R0.x, -R0.w, {1, 0, 0, 0};
  13173. MOV.U R0.y, R19;
  13174. MOV.F R0.w, R0.y;
  13175. ADD.F32 R0.w, -R0, {1, 0, 0, 0}.x;
  13176. MOV.S R19.w, R0.x;
  13177. SHR.U R1.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13178. SHL.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  13179. SHR.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13180. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13181. OR.U R1.xyz, R2, R1;
  13182. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13183. OR.U R1.xyz, R1, R2;
  13184. SHL.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  13185. OR.U R13.xyz, R1, R0;
  13186. SHR.U R1.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13187. SHL.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  13188. SHR.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13189. AND.U R1.xyz, R1, {65280, 0, 0, 0}.x;
  13190. OR.U R1.xyz, R2, R1;
  13191. AND.U R2.xyz, R0, {16711680, 0, 0, 0}.x;
  13192. OR.U R1.xyz, R1, R2;
  13193. SHL.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  13194. OR.U R15.xyz, R1, R0;
  13195. MOV.S R28.y, R0.w;
  13196. MOV.S R10, {0, 0, 0, 0}.x;
  13197. MOV.S R12, {0, 0, 0, 0}.x;
  13198. MOV.S R8, {0, 0, 0, 0}.x;
  13199. MOV.S R1, {0, 0, 0, 0}.x;
  13200. MOV.S R0, {0, 0, 0, 0}.x;
  13201. MOV.S R2, {0, 0, 0, 0}.x;
  13202. MOV.S R7, {0, 0, 0, 0}.x;
  13203. MOV.S R23.xyz, {0, 0, 0, 0}.x;
  13204. MOV.S R22.xyz, {0, 0, 0, 0}.x;
  13205. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  13206. MOV.S R17.yzw, {0, 0, 0, 0};
  13207. MOV.S R17.x, vertex.id;
  13208. MOV.S R20.w, R20;
  13209. MOV.S R15.w, R15;
  13210. IF NE.x;
  13211. MOV.F R0.z, c[1].y;
  13212. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  13213. MOV.S R21.w, R15;
  13214. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  13215. MOV.S R18.xyz, {0, 0, 0, 0}.x;
  13216. MOV.S R0.z, R0;
  13217. ENDIF;
  13218. SEQ.U R24.x, R24, {0, 0, 0, 0};
  13219. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  13220. SEQ.U R24.x, -R24, {1, 0, 0, 0};
  13221. MOV.U.CC RC.x, -R24;
  13222. IF NE.x;
  13223. MOV.S R21.w, {0, 0, 0, 0}.x;
  13224. ENDIF;
  13225. SEQ.S R24.x, R21.w, {0, 0, 0, 0};
  13226. SEQ.U R24.z, -R24.x, {1, 0, 0, 0}.x;
  13227. SEQ.U R24.y, -R24.z, {1, 0, 0, 0}.x;
  13228. MOV.U.CC RC.x, -R24.y;
  13229. MOV.U R24.x, -R24;
  13230. MOV.U R24.w, -R24.z;
  13231. IF NE.x;
  13232. MOV.F R17.x, R16.w;
  13233. TRUNC.S R17.x, R17;
  13234. I2F.S R24.z, R17.x;
  13235. MOV.F R17.x, R13.w;
  13236. SGE.F32 R17.x, R17, R24.z;
  13237. TRUNC.U R24.y, R17.x;
  13238. SEQ.U R17.x, R24.w, {1, 0, 0, 0};
  13239. SEQ.U R24.y, R24, {1, 0, 0, 0}.x;
  13240. AND.U R28.x, -R24.y, -R17;
  13241. MOV.S R17.x, R24.z;
  13242. ELSE;
  13243. MOV.U R28.x, {0, 0, 0, 0};
  13244. ENDIF;
  13245. SEQ.U R24.y, R28.x, {1, 0, 0, 0}.x;
  13246. MOV.U.CC RC.x, -R24.y;
  13247. IF NE.x;
  13248. MOV.F R0.x, c[1].y;
  13249. MUL.F32 R0.z, R0.x, {5, 0, 0, 0}.x;
  13250. MOV.S R17.w, R15;
  13251. MOV.S R0.xy, {0, 0, 0, 0};
  13252. MOV.S R0.z, R0;
  13253. MOV.S R18.x, {0, 0, 0, 0};
  13254. ENDIF;
  13255. SEQ.U R24.y, R24.x, {1, 0, 0, 0}.x;
  13256. SEQ.U R24.x, -R24.y, {1, 0, 0, 0};
  13257. MOV.U.CC RC.x, -R24;
  13258. MOV.U R24.w, -R24.y;
  13259. IF NE.x;
  13260. SEQ.S R24.y, R17.w, {0, 0, 0, 0}.x;
  13261. SEQ.U R24.x, R24.w, {1, 0, 0, 0};
  13262. SEQ.U R24.y, -R24, {1, 0, 0, 0}.x;
  13263. AND.U R28.x, -R24.y, -R24;
  13264. ELSE;
  13265. MOV.U R28.x, {0, 0, 0, 0};
  13266. ENDIF;
  13267. SEQ.U R24.x, R28, {1, 0, 0, 0};
  13268. MOV.U.CC RC.x, -R24;
  13269. IF NE.x;
  13270. MOV.F R4.x, R9;
  13271. MAX.F R4.x, R4, {0, 0, 0, 0};
  13272. MOV.S R19.z, R4.x;
  13273. MOV.F R4.x, c[4];
  13274. SGT.F32 R4.x, R4, {0, 0, 0, 0};
  13275. TRUNC.U.CC HC.x, R4;
  13276. MOV.F R4.y, c[3].z;
  13277. MOV.F R4.z, R13.w;
  13278. ADD.F32 R4.y, R4.z, R4;
  13279. MOV.S R25.w, R4.y;
  13280. AND.S R24.y, c[2].x, {4, 0, 0, 0}.x;
  13281. AND.S R24.x, c[2], {2, 0, 0, 0};
  13282. AND.S R29.z, c[2].x, {1, 0, 0, 0}.x;
  13283. IF NE.x;
  13284. MOV.F R10.y, {1, 0, 0, 0}.x;
  13285. ELSE;
  13286. MOV.F R10.y, {0, 0, 0, 0}.x;
  13287. ENDIF;
  13288. MOV.F R4.y, R9.x;
  13289. MOV.F R4.z, c[5].y;
  13290. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  13291. MUL.F32 R10.x, R4.y, R4.z;
  13292. TRUNC.U R4.y, R4.x;
  13293. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13294. MOV.F R4.z, R10.y;
  13295. TRUNC.U R4.x, R4;
  13296. AND.U.CC HC.x, R4.y, R4;
  13297. MOV.S R30.x, R4.z;
  13298. IF NE.x;
  13299. ELSE;
  13300. MOV.F R10.x, {0, 0, 0, 0};
  13301. ENDIF;
  13302. MOV.F R4.x, c[4];
  13303. SLT.F32 R4.x, R4, {0, 0, 0, 0};
  13304. TRUNC.U.CC HC.x, R4;
  13305. MOV.F R4.y, {1, 0, 0, 0}.x;
  13306. MOV.F R4.y(EQ.x), {0, 0, 0, 0}.x;
  13307. MOV.F R4.x, R30;
  13308. ADD.F32 R4.x, R4, -R4.y;
  13309. I2F.S R4.y, R29.z;
  13310. MOV.S R17.y, R4.x;
  13311. MOV.F R4.x, R19.z;
  13312. MIN.F R4.z, R4.x, {0, 0, 0, 0}.x;
  13313. MOV.F R4.x, R13;
  13314. ADD.F32 R4.x, R4, R4.z;
  13315. MOV.S R13.x, R4;
  13316. SGT.F32 R4.x, R4.y, {0, 0, 0, 0};
  13317. TRUNC.U.CC HC.x, R4;
  13318. MOV.S R28.z, R4.y;
  13319. MOV.S R27.y, R10.x;
  13320. IF NE.x;
  13321. MOV.F R10.y, {1, 0, 0, 0}.x;
  13322. ELSE;
  13323. MOV.F R10.y, {0, 0, 0, 0}.x;
  13324. ENDIF;
  13325. I2F.S R4.z, R24.x;
  13326. SLT.F32 R4.x, R4.z, {0, 0, 0, 0};
  13327. TRUNC.U.CC HC.x, R4;
  13328. MOV.F R10.x, {1, 0, 0, 0};
  13329. MOV.F R4.x, R28.z;
  13330. MOV.F R10.x(EQ), {0, 0, 0, 0};
  13331. SLT.F32 R4.x, R4, {0, 0, 0, 0};
  13332. TRUNC.U.CC HC.x, R4;
  13333. MOV.F R4.y, {1, 0, 0, 0}.x;
  13334. MOV.F R4.y(EQ.x), {0, 0, 0, 0}.x;
  13335. MOV.F R4.x, R10;
  13336. ADD.F32 R4.y, R10, -R4;
  13337. MOV.S R30.x, R4;
  13338. MOV.F R4.x, R17.y;
  13339. MOV.S R30.z, R4.y;
  13340. ADD.F32 R4.y, -R4.x, {1, 0, 0, 0}.x;
  13341. SGT.F32 R4.x, R4.z, {0, 0, 0, 0};
  13342. TRUNC.U.CC HC.x, R4;
  13343. MOV.S R26.y, R4;
  13344. IF NE.x;
  13345. MOV.F R10.x, {1, 0, 0, 0};
  13346. ELSE;
  13347. MOV.F R10.x, {0, 0, 0, 0};
  13348. ENDIF;
  13349. I2F.S R4.y, R24;
  13350. SLT.F32 R4.x, R4.y, {0, 0, 0, 0};
  13351. MOV.F R4.z, {1, 0, 0, 0}.x;
  13352. TRUNC.U.CC HC.x, R4;
  13353. MOV.F R4.z(EQ.x), {0, 0, 0, 0}.x;
  13354. MOV.F R4.x, R4.z;
  13355. MOV.S R29.x, R4;
  13356. MOV.F R4.z, R10.x;
  13357. SGT.F32 R4.x, R4.y, {0, 0, 0, 0};
  13358. TRUNC.U.CC HC.x, R4;
  13359. MOV.S R30.w, R4.z;
  13360. IF NE.x;
  13361. MOV.F R10.x, {1, 0, 0, 0};
  13362. ELSE;
  13363. MOV.F R10.x, {0, 0, 0, 0};
  13364. ENDIF;
  13365. MOV.F R4.z, R29.x;
  13366. ADD.F32 R4.z, R10.x, -R4;
  13367. TRUNC.S R4.z, R4;
  13368. MOV.F R4.y, R30.w;
  13369. MOV.F R4.x, R30;
  13370. ADD.F32 R4.x, R4.y, -R4;
  13371. TRUNC.S R4.y, R4.x;
  13372. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  13373. MAX.S R4.x, R4.y, R4;
  13374. I2F.S R4.x, R4;
  13375. MOV.S R21.y, R4.x;
  13376. MOV.F R4.x, R30.z;
  13377. TRUNC.S R4.y, R4.x;
  13378. ADD.S R4.x, -R4.y, {0, 0, 0, 0};
  13379. MAX.S R4.x, R4.y, R4;
  13380. ADD.S R4.y, -R4.z, {0, 0, 0, 0}.x;
  13381. MAX.S R4.y, R4.z, R4;
  13382. I2F.S R4.x, R4;
  13383. MOV.S R25.x, R4;
  13384. I2F.S R4.x, R4.y;
  13385. MOV.F R4.z, R25.w;
  13386. MOV.F R4.y, c[8].z;
  13387. DIV.F32 R4.y, R4.z, R4.y;
  13388. MOV.S R30.y, R4;
  13389. MOV.F R4.y, R9.x;
  13390. MOV.F R4.z, c[3].x;
  13391. MOV.S R27.z, R4.x;
  13392. SNE.F32 R4.x, R4.y, {0, 0, 0, 0};
  13393. MUL.F32 R10.z, R4.y, R4;
  13394. TRUNC.U R4.y, R4.x;
  13395. MOV.F R4.x, c[7].z;
  13396. MOV.F R10.x, c[6].z;
  13397. ADD.F32 R10.y, -R10.x, R4.x;
  13398. MOV.F R10.x, c[6];
  13399. MOV.F R4.x, c[7];
  13400. ADD.F32 R4.x, -R10, R4;
  13401. MOV.S R24.w, R4.x;
  13402. MOV.F R4.x, c[7].y;
  13403. MOV.F R10.x, c[6].y;
  13404. MOV.S R24.z, R10.y;
  13405. ADD.F32 R10.y, -R10.x, R4.x;
  13406. MOV.F R10.x, c[6].w;
  13407. MOV.F R4.x, c[7].w;
  13408. ADD.F32 R4.x, -R10, R4;
  13409. MOV.S R25.y, R4.x;
  13410. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13411. MOV.F R10.x, c[4];
  13412. RCP.F32 R4.z, R10.x;
  13413. TRUNC.U R4.x, R4;
  13414. AND.U.CC HC.x, R4.y, R4;
  13415. MOV.S R24.y, R10;
  13416. MOV.S R28.z, R4;
  13417. IF NE.x;
  13418. MOV.F R10.x, R10.z;
  13419. ELSE;
  13420. MOV.F R10.x, {0, 0, 0, 0};
  13421. ENDIF;
  13422. MOV.F R4.y, R13.w;
  13423. MOV.F R4.x, R28.z;
  13424. MUL.F32 R4.x, R4.y, R4;
  13425. MOV.F R4.z, R27.y;
  13426. MOV.S R4.x, R4;
  13427. ADD.F32 R4.x, R4.z, R4;
  13428. FRC.F R4.x, R4;
  13429. MOV.F R4.z, R30.y;
  13430. ADD.F32 R4.z, R10.x, R4;
  13431. MOV.S R29.y, R4.x;
  13432. MOV.F R4.x, R17;
  13433. DIV.F32 R4.x, R4.y, R4.x;
  13434. MAD.F32 R4.y, R4.z, {1, 0.5, 0, 0}.x, {1, 0.5, 0, 0};
  13435. MOV.S R10.z, R4.x;
  13436. MOV.F R4.x, R25.y;
  13437. RCP.F32 R4.x, R4.x;
  13438. FRC.F R4.z, R4;
  13439. MOV.S R30.y, R4;
  13440. ADD.F32 R4.y, R4.z, {-0.5, 0, 0, 0}.x;
  13441. MOV.S R29.x, R4.y;
  13442. MOV.S R27.w, R4.x;
  13443. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13444. MOV.F R4.y, c[8].x;
  13445. MUL.F32 R4.z, R4, -R4.y;
  13446. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13447. TRUNC.U R4.x, R4;
  13448. TRUNC.U R4.y, R4;
  13449. AND.U.CC HC.x, R4.y, R4;
  13450. MOV.S R10.xyw, {0, 0, 0, 0}.x;
  13451. IF NE.x;
  13452. MOV.F R12.y, R4.z;
  13453. ELSE;
  13454. MOV.F R12.y, {0, 0, 0, 0}.x;
  13455. ENDIF;
  13456. MOV.F R4.z, R26.y;
  13457. MOV.F R4.x, R10.z;
  13458. MUL.F32 R12.x, R4, R4.z;
  13459. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13460. TRUNC.U R4.y, R4.x;
  13461. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13462. ADD.F32 R4.z, R12.y, {1, 0, 0, 0}.x;
  13463. TRUNC.U R4.x, R4;
  13464. AND.U.CC HC.x, R4.y, R4;
  13465. MOV.S R30.z, R4;
  13466. IF NE.x;
  13467. ELSE;
  13468. MOV.F R12.x, {0, 0, 0, 0};
  13469. ENDIF;
  13470. MOV.F R4.x, R29.y;
  13471. MOV.F R4.y, R17;
  13472. MUL.F32 R4.z, R4.y, R4.x;
  13473. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13474. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13475. TRUNC.U R4.y, R4;
  13476. TRUNC.U R4.x, R4;
  13477. AND.U.CC HC.x, R4.y, R4;
  13478. MOV.S R25.w, R12.x;
  13479. IF NE.x;
  13480. MOV.F R15.w, R4.z;
  13481. ELSE;
  13482. MOV.F R15.w, {0, 0, 0, 0}.x;
  13483. ENDIF;
  13484. MOV.F R4.x, R29;
  13485. SLT.F32 R4.x, R4, {0, 0, 0, 0};
  13486. MOV.S R4.z, {0, 0, 0, 0}.x;
  13487. TRUNC.U.CC HC.x, R4;
  13488. MOV.F R4.y, {1, 0, 0, 0}.x;
  13489. MOV.S R4.z(EQ.x), R4.y;
  13490. MOV.F R4.y, R4.z;
  13491. SNE.F32 R4.x, -R4.y, {-1, 0, 0, 0};
  13492. ADD.F32 R4.z, -R4.y, {1, 0, 0, 0}.x;
  13493. MOV.F R4.y, c[8].x;
  13494. MUL.F32 R12.w, -R4.y, R4.z;
  13495. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13496. MOV.F R12.z, R27.w;
  13497. MOV.F R4.z, R24.y;
  13498. MUL.F32 R12.y, R4.z, R12.z;
  13499. MOV.F R4.z, R25.w;
  13500. MOV.F R12.x, R24.z;
  13501. MUL.F32 R12.x, R12, R12.z;
  13502. MOV.S R25.w, R12.y;
  13503. ADD.F32 R4.z, R4, R15.w;
  13504. MOV.F R12.y, R24.w;
  13505. MOV.S R24.y, R12.x;
  13506. MUL.F32 R12.x, R12.y, R12.z;
  13507. MOV.F R12.y, R30.z;
  13508. MOV.S R24.x, R12;
  13509. MAX.F R12.x, R12.y, -R12.y;
  13510. TRUNC.U R4.x, R4;
  13511. TRUNC.U R4.y, R4;
  13512. AND.U.CC HC.x, R4.y, R4;
  13513. MOV.F R12.y, R30;
  13514. MOV.S R25.z, R12.x;
  13515. FRC.F R12.x, R12.y;
  13516. MAD.F32 R12.x, R12, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  13517. MOV.S R29.x, R12;
  13518. MOV.S R21.z, R4;
  13519. IF NE.x;
  13520. MOV.F R12.z, R12.w;
  13521. ELSE;
  13522. MOV.F R12.z, {0, 0, 0, 0}.x;
  13523. ENDIF;
  13524. MOV.F R4.z, R25.w;
  13525. MOV.F R4.y, R21.z;
  13526. MOV.F R4.x, c[6].w;
  13527. ADD.F32 R4.x, R4.y, -R4;
  13528. MOV.S R12.x, R4;
  13529. MOV.S R4.x, R12;
  13530. MUL.F32 R12.y, R4.x, R4.z;
  13531. MOV.F R4.y, R29.x;
  13532. MUL.F32 R4.y, R4, {0.159154937, 0, 0, 0}.x;
  13533. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13534. MOV.S R30.w, R4.y;
  13535. TRUNC.U R4.y, R4.x;
  13536. SNE.F32 R4.x, R4.z, {0, 0, 0, 0};
  13537. ADD.F32 R4.z, R12, {1, 0, 0, 0}.x;
  13538. TRUNC.U R4.x, R4;
  13539. AND.U.CC HC.x, R4.y, R4;
  13540. MOV.S R26.y, R12.x;
  13541. MOV.S R30.x, R4.z;
  13542. IF NE.x;
  13543. MOV.F R12.x, R12.y;
  13544. ELSE;
  13545. MOV.F R12.x, {0, 0, 0, 0};
  13546. ENDIF;
  13547. MOV.F R4.x, R24.y;
  13548. MOV.F R4.y, R26;
  13549. MUL.F32 R4.z, R4.y, R4.x;
  13550. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13551. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13552. TRUNC.U R4.y, R4;
  13553. TRUNC.U R4.x, R4;
  13554. AND.U.CC HC.x, R4.y, R4;
  13555. MOV.S R29.x, R12;
  13556. IF NE.x;
  13557. MOV.F R12.y, R4.z;
  13558. ELSE;
  13559. MOV.F R12.y, {0, 0, 0, 0}.x;
  13560. ENDIF;
  13561. MOV.F R4.z, R30.x;
  13562. MAX.F R4.z, R4, -R4;
  13563. MOV.F R4.x, R24;
  13564. MOV.F R4.y, R26;
  13565. MUL.F32 R12.x, R4.y, R4;
  13566. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13567. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13568. TRUNC.U R4.y, R4;
  13569. TRUNC.U R4.x, R4;
  13570. AND.U.CC HC.x, R4.y, R4;
  13571. MOV.S R24.z, R4;
  13572. MOV.S R29.y, R12;
  13573. IF NE.x;
  13574. MOV.F R12.y, R12.x;
  13575. ELSE;
  13576. MOV.F R12.y, {0, 0, 0, 0}.x;
  13577. ENDIF;
  13578. MOV.F R4.x, R30.w;
  13579. MUL.F32 R4.x, R4, {6.28318548, 0, 0, 0};
  13580. COS.F32 R4.x, R4.x;
  13581. ADD.F32 R4.x, R4, {1, 0, 0, 0};
  13582. MOV.S R4.x, R4;
  13583. MOV.S R4.z, R4.x;
  13584. MOV.F R4.y, c[6].z;
  13585. MOV.F R4.x, R29.y;
  13586. ADD.F32 R4.x, R4.y, R4;
  13587. MOV.F R4.y, R4.z;
  13588. MUL.F32 R4.z, R4.y, {0.5, 0, 0, 0}.x;
  13589. MOV.S R22.z, R4.x;
  13590. MOV.F R4.y, c[6];
  13591. MOV.F R4.x, R29;
  13592. ADD.F32 R4.x, R4.y, R4;
  13593. MOV.S R4.y, R4.z;
  13594. MOV.S R21.w, R4.x;
  13595. MOV.S R4.x, R4.y;
  13596. MOV.F R4.y, c[8].x;
  13597. MUL.F32 R12.x, -R4.y, R4;
  13598. MOV.F R4.z, c[6].x;
  13599. SNE.F32 R4.x, R4, {0, 0, 0, 0};
  13600. ADD.F32 R4.z, R4, R12.y;
  13601. SNE.F32 R4.y, -R4, {0, 0, 0, 0}.x;
  13602. TRUNC.U R4.x, R4;
  13603. TRUNC.U R4.y, R4;
  13604. AND.U.CC HC.x, R4.y, R4;
  13605. MOV.S R23.x, R4.z;
  13606. MOV.S R22.xy, {0, 0, 0, 0}.x;
  13607. IF NE.x;
  13608. MOV.F R17.x, R12;
  13609. ELSE;
  13610. MOV.F R17.x, {0, 0, 0, 0};
  13611. ENDIF;
  13612. MOV.F R4.x, {1, 0, 0, 0};
  13613. MOV.S R12.y, R4.x;
  13614. MOV.F R15.w, R21.z;
  13615. MOV.F R4.z, c[7].w;
  13616. SLT.F32 R4.y, R15.w, R4.z;
  13617. TRUNC.U.CC HC.x, R4.y;
  13618. MOV.F R4.y, R26;
  13619. MOV.S R4.x, {0, 0, 0, 0};
  13620. MOV.S R12.z, {0, 0, 0, 0}.x;
  13621. MOV.F R17.z, R24;
  13622. MOV.S R4.x(EQ), R12.y;
  13623. SLT.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13624. TRUNC.U.CC HC.x, R4.y;
  13625. MOV.S R12.z(EQ.x), R12.y;
  13626. MOV.F R4.y, c[9].w;
  13627. SLT.F32 R12.x, R15.w, R4.y;
  13628. TRUNC.U.CC HC.x, R12;
  13629. MOV.S R21.x, {0, 0, 0, 0};
  13630. MOV.S R21.x(EQ), R12.y;
  13631. MOV.S R23.y, R12.z;
  13632. MOV.F R12.y, R21;
  13633. MOV.F R12.z, R27;
  13634. MOV.F R17.y, R25.z;
  13635. MOV.F R12.w, {-0, 0, 0, 0}.x;
  13636. MOV.F R17.w, {0, 0, 0, 0}.x;
  13637. ADD.F32 R17.x, R17, {1, 0, 0, 0};
  13638. MOV.F R12.x, R25;
  13639. DP4.F32 R12.x, R12, R17;
  13640. ADD.F32 R12.w, R15, -R4.z;
  13641. ADD.F32 R12.y, R15.w, -R4;
  13642. MOV.S R12.z, R12.x;
  13643. ADD.F32 R12.x, -R4.z, R4.y;
  13644. MOV.S R12.x, R12;
  13645. MOV.F R23.z, R12.x;
  13646. MOV.F R17.x, c[9].z;
  13647. MOV.F R12.x, c[7].z;
  13648. ADD.F32 R12.x, R17, -R12;
  13649. DIV.F32 R19.z, R12.x, R23.z;
  13650. SNE.F32 R12.x, R15.w, R4.z;
  13651. MUL.F32 R4.z, R12.w, R19;
  13652. TRUNC.U R15.w, R12.x;
  13653. MOV.F R17.y, c[9].x;
  13654. MOV.F R17.z, c[7].x;
  13655. ADD.F32 R17.z, R17.y, -R17;
  13656. DIV.F32 R17.w, R17.z, R23.z;
  13657. MOV.F R24.x, c[9].y;
  13658. MOV.F R17.z, c[7].y;
  13659. ADD.F32 R17.z, R24.x, -R17;
  13660. MOV.S R30.w, R17;
  13661. DIV.F32 R17.w, R17.z, R23.z;
  13662. SNE.F32 R17.z, R19, {0, 0, 0, 0}.x;
  13663. MOV.S R30.x, R17.w;
  13664. MOV.F R17.w, c[10].z;
  13665. ADD.F32 R17.x, -R17, R17.w;
  13666. TRUNC.U R17.z, R17;
  13667. MOV.F R19.z, c[10].y;
  13668. ADD.F32 R19.z, -R24.x, R19;
  13669. MOV.S R24.y, R17.x;
  13670. MOV.F R17.w, c[10].x;
  13671. MOV.F R17.x, c[10].w;
  13672. ADD.F32 R17.y, -R17, R17.w;
  13673. ADD.F32 R4.y, -R4, R17.x;
  13674. AND.U.CC HC.x, R15.w, R17.z;
  13675. MOV.S R26.z, R12.w;
  13676. MOV.S R21.y, R12;
  13677. MOV.S R12.xyw, {0, 0, 0, 0}.x;
  13678. MOV.S R26.y, R19.z;
  13679. MOV.S R24.z, R17.y;
  13680. MOV.S R28.z, R4.y;
  13681. IF NE.x;
  13682. MOV.F R17.x, R4.z;
  13683. ELSE;
  13684. MOV.F R17.x, {0, 0, 0, 0};
  13685. ENDIF;
  13686. MOV.F R4.y, R30.w;
  13687. MOV.F R4.z, R26;
  13688. MUL.F32 R15.w, R4.z, R4.y;
  13689. SNE.F32 R4.z, R4, {0, 0, 0, 0}.x;
  13690. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13691. TRUNC.U R4.z, R4;
  13692. TRUNC.U R4.y, R4;
  13693. AND.U.CC HC.x, R4.z, R4.y;
  13694. MOV.S R29.x, R17;
  13695. IF NE.x;
  13696. MOV.F R17.z, R15.w;
  13697. ELSE;
  13698. MOV.F R17.z, {0, 0, 0, 0}.x;
  13699. ENDIF;
  13700. MOV.F R4.y, R30.x;
  13701. MOV.F R15.w, R26.z;
  13702. MUL.F32 R17.y, R15.w, R4;
  13703. SNE.F32 R15.w, R15, {0, 0, 0, 0}.x;
  13704. SNE.F32 R4.y, R4, {0, 0, 0, 0}.x;
  13705. MOV.F R4.z, c[10].w;
  13706. MOV.F R17.x, R21.z;
  13707. ADD.F32 R4.z, R17.x, -R4;
  13708. TRUNC.U R15.w, R15;
  13709. TRUNC.U R4.y, R4;
  13710. AND.U.CC HC.x, R15.w, R4.y;
  13711. MOV.S R4.z, R4;
  13712. MOV.S R29.y, R17.z;
  13713. IF NE.x;
  13714. MOV.F R4.y, R17;
  13715. ELSE;
  13716. MOV.F R4.y, {0, 0, 0, 0}.x;
  13717. ENDIF;
  13718. MOV.F R24.x, R28.z;
  13719. MOV.F R15.w, R26.y;
  13720. DIV.F32 R17.z, R15.w, R24.x;
  13721. MOV.F R17.x, R24.z;
  13722. DIV.F32 R17.w, R17.x, R24.x;
  13723. MOV.F R17.x, R21.y;
  13724. MUL.F32 R17.y, R17.x, R17.z;
  13725. MOV.S R30.x, R17.w;
  13726. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  13727. MOV.F R15.w, R29.y;
  13728. MOV.F R17.w, c[7].x;
  13729. ADD.F32 R19.z, R17.w, R15.w;
  13730. MOV.F R17.w, c[7].z;
  13731. MOV.F R15.w, R29.x;
  13732. ADD.F32 R15.w, R17, R15;
  13733. MOV.F R17.w, R24.y;
  13734. MOV.S R23.z, R19;
  13735. DIV.F32 R19.z, R17.w, R24.x;
  13736. SNE.F32 R17.w, R17.x, {0, 0, 0, 0}.x;
  13737. MOV.S R17.x, R19.z;
  13738. MOV.F R19.z, c[7].y;
  13739. ADD.F32 R4.y, R19.z, R4;
  13740. TRUNC.U R17.w, R17;
  13741. TRUNC.U R17.z, R17;
  13742. AND.U.CC HC.x, R17.w, R17.z;
  13743. MOV.S R15.w, R15;
  13744. MOV.S R4.y, R4;
  13745. IF NE.x;
  13746. MOV.F R24.x, R17.y;
  13747. ELSE;
  13748. MOV.F R24.x, {0, 0, 0, 0};
  13749. ENDIF;
  13750. MOV.F R17.y, R30.x;
  13751. MOV.F R17.z, R21.y;
  13752. MUL.F32 R19.z, R17, R17.y;
  13753. SNE.F32 R17.z, R17, {0, 0, 0, 0}.x;
  13754. SNE.F32 R17.y, R17, {0, 0, 0, 0}.x;
  13755. TRUNC.U R17.w, R17.z;
  13756. TRUNC.U R17.z, R17.y;
  13757. AND.U.CC HC.x, R17.w, R17.z;
  13758. MOV.S R17.y, R24.x;
  13759. IF NE.x;
  13760. MOV.F R24.x, R19.z;
  13761. ELSE;
  13762. MOV.F R24.x, {0, 0, 0, 0};
  13763. ENDIF;
  13764. MOV.F R17.z, c[11].x;
  13765. MOV.F R17.w, c[10].x;
  13766. ADD.F32 R19.z, -R17.w, R17;
  13767. MOV.F R17.w, c[10].y;
  13768. MOV.F R17.z, c[11].y;
  13769. ADD.F32 R17.z, -R17.w, R17;
  13770. MOV.S R17.w, R19.z;
  13771. MOV.S R19.z, R17;
  13772. MOV.S R17.z, R24.x;
  13773. ENDIF;
  13774. SEQ.U R24.x, R28, {1, 0, 0, 0};
  13775. MOV.U.CC RC.x, -R24;
  13776. IF NE.x;
  13777. MOV.F R16.w, R4.z;
  13778. SLT.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13779. TRUNC.U.CC HC.x, R16.w;
  13780. MOV.F R16.w, R17.x;
  13781. MOV.F R17.x, R21.y;
  13782. MUL.F32 R24.z, R17.x, R16.w;
  13783. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13784. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  13785. MOV.S R24.x, {0, 0, 0, 0};
  13786. MOV.F R22.x, {1, 0, 0, 0};
  13787. MOV.S R24.x(EQ), R22;
  13788. MOV.F R21.y, R17.z;
  13789. MOV.F R22.x, c[9];
  13790. MOV.S R24.y, R24.x;
  13791. ADD.F32 R24.x, R22, R21.y;
  13792. MOV.F R21.y, R17;
  13793. MOV.F R22.x, c[9].y;
  13794. ADD.F32 R21.y, R22.x, R21;
  13795. TRUNC.U R16.w, R16;
  13796. TRUNC.U R17.x, R17;
  13797. AND.U.CC HC.x, R17, R16.w;
  13798. MOV.S R25.x, R24;
  13799. MOV.S R26.z, R21.y;
  13800. IF NE.x;
  13801. MOV.F R22.x, R24.z;
  13802. ELSE;
  13803. MOV.F R22.x, {0, 0, 0, 0};
  13804. ENDIF;
  13805. MOV.F R17.x, R21.z;
  13806. MOV.F R16.w, c[11];
  13807. SLT.F32 R16.w, R17.x, R16;
  13808. MOV.F R24.x, R24.y;
  13809. MOV.F R21.z, R21.x;
  13810. ADD.F32 R21.z, -R21, {1, 0, 0, 0}.x;
  13811. ADD.F32 R24.x, -R24, {1, 0, 0, 0};
  13812. MOV.S R25.z, R21;
  13813. MOV.F R21.z, R4.x;
  13814. ADD.F32 R21.z, -R21, {1, 0, 0, 0}.x;
  13815. MOV.S R21.y, {0, 0, 0, 0}.x;
  13816. TRUNC.U.CC HC.x, R16.w;
  13817. MOV.F R17.x, {1, 0, 0, 0};
  13818. MOV.S R21.y(EQ.x), R17.x;
  13819. MOV.F R16.w, R21.y;
  13820. SNE.F32 R17.x, R16.w, {0, 0, 0, 0};
  13821. MOV.S R25.w, R21.y;
  13822. MOV.F R21.y, c[11].z;
  13823. MUL.F32 R16.w, R21.y, R16;
  13824. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  13825. MOV.S R22.x, R22;
  13826. MOV.S R27.y, R21.z;
  13827. MOV.F R21.z, R22.x;
  13828. MOV.F R22.x, c[9].z;
  13829. ADD.F32 R21.z, R22.x, R21;
  13830. TRUNC.U R17.x, R17;
  13831. TRUNC.U R21.y, R21;
  13832. AND.U.CC HC.x, R21.y, R17;
  13833. MOV.S R30.x, R24;
  13834. MOV.S R25.y, R21.z;
  13835. IF NE.x;
  13836. ELSE;
  13837. MOV.F R16.w, {0, 0, 0, 0}.x;
  13838. ENDIF;
  13839. MOV.F R21.y, R30.x;
  13840. MUL.F32 R17.x, R21, R21.y;
  13841. MOV.F R21.z, R25.w;
  13842. ADD.F32 R21.z, -R21, {1, 0, 0, 0}.x;
  13843. MOV.S R29.z, R21;
  13844. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  13845. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  13846. MOV.F R21.z, c[11];
  13847. MOV.F R22.x, c[10].z;
  13848. ADD.F32 R24.x, -R22, R21.z;
  13849. MOV.F R22.x, c[10].w;
  13850. MOV.F R21.z, c[11].w;
  13851. ADD.F32 R21.z, -R22.x, R21;
  13852. TRUNC.U R21.x, R21;
  13853. TRUNC.U R21.y, R21;
  13854. AND.U.CC HC.x, R21, R21.y;
  13855. MOV.S R26.y, R24.x;
  13856. MOV.S R29.w, R21.z;
  13857. MOV.S R22.x, R16.w;
  13858. IF NE.x;
  13859. MOV.F R21.z, R17.x;
  13860. ELSE;
  13861. MOV.F R21.z, {0, 0, 0, 0}.x;
  13862. ENDIF;
  13863. MOV.F R16.w, R29.z;
  13864. MOV.F R17.x, R24.y;
  13865. MUL.F32 R21.x, R17, R16.w;
  13866. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  13867. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13868. TRUNC.U R17.x, R17;
  13869. TRUNC.U R16.w, R16;
  13870. AND.U.CC HC.x, R17, R16.w;
  13871. MOV.S R21.y, R25.x;
  13872. MOV.S R24.z, R21;
  13873. IF NE.x;
  13874. MOV.F R24.x, R21;
  13875. ELSE;
  13876. MOV.F R24.x, {0, 0, 0, 0};
  13877. ENDIF;
  13878. MOV.F R17.x, R25.w;
  13879. MOV.F R21.x, c[11];
  13880. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  13881. MUL.F32 R21.z, R21.x, R17.x;
  13882. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  13883. TRUNC.U R16.w, R16;
  13884. TRUNC.U R17.x, R17;
  13885. AND.U.CC HC.x, R17, R16.w;
  13886. MOV.S R25.x, R24;
  13887. IF NE.x;
  13888. MOV.F R24.x, R21.z;
  13889. ELSE;
  13890. MOV.F R24.x, {0, 0, 0, 0};
  13891. ENDIF;
  13892. MOV.F R17.x, R25.w;
  13893. MOV.F R21.x, c[11].y;
  13894. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  13895. MUL.F32 R21.z, R21.x, R17.x;
  13896. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  13897. TRUNC.U R16.w, R16;
  13898. TRUNC.U R17.x, R17;
  13899. AND.U.CC HC.x, R17, R16.w;
  13900. MOV.S R24.y, R24.x;
  13901. IF NE.x;
  13902. ELSE;
  13903. MOV.F R21.z, {0, 0, 0, 0}.x;
  13904. ENDIF;
  13905. MOV.F R17.x, R24.z;
  13906. MOV.F R21.x, R21.y;
  13907. SNE.F32 R16.w, R17.x, {0, 0, 0, 0}.x;
  13908. MUL.F32 R21.y, R21.x, R17.x;
  13909. SNE.F32 R17.x, R21, {0, 0, 0, 0};
  13910. TRUNC.U R16.w, R16;
  13911. TRUNC.U R17.x, R17;
  13912. AND.U.CC HC.x, R17, R16.w;
  13913. MOV.S R27.z, R21;
  13914. IF NE.x;
  13915. MOV.F R16.w, R21.y;
  13916. ELSE;
  13917. MOV.F R16.w, {0, 0, 0, 0}.x;
  13918. ENDIF;
  13919. MOV.F R21.z, R29.w;
  13920. RCP.F32 R21.z, R21.z;
  13921. MOV.F R21.x, R24.z;
  13922. MOV.F R21.y, R26.z;
  13923. MUL.F32 R17.x, R21.y, R21;
  13924. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  13925. SNE.F32 R21.x, R21, {0, 0, 0, 0};
  13926. TRUNC.U R21.y, R21;
  13927. TRUNC.U R21.x, R21;
  13928. AND.U.CC HC.x, R21.y, R21;
  13929. MOV.S R28.z, R21;
  13930. MOV.S R24.w, R16;
  13931. IF NE.x;
  13932. MOV.F R16.w, R17.x;
  13933. ELSE;
  13934. MOV.F R16.w, {0, 0, 0, 0}.x;
  13935. ENDIF;
  13936. MOV.F R21.x, R24.z;
  13937. MOV.F R21.y, R25;
  13938. MOV.F R24.x, R28.z;
  13939. MOV.F R21.z, R26.y;
  13940. MUL.F32 R21.z, R21, R24.x;
  13941. MOV.S R29.w, R21.z;
  13942. MOV.F R21.z, R19;
  13943. MUL.F32 R19.z, R24.x, R17.w;
  13944. MUL.F32 R17.w, R24.x, R21.z;
  13945. MOV.S R29.z, R19;
  13946. MOV.S R29.y, R17.w;
  13947. SNE.F32 R17.w, R21.x, {0, 0, 0, 0}.x;
  13948. MUL.F32 R17.x, R21.y, R21;
  13949. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  13950. TRUNC.U R19.z, R19;
  13951. TRUNC.U R17.w, R17;
  13952. AND.U.CC HC.x, R19.z, R17.w;
  13953. MOV.S R21.x, R16.w;
  13954. IF NE.x;
  13955. MOV.F R21.y, R17.x;
  13956. ELSE;
  13957. MOV.F R21.y, {0, 0, 0, 0}.x;
  13958. ENDIF;
  13959. MOV.F R16.w, R29.z;
  13960. MOV.F R17.x, R4.z;
  13961. MUL.F32 R19.z, R17.x, R16.w;
  13962. SNE.F32 R17.x, R17, {0, 0, 0, 0};
  13963. TRUNC.U R17.w, R17.x;
  13964. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13965. TRUNC.U R16.w, R16;
  13966. AND.U.CC HC.x, R17.w, R16.w;
  13967. MOV.S R17.x, R21.y;
  13968. IF NE.x;
  13969. MOV.F R21.y, R19.z;
  13970. ELSE;
  13971. MOV.F R21.y, {0, 0, 0, 0}.x;
  13972. ENDIF;
  13973. MOV.F R16.w, R29;
  13974. MOV.F R17.w, R4.z;
  13975. MUL.F32 R19.z, R17.w, R16.w;
  13976. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  13977. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13978. TRUNC.U R17.w, R17;
  13979. TRUNC.U R16.w, R16;
  13980. AND.U.CC HC.x, R17.w, R16.w;
  13981. MOV.S R30.x, R21.y;
  13982. IF NE.x;
  13983. MOV.F R21.y, R19.z;
  13984. ELSE;
  13985. MOV.F R21.y, {0, 0, 0, 0}.x;
  13986. ENDIF;
  13987. MOV.F R16.w, R29.y;
  13988. MOV.F R17.w, R4.z;
  13989. MUL.F32 R19.z, R17.w, R16.w;
  13990. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  13991. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  13992. TRUNC.U R17.w, R17;
  13993. TRUNC.U R16.w, R16;
  13994. AND.U.CC HC.x, R17.w, R16.w;
  13995. MOV.S R30.y, R21;
  13996. IF NE.x;
  13997. MOV.F R21.y, R19.z;
  13998. ELSE;
  13999. MOV.F R21.y, {0, 0, 0, 0}.x;
  14000. ENDIF;
  14001. MOV.F R16.w, R25.z;
  14002. MOV.F R17.w, R4.x;
  14003. MUL.F32 R19.z, R17.w, R16.w;
  14004. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14005. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14006. TRUNC.U R17.w, R17;
  14007. TRUNC.U R16.w, R16;
  14008. AND.U.CC HC.x, R17.w, R16.w;
  14009. MOV.S R30.z, R21.y;
  14010. IF NE.x;
  14011. MOV.F R21.y, R19.z;
  14012. ELSE;
  14013. MOV.F R21.y, {0, 0, 0, 0}.x;
  14014. ENDIF;
  14015. MOV.F R16.w, R27.y;
  14016. MOV.F R17.w, R23.y;
  14017. MUL.F32 R19.z, R17.w, R16.w;
  14018. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14019. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14020. TRUNC.U R16.w, R16;
  14021. TRUNC.U R17.w, R17;
  14022. AND.U.CC HC.x, R17.w, R16.w;
  14023. MOV.S R25.w, R21.y;
  14024. IF NE.x;
  14025. MOV.F R16.w, R19.z;
  14026. ELSE;
  14027. MOV.F R16.w, {0, 0, 0, 0}.x;
  14028. ENDIF;
  14029. MOV.F R19.z, c[10].y;
  14030. MOV.F R17.w, R30.z;
  14031. ADD.F32 R17.w, R19.z, R17;
  14032. MOV.S R29.x, R17.w;
  14033. MOV.F R17.w, R25;
  14034. MOV.F R19.z, R23;
  14035. MUL.F32 R21.y, R19.z, R17.w;
  14036. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14037. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14038. TRUNC.U R17.w, R17;
  14039. TRUNC.U R19.z, R19;
  14040. AND.U.CC HC.x, R19.z, R17.w;
  14041. MOV.S R27.w, R16;
  14042. IF NE.x;
  14043. MOV.F R17.w, R21.y;
  14044. ELSE;
  14045. MOV.F R17.w, {0, 0, 0, 0}.x;
  14046. ENDIF;
  14047. MOV.F R19.z, R25.w;
  14048. MOV.F R21.y, R4;
  14049. MUL.F32 R16.w, R21.y, R19.z;
  14050. SNE.F32 R21.y, R21, {0, 0, 0, 0}.x;
  14051. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14052. MOV.F R21.z, R30.x;
  14053. MOV.F R23.z, c[10].x;
  14054. ADD.F32 R23.z, R23, R21;
  14055. MOV.F R21.z, R30.y;
  14056. MOV.F R24.x, c[10].z;
  14057. ADD.F32 R21.z, R24.x, R21;
  14058. TRUNC.U R21.y, R21;
  14059. TRUNC.U R19.z, R19;
  14060. AND.U.CC HC.x, R21.y, R19.z;
  14061. MOV.S R29.w, R23.z;
  14062. MOV.S R29.z, R21;
  14063. MOV.S R27.y, R17.w;
  14064. IF NE.x;
  14065. MOV.F R21.y, R16.w;
  14066. ELSE;
  14067. MOV.F R21.y, {0, 0, 0, 0}.x;
  14068. ENDIF;
  14069. MOV.F R16.w, R25;
  14070. MOV.F R17.w, R15;
  14071. MUL.F32 R19.z, R17.w, R16.w;
  14072. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14073. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14074. TRUNC.U R17.w, R17;
  14075. TRUNC.U R16.w, R16;
  14076. AND.U.CC HC.x, R17.w, R16.w;
  14077. MOV.S R27.x, R21.y;
  14078. IF NE.x;
  14079. MOV.F R21.y, R19.z;
  14080. ELSE;
  14081. MOV.F R21.y, {0, 0, 0, 0}.x;
  14082. ENDIF;
  14083. MOV.F R16.w, R25.x;
  14084. MOV.F R17.w, R29.x;
  14085. MUL.F32 R19.z, R17.w, R16.w;
  14086. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14087. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14088. TRUNC.U R17.w, R17;
  14089. TRUNC.U R16.w, R16;
  14090. AND.U.CC HC.x, R17.w, R16.w;
  14091. MOV.S R26.x, R21.y;
  14092. IF NE.x;
  14093. MOV.F R21.y, R19.z;
  14094. ELSE;
  14095. MOV.F R21.y, {0, 0, 0, 0}.x;
  14096. ENDIF;
  14097. MOV.F R16.w, R25.x;
  14098. MOV.F R17.w, R29;
  14099. MUL.F32 R19.z, R17.w, R16.w;
  14100. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14101. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14102. TRUNC.U R17.w, R17;
  14103. TRUNC.U R16.w, R16;
  14104. AND.U.CC HC.x, R17.w, R16.w;
  14105. MOV.S R26.y, R21;
  14106. IF NE.x;
  14107. MOV.F R21.y, R19.z;
  14108. ELSE;
  14109. MOV.F R21.y, {0, 0, 0, 0}.x;
  14110. ENDIF;
  14111. MOV.F R16.w, R25.x;
  14112. MOV.F R17.w, R29.z;
  14113. MUL.F32 R19.z, R17.w, R16.w;
  14114. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14115. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14116. TRUNC.U R17.w, R17;
  14117. TRUNC.U R16.w, R16;
  14118. AND.U.CC HC.x, R17.w, R16.w;
  14119. MOV.S R24.z, R21.y;
  14120. IF NE.x;
  14121. MOV.F R21.y, R19.z;
  14122. ELSE;
  14123. MOV.F R21.y, {0, 0, 0, 0}.x;
  14124. ENDIF;
  14125. MOV.F R16.w, R27;
  14126. MOV.F R17.w, R23.x;
  14127. MUL.F32 R19.z, R17.w, R16.w;
  14128. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14129. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14130. TRUNC.U R16.w, R16;
  14131. TRUNC.U R17.w, R17;
  14132. AND.U.CC HC.x, R17.w, R16.w;
  14133. MOV.S R25.w, R21.y;
  14134. IF NE.x;
  14135. MOV.F R16.w, R19.z;
  14136. ELSE;
  14137. MOV.F R16.w, {0, 0, 0, 0}.x;
  14138. ENDIF;
  14139. MOV.F R19.z, R9.x;
  14140. MOV.F R17.w, R9.y;
  14141. ADD.F32 R17.w, R19.z, R17;
  14142. MOV.S R24.x, R17.w;
  14143. MOV.F R17.w, R27;
  14144. MOV.F R19.z, R22;
  14145. MUL.F32 R21.y, R19.z, R17.w;
  14146. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14147. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14148. TRUNC.U R17.w, R17;
  14149. TRUNC.U R19.z, R19;
  14150. AND.U.CC HC.x, R19.z, R17.w;
  14151. MOV.S R25.x, R16.w;
  14152. IF NE.x;
  14153. ELSE;
  14154. MOV.F R21.y, {0, 0, 0, 0}.x;
  14155. ENDIF;
  14156. MOV.F R16.w, R27;
  14157. MOV.F R17.w, R21;
  14158. MUL.F32 R19.z, R17.w, R16.w;
  14159. SNE.F32 R17.w, R17, {0, 0, 0, 0}.x;
  14160. SNE.F32 R16.w, R16, {0, 0, 0, 0}.x;
  14161. TRUNC.U R17.w, R17;
  14162. TRUNC.U R16.w, R16;
  14163. AND.U.CC HC.x, R17.w, R16.w;
  14164. MOV.S R25.y, R21;
  14165. IF NE.x;
  14166. MOV.F R16.w, R19.z;
  14167. ELSE;
  14168. MOV.F R16.w, {0, 0, 0, 0}.x;
  14169. ENDIF;
  14170. MOV.F R29, R6;
  14171. MOV.F R6.w, R23.y;
  14172. ADD.F32 R19.z, -R6.w, {1, 0, 0, 0}.x;
  14173. SNE.F32 R6.w, -R6, {-1, 0, 0, 0}.x;
  14174. MOV.F R17.w, c[6].x;
  14175. MOV.S R27.w, R19.z;
  14176. MOV.S R25.z, R16.w;
  14177. SNE.F32 R16.w, R17, {0, 0, 0, 0}.x;
  14178. MUL.F32 R19.z, R19, R17.w;
  14179. MOV.F R30.w, {1, 0, 0, 0}.x;
  14180. MOV.F R30.xyz, R16;
  14181. DP4.F32 R6.z, R29, R30;
  14182. TRUNC.U R6.w, R6;
  14183. TRUNC.U R16.w, R16;
  14184. AND.U.CC HC.x, R16.w, R6.w;
  14185. MOV.S R6.z, R6;
  14186. MOV.S R17.w, {1065353216, 0, 0, 0}.x;
  14187. IF NE.x;
  14188. MOV.F R6.w, R19.z;
  14189. ELSE;
  14190. MOV.F R6.w, {0, 0, 0, 0}.x;
  14191. ENDIF;
  14192. MOV.F R29.xyz, R16;
  14193. MOV.F R16.z, R25.x;
  14194. MOV.F R30, R11;
  14195. MOV.F R29.w, {1, 0, 0, 0}.x;
  14196. DP4.F32 R11.w, R29, R14;
  14197. DP4.F32 R11.y, R30, R29;
  14198. MOV.F R14.x, R27.y;
  14199. ADD.F32 R6.w, R16.z, R6;
  14200. ADD.F32 R6.w, R14.x, R6;
  14201. MOV.S R14.x, R11.w;
  14202. MOV.S R28.z, R6.w;
  14203. MOV.F R6.w, R27;
  14204. MOV.F R11.w, c[6].y;
  14205. MUL.F32 R14.y, R11.w, R6.w;
  14206. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14207. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14208. TRUNC.U R6.w, R6;
  14209. TRUNC.U R11.w, R11;
  14210. AND.U.CC HC.x, R11.w, R6.w;
  14211. MOV.S R11.y, R11;
  14212. IF NE.x;
  14213. MOV.F R14.w, R14.y;
  14214. ELSE;
  14215. MOV.F R14.w, {0, 0, 0, 0}.x;
  14216. ENDIF;
  14217. MOV.F R11.w, R27;
  14218. MOV.F R14.y, c[6].z;
  14219. SNE.F32 R6.w, R11, {0, 0, 0, 0}.x;
  14220. MUL.F32 R14.z, R14.y, R11.w;
  14221. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  14222. TRUNC.U R6.w, R6;
  14223. TRUNC.U R11.w, R11;
  14224. AND.U.CC HC.x, R11.w, R6.w;
  14225. MOV.S R29.x, R14.w;
  14226. IF NE.x;
  14227. MOV.F R14.w, R14.z;
  14228. ELSE;
  14229. MOV.F R14.w, {0, 0, 0, 0}.x;
  14230. ENDIF;
  14231. MOV.F R6.w, R9.z;
  14232. MOV.F R11.w, R9.x;
  14233. ADD.F32 R11.w, R11, R6;
  14234. MUL.F32 R11.w, R11, {0.5, 0, 0, 0}.x;
  14235. MOV.S R29.z, R11.w;
  14236. MOV.F R14.y, R29.x;
  14237. MOV.F R14.z, R25;
  14238. ADD.F32 R14.y, R14.z, R14;
  14239. MOV.F R14.z, R27.x;
  14240. ADD.F32 R14.y, R14.z, R14;
  14241. MOV.F R14.z, R9.y;
  14242. ADD.F32 R6.w, R14.z, R6;
  14243. MOV.F R14.z, R24.y;
  14244. MOV.F R11.w, R25.y;
  14245. MOV.S R29.w, R14.y;
  14246. ADD.F32 R14.y, R11.w, R14.w;
  14247. MOV.F R11.w, R26.x;
  14248. ADD.F32 R11.w, R11, R14.y;
  14249. MOV.S R29.x, R11.w;
  14250. MUL.F32 R11.w, R6, {0.5, 0, 0, 0}.x;
  14251. MOV.F R6.w, R24.x;
  14252. MOV.S R27.w, R11;
  14253. MAD.F32 R6.w, R6, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  14254. MOV.F R11.w, R28.z;
  14255. MOV.F R14.y, R24.w;
  14256. ADD.F32 R14.y, R14, R11.w;
  14257. MOV.F R11.w, R24.z;
  14258. ADD.F32 R14.w, R11, R14.y;
  14259. MOV.F R11.w, R13.x;
  14260. MOV.S R6.w, R6;
  14261. MOV.F R13.x, R6.w;
  14262. ADD.F32 R14.y, R14.z, R14.w;
  14263. MUL.F32 R14.y, R11.w, R14;
  14264. SNE.F32 R6.w, R14.z, -R14;
  14265. MUL.F32 R13.x, R13, {2, 0, 0, 0};
  14266. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14267. TRUNC.U R6.w, R6;
  14268. TRUNC.U R11.w, R11;
  14269. AND.U.CC HC.x, R11.w, R6.w;
  14270. MOV.S R24.y, R13.x;
  14271. IF NE.x;
  14272. ELSE;
  14273. MOV.F R14.y, {0, 0, 0, 0}.x;
  14274. ENDIF;
  14275. MOV.F R11.w, R17.x;
  14276. MOV.F R6.w, R29.x;
  14277. ADD.F32 R6.w, R11, R6;
  14278. MOV.S R30.w, R6;
  14279. MOV.F R6.w, R29;
  14280. MOV.F R11.w, R21.x;
  14281. ADD.F32 R11.w, R11, R6;
  14282. MOV.F R6.w, R27;
  14283. MOV.S R30.y, R11.w;
  14284. ADD.F32 R11.w, R6, {-0.5, 0, 0, 0}.x;
  14285. MUL.F32 R11.w, R11, {2, 0, 0, 0}.x;
  14286. MOV.F R6.w, R29.z;
  14287. ADD.F32 R6.w, R6, {-0.5, 0, 0, 0}.x;
  14288. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  14289. MOV.S R24.z, R11.w;
  14290. MOV.S R27.w, R6;
  14291. MOV.F R6.w, c[12].y;
  14292. MUL.F32 R13.x, R14.y, R6.w;
  14293. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14294. SNE.F32 R11.w, R14.y, {0, 0, 0, 0}.x;
  14295. TRUNC.U R6.w, R6;
  14296. TRUNC.U R11.w, R11;
  14297. AND.U.CC HC.x, R11.w, R6.w;
  14298. MOV.S R30.x, R14.y;
  14299. IF NE.x;
  14300. MOV.F R14.y, R13.x;
  14301. ELSE;
  14302. MOV.F R14.y, {0, 0, 0, 0}.x;
  14303. ENDIF;
  14304. MOV.F R6.w, R30.y;
  14305. MOV.F R11.w, R26.y;
  14306. ADD.F32 R11.w, R11, R6;
  14307. MOV.S R29.z, R11.w;
  14308. MOV.F R13.x, R25.w;
  14309. MOV.F R6.w, R30;
  14310. ADD.F32 R6.w, R13.x, R6;
  14311. MOV.S R29.y, R6.w;
  14312. MOV.F R6.w, c[12].y;
  14313. MOV.F R11.w, R30.x;
  14314. MUL.F32 R13.x, R11.w, R6.w;
  14315. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14316. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14317. TRUNC.U R11.w, R11;
  14318. TRUNC.U R6.w, R6;
  14319. AND.U.CC HC.x, R11.w, R6.w;
  14320. MOV.S R17.x, R14.y;
  14321. IF NE.x;
  14322. MOV.F R6.w, R13.x;
  14323. ELSE;
  14324. MOV.F R6.w, {0, 0, 0, 0}.x;
  14325. ENDIF;
  14326. MOV.F R13.x, R27.z;
  14327. MOV.F R11.w, R29.z;
  14328. ADD.F32 R11.w, R13.x, R11;
  14329. MOV.S R30.x, R11.w;
  14330. MOV.F R11.w, R9.x;
  14331. ADD.F32 R14.y, R11.w, {-0.5, 0, 0, 0}.x;
  14332. MOV.S R25.z, R14.y;
  14333. MOV.F R14.y, R9;
  14334. MOV.F R13.x, R22;
  14335. MOV.F R11.w, R29.y;
  14336. ADD.F32 R11.w, R13.x, R11;
  14337. MOV.S R30.z, R11.w;
  14338. MOV.F R11.w, R9.z;
  14339. ADD.F32 R11.w, R11, {-0.5, 0, 0, 0}.x;
  14340. MOV.S R14.w, R11;
  14341. MOV.F R13.x, R24.y;
  14342. ADD.F32 R14.y, R14, {-0.5, 0, 0, 0}.x;
  14343. MOV.F R11.w, c[13].x;
  14344. MUL.F32 R14.z, R13.x, R11.w;
  14345. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14346. MOV.S R24.y, R14;
  14347. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  14348. TRUNC.U R14.y, R13.x;
  14349. TRUNC.U R13.x, R11.w;
  14350. AND.U.CC HC.x, R14.y, R13;
  14351. MOV.S R11.w, R6;
  14352. IF NE.x;
  14353. MOV.F R14.y, R14.z;
  14354. ELSE;
  14355. MOV.F R14.y, {0, 0, 0, 0}.x;
  14356. ENDIF;
  14357. MOV.F R13.x, R13.z;
  14358. MOV.F R6.w, R30.z;
  14359. MUL.F32 R13.z, R13.x, R6.w;
  14360. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14361. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14362. TRUNC.U R13.x, R13;
  14363. TRUNC.U R6.w, R6;
  14364. AND.U.CC HC.x, R13, R6.w;
  14365. MOV.S R28.z, R14.y;
  14366. IF NE.x;
  14367. MOV.F R14.y, R13.z;
  14368. ELSE;
  14369. MOV.F R14.y, {0, 0, 0, 0}.x;
  14370. ENDIF;
  14371. MOV.F R6.w, c[13].y;
  14372. MOV.F R13.x, R24.z;
  14373. MUL.F32 R13.z, R13.x, R6.w;
  14374. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14375. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14376. TRUNC.U R13.x, R13;
  14377. TRUNC.U R6.w, R6;
  14378. AND.U.CC HC.x, R13, R6.w;
  14379. MOV.S R29.x, R14.y;
  14380. IF NE.x;
  14381. MOV.F R16.z, R13;
  14382. ELSE;
  14383. MOV.F R16.z, {0, 0, 0, 0}.x;
  14384. ENDIF;
  14385. MOV.F R6.w, R13.y;
  14386. MOV.F R13.z, R30.x;
  14387. MUL.F32 R14.y, R6.w, R13.z;
  14388. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14389. TRUNC.U R13.x, R6.w;
  14390. SNE.F32 R6.w, R13.z, {0, 0, 0, 0}.x;
  14391. TRUNC.U R6.w, R6;
  14392. AND.U.CC HC.x, R13, R6.w;
  14393. MOV.F R13.y, c[14].x;
  14394. MOV.F R13.z, R28;
  14395. ADD.F32 R13.y, R13.z, R13;
  14396. MOV.S R14.z, R13.y;
  14397. MOV.S R29.y, R16.z;
  14398. IF NE.x;
  14399. MOV.F R13.z, R14.y;
  14400. ELSE;
  14401. MOV.F R13.z, {0, 0, 0, 0}.x;
  14402. ENDIF;
  14403. MOV.F R6.w, R9.y;
  14404. MUL.F32 R6.w, R6, {2, 0, 0, 0}.x;
  14405. MOV.S R19.z, R6.w;
  14406. MOV.F R6.w, c[12];
  14407. MOV.F R13.x, R29;
  14408. MUL.F32 R13.y, R13.x, R6.w;
  14409. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14410. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  14411. TRUNC.U R13.x, R13;
  14412. TRUNC.U R6.w, R6;
  14413. AND.U.CC HC.x, R13, R6.w;
  14414. MOV.S R29.w, R13.z;
  14415. IF NE.x;
  14416. MOV.F R13.z, R13.y;
  14417. ELSE;
  14418. MOV.F R13.z, {0, 0, 0, 0}.x;
  14419. ENDIF;
  14420. MOV.S R21.x, R13.z;
  14421. MOV.F R13.y, c[12].z;
  14422. MOV.F R13.x, c[14].y;
  14423. MOV.F R6.w, R29.y;
  14424. ADD.F32 R6.w, R13.x, R6;
  14425. MOV.F R13.x, R29.w;
  14426. MOV.S R14.y, R6.w;
  14427. SNE.F32 R6.w, R13.x, {0, 0, 0, 0}.x;
  14428. MUL.F32 R16.z, R13.x, R13.y;
  14429. TRUNC.U R13.x, R6.w;
  14430. SNE.F32 R6.w, R13.y, {0, 0, 0, 0}.x;
  14431. MOV.F R13.z, R19;
  14432. FLR.F R13.y, R13.z;
  14433. TRUNC.U R6.w, R6;
  14434. AND.U.CC HC.x, R13, R6.w;
  14435. MOV.S R30.z, R13.y;
  14436. IF NE.x;
  14437. MOV.F R13.y, R16.z;
  14438. ELSE;
  14439. MOV.F R13.y, {0, 0, 0, 0}.x;
  14440. ENDIF;
  14441. MOV.F R6.w, R9.z;
  14442. MUL.F32 R13.x, R6.w, {2, 0, 0, 0};
  14443. MOV.F R6.w, R30.z;
  14444. MOV.S R28.z, R13.x;
  14445. SGT.F32 R13.x, R6.w, {0, 0, 0, 0};
  14446. TRUNC.U.CC HC.x, R13;
  14447. MOV.S R6.w, R13.y;
  14448. IF NE.x;
  14449. MOV.F R19.z, {1, 0, 0, 0}.x;
  14450. ELSE;
  14451. MOV.F R19.z, {0, 0, 0, 0}.x;
  14452. ENDIF;
  14453. MOV.F R13.x, R30.z;
  14454. SLT.F32 R13.x, R13, {0, 0, 0, 0};
  14455. MOV.F R13.y, {1, 0, 0, 0}.x;
  14456. TRUNC.U.CC HC.x, R13;
  14457. MOV.F R13.y(EQ.x), {0, 0, 0, 0}.x;
  14458. MOV.F R13.x, R13.y;
  14459. MOV.F R13.y, R28.z;
  14460. FLR.F R16.z, R13.y;
  14461. MOV.S R29.y, R13.x;
  14462. MOV.F R13.z, c[13];
  14463. MOV.F R13.x, R27.w;
  14464. MUL.F32 R16.w, R13.x, R13.z;
  14465. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14466. TRUNC.U R13.y, R13.x;
  14467. SNE.F32 R13.x, R13.z, {0, 0, 0, 0};
  14468. MOV.F R13.z, R19;
  14469. TRUNC.U R13.x, R13;
  14470. AND.U.CC HC.x, R13.y, R13;
  14471. MOV.S R29.z, R16;
  14472. MOV.S R29.x, R13.z;
  14473. IF NE.x;
  14474. ELSE;
  14475. MOV.F R16.w, {0, 0, 0, 0}.x;
  14476. ENDIF;
  14477. MOV.F R16.z, R29;
  14478. SLT.F32 R13.x, R16.z, {0, 0, 0, 0};
  14479. MOV.F R13.y, {1, 0, 0, 0}.x;
  14480. TRUNC.U.CC HC.x, R13;
  14481. MOV.F R13.y(EQ.x), {0, 0, 0, 0}.x;
  14482. MOV.F R13.x, R13.y;
  14483. MOV.S R30.y, R13.x;
  14484. MOV.F R13.z, R9.x;
  14485. MOV.F R13.y, R29.x;
  14486. MOV.F R13.x, R29.y;
  14487. ADD.F32 R13.x, R13.y, -R13;
  14488. MUL.F32 R13.y, R13.z, {2, 0, 0, 0}.x;
  14489. MOV.S R13.z, R13.x;
  14490. MOV.S R19.z, R13.y;
  14491. MOV.F R13.y, c[14].z;
  14492. SGT.F32 R13.x, R16.z, {0, 0, 0, 0};
  14493. ADD.F32 R13.y, R13, R16.w;
  14494. TRUNC.U.CC HC.x, R13;
  14495. MOV.S R22.x, R13.y;
  14496. IF NE.x;
  14497. MOV.F R16.w, {1, 0, 0, 0}.x;
  14498. ELSE;
  14499. MOV.F R16.w, {0, 0, 0, 0}.x;
  14500. ENDIF;
  14501. MOV.F R13.x, R19.z;
  14502. FLR.F R16.z, R13.x;
  14503. SLT.F32 R13.x, R16.z, {0, 0, 0, 0};
  14504. MOV.F R13.y, {1, 0, 0, 0}.x;
  14505. TRUNC.U.CC HC.x, R13;
  14506. MOV.F R13.y(EQ.x), {0, 0, 0, 0}.x;
  14507. MOV.F R13.x, R13.y;
  14508. MOV.S R29.x, R13;
  14509. MOV.F R13.x, R30.y;
  14510. ADD.F32 R13.x, R16.w, -R13;
  14511. MOV.S R13.y, R13.x;
  14512. SGT.F32 R13.x, R16.z, {0, 0, 0, 0};
  14513. TRUNC.U.CC HC.x, R13;
  14514. IF NE.x;
  14515. MOV.F R21.y, {1, 0, 0, 0}.x;
  14516. ELSE;
  14517. MOV.F R21.y, {0, 0, 0, 0}.x;
  14518. ENDIF;
  14519. MOV.F R16.z, R25;
  14520. MOV.F R16.w, c[15].x;
  14521. SNE.F32 R13.x, R16.z, {0, 0, 0, 0};
  14522. MUL.F32 R19.z, R16, R16.w;
  14523. TRUNC.U R16.z, R13.x;
  14524. SNE.F32 R13.x, R16.w, {0, 0, 0, 0};
  14525. MOV.F R16.w, R21.y;
  14526. TRUNC.U R13.x, R13;
  14527. AND.U.CC HC.x, R16.z, R13;
  14528. MOV.S R29.z, R16.w;
  14529. IF NE.x;
  14530. MOV.F R16.w, R19.z;
  14531. ELSE;
  14532. MOV.F R16.w, {0, 0, 0, 0}.x;
  14533. ENDIF;
  14534. MOV.F R13.x, c[15].y;
  14535. MOV.F R16.z, R24.y;
  14536. MUL.F32 R19.z, R16, R13.x;
  14537. SNE.F32 R16.z, R16, {0, 0, 0, 0}.x;
  14538. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  14539. TRUNC.U R16.z, R16;
  14540. TRUNC.U R13.x, R13;
  14541. AND.U.CC HC.x, R16.z, R13;
  14542. MOV.S R16.w, R16;
  14543. IF NE.x;
  14544. ELSE;
  14545. MOV.F R19.z, {0, 0, 0, 0}.x;
  14546. ENDIF;
  14547. MOV.F R16.z, R29;
  14548. MOV.F R13.x, R29;
  14549. ADD.F32 R13.x, R16.z, -R13;
  14550. MOV.S R13.x, R13;
  14551. MOV.S R16.z, R19;
  14552. ENDIF;
  14553. SEQ.U R19.z, R28.x, {1, 0, 0, 0}.x;
  14554. MOV.U.CC RC.x, -R19.z;
  14555. IF NE.x;
  14556. MOV.F R21.y, R14.w;
  14557. MOV.F R21.z, c[15];
  14558. SNE.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  14559. MUL.F32 R23.x, R21.y, R21.z;
  14560. TRUNC.U R21.y, R19.z;
  14561. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14562. AND.S R22.z, c[2].x, {65536, 0, 0, 0}.x;
  14563. I2F.S R21.z, R22;
  14564. TRUNC.U R19.z, R19;
  14565. AND.U.CC HC.x, R21.y, R19.z;
  14566. AND.S R27.w, c[2].x, {262144, 0, 0, 0}.x;
  14567. AND.S R27.x, c[2], {131072, 0, 0, 0};
  14568. MOV.S R28.z, R21;
  14569. IF NE.x;
  14570. MOV.F R22.z, R23.x;
  14571. ELSE;
  14572. MOV.F R22.z, {0, 0, 0, 0}.x;
  14573. ENDIF;
  14574. MOV.F R21.y, R28.z;
  14575. SLT.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  14576. TRUNC.U.CC HC.x, R19.z;
  14577. MOV.F R21.z, {1, 0, 0, 0}.x;
  14578. MOV.F R21.z(EQ.x), {0, 0, 0, 0}.x;
  14579. MOV.F R19.z, R21;
  14580. MOV.S R29.z, R19;
  14581. SGT.F32 R19.z, R21.y, {0, 0, 0, 0}.x;
  14582. TRUNC.U.CC HC.x, R19.z;
  14583. MOV.S R26.x, R22.z;
  14584. IF NE.x;
  14585. MOV.F R22.z, {1, 0, 0, 0}.x;
  14586. ELSE;
  14587. MOV.F R22.z, {0, 0, 0, 0}.x;
  14588. ENDIF;
  14589. I2F.S R21.z, R27.x;
  14590. SLT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14591. MOV.F R21.y, {1, 0, 0, 0}.x;
  14592. TRUNC.U.CC HC.x, R19.z;
  14593. MOV.F R21.y(EQ.x), {0, 0, 0, 0}.x;
  14594. MOV.F R19.z, R21.y;
  14595. MOV.S R30.x, R19.z;
  14596. MOV.F R19.z, R29;
  14597. ADD.F32 R21.y, R22.z, -R19.z;
  14598. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14599. TRUNC.U.CC HC.x, R19.z;
  14600. MOV.S R30.y, R21;
  14601. IF NE.x;
  14602. MOV.F R21.y, {1, 0, 0, 0}.x;
  14603. ELSE;
  14604. MOV.F R21.y, {0, 0, 0, 0}.x;
  14605. ENDIF;
  14606. I2F.S R21.z, R27.w;
  14607. MOV.F R19.z, R30.x;
  14608. ADD.F32 R21.y, R21, -R19.z;
  14609. SGT.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14610. TRUNC.U.CC HC.x, R19.z;
  14611. MOV.S R28.z, R21;
  14612. MOV.S R29.x, R21.y;
  14613. IF NE.x;
  14614. MOV.F R21.z, {1, 0, 0, 0}.x;
  14615. ELSE;
  14616. MOV.F R21.z, {0, 0, 0, 0}.x;
  14617. ENDIF;
  14618. MOV.F R19.z, R28;
  14619. SLT.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14620. MOV.F R21.y, {1, 0, 0, 0}.x;
  14621. TRUNC.U.CC HC.x, R19.z;
  14622. MOV.F R21.y(EQ.x), {0, 0, 0, 0}.x;
  14623. ADD.F32 R19.z, R21, -R21.y;
  14624. MOV.S R30.w, R19.z;
  14625. MOV.F R19.z, R30.y;
  14626. TRUNC.S R21.y, R19.z;
  14627. ADD.S R19.z, -R21.y, {0, 0, 0, 0}.x;
  14628. MAX.S R29.z, R21.y, R19;
  14629. MOV.F R21.z, R29.x;
  14630. TRUNC.S R21.y, R21.z;
  14631. MOV.F R19.z, c[14].w;
  14632. SEQ.F R19.z, R19, {1, 0, 0, 0}.x;
  14633. TRUNC.U.CC HC.x, R19.z;
  14634. ADD.S R29.x, -R21.y, {0, 0, 0, 0};
  14635. MOV.S R27.w, R21.y;
  14636. IF NE.x;
  14637. MOV.S R21.y, {-1, 0, 0, 0}.x;
  14638. ELSE;
  14639. MOV.S R21.y, {0, 0, 0, 0}.x;
  14640. ENDIF;
  14641. MOV.F R19.z, R30.w;
  14642. TRUNC.S R22.z, R19;
  14643. ADD.S R21.z, -R22, {0, 0, 0, 0}.x;
  14644. MAX.S R30.y, R27.w, R29.x;
  14645. MAX.S R29.x, R22.z, R21.z;
  14646. I2F.S R19.z, R29;
  14647. MUL.F32 R21.z, R19, {2, 0, 0, 0}.x;
  14648. MOV.F R22.z, R13;
  14649. SNE.F32 R19.z, -R21, {0, 0, 0, 0}.x;
  14650. MUL.F32 R23.z, -R21, R22;
  14651. TRUNC.U R21.z, R19;
  14652. SNE.F32 R19.z, R22, {0, 0, 0, 0}.x;
  14653. MOV.F R23.x, c[14].w;
  14654. ADD.F32 R22.z, -R23.x, {1, 0, 0, 0}.x;
  14655. TRUNC.U R19.z, R19;
  14656. AND.U.CC HC.x, R21.z, R19.z;
  14657. MOV.S R24.y, R22.z;
  14658. IF NE.x;
  14659. ELSE;
  14660. MOV.F R23.z, {0, 0, 0, 0}.x;
  14661. ENDIF;
  14662. MOV.F R21.z, R14;
  14663. SNE.F32 R22.z, R21, {0, 0, 0, 0}.x;
  14664. I2F.S R19.z, R30.y;
  14665. MUL.F32 R19.z, R19, {2, 0, 0, 0}.x;
  14666. MUL.F32 R23.x, R23.z, R21.z;
  14667. SNE.F32 R21.z, R23, {0, 0, 0, 0}.x;
  14668. TRUNC.U R22.z, R22;
  14669. TRUNC.U R21.z, R21;
  14670. AND.U.CC HC.x, R22.z, R21.z;
  14671. MOV.S R19.z, R19;
  14672. MOV.S R29.w, R23.z;
  14673. IF NE.x;
  14674. MOV.F R23.z, R23.x;
  14675. ELSE;
  14676. MOV.F R23.z, {0, 0, 0, 0}.x;
  14677. ENDIF;
  14678. MOV.F R21.z, R29.w;
  14679. MOV.F R22.z, R15.x;
  14680. MUL.F32 R23.x, R22.z, R21.z;
  14681. SNE.F32 R22.z, R22, {0, 0, 0, 0}.x;
  14682. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  14683. TRUNC.U R22.z, R22;
  14684. TRUNC.U R21.z, R21;
  14685. AND.U.CC HC.x, R22.z, R21.z;
  14686. MOV.S R30.x, R23.z;
  14687. IF NE.x;
  14688. MOV.F R23.z, R23.x;
  14689. ELSE;
  14690. MOV.F R23.z, {0, 0, 0, 0}.x;
  14691. ENDIF;
  14692. MOV.F R21.z, R13.y;
  14693. MOV.F R22.z, R19;
  14694. SNE.F32 R19.z, R21, {0, 0, 0, 0}.x;
  14695. MUL.F32 R23.x, -R22.z, R21.z;
  14696. SNE.F32 R21.z, -R22, {0, 0, 0, 0}.x;
  14697. TRUNC.U R19.z, R19;
  14698. TRUNC.U R21.z, R21;
  14699. AND.U.CC HC.x, R21.z, R19.z;
  14700. MOV.S R30.y, R23.z;
  14701. IF NE.x;
  14702. ELSE;
  14703. MOV.F R23.x, {0, 0, 0, 0};
  14704. ENDIF;
  14705. I2F.S R21.z, R29.x;
  14706. MOV.F R19.z, R13.x;
  14707. MUL.F32 R21.z, R21, {2, 0, 0, 0}.x;
  14708. MUL.F32 R22.z, -R21, R19;
  14709. SNE.F32 R21.z, -R21, {0, 0, 0, 0}.x;
  14710. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14711. TRUNC.U R21.z, R21;
  14712. TRUNC.U R19.z, R19;
  14713. AND.U.CC HC.x, R21.z, R19.z;
  14714. MOV.S R30.z, R23.x;
  14715. IF NE.x;
  14716. MOV.F R23.x, R22.z;
  14717. ELSE;
  14718. MOV.F R23.x, {0, 0, 0, 0};
  14719. ENDIF;
  14720. MOV.F R21.z, R14;
  14721. MOV.F R19.z, R30.x;
  14722. ADD.F32 R19.z, R21, R19;
  14723. MOV.S R26.y, R19.z;
  14724. MOV.F R19.z, R30;
  14725. MOV.F R21.z, R14.y;
  14726. MUL.F32 R22.z, R21, R19;
  14727. SNE.F32 R21.z, R21, {0, 0, 0, 0}.x;
  14728. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14729. TRUNC.U R21.z, R21;
  14730. TRUNC.U R19.z, R19;
  14731. AND.U.CC HC.x, R21.z, R19.z;
  14732. MOV.S R29.x, R23;
  14733. IF NE.x;
  14734. ELSE;
  14735. MOV.F R22.z, {0, 0, 0, 0}.x;
  14736. ENDIF;
  14737. MOV.F R19.z, R30.y;
  14738. ADD.F32 R15.x, R15, R19.z;
  14739. MOV.S R29.w, R15.x;
  14740. MOV.F R15.x, R30.z;
  14741. MOV.F R19.z, R15.y;
  14742. MUL.F32 R21.z, R19, R15.x;
  14743. SNE.F32 R19.z, R19, {0, 0, 0, 0}.x;
  14744. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14745. TRUNC.U R19.z, R19;
  14746. TRUNC.U R15.x, R15;
  14747. AND.U.CC HC.x, R19.z, R15;
  14748. MOV.S R29.z, R22;
  14749. IF NE.x;
  14750. MOV.F R19.z, R21;
  14751. ELSE;
  14752. MOV.F R19.z, {0, 0, 0, 0}.x;
  14753. ENDIF;
  14754. MOV.F R15.x, R29.z;
  14755. ADD.F32 R14.y, R14, R15.x;
  14756. MOV.S R27.x, R14.y;
  14757. MOV.F R14.y, R29.x;
  14758. MOV.F R15.x, R22;
  14759. MUL.F32 R21.z, R15.x, R14.y;
  14760. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14761. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14762. TRUNC.U R14.y, R14;
  14763. TRUNC.U R15.x, R15;
  14764. AND.U.CC HC.x, R15, R14.y;
  14765. MOV.S R19.z, R19;
  14766. IF NE.x;
  14767. MOV.F R14.y, R21.z;
  14768. ELSE;
  14769. MOV.F R14.y, {0, 0, 0, 0}.x;
  14770. ENDIF;
  14771. MOV.F R15.x, R16.w;
  14772. MOV.F R16.w, R29;
  14773. ADD.F32 R15.x, R16.w, R15;
  14774. MOV.S R24.w, R15.x;
  14775. MOV.F R15.x, R19.z;
  14776. ADD.F32 R16.w, R15.y, R15.x;
  14777. MOV.F R15.x, R29;
  14778. MOV.F R15.y, R15.z;
  14779. MUL.F32 R19.z, R15.y, R15.x;
  14780. SNE.F32 R15.y, R15, {0, 0, 0, 0}.x;
  14781. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14782. TRUNC.U R15.y, R15;
  14783. TRUNC.U R15.x, R15;
  14784. AND.U.CC HC.x, R15.y, R15;
  14785. MOV.S R30.z, R16.w;
  14786. MOV.S R30.y, R14;
  14787. IF NE.x;
  14788. MOV.F R15.y, R19.z;
  14789. ELSE;
  14790. MOV.F R15.y, {0, 0, 0, 0}.x;
  14791. ENDIF;
  14792. MOV.F R14.y, R16.z;
  14793. MOV.F R15.x, R30.z;
  14794. ADD.F32 R15.x, R15, R14.y;
  14795. MOV.F R14.y, R15.z;
  14796. ADD.F32 R14.y, R14, R15;
  14797. MOV.S R24.x, R15;
  14798. MOV.S R29.y, R14;
  14799. MOV.F R14.y, c[14].w;
  14800. MAX.F R14.y, R14, {0, 0, 0, 0}.x;
  14801. LG2.F32 R16.w, R14.y;
  14802. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  14803. MOV.F R15.x, R30.y;
  14804. MOV.F R15.y, R22.x;
  14805. ADD.F32 R15.y, R15, R15.x;
  14806. MUL.F32 R15.x, R16.w, {2, 0, 0, 0};
  14807. SEQ.F R15.x, R16.w, R15;
  14808. TRUNC.U R14.y, R14;
  14809. TRUNC.U R15.x, R15;
  14810. AND.U R14.y, R15.x, R14;
  14811. SEQ.U R14.y, R14, {1, 0, 0, 0}.x;
  14812. MOV.U.CC RC.x, -R14.y;
  14813. MOV.S R27.w, R15.y;
  14814. IF NE.x;
  14815. MOV.F R16.w, {-3.40282347e+038, 0, 0, 0}.x;
  14816. ENDIF;
  14817. MOV.F R15.x, R13.w;
  14818. MUL.F32 R15.y, R15.x, R16.w;
  14819. SNE.F32 R14.y, R16.w, {0, 0, 0, 0}.x;
  14820. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14821. TRUNC.U R14.y, R14;
  14822. TRUNC.U R15.x, R15;
  14823. AND.U.CC HC.x, R15, R14.y;
  14824. IF NE.x;
  14825. MOV.F R14.y, R15;
  14826. ELSE;
  14827. MOV.F R14.y, {0, 0, 0, 0}.x;
  14828. ENDIF;
  14829. MOV.S R14.y, R14;
  14830. MOV.F R15.y, R14;
  14831. MOV.F R15.x, R29.y;
  14832. MOV.F R14.y, R26.x;
  14833. ADD.F32 R14.y, R15.x, R14;
  14834. EX2.F32 R15.y, R15.y;
  14835. ADD.F32 R15.x, -R15.y, {1, 0, 0, 0};
  14836. MOV.S R26.w, R14.y;
  14837. MOV.S R14.y, R15.x;
  14838. MOV.F R15.x, R24.y;
  14839. DIV.F32 R15.x, R14.y, R15.x;
  14840. SEQ.S R14.y, R21, {0, 0, 0, 0}.x;
  14841. MOV.U.CC RC.x, -R14.y;
  14842. MOV.S R29.w, R15.x;
  14843. IF NE.x;
  14844. MOV.S R19.z, R29.w;
  14845. ELSE;
  14846. MOV.S R19.z, R13.w;
  14847. ENDIF;
  14848. MOV.F R14.y, R19.z;
  14849. MOV.F R15.x, R27;
  14850. MUL.F32 R15.y, R15.x, R14;
  14851. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14852. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14853. TRUNC.U R14.y, R14;
  14854. TRUNC.U R15.x, R15;
  14855. AND.U.CC HC.x, R15, R14.y;
  14856. IF NE.x;
  14857. MOV.F R16.w, R15.y;
  14858. ELSE;
  14859. MOV.F R16.w, {0, 0, 0, 0}.x;
  14860. ENDIF;
  14861. MOV.F R14.y, R19.z;
  14862. MOV.F R15.x, R26.y;
  14863. MUL.F32 R15.y, R15.x, R14;
  14864. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14865. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14866. TRUNC.U R15.x, R15;
  14867. TRUNC.U R14.y, R14;
  14868. AND.U.CC HC.x, R15, R14.y;
  14869. MOV.S R29.x, R16.w;
  14870. IF NE.x;
  14871. MOV.F R16.w, R15.y;
  14872. ELSE;
  14873. MOV.F R16.w, {0, 0, 0, 0}.x;
  14874. ENDIF;
  14875. MOV.F R14.y, R19.z;
  14876. MOV.F R15.x, R27.w;
  14877. MUL.F32 R15.y, R15.x, R14;
  14878. SNE.F32 R15.x, R15, {0, 0, 0, 0};
  14879. SNE.F32 R14.y, R14, {0, 0, 0, 0}.x;
  14880. TRUNC.U R15.x, R15;
  14881. TRUNC.U R14.y, R14;
  14882. AND.U.CC HC.x, R15, R14.y;
  14883. MOV.S R29.y, R16.w;
  14884. IF NE.x;
  14885. MOV.F R19.z, R15.y;
  14886. ELSE;
  14887. MOV.F R19.z, {0, 0, 0, 0}.x;
  14888. ENDIF;
  14889. MOV.F R15.x, R24.w;
  14890. MOV.F R14.y, R29;
  14891. ADD.F32 R14.y, R15.x, R14;
  14892. MAD.F32 R14.y, R14, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  14893. FRC.F R14.y, R14;
  14894. MAD.F32 R14.y, R14, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  14895. MUL.F32 R14.y, R14, {0.159154937, 0, 0, 0}.x;
  14896. MOV.S R14.y, R14;
  14897. MOV.F R15.y, R24.x;
  14898. MOV.F R15.x, R29;
  14899. ADD.F32 R15.x, R15.y, R15;
  14900. MOV.S R16.w, R15.x;
  14901. MUL.F32 R15.x, R14.y, {6.28318548, 0, 0, 0};
  14902. MOV.F R15.y, R26.w;
  14903. ADD.F32 R15.y, R15, R19.z;
  14904. MAD.F32 R19.z, R15.y, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  14905. SIN.F32 R14.y, R15.x;
  14906. MOV.S R15.y, R14;
  14907. COS.F32 R14.y, R15.x;
  14908. FRC.F R19.z, R19;
  14909. MAD.F32 R15.x, R19.z, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  14910. MUL.F32 R15.x, R15, {0.159154937, 0, 0, 0};
  14911. MOV.S R22.x, R14.y;
  14912. MUL.F32 R14.y, R15.x, {6.28318548, 0, 0, 0}.x;
  14913. SIN.F32 R14.y, R14.y;
  14914. MOV.S R15.x, R15;
  14915. MOV.S R14.y, R14;
  14916. ENDIF;
  14917. SEQ.U R19.z, R28.x, {1, 0, 0, 0}.x;
  14918. MOV.U.CC RC.x, -R19.z;
  14919. IF NE.x;
  14920. MOV.F R11.z, R6;
  14921. MOV.F R3.w, c[16].x;
  14922. ADD.F32 R3.w, -R11.z, R3;
  14923. MOV.S R11.z, R3.w;
  14924. MOV.S R3.w, R11.z;
  14925. SGT.F32 R3.w, -R3, {0, 0, 0, 0}.x;
  14926. TRUNC.U.CC HC.x, R3.w;
  14927. MOV.F R13.x, c[16].z;
  14928. MOV.F R13.y, R14.x;
  14929. ADD.F32 R13.x, -R13.y, R13;
  14930. MOV.S R24.x, R13;
  14931. MOV.S R26.y, R11.z;
  14932. IF NE.x;
  14933. MOV.F R11.z, {1, 0, 0, 0}.x;
  14934. ELSE;
  14935. MOV.F R11.z, {0, 0, 0, 0}.x;
  14936. ENDIF;
  14937. MOV.F R3.w, R26.y;
  14938. SEQ.F R3.w, -R3, {0, 0, 0, 0}.x;
  14939. TRUNC.U.CC HC.x, R3.w;
  14940. MOV.S R30.x, R11.z;
  14941. IF NE.x;
  14942. MOV.S R15.z, {-1, 0, 0, 0}.x;
  14943. ELSE;
  14944. MOV.S R15.z, {0, 0, 0, 0}.x;
  14945. ENDIF;
  14946. MOV.F R3.w, R24.x;
  14947. SEQ.F R3.w, R3, {0, 0, 0, 0}.x;
  14948. TRUNC.U.CC HC.x, R3.w;
  14949. IF NE.x;
  14950. MOV.S R3.w, {-1, 0, 0, 0}.x;
  14951. ELSE;
  14952. MOV.S R3.w, {0, 0, 0, 0}.x;
  14953. ENDIF;
  14954. MOV.F R13.x, R24;
  14955. MOV.F R13.z, R26.y;
  14956. DIV.F32 R13.y, -R13.z, R13.x;
  14957. SLT.F32 R11.z, R13.y, {0, 0, 0, 0}.x;
  14958. TRUNC.U.CC HC.x, R11.z;
  14959. MOV.F R14.z, {1, 0, 0, 0}.x;
  14960. SLT.F32 R11.z, R13.x, {0, 0, 0, 0}.x;
  14961. MOV.F R14.z(EQ.x), {0, 0, 0, 0}.x;
  14962. TRUNC.U.CC HC.x, R11.z;
  14963. SLT.F32 R11.z, -R13, {0, 0, 0, 0}.x;
  14964. MOV.S R14.w, {-1, 0, 0, 0}.x;
  14965. MOV.S R14.w(EQ.x), {0, 0, 0, 0}.x;
  14966. TRUNC.U.CC HC.x, R11.z;
  14967. MOV.F R13.z, {1, 0, 0, 0}.x;
  14968. MOV.F R13.z(EQ.x), {0, 0, 0, 0}.x;
  14969. MOV.F R11.z, R30.x;
  14970. MOV.F R13.x, R14.z;
  14971. ADD.F32 R11.z, R11, -R13;
  14972. MOV.S R27.z, R11;
  14973. MOV.F R11.z, R15.x;
  14974. MUL.F32 R11.z, R11, {6.28318548, 0, 0, 0}.x;
  14975. MOV.S R30.x, R13;
  14976. COS.F32 R13.x, R11.z;
  14977. SGT.F32 R11.z, R13.y, {0, 0, 0, 0}.x;
  14978. TRUNC.U.CC HC.x, R11.z;
  14979. MOV.S R29.y, R14.w;
  14980. MOV.S R29.x, R13.y;
  14981. MOV.S R27.x, R13;
  14982. IF NE.x;
  14983. MOV.F R13.z, {1, 0, 0, 0}.x;
  14984. ELSE;
  14985. MOV.F R13.z, {0, 0, 0, 0}.x;
  14986. ENDIF;
  14987. MOV.F R11.z, R29.x;
  14988. MAX.F R11.z, R11, -R11;
  14989. MOV.F R13.x, R29.y;
  14990. MOV.F R13.y, R15.z;
  14991. MOV.S R25.z, R11;
  14992. SNE.F32 R11.z, R13.x, {0, 0, 0, 0}.x;
  14993. MUL.F32 R14.z, R13.y, R13.x;
  14994. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  14995. TRUNC.U R11.z, R11;
  14996. TRUNC.U R13.x, R13;
  14997. AND.U.CC HC.x, R13, R11.z;
  14998. MOV.S R30.y, R13.z;
  14999. IF NE.x;
  15000. MOV.F R13.x, R14.z;
  15001. ELSE;
  15002. MOV.F R13.x, {0, 0, 0, 0};
  15003. ENDIF;
  15004. MOV.F R11.z, R27;
  15005. MUL.F32 R11.z, R11, {1.57079637, 0, 0, 0}.x;
  15006. MOV.S R15.z, R11;
  15007. MOV.F R11.z, R25;
  15008. SGT.F32 R11.z, R11, {1, 0, 0, 0}.x;
  15009. TRUNC.U.CC HC.x, R11.z;
  15010. MOV.S R26.w, R13.x;
  15011. IF NE.x;
  15012. MOV.S R13.y, {-1, 0, 0, 0}.x;
  15013. ELSE;
  15014. MOV.S R13.y, {0, 0, 0, 0}.x;
  15015. ENDIF;
  15016. MOV.F R11.z, R30.x;
  15017. MOV.F R13.x, R30.y;
  15018. ADD.F32 R13.x, R13, -R11.z;
  15019. MOV.F R11.z, R25;
  15020. MOV.S R29.w, R13.x;
  15021. RCP.F32 R13.x, R11.z;
  15022. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  15023. MOV.U.CC RC.x, -R11.z;
  15024. MOV.S R19.z, R13.x;
  15025. IF NE.x;
  15026. MOV.S R14.w, R25.z;
  15027. ELSE;
  15028. MOV.S R14.w, R19.z;
  15029. ENDIF;
  15030. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  15031. MOV.U.CC RC.x, -R11.z;
  15032. IF NE.x;
  15033. MOV.F R13.x, R29.w;
  15034. ELSE;
  15035. MOV.F R11.z, R29.w;
  15036. MOV.F R13.x, -R11.z;
  15037. ENDIF;
  15038. MOV.F R11.z, R29.w;
  15039. MUL.F32 R11.z, R11, {1.57079637, 0, 0, 0}.x;
  15040. MOV.S R30.w, R11.z;
  15041. SEQ.S R11.z, R13.y, {0, 0, 0, 0}.x;
  15042. MOV.U.CC RC.x, -R11.z;
  15043. MOV.S R24.z, R13.x;
  15044. IF NE.x;
  15045. MOV.S R11.z, {0, 0, 0, 0}.x;
  15046. ELSE;
  15047. MOV.S R11.z, R30.w;
  15048. ENDIF;
  15049. MOV.F R13.x, R27;
  15050. MOV.F R13.y, R22.x;
  15051. MUL.F32 R13.z, R13.y, R13.x;
  15052. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  15053. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  15054. TRUNC.U R13.x, R13;
  15055. TRUNC.U R13.y, R13;
  15056. AND.U.CC HC.x, R13.y, R13;
  15057. IF NE.x;
  15058. MOV.F R15.w, R13.z;
  15059. ELSE;
  15060. MOV.F R15.w, {0, 0, 0, 0}.x;
  15061. ENDIF;
  15062. MOV.F R13.z, R14.y;
  15063. MOV.F R13.z, -R13;
  15064. MOV.F R13.y, R27.x;
  15065. MOV.F R13.x, R15.y;
  15066. MUL.F32 R15.x, R13, R13.y;
  15067. SNE.F32 R13.x, R13, {0, 0, 0, 0};
  15068. MOV.S R14.z, R13;
  15069. TRUNC.U R13.z, R13.x;
  15070. SNE.F32 R13.x, R13.y, {0, 0, 0, 0};
  15071. MOV.F R13.y, R14.w;
  15072. MIN.F R14.w, R13.y, {1, 0, 0, 0}.x;
  15073. TRUNC.U R13.x, R13;
  15074. AND.U.CC HC.x, R13.z, R13;
  15075. MOV.S R13.y, R15.w;
  15076. MOV.S R29.w, R14;
  15077. IF NE.x;
  15078. ELSE;
  15079. MOV.F R15.x, {0, 0, 0, 0};
  15080. ENDIF;
  15081. MOV.F R13
  15082. [19:43:30] Link error in shader. Log:
  15083. [19:43:30] Vertex info
  15084. -----------
  15085. Internal error: assembly compile error for vertex shader at offset 1782:
  15086. -- error message --
  15087. line 37, column 45: error: invalid vertex attribute reference
  15088. line 42, column 25: error: invalid vertex attribute reference
  15089. line 46, column 25: error: invalid vertex attribute reference
  15090. line 49, column 25: error: invalid vertex attribute reference
  15091. line 52, column 25: error: invalid vertex attribute reference
  15092. -- internal assembly text --
  15093. !!NVvp5.0
  15094. OPTION NV_bindless_texture;
  15095. # cgc version 3.4.0001, build date Aug 25 2016
  15096. # command line args:
  15097. #vendor NVIDIA Corporation
  15098. #version 3.4.0.1 COP Build Date Aug 25 2016
  15099. #profile gp5vp
  15100. #program main
  15101. #semantic uf_remappedVS
  15102. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  15103. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  15104. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 0
  15105. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  15106. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  15107. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  15108. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  15109. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  15110. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  15111. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  15112. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  15113. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  15114. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  15115. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  15116. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 0
  15117. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  15118. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  15119. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  15120. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  15121. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  15122. #var float4 passParameterSem3 : $vout.ATTR1 : ATTR1 : -1 : 1
  15123. #var float4 passParameterSem4 : $vout.ATTR2 : ATTR2 : -1 : 1
  15124. #var float4 passParameterSem7 : $vout.ATTR3 : ATTR3 : -1 : 1
  15125. #var float4 passParameterSem8 : $vout.ATTR4 : ATTR4 : -1 : 1
  15126. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  15127. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  15128. PARAM c[39] = { program.local[0..38] };
  15129. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  15130. OUTPUT result_attrib[] = { result.attrib[0..4] };
  15131. 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;
  15132. TEMP RC;
  15133. SHORT TEMP HC;
  15134. SHR.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  15135. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15136. SHR.U R3.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  15137. AND.U R3.zw, R3.xyxy, {65280, 0, 0, 0}.x;
  15138. SHR.U R0, vertex.attrib[16], {24, 0, 0, 0}.x;
  15139. SHR.U R3.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  15140. OR.U R0, R0, R1;
  15141. SHL.U R2, vertex.attrib[16], {8, 0, 0, 0}.x;
  15142. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15143. OR.U R0, R0, R1;
  15144. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  15145. OR.U R4, R0, R2;
  15146. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  15147. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15148. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  15149. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  15150. OR.U R1, R1, R2;
  15151. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  15152. OR.U R0, R1, R0;
  15153. SHL.U R2, vertex.attrib[8], {24, 0, 0, 0}.x;
  15154. OR.U R5, R0, R2;
  15155. SHR.U R1, vertex.attrib[0], {8, 0, 0, 0}.x;
  15156. AND.U R2, R1, {65280, 0, 0, 0}.x;
  15157. SHR.U R1, vertex.attrib[0], {24, 0, 0, 0}.x;
  15158. OR.U R1, R1, R2;
  15159. SHL.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  15160. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  15161. OR.U R1, R1, R2;
  15162. SHL.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  15163. OR.U R6, R1, R0;
  15164. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  15165. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15166. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  15167. OR.U R0, R0, R1;
  15168. SHL.U R2, vertex.attrib[1], {8, 0, 0, 0}.x;
  15169. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15170. OR.U R0, R0, R1;
  15171. SHL.U R2, vertex.attrib[1], {24, 0, 0, 0}.x;
  15172. OR.U R7, R0, R2;
  15173. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  15174. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15175. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  15176. OR.U R0, R0, R1;
  15177. SHL.U R2, vertex.attrib[2], {8, 0, 0, 0}.x;
  15178. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15179. OR.U R0, R0, R1;
  15180. SHL.U R2, vertex.attrib[2], {24, 0, 0, 0}.x;
  15181. OR.U R8, R0, R2;
  15182. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  15183. AND.U R1, R0, {65280, 0, 0, 0}.x;
  15184. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  15185. OR.U R0, R0, R1;
  15186. SHL.U R2, vertex.attrib[5], {8, 0, 0, 0}.x;
  15187. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  15188. OR.U R0, R0, R1;
  15189. SHL.U R2, vertex.attrib[5], {24, 0, 0, 0}.x;
  15190. OR.U R11, R0, R2;
  15191. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  15192. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15193. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  15194. OR.U R0.xyz, R0, R1;
  15195. SHL.U R2.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  15196. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15197. OR.U R0.xyz, R0, R1;
  15198. SHL.U R2.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  15199. OR.U R18.xyz, R0, R2;
  15200. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15201. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15202. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15203. OR.U R0.xyz, R0, R1;
  15204. SHL.U R2.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  15205. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15206. OR.U R0.xyz, R0, R1;
  15207. SHL.U R2.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  15208. OR.U R21.xyz, R0, R2;
  15209. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  15210. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15211. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  15212. OR.U R0.xyz, R0, R1;
  15213. SHL.U R2.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  15214. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15215. OR.U R0.xyz, R0, R1;
  15216. SHL.U R2.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  15217. OR.U R20.xyz, R0, R2;
  15218. SHR.U R0.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15219. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15220. SHR.U R0.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15221. OR.U R0.xyz, R0, R1;
  15222. SHL.U R2.xyz, vertex.attrib[6], {8, 0, 0, 0}.x;
  15223. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15224. OR.U R0.xyz, R0, R1;
  15225. SHL.U R2.xyz, vertex.attrib[6], {24, 0, 0, 0}.x;
  15226. OR.U R19.xyz, R0, R2;
  15227. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15228. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15229. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15230. OR.U R0.xyz, R0, R1;
  15231. SHL.U R2.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  15232. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15233. OR.U R0.xyz, R0, R1;
  15234. SHL.U R2.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  15235. OR.U R9.xyz, R0, R2;
  15236. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  15237. AND.U R1.xyz, R0, {65280, 0, 0, 0}.x;
  15238. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  15239. OR.U R0.xyz, R0, R1;
  15240. SHL.U R2.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  15241. AND.U R1.xyz, R2, {16711680, 0, 0, 0}.x;
  15242. OR.U R0.xyz, R0, R1;
  15243. SHL.U R2.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  15244. OR.U R10.xyz, R0, R2;
  15245. SHR.U R1.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  15246. AND.U R1.zw, R1.xyxy, {65280, 0, 0, 0}.x;
  15247. SHR.U R1.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  15248. OR.U R1.xy, R1, R1.zwzw;
  15249. SHL.U R2.xy, vertex.attrib[9].zwzw, {8, 0, 0, 0}.x;
  15250. AND.U R1.zw, R2.xyxy, {16711680, 0, 0, 0}.x;
  15251. SHL.U R2.xy, vertex.attrib[9].zwzw, {24, 0, 0, 0}.x;
  15252. OR.U R1.xy, R1, R1.zwzw;
  15253. OR.U R12.zw, R1.xyxy, R2.xyxy;
  15254. OR.U R3.xy, R3, R3.zwzw;
  15255. SHL.U R12.xy, vertex.attrib[15], {8, 0, 0, 0}.x;
  15256. AND.U R3.zw, R12.xyxy, {16711680, 0, 0, 0}.x;
  15257. OR.U R3.xy, R3, R3.zwzw;
  15258. SHL.U R12.xy, vertex.attrib[15], {24, 0, 0, 0}.x;
  15259. OR.U R22.zw, R3.xyxy, R12.xyxy;
  15260. MOV.U R2.x, R12.w;
  15261. MOV.F R2.y, c[0].x;
  15262. ADD.F32 R9.w, -R2.x, R2.y;
  15263. SGT.F32 R10.w, {0, 0, 0, 0}.x, R9;
  15264. TRUNC.U R12.x, R10.w;
  15265. SEQ.U R3.x, R12, {1, 0, 0, 0};
  15266. SEQ.U R12.y, -R3.x, {1, 0, 0, 0}.x;
  15267. MOV.S R23.x, R9.w;
  15268. MOV.F R10.w, {1, 0, 0, 0}.x;
  15269. MOV.U.CC RC.x, -R12.y;
  15270. MOV.S R0, {0, 0, 0, 0}.x;
  15271. MOV.S R1, {0, 0, 0, 0}.x;
  15272. MOV.S R2, {0, 0, 0, 0}.x;
  15273. MOV.S R23.y, R12.z;
  15274. MOV.S R17.xyz, {0, 0, 0, 0}.x;
  15275. MOV.S R22.xy, {0, 0, 0, 0}.x;
  15276. MOV.S R3.yz, {0, 0, 0, 0};
  15277. MOV.S R3.x, vertex.id;
  15278. MOV.S R3.w, vertex.instance.x;
  15279. MOV.S R9.w, {0, 0, 0, 0}.x;
  15280. MOV.S R10.w, R10;
  15281. IF NE.x;
  15282. MOV.F R0.z, c[1].y;
  15283. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  15284. MOV.S R11.w, R10;
  15285. MOV.S R0.xyw, {0, 0, 0, 0}.x;
  15286. MOV.S R22.xy, {0, 0, 0, 0}.x;
  15287. MOV.S R0.z, R0;
  15288. ENDIF;
  15289. SEQ.U R12.x, R12, {0, 0, 0, 0};
  15290. SEQ.U R12.x, -R12, {1, 0, 0, 0};
  15291. SEQ.U R12.x, -R12, {1, 0, 0, 0};
  15292. MOV.U.CC RC.x, -R12;
  15293. IF NE.x;
  15294. MOV.S R11.w, {0, 0, 0, 0}.x;
  15295. ENDIF;
  15296. SEQ.S R11.w, R11, {0, 0, 0, 0}.x;
  15297. SEQ.U R12.x, -R11.w, {1, 0, 0, 0};
  15298. SEQ.U R12.y, -R12.x, {1, 0, 0, 0}.x;
  15299. MOV.U.CC RC.x, -R12.y;
  15300. MOV.U R11.w, -R11;
  15301. MOV.U R12.x, -R12;
  15302. IF NE.x;
  15303. MOV.F R12.y, R5.w;
  15304. TRUNC.S R12.y, R12;
  15305. I2F.S R12.y, R12;
  15306. MOV.F R12.z, R23.x;
  15307. SGE.F32 R12.z, R12, R12.y;
  15308. MOV.S R23.y, R12;
  15309. TRUNC.U R12.y, R12.z;
  15310. SEQ.U R12.z, R12.x, {1, 0, 0, 0}.x;
  15311. SEQ.U R12.x, R12.y, {1, 0, 0, 0};
  15312. AND.U R17.w, -R12.x, -R12.z;
  15313. ELSE;
  15314. MOV.U R17.w, {0, 0, 0, 0}.x;
  15315. ENDIF;
  15316. SEQ.U R12.x, R17.w, {1, 0, 0, 0};
  15317. MOV.U.CC RC.x, -R12;
  15318. IF NE.x;
  15319. MOV.F R0.z, c[1].y;
  15320. MUL.F32 R0.z, R0, {5, 0, 0, 0}.x;
  15321. MOV.S R9.w, R10;
  15322. MOV.S R0.xy, {0, 0, 0, 0};
  15323. MOV.S R0.z, R0;
  15324. MOV.S R22.x, {0, 0, 0, 0};
  15325. ENDIF;
  15326. SEQ.U R10.w, R11, {1, 0, 0, 0}.x;
  15327. SEQ.U R11.w, -R10, {1, 0, 0, 0}.x;
  15328. MOV.U.CC RC.x, -R11.w;
  15329. MOV.U R12.x, -R10.w;
  15330. IF NE.x;
  15331. SEQ.S R10.w, R9, {0, 0, 0, 0}.x;
  15332. SEQ.U R11.w, R12.x, {1, 0, 0, 0}.x;
  15333. SEQ.U R10.w, -R10, {1, 0, 0, 0}.x;
  15334. AND.U R17.w, -R10, -R11;
  15335. ELSE;
  15336. MOV.U R17.w, {0, 0, 0, 0}.x;
  15337. ENDIF;
  15338. SEQ.U R10.w, R17, {1, 0, 0, 0}.x;
  15339. MOV.U.CC RC.x, -R10.w;
  15340. IF NE.x;
  15341. MOV.F R3.y, c[2].x;
  15342. SLT.F32 R3.z, R3.y, {0, 0, 0, 0}.x;
  15343. MOV.F R3.x, {1, 0, 0, 0};
  15344. TRUNC.U.CC HC.x, R3.z;
  15345. MOV.F R3.x(EQ), {0, 0, 0, 0};
  15346. MOV.S R12.x, R3;
  15347. MOV.F R3.x, R20;
  15348. MAX.F R3.x, R3, {0, 0, 0, 0};
  15349. SGT.F32 R3.y, R3, {0, 0, 0, 0}.x;
  15350. TRUNC.U.CC HC.x, R3.y;
  15351. MOV.S R12.y, R3.x;
  15352. IF NE.x;
  15353. MOV.F R3.x, {1, 0, 0, 0};
  15354. ELSE;
  15355. MOV.F R3.x, {0, 0, 0, 0};
  15356. ENDIF;
  15357. MOV.F R3.y, R20.x;
  15358. SNE.F32 R3.w, R3.y, {0, 0, 0, 0}.x;
  15359. MOV.F R3.z, c[3].y;
  15360. MUL.F32 R3.y, R3, R3.z;
  15361. SNE.F32 R3.z, R3, {0, 0, 0, 0}.x;
  15362. TRUNC.U R3.w, R3;
  15363. TRUNC.U R3.z, R3;
  15364. AND.U.CC HC.x, R3.w, R3.z;
  15365. MOV.S R12.z, R3.x;
  15366. IF NE.x;
  15367. ELSE;
  15368. MOV.F R3.y, {0, 0, 0, 0}.x;
  15369. ENDIF;
  15370. MOV.F R9.w, R23.x;
  15371. MOV.F R3.z, R12.x;
  15372. MOV.F R3.x, R12.z;
  15373. ADD.F32 R3.x, R3, -R3.z;
  15374. MOV.F R3.z, R23.y;
  15375. DIV.F32 R10.w, R9, R3.z;
  15376. SNE.F32 R3.z, -R3.x, {-1, 0, 0, 0}.x;
  15377. ADD.F32 R3.w, -R3.x, {1, 0, 0, 0}.x;
  15378. MOV.S R13.x, R3;
  15379. MOV.F R3.x, R12.y;
  15380. TRUNC.U R5.w, R3.z;
  15381. MIN.F R3.z, R3.x, {0, 0, 0, 0}.x;
  15382. MOV.F R3.x, R21;
  15383. ADD.F32 R3.x, R3, R3.z;
  15384. MOV.F R3.z, c[2].x;
  15385. RCP.F32 R11.w, R3.z;
  15386. MAD.F32 R3.y, R9.w, R11.w, R3;
  15387. SNE.F32 R9.w, R10, {0, 0, 0, 0}.x;
  15388. TRUNC.U R11.w, R9;
  15389. MOV.S R12.y, R3;
  15390. AND.U.CC HC.x, R11.w, R5.w;
  15391. MOV.F R9.w, c[5].x;
  15392. MOV.F R3.y, c[4].x;
  15393. ADD.F32 R3.y, -R3, R9.w;
  15394. MUL.F32 R3.w, R10, R3;
  15395. MOV.S R3.z, R10.w;
  15396. MOV.F R10.w, c[5].y;
  15397. MOV.F R9.w, c[4].y;
  15398. ADD.F32 R9.w, -R9, R10;
  15399. MOV.S R3.x, R3;
  15400. MOV.S R14.z, R3.y;
  15401. MOV.S R16.z, R9.w;
  15402. IF NE.x;
  15403. MOV.F R3.y, R3.w;
  15404. ELSE;
  15405. MOV.F R3.y, {0, 0, 0, 0}.x;
  15406. ENDIF;
  15407. MOV.F R3.w, R12.y;
  15408. MOV.F R12, R6;
  15409. FRC.F R3.w, R3;
  15410. MOV.F R6.xyz, R5;
  15411. MOV.F R6.w, {1, 0, 0, 0}.x;
  15412. DP4.F32 R5.w, R12, R6;
  15413. MOV.S R3.w, R3;
  15414. MOV.S R6.w, R5;
  15415. MOV.F R6.x, R3.w;
  15416. MOV.F R5.w, R13.x;
  15417. MUL.F32 R3.w, R5, R6.x;
  15418. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  15419. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  15420. TRUNC.U R6.z, R5.w;
  15421. TRUNC.U R9.w, R6.x;
  15422. AND.U.CC HC.x, R6.z, R9.w;
  15423. MOV.F R6.x, c[5].z;
  15424. MOV.F R5.w, c[4].z;
  15425. ADD.F32 R5.w, -R5, R6.x;
  15426. MOV.F R6.y, c[5].w;
  15427. MOV.F R6.x, c[4].w;
  15428. ADD.F32 R6.x, -R6, R6.y;
  15429. MOV.S R14.y, R5.w;
  15430. MOV.S R13.z, R6.x;
  15431. MOV.S R14.x, R3.y;
  15432. IF NE.x;
  15433. MOV.F R3.y, R3.w;
  15434. ELSE;
  15435. MOV.F R3.y, {0, 0, 0, 0}.x;
  15436. ENDIF;
  15437. MOV.F R3.w, R14.x;
  15438. ADD.F32 R6.y, R3.w, R3;
  15439. MOV.F R3.w, c[5];
  15440. SLT.F32 R5.w, R6.y, R3;
  15441. MOV.F R3.y, {1, 0, 0, 0}.x;
  15442. MOV.S R6.x, R3.y;
  15443. MOV.S R3.w, {0, 0, 0, 0}.x;
  15444. TRUNC.U.CC HC.x, R5.w;
  15445. MOV.S R3.w(EQ.x), R6.x;
  15446. MOV.F R6.z, c[4].w;
  15447. SLT.F32 R5.w, R6.y, R6.z;
  15448. TRUNC.U.CC HC.x, R5.w;
  15449. MOV.S R3.y, {0, 0, 0, 0}.x;
  15450. MOV.S R3.y(EQ.x), R6.x;
  15451. SNE.F32 R5.w, R3, {0, 0, 0, 0}.x;
  15452. TRUNC.U R6.x, R5.w;
  15453. MOV.S R13.y, R3;
  15454. MOV.F R12, R7;
  15455. ADD.F32 R3.y, -R3, {1, 0, 0, 0}.x;
  15456. MOV.F R11.w, R16.z;
  15457. MOV.F R10.w, c[5].x;
  15458. MOV.S R16.z, R3.y;
  15459. MOV.F R5.w, {1, 0, 0, 0}.x;
  15460. MOV.S R13.w, R3;
  15461. MUL.F32 R3.y, R10.w, R3.w;
  15462. DP4.F32 R3.w, R12, R5;
  15463. MOV.S R9.w, R3;
  15464. DP4.F32 R3.w, R5, R8;
  15465. MOV.F R5.x, R13.z;
  15466. DIV.F32 R5.z, R11.w, R5.x;
  15467. MOV.F R5.y, R14.z;
  15468. DIV.F32 R5.y, R5, R5.x;
  15469. MOV.S R12.z, R5.y;
  15470. MOV.F R5.y, R14;
  15471. DIV.F32 R5.x, R5.y, R5.x;
  15472. MOV.S R12.y, R5.z;
  15473. MOV.S R12.x, R5;
  15474. MOV.F R5.x, R20.y;
  15475. MOV.F R5.y, R20.z;
  15476. ADD.F32 R5.y, R5.x, R5;
  15477. MOV.F R5.z, R20.x;
  15478. ADD.F32 R5.x, R5, R5.z;
  15479. MOV.S R13.z, R5.y;
  15480. MOV.S R14.w, R5.x;
  15481. ADD.F32 R5.x, R6.y, -R6.z;
  15482. SNE.F32 R5.y, R10.w, {0, 0, 0, 0}.x;
  15483. MOV.S R14.x, R5;
  15484. TRUNC.U R5.x, R5.y;
  15485. AND.U.CC HC.x, R5, R6;
  15486. MOV.S R3.w, R3;
  15487. IF NE.x;
  15488. ELSE;
  15489. MOV.F R3.y, {0, 0, 0, 0}.x;
  15490. ENDIF;
  15491. MOV.F R5.z, R12.x;
  15492. MOV.F R5.y, R14.x;
  15493. MUL.F32 R5.x, R5.y, R5.z;
  15494. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15495. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15496. TRUNC.U R5.y, R5;
  15497. TRUNC.U R5.z, R5;
  15498. AND.U.CC HC.x, R5.y, R5.z;
  15499. MOV.S R13.x, R3.y;
  15500. IF NE.x;
  15501. MOV.F R3.y, R5.x;
  15502. ELSE;
  15503. MOV.F R3.y, {0, 0, 0, 0}.x;
  15504. ENDIF;
  15505. MOV.F R5.z, R12.y;
  15506. MOV.F R5.y, R14.x;
  15507. MUL.F32 R5.x, R5.y, R5.z;
  15508. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15509. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15510. TRUNC.U R5.y, R5;
  15511. TRUNC.U R5.z, R5;
  15512. AND.U.CC HC.x, R5.y, R5.z;
  15513. MOV.S R15.y, R3;
  15514. IF NE.x;
  15515. MOV.F R3.y, R5.x;
  15516. ELSE;
  15517. MOV.F R3.y, {0, 0, 0, 0}.x;
  15518. ENDIF;
  15519. MOV.F R5.z, R12;
  15520. MOV.F R5.y, R14.x;
  15521. MUL.F32 R5.x, R5.y, R5.z;
  15522. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15523. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15524. TRUNC.U R5.y, R5;
  15525. TRUNC.U R5.z, R5;
  15526. AND.U.CC HC.x, R5.y, R5.z;
  15527. MOV.S R15.z, R3.y;
  15528. IF NE.x;
  15529. MOV.F R3.y, R5.x;
  15530. ELSE;
  15531. MOV.F R3.y, {0, 0, 0, 0}.x;
  15532. ENDIF;
  15533. MOV.F R5.x, R13.w;
  15534. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  15535. MOV.F R5.y, c[5];
  15536. MUL.F32 R5.x, R5.y, R5;
  15537. TRUNC.U R5.z, R5;
  15538. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15539. MOV.S R15.w, R3.y;
  15540. TRUNC.U R3.y, R5;
  15541. AND.U.CC HC.x, R3.y, R5.z;
  15542. IF NE.x;
  15543. MOV.F R3.y, R5.x;
  15544. ELSE;
  15545. MOV.F R3.y, {0, 0, 0, 0}.x;
  15546. ENDIF;
  15547. MOV.F R5.y, R15.z;
  15548. MOV.F R5.x, c[4].y;
  15549. ADD.F32 R5.x, R5, R5.y;
  15550. MOV.S R16.w, R5.x;
  15551. MOV.F R5.w, R16.z;
  15552. MOV.F R5.y, R15;
  15553. MOV.F R5.x, c[4].z;
  15554. ADD.F32 R5.x, R5, R5.y;
  15555. MOV.S R14.z, R5.x;
  15556. MOV.F R5.y, c[4].x;
  15557. MOV.F R5.x, R15.w;
  15558. ADD.F32 R5.x, R5.y, R5;
  15559. MOV.F R5.z, R13.w;
  15560. MOV.S R14.x, R5;
  15561. ADD.F32 R5.x, -R5.z, {1, 0, 0, 0};
  15562. MOV.S R12.y, R5.x;
  15563. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  15564. MUL.F32 R5.x, R5.y, R5.w;
  15565. TRUNC.U R5.z, R5;
  15566. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15567. MOV.S R16.y, R3;
  15568. TRUNC.U R3.y, R5;
  15569. AND.U.CC HC.x, R3.y, R5.z;
  15570. IF NE.x;
  15571. MOV.F R3.y, R5.x;
  15572. ELSE;
  15573. MOV.F R3.y, {0, 0, 0, 0}.x;
  15574. ENDIF;
  15575. MOV.F R5.x, R13.w;
  15576. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  15577. MOV.F R5.y, c[5].z;
  15578. MUL.F32 R5.x, R5.y, R5;
  15579. TRUNC.U R5.z, R5;
  15580. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15581. MOV.S R14.y, R3;
  15582. TRUNC.U R3.y, R5;
  15583. AND.U.CC HC.x, R3.y, R5.z;
  15584. MOV.S R6.z, R13.y;
  15585. IF NE.x;
  15586. MOV.F R3.y, R5.x;
  15587. ELSE;
  15588. MOV.F R3.y, {0, 0, 0, 0}.x;
  15589. ENDIF;
  15590. MOV.F R5.x, R16.z;
  15591. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  15592. MOV.F R5.y, c[4];
  15593. MUL.F32 R5.x, R5.y, R5;
  15594. TRUNC.U R5.z, R5;
  15595. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15596. MOV.S R16.x, R3.y;
  15597. TRUNC.U R3.y, R5;
  15598. AND.U.CC HC.x, R3.y, R5.z;
  15599. IF NE.x;
  15600. MOV.F R3.y, R5.x;
  15601. ELSE;
  15602. MOV.F R3.y, {0, 0, 0, 0}.x;
  15603. ENDIF;
  15604. MOV.F R5.x, R12.y;
  15605. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  15606. MOV.F R5.y, R6.z;
  15607. MUL.F32 R5.x, R5.y, R5;
  15608. TRUNC.U R5.z, R5;
  15609. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15610. MOV.S R13.y, R3;
  15611. TRUNC.U R3.y, R5;
  15612. AND.U.CC HC.x, R3.y, R5.z;
  15613. IF NE.x;
  15614. MOV.F R3.y, R5.x;
  15615. ELSE;
  15616. MOV.F R3.y, {0, 0, 0, 0}.x;
  15617. ENDIF;
  15618. MOV.F R5.x, R13.z;
  15619. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  15620. MOV.F R5.x, R14.w;
  15621. MOV.S R13.z, R5.y;
  15622. MUL.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x;
  15623. MOV.S R5.x, R3.y;
  15624. MOV.S R3.y, R5.x;
  15625. MOV.S R13.w, R5.y;
  15626. MOV.F R5.z, R3.y;
  15627. MOV.F R5.y, R16.w;
  15628. MUL.F32 R3.y, R5, R5.z;
  15629. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15630. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15631. TRUNC.U R5.y, R5;
  15632. TRUNC.U R5.z, R5;
  15633. AND.U.CC HC.x, R5.y, R5.z;
  15634. MOV.S R15.z, R5.x;
  15635. IF NE.x;
  15636. ELSE;
  15637. MOV.F R3.y, {0, 0, 0, 0}.x;
  15638. ENDIF;
  15639. MOV.F R5.z, R15;
  15640. MOV.F R5.y, R14.x;
  15641. MUL.F32 R5.x, R5.y, R5.z;
  15642. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15643. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15644. TRUNC.U R5.y, R5;
  15645. TRUNC.U R5.z, R5;
  15646. AND.U.CC HC.x, R5.y, R5.z;
  15647. MOV.S R12.x, R3.y;
  15648. IF NE.x;
  15649. MOV.F R3.y, R5.x;
  15650. ELSE;
  15651. MOV.F R3.y, {0, 0, 0, 0}.x;
  15652. ENDIF;
  15653. MOV.F R5.x, R16.z;
  15654. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  15655. MOV.F R5.y, c[4].z;
  15656. MUL.F32 R5.x, R5.y, R5;
  15657. TRUNC.U R5.z, R5;
  15658. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15659. MOV.S R12.y, R3;
  15660. TRUNC.U R3.y, R5;
  15661. AND.U.CC HC.x, R3.y, R5.z;
  15662. IF NE.x;
  15663. MOV.F R3.y, R5.x;
  15664. ELSE;
  15665. MOV.F R3.y, {0, 0, 0, 0}.x;
  15666. ENDIF;
  15667. MOV.F R5.z, R15;
  15668. MOV.F R5.y, R14.z;
  15669. MUL.F32 R5.x, R5.y, R5.z;
  15670. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15671. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15672. TRUNC.U R5.y, R5;
  15673. TRUNC.U R5.z, R5;
  15674. AND.U.CC HC.x, R5.y, R5.z;
  15675. MOV.S R12.z, R3.y;
  15676. IF NE.x;
  15677. MOV.F R3.y, R5.x;
  15678. ELSE;
  15679. MOV.F R3.y, {0, 0, 0, 0}.x;
  15680. ENDIF;
  15681. MOV.F R5.y, R13;
  15682. MOV.F R5.x, R12;
  15683. ADD.F32 R5.x, R5, R5.y;
  15684. MOV.F R5.y, R12.z;
  15685. MOV.F R5.z, R16.y;
  15686. ADD.F32 R5.x, R5.z, R5;
  15687. MOV.S R12.z, R5.x;
  15688. ADD.F32 R3.y, R3, R5;
  15689. MOV.F R5.x, R16;
  15690. ADD.F32 R5.y, R5.x, R3;
  15691. MOV.F R3.y, R12;
  15692. MOV.F R5.z, R13.w;
  15693. MOV.F R5.x, R14.y;
  15694. MOV.S R12.y, R5;
  15695. ADD.F32 R5.y, R3, R5.x;
  15696. MOV.F R5.x, R13;
  15697. ADD.F32 R3.y, R5.x, R5;
  15698. SNE.F32 R5.y, R5.x, -R5;
  15699. ADD.F32 R5.x, R5.z, {-0.5, 0, 0, 0};
  15700. MUL.F32 R5.z, R5.x, {2, 0, 0, 0}.x;
  15701. MOV.F R5.w, R3.x;
  15702. TRUNC.U R6.x, R5.y;
  15703. MOV.F R5.y, R20.z;
  15704. MOV.F R5.x, R20;
  15705. ADD.F32 R5.x, R5, R5.y;
  15706. MAD.F32 R5.y, R5.x, {0.5, 0, 0, 0}.x, -{0.5, 0, 0, 0}.x;
  15707. MUL.F32 R5.y, R5, {2, 0, 0, 0}.x;
  15708. MOV.F R5.x, R13.z;
  15709. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  15710. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  15711. MOV.S R13.w, R5.y;
  15712. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  15713. MOV.S R13.x, R5;
  15714. TRUNC.U R5.x, R5.y;
  15715. AND.U.CC HC.x, R5, R6;
  15716. MUL.F32 R3.y, R5.w, R3;
  15717. MOV.S R14.x, R5.z;
  15718. IF NE.x;
  15719. MOV.F R5.x, R3.y;
  15720. ELSE;
  15721. MOV.F R5.x, {0, 0, 0, 0};
  15722. ENDIF;
  15723. MOV.F R3.y, R12;
  15724. MOV.F R5.z, R21;
  15725. MUL.F32 R5.y, R5.z, R3;
  15726. SNE.F32 R5.w, R3.y, {0, 0, 0, 0}.x;
  15727. MOV.F R3.y, R20.x;
  15728. ADD.F32 R3.y, R3, {-0.5, 0, 0, 0}.x;
  15729. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15730. TRUNC.U R5.w, R5;
  15731. TRUNC.U R5.z, R5;
  15732. AND.U.CC HC.x, R5.z, R5.w;
  15733. MOV.S R3.y, R3;
  15734. MOV.S R8.x, R5;
  15735. IF NE.x;
  15736. MOV.F R5.x, R5.y;
  15737. ELSE;
  15738. MOV.F R5.x, {0, 0, 0, 0};
  15739. ENDIF;
  15740. MOV.F R5.w, R12.z;
  15741. MOV.F R5.z, R21.y;
  15742. MUL.F32 R5.y, R5.z, R5.w;
  15743. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  15744. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  15745. TRUNC.U R5.w, R5;
  15746. TRUNC.U R5.z, R5;
  15747. AND.U.CC HC.x, R5.z, R5.w;
  15748. MOV.S R21.z, R5.x;
  15749. IF NE.x;
  15750. ELSE;
  15751. MOV.F R5.y, {0, 0, 0, 0}.x;
  15752. ENDIF;
  15753. MOV.F R5.x, R13;
  15754. MOV.F R5.w, c[6].y;
  15755. MUL.F32 R5.z, R5.x, R5.w;
  15756. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  15757. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  15758. TRUNC.U R6.y, R5.w;
  15759. MOV.F R5.x, R20.y;
  15760. TRUNC.U R6.x, R6;
  15761. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  15762. AND.U.CC HC.x, R6, R6.y;
  15763. MOV.S R5.x, R5;
  15764. MOV.S R5.w, R5.y;
  15765. IF NE.x;
  15766. MOV.F R5.y, R5.z;
  15767. ELSE;
  15768. MOV.F R5.y, {0, 0, 0, 0}.x;
  15769. ENDIF;
  15770. MOV.F R6.y, c[6].z;
  15771. MOV.F R6.x, R13.w;
  15772. MUL.F32 R5.z, R6.x, R6.y;
  15773. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  15774. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  15775. TRUNC.U R6.x, R6;
  15776. TRUNC.U R6.y, R6;
  15777. AND.U.CC HC.x, R6, R6.y;
  15778. MOV.S R12.x, R5.y;
  15779. IF NE.x;
  15780. MOV.F R5.y, R5.z;
  15781. ELSE;
  15782. MOV.F R5.y, {0, 0, 0, 0}.x;
  15783. ENDIF;
  15784. MOV.F R5.z, R14.x;
  15785. MOV.F R6.y, c[6].x;
  15786. MUL.F32 R6.x, R5.z, R6.y;
  15787. SNE.F32 R6.z, R5, {0, 0, 0, 0}.x;
  15788. MOV.F R5.z, R20;
  15789. ADD.F32 R5.z, R5, {-0.5, 0, 0, 0}.x;
  15790. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  15791. TRUNC.U R6.z, R6;
  15792. TRUNC.U R6.y, R6;
  15793. AND.U.CC HC.x, R6.z, R6.y;
  15794. MOV.S R5.z, R5;
  15795. MOV.S R12.y, R5;
  15796. IF NE.x;
  15797. MOV.F R5.y, R6.x;
  15798. ELSE;
  15799. MOV.F R5.y, {0, 0, 0, 0}.x;
  15800. ENDIF;
  15801. MOV.F R6.y, R12;
  15802. MOV.F R6.x, c[7].z;
  15803. ADD.F32 R6.x, R6, R6.y;
  15804. MOV.F R6.y, R12.x;
  15805. MOV.S R7.x, R6;
  15806. MOV.F R6.x, c[7].y;
  15807. ADD.F32 R6.y, R6.x, R6;
  15808. MOV.F R6.x, R20.y;
  15809. MOV.S R8.z, R6.y;
  15810. MUL.F32 R6.x, R6, {2, 0, 0, 0};
  15811. FLR.F R6.x, R6;
  15812. MOV.S R6.x, R6;
  15813. MOV.F R6.y, R20.z;
  15814. MUL.F32 R6.y, R6, {2, 0, 0, 0}.x;
  15815. MOV.S R13.x, R6.y;
  15816. MOV.S R6.y, R6.x;
  15817. MOV.S R15.w, R6.x;
  15818. MOV.F R6.x, c[7];
  15819. ADD.F32 R5.y, R5, R6.x;
  15820. SGT.F32 R6.x, R6.y, {0, 0, 0, 0};
  15821. TRUNC.U.CC HC.x, R6;
  15822. MOV.S R6.y, R5;
  15823. AND.S R12.x, c[8], {65536, 0, 0, 0};
  15824. IF NE.x;
  15825. MOV.F R5.y, {1, 0, 0, 0}.x;
  15826. ELSE;
  15827. MOV.F R5.y, {0, 0, 0, 0}.x;
  15828. ENDIF;
  15829. MOV.F R6.x, R15.w;
  15830. SLT.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  15831. MOV.F R6.x, {1, 0, 0, 0};
  15832. TRUNC.U.CC HC.x, R6.z;
  15833. MOV.F R6.x(EQ), {0, 0, 0, 0};
  15834. ADD.F32 R5.y, R5, -R6.x;
  15835. MOV.S R8.y, R5;
  15836. MOV.F R5.y, R13.x;
  15837. FLR.F R5.y, R5;
  15838. MOV.S R5.y, R5;
  15839. MOV.S R15.z, R5.y;
  15840. I2F.S R6.x, R12;
  15841. SGT.F32 R5.y, R5, {0, 0, 0, 0}.x;
  15842. TRUNC.U.CC HC.x, R5.y;
  15843. MOV.S R6.x, R6;
  15844. AND.S R13.w, c[8].x, {262144, 0, 0, 0}.x;
  15845. AND.S R13.z, c[8].x, {131072, 0, 0, 0}.x;
  15846. IF NE.x;
  15847. MOV.F R5.y, {1, 0, 0, 0}.x;
  15848. ELSE;
  15849. MOV.F R5.y, {0, 0, 0, 0}.x;
  15850. ENDIF;
  15851. MOV.F R6.z, R15;
  15852. SLT.F32 R7.y, R6.z, {0, 0, 0, 0}.x;
  15853. TRUNC.U.CC HC.x, R7.y;
  15854. MOV.F R7.y, R6.x;
  15855. MOV.F R6.z, {1, 0, 0, 0}.x;
  15856. MOV.F R6.z(EQ.x), {0, 0, 0, 0}.x;
  15857. SLT.F32 R7.z, R7.y, {0, 0, 0, 0}.x;
  15858. MOV.F R6.x, {1, 0, 0, 0};
  15859. TRUNC.U.CC HC.x, R7.z;
  15860. MOV.F R6.x(EQ), {0, 0, 0, 0};
  15861. MOV.S R12.y, R6.x;
  15862. SGT.F32 R6.x, R7.y, {0, 0, 0, 0};
  15863. TRUNC.U.CC HC.x, R6;
  15864. MOV.S R12.z, R6;
  15865. MOV.S R12.x, R5.y;
  15866. IF NE.x;
  15867. MOV.F R5.y, {1, 0, 0, 0}.x;
  15868. ELSE;
  15869. MOV.F R5.y, {0, 0, 0, 0}.x;
  15870. ENDIF;
  15871. MOV.F R6.z, R12;
  15872. MOV.F R6.x, R12;
  15873. ADD.F32 R6.x, R6, -R6.z;
  15874. MOV.S R7.y, R6.x;
  15875. MOV.F R6.x, R12.y;
  15876. ADD.F32 R5.y, R5, -R6.x;
  15877. I2F.S R6.z, R13;
  15878. MOV.S R15.x, R5.y;
  15879. SGT.F32 R5.y, R6.z, {0, 0, 0, 0}.x;
  15880. TRUNC.U.CC HC.x, R5.y;
  15881. MOV.S R6.x, R6.z;
  15882. IF NE.x;
  15883. MOV.F R5.y, {1, 0, 0, 0}.x;
  15884. ELSE;
  15885. MOV.F R5.y, {0, 0, 0, 0}.x;
  15886. ENDIF;
  15887. SLT.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  15888. TRUNC.U.CC HC.x, R6.z;
  15889. MOV.F R6.x, {1, 0, 0, 0};
  15890. MOV.F R6.x(EQ), {0, 0, 0, 0};
  15891. I2F.S R6.z, R13.w;
  15892. MOV.S R15.w, R6.x;
  15893. MOV.S R6.x, R6.z;
  15894. SGT.F32 R6.z, R6, {0, 0, 0, 0}.x;
  15895. TRUNC.U.CC HC.x, R6.z;
  15896. MOV.S R15.z, R5.y;
  15897. IF NE.x;
  15898. MOV.F R5.y, {1, 0, 0, 0}.x;
  15899. ELSE;
  15900. MOV.F R5.y, {0, 0, 0, 0}.x;
  15901. ENDIF;
  15902. SLT.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  15903. TRUNC.U.CC HC.x, R6.z;
  15904. MOV.F R6.x, {1, 0, 0, 0};
  15905. MOV.F R6.x(EQ), {0, 0, 0, 0};
  15906. ADD.F32 R5.y, R5, -R6.x;
  15907. MOV.F R7.z, R15.x;
  15908. MOV.F R6.z, R15.w;
  15909. MOV.F R6.x, R15.z;
  15910. ADD.F32 R6.x, R6, -R6.z;
  15911. TRUNC.S R6.z, R7;
  15912. TRUNC.S R7.z, R6.x;
  15913. ADD.S R6.x, -R6.z, {0, 0, 0, 0};
  15914. TRUNC.S R5.y, R5;
  15915. MOV.S R8.w, R7.z;
  15916. MAX.S R21.y, R6.z, R6.x;
  15917. ADD.S R21.x, -R7.z, {0, 0, 0, 0};
  15918. ENDIF;
  15919. SEQ.U R6.x, R17.w, {1, 0, 0, 0};
  15920. MOV.U.CC RC.x, -R6;
  15921. IF NE.x;
  15922. MOV.F R6.x, R8;
  15923. MOV.F R6.z, c[9].y;
  15924. SNE.F32 R7.w, R6.x, {0, 0, 0, 0}.x;
  15925. MUL.F32 R7.z, R6.x, R6;
  15926. SNE.F32 R6.x, R6.z, {0, 0, 0, 0};
  15927. MAX.S R12.x, R21, R8.w;
  15928. TRUNC.U R8.w, R6.x;
  15929. TRUNC.U R7.w, R7;
  15930. AND.U.CC HC.x, R7.w, R8.w;
  15931. MOV.S R6.z, R21;
  15932. MOV.S R6.x, R21.y;
  15933. IF NE.x;
  15934. ELSE;
  15935. MOV.F R7.z, {0, 0, 0, 0}.x;
  15936. ENDIF;
  15937. MOV.F R7.w, R5;
  15938. MOV.F R8.w, c[9].z;
  15939. MUL.F32 R5.w, R7, R8;
  15940. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  15941. SNE.F32 R8.w, R8, {0, 0, 0, 0}.x;
  15942. TRUNC.U R7.w, R7;
  15943. TRUNC.U R8.w, R8;
  15944. AND.U.CC HC.x, R7.w, R8.w;
  15945. MOV.S R21.y, R7.z;
  15946. IF NE.x;
  15947. ELSE;
  15948. MOV.F R5.w, {0, 0, 0, 0}.x;
  15949. ENDIF;
  15950. MOV.F R7.z, R6;
  15951. MOV.F R7.w, c[9];
  15952. MUL.F32 R6.z, R7, R7.w;
  15953. MOV.S R21.z, R5.w;
  15954. SNE.F32 R5.w, R7.z, {0, 0, 0, 0}.x;
  15955. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  15956. TRUNC.U R7.z, R7.w;
  15957. TRUNC.U R5.w, R5;
  15958. AND.U.CC HC.x, R5.w, R7.z;
  15959. IF NE.x;
  15960. MOV.F R5.w, R6.z;
  15961. ELSE;
  15962. MOV.F R5.w, {0, 0, 0, 0}.x;
  15963. ENDIF;
  15964. MOV.F R6.z, R18;
  15965. SNE.F32 R7.z, R6, {0, 0, 0, 0}.x;
  15966. SNE.F32 R7.w, R5, {0, 0, 0, 0}.x;
  15967. I2F.S R6.x, R6;
  15968. MUL.F32 R6.z, R6, R5.w;
  15969. MUL.F32 R5.w, R6.x, {2, 0, 0, 0}.x;
  15970. TRUNC.U R7.z, R7;
  15971. TRUNC.U R7.w, R7;
  15972. AND.U.CC HC.x, R7.z, R7.w;
  15973. MOV.S R6.x, R5.w;
  15974. IF NE.x;
  15975. MOV.F R5.w, R6.z;
  15976. ELSE;
  15977. MOV.F R5.w, {0, 0, 0, 0}.x;
  15978. ENDIF;
  15979. MOV.F R6.z, R20.x;
  15980. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  15981. MOV.F R7.z, R6.x;
  15982. MOV.F R7.w, R8.y;
  15983. MUL.F32 R6.x, -R7.z, R7.w;
  15984. SNE.F32 R7.w, R7, {0, 0, 0, 0}.x;
  15985. MOV.S R15.z, R6;
  15986. TRUNC.U R7.w, R7;
  15987. SNE.F32 R6.z, -R7, {0, 0, 0, 0}.x;
  15988. MOV.S R21.x, R5.w;
  15989. TRUNC.U R5.w, R6.z;
  15990. AND.U.CC HC.x, R5.w, R7.w;
  15991. ADD.S R15.y, -R5, {0, 0, 0, 0}.x;
  15992. IF NE.x;
  15993. MOV.F R5.w, R6.x;
  15994. ELSE;
  15995. MOV.F R5.w, {0, 0, 0, 0}.x;
  15996. ENDIF;
  15997. MOV.F R7.z, R6.y;
  15998. I2F.S R6.x, R12;
  15999. MUL.F32 R6.x, R6, {2, 0, 0, 0};
  16000. MUL.F32 R6.z, R5.w, R7;
  16001. SNE.F32 R7.z, R7, {0, 0, 0, 0}.x;
  16002. SNE.F32 R7.w, R5, {0, 0, 0, 0}.x;
  16003. TRUNC.U R7.z, R7;
  16004. TRUNC.U R7.w, R7;
  16005. AND.U.CC HC.x, R7.z, R7.w;
  16006. MOV.S R6.x, R6;
  16007. MOV.S R15.w, R5;
  16008. IF NE.x;
  16009. MOV.F R5.w, R6.z;
  16010. ELSE;
  16011. MOV.F R5.w, {0, 0, 0, 0}.x;
  16012. ENDIF;
  16013. MOV.F R6.z, R6.x;
  16014. MUL.F32 R6.x, -R6.z, R7.y;
  16015. SNE.F32 R7.z, R7.y, {0, 0, 0, 0}.x;
  16016. TRUNC.U R7.y, R7.z;
  16017. SNE.F32 R6.z, -R6, {0, 0, 0, 0}.x;
  16018. MOV.S R12.x, R5.w;
  16019. TRUNC.U R5.w, R6.z;
  16020. AND.U.CC HC.x, R5.w, R7.y;
  16021. IF NE.x;
  16022. MOV.F R5.w, R6.x;
  16023. ELSE;
  16024. MOV.F R5.w, {0, 0, 0, 0}.x;
  16025. ENDIF;
  16026. MOV.F R6.x, R15.z;
  16027. FLR.F R6.x, R6;
  16028. MOV.S R12.w, R6.x;
  16029. MOV.F R6.z, R15.w;
  16030. MOV.F R6.x, R19;
  16031. MAX.S R12.z, R15.y, R5.y;
  16032. MUL.F32 R5.y, R6.x, R6.z;
  16033. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16034. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16035. TRUNC.U R6.z, R6;
  16036. TRUNC.U R6.x, R6;
  16037. AND.U.CC HC.x, R6, R6.z;
  16038. MOV.S R16.y, R5.w;
  16039. IF NE.x;
  16040. ELSE;
  16041. MOV.F R5.y, {0, 0, 0, 0}.x;
  16042. ENDIF;
  16043. MOV.F R6.x, R12;
  16044. MOV.F R5.w, R6.y;
  16045. ADD.F32 R5.w, R5, R6.x;
  16046. MOV.F R6.x, R12.w;
  16047. MOV.S R13.x, R5.w;
  16048. SGT.F32 R5.w, R6.x, {0, 0, 0, 0}.x;
  16049. TRUNC.U.CC HC.x, R5.w;
  16050. MOV.S R6.x, R5.y;
  16051. IF NE.x;
  16052. MOV.F R5.y, {1, 0, 0, 0}.x;
  16053. ELSE;
  16054. MOV.F R5.y, {0, 0, 0, 0}.x;
  16055. ENDIF;
  16056. MOV.F R5.w, R12;
  16057. SLT.F32 R6.z, R5.w, {0, 0, 0, 0}.x;
  16058. TRUNC.U.CC HC.x, R6.z;
  16059. MOV.F R5.w, {1, 0, 0, 0}.x;
  16060. MOV.F R5.w(EQ.x), {0, 0, 0, 0}.x;
  16061. I2F.S R6.z, R12;
  16062. MUL.F32 R6.z, R6, {2, 0, 0, 0}.x;
  16063. MOV.F R7.y, R8.z;
  16064. MOV.S R13.w, R6.z;
  16065. SNE.F32 R6.z, R7.y, {0, 0, 0, 0}.x;
  16066. MOV.F R7.z, R16.y;
  16067. MOV.S R15.z, R5.w;
  16068. MUL.F32 R5.w, R7.y, R7.z;
  16069. TRUNC.U R7.y, R6.z;
  16070. MOV.F R6.z, R6.x;
  16071. SNE.F32 R7.z, R7, {0, 0, 0, 0}.x;
  16072. TRUNC.U R7.z, R7;
  16073. MOV.F R6.x, R19;
  16074. ADD.F32 R6.x, R6, R6.z;
  16075. AND.U.CC HC.x, R7.y, R7.z;
  16076. MOV.S R16.w, R6.x;
  16077. MOV.S R15.y, R5;
  16078. IF NE.x;
  16079. MOV.F R5.y, R5.w;
  16080. ELSE;
  16081. MOV.F R5.y, {0, 0, 0, 0}.x;
  16082. ENDIF;
  16083. MOV.F R5.w, R3.y;
  16084. MOV.F R6.x, c[10];
  16085. MUL.F32 R3.y, R5.w, R6.x;
  16086. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16087. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16088. TRUNC.U R5.w, R5;
  16089. TRUNC.U R6.x, R6;
  16090. AND.U.CC HC.x, R5.w, R6;
  16091. MOV.S R12.x, R5.y;
  16092. IF NE.x;
  16093. ELSE;
  16094. MOV.F R3.y, {0, 0, 0, 0}.x;
  16095. ENDIF;
  16096. MOV.F R5.w, R15.z;
  16097. MOV.F R5.y, R15;
  16098. ADD.F32 R5.y, R5, -R5.w;
  16099. MOV.F R6.x, R16.y;
  16100. MOV.F R5.w, R19.y;
  16101. MOV.S R12.z, R5.y;
  16102. MUL.F32 R5.y, R5.w, R6.x;
  16103. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16104. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16105. TRUNC.U R6.x, R6;
  16106. TRUNC.U R5.w, R5;
  16107. AND.U.CC HC.x, R5.w, R6;
  16108. MOV.S R12.y, R3;
  16109. IF NE.x;
  16110. MOV.F R3.y, R5;
  16111. ELSE;
  16112. MOV.F R3.y, {0, 0, 0, 0}.x;
  16113. ENDIF;
  16114. MOV.F R5.y, R5.x;
  16115. MOV.F R5.w, c[10].y;
  16116. MUL.F32 R5.x, R5.y, R5.w;
  16117. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16118. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16119. TRUNC.U R5.y, R5;
  16120. TRUNC.U R5.w, R5;
  16121. AND.U.CC HC.x, R5.y, R5.w;
  16122. MOV.S R12.w, R3.y;
  16123. IF NE.x;
  16124. MOV.F R3.y, R5.x;
  16125. ELSE;
  16126. MOV.F R3.y, {0, 0, 0, 0}.x;
  16127. ENDIF;
  16128. MOV.F R5.w, R12.z;
  16129. MOV.F R5.y, R13.w;
  16130. MUL.F32 R5.x, -R5.y, R5.w;
  16131. SNE.F32 R5.y, -R5, {0, 0, 0, 0}.x;
  16132. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16133. TRUNC.U R5.y, R5;
  16134. TRUNC.U R5.w, R5;
  16135. AND.U.CC HC.x, R5.y, R5.w;
  16136. MOV.S R16.y, R3;
  16137. IF NE.x;
  16138. MOV.F R3.y, R5.x;
  16139. ELSE;
  16140. MOV.F R3.y, {0, 0, 0, 0}.x;
  16141. ENDIF;
  16142. MOV.F R5.y, R12.x;
  16143. MOV.F R5.x, R8.z;
  16144. ADD.F32 R5.x, R5, R5.y;
  16145. MOV.S R16.z, R5.x;
  16146. MOV.F R5.y, R12;
  16147. MOV.F R5.x, R16.w;
  16148. ADD.F32 R5.w, R5.x, R5.y;
  16149. MOV.S R14.w, R5;
  16150. MOV.F R5.y, R12.w;
  16151. MOV.F R5.x, R19.y;
  16152. ADD.F32 R5.x, R5, R5.y;
  16153. MOV.F R5.y, R5.z;
  16154. MOV.F R5.w, c[10].z;
  16155. MOV.S R15.y, R5.x;
  16156. MUL.F32 R5.x, R5.y, R5.w;
  16157. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16158. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  16159. TRUNC.U R5.y, R5;
  16160. TRUNC.U R5.z, R5;
  16161. AND.U.CC HC.x, R5.y, R5.z;
  16162. MOV.S R15.x, R3.y;
  16163. IF NE.x;
  16164. MOV.F R3.y, R5.x;
  16165. ELSE;
  16166. MOV.F R3.y, {0, 0, 0, 0}.x;
  16167. ENDIF;
  16168. MOV.F R5.y, R16;
  16169. MOV.F R5.x, R15.y;
  16170. ADD.F32 R5.x, R5, R5.y;
  16171. MOV.F R5.z, R15.x;
  16172. MOV.F R5.y, R19.z;
  16173. MOV.S R14.x, R5;
  16174. MUL.F32 R5.x, R5.y, R5.z;
  16175. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16176. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16177. TRUNC.U R5.z, R5;
  16178. TRUNC.U R5.y, R5;
  16179. AND.U.CC HC.x, R5.y, R5.z;
  16180. MOV.S R13.z, R3.y;
  16181. IF NE.x;
  16182. MOV.F R3.y, R5.x;
  16183. ELSE;
  16184. MOV.F R3.y, {0, 0, 0, 0}.x;
  16185. ENDIF;
  16186. MOV.F R5.z, R15.x;
  16187. MOV.F R5.y, R7.x;
  16188. MUL.F32 R5.x, R5.y, R5.z;
  16189. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16190. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16191. TRUNC.U R5.y, R5;
  16192. TRUNC.U R5.z, R5;
  16193. AND.U.CC HC.x, R5.y, R5.z;
  16194. MOV.S R12.y, R3;
  16195. IF NE.x;
  16196. MOV.F R3.y, R5.x;
  16197. ELSE;
  16198. MOV.F R3.y, {0, 0, 0, 0}.x;
  16199. ENDIF;
  16200. MOV.F R5.x, c[7].w;
  16201. SEQ.F R5.x, R5, {1, 0, 0, 0};
  16202. TRUNC.U.CC HC.x, R5;
  16203. MOV.S R12.z, R3.y;
  16204. IF NE.x;
  16205. MOV.S R3.y, {-1, 0, 0, 0}.x;
  16206. ELSE;
  16207. MOV.S R3.y, {0, 0, 0, 0}.x;
  16208. ENDIF;
  16209. MOV.F R5.x, c[7].w;
  16210. MAX.F R5.x, R5, {0, 0, 0, 0};
  16211. LG2.F32 R5.x, R5.x;
  16212. MUL.F32 R5.y, R5.x, {2, 0, 0, 0}.x;
  16213. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  16214. SEQ.F R5.y, R5.x, R5;
  16215. TRUNC.U R5.z, R5;
  16216. TRUNC.U R5.y, R5;
  16217. AND.U R5.y, R5, R5.z;
  16218. SEQ.U R5.y, R5, {1, 0, 0, 0}.x;
  16219. MOV.U.CC RC.x, -R5.y;
  16220. IF NE.x;
  16221. MOV.F R5.x, {-3.40282347e+038, 0, 0, 0};
  16222. ENDIF;
  16223. MOV.F R5.z, R12.y;
  16224. MOV.F R5.y, R19.z;
  16225. ADD.F32 R5.y, R5, R5.z;
  16226. MOV.F R5.z, R23.x;
  16227. MOV.S R15.x, R5.y;
  16228. MUL.F32 R5.y, R5.z, R5.x;
  16229. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  16230. SNE.F32 R5.x, R5.z, {0, 0, 0, 0};
  16231. TRUNC.U R5.z, R5.w;
  16232. TRUNC.U R5.x, R5;
  16233. AND.U.CC HC.x, R5, R5.z;
  16234. IF NE.x;
  16235. MOV.F R5.x, R5.y;
  16236. ELSE;
  16237. MOV.F R5.x, {0, 0, 0, 0};
  16238. ENDIF;
  16239. EX2.F32 R5.x, R5.x;
  16240. ADD.F32 R5.x, -R5, {1, 0, 0, 0};
  16241. SEQ.S R3.y, R3, {0, 0, 0, 0}.x;
  16242. MOV.U.CC RC.x, -R3.y;
  16243. MOV.F R5.z, R12;
  16244. MOV.F R5.y, R7.x;
  16245. ADD.F32 R5.y, R5, R5.z;
  16246. MOV.S R16.w, R5.y;
  16247. MOV.F R5.y, c[7].w;
  16248. MOV.F R5.w, R13.z;
  16249. MOV.F R5.z, R15.x;
  16250. ADD.F32 R5.z, R5, R5.w;
  16251. MOV.S R5.x, R5;
  16252. ADD.F32 R5.y, -R5, {1, 0, 0, 0}.x;
  16253. DIV.F32 R5.x, R5, R5.y;
  16254. MOV.S R21.w, R5.z;
  16255. MOV.S R12.w, R5.x;
  16256. IF NE.x;
  16257. MOV.S R3.y, R12.w;
  16258. ELSE;
  16259. MOV.S R3.y, R23.x;
  16260. ENDIF;
  16261. MOV.F R5.z, R3.y;
  16262. MOV.F R5.y, R13.x;
  16263. MUL.F32 R5.x, R5.y, R5.z;
  16264. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16265. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16266. TRUNC.U R5.z, R5;
  16267. TRUNC.U R5.y, R5;
  16268. AND.U.CC HC.x, R5.y, R5.z;
  16269. IF NE.x;
  16270. ELSE;
  16271. MOV.F R5.x, {0, 0, 0, 0};
  16272. ENDIF;
  16273. MOV.F R5.w, R3.y;
  16274. MOV.F R5.z, R16;
  16275. MUL.F32 R5.y, R5.z, R5.w;
  16276. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16277. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16278. TRUNC.U R5.z, R5;
  16279. TRUNC.U R5.w, R5;
  16280. AND.U.CC HC.x, R5.z, R5.w;
  16281. MOV.S R12.x, R5;
  16282. IF NE.x;
  16283. MOV.F R5.x, R5.y;
  16284. ELSE;
  16285. MOV.F R5.x, {0, 0, 0, 0};
  16286. ENDIF;
  16287. MOV.F R5.z, R3.y;
  16288. MOV.F R5.y, R16.w;
  16289. MUL.F32 R3.y, R5, R5.z;
  16290. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16291. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16292. TRUNC.U R5.y, R5;
  16293. TRUNC.U R5.z, R5;
  16294. AND.U.CC HC.x, R5.y, R5.z;
  16295. MOV.S R12.z, R5.x;
  16296. IF NE.x;
  16297. ELSE;
  16298. MOV.F R3.y, {0, 0, 0, 0}.x;
  16299. ENDIF;
  16300. MOV.F R5.x, R14;
  16301. MOV.F R5.y, R12.z;
  16302. ADD.F32 R5.z, R5.x, R5.y;
  16303. MOV.F R5.y, R12.x;
  16304. MOV.F R5.x, R14.w;
  16305. ADD.F32 R5.x, R5, R5.y;
  16306. MAD.F32 R5.y, R5.z, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  16307. MAD.F32 R5.z, R5.x, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  16308. FRC.F R5.x, R5.y;
  16309. FRC.F R5.y, R5.z;
  16310. MAD.F32 R5.z, R5.x, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  16311. MUL.F32 R5.z, R5, {0.159154937, 0, 0, 0}.x;
  16312. MAD.F32 R5.x, R5.y, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  16313. MUL.F32 R5.y, R5.z, {6.28318548, 0, 0, 0}.x;
  16314. SIN.F32 R6.z, R5.y;
  16315. MOV.F R5.y, R21.w;
  16316. MUL.F32 R5.x, R5, {0.159154937, 0, 0, 0};
  16317. MUL.F32 R5.w, R5.x, {6.28318548, 0, 0, 0}.x;
  16318. SIN.F32 R6.x, R5.w;
  16319. ADD.F32 R3.y, R5, R3;
  16320. MOV.S R16.y, R5.z;
  16321. COS.F32 R5.z, R5.w;
  16322. MOV.S R13.y, R5.z;
  16323. MAD.F32 R3.y, R3, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  16324. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  16325. FRC.F R3.y, R3;
  16326. MAD.F32 R3.y, R3, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  16327. SNE.F32 R5.z, R6, {0, 0, 0, 0}.x;
  16328. MUL.F32 R3.y, R3, {0.159154937, 0, 0, 0}.x;
  16329. TRUNC.U R5.y, R5;
  16330. TRUNC.U R5.z, R5;
  16331. AND.U.CC HC.x, R5.y, R5.z;
  16332. MUL.F32 R5.x, R6, R6.z;
  16333. MOV.S R21.w, R6.x;
  16334. MOV.S R13.x, R6.z;
  16335. MOV.S R14.x, R3.y;
  16336. IF NE.x;
  16337. MOV.F R3.y, R5.x;
  16338. ELSE;
  16339. MOV.F R3.y, {0, 0, 0, 0}.x;
  16340. ENDIF;
  16341. MOV.F R5.z, R13.x;
  16342. MOV.F R5.y, R13;
  16343. MUL.F32 R5.x, R5.y, R5.z;
  16344. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16345. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16346. TRUNC.U R5.y, R5;
  16347. TRUNC.U R5.z, R5;
  16348. AND.U.CC HC.x, R5.y, R5.z;
  16349. MOV.S R16.x, R3.y;
  16350. IF NE.x;
  16351. MOV.F R3.y, R5.x;
  16352. ELSE;
  16353. MOV.F R3.y, {0, 0, 0, 0}.x;
  16354. ENDIF;
  16355. MOV.F R5.x, R16.y;
  16356. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  16357. COS.F32 R5.y, R5.x;
  16358. MOV.F R5.z, R13.y;
  16359. MUL.F32 R5.x, R5.y, R5.z;
  16360. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16361. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  16362. MOV.S R16.z, R5.y;
  16363. TRUNC.U R5.y, R5.z;
  16364. TRUNC.U R5.z, R5.w;
  16365. AND.U.CC HC.x, R5.y, R5.z;
  16366. MOV.S R14.z, R3.y;
  16367. IF NE.x;
  16368. MOV.F R3.y, R5.x;
  16369. ELSE;
  16370. MOV.F R3.y, {0, 0, 0, 0}.x;
  16371. ENDIF;
  16372. MOV.F R5.z, R16;
  16373. MOV.F R5.y, R21.w;
  16374. MUL.F32 R5.x, R5.y, R5.z;
  16375. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16376. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16377. TRUNC.U R5.y, R5;
  16378. TRUNC.U R5.z, R5;
  16379. AND.U.CC HC.x, R5.y, R5.z;
  16380. MOV.S R14.y, R3;
  16381. IF NE.x;
  16382. MOV.F R3.y, R5.x;
  16383. ELSE;
  16384. MOV.F R3.y, {0, 0, 0, 0}.x;
  16385. ENDIF;
  16386. SNE.F32 R5.z, R3.y, {0, 0, 0, 0}.x;
  16387. MOV.F R5.x, R14;
  16388. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  16389. SIN.F32 R5.x, R5.x;
  16390. MOV.F R5.y, -R5.x;
  16391. MOV.S R7.x, R5.y;
  16392. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  16393. MOV.S R16.w, R5.x;
  16394. MUL.F32 R5.x, R3.y, R5;
  16395. MOV.S R14.w, R3.y;
  16396. MOV.F R3.y, {1, 0, 0, 0}.x;
  16397. TRUNC.U R5.y, R5;
  16398. TRUNC.U R5.z, R5;
  16399. AND.U.CC HC.x, R5.y, R5.z;
  16400. MOV.S R7.w, R3.y;
  16401. IF NE.x;
  16402. MOV.F R3.y, R5.x;
  16403. ELSE;
  16404. MOV.F R3.y, {0, 0, 0, 0}.x;
  16405. ENDIF;
  16406. MOV.F R5.z, R14.y;
  16407. MOV.F R5.y, R16.w;
  16408. MUL.F32 R5.x, R5.y, R5.z;
  16409. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16410. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16411. TRUNC.U R5.y, R5;
  16412. TRUNC.U R5.z, R5;
  16413. AND.U.CC HC.x, R5.y, R5.z;
  16414. MOV.S R15.y, R3;
  16415. IF NE.x;
  16416. MOV.F R3.y, R5.x;
  16417. ELSE;
  16418. MOV.F R3.y, {0, 0, 0, 0}.x;
  16419. ENDIF;
  16420. MOV.F R5.z, R14;
  16421. MOV.F R5.y, R16.w;
  16422. MUL.F32 R5.x, R5.y, R5.z;
  16423. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16424. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16425. TRUNC.U R5.y, R5;
  16426. TRUNC.U R5.z, R5;
  16427. AND.U.CC HC.x, R5.y, R5.z;
  16428. MOV.S R15.z, R3.y;
  16429. IF NE.x;
  16430. MOV.F R3.y, R5.x;
  16431. ELSE;
  16432. MOV.F R3.y, {0, 0, 0, 0}.x;
  16433. ENDIF;
  16434. MOV.F R5.x, R14;
  16435. MUL.F32 R5.x, R5, {6.28318548, 0, 0, 0};
  16436. COS.F32 R5.y, R5.x;
  16437. MOV.F R5.z, R16;
  16438. MUL.F32 R5.x, R5.y, R5.z;
  16439. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16440. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  16441. MOV.S R16.y, R5;
  16442. TRUNC.U R5.y, R5.z;
  16443. TRUNC.U R5.z, R5.w;
  16444. AND.U.CC HC.x, R5.y, R5.z;
  16445. MOV.S R15.w, R3.y;
  16446. IF NE.x;
  16447. ELSE;
  16448. MOV.F R5.x, {0, 0, 0, 0};
  16449. ENDIF;
  16450. MOV.F R5.y, R15.z;
  16451. MOV.F R3.y, R16.x;
  16452. ADD.F32 R3.y, R3, R5;
  16453. MOV.F R5.z, R15.y;
  16454. MOV.F R5.y, R14.z;
  16455. ADD.F32 R5.y, -R5, R5.z;
  16456. MOV.F R5.w, R15;
  16457. MOV.F R5.z, R14.w;
  16458. ADD.F32 R5.z, -R5, R5.w;
  16459. MOV.F R5.w, R16.y;
  16460. SNE.F32 R6.x, R5.w, {0, 0, 0, 0};
  16461. MOV.S R12.w, R5.z;
  16462. MOV.F R5.z, R13.y;
  16463. MOV.S R8.z, R5.y;
  16464. MUL.F32 R5.y, R5.z, R5.w;
  16465. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  16466. TRUNC.U R5.w, R5.z;
  16467. TRUNC.U R6.x, R6;
  16468. AND.U.CC HC.x, R5.w, R6;
  16469. MOV.S R3.y, R3;
  16470. MOV.S R5.x, R5;
  16471. MOV.S R5.z, {1065353216, 0, 0, 0}.x;
  16472. IF NE.x;
  16473. ELSE;
  16474. MOV.F R5.y, {0, 0, 0, 0}.x;
  16475. ENDIF;
  16476. MOV.F R6.z, R16.y;
  16477. MOV.F R6.x, R13;
  16478. MUL.F32 R5.w, R6.x, R6.z;
  16479. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16480. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16481. TRUNC.U R6.x, R6;
  16482. TRUNC.U R6.z, R6;
  16483. AND.U.CC HC.x, R6, R6.z;
  16484. MOV.S R8.w, R5.y;
  16485. IF NE.x;
  16486. MOV.F R5.y, R5.w;
  16487. ELSE;
  16488. MOV.F R5.y, {0, 0, 0, 0}.x;
  16489. ENDIF;
  16490. MOV.F R6.z, R16.y;
  16491. MOV.F R6.x, R21.w;
  16492. MUL.F32 R5.w, R6.x, R6.z;
  16493. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16494. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16495. TRUNC.U R6.x, R6;
  16496. TRUNC.U R6.z, R6;
  16497. AND.U.CC HC.x, R6, R6.z;
  16498. MOV.S R15.x, R5.y;
  16499. IF NE.x;
  16500. MOV.F R5.y, R5.w;
  16501. ELSE;
  16502. MOV.F R5.y, {0, 0, 0, 0}.x;
  16503. ENDIF;
  16504. MOV.F R6.z, R16.x;
  16505. MOV.F R6.x, R16.w;
  16506. MUL.F32 R5.w, R6.x, R6.z;
  16507. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16508. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16509. TRUNC.U R6.x, R6;
  16510. TRUNC.U R6.z, R6;
  16511. AND.U.CC HC.x, R6, R6.z;
  16512. MOV.S R19.y, R5;
  16513. IF NE.x;
  16514. MOV.F R5.y, R5.w;
  16515. ELSE;
  16516. MOV.F R5.y, {0, 0, 0, 0}.x;
  16517. ENDIF;
  16518. MOV.F R6.z, R21.x;
  16519. MOV.F R6.x, R12.w;
  16520. MUL.F32 R5.w, R6.x, R6.z;
  16521. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16522. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16523. TRUNC.U R6.x, R6;
  16524. TRUNC.U R6.z, R6;
  16525. AND.U.CC HC.x, R6, R6.z;
  16526. MOV.S R15.z, R5.y;
  16527. IF NE.x;
  16528. MOV.F R5.y, R5.w;
  16529. ELSE;
  16530. MOV.F R5.y, {0, 0, 0, 0}.x;
  16531. ENDIF;
  16532. MOV.F R6.z, R21.x;
  16533. SNE.F32 R7.y, R6.z, {0, 0, 0, 0}.x;
  16534. MOV.F R6.x, R15.z;
  16535. MOV.F R5.w, R14.y;
  16536. ADD.F32 R5.w, R5, R6.x;
  16537. MOV.S R12.x, R5.w;
  16538. MOV.F R5.w, R15.x;
  16539. MUL.F32 R6.x, R5.w, R6.z;
  16540. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16541. TRUNC.U R6.z, R5.w;
  16542. TRUNC.U R7.y, R7;
  16543. AND.U.CC HC.x, R6.z, R7.y;
  16544. MOV.S R5.w, R5.y;
  16545. IF NE.x;
  16546. MOV.F R5.y, R6.x;
  16547. ELSE;
  16548. MOV.F R5.y, {0, 0, 0, 0}.x;
  16549. ENDIF;
  16550. MOV.F R7.y, R21.x;
  16551. MOV.F R6.z, R12.x;
  16552. MUL.F32 R6.x, R6.z, R7.y;
  16553. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16554. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16555. TRUNC.U R6.z, R6;
  16556. TRUNC.U R7.y, R7;
  16557. AND.U.CC HC.x, R6.z, R7.y;
  16558. MOV.S R19.z, R5.y;
  16559. IF NE.x;
  16560. MOV.F R5.y, R6.x;
  16561. ELSE;
  16562. MOV.F R5.y, {0, 0, 0, 0}.x;
  16563. ENDIF;
  16564. MOV.S R19.x, R5.y;
  16565. ENDIF;
  16566. SEQ.U R5.y, R17.w, {1, 0, 0, 0}.x;
  16567. MOV.U.CC RC.x, -R5.y;
  16568. IF NE.x;
  16569. MOV.F R6.x, R18;
  16570. MOV.F R5.y, c[12].x;
  16571. MAD.F32 R6.y, R5, {0.5, 0, 0, 0}.x, R6.x;
  16572. MOV.S R15.y, R6;
  16573. MOV.F R6.x, R18.y;
  16574. MOV.F R5.y, c[12];
  16575. MAD.F32 R5.y, R5, {0.5, 0, 0, 0}.x, R6.x;
  16576. MOV.S R15.x, R5.y;
  16577. MOV.F R5.y, c[13];
  16578. SGT.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16579. TRUNC.U.CC HC.x, R5.y;
  16580. MOV.S R8.x, c[11];
  16581. MOV.S R6.y, c[11];
  16582. MOV.S R18.z, c[11];
  16583. IF NE.x;
  16584. MOV.F R5.y, {1, 0, 0, 0}.x;
  16585. ELSE;
  16586. MOV.F R5.y, {0, 0, 0, 0}.x;
  16587. ENDIF;
  16588. MOV.F R6.x, c[13].y;
  16589. SLT.F32 R6.z, R6.x, {0, 0, 0, 0}.x;
  16590. TRUNC.U.CC HC.x, R6.z;
  16591. MOV.F R6.x, {1, 0, 0, 0};
  16592. MOV.F R6.x(EQ), {0, 0, 0, 0};
  16593. ADD.F32 R5.y, R5, -R6.x;
  16594. MOV.F R6.z, R15.x;
  16595. MOV.F R6.x, R21.z;
  16596. MOV.S R21.x, R5.y;
  16597. MUL.F32 R5.y, R6.x, R6.z;
  16598. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16599. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16600. TRUNC.U R6.z, R6;
  16601. TRUNC.U R6.x, R6;
  16602. AND.U.CC HC.x, R6, R6.z;
  16603. IF NE.x;
  16604. ELSE;
  16605. MOV.F R5.y, {0, 0, 0, 0}.x;
  16606. ENDIF;
  16607. MOV.F R7.y, R15;
  16608. MOV.F R6.z, R21.y;
  16609. MUL.F32 R6.x, R6.z, R7.y;
  16610. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16611. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16612. TRUNC.U R7.y, R7;
  16613. TRUNC.U R6.z, R6;
  16614. AND.U.CC HC.x, R6.z, R7.y;
  16615. MOV.S R12.y, R5;
  16616. IF NE.x;
  16617. MOV.F R5.y, R6.x;
  16618. ELSE;
  16619. MOV.F R5.y, {0, 0, 0, 0}.x;
  16620. ENDIF;
  16621. MOV.F R6.x, R12.y;
  16622. MOV.F R7.y, R19;
  16623. SNE.F32 R7.z, R6.x, {0, 0, 0, 0}.x;
  16624. MUL.F32 R6.z, R6.x, R7.y;
  16625. SNE.F32 R7.y, R7, {0, 0, 0, 0}.x;
  16626. MOV.F R6.x, c[13].y;
  16627. RCP.F32 R6.x, R6.x;
  16628. TRUNC.U R7.z, R7;
  16629. TRUNC.U R7.y, R7;
  16630. AND.U.CC HC.x, R7.z, R7.y;
  16631. MOV.S R14.z, R5.y;
  16632. MOV.S R6.x, R6;
  16633. IF NE.x;
  16634. MOV.F R5.y, R6.z;
  16635. ELSE;
  16636. MOV.F R5.y, {0, 0, 0, 0}.x;
  16637. ENDIF;
  16638. MOV.F R6.z, R12.y;
  16639. SNE.F32 R7.y, R6.z, {0, 0, 0, 0}.x;
  16640. SNE.F32 R7.z, R7.x, {0, 0, 0, 0}.x;
  16641. MUL.F32 R6.z, R6, R7.x;
  16642. MOV.F R7.x, R19;
  16643. ADD.F32 R5.y, R5, R7.x;
  16644. MOV.F R7.x, R6;
  16645. MOV.F R6.x, R23;
  16646. MUL.F32 R6.x, R6, R7;
  16647. TRUNC.U R7.y, R7;
  16648. TRUNC.U R7.z, R7;
  16649. AND.U.CC HC.x, R7.y, R7.z;
  16650. MOV.S R19.x, R5.y;
  16651. MOV.S R15.y, R6.x;
  16652. IF NE.x;
  16653. MOV.F R5.y, R6.z;
  16654. ELSE;
  16655. MOV.F R5.y, {0, 0, 0, 0}.x;
  16656. ENDIF;
  16657. MOV.F R7.x, R8.w;
  16658. MOV.F R6.z, R12.y;
  16659. MUL.F32 R6.x, R6.z, R7;
  16660. SNE.F32 R6.z, R6, {0, 0, 0, 0}.x;
  16661. TRUNC.U R7.y, R6.z;
  16662. MOV.F R6.z, R19;
  16663. ADD.F32 R5.y, R5, R6.z;
  16664. SNE.F32 R7.x, R7, {0, 0, 0, 0};
  16665. TRUNC.U R6.z, R7.x;
  16666. AND.U.CC HC.x, R7.y, R6.z;
  16667. MOV.S R19.z, R5.y;
  16668. IF NE.x;
  16669. MOV.F R5.y, R6.x;
  16670. ELSE;
  16671. MOV.F R5.y, {0, 0, 0, 0}.x;
  16672. ENDIF;
  16673. ADD.F32 R5.y, R5, R5.w;
  16674. MOV.F R6.z, R5.x;
  16675. MOV.F R6.x, R14.z;
  16676. MOV.F R5.w, R21.x;
  16677. MOV.S R19.w, R5.y;
  16678. ADD.F32 R5.y, -R5.w, {1, 0, 0, 0}.x;
  16679. MOV.S R16.x, R5.y;
  16680. SNE.F32 R5.w, R6.z, {0, 0, 0, 0}.x;
  16681. SNE.F32 R5.y, R6.x, {0, 0, 0, 0}.x;
  16682. TRUNC.U R5.w, R5;
  16683. TRUNC.U R5.y, R5;
  16684. AND.U.CC HC.x, R5.y, R5.w;
  16685. MUL.F32 R5.x, R6, R6.z;
  16686. IF NE.x;
  16687. ELSE;
  16688. MOV.F R5.x, {0, 0, 0, 0};
  16689. ENDIF;
  16690. MOV.F R5.y, R19.z;
  16691. ADD.F32 R5.y, R5.x, R5;
  16692. MOV.F R5.w, R14.z;
  16693. MOV.F R6.x, R3.y;
  16694. MUL.F32 R5.x, R5.w, R6;
  16695. MOV.S R13.x, R5.y;
  16696. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  16697. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16698. TRUNC.U R5.w, R6.x;
  16699. TRUNC.U R5.y, R5;
  16700. AND.U.CC HC.x, R5.y, R5.w;
  16701. IF NE.x;
  16702. ELSE;
  16703. MOV.F R5.x, {0, 0, 0, 0};
  16704. ENDIF;
  16705. MOV.F R5.y, R19.w;
  16706. ADD.F32 R5.y, R5.x, R5;
  16707. MOV.F R5.w, R14.z;
  16708. MOV.F R6.x, R8.z;
  16709. MUL.F32 R5.x, R5.w, R6;
  16710. MOV.S R14.y, R5;
  16711. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  16712. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16713. TRUNC.U R5.w, R6.x;
  16714. TRUNC.U R5.y, R5;
  16715. AND.U.CC HC.x, R5.y, R5.w;
  16716. IF NE.x;
  16717. ELSE;
  16718. MOV.F R5.x, {0, 0, 0, 0};
  16719. ENDIF;
  16720. MOV.F R5.y, R19.x;
  16721. ADD.F32 R5.x, R5, R5.y;
  16722. MOV.F R5.w, c[2].z;
  16723. MOV.F R5.y, R20.x;
  16724. MOV.S R14.z, R5.x;
  16725. MUL.F32 R5.x, R5.y, R5.w;
  16726. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16727. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16728. TRUNC.U R5.w, R5;
  16729. TRUNC.U R5.y, R5;
  16730. AND.U.CC HC.x, R5.y, R5.w;
  16731. IF NE.x;
  16732. ELSE;
  16733. MOV.F R5.x, {0, 0, 0, 0};
  16734. ENDIF;
  16735. MOV.F R5.y, R15;
  16736. ADD.F32 R5.x, R5, R5.y;
  16737. MOV.F R5.w, R21.x;
  16738. MOV.F R15.xyz, R9;
  16739. MOV.F R12.x, R13;
  16740. MOV.F R12.w, R7;
  16741. MOV.F R12.yz, R14;
  16742. MOV.F R15.w, R6;
  16743. DP4.F32 R5.y, R15, R12;
  16744. MOV.S R5.x, R5;
  16745. MOV.S R9.x, R5.y;
  16746. MOV.F R10.w, R9;
  16747. DP4.F32 R5.y, R12, R10;
  16748. MOV.S R10.y, R5;
  16749. FRC.F R5.y, R5.x;
  16750. MUL.F32 R5.x, R5.w, R5.y;
  16751. SNE.F32 R6.x, R5.y, {0, 0, 0, 0};
  16752. SNE.F32 R5.y, R5.w, {0, 0, 0, 0}.x;
  16753. TRUNC.U R5.w, R6.x;
  16754. TRUNC.U R5.y, R5;
  16755. AND.U.CC HC.x, R5.y, R5.w;
  16756. IF NE.x;
  16757. ELSE;
  16758. MOV.F R5.x, {0, 0, 0, 0};
  16759. ENDIF;
  16760. MOV.F R6.x, R16;
  16761. MOV.F R5.w, R3.z;
  16762. MOV.F R11.w, R3;
  16763. MOV.F R7.x, R13;
  16764. MOV.F R7.yz, R14;
  16765. DP4.F32 R5.y, R11, R7;
  16766. MOV.S R11.z, R5.y;
  16767. MUL.F32 R5.y, R5.w, R6.x;
  16768. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16769. TRUNC.U R6.z, R6.x;
  16770. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16771. TRUNC.U R5.w, R5;
  16772. AND.U.CC HC.x, R5.w, R6.z;
  16773. MOV.S R6.x, R5;
  16774. IF NE.x;
  16775. MOV.F R5.x, R5.y;
  16776. ELSE;
  16777. MOV.F R5.x, {0, 0, 0, 0};
  16778. ENDIF;
  16779. MOV.F R5.y, R6.x;
  16780. ADD.F32 R5.w, R5.x, R5.y;
  16781. MOV.F R6.x, c[14].w;
  16782. ADD.F32 R5.x, R5.w, -R6;
  16783. MOV.S R5.x, R5;
  16784. MOV.F R6.z, R5.x;
  16785. MOV.F R5.x, {1, 0, 0, 0};
  16786. MOV.S R7.x, R5;
  16787. SLT.F32 R6.w, R6.z, {0, 0, 0, 0}.x;
  16788. TRUNC.U.CC HC.x, R6.w;
  16789. MOV.S R5.y, {0, 0, 0, 0}.x;
  16790. MOV.S R5.y(EQ.x), R7.x;
  16791. MOV.F R6.w, c[15];
  16792. SLT.F32 R5.w, R5, R6;
  16793. TRUNC.U.CC HC.x, R5.w;
  16794. MOV.S R5.x, {0, 0, 0, 0};
  16795. MOV.S R5.x(EQ), R7;
  16796. MOV.F R5.w, R5.y;
  16797. MOV.F R7.x, R5;
  16798. ADD.F32 R5.w, -R5, {1, 0, 0, 0}.x;
  16799. ADD.F32 R7.x, -R7, {1, 0, 0, 0};
  16800. MOV.S R12.z, R5.w;
  16801. MOV.S R16.w, R5.y;
  16802. MOV.S R16.y, R5.x;
  16803. ADD.F32 R5.w, -R6.x, R6;
  16804. MOV.F R5.y, c[15].x;
  16805. MOV.F R5.x, c[14];
  16806. ADD.F32 R5.x, -R5, R5.y;
  16807. DIV.F32 R5.y, R5.x, R5.w;
  16808. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  16809. MUL.F32 R5.x, R6.z, R5.y;
  16810. SNE.F32 R5.y, R6.z, {0, 0, 0, 0}.x;
  16811. TRUNC.U R5.w, R5;
  16812. TRUNC.U R5.y, R5;
  16813. AND.U.CC HC.x, R5.y, R5.w;
  16814. MOV.S R12.x, R7;
  16815. IF NE.x;
  16816. ELSE;
  16817. MOV.F R5.x, {0, 0, 0, 0};
  16818. ENDIF;
  16819. MOV.F R5.w, c[14].x;
  16820. ADD.F32 R5.x, R5, R5.w;
  16821. MOV.F R5.y, R12.z;
  16822. SNE.F32 R6.x, R5.y, {0, 0, 0, 0};
  16823. MUL.F32 R5.y, R5.w, R5;
  16824. TRUNC.U R6.x, R6;
  16825. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16826. MOV.S R19.x, R5;
  16827. TRUNC.U R5.x, R5.w;
  16828. AND.U.CC HC.x, R5, R6;
  16829. IF NE.x;
  16830. MOV.F R5.x, R5.y;
  16831. ELSE;
  16832. MOV.F R5.x, {0, 0, 0, 0};
  16833. ENDIF;
  16834. MOV.F R6.x, R12;
  16835. MOV.F R5.w, R16;
  16836. MUL.F32 R5.y, R5.w, R6.x;
  16837. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16838. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  16839. TRUNC.U R5.w, R5;
  16840. TRUNC.U R6.x, R6;
  16841. AND.U.CC HC.x, R5.w, R6;
  16842. MOV.S R15.y, R5.x;
  16843. IF NE.x;
  16844. MOV.F R5.x, R5.y;
  16845. ELSE;
  16846. MOV.F R5.x, {0, 0, 0, 0};
  16847. ENDIF;
  16848. MOV.F R5.w, R19.x;
  16849. MUL.F32 R5.y, R5.w, R5.x;
  16850. SNE.F32 R6.x, R5, {0, 0, 0, 0};
  16851. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  16852. TRUNC.U R5.w, R6.x;
  16853. TRUNC.U R5.x, R5;
  16854. AND.U.CC HC.x, R5, R5.w;
  16855. IF NE.x;
  16856. MOV.F R5.x, R5.y;
  16857. ELSE;
  16858. MOV.F R5.x, {0, 0, 0, 0};
  16859. ENDIF;
  16860. MOV.F R5.y, R15;
  16861. ADD.F32 R5.x, R5, R5.y;
  16862. MOV.F R5.w, R16.y;
  16863. MOV.F R5.y, c[15].x;
  16864. MOV.S R19.x, R5;
  16865. MUL.F32 R5.x, R5.y, R5.w;
  16866. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  16867. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  16868. TRUNC.U R5.w, R5;
  16869. TRUNC.U R5.y, R5;
  16870. AND.U.CC HC.x, R5.y, R5.w;
  16871. IF NE.x;
  16872. ELSE;
  16873. MOV.F R5.x, {0, 0, 0, 0};
  16874. ENDIF;
  16875. MOV.F R5.y, R19.x;
  16876. ADD.F32 R5.x, R5, R5.y;
  16877. MOV.S R7.w, R5.x;
  16878. ENDIF;
  16879. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  16880. MOV.U.CC RC.x, -R5;
  16881. IF NE.x;
  16882. MOV.F R1.x, R9;
  16883. MOV.F R1.y, R10;
  16884. MOV.F R1.w, R5.z;
  16885. MOV.F R1.z, R11;
  16886. MOV.F R0, c[18];
  16887. DP4.F32 R0.z, R0, R1;
  16888. MOV.F R12, c[17];
  16889. DP4.F32 R0.x, R12, R1;
  16890. MOV.S R0.w, R0.z;
  16891. MUL.F32 R0.z, R0, {0.5, 0, 0, 0}.x;
  16892. MOV.F R12, c[16];
  16893. MOV.S R0.y, R0.x;
  16894. DP4.F32 R0.x, R1, R12;
  16895. MOV.F R12, c[19];
  16896. DP4.F32 R5.x, R1, R12;
  16897. MOV.F R12, c[21];
  16898. MOV.S R16.x, R5;
  16899. DP4.F32 R5.x, R1, R12;
  16900. MOV.S R14.y, R5.x;
  16901. MOV.S R14.w, R0.z;
  16902. MOV.F R12, c[20];
  16903. DP4.F32 R0.z, R1, R12;
  16904. MOV.F R5.x, R20;
  16905. SGT.F32 R1.x, R5, {0.5, 0, 0, 0};
  16906. TRUNC.U.CC HC.x, R1;
  16907. MOV.S R0.x, R0;
  16908. MOV.S R13.y, R0.z;
  16909. IF NE.x;
  16910. MOV.S R5.x, {-1, 0, 0, 0};
  16911. ELSE;
  16912. MOV.S R5.x, {0, 0, 0, 0};
  16913. ENDIF;
  16914. MOV.F R1.x, R9;
  16915. MOV.F R1.y, R10;
  16916. MOV.F R1.z, R11;
  16917. MOV.F R9, c[22];
  16918. MOV.F R1.w, R5.z;
  16919. DP4.F32 R0.z, R1, R9;
  16920. MOV.F R1.x, R22.z;
  16921. ADD.F32 R1.x, -R1, {1, 0, 0, 0};
  16922. MOV.S R6.x, R1;
  16923. SEQ.S R1.x, R5, {0, 0, 0, 0};
  16924. MOV.U.CC RC.x, -R1;
  16925. MOV.F R1.z, R14.y;
  16926. MOV.F R1.y, c[12].z;
  16927. ADD.F32 R1.y, R1, R1.z;
  16928. MOV.S R0.z, R0;
  16929. MOV.S R21.x, R1.y;
  16930. AND.S R15.y, c[8].x, {524288, 0, 0, 0}.x;
  16931. IF NE.x;
  16932. MOV.S R6.x, R22.z;
  16933. ELSE;
  16934. ENDIF;
  16935. MOV.F R1.x, R16;
  16936. MOV.F R1.y, R13;
  16937. MOV.F R1.z, R21.x;
  16938. MOV.F R5, c[23];
  16939. MOV.F R1.w, R0.z;
  16940. DP4.F32 R1.x, R1, R5;
  16941. MOV.S R14.x, R1;
  16942. SEQ.S R1.x, R15.y, {524288, 0, 0, 0};
  16943. MOV.U.CC RC.x, -R1;
  16944. AND.S R16.w, c[8].x, {1048576, 0, 0, 0}.x;
  16945. IF NE.x;
  16946. MOV.S R1.x, {-1, 0, 0, 0};
  16947. ELSE;
  16948. MOV.S R1.x, {0, 0, 0, 0};
  16949. ENDIF;
  16950. SEQ.S R1.y, R16.w, {1048576, 0, 0, 0}.x;
  16951. MOV.U.CC RC.x, -R1.y;
  16952. IF NE.x;
  16953. MOV.S R1.y, {-1, 0, 0, 0}.x;
  16954. ELSE;
  16955. MOV.S R1.y, {0, 0, 0, 0}.x;
  16956. ENDIF;
  16957. MOV.F R1.z, R22.w;
  16958. MOV.F R1.w, R20.y;
  16959. ADD.F32 R1.z, -R1, {1, 0, 0, 0}.x;
  16960. SGT.F32 R1.w, R1, {0.5, 0, 0, 0}.x;
  16961. TRUNC.U.CC HC.x, R1.w;
  16962. MOV.S R15.y, R1.z;
  16963. IF NE.x;
  16964. MOV.S R1.z, {-1, 0, 0, 0}.x;
  16965. ELSE;
  16966. MOV.S R1.z, {0, 0, 0, 0}.x;
  16967. ENDIF;
  16968. SEQ.S R1.x, R1, {0, 0, 0, 0};
  16969. MOV.U.CC RC.x, -R1;
  16970. IF NE.x;
  16971. MOV.S R1.x, R22.z;
  16972. ELSE;
  16973. MOV.S R1.x, R6;
  16974. ENDIF;
  16975. SEQ.S R1.z, R1, {0, 0, 0, 0}.x;
  16976. MOV.U.CC RC.x, -R1.z;
  16977. MOV.S R8.w, R1.x;
  16978. IF NE.x;
  16979. MOV.S R1.x, R22.w;
  16980. ELSE;
  16981. MOV.S R1.x, R15.y;
  16982. ENDIF;
  16983. SEQ.S R1.y, R1, {0, 0, 0, 0}.x;
  16984. MOV.U.CC RC.x, -R1.y;
  16985. IF NE.x;
  16986. MOV.S R6.x, R22.w;
  16987. ELSE;
  16988. MOV.S R6.x, R1;
  16989. ENDIF;
  16990. MOV.F R1.w, R0.z;
  16991. MOV.F R1.y, R13;
  16992. MOV.F R0.z, R14.x;
  16993. MOV.F R1.x, R16;
  16994. MOV.F R1.z, R21.x;
  16995. MOV.F R5, c[24];
  16996. DP4.F32 R1.x, R1, R5;
  16997. DIV.F32 R1.y, R0.z, R1.x;
  16998. MOV.F R1.x, R0.w;
  16999. MUL.F32 R0.z, R1.x, R1.y;
  17000. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17001. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  17002. TRUNC.U R1.y, R1;
  17003. TRUNC.U R1.x, R1;
  17004. AND.U.CC HC.x, R1, R1.y;
  17005. MOV.S R22.z, R6.x;
  17006. IF NE.x;
  17007. ELSE;
  17008. MOV.F R0.z, {0, 0, 0, 0}.x;
  17009. ENDIF;
  17010. MOV.F R1.z, R14.w;
  17011. MOV.F R1.x, R0;
  17012. MAD.F32 R1.x, R1, {0.5, 0, 0, 0}, R1.z;
  17013. MOV.F R1.y, R0;
  17014. MAD.F32 R1.y, R1, {-0.5, 0, 0, 0}.x, R1.z;
  17015. MAD.F32 R1.z, R0, {0.5, 0, 0, 0}.x, R1;
  17016. MOV.S R1.y, R1;
  17017. MOV.S R1.x, R1;
  17018. MOV.S R1.w, R0;
  17019. MOV.S R1.z, R1;
  17020. MOV.S R0.z, R0;
  17021. ENDIF;
  17022. SEQ.U R5.x, R17.w, {1, 0, 0, 0};
  17023. MOV.U.CC RC.x, -R5;
  17024. IF NE.x;
  17025. MOV.F R2.z, c[25].x;
  17026. MOV.F R2.y, R8.x;
  17027. MUL.F32 R2.x, R2.y, R2.z;
  17028. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17029. SNE.F32 R2.y, R2, {0, 0, 0, 0}.x;
  17030. TRUNC.U R2.z, R2;
  17031. TRUNC.U R2.y, R2;
  17032. AND.U.CC HC.x, R2.y, R2.z;
  17033. IF NE.x;
  17034. ELSE;
  17035. MOV.F R2.x, {0, 0, 0, 0};
  17036. ENDIF;
  17037. MOV.F R2.w, c[25].y;
  17038. MOV.F R2.z, R6.y;
  17039. MUL.F32 R2.y, R2.z, R2.w;
  17040. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17041. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  17042. TRUNC.U R2.z, R2;
  17043. TRUNC.U R2.w, R2;
  17044. AND.U.CC HC.x, R2.z, R2.w;
  17045. MOV.S R3.x, R2;
  17046. IF NE.x;
  17047. MOV.F R2.x, R2.y;
  17048. ELSE;
  17049. MOV.F R2.x, {0, 0, 0, 0};
  17050. ENDIF;
  17051. MOV.F R2.w, c[25].z;
  17052. MOV.F R2.z, R18;
  17053. MUL.F32 R2.y, R2.z, R2.w;
  17054. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17055. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  17056. TRUNC.U R2.z, R2;
  17057. TRUNC.U R2.w, R2;
  17058. AND.U.CC HC.x, R2.z, R2.w;
  17059. MOV.S R3.y, R2.x;
  17060. IF NE.x;
  17061. MOV.F R2.x, R2.y;
  17062. ELSE;
  17063. MOV.F R2.x, {0, 0, 0, 0};
  17064. ENDIF;
  17065. MOV.F R2.w, c[25];
  17066. MOV.F R2.z, R7.w;
  17067. MUL.F32 R2.y, R2.z, R2.w;
  17068. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17069. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  17070. TRUNC.U R2.z, R2;
  17071. TRUNC.U R2.w, R2;
  17072. AND.U.CC HC.x, R2.z, R2.w;
  17073. MOV.S R6.z, R2.x;
  17074. IF NE.x;
  17075. MOV.F R2.x, R2.y;
  17076. ELSE;
  17077. MOV.F R2.x, {0, 0, 0, 0};
  17078. ENDIF;
  17079. MOV.F R2.w, c[26].x;
  17080. MOV.F R2.z, R3.x;
  17081. MUL.F32 R2.y, R2.z, R2.w;
  17082. SNE.F32 R2.w, R2, {0, 0, 0, 0}.x;
  17083. TRUNC.U R5.x, R2.w;
  17084. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17085. TRUNC.U R2.z, R2;
  17086. AND.U.CC HC.x, R2.z, R5;
  17087. MOV.S R2.w, R2.x;
  17088. IF NE.x;
  17089. MOV.F R2.x, R2.y;
  17090. ELSE;
  17091. MOV.F R2.x, {0, 0, 0, 0};
  17092. ENDIF;
  17093. MOV.F R5.x, c[26];
  17094. MOV.F R2.z, R3.y;
  17095. MUL.F32 R2.y, R2.z, R5.x;
  17096. SNE.F32 R2.z, R2, {0, 0, 0, 0}.x;
  17097. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  17098. TRUNC.U R2.z, R2;
  17099. TRUNC.U R5.x, R5;
  17100. AND.U.CC HC.x, R2.z, R5;
  17101. MOV.S R2.x, R2;
  17102. IF NE.x;
  17103. ELSE;
  17104. MOV.F R2.y, {0, 0, 0, 0}.x;
  17105. ENDIF;
  17106. MOV.F R5.y, c[26].x;
  17107. MOV.F R5.x, R6.z;
  17108. MUL.F32 R2.z, R5.x, R5.y;
  17109. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  17110. SNE.F32 R5.y, R5, {0, 0, 0, 0}.x;
  17111. TRUNC.U R5.x, R5;
  17112. TRUNC.U R5.y, R5;
  17113. AND.U.CC HC.x, R5, R5.y;
  17114. MOV.S R2.y, R2;
  17115. IF NE.x;
  17116. ELSE;
  17117. MOV.F R2.z, {0, 0, 0, 0}.x;
  17118. ENDIF;
  17119. MOV.F R5.x, R20.y;
  17120. SNE.F32 R5.y, R5.x, {0, 0, 0, 0}.x;
  17121. MOV.F R5.z, c[29].y;
  17122. TRUNC.U R6.y, R5;
  17123. MOV.F R5.y, c[28].w;
  17124. ADD.F32 R5.y, R5, R5.z;
  17125. MUL.F32 R5.x, R5.z, R5;
  17126. MOV.S R12.x, R5.y;
  17127. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  17128. TRUNC.U R5.z, R5;
  17129. AND.U.CC HC.x, R6.y, R5.z;
  17130. MOV.F R6.x, c[29];
  17131. MOV.F R5.w, c[28].z;
  17132. ADD.F32 R5.w, R5, R6.x;
  17133. MOV.F R5.y, c[27].z;
  17134. MOV.S R12.y, R5.w;
  17135. MOV.S R2.z, R2;
  17136. TRUNC.S R6.x, R5.y;
  17137. IF NE.x;
  17138. ELSE;
  17139. MOV.F R5.x, {0, 0, 0, 0};
  17140. ENDIF;
  17141. MOV.F R5.y, R20.x;
  17142. SNE.F32 R5.w, R5.y, {0, 0, 0, 0}.x;
  17143. MOV.F R5.z, c[29].x;
  17144. MUL.F32 R5.y, R5, R5.z;
  17145. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  17146. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  17147. TRUNC.U R5.w, R5;
  17148. TRUNC.U R5.z, R5;
  17149. AND.U.CC HC.x, R5.w, R5.z;
  17150. MOV.S R12.z, R5.x;
  17151. IF NE.x;
  17152. MOV.F R5.x, R5.y;
  17153. ELSE;
  17154. MOV.F R5.x, {0, 0, 0, 0};
  17155. ENDIF;
  17156. MOV.F R5.z, R12.x;
  17157. MOV.F R5.y, R12.z;
  17158. ADD.F32 R5.y, -R5, R5.z;
  17159. MOV.S R15.y, R5;
  17160. I2F.S R5.y, R6.x;
  17161. MOV.S R5.y, R5;
  17162. MOV.F R5.z, R12.y;
  17163. MAD.F32 R5.z, -R5.x, {2, 0, 0, 0}.x, R5;
  17164. MOV.S R5.x, R5.y;
  17165. MOV.S R14.w, R5.y;
  17166. MOV.F R5.y, -|R5.x|;
  17167. SGE.F32 R5.x, {0, 0, 0, 0}, |R5|;
  17168. TRUNC.U.CC HC.x, R5;
  17169. MOV.S R15.x, R5.z;
  17170. MOV.S R15.z, R5.y;
  17171. IF NE.x;
  17172. MOV.F R5.x, {1, 0, 0, 0};
  17173. ELSE;
  17174. MOV.F R5.x, {0, 0, 0, 0};
  17175. ENDIF;
  17176. MOV.F R5.y, R23.x;
  17177. SNE.F32 R5.w, -R5.y, {0, 0, 0, 0}.x;
  17178. MOV.F R5.z, c[28].x;
  17179. MUL.F32 R5.y, -R5, R5.z;
  17180. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  17181. TRUNC.U R5.w, R5;
  17182. TRUNC.U R5.z, R5;
  17183. AND.U.CC HC.x, R5.w, R5.z;
  17184. MOV.S R15.w, R5.x;
  17185. IF NE.x;
  17186. MOV.F R5.x, R5.y;
  17187. ELSE;
  17188. MOV.F R5.x, {0, 0, 0, 0};
  17189. ENDIF;
  17190. MOV.F R5.y, R15.x;
  17191. ADD.F32 R5.x, R5, -R5.y;
  17192. MOV.F R5.y, R15.w;
  17193. MOV.S R14.x, R5;
  17194. SEQ.F R5.x, R5.y, {0, 0, 0, 0};
  17195. TRUNC.U.CC HC.x, R5;
  17196. IF NE.x;
  17197. MOV.S R5.x, {0, 0, 0, 0};
  17198. ELSE;
  17199. MOV.S R5.x, R15.z;
  17200. ENDIF;
  17201. MOV.F R5.w, c[28].y;
  17202. MOV.F R5.z, R23.x;
  17203. MUL.F32 R5.y, R5.z, R5.w;
  17204. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  17205. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  17206. TRUNC.U R5.w, R5;
  17207. TRUNC.U R5.z, R5;
  17208. AND.U.CC HC.x, R5.z, R5.w;
  17209. IF NE.x;
  17210. ELSE;
  17211. MOV.F R5.y, {0, 0, 0, 0}.x;
  17212. ENDIF;
  17213. MOV.F R5.z, R15.y;
  17214. ADD.F32 R5.y, R5, R5.z;
  17215. TRUNC.F R5.w, {0, 0, 0, 0}.x;
  17216. MOV.F R5.z, c[27];
  17217. MOV.F R6.x, c[27];
  17218. MOV.S R21.w, R5.y;
  17219. DIV.F32 R5.y, R6.x, R5.z;
  17220. RCP.F32 R5.z, R5.z;
  17221. MOV.S R15.x, R5.w;
  17222. SNE.F32 R5.w, R5.z, {0, 0, 0, 0}.x;
  17223. SNE.F32 R5.z, R6.x, {0, 0, 0, 0}.x;
  17224. TRUNC.U R5.w, R5;
  17225. TRUNC.U R5.z, R5;
  17226. AND.U.CC HC.x, R5.z, R5.w;
  17227. IF NE.x;
  17228. ELSE;
  17229. MOV.F R5.y, {0, 0, 0, 0}.x;
  17230. ENDIF;
  17231. MOV.F R5.w, R5.x;
  17232. MOV.F R5.z, R14.w;
  17233. ADD.F32 R5.z, |R5|, R5.w;
  17234. MOV.F R5.w, R8;
  17235. MOV.S R15.w, R5.z;
  17236. MOV.S R5.z, R5.y;
  17237. MOV.S R5.y, R5.z;
  17238. MOV.F R6.x, R5.y;
  17239. MUL.F32 R5.y, R5.w, R6.x;
  17240. SNE.F32 R6.y, R5.w, {0, 0, 0, 0}.x;
  17241. MOV.S R13.y, R5.z;
  17242. MOV.F R5.z, c[27].w;
  17243. TRUNC.U R5.w, R6.y;
  17244. SNE.F32 R6.x, R6, {0, 0, 0, 0};
  17245. TRUNC.U R6.y, R6.x;
  17246. RCP.F32 R5.z, R5.z;
  17247. AND.U.CC HC.x, R5.w, R6.y;
  17248. MOV.S R6.x, R5.z;
  17249. IF NE.x;
  17250. ELSE;
  17251. MOV.F R5.y, {0, 0, 0, 0}.x;
  17252. ENDIF;
  17253. MOV.F R5.z, R5.x;
  17254. ADD.F32 R5.y, R5, {-0.5, 0, 0, 0}.x;
  17255. SGT.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  17256. TRUNC.U.CC HC.x, R5.z;
  17257. MOV.S R21.x, R5.y;
  17258. IF NE.x;
  17259. MOV.S R5.x, R15.w;
  17260. ELSE;
  17261. ENDIF;
  17262. MOV.F R5.w, R6.x;
  17263. MOV.F R5.z, c[27].y;
  17264. MUL.F32 R5.y, R5.z, R5.w;
  17265.  
  17266. [19:43:31] Link error in shader. Log:
  17267. [19:43:31] Vertex info
  17268. -----------
  17269. Internal error: assembly compile error for vertex shader at offset 1783:
  17270. -- error message --
  17271. line 37, column 45: error: invalid vertex attribute reference
  17272. line 52, column 25: error: invalid vertex attribute reference
  17273. line 54, column 25: error: invalid vertex attribute reference
  17274. line 63, column 25: error: invalid vertex attribute reference
  17275. line 66, column 25: error: invalid vertex attribute reference
  17276. -- internal assembly text --
  17277. !!NVvp5.0
  17278. OPTION NV_bindless_texture;
  17279. # cgc version 3.4.0001, build date Aug 25 2016
  17280. # command line args:
  17281. #vendor NVIDIA Corporation
  17282. #version 3.4.0.1 COP Build Date Aug 25 2016
  17283. #profile gp5vp
  17284. #program main
  17285. #semantic uf_remappedVS
  17286. #var uint4 attrDataSem0 : $vin.ATTR0 : ATTR0 : -1 : 1
  17287. #var uint4 attrDataSem1 : $vin.ATTR1 : ATTR1 : -1 : 1
  17288. #var uint4 attrDataSem10 : $vin.ATTR10 : ATTR10 : -1 : 1
  17289. #var uint4 attrDataSem11 : $vin.ATTR11 : ATTR11 : -1 : 1
  17290. #var uint4 attrDataSem12 : $vin.ATTR12 : ATTR12 : -1 : 1
  17291. #var uint4 attrDataSem13 : $vin.ATTR13 : ATTR13 : -1 : 1
  17292. #var uint4 attrDataSem14 : $vin.ATTR14 : ATTR14 : -1 : 0
  17293. #var uint4 attrDataSem15 : $vin.ATTR15 : ATTR15 : -1 : 1
  17294. #var uint4 attrDataSem16 : $vin.ATTR16 : ATTR16 : -1 : 1
  17295. #var uint4 attrDataSem2 : $vin.ATTR2 : ATTR2 : -1 : 1
  17296. #var uint4 attrDataSem3 : $vin.ATTR3 : ATTR3 : -1 : 1
  17297. #var uint4 attrDataSem4 : $vin.ATTR4 : ATTR4 : -1 : 1
  17298. #var uint4 attrDataSem5 : $vin.ATTR5 : ATTR5 : -1 : 1
  17299. #var uint4 attrDataSem6 : $vin.ATTR6 : ATTR6 : -1 : 1
  17300. #var uint4 attrDataSem7 : $vin.ATTR7 : ATTR7 : -1 : 1
  17301. #var uint4 attrDataSem8 : $vin.ATTR8 : ATTR8 : -1 : 1
  17302. #var uint4 attrDataSem9 : $vin.ATTR9 : ATTR9 : -1 : 1
  17303. #var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
  17304. #var int gl_VertexID : $vin.VERTEXID : VERTEXID : -1 : 1
  17305. #var float4 passParameterSem0 : $vout.ATTR0 : ATTR0 : -1 : 1
  17306. #var float4 passParameterSem11 : $vout.ATTR4 : ATTR4 : -1 : 1
  17307. #var float4 passParameterSem4 : $vout.ATTR1 : ATTR1 : -1 : 1
  17308. #var float4 passParameterSem7 : $vout.ATTR2 : ATTR2 : -1 : 1
  17309. #var float4 passParameterSem8 : $vout.ATTR3 : ATTR3 : -1 : 1
  17310. #var int4 uf_remappedVS[0] : : c[0] : -1 : 1
  17311. #var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
  17312. PARAM c[34] = { program.local[0..33] };
  17313. ATTRIB vertex_attrib[] = { vertex.attrib[0..16] };
  17314. OUTPUT result_attrib[] = { result.attrib[0..4] };
  17315. 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;
  17316. TEMP RC;
  17317. SHORT TEMP HC;
  17318. SHR.U R0, vertex.attrib[9], {8, 0, 0, 0}.x;
  17319. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17320. SHR.U R0, vertex.attrib[9], {24, 0, 0, 0}.x;
  17321. MOV.F R11.w, {1, 0, 0, 0}.x;
  17322. OR.U R0, R0, R1;
  17323. SHL.U R2, vertex.attrib[9], {8, 0, 0, 0}.x;
  17324. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17325. OR.U R0, R0, R1;
  17326. SHL.U R2, vertex.attrib[9], {24, 0, 0, 0}.x;
  17327. OR.U R5, R0, R2;
  17328. SHR.U R1, vertex.attrib[16], {8, 0, 0, 0}.x;
  17329. AND.U R2, R1, {65280, 0, 0, 0}.x;
  17330. SHR.U R1, vertex.attrib[16], {24, 0, 0, 0}.x;
  17331. OR.U R1, R1, R2;
  17332. MOV.U R0.x, R5.w;
  17333. MOV.F R0.y, c[0].x;
  17334. ADD.F32 R8.x, -R0, R0.y;
  17335. SGT.F32 R9.x, {0, 0, 0, 0}, R8;
  17336. TRUNC.U R13.x, R9;
  17337. SEQ.U R10.x, R13, {1, 0, 0, 0};
  17338. SEQ.U R13.y, -R10.x, {1, 0, 0, 0}.x;
  17339. SHL.U R0, vertex.attrib[16], {8, 0, 0, 0}.x;
  17340. AND.U R0, R0, {16711680, 0, 0, 0}.x;
  17341. OR.U R0, R1, R0;
  17342. SHL.U R2, vertex.attrib[16], {24, 0, 0, 0}.x;
  17343. OR.U R4, R0, R2;
  17344. SHR.U R1, vertex.attrib[8], {8, 0, 0, 0}.x;
  17345. AND.U R2, R1, {65280, 0, 0, 0}.x;
  17346. SHR.U R1, vertex.attrib[8], {24, 0, 0, 0}.x;
  17347. MOV.U.CC RC.x, -R13.y;
  17348. OR.U R1, R1, R2;
  17349. SHL.U R0, vertex.attrib[8], {8, 0, 0, 0}.x;
  17350. AND.U R2, R0, {16711680, 0, 0, 0}.x;
  17351. OR.U R1, R1, R2;
  17352. SHL.U R0, vertex.attrib[8], {24, 0, 0, 0}.x;
  17353. OR.U R18, R1, R0;
  17354. SHR.U R0, vertex.attrib[7], {8, 0, 0, 0}.x;
  17355. AND.U R1, R0, {65280, 0, 0, 0}.x;
  17356. SHR.U R0, vertex.attrib[7], {24, 0, 0, 0}.x;
  17357. OR.U R0, R0, R1;
  17358. SHL.U R2, vertex.attrib[7], {8, 0, 0, 0}.x;
  17359. AND.U R1, R2, {16711680, 0, 0, 0}.x;
  17360. OR.U R0, R0, R1;
  17361. SHL.U R2, vertex.attrib[7], {24, 0, 0, 0}.x;
  17362. OR.U R1, R0, R2;
  17363. SHR.U R0, vertex.attrib[6], {8, 0, 0, 0}.x;
  17364. AND.U R2, R0, {65280, 0, 0, 0}.x;
  17365. SHR.U R0, vertex.attrib[6], {24, 0, 0, 0}.x;
  17366. OR.U R0, R0, R2;
  17367. SHL.U R3, vertex.attrib[6], {8, 0, 0, 0}.x;
  17368. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  17369. OR.U R0, R0, R2;
  17370. SHL.U R3, vertex.attrib[6], {24, 0, 0, 0}.x;
  17371. OR.U R6, R0, R3;
  17372. SHR.U R0, vertex.attrib[0], {8, 0, 0, 0}.x;
  17373. AND.U R2, R0, {65280, 0, 0, 0}.x;
  17374. SHR.U R0, vertex.attrib[0], {24, 0, 0, 0}.x;
  17375. OR.U R0, R0, R2;
  17376. SHL.U R3, vertex.attrib[0], {8, 0, 0, 0}.x;
  17377. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  17378. OR.U R0, R0, R2;
  17379. SHL.U R3, vertex.attrib[0], {24, 0, 0, 0}.x;
  17380. OR.U R7, R0, R3;
  17381. SHR.U R0, vertex.attrib[1], {8, 0, 0, 0}.x;
  17382. AND.U R2, R0, {65280, 0, 0, 0}.x;
  17383. SHR.U R0, vertex.attrib[1], {24, 0, 0, 0}.x;
  17384. OR.U R0, R0, R2;
  17385. SHL.U R3, vertex.attrib[1], {8, 0, 0, 0}.x;
  17386. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  17387. OR.U R0, R0, R2;
  17388. SHL.U R3, vertex.attrib[1], {24, 0, 0, 0}.x;
  17389. MOV.S R26.y, R8.x;
  17390. OR.U R8, R0, R3;
  17391. SHR.U R0, vertex.attrib[2], {8, 0, 0, 0}.x;
  17392. AND.U R2, R0, {65280, 0, 0, 0}.x;
  17393. SHR.U R0, vertex.attrib[2], {24, 0, 0, 0}.x;
  17394. OR.U R0, R0, R2;
  17395. SHL.U R3, vertex.attrib[2], {8, 0, 0, 0}.x;
  17396. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  17397. OR.U R0, R0, R2;
  17398. SHL.U R3, vertex.attrib[2], {24, 0, 0, 0}.x;
  17399. OR.U R9, R0, R3;
  17400. SHR.U R0, vertex.attrib[5], {8, 0, 0, 0}.x;
  17401. AND.U R2, R0, {65280, 0, 0, 0}.x;
  17402. SHR.U R0, vertex.attrib[5], {24, 0, 0, 0}.x;
  17403. OR.U R0, R0, R2;
  17404. SHL.U R3, vertex.attrib[5], {8, 0, 0, 0}.x;
  17405. AND.U R2, R3, {16711680, 0, 0, 0}.x;
  17406. OR.U R0, R0, R2;
  17407. SHL.U R3, vertex.attrib[5], {24, 0, 0, 0}.x;
  17408. OR.U R12, R0, R3;
  17409. SHR.U R0.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  17410. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17411. SHR.U R0.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  17412. OR.U R0.xyz, R0, R2;
  17413. SHL.U R3.xyz, vertex.attrib[11], {8, 0, 0, 0}.x;
  17414. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17415. OR.U R0.xyz, R0, R2;
  17416. SHL.U R3.xyz, vertex.attrib[11], {24, 0, 0, 0}.x;
  17417. OR.U R21.xyz, R0, R3;
  17418. SHR.U R0.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  17419. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17420. SHR.U R0.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  17421. OR.U R0.xyz, R0, R2;
  17422. SHL.U R3.xyz, vertex.attrib[10], {8, 0, 0, 0}.x;
  17423. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17424. OR.U R0.xyz, R0, R2;
  17425. SHL.U R3.xyz, vertex.attrib[10], {24, 0, 0, 0}.x;
  17426. OR.U R22.xyz, R0, R3;
  17427. SHR.U R0.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  17428. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17429. SHR.U R0.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  17430. OR.U R0.xyz, R0, R2;
  17431. SHL.U R3.xyz, vertex.attrib[15], {8, 0, 0, 0}.x;
  17432. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17433. OR.U R0.xyz, R0, R2;
  17434. SHL.U R3.xyz, vertex.attrib[15], {24, 0, 0, 0}.x;
  17435. OR.U R23.xyz, R0, R3;
  17436. SHR.U R0.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  17437. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17438. SHR.U R0.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  17439. OR.U R0.xyz, R0, R2;
  17440. SHL.U R3.xyz, vertex.attrib[13], {8, 0, 0, 0}.x;
  17441. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17442. OR.U R0.xyz, R0, R2;
  17443. SHL.U R3.xyz, vertex.attrib[13], {24, 0, 0, 0}.x;
  17444. OR.U R24.xyz, R0, R3;
  17445. SHR.U R0.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  17446. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17447. SHR.U R0.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  17448. OR.U R0.xyz, R0, R2;
  17449. SHL.U R3.xyz, vertex.attrib[12], {8, 0, 0, 0}.x;
  17450. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17451. OR.U R0.xyz, R0, R2;
  17452. SHL.U R3.xyz, vertex.attrib[12], {24, 0, 0, 0}.x;
  17453. OR.U R25.xyz, R0, R3;
  17454. SHR.U R0.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  17455. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17456. SHR.U R0.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  17457. OR.U R0.xyz, R0, R2;
  17458. SHL.U R3.xyz, vertex.attrib[3], {8, 0, 0, 0}.x;
  17459. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17460. OR.U R0.xyz, R0, R2;
  17461. SHL.U R3.xyz, vertex.attrib[3], {24, 0, 0, 0}.x;
  17462. OR.U R10.xyz, R0, R3;
  17463. SHR.U R0.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  17464. AND.U R2.xyz, R0, {65280, 0, 0, 0}.x;
  17465. SHR.U R0.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  17466. OR.U R0.xyz, R0, R2;
  17467. SHL.U R3.xyz, vertex.attrib[4], {8, 0, 0, 0}.x;
  17468. AND.U R2.xyz, R3, {16711680, 0, 0, 0}.x;
  17469. OR.U R0.xyz, R0, R2;
  17470. SHL.U R3.xyz, vertex.attrib[4], {24, 0, 0, 0}.x;
  17471. OR.U R11.xyz, R0, R3;
  17472. MOV.S R2, {0, 0, 0, 0}.x;
  17473. MOV.S R3, {0, 0, 0, 0}.x;
  17474. MOV.S R20.xyz, {0, 0, 0, 0}.x;
  17475. MOV.S R26.xz, {0, 0, 0, 0}.x;
  17476. MOV.S R28.zw, {0, 0, 0, 0}.x;
  17477. MOV.S R28.xy, {0, 0, 0, 0}.x;
  17478. MOV.S R0.yz, {0, 0, 0, 0};
  17479. MOV.S R0.x, vertex.id;
  17480. MOV.S R0.w, vertex.instance.x;
  17481. MOV.S R10.w, {0, 0, 0, 0}.x;
  17482. MOV.S R11.w, R11;
  17483. IF NE.x;
  17484. MOV.F R2.z, c[1].y;
  17485. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  17486. MOV.S R12.w, R11;
  17487. MOV.S R2.xyw, {0, 0, 0, 0}.x;
  17488. MOV.S R28.xy, {0, 0, 0, 0}.x;
  17489. MOV.S R2.z, R2;
  17490. ENDIF;
  17491. SEQ.U R13.x, R13, {0, 0, 0, 0};
  17492. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  17493. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  17494. MOV.U.CC RC.x, -R13;
  17495. IF NE.x;
  17496. MOV.S R12.w, {0, 0, 0, 0}.x;
  17497. ENDIF;
  17498. SEQ.S R13.x, R12.w, {0, 0, 0, 0};
  17499. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  17500. SEQ.U R13.z, -R13.y, {1, 0, 0, 0}.x;
  17501. MOV.U.CC RC.x, -R13.z;
  17502. MOV.U R13.x, -R13;
  17503. MOV.U R22.w, -R13.y;
  17504. IF NE.x;
  17505. MOV.F R13.y, R18.w;
  17506. TRUNC.S R13.y, R13;
  17507. I2F.S R13.y, R13;
  17508. MOV.F R13.z, R26.y;
  17509. SGE.F32 R13.z, R13, R13.y;
  17510. MOV.S R23.z, R13.y;
  17511. TRUNC.U R13.y, R13.z;
  17512. SEQ.U R13.z, R22.w, {1, 0, 0, 0}.x;
  17513. SEQ.U R13.y, R13, {1, 0, 0, 0}.x;
  17514. AND.U R23.w, -R13.y, -R13.z;
  17515. ELSE;
  17516. MOV.U R23.w, {0, 0, 0, 0}.x;
  17517. ENDIF;
  17518. SEQ.U R13.y, R23.w, {1, 0, 0, 0}.x;
  17519. MOV.U.CC RC.x, -R13.y;
  17520. IF NE.x;
  17521. MOV.F R2.z, c[1].y;
  17522. MUL.F32 R2.z, R2, {5, 0, 0, 0}.x;
  17523. MOV.S R10.w, R11;
  17524. MOV.S R2.xy, {0, 0, 0, 0};
  17525. MOV.S R2.z, R2;
  17526. MOV.S R28.x, {0, 0, 0, 0};
  17527. ENDIF;
  17528. SEQ.U R13.x, R13, {1, 0, 0, 0};
  17529. SEQ.U R13.y, -R13.x, {1, 0, 0, 0}.x;
  17530. MOV.U.CC RC.x, -R13.y;
  17531. MOV.U R22.w, -R13.x;
  17532. IF NE.x;
  17533. SEQ.S R13.x, R10.w, {0, 0, 0, 0};
  17534. MOV.U R18.w, -R13.x;
  17535. SEQ.U R13.y, R22.w, {1, 0, 0, 0}.x;
  17536. SEQ.U R13.x, -R13, {1, 0, 0, 0};
  17537. AND.U R23.w, -R13.x, -R13.y;
  17538. ELSE;
  17539. MOV.U R18.w, {0, 0, 0, 0}.x;
  17540. MOV.U R23.w, {0, 0, 0, 0}.x;
  17541. ENDIF;
  17542. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  17543. MOV.U.CC RC.x, -R13;
  17544. IF NE.x;
  17545. MOV.F R0.y, R25.z;
  17546. MOV.F R0.x, R25.y;
  17547. ADD.F32 R0.x, R0, R0.y;
  17548. MOV.S R13.x, R0;
  17549. MOV.F R0.x, c[3];
  17550. RCP.F32 R0.y, R0.x;
  17551. SGT.F32 R0.x, R0, {0, 0, 0, 0};
  17552. TRUNC.U.CC HC.x, R0;
  17553. AND.S R13.w, c[2].x, {65536, 0, 0, 0}.x;
  17554. AND.S R13.y, c[2].x, {262144, 0, 0, 0}.x;
  17555. AND.S R19.z, c[2].x, {131072, 0, 0, 0}.x;
  17556. MOV.S R14.y, R0;
  17557. IF NE.x;
  17558. MOV.F R0.x, {1, 0, 0, 0};
  17559. ELSE;
  17560. MOV.F R0.x, {0, 0, 0, 0};
  17561. ENDIF;
  17562. MOV.F R0.z, R25.x;
  17563. MOV.F R0.y, R25.z;
  17564. ADD.F32 R0.w, R0.y, R0.z;
  17565. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  17566. MOV.S R15.y, R0.w;
  17567. I2F.S R0.w, R19.z;
  17568. MOV.S R11.w, R0;
  17569. SGT.F32 R0.w, R0, {0, 0, 0, 0}.x;
  17570. MOV.S R14.w, R0.y;
  17571. MUL.F32 R0.y, R0.z, {2, 0, 0, 0}.x;
  17572. TRUNC.U.CC HC.x, R0.w;
  17573. MOV.S R19.z, R13.y;
  17574. MOV.S R13.z, R0.y;
  17575. MOV.S R14.x, R0;
  17576. IF NE.x;
  17577. MOV.F R0.x, {1, 0, 0, 0};
  17578. ELSE;
  17579. MOV.F R0.x, {0, 0, 0, 0};
  17580. ENDIF;
  17581. MOV.F R0.y, c[3].x;
  17582. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  17583. TRUNC.U.CC HC.x, R0.z;
  17584. MOV.F R0.y, {1, 0, 0, 0}.x;
  17585. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  17586. MOV.S R13.y, R0;
  17587. MOV.F R0.y, R25.x;
  17588. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  17589. MOV.F R0.z, c[4].y;
  17590. MUL.F32 R0.y, R0, R0.z;
  17591. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17592. TRUNC.U R0.w, R0;
  17593. TRUNC.U R0.z, R0;
  17594. AND.U.CC HC.x, R0.w, R0.z;
  17595. MOV.S R19.x, R0;
  17596. IF NE.x;
  17597. MOV.F R0.x, R0.y;
  17598. ELSE;
  17599. MOV.F R0.x, {0, 0, 0, 0};
  17600. ENDIF;
  17601. I2F.S R0.y, R19.z;
  17602. SLT.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  17603. TRUNC.U.CC HC.x, R0.w;
  17604. MOV.F R0.z, {1, 0, 0, 0}.x;
  17605. MOV.F R0.z(EQ.x), {0, 0, 0, 0}.x;
  17606. MOV.F R0.w, R11;
  17607. SLT.F32 R5.x, R0.w, {0, 0, 0, 0};
  17608. TRUNC.U.CC HC.x, R5;
  17609. MOV.F R0.w, {1, 0, 0, 0}.x;
  17610. MOV.S R17.z, R0;
  17611. MOV.F R0.w(EQ.x), {0, 0, 0, 0}.x;
  17612. MOV.F R5.x, R19;
  17613. ADD.F32 R0.w, R5.x, -R0;
  17614. MOV.S R17.x, R0.w;
  17615. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  17616. TRUNC.U.CC HC.x, R0.y;
  17617. MOV.F R0.w, R14.y;
  17618. MOV.F R0.z, R26.y;
  17619. MUL.F32 R0.z, R0, R0.w;
  17620. MOV.S R14.y, R0.z;
  17621. MOV.S R14.z, R0.x;
  17622. IF NE.x;
  17623. MOV.F R0.x, {1, 0, 0, 0};
  17624. ELSE;
  17625. MOV.F R0.x, {0, 0, 0, 0};
  17626. ENDIF;
  17627. I2F.S R0.y, R13.w;
  17628. MOV.S R11.w, R0.y;
  17629. SGT.F32 R0.y, R0, {0, 0, 0, 0}.x;
  17630. TRUNC.U.CC HC.x, R0.y;
  17631. MOV.S R17.w, R0.x;
  17632. IF NE.x;
  17633. MOV.F R0.x, {1, 0, 0, 0};
  17634. ELSE;
  17635. MOV.F R0.x, {0, 0, 0, 0};
  17636. ENDIF;
  17637. MOV.F R0.y, R11.w;
  17638. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  17639. TRUNC.U.CC HC.x, R0.z;
  17640. MOV.F R0.y, {1, 0, 0, 0}.x;
  17641. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  17642. ADD.F32 R0.x, R0, -R0.y;
  17643. MOV.S R0.x, R0;
  17644. TRUNC.S R16.z, R0.x;
  17645. MOV.F R0.w, R14.z;
  17646. MOV.F R5.x, R13.z;
  17647. MOV.F R0.y, R17.z;
  17648. MOV.F R0.x, R17.w;
  17649. ADD.F32 R0.x, R0, -R0.y;
  17650. MOV.F R0.y, R14.x;
  17651. MOV.F R0.z, R13.y;
  17652. ADD.F32 R0.z, R0.y, -R0;
  17653. TRUNC.S R0.x, R0;
  17654. ADD.S R0.y, -R0.x, {0, 0, 0, 0}.x;
  17655. MAX.S R14.z, R0.x, R0.y;
  17656. MOV.S R16.w, R0.z;
  17657. MOV.F R0.z, R14.y;
  17658. ADD.F32 R0.z, R0.w, R0;
  17659. MOV.S R14.x, R0.z;
  17660. MOV.F R0.x, R25.y;
  17661. MOV.F R0.y, R25.x;
  17662. ADD.F32 R0.y, R0, R0.x;
  17663. MUL.F32 R0.y, R0, {0.5, 0, 0, 0}.x;
  17664. MOV.S R13.y, R0;
  17665. MOV.F R0.y, R14.w;
  17666. FLR.F R0.y, R0;
  17667. MUL.F32 R0.x, R0, {2, 0, 0, 0};
  17668. MOV.F R0.z, R17.x;
  17669. MOV.S R13.z, R0.y;
  17670. TRUNC.S R0.y, R0.z;
  17671. MOV.F R0.z, R13.x;
  17672. MUL.F32 R0.w, R0.z, {0.5, 0, 0, 0}.x;
  17673. MOV.F R0.z, R15.y;
  17674. MOV.S R16.y, R0;
  17675. ADD.S R15.y, -R0, {0, 0, 0, 0}.x;
  17676. MUL.F32 R0.y, R0.z, {0.5, 0, 0, 0}.x;
  17677. MOV.F R0.z, c[5].w;
  17678. MOV.S R15.x, R0.y;
  17679. FLR.F R0.y, R5.x;
  17680. MAX.F R0.z, R0, {0, 0, 0, 0}.x;
  17681. LG2.F32 R0.z, R0.z;
  17682. MOV.S R15.z, R0.w;
  17683. MUL.F32 R0.w, R0.z, {2, 0, 0, 0}.x;
  17684. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  17685. SEQ.F R0.w, R0.z, R0;
  17686. TRUNC.U R5.x, R5;
  17687. TRUNC.U R0.w, R0;
  17688. AND.U R0.w, R0, R5.x;
  17689. SEQ.U R0.w, R0, {1, 0, 0, 0}.x;
  17690. MOV.U.CC RC.x, -R0.w;
  17691. MOV.S R0.y, R0;
  17692. MOV.S R16.x, R0;
  17693. IF NE.x;
  17694. MOV.F R0.z, {-3.40282347e+038, 0, 0, 0}.x;
  17695. ENDIF;
  17696. MOV.F R0.x, R13.z;
  17697. SLT.F32 R5.x, R0, {0, 0, 0, 0};
  17698. TRUNC.U.CC HC.x, R5;
  17699. MOV.F R5.x, R15;
  17700. MOV.F R0.w, {1, 0, 0, 0}.x;
  17701. MOV.F R0.w(EQ.x), {0, 0, 0, 0}.x;
  17702. MOV.S R17.x, R0.w;
  17703. MOV.F R0.w, R15.z;
  17704. ADD.F32 R0.w, R0, {-0.5, 0, 0, 0}.x;
  17705. MUL.F32 R0.w, R0, {2, 0, 0, 0}.x;
  17706. SGT.F32 R0.x, R0, {0, 0, 0, 0};
  17707. TRUNC.U.CC HC.x, R0;
  17708. MAX.S R13.w, R16.y, R15.y;
  17709. ADD.F32 R5.x, R5, {-0.5, 0, 0, 0};
  17710. MOV.S R15.z, R0.w;
  17711. MUL.F32 R0.w, R5.x, {2, 0, 0, 0}.x;
  17712. MOV.S R16.y, R0.w;
  17713. MOV.F R0.w, R23.z;
  17714. RCP.F32 R0.w, R0.w;
  17715. ADD.S R15.x, -R16.z, {0, 0, 0, 0};
  17716. MOV.S R15.y, R0.w;
  17717. MOV.S R13.x, R0.z;
  17718. IF NE.x;
  17719. MOV.F R0.x, {1, 0, 0, 0};
  17720. ELSE;
  17721. MOV.F R0.x, {0, 0, 0, 0};
  17722. ENDIF;
  17723. MOV.F R0.z, R0.y;
  17724. SGT.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17725. TRUNC.U.CC HC.x, R0.z;
  17726. MOV.S R17.y, R0.x;
  17727. IF NE.x;
  17728. MOV.F R0.x, {1, 0, 0, 0};
  17729. ELSE;
  17730. MOV.F R0.x, {0, 0, 0, 0};
  17731. ENDIF;
  17732. SLT.F32 R0.z, R0.y, {0, 0, 0, 0}.x;
  17733. TRUNC.U.CC HC.x, R0.z;
  17734. MOV.F R0.y, {1, 0, 0, 0}.x;
  17735. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  17736. ADD.F32 R0.x, R0, -R0.y;
  17737. MOV.S R19.z, R14.x;
  17738. MAX.S R14.x, R16.z, R15;
  17739. MOV.S R16.z, R0.x;
  17740. MOV.F R0.x, R16;
  17741. FLR.F R0.x, R0;
  17742. MOV.F R0.z, R17.x;
  17743. MOV.F R0.y, R17;
  17744. ADD.F32 R0.y, R0, -R0.z;
  17745. MOV.S R14.y, R0;
  17746. MOV.F R0.z, R13.x;
  17747. MOV.F R0.y, R26;
  17748. MOV.S R14.w, R0.x;
  17749. MUL.F32 R0.x, R0.y, R0.z;
  17750. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17751. SNE.F32 R0.y, R0, {0, 0, 0, 0}.x;
  17752. TRUNC.U R0.z, R0;
  17753. TRUNC.U R0.y, R0;
  17754. AND.U.CC HC.x, R0.y, R0.z;
  17755. IF NE.x;
  17756. ELSE;
  17757. MOV.F R0.x, {0, 0, 0, 0};
  17758. ENDIF;
  17759. MOV.F R0.y, R13;
  17760. ADD.F32 R0.y, R0, {-0.5, 0, 0, 0}.x;
  17761. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  17762. MOV.S R15.w, R0.x;
  17763. MOV.F R0.x, R19.z;
  17764. FRC.F R0.x, R0;
  17765. MOV.F R0.z, R15.y;
  17766. MOV.F R0.y, R26;
  17767. MUL.F32 R0.y, R0, R0.z;
  17768. MOV.S R13.x, R0.y;
  17769. MOV.F R0.y, R15.z;
  17770. MOV.S R13.y, R0.w;
  17771. SNE.F32 R0.w, R0.y, {0, 0, 0, 0}.x;
  17772. MOV.F R0.z, c[6].y;
  17773. MUL.F32 R0.y, R0, R0.z;
  17774. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17775. TRUNC.U R0.w, R0;
  17776. TRUNC.U R0.z, R0;
  17777. AND.U.CC HC.x, R0.w, R0.z;
  17778. MOV.S R19.x, R13.w;
  17779. MOV.S R13.z, R0.x;
  17780. IF NE.x;
  17781. MOV.F R5.x, R0.y;
  17782. ELSE;
  17783. MOV.F R5.x, {0, 0, 0, 0};
  17784. ENDIF;
  17785. MOV.F R0.xyz, R1;
  17786. MOV.F R5.y, R16.w;
  17787. MOV.F R17.xyz, R12;
  17788. MOV.F R0.w, {0, 0, 0, 0}.x;
  17789. MOV.F R17.w, {-0, 0, 0, 0}.x;
  17790. DP4.F32 R0.y, R17, R0;
  17791. ADD.F32 R0.x, -R5.y, {1, 0, 0, 0};
  17792. MOV.S R13.w, R0.x;
  17793. MOV.F R0.x, R16.y;
  17794. MOV.S R17.x, R0.y;
  17795. SNE.F32 R0.y, R0.x, {0, 0, 0, 0}.x;
  17796. MOV.F R0.w, c[6].z;
  17797. TRUNC.U R5.y, R0;
  17798. MUL.F32 R0.x, R0, R0.w;
  17799. I2F.S R0.y, R19.x;
  17800. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  17801. MUL.F32 R0.y, R0, {2, 0, 0, 0}.x;
  17802. TRUNC.U R0.w, R0;
  17803. AND.U.CC HC.x, R5.y, R0.w;
  17804. MOV.S R0.z, R5.x;
  17805. MOV.S R15.z, R0.y;
  17806. IF NE.x;
  17807. ELSE;
  17808. MOV.F R0.x, {0, 0, 0, 0};
  17809. ENDIF;
  17810. MOV.F R5.x, R13.w;
  17811. MOV.F R0.w, R13.x;
  17812. MUL.F32 R0.y, R0.w, R5.x;
  17813. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  17814. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  17815. TRUNC.U R0.w, R0;
  17816. TRUNC.U R5.x, R5;
  17817. AND.U.CC HC.x, R0.w, R5;
  17818. MOV.S R15.y, R0.x;
  17819. IF NE.x;
  17820. MOV.F R0.x, R0.y;
  17821. ELSE;
  17822. MOV.F R0.x, {0, 0, 0, 0};
  17823. ENDIF;
  17824. MOV.F R0.w, R14;
  17825. SLT.F32 R5.x, R0.w, {0, 0, 0, 0};
  17826. MOV.F R0.y, {1, 0, 0, 0}.x;
  17827. TRUNC.U.CC HC.x, R5;
  17828. MOV.F R0.y(EQ.x), {0, 0, 0, 0}.x;
  17829. MOV.S R17.y, R0;
  17830. SGT.F32 R0.y, R0.w, {0, 0, 0, 0}.x;
  17831. TRUNC.U.CC HC.x, R0.y;
  17832. MOV.S R13.x, R0;
  17833. IF NE.x;
  17834. MOV.F R0.w, {1, 0, 0, 0}.x;
  17835. ELSE;
  17836. MOV.F R0.w, {0, 0, 0, 0}.x;
  17837. ENDIF;
  17838. MOV.F R5.y, R17;
  17839. ADD.F32 R0.w, R0, -R5.y;
  17840. MOV.F R0.y, R14;
  17841. MOV.F R5.z, R15;
  17842. I2F.S R5.x, R14.z;
  17843. MUL.F32 R5.x, R5, {2, 0, 0, 0};
  17844. MOV.S R15.x, R0.w;
  17845. SNE.F32 R0.w, -R5.z, {0, 0, 0, 0}.x;
  17846. MOV.S R11.w, R5.x;
  17847. TRUNC.U R5.x, R0.w;
  17848. MOV.F R0.w, c[5];
  17849. SNE.F32 R5.y, R0, {0, 0, 0, 0}.x;
  17850. MUL.F32 R0.x, -R5.z, R0.y;
  17851. ADD.F32 R0.y, -R0.w, {1, 0, 0, 0}.x;
  17852. TRUNC.U R0.w, R5.y;
  17853. AND.U.CC HC.x, R5, R0.w;
  17854. MOV.S R13.w, R0.y;
  17855. IF NE.x;
  17856. ELSE;
  17857. MOV.F R0.x, {0, 0, 0, 0};
  17858. ENDIF;
  17859. MOV.F R5.x, R13.z;
  17860. MOV.F R0.w, R16;
  17861. MUL.F32 R0.y, R0.w, R5.x;
  17862. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  17863. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  17864. TRUNC.U R0.w, R0;
  17865. TRUNC.U R5.x, R5;
  17866. AND.U.CC HC.x, R0.w, R5;
  17867. MOV.S R14.y, R0.x;
  17868. IF NE.x;
  17869. MOV.F R0.x, R0.y;
  17870. ELSE;
  17871. MOV.F R0.x, {0, 0, 0, 0};
  17872. ENDIF;
  17873. MOV.F R0.y, R16.z;
  17874. SNE.F32 R5.x, R0.y, {0, 0, 0, 0};
  17875. MOV.F R0.w, R11;
  17876. MUL.F32 R0.y, -R0.w, R0;
  17877. TRUNC.U R5.x, R5;
  17878. SNE.F32 R0.w, -R0, {0, 0, 0, 0}.x;
  17879. MOV.S R13.z, R0.x;
  17880. TRUNC.U R0.x, R0.w;
  17881. AND.U.CC HC.x, R0, R5;
  17882. IF NE.x;
  17883. MOV.F R0.x, R0.y;
  17884. ELSE;
  17885. MOV.F R0.x, {0, 0, 0, 0};
  17886. ENDIF;
  17887. MOV.F R0.y, R15.w;
  17888. EX2.F32 R0.y, R0.y;
  17889. MOV.S R10.w, R0.y;
  17890. MOV.F R0.y, c[5];
  17891. ADD.F32 R0.y, R0, R0.z;
  17892. MOV.S R19.x, R14;
  17893. MOV.F R0.w, c[6].x;
  17894. MOV.F R0.z, R13.y;
  17895. MOV.S R14.x, R0.y;
  17896. MUL.F32 R0.y, R0.z, R0.w;
  17897. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17898. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  17899. TRUNC.U R0.z, R0;
  17900. TRUNC.U R0.w, R0;
  17901. AND.U.CC HC.x, R0.z, R0.w;
  17902. MOV.S R16.w, R0.x;
  17903. IF NE.x;
  17904. MOV.F R0.x, R0.y;
  17905. ELSE;
  17906. MOV.F R0.x, {0, 0, 0, 0};
  17907. ENDIF;
  17908. MOV.S R13.y, R0.x;
  17909. MOV.F R0.x, R10.w;
  17910. ADD.F32 R0.x, -R0, {1, 0, 0, 0};
  17911. MOV.F R0.y, R13.x;
  17912. MOV.F R0.z, R13;
  17913. ADD.F32 R0.w, R0.y, R0.z;
  17914. MOV.F R0.z, R15.y;
  17915. MOV.F R0.y, c[5].z;
  17916. ADD.F32 R0.y, R0, R0.z;
  17917. MOV.F R0.z, R15.x;
  17918. SNE.F32 R5.x, R0.z, {0, 0, 0, 0};
  17919. MOV.S R13.x, R0.y;
  17920. I2F.S R0.y, R19.x;
  17921. MOV.S R5.y, R0.w;
  17922. MUL.F32 R0.w, R0.y, {2, 0, 0, 0}.x;
  17923. MUL.F32 R0.y, -R0.w, R0.z;
  17924. MOV.F R0.z, R17.x;
  17925. ADD.F32 R0.z, R0, {9.99999997e-007, 0, 0, 0}.x;
  17926. MOV.S R26.z, R0;
  17927. TRUNC.U R5.x, R5;
  17928. SNE.F32 R0.z, -R0.w, {0, 0, 0, 0}.x;
  17929. MOV.S R15.w, R0.x;
  17930. TRUNC.U R0.x, R0.z;
  17931. AND.U.CC HC.x, R0, R5;
  17932. IF NE.x;
  17933. ELSE;
  17934. MOV.F R0.y, {0, 0, 0, 0}.x;
  17935. ENDIF;
  17936. MOV.F R0.x, R13.w;
  17937. MOV.F R0.z, R15.w;
  17938. DIV.F32 R0.x, R0.z, R0.x;
  17939. MOV.S R15.y, R0.x;
  17940. MOV.F R0.z, R14.y;
  17941. MOV.F R0.x, R14;
  17942. MUL.F32 R0.w, R0.x, R0.z;
  17943. SNE.F32 R0.x, R0, {0, 0, 0, 0};
  17944. TRUNC.U R5.x, R0;
  17945. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  17946. TRUNC.U R12.x, R0.z;
  17947. MOV.F R0.x, R25.y;
  17948. ADD.F32 R0.x, R0, {-0.5, 0, 0, 0};
  17949. MOV.F R0.z, R25;
  17950. AND.U.CC HC.x, R5, R12;
  17951. ADD.F32 R0.z, R0, {-0.5, 0, 0, 0}.x;
  17952. MOV.F R5.z, c[7].w;
  17953. MOV.F R10.w, c[8];
  17954. ADD.F32 R10.w, -R5.z, R10;
  17955. MOV.S R5.z, R0;
  17956. MOV.S R11, R11.xyzy;
  17957. MOV.S R0.x, R0;
  17958. MOV.S R13.w, R10;
  17959. MOV.S R0.z, R0.y;
  17960. IF NE.x;
  17961. ELSE;
  17962. MOV.F R0.w, {0, 0, 0, 0}.x;
  17963. ENDIF;
  17964. MOV.F R19.xyz, R1;
  17965. MOV.F R17.xyz, R10;
  17966. MOV.F R19.w, {0, 0, 0, 0}.x;
  17967. MOV.F R17.w, {-0, 0, 0, 0}.x;
  17968. DP4.F32 R0.y, R17, R19;
  17969. MOV.F R17.xyz, R11;
  17970. MOV.F R17.w, {-0, 0, 0, 0}.x;
  17971. DP4.F32 R1.x, R19, R17;
  17972. MOV.S R26.x, R0.y;
  17973. MOV.F R11.x, R16.w;
  17974. MOV.F R10.w, R13.x;
  17975. MOV.S R0.y, R1.x;
  17976. MOV.F R1.z, c[5].x;
  17977. MOV.F R1.y, R13;
  17978. ADD.F32 R1.y, R1, R1.z;
  17979. MOV.S R5.x, R1.y;
  17980. SNE.F32 R1.y, R10.w, {0, 0, 0, 0}.x;
  17981. SNE.F32 R1.z, R11.x, {0, 0, 0, 0}.x;
  17982. TRUNC.U R1.y, R1;
  17983. TRUNC.U R1.z, R1;
  17984. AND.U.CC HC.x, R1.y, R1.z;
  17985. MUL.F32 R1.x, R10.w, R11;
  17986. MOV.S R15.w, R0;
  17987. IF NE.x;
  17988. MOV.F R0.w, R1.x;
  17989. ELSE;
  17990. MOV.F R0.w, {0, 0, 0, 0}.x;
  17991. ENDIF;
  17992. MOV.F R1.z, R16.w;
  17993. MOV.F R1.y, R6.z;
  17994. MUL.F32 R1.x, R1.y, R1.z;
  17995. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  17996. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  17997. TRUNC.U R1.y, R1;
  17998. TRUNC.U R1.z, R1;
  17999. AND.U.CC HC.x, R1.y, R1.z;
  18000. MOV.S R13.z, R0.w;
  18001. IF NE.x;
  18002. MOV.F R0.w, R1.x;
  18003. ELSE;
  18004. MOV.F R0.w, {0, 0, 0, 0}.x;
  18005. ENDIF;
  18006. MOV.F R1.z, R14.y;
  18007. MOV.F R1.y, R6;
  18008. MUL.F32 R1.x, R1.y, R1.z;
  18009. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  18010. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  18011. TRUNC.U R1.y, R1;
  18012. TRUNC.U R1.z, R1;
  18013. AND.U.CC HC.x, R1.y, R1.z;
  18014. MOV.S R15.x, R0.w;
  18015. IF NE.x;
  18016. MOV.F R0.w, R1.x;
  18017. ELSE;
  18018. MOV.F R0.w, {0, 0, 0, 0}.x;
  18019. ENDIF;
  18020. MOV.F R1.x, c[5].w;
  18021. SEQ.F R1.x, R1, {1, 0, 0, 0};
  18022. TRUNC.U.CC HC.x, R1;
  18023. MOV.S R19.y, R0.w;
  18024. IF NE.x;
  18025. MOV.S R0.w, {-1, 0, 0, 0}.x;
  18026. ELSE;
  18027. MOV.S R0.w, {0, 0, 0, 0}.x;
  18028. ENDIF;
  18029. MOV.F R1.z, R26;
  18030. MOV.F R1.y, R11;
  18031. MUL.F32 R1.x, R1.y, R1.z;
  18032. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  18033. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  18034. TRUNC.U R1.z, R1;
  18035. TRUNC.U R1.y, R1;
  18036. AND.U.CC HC.x, R1.y, R1.z;
  18037. MOV.S R12.zw, R12.xyzy;
  18038. IF NE.x;
  18039. ELSE;
  18040. MOV.F R1.x, {0, 0, 0, 0};
  18041. ENDIF;
  18042. MOV.S R11.yw, R11.xzzw;
  18043. SEQ.S R0.w, R0, {0, 0, 0, 0}.x;
  18044. MOV.U.CC RC.x, -R0.w;
  18045. MOV.F R1.z, R15.w;
  18046. MOV.F R1.y, R14.x;
  18047. ADD.F32 R1.y, R1, R1.z;
  18048. MOV.F R10.w, R19.y;
  18049. MOV.F R1.z, R6.y;
  18050. ADD.F32 R1.z, R1, R10.w;
  18051. MOV.S R10.w, R1.y;
  18052. MOV.S R12.x, R1.z;
  18053. MOV.S R11.z, R10;
  18054. MOV.S R11.x, R12.z;
  18055. MOV.S R1.y, R1.x;
  18056. IF NE.x;
  18057. MOV.S R1.x, R15.y;
  18058. ELSE;
  18059. MOV.S R1.x, R26.y;
  18060. ENDIF;
  18061. MOV.F R0.w, R13.x;
  18062. MOV.F R1.z, R13;
  18063. ADD.F32 R0.w, R0, R1.z;
  18064. MOV.S R12.y, R0.w;
  18065. MOV.F R0.w, R13;
  18066. MOV.F R1.z, R6;
  18067. MOV.F R12.z, R15.x;
  18068. ADD.F32 R12.z, R1, R12;
  18069. RCP.F32 R1.z, R0.w;
  18070. MOV.S R0.w, R12.z;
  18071. MOV.F R13.x, c[8].z;
  18072. MOV.F R12.z, c[7];
  18073. ADD.F32 R12.z, -R12, R13.x;
  18074. MOV.S R1.z, R1;
  18075. MOV.S R12.z, R12;
  18076. ENDIF;
  18077. SEQ.U R13.x, R23.w, {1, 0, 0, 0};
  18078. MOV.U.CC RC.x, -R13;
  18079. IF NE.x;
  18080. MOV.F R6.w, R0.z;
  18081. MOV.F R6.z, R5.x;
  18082. MOV.F R5.w, c[8];
  18083. MOV.F R1.w, R5.y;
  18084. ADD.F32 R6.y, R1.w, -R5.w;
  18085. MOV.S R28.z, R6.y;
  18086. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  18087. MUL.F32 R1.w, R6.z, R6;
  18088. SNE.F32 R6.z, R6.w, {0, 0, 0, 0}.x;
  18089. TRUNC.U R6.w, R6.y;
  18090. TRUNC.U R10.z, R6;
  18091. MOV.F R6.z, R25.x;
  18092. MOV.F R6.y, c[9].w;
  18093. ADD.F32 R6.z, R6, {-0.5, 0, 0, 0}.x;
  18094. ADD.F32 R5.w, -R5, R6.y;
  18095. AND.U.CC HC.x, R6.w, R10.z;
  18096. MOV.S R16.z, R6;
  18097. MOV.S R15.y, R5.w;
  18098. IF NE.x;
  18099. ELSE;
  18100. MOV.F R1.w, {0, 0, 0, 0}.x;
  18101. ENDIF;
  18102. MOV.F R6.y, R0.z;
  18103. MOV.F R5.w, R6.x;
  18104. MUL.F32 R0.z, R5.w, R6.y;
  18105. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  18106. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  18107. TRUNC.U R5.w, R5;
  18108. TRUNC.U R6.y, R6;
  18109. AND.U.CC HC.x, R5.w, R6.y;
  18110. MOV.S R13.w, R1;
  18111. IF NE.x;
  18112. ELSE;
  18113. MOV.F R0.z, {0, 0, 0, 0}.x;
  18114. ENDIF;
  18115. MOV.F R1.w, R0.x;
  18116. MOV.F R5.w, c[10].y;
  18117. MUL.F32 R0.x, R1.w, R5.w;
  18118. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18119. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  18120. TRUNC.U R1.w, R1;
  18121. TRUNC.U R5.w, R5;
  18122. AND.U.CC HC.x, R1.w, R5.w;
  18123. MOV.S R13.z, R0;
  18124. IF NE.x;
  18125. ELSE;
  18126. MOV.F R0.x, {0, 0, 0, 0};
  18127. ENDIF;
  18128. MOV.F R1.w, R5.z;
  18129. MOV.F R5.w, c[10].z;
  18130. MUL.F32 R0.z, R1.w, R5.w;
  18131. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18132. SNE.F32 R5.z, R5.w, {0, 0, 0, 0}.x;
  18133. TRUNC.U R1.w, R1;
  18134. TRUNC.U R5.z, R5;
  18135. AND.U.CC HC.x, R1.w, R5.z;
  18136. MOV.S R13.x, R0;
  18137. IF NE.x;
  18138. MOV.F R0.x, R0.z;
  18139. ELSE;
  18140. MOV.F R0.x, {0, 0, 0, 0};
  18141. ENDIF;
  18142. MOV.F R5.z, R12.w;
  18143. MOV.F R1.w, R0.y;
  18144. MUL.F32 R0.z, -R1.w, R5;
  18145. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  18146. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18147. TRUNC.U R1.w, R1;
  18148. TRUNC.U R5.z, R5;
  18149. AND.U.CC HC.x, R1.w, R5.z;
  18150. MOV.S R17.z, R0.x;
  18151. IF NE.x;
  18152. MOV.F R0.x, R0.z;
  18153. ELSE;
  18154. MOV.F R0.x, {0, 0, 0, 0};
  18155. ENDIF;
  18156. MOV.F R0.z, R28;
  18157. SLT.F32 R5.z, R0, {0, 0, 0, 0}.x;
  18158. MOV.S R0.z, {0, 0, 0, 0}.x;
  18159. TRUNC.U.CC HC.x, R5.z;
  18160. MOV.F R1.w, {1, 0, 0, 0}.x;
  18161. MOV.S R0.z(EQ.x), R1.w;
  18162. MOV.S R14.z, R0;
  18163. MOV.F R1.w, R13.z;
  18164. MOV.F R0.z, R6.x;
  18165. ADD.F32 R0.z, R0, R1.w;
  18166. MOV.S R16.x, R0.z;
  18167. MOV.F R19.xz, R26;
  18168. MOV.F R19.y, R0;
  18169. MOV.F R1.w, R1.z;
  18170. MOV.F R0.z, R12;
  18171. MUL.F32 R0.z, R0, R1.w;
  18172. MOV.S R14.x, R0.z;
  18173. MOV.F R1.w, R5.x;
  18174. MOV.F R0.z, R12.x;
  18175. MOV.F R27.xyz, R19;
  18176. MOV.F R19.w, {0, 0, 0, 0}.x;
  18177. MOV.F R27.w, {-0, 0, 0, 0}.x;
  18178. DP4.F32 R5.z, R27, R19;
  18179. MOV.S R17.x, R5.z;
  18180. MOV.F R5.z, R13.w;
  18181. ADD.F32 R1.w, R1, R5.z;
  18182. MOV.S R14.w, R1;
  18183. MOV.F R1.w, R13.x;
  18184. ADD.F32 R5.x, R0.z, R1.w;
  18185. MOV.F R0.z, R0.w;
  18186. MOV.F R0.w, R1.y;
  18187. ADD.F32 R0.x, R0, R0.w;
  18188. MOV.F R1.w, R17.z;
  18189. ADD.F32 R0.z, R0, R1.w;
  18190. MOV.F R1.y, R11.z;
  18191. MUL.F32 R0.w, R1.y, {0.00100000005, 0, 0, 0}.x;
  18192. MOV.S R13.w, R5.x;
  18193. MOV.S R13.y, R0.z;
  18194. MOV.S R15.w, R0.x;
  18195. MOV.F R0.z, R1.x;
  18196. MOV.F R5.x, R12.y;
  18197. MUL.F32 R1.w, R5.x, R0.z;
  18198. SNE.F32 R0.z, R0, {0, 0, 0, 0}.x;
  18199. MOV.F R0.x, R11;
  18200. MOV.S R16.w, R0;
  18201. MUL.F32 R0.w, R0.x, {0.00100000005, 0, 0, 0}.x;
  18202. MOV.F R0.x, R11.y;
  18203. MUL.F32 R0.x, R0, {0.00100000005, 0, 0, 0};
  18204. MOV.S R14.y, R0.w;
  18205. MOV.S R13.z, R0.x;
  18206. MOV.F R0.w, R5.y;
  18207. MOV.F R1.y, c[7].w;
  18208. ADD.F32 R1.y, R0.w, -R1;
  18209. MOV.S R6.w, R1.y;
  18210. MOV.F R0.x, c[9].w;
  18211. ADD.F32 R0.x, R0.w, -R0;
  18212. MOV.F R1.y, R15;
  18213. RCP.F32 R0.w, R1.y;
  18214. MOV.S R6.y, R0.x;
  18215. SNE.F32 R0.x, R5, {0, 0, 0, 0};
  18216. TRUNC.U R0.z, R0;
  18217. TRUNC.U R0.x, R0;
  18218. AND.U.CC HC.x, R0, R0.z;
  18219. MOV.S R0.w, R0;
  18220. IF NE.x;
  18221. MOV.F R0.x, R1.w;
  18222. ELSE;
  18223. MOV.F R0.x, {0, 0, 0, 0};
  18224. ENDIF;
  18225. MOV.F R1.w, R1.x;
  18226. MOV.F R1.y, R10.w;
  18227. MUL.F32 R0.z, R1.y, R1.w;
  18228. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  18229. TRUNC.U R5.x, R1.y;
  18230. SNE.F32 R5.z, R1.w, {0, 0, 0, 0}.x;
  18231. MOV.F R1.w, c[8].y;
  18232. MOV.F R1.y, c[7];
  18233. ADD.F32 R1.y, -R1, R1.w;
  18234. TRUNC.U R1.w, R5.z;
  18235. AND.U.CC HC.x, R5, R1.w;
  18236. MOV.S R15.y, R1;
  18237. MOV.S R13.x, R0;
  18238. IF NE.x;
  18239. MOV.F R0.x, R0.z;
  18240. ELSE;
  18241. MOV.F R0.x, {0, 0, 0, 0};
  18242. ENDIF;
  18243. MOV.F R0.z, R15.w;
  18244. SEQ.F R0.z, R0, {0, 0, 0, 0}.x;
  18245. TRUNC.U.CC HC.x, R0.z;
  18246. MOV.S R17.z, R0.x;
  18247. IF NE.x;
  18248. MOV.S R0.x, {-1, 0, 0, 0};
  18249. ELSE;
  18250. MOV.S R0.x, {0, 0, 0, 0};
  18251. ENDIF;
  18252. MOV.F R1.y, R16.w;
  18253. MOV.F R0.z, R10.y;
  18254. ADD.F32 R0.z, R0, R1.y;
  18255. MOV.S R15.x, R0.z;
  18256. MOV.F R1.w, R17.z;
  18257. MOV.F R1.y, R13.w;
  18258. ADD.F32 R1.y, R1, R1.w;
  18259. MOV.S R12.x, R1.y;
  18260. MOV.F R1.y, R13.z;
  18261. MOV.F R0.z, R11.w;
  18262. ADD.F32 R1.w, R0.z, R1.y;
  18263. MOV.S R19.w, R1;
  18264. MOV.F R1.y, R14;
  18265. MOV.F R0.z, R12.w;
  18266. ADD.F32 R0.z, R0, R1.y;
  18267. MOV.S R19.z, R0;
  18268. MOV.F R0.z, R17.x;
  18269. RSQ.F32 R0.z, R0.z;
  18270. MOV.F R1.w, c[9].z;
  18271. MOV.F R1.y, c[8].z;
  18272. ADD.F32 R1.y, -R1, R1.w;
  18273. MOV.S R14.y, R1;
  18274. SEQ.S R1.y, R0.x, {0, 0, 0, 0}.x;
  18275. MOV.U.CC RC.x, -R1.y;
  18276. MOV.S R12.y, R0.z;
  18277. IF NE.x;
  18278. MOV.S R1.y, R10;
  18279. ELSE;
  18280. MOV.S R1.y, R15.x;
  18281. ENDIF;
  18282. MOV.F R1.w, R13.x;
  18283. MOV.F R0.z, R13.y;
  18284. ADD.F32 R0.z, R0, R1.w;
  18285. MOV.S R15.z, R0;
  18286. MOV.F R1.w, c[11];
  18287. MOV.F R0.z, c[9].w;
  18288. ADD.F32 R0.z, -R0, R1.w;
  18289. SEQ.S R1.w, R0.x, {0, 0, 0, 0}.x;
  18290. MOV.U.CC RC.x, -R1.w;
  18291. MOV.S R17.y, R0.z;
  18292. IF NE.x;
  18293. MOV.S R0.z, R11.w;
  18294. ELSE;
  18295. MOV.S R0.z, R19.w;
  18296. ENDIF;
  18297. SEQ.S R0.x, R0, {0, 0, 0, 0};
  18298. MOV.U.CC RC.x, -R0;
  18299. IF NE.x;
  18300. MOV.S R1.w, R12;
  18301. ELSE;
  18302. MOV.S R1.w, R19.z;
  18303. ENDIF;
  18304. MOV.F R5.z, R14.x;
  18305. MOV.F R5.x, R1.z;
  18306. MOV.F R0.x, R15.y;
  18307. MUL.F32 R0.x, R0, R5;
  18308. MOV.F R5.x, R6.w;
  18309. MOV.S R14.x, R0;
  18310. MUL.F32 R0.x, R5, R5.z;
  18311. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18312. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18313. TRUNC.U R5.z, R5;
  18314. TRUNC.U R5.x, R5;
  18315. AND.U.CC HC.x, R5, R5.z;
  18316. IF NE.x;
  18317. ELSE;
  18318. MOV.F R0.x, {0, 0, 0, 0};
  18319. ENDIF;
  18320. MOV.F R5.w, c[10].x;
  18321. MOV.F R5.z, R16;
  18322. MUL.F32 R5.x, R5.z, R5.w;
  18323. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18324. SNE.F32 R5.w, R5, {0, 0, 0, 0}.x;
  18325. TRUNC.U R5.z, R5;
  18326. TRUNC.U R5.w, R5;
  18327. AND.U.CC HC.x, R5.z, R5.w;
  18328. MOV.S R15.y, R0.x;
  18329. IF NE.x;
  18330. MOV.F R0.x, R5;
  18331. ELSE;
  18332. MOV.F R0.x, {0, 0, 0, 0};
  18333. ENDIF;
  18334. MOV.F R5.x, {1, 0, 0, 0};
  18335. MOV.S R5.w, R5.x;
  18336. MOV.F R5.z, R6.w;
  18337. SLT.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18338. TRUNC.U.CC HC.x, R5.z;
  18339. MOV.S R5.x, {0, 0, 0, 0};
  18340. MOV.S R5.x(EQ), R5.w;
  18341. MOV.F R5.z, R6.y;
  18342. SLT.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18343. TRUNC.U.CC HC.x, R5.z;
  18344. MOV.S R11.x, {0, 0, 0, 0};
  18345. MOV.S R16.w, R5.x;
  18346. MOV.F R5.x, R14.y;
  18347. MOV.F R5.z, R0.w;
  18348. MUL.F32 R5.z, R5.x, R5;
  18349. MOV.F R5.x, R17.y;
  18350. RCP.F32 R5.x, R5.x;
  18351. MOV.S R11.x(EQ), R5.w;
  18352. MOV.S R0.x, R0;
  18353. MOV.S R15.x, R5;
  18354. MOV.F R5.x, R0;
  18355. MOV.F R0.x, R16;
  18356. ADD.F32 R0.x, R0, R5;
  18357. MOV.F R5.x, R14.z;
  18358. MOV.S R14.y, R0.x;
  18359. ADD.F32 R0.x, -R5, {1, 0, 0, 0};
  18360. MOV.F R5.x, R26;
  18361. MOV.S R13.w, R0.x;
  18362. MOV.F R0.x, R12.y;
  18363. MOV.S R15.w, R5.z;
  18364. SNE.F32 R5.z, R0.x, {0, 0, 0, 0}.x;
  18365. TRUNC.U R6.x, R5.z;
  18366. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  18367. MUL.F32 R0.x, R5, R0;
  18368. MOV.F R5.z, c[8].x;
  18369. MOV.F R5.x, c[7];
  18370. ADD.F32 R5.x, -R5, R5.z;
  18371. TRUNC.U R5.z, R5.w;
  18372. AND.U.CC HC.x, R5.z, R6;
  18373. MOV.S R16.z, R5.x;
  18374. IF NE.x;
  18375. ELSE;
  18376. MOV.F R0.x, {0, 0, 0, 0};
  18377. ENDIF;
  18378. MOV.F R5.x, R0.y;
  18379. MOV.F R5.z, R12.y;
  18380. MUL.F32 R0.y, R5.x, R5.z;
  18381. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18382. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18383. TRUNC.U R5.x, R5;
  18384. TRUNC.U R5.z, R5;
  18385. AND.U.CC HC.x, R5, R5.z;
  18386. MOV.S R0.x, R0;
  18387. IF NE.x;
  18388. ELSE;
  18389. MOV.F R0.y, {0, 0, 0, 0}.x;
  18390. ENDIF;
  18391. MOV.F R5.z, R1.x;
  18392. MOV.F R5.x, R14.w;
  18393. MUL.F32 R1.x, R5, R5.z;
  18394. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18395. TRUNC.U R5.w, R5.x;
  18396. SNE.F32 R6.x, R5.z, {0, 0, 0, 0};
  18397. MOV.F R5.z, c[9].y;
  18398. MOV.F R5.x, c[8].y;
  18399. ADD.F32 R5.x, -R5, R5.z;
  18400. TRUNC.U R5.z, R6.x;
  18401. AND.U.CC HC.x, R5.w, R5.z;
  18402. MOV.S R13.z, R5.x;
  18403. MOV.S R10.y, R0;
  18404. IF NE.x;
  18405. MOV.F R0.y, R1.x;
  18406. ELSE;
  18407. MOV.F R0.y, {0, 0, 0, 0}.x;
  18408. ENDIF;
  18409. MOV.F R5.z, R12.y;
  18410. MOV.F R5.x, R26.z;
  18411. MUL.F32 R1.x, R5, R5.z;
  18412. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18413. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18414. TRUNC.U R5.z, R5;
  18415. TRUNC.U R5.x, R5;
  18416. AND.U.CC HC.x, R5, R5.z;
  18417. MOV.S R19.w, R0.y;
  18418. IF NE.x;
  18419. MOV.F R0.y, R1.x;
  18420. ELSE;
  18421. MOV.F R0.y, {0, 0, 0, 0}.x;
  18422. ENDIF;
  18423. MOV.F R1.x, R16.z;
  18424. MUL.F32 R1.x, R1, R1.z;
  18425. MOV.F R1.z, R14.y;
  18426. MOV.F R5.x, R19.w;
  18427. ADD.F32 R1.z, R1, R5.x;
  18428. MOV.S R14.y, R1.x;
  18429. MOV.S R10.w, R1.z;
  18430. MOV.F R5.z, R14.x;
  18431. MOV.F R5.x, R6.w;
  18432. MOV.F R1.x, R5.y;
  18433. MOV.F R1.z, c[11].w;
  18434. ADD.F32 R1.z, R1.x, -R1;
  18435. MOV.S R6.x, R1.z;
  18436. SNE.F32 R1.z, R5.x, {0, 0, 0, 0}.x;
  18437. MUL.F32 R1.x, R5, R5.z;
  18438. SNE.F32 R5.x, R5.z, {0, 0, 0, 0};
  18439. TRUNC.U R5.z, R1;
  18440. TRUNC.U R5.w, R5.x;
  18441. AND.U.CC HC.x, R5.z, R5.w;
  18442. MOV.F R5.x, c[11].z;
  18443. MOV.F R1.z, c[9];
  18444. ADD.F32 R1.z, -R1, R5.x;
  18445. MOV.S R17.z, R1;
  18446. MOV.S R28.w, R0.y;
  18447. IF NE.x;
  18448. MOV.F R0.y, R1.x;
  18449. ELSE;
  18450. MOV.F R0.y, {0, 0, 0, 0}.x;
  18451. ENDIF;
  18452. MOV.F R5.x, R15.w;
  18453. MOV.F R1.z, R28;
  18454. MUL.F32 R1.x, R1.z, R5;
  18455. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18456. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  18457. TRUNC.U R5.x, R5;
  18458. TRUNC.U R1.z, R1;
  18459. AND.U.CC HC.x, R1.z, R5;
  18460. MOV.S R13.y, R0;
  18461. IF NE.x;
  18462. MOV.F R0.y, R1.x;
  18463. ELSE;
  18464. MOV.F R0.y, {0, 0, 0, 0}.x;
  18465. ENDIF;
  18466. MOV.F R1.x, R6;
  18467. SLT.F32 R5.x, R1, {0, 0, 0, 0};
  18468. TRUNC.U.CC HC.x, R5;
  18469. MOV.F R10.z, R16.w;
  18470. MOV.F R5.w, R15.y;
  18471. MOV.F R6.z, c[12].w;
  18472. MOV.F R1.z, {1, 0, 0, 0}.x;
  18473. MOV.S R1.x, {0, 0, 0, 0};
  18474. MOV.S R1.x(EQ), R1.z;
  18475. MOV.F R5.x, R0.w;
  18476. MOV.F R1.z, R13;
  18477. MUL.F32 R1.z, R1, R5.x;
  18478. MOV.F R5.z, R15.x;
  18479. MOV.F R5.x, R17.z;
  18480. MUL.F32 R5.x, R5, R5.z;
  18481. MOV.S R15.w, R5.x;
  18482. MOV.F R5.x, c[7].z;
  18483. ADD.F32 R5.x, R5, R5.w;
  18484. MOV.F R5.z, R13.w;
  18485. MOV.S R16.y, R1.z;
  18486. MUL.F32 R1.z, R10, R5;
  18487. MOV.F R5.w, R11.x;
  18488. MOV.S R15.y, R5.x;
  18489. ADD.F32 R5.x, -R5.w, {1, 0, 0, 0};
  18490. MOV.S R13.z, R5.x;
  18491. MOV.F R5.x, R5.y;
  18492. ADD.F32 R5.x, R5, -R6.z;
  18493. MOV.S R12.w, R5.x;
  18494. ADD.F32 R5.x, -R10.z, {1, 0, 0, 0};
  18495. MOV.F R5.y, R12.x;
  18496. MAD.F32 R5.y, R5, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  18497. MOV.S R26.x, R5;
  18498. SNE.F32 R5.x, R10.z, {0, 0, 0, 0};
  18499. MOV.F R5.w, c[11];
  18500. ADD.F32 R5.w, -R5, R6.z;
  18501. SNE.F32 R6.z, R5, {0, 0, 0, 0}.x;
  18502. MOV.S R5.z, R5.w;
  18503. TRUNC.U R10.z, R6;
  18504. MOV.F R6.z, R5;
  18505. TRUNC.U R5.x, R5;
  18506. AND.U.CC HC.x, R5, R10.z;
  18507. MOV.F R5.w, c[12].z;
  18508. MOV.F R5.z, c[11];
  18509. ADD.F32 R5.z, -R5, R5.w;
  18510. RCP.F32 R5.w, R6.z;
  18511. MOV.S R5.y, R5;
  18512. MOV.S R14.w, R5.z;
  18513. MOV.S R11.y, R5.w;
  18514. MOV.S R14.x, R0.y;
  18515. IF NE.x;
  18516. ELSE;
  18517. MOV.F R1.z, {0, 0, 0, 0}.x;
  18518. ENDIF;
  18519. MOV.F R5.z, R0.x;
  18520. MOV.F R6.z, R1.w;
  18521. MOV.F R0.y, R15.z;
  18522. MAD.F32 R0.y, R0, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0};
  18523. SNE.F32 R10.z, R5, {0, 0, 0, 0}.x;
  18524. MUL.F32 R5.x, -R6.z, R5.z;
  18525. MOV.F R5.w, c[9].x;
  18526. MOV.F R5.z, c[8].x;
  18527. ADD.F32 R5.z, -R5, R5.w;
  18528. TRUNC.U R5.w, R10.z;
  18529. MOV.S R19.w, R5.z;
  18530. SNE.F32 R5.z, -R6, {0, 0, 0, 0}.x;
  18531. MOV.S R10.z, R1;
  18532. TRUNC.U R1.z, R5;
  18533. AND.U.CC HC.x, R1.z, R5.w;
  18534. MOV.S R0.y, R0;
  18535. IF NE.x;
  18536. MOV.F R1.z, R5.x;
  18537. ELSE;
  18538. MOV.F R1.z, {0, 0, 0, 0}.x;
  18539. ENDIF;
  18540. MOV.F R5.x, R28.w;
  18541. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  18542. MOV.F R5.z, R0;
  18543. MUL.F32 R5.x, -R5.z, R5;
  18544. TRUNC.U R5.w, R5;
  18545. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  18546. MOV.S R16.x, R1.z;
  18547. TRUNC.U R1.z, R5;
  18548. AND.U.CC HC.x, R1.z, R5.w;
  18549. IF NE.x;
  18550. MOV.F R1.z, R5.x;
  18551. ELSE;
  18552. MOV.F R1.z, {0, 0, 0, 0}.x;
  18553. ENDIF;
  18554. MOV.F R5.x, R10.y;
  18555. SNE.F32 R5.w, R5.x, {0, 0, 0, 0}.x;
  18556. MOV.F R5.z, R1.y;
  18557. MUL.F32 R5.x, -R5.z, R5;
  18558. TRUNC.U R5.w, R5;
  18559. SNE.F32 R5.z, -R5, {0, 0, 0, 0}.x;
  18560. MOV.S R12.y, R1.z;
  18561. TRUNC.U R1.z, R5;
  18562. AND.U.CC HC.x, R1.z, R5.w;
  18563. IF NE.x;
  18564. MOV.F R1.z, R5.x;
  18565. ELSE;
  18566. MOV.F R1.z, {0, 0, 0, 0}.x;
  18567. ENDIF;
  18568. MOV.F R5.x, R0.w;
  18569. MOV.F R5.z, R14.y;
  18570. MOV.F R0.w, R19;
  18571. MUL.F32 R0.w, R0, R5.x;
  18572. MOV.F R5.x, R6.w;
  18573. MOV.S R15.z, R0.w;
  18574. MUL.F32 R0.w, R5.x, R5.z;
  18575. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18576. TRUNC.U R5.w, R5.x;
  18577. SNE.F32 R6.z, R5, {0, 0, 0, 0}.x;
  18578. MOV.F R5.z, c[11].y;
  18579. MOV.F R5.x, c[9].y;
  18580. ADD.F32 R5.x, -R5, R5.z;
  18581. TRUNC.U R5.z, R6;
  18582. AND.U.CC HC.x, R5.w, R5.z;
  18583. MOV.S R19.z, R16.y;
  18584. MOV.S R13.w, R5.x;
  18585. MOV.S R17.z, R1;
  18586. IF NE.x;
  18587. ELSE;
  18588. MOV.F R0.w, {0, 0, 0, 0}.x;
  18589. ENDIF;
  18590. MOV.F R5.x, R13.y;
  18591. MOV.F R1.z, c[7].y;
  18592. ADD.F32 R1.z, R1, R5.x;
  18593. MOV.S R16.y, R1.z;
  18594. MOV.F R5.x, R0.z;
  18595. MOV.F R1.z, R0.x;
  18596. MUL.F32 R0.z, -R1, -R5.x;
  18597. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  18598. SNE.F32 R5.x, -R5, {0, 0, 0, 0};
  18599. TRUNC.U R1.z, R1;
  18600. TRUNC.U R5.x, R5;
  18601. AND.U.CC HC.x, R1.z, R5;
  18602. MOV.S R12.x, R0.w;
  18603. IF NE.x;
  18604. ELSE;
  18605. MOV.F R0.z, {0, 0, 0, 0}.x;
  18606. ENDIF;
  18607. MOV.F R0.w, R17.z;
  18608. ADD.F32 R0.w, R0.z, R0;
  18609. MOV.F R1.z, R14;
  18610. MOV.F R5.x, R13.z;
  18611. MUL.F32 R0.z, R1, R5.x;
  18612. MOV.S R11.z, R0.w;
  18613. SNE.F32 R0.w, R1.z, {0, 0, 0, 0}.x;
  18614. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18615. TRUNC.U R1.z, R5.x;
  18616. TRUNC.U R0.w, R0;
  18617. AND.U.CC HC.x, R0.w, R1.z;
  18618. IF NE.x;
  18619. ELSE;
  18620. MOV.F R0.z, {0, 0, 0, 0}.x;
  18621. ENDIF;
  18622. MOV.F R5.x, R19.z;
  18623. MOV.F R0.w, R28.z;
  18624. MUL.F32 R1.z, R0.w, R5.x;
  18625. SNE.F32 R5.z, R5.x, {0, 0, 0, 0}.x;
  18626. SNE.F32 R0.w, R0, {0, 0, 0, 0}.x;
  18627. TRUNC.U R5.x, R0.w;
  18628. TRUNC.U R5.z, R5;
  18629. AND.U.CC HC.x, R5, R5.z;
  18630. MOV.S R0.w, R0.z;
  18631. IF NE.x;
  18632. MOV.F R0.z, R1;
  18633. ELSE;
  18634. MOV.F R0.z, {0, 0, 0, 0}.x;
  18635. ENDIF;
  18636. MOV.F R5.x, R15;
  18637. MOV.F R1.z, R13.w;
  18638. MUL.F32 R1.z, R1, R5.x;
  18639. MOV.S R19.z, R14.x;
  18640. MOV.F R5.z, R15.w;
  18641. MOV.F R5.x, R6.y;
  18642. MOV.S R14.x, R1.z;
  18643. MUL.F32 R1.z, R5.x, R5;
  18644. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18645. SNE.F32 R5.z, R5, {0, 0, 0, 0}.x;
  18646. TRUNC.U R5.x, R5;
  18647. TRUNC.U R5.z, R5;
  18648. AND.U.CC HC.x, R5, R5.z;
  18649. MOV.S R13.z, R0;
  18650. IF NE.x;
  18651. ELSE;
  18652. MOV.F R1.z, {0, 0, 0, 0}.x;
  18653. ENDIF;
  18654. MOV.F R5.w, R10;
  18655. MOV.F R0.z, R12.w;
  18656. SLT.F32 R5.z, R0, {0, 0, 0, 0}.x;
  18657. TRUNC.U.CC HC.x, R5.z;
  18658. MOV.F R6.z, R15.y;
  18659. MOV.F R6.w, R10.z;
  18660. MOV.F R5.x, {1, 0, 0, 0};
  18661. MOV.S R0.z, {0, 0, 0, 0}.x;
  18662. MOV.S R0.z(EQ.x), R5.x;
  18663. MOV.F R5.z, R11.y;
  18664. MOV.F R5.x, R14.w;
  18665. MUL.F32 R5.x, R5, R5.z;
  18666. MOV.S R14.w, R5.x;
  18667. MOV.F R5.z, R1.x;
  18668. ADD.F32 R5.z, -R5, {1, 0, 0, 0}.x;
  18669. MOV.S R13.y, R5.z;
  18670. MAD.F32 R5.z, R5.w, {0.159154937, 0.5, 0, 0}.x, {0.159154937, 0.5, 0, 0}.y;
  18671. SNE.F32 R5.w, R6, {0, 0, 0, 0}.x;
  18672. MUL.F32 R5.x, R6.z, R6.w;
  18673. MOV.S R15.y, R5.z;
  18674. SNE.F32 R5.z, R6, {0, 0, 0, 0}.x;
  18675. MOV.F R6.w, R19.z;
  18676. MOV.F R6.z, c[8];
  18677. ADD.F32 R6.z, R6, R6.w;
  18678. TRUNC.U R5.z, R5;
  18679. TRUNC.U R5.w, R5;
  18680. AND.U.CC HC.x, R5.z, R5.w;
  18681. MOV.F R10.w, c[11].x;
  18682. MOV.F R6.w, c[9].x;
  18683. ADD.F32 R6.w, -R6, R10;
  18684. MOV.S R14.z, R6;
  18685. MOV.S R19.x, R6.w;
  18686. MOV.S R14.y, R1.z;
  18687. IF NE.x;
  18688. MOV.F R1.z, R5.x;
  18689. ELSE;
  18690. MOV.F R1.z, {0, 0, 0, 0}.x;
  18691. ENDIF;
  18692. MOV.F R5.x, R5.y;
  18693. FRC.F R5.x, R5;
  18694. MOV.S R16.z, R5.x;
  18695. MOV.F R5.x, R10.y;
  18696. MOV.F R5.z, R1.w;
  18697. SNE.F32 R5.y, -R5.x, {0, 0, 0, 0}.x;
  18698. TRUNC.U R5.w, R5.y;
  18699. FRC.F R0.y, R0;
  18700. MUL.F32 R1.w, -R5.x, -R5.z;
  18701. MOV.F R5.y, c[12];
  18702. MOV.F R5.x, c[11].y;
  18703. ADD.F32 R5.x, -R5, R5.y;
  18704. SNE.F32 R5.y, -R5.z, {0, 0, 0, 0}.x;
  18705. MOV.S R17.x, R5;
  18706. TRUNC.U R5.x, R5.y;
  18707. AND.U.CC HC.x, R5.w, R5;
  18708. MOV.S R0.y, R0;
  18709. MOV.S R13.w, R1.z;
  18710. IF NE.x;
  18711. MOV.F R1.z, R1.w;
  18712. ELSE;
  18713. MOV.F R1.z, {0, 0, 0, 0}.x;
  18714. ENDIF;
  18715. MOV.F R1.w, R12.y;
  18716. ADD.F32 R1.z, R1, R1.w;
  18717. MOV.S R5.z, R1;
  18718. MOV.F R1.w, R1.y;
  18719. MOV.F R1.z, R28.w;
  18720. MUL.F32 R1.y, -R1.z, -R1.w;
  18721. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  18722. SNE.F32 R1.z, -R1, {0, 0, 0, 0}.x;
  18723. TRUNC.U R1.w, R1;
  18724. TRUNC.U R1.z, R1;
  18725. AND.U.CC HC.x, R1.z, R1.w;
  18726. IF NE.x;
  18727. ELSE;
  18728. MOV.F R1.y, {0, 0, 0, 0}.x;
  18729. ENDIF;
  18730. MOV.F R1.z, R19.x;
  18731. MOV.F R1.w, R15.x;
  18732. MUL.F32 R1.w, R1.z, R1;
  18733. MOV.F R1.z, R16.x;
  18734. ADD.F32 R1.z, R1.y, R1;
  18735. MOV.S R10.w, R1;
  18736. MOV.F R1.w, R11.x;
  18737. MOV.F R5.x, R13.y;
  18738. MUL.F32 R1.y, R1.w, R5.x;
  18739. MOV.S R5.w, R1.z;
  18740. SNE.F32 R1.z, R1.w, {0, 0, 0, 0}.x;
  18741. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  18742. TRUNC.U R1.w, R5.x;
  18743. TRUNC.U R1.z, R1;
  18744. AND.U.CC HC.x, R1.z, R1.w;
  18745. IF NE.x;
  18746. ELSE;
  18747. MOV.F R1.y, {0, 0, 0, 0}.x;
  18748. ENDIF;
  18749. MOV.F R1.w, R11.y;
  18750. MOV.F R1.z, R17.x;
  18751. MUL.F32 R5.x, R1.z, R1.w;
  18752. MOV.F R1.w, R12.x;
  18753. MOV.F R1.z, c[7].x;
  18754. ADD.F32 R1.z, R1, R1.w;
  18755. MOV.S R5.y, R1.z;
  18756. MOV.F R1.z, R26.x;
  18757. MOV.S R6.z, R5.x;
  18758. SNE.F32 R5.x, R1.z, {0, 0, 0, 0};
  18759. MOV.F R1.w, c[7].z;
  18760. TRUNC.U R6.w, R5.x;
  18761. MUL.F32 R1.z, R1.w, R1;
  18762. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18763. MOV.S R5.x, R1.y;
  18764. TRUNC.U R1.y, R1.w;
  18765. AND.U.CC HC.x, R1.y, R6.w;
  18766. IF NE.x;
  18767. ELSE;
  18768. MOV.F R1.z, {0, 0, 0, 0}.x;
  18769. ENDIF;
  18770. MOV.F R11.x, R0.z;
  18771. ADD.F32 R11.w, -R11.x, {1, 0, 0, 0}.x;
  18772. MOV.S R1.z, R1;
  18773. MOV.S R11.x, R1.z;
  18774. MOV.S R1.z, R11.w;
  18775. MOV.F R11.w, R11.x;
  18776. MOV.F R11.x, R13.w;
  18777. ADD.F32 R11.x, R11, R11.w;
  18778. MOV.F R6.w, R14.x;
  18779. MOV.F R1.w, R6.y;
  18780. MUL.F32 R1.y, R1.w, R6.w;
  18781. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  18782. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18783. MOV.F R12.x, R13.z;
  18784. MOV.F R11.w, c[8].y;
  18785. ADD.F32 R11.w, R11, R12.x;
  18786. TRUNC.U R6.w, R6;
  18787. TRUNC.U R1.w, R1;
  18788. AND.U.CC HC.x, R1.w, R6.w;
  18789. MOV.S R11.x, R11;
  18790. MOV.S R12.y, R11.w;
  18791. IF NE.x;
  18792. ELSE;
  18793. MOV.F R1.y, {0, 0, 0, 0}.x;
  18794. ENDIF;
  18795. MOV.F R11.w, R15.z;
  18796. MOV.F R6.w, R28.z;
  18797. MUL.F32 R1.w, R6, R11;
  18798. SNE.F32 R11.w, R11, {0, 0, 0, 0}.x;
  18799. SNE.F32 R6.w, R6, {0, 0, 0, 0}.x;
  18800. TRUNC.U R11.w, R11;
  18801. TRUNC.U R6.w, R6;
  18802. AND.U.CC HC.x, R6.w, R11.w;
  18803. MOV.S R12.z, R1.y;
  18804. IF NE.x;
  18805. MOV.F R1.y, R1.w;
  18806. ELSE;
  18807. MOV.F R1.y, {0, 0, 0, 0}.x;
  18808. ENDIF;
  18809. MOV.F R12.x, R14.z;
  18810. MOV.F R12.w, R0;
  18811. MUL.F32 R6.w, R12.x, R12;
  18812. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  18813. MOV.F R11.w, R14.y;
  18814. MOV.F R1.w, c[9].z;
  18815. ADD.F32 R1.w, R1, R11;
  18816. MOV.S R11.w, R1;
  18817. SNE.F32 R1.w, R12.x, {0, 0, 0, 0}.x;
  18818. TRUNC.U R12.x, R1.w;
  18819. TRUNC.U R12.w, R12;
  18820. AND.U.CC HC.x, R12, R12.w;
  18821. MOV.S R1.w, R1.y;
  18822. IF NE.x;
  18823. MOV.F R1.y, R6.w;
  18824. ELSE;
  18825. MOV.F R1.y, {0, 0, 0, 0}.x;
  18826. ENDIF;
  18827. MOV.F R12.w, R10.z;
  18828. MOV.F R12.x, R16.y;
  18829. MUL.F32 R6.w, R12.x, R12;
  18830. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  18831. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  18832. TRUNC.U R13.x, R12;
  18833. TRUNC.U R13.y, R12.w;
  18834. AND.U.CC HC.x, R13, R13.y;
  18835. MOV.F R12.w, c[12].x;
  18836. MOV.F R12.x, c[11];
  18837. ADD.F32 R12.x, -R12, R12.w;
  18838. MOV.S R19.y, R12.x;
  18839. MOV.S R28.z, R1.y;
  18840. IF NE.x;
  18841. MOV.F R1.y, R6.w;
  18842. ELSE;
  18843. MOV.F R1.y, {0, 0, 0, 0}.x;
  18844. ENDIF;
  18845. MOV.F R12.w, R14;
  18846. MOV.F R12.x, R6;
  18847. MUL.F32 R6.w, R12.x, R12;
  18848. SNE.F32 R12.x, R12, {0, 0, 0, 0};
  18849. SNE.F32 R12.w, R12, {0, 0, 0, 0}.x;
  18850. TRUNC.U R12.x, R12;
  18851. TRUNC.U R12.w, R12;
  18852. AND.U.CC HC.x, R12, R12.w;
  18853. MOV.S R26.z, R1.y;
  18854. IF NE.x;
  18855. MOV.F R1.y, R6.w;
  18856. ELSE;
  18857. MOV.F R1.y, {0, 0, 0, 0}.x;
  18858. ENDIF;
  18859. MOV.F R6.w, R15.y;
  18860. FRC.F R6.w, R6;
  18861. MOV.S R19.z, R0.y;
  18862. MOV.S R19.x, R1;
  18863. MOV.S R1.x, R1.z;
  18864. MOV.F R0.y, R26.x;
  18865. MOV.S R12.x, R6.w;
  18866. SNE.F32 R6.w, R0.y, {0, 0, 0, 0}.x;
  18867. MOV.F R1.z, c[7].y;
  18868. MUL.F32 R0.y, R1.z, R0;
  18869. TRUNC.U R6.w, R6;
  18870. SNE.F32 R1.z, R1, {0, 0, 0, 0}.x;
  18871. MOV.S R12.w, R1.y;
  18872. TRUNC.U R1.y, R1.z;
  18873. AND.U.CC HC.x, R1.y, R6.w;
  18874. IF NE.x;
  18875. MOV.F R1.y, R0;
  18876. ELSE;
  18877. MOV.F R1.y, {0, 0, 0, 0}.x;
  18878. ENDIF;
  18879. MOV.F R13.y, R1.x;
  18880. MOV.F R1.z, R11.y;
  18881. MOV.F R13.x, R19;
  18882. MUL.F32 R11.y, R13.x, R13;
  18883. MOV.F R0.y, R19;
  18884. MUL.F32 R0.y, R0, R1.z;
  18885. MOV.S R1.x, R1.y;
  18886. SNE.F32 R1.y, R13.x, {0, 0, 0, 0}.x;
  18887. SNE.F32 R13.y, R13, {0, 0, 0, 0}.x;
  18888. MOV.F R6.w, R16.z;
  18889. MOV.S R1.z, R0.y;
  18890. MAD.F32 R0.y, R6.w, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0};
  18891. MOV.F R6.w, R19.z;
  18892. MAD.F32 R6.w, R6, {6.28318548, -3.14159274, 0, 0}.x, {6.28318548, -3.14159274, 0, 0}.y;
  18893. TRUNC.U R13.x, R13.y;
  18894. TRUNC.U R1.y, R1;
  18895. AND.U.CC HC.x, R1.y, R13;
  18896. MOV.S R0.y, R0;
  18897. MOV.S R6.w, R6;
  18898. IF NE.x;
  18899. MOV.F R1.y, R11;
  18900. ELSE;
  18901. MOV.F R1.y, {0, 0, 0, 0}.x;
  18902. ENDIF;
  18903. MOV.S R11.y, R1;
  18904. ENDIF;
  18905. SEQ.U R1.y, R23.w, {1, 0, 0, 0}.x;
  18906. MOV.U.CC RC.x, -R1.y;
  18907. IF NE.x;
  18908. MOV.F R10.x, R6.y;
  18909. MOV.F R13.z, R11;
  18910. MOV.F R13.xy, R5.zwzw;
  18911. MOV.F R14.xyz, R13;
  18912. MOV.F R13.w, {0, 0, 0, 0}.x;
  18913. MOV.F R14.w, {-0, 0, 0, 0}.x;
  18914. DP4.F32 R1.y, R14, R13;
  18915. MOV.S R17.x, R1.y;
  18916. MOV.F R1.y, c[8].x;
  18917. ADD.F32 R1.w, R1.y, R1;
  18918. MOV.S R15.x, R1.w;
  18919. MOV.F R1.w, R1.x;
  18920. MOV.F R1.x, R26.z;
  18921. ADD.F32 R1.w, R1.x, R1;
  18922. MOV.S R15.y, R1.w;
  18923. SNE.F32 R1.w, R10, {0, 0, 0, 0}.x;
  18924. MOV.F R6.y, R28.z;
  18925. MOV.F R1.x, R11;
  18926. ADD.F32 R1.x, R1, R6.y;
  18927. MOV.S R14.y, R1.x;
  18928. SNE.F32 R1.x, R10, {0, 0, 0, 0};
  18929. TRUNC.U R1.w, R1;
  18930. TRUNC.U R1.x, R1;
  18931. AND.U.CC HC.x, R1, R1.w;
  18932. MUL.F32 R1.y, R10.x, R10.w;
  18933. IF NE.x;
  18934. MOV.F R1.x, R1.y;
  18935. ELSE;
  18936. MOV.F R1.x, {0, 0, 0, 0};
  18937. ENDIF;
  18938. MOV.F R6.y, R6.x;
  18939. MOV.F R1.y, c[9];
  18940. MOV.F R1.w, R12.z;
  18941. ADD.F32 R1.w, R1.y, R1;
  18942. MOV.S R14.w, R1;
  18943. SNE.F32 R1.w, R6.y, {0, 0, 0, 0}.x;
  18944. MUL.F32 R1.y, R6, R6.z;
  18945. SNE.F32 R6.y, R6.z, {0, 0, 0, 0}.x;
  18946. TRUNC.U R1.w, R1;
  18947. TRUNC.U R6.y, R6;
  18948. AND.U.CC HC.x, R1.w, R6.y;
  18949. MOV.S R13.z, R1.x;
  18950. IF NE.x;
  18951. MOV.F R1.x, R1.y;
  18952. ELSE;
  18953. MOV.F R1.x, {0, 0, 0, 0};
  18954. ENDIF;
  18955. MOV.F R10.x, R5;
  18956. MOV.F R6.z, R11.w;
  18957. MOV.F R6.y, R12.w;
  18958. MOV.F R1.w, c[11].z;
  18959. ADD.F32 R1.w, R1, R6.y;
  18960. MOV.S R13.x, R1.w;
  18961. SNE.F32 R1.w, R6.z, {0, 0, 0, 0}.x;
  18962. SNE.F32 R6.y, R10.x, {0, 0, 0, 0}.x;
  18963. TRUNC.U R1.w, R1;
  18964. TRUNC.U R6.y, R6;
  18965. AND.U.CC HC.x, R1.w, R6.y;
  18966. MUL.F32 R1.y, R6.z, R10.x;
  18967. MOV.S R14.x, R1;
  18968. IF NE.x;
  18969. MOV.F R1.x, R1.y;
  18970. ELSE;
  18971. MOV.F R1.x, {0, 0, 0, 0};
  18972. ENDIF;
  18973. MOV.F R6.y, R0.w;
  18974. MOV.F R1.w, R12.y;
  18975. MUL.F32 R1.y, R1.w, R6;
  18976. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18977. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  18978. TRUNC.U R1.w, R1;
  18979. TRUNC.U R6.y, R6;
  18980. AND.U.CC HC.x, R1.w, R6.y;
  18981. MOV.S R16.y, R1.x;
  18982. IF NE.x;
  18983. MOV.F R1.x, R1.y;
  18984. ELSE;
  18985. MOV.F R1.x, {0, 0, 0, 0};
  18986. ENDIF;
  18987. MOV.F R6.y, R10.z;
  18988. MOV.F R1.w, R5.y;
  18989. MUL.F32 R1.y, R1.w, R6;
  18990. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  18991. SNE.F32 R6.y, R6, {0, 0, 0, 0}.x;
  18992. TRUNC.U R1.w, R1;
  18993. TRUNC.U R6.y, R6;
  18994. AND.U.CC HC.x, R1.w, R6.y;
  18995. MOV.S R14.z, R1.x;
  18996. IF NE.x;
  18997. MOV.F R1.x, R1.y;
  18998. ELSE;
  18999. MOV.F R1.x, {0, 0, 0, 0};
  19000. ENDIF;
  19001. MOV.F R1.y, R26.x;
  19002. SNE.F32 R6.y, R1, {0, 0, 0, 0}.x;
  19003. MOV.F R1.w, c[7].x;
  19004. MUL.F32 R1.y, R1.w, R1;
  19005. TRUNC.U R6.y, R6;
  19006. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19007. MOV.S R19.w, R1.x;
  19008. TRUNC.U R1.x, R1.w;
  19009. AND.U.CC HC.x, R1, R6.y;
  19010. IF NE.x;
  19011. ELSE;
  19012. MOV.F R1.y, {0, 0, 0, 0}.x;
  19013. ENDIF;
  19014. MUL.F32 R0.y, R0, {0.159154937, 0, 0, 0}.x;
  19015. MOV.S R16.x, R0.y;
  19016. MOV.F R0.y, R19.w;
  19017. ADD.F32 R0.y, R0, R1;
  19018. MOV.S R13.y, R0;
  19019. MOV.F R1.x, R13.z;
  19020. MOV.F R0.y, c[9].x;
  19021. ADD.F32 R0.y, R0, R1.x;
  19022. MOV.F R6.y, R15;
  19023. MOV.F R1.w, R14.z;
  19024. ADD.F32 R1.w, R1, R6.y;
  19025. MOV.S R13.z, R1.w;
  19026. MOV.S R15.y, R0;
  19027. MOV.F R0.y, R17.x;
  19028. RSQ.F32 R0.y, R0.y;
  19029. MOV.F R6.y, R14;
  19030. MOV.F R1.w, R16.y;
  19031. ADD.F32 R1.w, R1, R6.y;
  19032. MOV.F R6.y, R6.x;
  19033. MOV.S R19.x, R14;
  19034. MOV.S R14.x, R1.w;
  19035. MOV.F R1.w, R1.z;
  19036. MOV.F R6.x, R6.w;
  19037. MUL.F32 R6.x, R6, {0.159154937, 0, 0, 0};
  19038. MOV.S R16.z, R6.x;
  19039. MOV.F R6.x, R12;
  19040. MAD.F32 R6.x, R6, {6.28318548, -3.14159274, 0, 0}, {6.28318548, -3.14159274, 0, 0}.y;
  19041. SNE.F32 R1.x, R6.y, {0, 0, 0, 0};
  19042. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  19043. TRUNC.U R1.x, R1;
  19044. TRUNC.U R1.y, R1;
  19045. AND.U.CC HC.x, R1, R1.y;
  19046. MUL.F32 R1.z, R6.y, R1.w;
  19047. MOV.S R13.w, R6.x;
  19048. MOV.S R16.w, R0.y;
  19049. IF NE.x;
  19050. MOV.F R0.y, R1.z;
  19051. ELSE;
  19052. MOV.F R0.y, {0, 0, 0, 0}.x;
  19053. ENDIF;
  19054. MOV.F R1.z, R5.x;
  19055. MOV.F R1.y, R14.w;
  19056. MUL.F32 R1.x, R1.y, R1.z;
  19057. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19058. TRUNC.U R1.w, R1.y;
  19059. SNE.F32 R6.x, R1.z, {0, 0, 0, 0};
  19060. MOV.F R1.z, R19.x;
  19061. MOV.F R1.y, c[11];
  19062. ADD.F32 R1.y, R1, R1.z;
  19063. TRUNC.U R1.z, R6.x;
  19064. AND.U.CC HC.x, R1.w, R1.z;
  19065. MOV.S R14.y, R1;
  19066. MOV.S R15.w, R0.y;
  19067. IF NE.x;
  19068. MOV.F R0.y, R1.x;
  19069. ELSE;
  19070. MOV.F R0.y, {0, 0, 0, 0}.x;
  19071. ENDIF;
  19072. MOV.F R1.y, R0.w;
  19073. MOV.F R1.x, R15;
  19074. MUL.F32 R0.w, R1.x, R1.y;
  19075. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  19076. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19077. TRUNC.U R1.x, R1;
  19078. TRUNC.U R1.y, R1;
  19079. AND.U.CC HC.x, R1, R1.y;
  19080. MOV.S R17.x, R0.y;
  19081. IF NE.x;
  19082. MOV.F R0.y, R0.w;
  19083. ELSE;
  19084. MOV.F R0.y, {0, 0, 0, 0}.x;
  19085. ENDIF;
  19086. MOV.F R1.y, R11;
  19087. MOV.F R1.x, R13;
  19088. MUL.F32 R0.w, R1.x, R1.y;
  19089. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  19090. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19091. TRUNC.U R1.x, R1;
  19092. TRUNC.U R1.y, R1;
  19093. AND.U.CC HC.x, R1, R1.y;
  19094. MOV.S R17.y, R0;
  19095. IF NE.x;
  19096. MOV.F R0.y, R0.w;
  19097. ELSE;
  19098. MOV.F R0.y, {0, 0, 0, 0}.x;
  19099. ENDIF;
  19100. MOV.F R1.x, R13.w;
  19101. MUL.F32 R1.x, R1, {0.159154937, 0, 0, 0};
  19102. MOV.F R1.y, R16.z;
  19103. MOV.F R1.w, R16;
  19104. MOV.F R1.z, R5.w;
  19105. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  19106. MOV.S R14.w, R1.x;
  19107. COS.F32 R1.x, R1.y;
  19108. MOV.S R15.x, R1;
  19109. SNE.F32 R1.x, R1.z, {0, 0, 0, 0};
  19110. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  19111. TRUNC.U R1.x, R1;
  19112. TRUNC.U R1.y, R1;
  19113. AND.U.CC HC.x, R1, R1.y;
  19114. MUL.F32 R0.w, R1.z, R1;
  19115. MOV.S R19.z, R13.y;
  19116. MOV.S R14.z, R0.y;
  19117. IF NE.x;
  19118. MOV.F R0.y, R0.w;
  19119. ELSE;
  19120. MOV.F R0.y, {0, 0, 0, 0}.x;
  19121. ENDIF;
  19122. MOV.F R1.x, R13.z;
  19123. MOV.F R0.w, R17.x;
  19124. ADD.F32 R0.w, R0, R1.x;
  19125. MOV.F R1.y, R16.w;
  19126. MOV.F R1.x, R11.z;
  19127. MOV.S R13.y, R0.w;
  19128. MUL.F32 R0.w, R1.x, R1.y;
  19129. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  19130. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19131. TRUNC.U R1.x, R1;
  19132. TRUNC.U R1.y, R1;
  19133. AND.U.CC HC.x, R1, R1.y;
  19134. MOV.S R12.x, R0.y;
  19135. IF NE.x;
  19136. MOV.F R0.y, R0.w;
  19137. ELSE;
  19138. MOV.F R0.y, {0, 0, 0, 0}.x;
  19139. ENDIF;
  19140. MOV.F R0.w, R16.x;
  19141. MUL.F32 R0.w, R0, {6.28318548, 0, 0, 0}.x;
  19142. COS.F32 R1.y, R0.w;
  19143. MOV.S R13.z, R1.y;
  19144. MOV.F R1.x, R19.z;
  19145. MOV.F R0.w, R17.y;
  19146. ADD.F32 R0.w, R0, R1.x;
  19147. MOV.S R13.w, R0;
  19148. MOV.F R0.w, R0.z;
  19149. SNE.F32 R1.z, R0.w, {0, 0, 0, 0}.x;
  19150. MOV.F R1.y, c[12].z;
  19151. TRUNC.U R1.w, R1.z;
  19152. MUL.F32 R0.w, R1.y, R0;
  19153. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19154. MOV.S R1.z, R0.y;
  19155. TRUNC.U R0.y, R1;
  19156. AND.U.CC HC.x, R0.y, R1.w;
  19157. MOV.S R19.x, R14.z;
  19158. MOV.S R1.x, R14;
  19159. IF NE.x;
  19160. MOV.F R0.y, R0.w;
  19161. ELSE;
  19162. MOV.F R0.y, {0, 0, 0, 0}.x;
  19163. ENDIF;
  19164. MOV.F R1.w, R11.y;
  19165. MOV.F R1.y, R14;
  19166. MUL.F32 R0.w, R1.y, R1;
  19167. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19168. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19169. TRUNC.U R1.y, R1;
  19170. TRUNC.U R1.w, R1;
  19171. AND.U.CC HC.x, R1.y, R1.w;
  19172. MOV.S R14.x, R0.y;
  19173. IF NE.x;
  19174. MOV.F R0.y, R0.w;
  19175. ELSE;
  19176. MOV.F R0.y, {0, 0, 0, 0}.x;
  19177. ENDIF;
  19178. MOV.F R1.w, R15.y;
  19179. MOV.F R1.y, R15.w;
  19180. MOV.F R0.w, c[11].x;
  19181. ADD.F32 R1.y, R0.w, R1;
  19182. MUL.F32 R0.w, R1, R5.x;
  19183. MOV.S R14.z, R1.y;
  19184. SNE.F32 R1.y, R1.w, {0, 0, 0, 0}.x;
  19185. TRUNC.U R1.w, R1.y;
  19186. MOV.F R1.y, R1.x;
  19187. MOV.F R1.x, R19;
  19188. ADD.F32 R1.x, R1, R1.y;
  19189. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19190. TRUNC.U R1.y, R5.x;
  19191. AND.U.CC HC.x, R1.w, R1.y;
  19192. MOV.S R15.w, R1.x;
  19193. MOV.S R14.y, R0;
  19194. IF NE.x;
  19195. MOV.F R0.y, R0.w;
  19196. ELSE;
  19197. MOV.F R0.y, {0, 0, 0, 0}.x;
  19198. ENDIF;
  19199. MOV.F R1.y, R12.x;
  19200. MOV.F R1.x, R28.w;
  19201. MUL.F32 R0.w, R1.x, R1.y;
  19202. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19203. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  19204. TRUNC.U R1.y, R1;
  19205. TRUNC.U R1.x, R1;
  19206. AND.U.CC HC.x, R1, R1.y;
  19207. MOV.S R11.w, R0.y;
  19208. IF NE.x;
  19209. MOV.F R0.y, R0.w;
  19210. ELSE;
  19211. MOV.F R0.y, {0, 0, 0, 0}.x;
  19212. ENDIF;
  19213. MOV.F R1.y, R16.w;
  19214. MOV.F R1.x, R5.z;
  19215. MUL.F32 R0.w, R1.x, R1.y;
  19216. SNE.F32 R1.x, R1, {0, 0, 0, 0};
  19217. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19218. TRUNC.U R1.x, R1;
  19219. TRUNC.U R1.y, R1;
  19220. AND.U.CC HC.x, R1, R1.y;
  19221. MOV.S R13.x, R0.y;
  19222. IF NE.x;
  19223. MOV.F R0.y, R0.w;
  19224. ELSE;
  19225. MOV.F R0.y, {0, 0, 0, 0}.x;
  19226. ENDIF;
  19227. MOV.F R5.x, R15;
  19228. MOV.F R1.w, R13.z;
  19229. MOV.F R1.y, R13.w;
  19230. MOV.F R1.x, R11.w;
  19231. ADD.F32 R1.x, R1, R1.y;
  19232. MOV.S R15.z, R1.x;
  19233. SNE.F32 R1.x, R1.w, {0, 0, 0, 0};
  19234. SNE.F32 R1.y, R5.x, {0, 0, 0, 0}.x;
  19235. TRUNC.U R1.x, R1;
  19236. TRUNC.U R1.y, R1;
  19237. AND.U.CC HC.x, R1, R1.y;
  19238. MUL.F32 R0.w, R1, R5.x;
  19239. MOV.S R12.y, R0;
  19240. IF NE.x;
  19241. ELSE;
  19242. MOV.F R0.w, {0, 0, 0, 0}.x;
  19243. ENDIF;
  19244. MOV.F R0.y, R14;
  19245. MOV.F R1.x, R13.y;
  19246. ADD.F32 R1.x, R0.y, R1;
  19247. MOV.F R0.y, R14.w;
  19248. MOV.S R19.z, R14.x;
  19249. MUL.F32 R0.y, R0, {6.28318548, 0, 0, 0}.x;
  19250. SIN.F32 R0.y, R0.y;
  19251. MOV.F R1.w, R1.z;
  19252. MOV.F R1.y, R0.x;
  19253. MOV.S R14.x, R1;
  19254. MUL.F32 R1.x, R1.y, R1.w;
  19255. SNE.F32 R1.y, R1, {0, 0, 0, 0}.x;
  19256. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19257. TRUNC.U R1.y, R1;
  19258. TRUNC.U R1.w, R1;
  19259. AND.U.CC HC.x, R1.y, R1.w;
  19260. MOV.S R0.y, R0;
  19261. MOV.S R19.x, R14.w;
  19262. MOV.S R0.w, R0;
  19263. IF NE.x;
  19264. ELSE;
  19265. MOV.F R1.x, {0, 0, 0, 0};
  19266. ENDIF;
  19267. MOV.F R1.w, R15;
  19268. MOV.F R1.y, R19.z;
  19269. ADD.F32 R1.y, R1, R1.w;
  19270. MOV.F R1.w, R0.z;
  19271. SNE.F32 R5.x, R1.w, {0, 0, 0, 0};
  19272. TRUNC.U R6.y, R5.x;
  19273. MOV.F R5.w, c[12].y;
  19274. MOV.S R5.z, R1.y;
  19275. MUL.F32 R1.y, R5.w, R1.w;
  19276. MOV.F R1.w, R25.x;
  19277. MAX.F R1.w, R1, {0, 0, 0, 0}.x;
  19278. MOV.F R5.x, R19;
  19279. MOV.S R14.w, R1;
  19280. MUL.F32 R1.w, R5.x, {6.28318548, 0, 0, 0}.x;
  19281. MOV.S R13.y, R1.x;
  19282. COS.F32 R1.x, R1.w;
  19283. SNE.F32 R1.w, R5, {0, 0, 0, 0}.x;
  19284. MOV.S R6.x, R1;
  19285. TRUNC.U R1.x, R1.w;
  19286. AND.U.CC HC.x, R1, R6.y;
  19287. IF NE.x;
  19288. MOV.F R1.x, R1.y;
  19289. ELSE;
  19290. MOV.F R1.x, {0, 0, 0, 0};
  19291. ENDIF;
  19292. MOV.F R5.x, R11.y;
  19293. MOV.F R1.w, R14.z;
  19294. MUL.F32 R1.y, R1.w, R5.x;
  19295. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19296. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19297. TRUNC.U R1.w, R1;
  19298. TRUNC.U R5.x, R5;
  19299. AND.U.CC HC.x, R1.w, R5;
  19300. MOV.S R19.x, R1;
  19301. IF NE.x;
  19302. MOV.F R1.x, R1.y;
  19303. ELSE;
  19304. MOV.F R1.x, {0, 0, 0, 0};
  19305. ENDIF;
  19306. MOV.F R5.x, R13.z;
  19307. MOV.F R1.w, R6.x;
  19308. MUL.F32 R1.y, R1.w, R5.x;
  19309. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19310. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19311. TRUNC.U R1.w, R1;
  19312. TRUNC.U R5.x, R5;
  19313. AND.U.CC HC.x, R1.w, R5;
  19314. MOV.S R14.y, R1.x;
  19315. IF NE.x;
  19316. MOV.F R1.x, R1.y;
  19317. ELSE;
  19318. MOV.F R1.x, {0, 0, 0, 0};
  19319. ENDIF;
  19320. MOV.F R5.x, R0.w;
  19321. MOV.F R1.w, R0.y;
  19322. MUL.F32 R1.y, R1.w, R5.x;
  19323. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19324. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19325. TRUNC.U R1.w, R1;
  19326. TRUNC.U R5.x, R5;
  19327. AND.U.CC HC.x, R1.w, R5;
  19328. MOV.S R14.z, R1.x;
  19329. IF NE.x;
  19330. MOV.F R1.x, R1.y;
  19331. ELSE;
  19332. MOV.F R1.x, {0, 0, 0, 0};
  19333. ENDIF;
  19334. MOV.F R1.y, R16.x;
  19335. MUL.F32 R1.w, R1.y, {6.28318548, 0, 0, 0}.x;
  19336. SIN.F32 R1.w, R1.w;
  19337. MOV.F R5.x, R10.y;
  19338. MOV.F R5.w, R12.y;
  19339. MOV.S R13.w, R1;
  19340. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  19341. MUL.F32 R1.y, R5.x, R5.w;
  19342. SNE.F32 R5.x, R5.w, {0, 0, 0, 0};
  19343. TRUNC.U R1.w, R1;
  19344. TRUNC.U R5.x, R5;
  19345. AND.U.CC HC.x, R1.w, R5;
  19346. MOV.S R19.z, R13.x;
  19347. MOV.S R15.w, R1.x;
  19348. IF NE.x;
  19349. MOV.F R1.x, R1.y;
  19350. ELSE;
  19351. MOV.F R1.x, {0, 0, 0, 0};
  19352. ENDIF;
  19353. MOV.F R1.w, R14.x;
  19354. MOV.F R1.y, R19.x;
  19355. ADD.F32 R1.y, R1, R1.w;
  19356. MOV.F R5.x, R1.z;
  19357. MOV.F R1.w, R10.y;
  19358. MOV.S R15.y, R1;
  19359. MUL.F32 R1.y, -R1.w, R5.x;
  19360. SNE.F32 R1.w, -R1, {0, 0, 0, 0}.x;
  19361. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19362. TRUNC.U R1.w, R1;
  19363. TRUNC.U R5.x, R5;
  19364. AND.U.CC HC.x, R1.w, R5;
  19365. MOV.S R13.x, R1;
  19366. IF NE.x;
  19367. MOV.F R1.x, R1.y;
  19368. ELSE;
  19369. MOV.F R1.x, {0, 0, 0, 0};
  19370. ENDIF;
  19371. MOV.F R1.w, R12.y;
  19372. MOV.F R5.x, R28.w;
  19373. SNE.F32 R5.w, R1, {0, 0, 0, 0}.x;
  19374. MUL.F32 R1.y, -R5.x, R1.w;
  19375. MOV.F R1.w, R19.z;
  19376. ADD.F32 R1.x, R1, R1.w;
  19377. TRUNC.U R5.w, R5;
  19378. SNE.F32 R1.w, -R5.x, {0, 0, 0, 0}.x;
  19379. MOV.S R11.z, R1.x;
  19380. TRUNC.U R1.x, R1.w;
  19381. AND.U.CC HC.x, R1, R5.w;
  19382. IF NE.x;
  19383. MOV.F R1.x, R1.y;
  19384. ELSE;
  19385. MOV.F R1.x, {0, 0, 0, 0};
  19386. ENDIF;
  19387. MOV.F R1.w, R13.y;
  19388. ADD.F32 R1.x, R1, R1.w;
  19389. MOV.F R1.y, R16.z;
  19390. MUL.F32 R1.y, R1, {6.28318548, 0, 0, 0}.x;
  19391. SIN.F32 R5.x, R1.y;
  19392. MOV.F R5.w, R13;
  19393. MOV.S R16.w, R1.x;
  19394. SNE.F32 R1.w, R5.x, {0, 0, 0, 0}.x;
  19395. SNE.F32 R1.x, R5.w, {0, 0, 0, 0};
  19396. TRUNC.U R1.w, R1;
  19397. TRUNC.U R1.x, R1;
  19398. AND.U.CC HC.x, R1, R1.w;
  19399. MUL.F32 R1.y, R5.x, R5.w;
  19400. MOV.S R16.y, R5.x;
  19401. IF NE.x;
  19402. MOV.F R1.x, R1.y;
  19403. ELSE;
  19404. MOV.F R1.x, {0, 0, 0, 0};
  19405. ENDIF;
  19406. MOV.F R1.w, R15.z;
  19407. MOV.F R1.y, R14;
  19408. ADD.F32 R1.y, R1, R1.w;
  19409. MOV.F R5.x, R16.y;
  19410. MOV.F R1.w, R13.z;
  19411. MOV.S R13.y, R1;
  19412. MUL.F32 R1.y, R1.w, R5.x;
  19413. SNE.F32 R5.x, R5, {0, 0, 0, 0};
  19414. TRUNC.U R5.w, R5.x;
  19415. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19416. TRUNC.U R1.w, R1;
  19417. AND.U.CC HC.x, R1.w, R5.w;
  19418. MOV.S R5.x, R1;
  19419. IF NE.x;
  19420. MOV.F R1.x, R1.y;
  19421. ELSE;
  19422. MOV.F R1.x, {0, 0, 0, 0};
  19423. ENDIF;
  19424. MOV.F R1.y, R14.w;
  19425. MIN.F R1.y, R1, {0, 0, 0, 0}.x;
  19426. MOV.S R14.w, R1.y;
  19427. MOV.F R1.y, R0.z;
  19428. SNE.F32 R5.w, R1.y, {0, 0, 0, 0}.x;
  19429. MOV.F R1.w, c[12].x;
  19430. MUL.F32 R1.y, R1.w, R1;
  19431. TRUNC.U R5.w, R5;
  19432. SNE.F32 R1.w, R1, {0, 0, 0, 0}.x;
  19433. MOV.S R15.z, R1.x;
  19434. TRUNC.U R1.x, R
  19435. [19:43:31] Shader cache loaded with 9176 shaders. Commited mem 10631MB. Took 37065ms
  19436. [19:43:31] Recompiler initialized. CPU extensions: AVX
  19437. [19:43:31] Custom timer mode: QPC
  19438. [19:43:31] Applying patch group BotwV208 from pack 'Faster Arrow Draw' v3 to module u-king (checksum 0x6267BFD0)
  19439. [19:43:31] Applying patch group BotwV208 from pack 'Infinite Daruk's Protection' v3 to module u-king (checksum 0x6267BFD0)
  19440. [19:43:31] Applying patch group BotwV208 from pack 'Infinite Mipha's Grace' v3 to module u-king (checksum 0x6267BFD0)
  19441. [19:43:31] Applying patch group BotwV208 from pack 'Infinite Motorcycle Energy' v3 to module u-king (checksum 0x6267BFD0)
  19442. [19:43:31] Applying patch group BotwV208 from pack 'Infinite Stamina' v3 to module u-king (checksum 0x6267BFD0)
  19443. [19:43:31] Applying patch group BotwV208 from pack 'Infinite Weapons, Bows and Shields' v3 to module u-king (checksum 0x6267BFD0)
  19444. [19:43:31] Applying patch group BotwV208 from pack 'Spawn Motorcycle Anywhere' v3 to module u-king (checksum 0x6267BFD0)
  19445. [19:43:31] Applying patch group BotwFPSV208 from pack 'Dynamic Gamespeed' v3 to module u-king (checksum 0x6267BFD0)
  19446. [19:43:31] Applying patch group BotwFenceV208 from pack 'Fence Method' v3 to module u-king (checksum 0x6267BFD0)
  19447. [19:43:31] Applying patch group BotwFPSV208 from pack 'CPU Occlusion Query' v3 to module u-king (checksum 0x6267BFD0)
  19448. [19:43:31] Applying patch group BotwPlsNoCrashV208 from pack 'LWZX Crash Workaround (OpenGL)' v3 to module u-king (checksum 0x6267BFD0)
  19449. [19:43:31] Applying patch group BotwAspectsV208 from pack 'Resolution' v3 to module u-king (checksum 0x6267BFD0)
  19450. [19:43:31] IOSU_CRYPTO: No otp.bin found. Online mode cannot be used
  19451. [19:43:31] IOSU_CRYPTO: No Seeprom.bin found. Online mode cannot be used
  19452. [19:43:31] IOSU_ACT: using account default in first slot
  19453.  
  19454. Crashlog for Cemu 1.22.2
  19455. Date: 30-12-2020 01:43:35
  19456.  
  19457. -----------------------------------------
  19458. Stack trace
  19459. -----------------------------------------
  19460. Exception 0xc000001d at 0x1b6c67b1
  19461. cemu.exe at 0x13fb40000
  19462.  
  19463. RAX=000000000e2806b8 RBX=0000000000000000 RCX=000000001b6c6108 RDX=0000000000000000
  19464. RSP=00000003d2912880 RBP=000000000e280728 RDI=000000001b6c6108 RSI=0000000000000000
  19465. R8 =000000000308001f R9 =0000000000000800 R10=0000000000000000 R11=0000000000001000
  19466. R12=0000000000000000 R13=0000000140ee0000 R14=0000000000000000 R15=00000003ea7a0000
  19467.  
  19468. -----------------------------------------
  19469. Game info
  19470. -----------------------------------------
  19471. Game: Breath of the Wild [US v208]
  19472. TitleId: 50000101c9400
  19473. RPXHash: dcac9927
  19474.  
  19475. -----------------------------------------
  19476. Active PPC instance
  19477. -----------------------------------------
  19478. IP 0x030bf280 LR 0x03b1e298 Thread 0x0e08150c
  19479. -----------------------------------------
  19480. PPC stack trace
  19481. -----------------------------------------
  19482. [19:43:35] Trace starting at SP/r1 0e2809d8
  19483. [19:43:35] SP 0e280a40 ReturnAddr 039dd11c
  19484. [19:43:35] SP 0e280b88 ReturnAddr 039a7dcc
  19485. [19:43:35] SP 0e280ec0 ReturnAddr 039a8688
  19486. [19:43:35] SP 0e280ee8 ReturnAddr 03406074
  19487. [19:43:35] SP 0e2813a8 ReturnAddr 03408284
  19488. [19:43:35] SP 0e281478 ReturnAddr 03411264
  19489. [19:43:35] SP 0e2819a8 ReturnAddr 034125a0
  19490. [19:43:35] SP 0e281df0 ReturnAddr 02c4b354
  19491. [19:43:35] SP 0e282000 ReturnAddr 0309fa64
  19492. [19:43:35] SP 0e282010 ReturnAddr 0309fa8c
  19493. [19:43:35] SP 0e282020 ReturnAddr 0309fa8c
  19494. [19:43:35] SP 0e282030 ReturnAddr 0309fa8c
  19495. [19:43:35] SP 0e282040 ReturnAddr 0309fad4
  19496. [19:43:35] SP 0e282050 ReturnAddr 031fa310
  19497. [19:43:35] SP 0e282060 ReturnAddr 031fa8dc
  19498. [19:43:35] SP 0e282070 ReturnAddr 031fa590
  19499. [19:43:35] SP 0e2820f8 ReturnAddr 0309c860
  19500. [19:43:35] SP 0e282108 ReturnAddr 0309ee88
  19501. [19:43:35] SP 0e282148 ReturnAddr 02c5e810
  19502. [19:43:35] SP 0e282210 ReturnAddr 03c704b0
  19503.  
  19504. -----------------------------------------
  19505. PPC threads
  19506. -----------------------------------------
  19507. 0e060770 Ent 00e00008 IP 00e00008 LR 00e00000 WAITING Aff 111 Pri 32 Name Alarm Thread
  19508. 0e004dc0 Ent 00e0000c IP 00e0000c LR 00e00000 WAITING Aff 111 Pri 32 Name Callback Thread
  19509. 0e08150c Ent 00e05b8c IP 03a53814 LR 03a53814 RUNNING Aff 010 Pri 80 Name Default Core 1
  19510. 109f9178 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 010 Pri 84 Name Prepare Thread
  19511. 12afc6b0 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 100 Pri 80 Name WorkerMgr/Worker1(Any)
  19512. 12b3cf88 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 001 Pri 80 Name WorkerMgr/Worker2(Any)
  19513. 15b47e30 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 010 Pri 81 Name OverlayArena Prepare
  19514. 15b49b18 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 001 Pri 83 Name DecompThread
  19515. 302ddbb8 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 001 Pri 83 Name Resource Loading
  19516. 302e87c8 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 100 Pri 84 Name Resource Control
  19517. 302f3548 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 100 Pri 84 Name Resource Memory
  19518. 302fe438 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 100 Pri 84 Name MovableMemory
  19519. 36c65fc8 Ent 030bbea8 IP 00e04554 LR 030decd0 WAITING Aff 100 Pri 84 Name res::Compaction
  19520.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement