Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 103.52 KB | None | 0 0
  1. // Test CS Lights
  2. // Generated by Microsoft (R) D3D Shader Disassembler
  3. //
  4. // using 3Dmigoto v1.2.43 on Fri Mar 17 20:57:09 2017
  5. //
  6. //
  7. // Input signature:
  8. //
  9. // Name Index Mask Register SysValue Format Used
  10. // -------------------- ----- ------ -------- -------- ------- ------
  11. // no Input
  12. //
  13. // Output signature:
  14. //
  15. // Name Index Mask Register SysValue Format Used
  16. // -------------------- ----- ------ -------- -------- ------- ------
  17. // no Output
  18. cs_5_0
  19. dcl_globalFlags refactoringAllowed
  20. dcl_constantbuffer cb1[896], dynamicIndexed
  21. dcl_constantbuffer cb2[2432], dynamicIndexed
  22. dcl_constantbuffer cb3[1152], dynamicIndexed
  23. dcl_constantbuffer cb4[2688], dynamicIndexed
  24. dcl_constantbuffer cb0[46], dynamicIndexed
  25. dcl_sampler s0, mode_default
  26. dcl_sampler s2, mode_default
  27. dcl_sampler s3, mode_comparison
  28. dcl_resource_texture2d (float,float,float,float) t0
  29. dcl_resource_texture2d (float,float,float,float) t1
  30. dcl_resource_texture2d (float,float,float,float) t2
  31. dcl_resource_texture2d (float,float,float,float) t6
  32. dcl_resource_texture2darray (float,float,float,float) t9
  33. dcl_resource_texture2d (float,float,float,float) t10
  34. dcl_resource_structured t19, 16
  35. dcl_resource_structured t20, 4
  36. dcl_resource_texture2d (float,float,float,float) t21
  37. dcl_resource_texture2d (uint,uint,uint,uint) t23
  38. dcl_resource_texture3d (float,float,float,float) t24
  39. dcl_resource_structured t25, 4
  40. dcl_uav_typed_texture2d (float,float,float,float) u0
  41. dcl_uav_typed_texture2d (float,float,float,float) u1
  42. dcl_input vThreadIDInGroupFlattened
  43. dcl_input vThreadGroupID.x
  44. dcl_input vThreadIDInGroup.xy
  45.  
  46. dcl_temps 60
  47.  
  48. // 3DMigoto StereoParams:
  49. dcl_resource_texture1d (float,float,float,float) t120
  50. dcl_resource_texture2d (float,float,float,float) t125
  51. ld_indexable(texture1d)(float,float,float,float) r41.xyzw, l(0, 0, 0, 0), t120.xyzw
  52. ld_indexable(texture2d)(float,float,float,float) r40.xyzw, l(0, 0, 0, 0), t125.xyzw
  53.  
  54. dcl_tgsm_raw g0, 4
  55. dcl_tgsm_raw g1, 4
  56. dcl_tgsm_raw g2, 4
  57. dcl_tgsm_raw g3, 4
  58. dcl_tgsm_raw g4, 4
  59. dcl_tgsm_raw g5, 4
  60. dcl_thread_group 16, 16, 1
  61. ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, vThreadGroupID.x, l(0), t25.xxxx
  62. ushr r1.x, r0.x, l(16)
  63. and r1.y, r0.x, l(0x0000ffff)
  64. imad r0.xyzw, r1.xyyy, l(16, 16, 16, 16), vThreadIDInGroup.xyyy
  65. if_z vThreadIDInGroupFlattened.x
  66. utof r2.xy, r1.yxyy
  67. utof r2.z, cb0[8].z
  68. mad r2.x, r2.x, r2.z, r2.y
  69. ftou r2.x, r2.x
  70. ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r2.xyz, r2.x, l(0), t19.xyzx
  71. ushr r3.xy, r2.yzyy, l(16, 16, 0, 0)
  72. and r2.yz, r2.yyzy, l(0, 0x0000ffff, 0x0000ffff, 0)
  73. store_raw g0.x, l(0), r2.x
  74. store_raw g1.x, l(0), r2.y
  75. store_raw g2.x, l(0), r3.x
  76. store_raw g3.x, l(0), r2.z
  77. store_raw g4.x, l(0), r3.y
  78. mov r1.zw, l(0,0,0,0)
  79. ld_indexable(texture2d)(uint,uint,uint,uint) r1.x, r1.xyzw, t23.xyzw
  80. store_raw g5.x, l(0), r1.x
  81. endif
  82. sync_g_t
  83. utof r1.xy, r0.xwxx
  84. add r1.zw, r1.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
  85. mul r1.zw, r1.zzzw, cb0[5].zzzw
  86. ftoi r2.xy, r1.xyxx
  87. mov r2.zw, l(0,0,0,0)
  88. ld_indexable(texture2d)(float,float,float,float) r3.xyzw, r2.xyww, t0.xyzw
  89. ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r2.xyww, t1.xyzw
  90. ld_indexable(texture2d)(float,float,float,float) r5.xyz, r2.xyww, t2.xyzw
  91. ld_indexable(texture2d)(float,float,float,float) r2.z, r2.xyzw, t6.yzxw
  92. mul r1.x, r4.w, l(6.000000)
  93. round_ne r1.x, r1.x
  94. ftou r1.x, r1.x
  95. mad r6.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  96. dp2 r1.y, r6.xyxx, r6.xyxx
  97. min r1.y, r1.y, l(1.000000)
  98. add r1.y, -r1.y, l(1.000000)
  99. sqrt r6.z, r1.y
  100. imul null, r1.x, r1.x, l(3)
  101. dp3 r7.x, r6.xyzx, cb0[r1.x + 28].xyzx
  102. dp3 r7.y, r6.xyzx, cb0[r1.x + 29].xyzx
  103. dp3 r7.z, r6.xyzx, cb0[r1.x + 30].xyzx
  104. add r1.x, -r3.z, l(1.000000)
  105. mul r1.y, r3.w, l(3.000000)
  106. round_ne r1.y, r1.y
  107. ftoi r1.y, r1.y
  108. ieq r3.xy, r1.yyyy, l(2, 1, 0, 0)
  109. and r1.y, r5.x, r3.x
  110. mul r3.x, r5.x, l(7.968750)
  111. ftoi r3.x, r3.x
  112. imin r3.x, r3.x, l(7)
  113. and r3.x, r3.x, r3.y
  114. movc r3.z, r3.y, l(0), r5.y
  115. add r3.w, -r1.y, l(1.000000)
  116. mul r3.w, r3.w, r5.z
  117. mul r3.w, r3.w, r3.w
  118. mul r4.w, r3.w, l(0.160000)
  119. mad r5.xyz, -r3.wwww, l(0.160000, 0.160000, 0.160000, 0.000000), r4.xyzx
  120. mad r5.xyz, r3.zzzz, r5.xyzx, r4.wwww
  121. dp3 r3.w, r5.xyzx, l(0.330000, 0.330000, 0.330000, 0.000000)
  122. mul_sat r3.w, r3.w, l(50.000000)
  123. mul r6.x, r1.x, r1.x
  124. ld_raw r4.w, l(0), g5.xxxx
  125. ubfe r4.w, l(1), l(1), r4.w
  126. ine r4.w, r4.w, l(0)
  127. ishl r3.x, l(1), r3.x
  128. and r3.x, r3.x, cb0[7].y
  129. ine r3.x, r3.x, l(0)
  130. and r3.x, r3.x, r3.y
  131. and r3.x, r3.x, r4.w
  132. if_nz r3.x
  133. mov r8.xyz, l(1.000000,1.000000,1.000000,0)
  134. mov r3.x, l(1)
  135. else
  136. add r3.y, -r3.z, l(1.000000)
  137. mul r8.xyz, r3.yyyy, r4.xyzx
  138. and r3.x, cb0[7].x, l(1)
  139. endif
  140. mad r3.yz, r1.zzwz, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
  141. mul r2.xy, r3.yzyy, l(1.000000, -1.000000, 0.000000, 0.000000)
  142. mov r2.w, l(1.000000)
  143.  
  144. // depth
  145. dp4 r38.x, r2.xyzw, cb0[3].xyzw
  146.  
  147. // stereo.y * depth
  148. mul r40.w, r40.y, r38.x
  149.  
  150. // (stereo.y * depth - 1)
  151. add r40.w, r40.w, l(-1.000)
  152.  
  153. // stereo.x * (stereo.y * depth - 1)
  154. mul r40.w, r40.x, r40.w
  155.  
  156. // r2.x += stereo.x * (stereo.y * depth - 1)
  157. mov r38.x, r2.x
  158. add r38.x, r38.x, r40.w
  159. mov r2.x, r38.x
  160.  
  161. // Original Code
  162. dp4 r4.x, r2.xyzw, cb0[0].xyzw
  163. dp4 r4.y, r2.xyzw, cb0[1].xyzw
  164. dp4 r4.z, r2.xyzw, cb0[2].xyzw
  165. dp4 r2.x, r2.xyzw, cb0[3].xyzw
  166. div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r2.x
  167.  
  168.  
  169. mul r9.xyz, r2.xxxx, r4.xyzx
  170. dp3 r2.y, -r9.xyzx, -r9.xyzx
  171. rsq r2.y, r2.y
  172. mul r10.xyz, r2.yyyy, -r9.xyzx
  173. dp3 r2.z, -r10.xyzx, r7.xyzx
  174. add r2.z, r2.z, r2.z
  175. mad r11.xyz, r7.xyzx, -r2.zzzz, -r10.xyzx
  176. sample_l_indexable(texture2d)(float,float,float,float) r12.xyzw, r1.zwzz, t10.yzxw, s0, l(0.000000)
  177. mad r13.xyz, r12.wxyw, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  178. dp3 r1.z, r13.xyzx, r13.xyzx
  179. rsq r1.z, r1.z
  180. mul r13.xyz, r1.zzzz, r13.xyzx
  181. ld_raw r1.z, l(0), g0.xxxx
  182. ld_raw r1.w, l(0), g1.xxxx
  183. iadd r2.z, r1.z, r1.w
  184. dp3 r2.w, r7.xyzx, r10.xyzx
  185. add r2.w, |r2.w|, l(0.000010)
  186. add r3.yzw, -r5.xxyz, r3.wwww
  187. max r4.w, r6.x, l(0.002000)
  188. mul r5.w, r4.w, r4.w
  189. mad r6.w, -r2.w, r5.w, r2.w
  190. mad r6.w, r6.w, r2.w, r5.w
  191. sqrt r6.w, r6.w
  192. mad r7.w, r1.x, l(-0.337748349), l(1.000000)
  193. add r8.w, -r2.w, l(1.000000)
  194. mul r10.x, r8.w, r8.w
  195. mul r10.x, r10.x, r10.x
  196. mul r8.w, r8.w, r10.x
  197. lt r10.x, l(0.000000), r1.y
  198. mul r10.y, r2.w, r2.w
  199. mad r10.y, r10.y, l(0.999996), l(0.00000400000044)
  200. sqrt r10.y, r10.y
  201. mov r6.z, r12.z
  202. mov r14.xyz, l(0,0,0,0)
  203. mov r15.xyz, l(0,0,0,0)
  204. mov r10.z, r1.z
  205. loop
  206. uge r10.w, r10.z, r2.z
  207. breakc_nz r10.w
  208.  
  209. // THIS is where those lights come from!!!
  210. // Commenting the ld_structured_indexable will remove the light
  211. // same goes for the MAD operation. Thing is I want to fix it if possible. Any idea?:)
  212. ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r10.w, r10.z, l(0), t20.xxxx
  213. imul null, r10.w, r10.w, l(7)
  214. mad r16.xyz, -r4.xyzx, r2.xxxx, cb1[r10.w + 0].xyzx
  215.  
  216.  
  217. dp3 r11.w, r16.xyzx, r16.xyzx
  218. rsq r12.w, r11.w
  219. mul r16.xyz, r12.wwww, r16.xyzx
  220. add r12.w, r11.w, cb1[r10.w + 1].w
  221. max r12.w, r12.w, l(0.000100)
  222. div r12.w, l(1.000000, 1.000000, 1.000000, 1.000000), r12.w
  223. mul r11.w, r11.w, cb1[r10.w + 0].w
  224. mad r11.w, -r11.w, r11.w, l(1.000000)
  225. max r11.w, r11.w, l(0.000000)
  226. mul r11.w, r11.w, r11.w
  227. mul r11.w, r11.w, r12.w
  228. dp3 r12.w, cb1[r10.w + 2].xyzx, r16.xyzx
  229. mad_sat r12.w, r12.w, cb1[r10.w + 5].x, cb1[r10.w + 5].y
  230. mul r12.w, r12.w, r12.w
  231. mul r11.w, r11.w, r12.w
  232. dp3_sat r12.w, r7.xyzx, r16.xyzx
  233. mul r11.w, r11.w, r12.w
  234. lt r13.w, l(0.000000), r11.w
  235. if_nz r13.w
  236. mad r17.xyz, -r9.xyzx, r2.yyyy, r16.xyzx
  237. dp3 r13.w, r17.xyzx, r17.xyzx
  238. rsq r13.w, r13.w
  239. mul r17.xyz, r13.wwww, r17.xyzx
  240. dp3_sat r13.w, r16.xyzx, r17.xyzx
  241. dp3_sat r14.w, r7.xyzx, r17.xyzx
  242. add r15.w, -r13.w, l(1.000000)
  243. mul r16.x, r15.w, r15.w
  244. mul r16.x, r16.x, r16.x
  245. mul r15.w, r15.w, r16.x
  246. mad r16.xyz, r3.yzwy, r15.wwww, r5.xyzx
  247. mad r16.w, -r12.w, r5.w, r12.w
  248. mad r16.w, r16.w, r12.w, r5.w
  249. sqrt r16.w, r16.w
  250. mul r16.w, r2.w, r16.w
  251. mad r16.w, r12.w, r6.w, r16.w
  252. add r16.w, r16.w, l(0.002000)
  253. div r16.w, l(0.500000), r16.w
  254. mad r17.w, r14.w, r5.w, -r14.w
  255. mad r17.w, r17.w, r14.w, l(1.000150)
  256. mul r17.w, r17.w, r17.w
  257. div r17.w, r5.w, r17.w
  258. mul r16.w, r16.w, r17.w
  259. mul r16.xyz, r16.wwww, r16.xyzx
  260. mul r13.w, r13.w, r13.w
  261. dp2 r13.w, r13.wwww, r1.xxxx
  262. mad r13.w, r1.x, l(0.500000), r13.w
  263. add r16.w, -r12.w, l(1.000000)
  264. mul r17.w, r16.w, r16.w
  265. mul r17.w, r17.w, r17.w
  266. mul r16.w, r16.w, r17.w
  267. add r13.w, r13.w, l(-1.000000)
  268. mad r17.w, r13.w, r16.w, l(1.000000)
  269. mad r13.w, r13.w, r8.w, l(1.000000)
  270. mul r13.w, r13.w, r17.w
  271. mul r18.xyz, r7.wwww, r13.wwww
  272. if_nz r10.x
  273. mad r13.w, r16.w, l(0.960000), l(0.040000)
  274. mad r13.w, -r1.y, r13.w, l(1.000000)
  275. mul r18.xyz, r13.wwww, r18.zzzz
  276. mad r15.w, r15.w, l(0.960000), l(0.040000)
  277. mul r16.w, r12.w, r12.w
  278. mad r16.w, r16.w, l(0.999996), l(0.00000400000044)
  279. sqrt r16.w, r16.w
  280. mul r16.w, r2.w, r16.w
  281. mad r12.w, r12.w, r10.y, r16.w
  282. add r12.w, r12.w, l(0.002000)
  283. div r12.w, l(0.500000), r12.w
  284. mul r14.w, r14.w, r14.w
  285. mad r14.w, r14.w, l(-0.999996), l(1.000150)
  286. mul r14.w, r14.w, r14.w
  287. div r14.w, l(0.00000400000044), r14.w
  288. mul r12.w, r12.w, r14.w
  289. mul r12.w, r1.y, r12.w
  290. mul r12.w, r12.w, r15.w
  291. mad r16.xyz, r16.xyzx, r13.wwww, r12.wwww
  292. endif
  293. mul r12.w, r11.w, cb1[r10.w + 2].w
  294. mul r19.xyz, r12.wwww, cb1[r10.w + 1].xyzx
  295. mul r18.xyz, r18.xyzx, r19.xyzx
  296. mul r11.w, r11.w, cb1[r10.w + 3].w
  297. mul r19.xyz, r11.wwww, cb1[r10.w + 1].xyzx
  298. mul r16.xyz, r16.xyzx, r19.xyzx
  299. dp3 r10.w, r13.xyzx, r17.xyzx
  300. add r11.w, -|r10.w|, l(1.000000)
  301. sqrt r11.w, r11.w
  302. mad r12.w, |r10.w|, l(-0.0187292993), l(0.074261)
  303. mad r12.w, r12.w, |r10.w|, l(-0.212114394)
  304. mad r12.w, r12.w, |r10.w|, l(1.57072878)
  305. mul r13.w, r11.w, r12.w
  306. mad r13.w, r13.w, l(-2.000000), l(3.14159274)
  307. lt r10.w, r10.w, -r10.w
  308. and r10.w, r10.w, r13.w
  309. mad r6.y, r12.w, r11.w, r10.w
  310. add r17.xyz, r6.xyzx, -cb0[26].xyzx
  311. mul r17.xyz, r17.xyzx, cb0[27].xyzx
  312. sample_l_indexable(texture3d)(float,float,float,float) r6.y, r17.xyzx, t24.yxzw, s0, l(0.000000)
  313. mul r16.xyz, r6.yyyy, r16.xyzx
  314. else
  315. mov r18.xyz, l(0,0,0,0)
  316. mov r16.xyz, l(0,0,0,0)
  317. endif
  318. add r15.xyz, r15.xyzx, r18.xyzx
  319. add r14.xyz, r14.xyzx, r16.xyzx
  320. iadd r10.z, r10.z, l(1)
  321. endloop
  322. ld_raw r1.w, l(0), g1.xxxx
  323. iadd r1.z, r1.w, r1.z
  324. ld_raw r1.w, l(0), g2.xxxx
  325. iadd r2.z, r1.z, r1.w
  326. mov r9.w, l(1.000000)
  327. mov r16.xyz, r14.xyzx
  328. mov r17.xyz, r15.xyzx
  329. mov r6.y, r1.z
  330. loop
  331. uge r6.z, r6.y, r2.z
  332. breakc_nz r6.z
  333. ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.z, r6.y, l(0), t20.xxxx
  334. imul null, r10.z, r6.z, l(19)
  335. mad r18.xyz, -r4.xyzx, r2.xxxx, cb2[r10.z + 0].xyzx
  336. dp3 r10.w, r18.xyzx, r18.xyzx
  337. rsq r11.w, r10.w
  338. mul r19.xyz, r11.wwww, r18.xyzx
  339. add r11.w, r10.w, cb2[r10.z + 1].w
  340. max r11.w, r11.w, l(0.000100)
  341. div r11.w, l(1.000000, 1.000000, 1.000000, 1.000000), r11.w
  342. mul r10.w, r10.w, cb2[r10.z + 0].w
  343. mad r10.w, -r10.w, r10.w, l(1.000000)
  344. max r10.w, r10.w, l(0.000000)
  345. mul r10.w, r10.w, r10.w
  346. mul r10.w, r10.w, r11.w
  347. dp3 r11.w, cb2[r10.z + 2].xyzx, r19.xyzx
  348. mad_sat r12.w, r11.w, cb2[r10.z + 5].x, cb2[r10.z + 5].y
  349. mul r12.w, r12.w, r12.w
  350. mul r10.w, r10.w, r12.w
  351. dp3_sat r12.w, r7.xyzx, r19.xyzx
  352. mul r10.w, r10.w, r12.w
  353. lt r13.w, l(0.000000), r10.w
  354. if_nz r13.w
  355. mad r20.xyz, -r9.xyzx, r2.yyyy, r19.xyzx
  356. dp3 r14.w, r20.xyzx, r20.xyzx
  357. rsq r14.w, r14.w
  358. mul r20.xyz, r14.wwww, r20.xyzx
  359. dp3_sat r14.w, r19.xyzx, r20.xyzx
  360. dp3_sat r15.w, r7.xyzx, r20.xyzx
  361. add r16.w, -r14.w, l(1.000000)
  362. mul r17.w, r16.w, r16.w
  363. mul r17.w, r17.w, r17.w
  364. mul r16.w, r16.w, r17.w
  365. mad r20.xyz, r3.yzwy, r16.wwww, r5.xyzx
  366. mad r17.w, -r12.w, r5.w, r12.w
  367. mad r17.w, r17.w, r12.w, r5.w
  368. sqrt r17.w, r17.w
  369. mul r17.w, r2.w, r17.w
  370. mad r17.w, r12.w, r6.w, r17.w
  371. add r17.w, r17.w, l(0.002000)
  372. div r17.w, l(0.500000), r17.w
  373. mad r18.w, r15.w, r5.w, -r15.w
  374. mad r18.w, r18.w, r15.w, l(1.000150)
  375. mul r18.w, r18.w, r18.w
  376. div r18.w, r5.w, r18.w
  377. mul r17.w, r17.w, r18.w
  378. mul r20.xyz, r17.wwww, r20.xyzx
  379. mul r14.w, r14.w, r14.w
  380. dp2 r14.w, r14.wwww, r1.xxxx
  381. mad r14.w, r1.x, l(0.500000), r14.w
  382. add r17.w, -r12.w, l(1.000000)
  383. mul r18.w, r17.w, r17.w
  384. mul r18.w, r18.w, r18.w
  385. mul r17.w, r17.w, r18.w
  386. add r14.w, r14.w, l(-1.000000)
  387. mad r18.w, r14.w, r17.w, l(1.000000)
  388. mad r14.w, r14.w, r8.w, l(1.000000)
  389. mul r14.w, r14.w, r18.w
  390. mul r21.xyz, r7.wwww, r14.wwww
  391. if_nz r10.x
  392. mad r14.w, r17.w, l(0.960000), l(0.040000)
  393. mad r14.w, -r1.y, r14.w, l(1.000000)
  394. mul r21.xyz, r14.wwww, r21.zzzz
  395. mad r16.w, r16.w, l(0.960000), l(0.040000)
  396. mul r17.w, r12.w, r12.w
  397. mad r17.w, r17.w, l(0.999996), l(0.00000400000044)
  398. sqrt r17.w, r17.w
  399. mul r17.w, r2.w, r17.w
  400. mad r12.w, r12.w, r10.y, r17.w
  401. add r12.w, r12.w, l(0.002000)
  402. div r12.w, l(0.500000), r12.w
  403. mul r15.w, r15.w, r15.w
  404. mad r15.w, r15.w, l(-0.999996), l(1.000150)
  405. mul r15.w, r15.w, r15.w
  406. div r15.w, l(0.00000400000044), r15.w
  407. mul r12.w, r12.w, r15.w
  408. mul r12.w, r1.y, r12.w
  409. mul r12.w, r12.w, r16.w
  410. mad r20.xyz, r20.xyzx, r14.wwww, r12.wwww
  411. endif
  412. mul r12.w, r10.w, cb2[r10.z + 2].w
  413. mul r22.xyz, r12.wwww, cb2[r10.z + 1].xyzx
  414. mul r21.xyz, r21.xyzx, r22.xyzx
  415. mul r10.w, r10.w, cb2[r10.z + 3].w
  416. mul r22.xyz, r10.wwww, cb2[r10.z + 1].xyzx
  417. mul r20.xyz, r20.xyzx, r22.xyzx
  418. else
  419. mov r21.xyz, l(0,0,0,0)
  420. mov r20.xyz, l(0,0,0,0)
  421. endif
  422. lt r10.w, l(0.000000), cb2[r10.z + 16].z
  423. and r10.w, r10.w, r13.w
  424. if_nz r10.w
  425. dp3 r10.w, cb2[r10.z + 4].xyzx, -r19.xyzx
  426. dp3 r12.w, cb2[r10.z + 3].xyzx, -r19.xyzx
  427. dp3 r14.w, cb2[r10.z + 2].xyzx, -r19.xyzx
  428. mad r19.y, r14.w, l(0.500000), l(0.500000)
  429. min r14.w, |r10.w|, |r12.w|
  430. max r15.w, |r10.w|, |r12.w|
  431. div r15.w, l(1.000000, 1.000000, 1.000000, 1.000000), r15.w
  432. mul r14.w, r14.w, r15.w
  433. mul r15.w, r14.w, r14.w
  434. mad r16.w, r15.w, l(0.0208350997), l(-0.085133)
  435. mad r16.w, r15.w, r16.w, l(0.180141)
  436. mad r16.w, r15.w, r16.w, l(-0.330299497)
  437. mad r15.w, r15.w, r16.w, l(0.999866)
  438. mul r16.w, r14.w, r15.w
  439. lt r17.w, |r10.w|, |r12.w|
  440. mad r16.w, r16.w, l(-2.000000), l(1.57079637)
  441. and r16.w, r17.w, r16.w
  442. mad r14.w, r14.w, r15.w, r16.w
  443. lt r15.w, r10.w, -r10.w
  444. and r15.w, r15.w, l(0xc0490fdb)
  445. add r14.w, r14.w, r15.w
  446. min r15.w, r10.w, r12.w
  447. max r10.w, r10.w, r12.w
  448. lt r12.w, r15.w, -r15.w
  449. ge r10.w, r10.w, -r10.w
  450. and r10.w, r10.w, r12.w
  451. movc r10.w, r10.w, -r14.w, r14.w
  452. mul r19.x, r10.w, l(0.159154937)
  453. mov r19.z, cb2[r10.z + 16].w
  454. sample_l_indexable(texture2darray)(float,float,float,float) r10.w, r19.xyzx, t9.yzwx, s2, l(0.000000)
  455. else
  456. mov r10.w, l(1.000000)
  457. endif
  458. ne r12.w, l(0.000000), cb2[r10.z + 16].x
  459. and r12.w, r12.w, r13.w
  460. if_nz r12.w
  461. mad_sat r11.w, r11.w, cb2[r10.z + 17].x, cb2[r10.z + 17].y
  462. mul r11.w, r11.w, r11.w
  463. lt r12.w, l(0.000000), r11.w
  464. if_nz r12.w
  465. eq r12.w, l(2.000000), cb2[r10.z + 16].x
  466. if_nz r12.w
  467. mov r19.xyz, -r18.xyzx
  468. max r12.w, |r18.y|, |r18.x|
  469. max r12.w, |r18.z|, r12.w
  470. lt r22.xy, |r18.yzyy|, |r18.xxxx|
  471. and r13.w, r22.y, r22.x
  472. if_nz r13.w
  473. lt r13.w, l(0.000000), r19.x
  474. movc r19.x, r13.w, r19.z, r18.z
  475. and r13.w, r13.w, l(0x3f800000)
  476. else
  477. lt r18.yw, |r18.xxxz|, |r18.yyyy|
  478. and r14.w, r18.w, r18.y
  479. if_nz r14.w
  480. lt r14.w, l(0.000000), r19.y
  481. movc r19.w, r14.w, r19.z, r18.z
  482. movc r13.w, r14.w, l(3.000000), l(2.000000)
  483. mov r19.xy, r19.xwxx
  484. else
  485. lt r14.w, l(0.000000), r19.z
  486. movc r19.x, r14.w, r18.x, r19.x
  487. movc r13.w, r14.w, l(5.000000), l(4.000000)
  488. endif
  489. endif
  490. div r18.xy, r19.xyxx, r12.wwww
  491. mad r18.xy, r18.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  492. mad r14.w, -r12.w, cb2[r10.z + 8].z, cb2[r10.z + 8].w
  493. div r12.w, r14.w, r12.w
  494. mov r14.w, l(-1)
  495. else
  496. dp4 r19.x, r9.xyzw, cb2[r10.z + 6].xyzw
  497. dp4 r19.y, r9.xyzw, cb2[r10.z + 7].xyzw
  498. dp4 r15.w, r9.xyzw, cb2[r10.z + 8].xyzw
  499. dp4 r16.w, r9.xyzw, cb2[r10.z + 9].xyzw
  500. div r16.w, l(1.000000, 1.000000, 1.000000, 1.000000), r16.w
  501. mul r18.zw, r16.wwww, r19.xxxy
  502. mul r12.w, r15.w, r16.w
  503. mad r18.xy, r18.zwzz, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  504. mad r15.w, -r15.w, r16.w, l(1.000000)
  505. max r16.w, |r18.w|, |r18.z|
  506. max r15.w, r15.w, r16.w
  507. ge r14.w, l(1.000000), r15.w
  508. mov r13.w, l(0)
  509. endif
  510. ftou r13.w, r13.w
  511. imad r6.z, r6.z, l(19), r13.w
  512. mad r18.xy, r18.xyxx, cb2[r6.z + 10].zwzz, cb2[r6.z + 10].xyxx
  513. ge r6.z, r18.x, l(0.000000)
  514. and r6.z, r14.w, r6.z
  515. ftou r13.w, cb2[r10.z + 16].y
  516. ieq r13.w, r13.w, l(1)
  517. if_nz r13.w
  518. mad r18.zw, cb0[6].xxxx, r18.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
  519. round_ni r19.xy, r18.zwzz
  520. add r18.zw, r18.zzzw, -r19.xxxy
  521. mul r19.xy, r19.xyxx, cb0[6].zzzz
  522. gather4_c_aoffimmi_indexable(-2,-2,0)(texture2d)(float,float,float,float) r22.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  523. add r23.xyzw, -r18.zzzz, l(1.000000, 2.000000, 3.000000, 5.000000)
  524. mul r24.xyzw, r22.wzxy, r23.xyxy
  525. add r19.zw, r24.yyyw, r24.xxxz
  526. gather4_c_aoffimmi_indexable(0,-2,0)(texture2d)(float,float,float,float) r24.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  527. mad r19.zw, r24.zzzy, l(0.000000, 0.000000, 2.000000, 2.000000), r19.zzzw
  528. mad r19.zw, r24.wwwx, l(0.000000, 0.000000, 2.000000, 2.000000), r19.zzzw
  529. gather4_c_aoffimmi_indexable(2,-2,0)(texture2d)(float,float,float,float) r25.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  530. add r26.xyzw, r18.zzzz, l(1.000000, 4.000000, 3.000000, 2.000000)
  531. mul r13.w, r18.z, r25.y
  532. mad r19.zw, r25.zzzy, r18.zzzz, r19.zzzw
  533. mad r19.zw, r25.wwwx, r26.xxxx, r19.zzzw
  534. gather4_c_aoffimmi_indexable(-2,0,0)(texture2d)(float,float,float,float) r27.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  535. mad r14.w, -r18.z, l(2.000000), l(2.000000)
  536. mul r22.zw, r14.wwww, r27.wwwx
  537. mad r15.w, r18.z, l(-2.000000), l(4.000000)
  538. mad r22.zw, r27.zzzy, r15.wwww, r22.zzzw
  539. mad r15.w, r22.y, r23.z, r22.z
  540. mad r15.w, r22.x, r14.w, r15.w
  541. mad r16.w, r27.z, r23.z, r22.w
  542. mad r16.w, r27.w, r14.w, r16.w
  543. gather4_c_indexable(texture2d)(float,float,float,float) r22.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  544. mad r15.w, r22.z, r26.y, r15.w
  545. mad r15.w, r22.w, r23.w, r15.w
  546. mad r16.w, r22.y, r26.y, r16.w
  547. mad r16.w, r22.x, r23.w, r16.w
  548. add r24.zw, -r18.zzzw, l(0.000000, 0.000000, 4.000000, 1.000000)
  549. mad r15.w, r24.y, r26.z, r15.w
  550. mad r15.w, r24.x, r24.z, r15.w
  551. mad r16.w, r22.z, r26.z, r16.w
  552. mad r16.w, r22.w, r24.z, r16.w
  553. gather4_c_aoffimmi_indexable(2,0,0)(texture2d)(float,float,float,float) r28.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  554. mad r17.w, r18.z, l(2.000000), l(2.000000)
  555. dp2 r20.w, r28.zzzz, r18.zzzz
  556. add r15.w, r15.w, r20.w
  557. mad r15.w, r28.w, r17.w, r15.w
  558. dp2 r21.w, r28.yyyy, r18.zzzz
  559. add r16.w, r16.w, r21.w
  560. mad r16.w, r28.x, r17.w, r16.w
  561. mad r13.w, r13.w, l(2.000000), r15.w
  562. mad r24.x, r25.x, r26.w, r13.w
  563. add r13.w, r16.w, r20.w
  564. mad r24.y, r28.w, r26.w, r13.w
  565. add r19.zw, r19.zzzw, r24.xxxy
  566. gather4_c_aoffimmi_indexable(-2,2,0)(texture2d)(float,float,float,float) r25.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  567. mul r29.xyzw, r23.xyxy, r25.wzxy
  568. add r22.zw, r29.yyyw, r29.xxxz
  569. mad r13.w, r27.y, r23.z, r22.z
  570. mad r13.w, r27.x, r14.w, r13.w
  571. mad r15.w, r25.z, r23.z, r22.w
  572. mad r14.w, r25.w, r14.w, r15.w
  573. gather4_c_aoffimmi_indexable(0,2,0)(texture2d)(float,float,float,float) r23.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  574. mad r13.w, r23.z, l(2.000000), r13.w
  575. mad r13.w, r23.w, l(2.000000), r13.w
  576. mad r14.w, r23.y, l(2.000000), r14.w
  577. mad r14.w, r23.x, l(2.000000), r14.w
  578. mad r13.w, r22.y, r26.z, r13.w
  579. mad r13.w, r22.x, r24.z, r13.w
  580. mad r14.w, r23.z, r26.z, r14.w
  581. mad r14.w, r23.w, r24.z, r14.w
  582. gather4_c_aoffimmi_indexable(2,2,0)(texture2d)(float,float,float,float) r22.xyzw, r19.xyxx, t21.xyzw, s3.x, r12.w
  583. mul r15.w, r18.z, r22.z
  584. mad r13.w, r22.z, r18.z, r13.w
  585. mad r13.w, r22.w, r26.x, r13.w
  586. mad r14.w, r22.y, r18.z, r14.w
  587. mad r14.w, r22.x, r26.x, r14.w
  588. add r13.w, r13.w, r21.w
  589. mad r19.x, r28.x, r26.w, r13.w
  590. mad r13.w, r15.w, l(2.000000), r14.w
  591. mad r19.y, r22.w, r26.w, r13.w
  592. add r19.xy, r19.xyxx, r19.zwzz
  593. mul r13.w, r18.w, r19.y
  594. mad r13.w, r19.x, r24.w, r13.w
  595. mul_sat r13.w, r13.w, l(0.0163934417)
  596. else
  597. sample_c_lz_indexable(texture2d)(float,float,float,float) r14.w, r18.xyxx, t21.xxxx, s3, r12.w
  598. lt r12.w, r12.w, l(1.000000)
  599. movc r13.w, r12.w, r14.w, l(1.000000)
  600. endif
  601. add r12.w, r13.w, l(-1.000000)
  602. mul r10.z, r12.w, cb2[r10.z + 4].w
  603. mad r10.z, r11.w, r10.z, l(1.000000)
  604. movc r6.z, r6.z, r10.z, l(1.000000)
  605. mul r10.w, r6.z, r10.w
  606. endif
  607. endif
  608. mad r17.xyz, r21.xyzx, r10.wwww, r17.xyzx
  609. mad r16.xyz, r20.xyzx, r10.wwww, r16.xyzx
  610. iadd r6.y, r6.y, l(1)
  611. endloop
  612. ld_raw r1.w, l(0), g2.xxxx
  613. iadd r1.z, r1.w, r1.z
  614. ld_raw r1.w, l(0), g3.xxxx
  615. iadd r2.z, r1.z, r1.w
  616. mul r6.y, r4.w, l(1.500000)
  617. min r6.y, r6.y, l(1.000000)
  618. mad r6.y, -r6.y, l(7.000000), l(8.000000)
  619. mov r12.x, r6.x
  620. mov r14.z, l(0)
  621. mov r15.z, l(0)
  622. mov r18.zw, l(0,0,1.000000,-1.000000)
  623. mov r19.yz, l(0,0,0,0)
  624. mov r20.yz, l(0,0,0,0)
  625. mov r21.zw, l(0,0,1.000000,-1.000000)
  626. mov r22.xz, l(0,0,0,0)
  627. mov r23.xz, l(0,0,0,0)
  628. mov r24.xyz, r16.xyzx
  629. mov r25.xyz, r17.xyzx
  630. mov r6.x, r1.z
  631. loop
  632. uge r6.z, r6.x, r2.z
  633. breakc_nz r6.z
  634. ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.z, r6.x, l(0), t20.xxxx
  635. imul null, r6.z, r6.z, l(9)
  636. ftou r10.z, cb3[r6.z + 7].x
  637. ieq r10.w, r10.z, l(2)
  638. if_nz r10.w
  639. mul r26.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), cb3[r6.z + 4].xyzx
  640. mad r27.xyz, -r26.xyzx, cb3[r6.z + 7].zzzz, cb3[r6.z + 0].xyzx
  641. mad r26.xyz, r26.xyzx, cb3[r6.z + 7].zzzz, cb3[r6.z + 0].xyzx
  642. add r28.xyz, -r27.xyzx, r26.xyzx
  643. mad r29.xyz, r4.xyzx, r2.xxxx, -r27.xyzx
  644. dp3 r10.w, r29.xyzx, r28.xyzx
  645. dp3 r11.w, r28.xyzx, r28.xyzx
  646. div r10.w, r10.w, r11.w
  647. mad r29.xyz, r10.wwww, r28.yzxy, r27.yzxy
  648. mad r29.xyz, -r4.yzxy, r2.xxxx, r29.xyzx
  649. dp3 r11.w, r29.xyzx, r29.xyzx
  650. rsq r11.w, r11.w
  651. mul r29.xyz, r11.wwww, r29.xyzx
  652. mul r30.xyz, r29.xyzx, cb3[r6.z + 4].zxyz
  653. mad r29.xyz, cb3[r6.z + 4].yzxy, r29.yzxy, -r30.xyzx
  654. mul r11.w, l(0.500000), cb3[r6.z + 7].z
  655. mad r30.xyz, -cb3[r6.z + 4].xyzx, r11.wwww, cb3[r6.z + 0].xyzx
  656. mad r31.xyz, cb3[r6.z + 7].yyyy, r29.xyzx, r30.xyzx
  657. mad r30.xyz, -cb3[r6.z + 7].yyyy, r29.xyzx, r30.xyzx
  658. mad r32.xyz, cb3[r6.z + 4].xyzx, r11.wwww, cb3[r6.z + 0].xyzx
  659. mad r33.xyz, -cb3[r6.z + 7].yyyy, r29.xyzx, r32.xyzx
  660. mad r29.xyz, cb3[r6.z + 7].yyyy, r29.xyzx, r32.xyzx
  661. mad r31.xyz, -r4.xyzx, r2.xxxx, r31.xyzx
  662. mad r30.xyz, -r4.xyzx, r2.xxxx, r30.xyzx
  663. mad r32.xyz, -r4.xyzx, r2.xxxx, r33.xyzx
  664. mad r29.xyz, -r4.xyzx, r2.xxxx, r29.xyzx
  665. mul r33.xyz, r30.yzxy, r31.zxyz
  666. mad r33.xyz, r31.yzxy, r30.zxyz, -r33.xyzx
  667. dp3 r11.w, r33.xyzx, r33.xyzx
  668. rsq r11.w, r11.w
  669. mul r33.xyz, r11.wwww, r33.xyzx
  670. mul r34.xyz, r30.zxyz, r32.yzxy
  671. mad r34.xyz, r30.yzxy, r32.zxyz, -r34.xyzx
  672. dp3 r11.w, r34.xyzx, r34.xyzx
  673. rsq r11.w, r11.w
  674. mul r34.xyz, r11.wwww, r34.xyzx
  675. mul r35.xyz, r29.yzxy, r32.zxyz
  676. mad r35.xyz, r32.yzxy, r29.zxyz, -r35.xyzx
  677. dp3 r11.w, r35.xyzx, r35.xyzx
  678. rsq r11.w, r11.w
  679. mul r35.xyz, r11.wwww, r35.xyzx
  680. mul r36.xyz, r31.yzxy, r29.zxyz
  681. mad r36.xyz, r29.yzxy, r31.zxyz, -r36.xyzx
  682. dp3 r11.w, r36.xyzx, r36.xyzx
  683. rsq r11.w, r11.w
  684. mul r36.xyz, r11.wwww, r36.xyzx
  685. dp3 r11.w, -r33.xyzx, r34.xyzx
  686. mul r12.w, |r11.w|, |r11.w|
  687. mul r13.w, |r11.w|, r12.w
  688. mad r14.w, |r11.w|, l(-0.212114394), l(1.57072878)
  689. mad r12.w, r12.w, l(0.074261), r14.w
  690. mad r12.w, r13.w, l(-0.0187292993), r12.w
  691. add r13.w, -|r11.w|, l(1.000000)
  692. sqrt r13.w, r13.w
  693. mul r14.w, r12.w, r13.w
  694. ge r11.w, r11.w, l(0.000000)
  695. mad r12.w, -r13.w, r12.w, l(3.14159274)
  696. movc r11.w, r11.w, r14.w, r12.w
  697. dp3 r12.w, -r34.xyzx, r35.xyzx
  698. mul r13.w, |r12.w|, |r12.w|
  699. mul r14.w, |r12.w|, r13.w
  700. mad r15.w, |r12.w|, l(-0.212114394), l(1.57072878)
  701. mad r13.w, r13.w, l(0.074261), r15.w
  702. mad r13.w, r14.w, l(-0.0187292993), r13.w
  703. add r14.w, -|r12.w|, l(1.000000)
  704. sqrt r14.w, r14.w
  705. mul r15.w, r13.w, r14.w
  706. ge r12.w, r12.w, l(0.000000)
  707. mad r13.w, -r14.w, r13.w, l(3.14159274)
  708. movc r12.w, r12.w, r15.w, r13.w
  709. dp3 r13.w, -r35.xyzx, r36.xyzx
  710. mul r14.w, |r13.w|, |r13.w|
  711. mul r15.w, |r13.w|, r14.w
  712. mad r16.w, |r13.w|, l(-0.212114394), l(1.57072878)
  713. mad r14.w, r14.w, l(0.074261), r16.w
  714. mad r14.w, r15.w, l(-0.0187292993), r14.w
  715. add r15.w, -|r13.w|, l(1.000000)
  716. sqrt r15.w, r15.w
  717. mul r16.w, r14.w, r15.w
  718. ge r13.w, r13.w, l(0.000000)
  719. mad r14.w, -r15.w, r14.w, l(3.14159274)
  720. movc r13.w, r13.w, r16.w, r14.w
  721. dp3 r14.w, -r36.xyzx, r33.xyzx
  722. mul r15.w, |r14.w|, |r14.w|
  723. mul r16.w, |r14.w|, r15.w
  724. mad r17.w, |r14.w|, l(-0.212114394), l(1.57072878)
  725. mad r15.w, r15.w, l(0.074261), r17.w
  726. mad r15.w, r16.w, l(-0.0187292993), r15.w
  727. add r16.w, -|r14.w|, l(1.000000)
  728. sqrt r16.w, r16.w
  729. mul r17.w, r15.w, r16.w
  730. ge r14.w, r14.w, l(0.000000)
  731. mad r15.w, -r16.w, r15.w, l(3.14159274)
  732. movc r14.w, r14.w, r17.w, r15.w
  733. add r11.w, r11.w, r12.w
  734. add r11.w, r13.w, r11.w
  735. add r11.w, r14.w, r11.w
  736. add r11.w, r11.w, l(-6.28318548)
  737. mul r11.w, r11.w, l(0.200000)
  738. dp3 r12.w, r31.xyzx, r31.xyzx
  739. rsq r12.w, r12.w
  740. mul r31.xyz, r12.wwww, r31.xyzx
  741. dp3_sat r12.w, r31.xyzx, r7.xyzx
  742. dp3 r13.w, r30.xyzx, r30.xyzx
  743. rsq r13.w, r13.w
  744. mul r30.xyz, r13.wwww, r30.xyzx
  745. dp3_sat r13.w, r30.xyzx, r7.xyzx
  746. add r12.w, r12.w, r13.w
  747. dp3 r13.w, r32.xyzx, r32.xyzx
  748. rsq r13.w, r13.w
  749. mul r30.xyz, r13.wwww, r32.xyzx
  750. dp3_sat r13.w, r30.xyzx, r7.xyzx
  751. add r12.w, r12.w, r13.w
  752. dp3 r13.w, r29.xyzx, r29.xyzx
  753. rsq r13.w, r13.w
  754. mul r29.xyz, r13.wwww, r29.xyzx
  755. dp3_sat r13.w, r29.xyzx, r7.xyzx
  756. add r12.w, r12.w, r13.w
  757. mad r29.xyz, -r4.xyzx, r2.xxxx, cb3[r6.z + 0].xyzx
  758. dp3 r13.w, r29.xyzx, r29.xyzx
  759. rsq r14.w, r13.w
  760. mul r29.xyz, r14.wwww, r29.xyzx
  761. dp3_sat r14.w, r29.xyzx, r7.xyzx
  762. add r12.w, r12.w, r14.w
  763. mov_sat r10.w, r10.w
  764. mad r28.xyz, r10.wwww, r28.xyzx, r27.xyzx
  765. mad r28.xyz, -r4.xyzx, r2.xxxx, r28.xyzx
  766. dp3 r10.w, r28.xyzx, r28.xyzx
  767. rsq r14.w, r10.w
  768. mul r28.xyz, r14.wwww, r28.xyzx
  769. mul r14.w, cb3[r6.z + 7].y, cb3[r6.z + 7].y
  770. dp3_sat r15.w, r28.xyzx, r7.xyzx
  771. mul r16.w, r15.w, l(3.14159274)
  772. max r10.w, r10.w, r14.w
  773. div r10.w, r14.w, r10.w
  774. mul r10.w, r10.w, r16.w
  775. mad r10.w, r11.w, r12.w, r10.w
  776. mul r11.w, r13.w, cb3[r6.z + 0].w
  777. mad r11.w, -r11.w, r11.w, l(1.000000)
  778. max r11.w, r11.w, l(0.000000)
  779. mul r11.w, r11.w, r11.w
  780. mul r10.w, r10.w, r11.w
  781. lt r11.w, l(0.000000), r10.w
  782. if_nz r11.w
  783. mad r27.xyz, -r4.xyzx, r2.xxxx, r27.xyzx
  784. mad r26.xyz, -r4.xyzx, r2.xxxx, r26.xyzx
  785. add r26.xyz, -r27.xyzx, r26.xyzx
  786. dp3 r12.w, r26.xyzx, r26.xyzx
  787. dp3 r13.w, r11.xyzx, r26.xyzx
  788. dp3 r14.w, r11.xyzx, r27.xyzx
  789. dp3 r16.w, r27.xyzx, r26.xyzx
  790. mad r14.w, r14.w, r13.w, -r16.w
  791. mad r12.w, -r13.w, r13.w, r12.w
  792. div_sat r12.w, r14.w, r12.w
  793. mad r26.xyz, r12.wwww, r26.xyzx, r27.xyzx
  794. dp3 r12.w, r26.xyzx, r11.xyzx
  795. mad r27.xyz, r12.wwww, r11.xyzx, -r26.xyzx
  796. dp3 r12.w, r27.xyzx, r27.xyzx
  797. sqrt r12.w, r12.w
  798. div_sat r12.w, cb3[r6.z + 7].y, r12.w
  799. mad r26.xyz, r27.xyzx, r12.wwww, r26.xyzx
  800. dp3 r12.w, r26.xyzx, r26.xyzx
  801. sqrt r13.w, r12.w
  802. rsq r12.w, r12.w
  803. mul r26.xyz, r12.wwww, r26.xyzx
  804. add r12.w, r13.w, r13.w
  805. div r12.w, cb3[r6.z + 7].y, r12.w
  806. add_sat r13.w, r4.w, r12.w
  807. div r13.w, r4.w, r13.w
  808. if_nz r10.x
  809. add_sat r12.w, r12.w, l(0.002000)
  810. div r12.w, l(0.002000), r12.w
  811. else
  812. mov r12.w, l(1.000000)
  813. endif
  814. mad r27.xyz, -r9.xyzx, r2.yyyy, r26.xyzx
  815. dp3 r14.w, r27.xyzx, r27.xyzx
  816. rsq r14.w, r14.w
  817. mul r27.xyz, r14.wwww, r27.xyzx
  818. mad r29.xyz, -r9.xyzx, r2.yyyy, r28.xyzx
  819. dp3 r14.w, r29.xyzx, r29.xyzx
  820. rsq r14.w, r14.w
  821. mul r29.xyz, r14.wwww, r29.xyzx
  822. dp3_sat r14.w, r26.xyzx, r27.xyzx
  823. dp3_sat r16.w, r28.xyzx, r29.xyzx
  824. dp3_sat r17.w, r7.xyzx, r27.xyzx
  825. dp3_sat r19.w, r7.xyzx, r26.xyzx
  826. add r14.w, -r14.w, l(1.000000)
  827. mul r20.w, r14.w, r14.w
  828. mul r20.w, r20.w, r20.w
  829. mul r14.w, r14.w, r20.w
  830. mad r26.xyz, r3.yzwy, r14.wwww, r5.xyzx
  831. mad r20.w, -r19.w, r5.w, r19.w
  832. mad r20.w, r20.w, r19.w, r5.w
  833. sqrt r20.w, r20.w
  834. mul r20.w, r2.w, r20.w
  835. mad r20.w, r19.w, r6.w, r20.w
  836. add r20.w, r20.w, l(0.002000)
  837. div r20.w, l(0.500000), r20.w
  838. mad r22.w, r17.w, r5.w, -r17.w
  839. mad r22.w, r22.w, r17.w, l(1.000150)
  840. mul r22.w, r22.w, r22.w
  841. div r22.w, r5.w, r22.w
  842. mul r20.w, r20.w, r22.w
  843. mul r13.w, r13.w, r20.w
  844. mul r26.xyz, r13.wwww, r26.xyzx
  845. mul r13.w, r16.w, r16.w
  846. dp2 r13.w, r13.wwww, r1.xxxx
  847. mad r13.w, r1.x, l(0.500000), r13.w
  848. add r15.w, -r15.w, l(1.000000)
  849. mul r16.w, r15.w, r15.w
  850. mul r16.w, r16.w, r16.w
  851. mul r15.w, r15.w, r16.w
  852. add r13.w, r13.w, l(-1.000000)
  853. mad r16.w, r13.w, r15.w, l(1.000000)
  854. mad r13.w, r13.w, r8.w, l(1.000000)
  855. mul r13.w, r13.w, r16.w
  856. mul r28.xyz, r7.wwww, r13.wwww
  857. if_nz r10.x
  858. mad r13.w, r15.w, l(0.960000), l(0.040000)
  859. mad r13.w, -r1.y, r13.w, l(1.000000)
  860. mul r28.xyz, r13.wwww, r28.zzzz
  861. mad r13.w, r14.w, l(0.960000), l(0.040000)
  862. mul r14.w, r19.w, r19.w
  863. mad r14.w, r14.w, l(0.999996), l(0.00000400000044)
  864. sqrt r14.w, r14.w
  865. mul r14.w, r2.w, r14.w
  866. mad r14.w, r19.w, r10.y, r14.w
  867. add r14.w, r14.w, l(0.002000)
  868. div r14.w, l(0.500000), r14.w
  869. mul r15.w, r17.w, r17.w
  870. mad r15.w, r15.w, l(-0.999996), l(1.000150)
  871. mul r15.w, r15.w, r15.w
  872. div r15.w, l(0.00000400000044), r15.w
  873. mul r14.w, r14.w, r15.w
  874. mul r14.w, r1.y, r14.w
  875. mul r12.w, r12.w, r14.w
  876. mul r12.w, r12.w, r13.w
  877. add r13.w, -r19.w, l(1.000000)
  878. mul r14.w, r13.w, r13.w
  879. mul r14.w, r14.w, r14.w
  880. mul r13.w, r13.w, r14.w
  881. mad r13.w, r13.w, l(0.960000), l(0.040000)
  882. mad r13.w, -r1.y, r13.w, l(1.000000)
  883. mad r26.xyz, r26.xyzx, r13.wwww, r12.wwww
  884. endif
  885. mul r12.w, r10.w, cb3[r6.z + 2].w
  886. mul r29.xyz, r12.wwww, cb3[r6.z + 1].xyzx
  887. mul r28.xyz, r28.xyzx, r29.xyzx
  888. mul r10.w, r10.w, cb3[r6.z + 3].w
  889. mul r29.xyz, r10.wwww, cb3[r6.z + 1].xyzx
  890. mul r26.xyz, r26.xyzx, r29.xyzx
  891. else
  892. mov r28.xyz, l(0,0,0,0)
  893. mov r26.xyz, l(0,0,0,0)
  894. mov r27.xyz, l(0,0,0,0)
  895. endif
  896. else
  897. ieq r10.w, r10.z, l(5)
  898. if_nz r10.w
  899. mad r29.xyz, r4.xyzx, r2.xxxx, -cb3[r6.z + 0].xyzx
  900. dp3 r10.w, r29.xyzx, -cb3[r6.z + 2].xyzx
  901. lt r10.w, l(0.000001), r10.w
  902. if_nz r10.w
  903. mul r29.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb3[r6.z + 7].yzyy
  904. mad r30.xyz, cb3[r6.z + 4].xyzx, -r29.xxxx, cb3[r6.z + 0].xyzx
  905. mad r31.xyz, cb3[r6.z + 3].xyzx, r29.yyyy, r30.xyzx
  906. mad r30.xyz, cb3[r6.z + 3].xyzx, -r29.yyyy, r30.xyzx
  907. mad r32.xyz, cb3[r6.z + 4].xyzx, r29.xxxx, cb3[r6.z + 0].xyzx
  908. mad r33.xyz, cb3[r6.z + 3].xyzx, -r29.yyyy, r32.xyzx
  909. mad r32.xyz, cb3[r6.z + 3].xyzx, r29.yyyy, r32.xyzx
  910. mad r31.xyz, -r4.xyzx, r2.xxxx, r31.xyzx
  911. mad r30.xyz, -r4.xyzx, r2.xxxx, r30.xyzx
  912. mad r33.xyz, -r4.xyzx, r2.xxxx, r33.xyzx
  913. mad r32.xyz, -r4.xyzx, r2.xxxx, r32.xyzx
  914. mul r34.xyz, r30.yzxy, r31.zxyz
  915. mad r34.xyz, r31.yzxy, r30.zxyz, -r34.xyzx
  916. dp3 r10.w, r34.xyzx, r34.xyzx
  917. rsq r10.w, r10.w
  918. mul r34.xyz, r10.wwww, r34.xyzx
  919. mul r35.xyz, r30.zxyz, r33.yzxy
  920. mad r35.xyz, r30.yzxy, r33.zxyz, -r35.xyzx
  921. dp3 r10.w, r35.xyzx, r35.xyzx
  922. rsq r10.w, r10.w
  923. mul r35.xyz, r10.wwww, r35.xyzx
  924. mul r36.xyz, r32.yzxy, r33.zxyz
  925. mad r36.xyz, r33.yzxy, r32.zxyz, -r36.xyzx
  926. dp3 r10.w, r36.xyzx, r36.xyzx
  927. rsq r10.w, r10.w
  928. mul r36.xyz, r10.wwww, r36.xyzx
  929. mul r37.xyz, r31.yzxy, r32.zxyz
  930. mad r37.xyz, r32.yzxy, r31.zxyz, -r37.xyzx
  931. dp3 r10.w, r37.xyzx, r37.xyzx
  932. rsq r10.w, r10.w
  933. mul r37.xyz, r10.wwww, r37.xyzx
  934. dp3 r10.w, -r34.xyzx, r35.xyzx
  935. mul r12.w, |r10.w|, |r10.w|
  936. mul r13.w, |r10.w|, r12.w
  937. mad r14.w, |r10.w|, l(-0.212114394), l(1.57072878)
  938. mad r12.w, r12.w, l(0.074261), r14.w
  939. mad r12.w, r13.w, l(-0.0187292993), r12.w
  940. add r13.w, -|r10.w|, l(1.000000)
  941. sqrt r13.w, r13.w
  942. mul r14.w, r12.w, r13.w
  943. ge r10.w, r10.w, l(0.000000)
  944. mad r12.w, -r13.w, r12.w, l(3.14159274)
  945. movc r10.w, r10.w, r14.w, r12.w
  946. dp3 r12.w, -r35.xyzx, r36.xyzx
  947. mul r13.w, |r12.w|, |r12.w|
  948. mul r14.w, |r12.w|, r13.w
  949. mad r15.w, |r12.w|, l(-0.212114394), l(1.57072878)
  950. mad r13.w, r13.w, l(0.074261), r15.w
  951. mad r13.w, r14.w, l(-0.0187292993), r13.w
  952. add r14.w, -|r12.w|, l(1.000000)
  953. sqrt r14.w, r14.w
  954. mul r15.w, r13.w, r14.w
  955. ge r12.w, r12.w, l(0.000000)
  956. mad r13.w, -r14.w, r13.w, l(3.14159274)
  957. movc r12.w, r12.w, r15.w, r13.w
  958. dp3 r13.w, -r36.xyzx, r37.xyzx
  959. mul r14.w, |r13.w|, |r13.w|
  960. mul r15.w, |r13.w|, r14.w
  961. mad r16.w, |r13.w|, l(-0.212114394), l(1.57072878)
  962. mad r14.w, r14.w, l(0.074261), r16.w
  963. mad r14.w, r15.w, l(-0.0187292993), r14.w
  964. add r15.w, -|r13.w|, l(1.000000)
  965. sqrt r15.w, r15.w
  966. mul r16.w, r14.w, r15.w
  967. ge r13.w, r13.w, l(0.000000)
  968. mad r14.w, -r15.w, r14.w, l(3.14159274)
  969. movc r13.w, r13.w, r16.w, r14.w
  970. dp3 r14.w, -r37.xyzx, r34.xyzx
  971. mul r15.w, |r14.w|, |r14.w|
  972. mul r16.w, |r14.w|, r15.w
  973. mad r17.w, |r14.w|, l(-0.212114394), l(1.57072878)
  974. mad r15.w, r15.w, l(0.074261), r17.w
  975. mad r15.w, r16.w, l(-0.0187292993), r15.w
  976. add r16.w, -|r14.w|, l(1.000000)
  977. sqrt r16.w, r16.w
  978. mul r17.w, r15.w, r16.w
  979. ge r14.w, r14.w, l(0.000000)
  980. mad r15.w, -r16.w, r15.w, l(3.14159274)
  981. movc r14.w, r14.w, r17.w, r15.w
  982. add r10.w, r10.w, r12.w
  983. add r10.w, r13.w, r10.w
  984. add r10.w, r14.w, r10.w
  985. add r10.w, r10.w, l(-6.28318548)
  986. mul r10.w, r10.w, l(0.200000)
  987. dp3 r12.w, r31.xyzx, r31.xyzx
  988. rsq r12.w, r12.w
  989. mul r31.xyz, r12.wwww, r31.xyzx
  990. dp3_sat r12.w, r31.xyzx, r7.xyzx
  991. dp3 r13.w, r30.xyzx, r30.xyzx
  992. rsq r13.w, r13.w
  993. mul r30.xyz, r13.wwww, r30.xyzx
  994. dp3_sat r13.w, r30.xyzx, r7.xyzx
  995. add r12.w, r12.w, r13.w
  996. dp3 r13.w, r33.xyzx, r33.xyzx
  997. rsq r13.w, r13.w
  998. mul r30.xyz, r13.wwww, r33.xyzx
  999. dp3_sat r13.w, r30.xyzx, r7.xyzx
  1000. add r12.w, r12.w, r13.w
  1001. dp3 r13.w, r32.xyzx, r32.xyzx
  1002. rsq r13.w, r13.w
  1003. mul r30.xyz, r13.wwww, r32.xyzx
  1004. dp3_sat r13.w, r30.xyzx, r7.xyzx
  1005. add r12.w, r12.w, r13.w
  1006. mad r30.xyz, -r4.xyzx, r2.xxxx, cb3[r6.z + 0].xyzx
  1007. dp3 r13.w, r30.xyzx, r30.xyzx
  1008. rsq r13.w, r13.w
  1009. mul r31.xyz, r13.wwww, r30.xyzx
  1010. dp3_sat r13.w, r31.xyzx, r7.xyzx
  1011. add r12.w, r12.w, r13.w
  1012. mul r10.w, r10.w, r12.w
  1013. dp3_sat r12.w, r7.xyzx, cb3[r6.z + 2].xyzx
  1014. add r12.w, r12.w, l(0.000010)
  1015. mad r31.xyz, r7.xyzx, r12.wwww, cb3[r6.z + 2].xyzx
  1016. dp3 r13.w, r31.xyzx, r31.xyzx
  1017. rsq r13.w, r13.w
  1018. mad r32.xyz, cb3[r6.z + 2].xyzx, r12.wwww, r7.xyzx
  1019. dp3 r12.w, r32.xyzx, r32.xyzx
  1020. rsq r12.w, r12.w
  1021. mul r32.xyz, r12.wwww, r32.xyzx
  1022. mad r31.xyz, r31.xyzx, r13.wwww, r32.xyzx
  1023. mul r31.xyz, r31.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  1024. dp3 r12.w, -cb3[r6.z + 2].xyzx, r30.xyzx
  1025. dp3 r13.w, -cb3[r6.z + 2].xyzx, r31.xyzx
  1026. div r12.w, r12.w, r13.w
  1027. mad r30.xyz, r31.xyzx, r12.wwww, r9.xyzx
  1028. add r30.xyz, r30.xyzx, -cb3[r6.z + 0].xyzx
  1029. dp3 r31.x, r30.xyzx, cb3[r6.z + 4].xyzx
  1030. dp3 r31.y, r30.xyzx, cb3[r6.z + 3].xyzx
  1031. max r29.zw, -r29.xxxy, r31.xxxy
  1032. min r29.xy, r29.xyxx, r29.zwzz
  1033. mad r29.xzw, r29.xxxx, cb3[r6.z + 4].xxyz, cb3[r6.z + 0].xxyz
  1034. mad r29.xyz, r29.yyyy, cb3[r6.z + 3].xyzx, r29.xzwx
  1035. mad r29.xyz, -r4.xyzx, r2.xxxx, r29.xyzx
  1036. dp3 r12.w, r29.xyzx, r29.xyzx
  1037. rsq r12.w, r12.w
  1038. mul r29.xyz, r12.wwww, r29.xyzx
  1039. else
  1040. mov r29.xyz, l(1.000000,0,0,0)
  1041. mov r10.w, l(0)
  1042. endif
  1043. mad r30.xyz, -r4.xyzx, r2.xxxx, cb3[r6.z + 0].xyzx
  1044. dp3 r12.w, r30.xyzx, r30.xyzx
  1045. mul r12.w, r12.w, cb3[r6.z + 0].w
  1046. mad r12.w, -r12.w, r12.w, l(1.000000)
  1047. max r12.w, r12.w, l(0.000000)
  1048. mul r12.w, r12.w, r12.w
  1049. mul r10.w, r10.w, r12.w
  1050. lt r11.w, l(0.000000), r10.w
  1051. if_nz r11.w
  1052. mul r31.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb3[r6.z + 7].yzyy
  1053. dp3 r32.x, r11.xyzx, cb3[r6.z + 4].xyzx
  1054. dp3 r32.y, r11.xyzx, cb3[r6.z + 3].xyzx
  1055. dp3 r32.z, r11.xyzx, -cb3[r6.z + 2].xyzx
  1056. dp3 r33.x, r30.xyzx, cb3[r6.z + 4].xyzx
  1057. dp3 r33.y, r30.xyzx, cb3[r6.z + 3].xyzx
  1058. dp3 r33.z, r30.xyzx, -cb3[r6.z + 2].xyzx
  1059. div r12.w, r33.z, r32.z
  1060. mul r34.xyz, r12.wwww, r32.xyzx
  1061. mad r31.zw, r32.xxxy, r12.wwww, -r33.xxxy
  1062. lt r12.w, l(0.000000), r12.w
  1063. ge r31.yz, r31.xxyx, |r31.zzwz|
  1064. and r12.w, r12.w, r31.y
  1065. and r12.w, r31.z, r12.w
  1066. if_z r12.w
  1067. mul r14.xy, l(-0.500000, -0.500000, 0.000000, 0.000000), cb3[r6.z + 7].yzyy
  1068. add r35.xyz, r14.xyzx, r33.xyzx
  1069. mul r15.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb3[r6.z + 7].yzyy
  1070. add r36.xyz, r15.xyzx, r33.xyzx
  1071. mov r35.w, r36.x
  1072. mul r14.xy, r32.xxxx, r35.xwxx
  1073. mov r36.w, r35.y
  1074. mul r15.xy, r32.yyyy, r36.wyww
  1075. mul r31.yz, r32.zzzz, r33.zzzz
  1076. mul r37.xy, r35.xwxx, r35.xwxx
  1077. mul r37.zw, r33.zzzz, r33.zzzz
  1078. mad r38.xy, r36.wyww, r36.wyww, r37.zwzz
  1079. mul r38.zw, r32.xxxx, r38.xxxy
  1080. mad r15.xy, -r15.xyxx, r35.xwxx, r38.zwzz
  1081. mad r15.xy, -r31.yzyy, r35.xwxx, r15.xyxx
  1082. mad r38.zw, r32.yyyy, r36.wwwy, r31.yyyz
  1083. mul r31.xw, r31.xxxx, r38.zzzw
  1084. add r31.xw, r31.xxxw, r31.xxxw
  1085. div r39.xy, r15.xyxx, r31.xwxx
  1086. mov r39.z, -r39.y
  1087. mov_sat r18.xy, r39.xzxx
  1088. mul r15.xy, r18.zyzz, cb3[r6.z + 7].yyyy
  1089. mad r15.xy, r15.xyxx, r18.xwxx, r35.xwxx
  1090. mad r31.xw, r32.xxxx, r15.xxxy, r38.zzzw
  1091. mad r15.xy, r15.xyxx, r15.xyxx, r38.xyxx
  1092. sqrt r15.xy, r15.xyxx
  1093. div r15.xy, r31.xwxx, r15.xyxx
  1094. lt r12.w, r15.x, r15.y
  1095. if_nz r12.w
  1096. mov r19.x, cb3[r6.z + 7].y
  1097. mad r34.xyz, -r19.xyzx, r18.yyyy, r36.xyzx
  1098. mov r15.x, r15.y
  1099. else
  1100. mov r20.x, cb3[r6.z + 7].y
  1101. mad r34.xyz, r20.xyzx, r18.xxxx, r35.xyzx
  1102. endif
  1103. mul r14.xy, r36.wyww, r14.xyxx
  1104. mad r14.xy, r32.yyyy, r37.xyxx, -r14.xyxx
  1105. mad r14.xy, -r31.yzyy, r36.wyww, r14.xyxx
  1106. mad r14.xy, r32.yyyy, r37.zwzz, r14.xyxx
  1107. mad r15.yw, r32.xxxx, r35.xxxw, r31.yyyz
  1108. mul r18.xy, r15.ywyy, cb3[r6.z + 7].zzzz
  1109. div r31.xy, r14.xyxx, r18.xyxx
  1110. mov r31.z, -r31.y
  1111. mov_sat r21.xy, r31.xzxx
  1112. mul r14.xy, r21.zyzz, cb3[r6.z + 7].zzzz
  1113. mad r14.xy, r14.xyxx, r21.xwxx, r36.wyww
  1114. mad r15.yw, r32.yyyy, r14.xxxy, r15.yyyw
  1115. mad r18.xy, r35.xwxx, r35.xwxx, r37.zwzz
  1116. mad r14.xy, r14.xyxx, r14.xyxx, r18.xyxx
  1117. sqrt r14.xy, r14.xyxx
  1118. div r14.xy, r15.ywyy, r14.xyxx
  1119. lt r12.w, r15.x, r14.x
  1120. lt r13.w, r14.y, r14.x
  1121. and r12.w, r12.w, r13.w
  1122. if_nz r12.w
  1123. mov r22.y, cb3[r6.z + 7].z
  1124. mad r34.xyz, r22.xyzx, r21.xxxx, r35.xyzx
  1125. else
  1126. lt r12.w, r15.x, r14.y
  1127. if_nz r12.w
  1128. mov r23.y, cb3[r6.z + 7].z
  1129. mad r34.xyz, -r23.xyzx, r21.yyyy, r36.xyzx
  1130. endif
  1131. endif
  1132. endif
  1133. dp3 r12.w, r34.xyzx, r34.xyzx
  1134. rsq r12.w, r12.w
  1135. mul r14.xyw, r12.wwww, r34.xyxz
  1136. dp3 r12.w, r32.xyzx, r32.xyzx
  1137. rsq r12.w, r12.w
  1138. mul r15.xyw, r12.wwww, r32.xyxz
  1139. dp3 r12.w, r14.xywx, r15.xywx
  1140. mad_sat r12.w, r12.w, l(1.666000), l(-0.500000)
  1141. add r14.xyw, -r33.xyxz, r34.xyxz
  1142. mad r15.xyw, r14.xxxx, cb3[r6.z + 4].xyxz, r30.xyxz
  1143. mad r15.xyw, r14.yyyy, cb3[r6.z + 3].xyxz, r15.xyxw
  1144. mad r14.xyw, r14.wwww, -cb3[r6.z + 2].xyxz, r15.xyxw
  1145. add r14.xyw, -r29.xyxz, r14.xyxw
  1146. mad r14.xyw, r12.wwww, r14.xyxw, r29.xyxz
  1147. dp3 r12.w, r14.xywx, r14.xywx
  1148. sqrt r13.w, r12.w
  1149. div r13.w, l(1.000000, 1.000000, 1.000000, 1.000000), r13.w
  1150. rsq r12.w, r12.w
  1151. mul r14.xyw, r12.wwww, r14.xyxw
  1152. add r12.w, cb3[r6.z + 7].z, cb3[r6.z + 7].y
  1153. mad_sat r15.x, r12.w, r13.w, r4.w
  1154. div r15.x, r4.w, r15.x
  1155. mul r15.x, r15.x, r15.x
  1156. mul r15.x, r6.y, r15.x
  1157. if_nz r10.x
  1158. mad_sat r12.w, r12.w, r13.w, l(0.002000)
  1159. div r12.w, l(0.002000), r12.w
  1160. mul r12.w, r12.w, r12.w
  1161. mul r12.w, r12.w, l(7.979000)
  1162. else
  1163. mov r12.w, l(1.000000)
  1164. endif
  1165. mad r30.xyz, -r9.xyzx, r2.yyyy, r14.xywx
  1166. dp3 r13.w, r30.xyzx, r30.xyzx
  1167. rsq r13.w, r13.w
  1168. mul r27.xyz, r13.wwww, r30.xyzx
  1169. mad r30.xyz, -r9.xyzx, r2.yyyy, r29.xyzx
  1170. dp3 r13.w, r30.xyzx, r30.xyzx
  1171. rsq r13.w, r13.w
  1172. mul r30.xyz, r13.wwww, r30.xyzx
  1173. dp3_sat r13.w, r14.xywx, r27.xyzx
  1174. dp3_sat r15.y, r29.xyzx, r30.xyzx
  1175. dp3_sat r15.w, r7.xyzx, r27.xyzx
  1176. dp3_sat r14.x, r7.xyzx, r14.xywx
  1177. dp3_sat r14.y, r7.xyzx, r29.xyzx
  1178. add r13.w, -r13.w, l(1.000000)
  1179. mul r14.w, r13.w, r13.w
  1180. mul r14.w, r14.w, r14.w
  1181. mul r13.w, r13.w, r14.w
  1182. mad r29.xyz, r3.yzwy, r13.wwww, r5.xyzx
  1183. mad r14.w, -r14.x, r5.w, r14.x
  1184. mad r14.w, r14.w, r14.x, r5.w
  1185. sqrt r14.w, r14.w
  1186. mul r14.w, r2.w, r14.w
  1187. mad r14.w, r14.x, r6.w, r14.w
  1188. add r14.w, r14.w, l(0.002000)
  1189. div r14.w, l(0.500000), r14.w
  1190. mad r16.w, r15.w, r5.w, -r15.w
  1191. mad r16.w, r16.w, r15.w, l(1.000150)
  1192. mul r16.w, r16.w, r16.w
  1193. div r16.w, r5.w, r16.w
  1194. mul r14.w, r14.w, r16.w
  1195. mul r14.w, r15.x, r14.w
  1196. mul r29.xyz, r14.wwww, r29.xyzx
  1197. mul r14.w, r15.y, r15.y
  1198. dp2 r14.w, r14.wwww, r1.xxxx
  1199. mad r14.w, r1.x, l(0.500000), r14.w
  1200. add r14.y, -r14.y, l(1.000000)
  1201. mul r15.x, r14.y, r14.y
  1202. mul r15.x, r15.x, r15.x
  1203. mul r14.y, r14.y, r15.x
  1204. add r14.w, r14.w, l(-1.000000)
  1205. mad r15.x, r14.w, r14.y, l(1.000000)
  1206. mad r14.w, r14.w, r8.w, l(1.000000)
  1207. mul r14.w, r14.w, r15.x
  1208. mul r30.xyz, r7.wwww, r14.wwww
  1209. if_nz r10.x
  1210. mad r14.y, r14.y, l(0.960000), l(0.040000)
  1211. mad r14.y, -r1.y, r14.y, l(1.000000)
  1212. mul r30.xyz, r14.yyyy, r30.zzzz
  1213. mad r13.w, r13.w, l(0.960000), l(0.040000)
  1214. mul r14.y, r14.x, r14.x
  1215. mad r14.y, r14.y, l(0.999996), l(0.00000400000044)
  1216. sqrt r14.y, r14.y
  1217. mul r14.y, r2.w, r14.y
  1218. mad r14.y, r14.x, r10.y, r14.y
  1219. add r14.y, r14.y, l(0.002000)
  1220. mul r14.w, r15.w, r15.w
  1221. mad r14.w, r14.w, l(-0.999996), l(1.000150)
  1222. mul r14.w, r14.w, r14.w
  1223. div r14.yw, l(0.000000, 0.500000, 0.000000, 0.00000400000044), r14.yyyw
  1224. mul r14.y, r14.y, r14.w
  1225. mul r14.y, r1.y, r14.y
  1226. mul r12.w, r12.w, r14.y
  1227. mul r12.w, r12.w, r13.w
  1228. add r13.w, -r14.x, l(1.000000)
  1229. mul r14.x, r13.w, r13.w
  1230. mul r14.x, r14.x, r14.x
  1231. mul r13.w, r13.w, r14.x
  1232. mad r13.w, r13.w, l(0.960000), l(0.040000)
  1233. mad r13.w, -r1.y, r13.w, l(1.000000)
  1234. mad r29.xyz, r29.xyzx, r13.wwww, r12.wwww
  1235. endif
  1236. mul r12.w, r10.w, cb3[r6.z + 2].w
  1237. mul r14.xyw, r12.wwww, cb3[r6.z + 1].xyxz
  1238. mul r28.xyz, r14.xywx, r30.xyzx
  1239. mul r10.w, r10.w, cb3[r6.z + 3].w
  1240. mul r14.xyw, r10.wwww, cb3[r6.z + 1].xyxz
  1241. mul r26.xyz, r14.xywx, r29.xyzx
  1242. else
  1243. mov r28.xyz, l(0,0,0,0)
  1244. mov r26.xyz, l(0,0,0,0)
  1245. mov r27.xyz, l(0,0,0,0)
  1246. endif
  1247. else
  1248. ieq r10.z, r10.z, l(4)
  1249. if_nz r10.z
  1250. mad r14.xyw, -r4.xyxz, r2.xxxx, cb3[r6.z + 0].xyxz
  1251. dp3 r10.z, r14.xywx, r14.xywx
  1252. rsq r10.w, r10.z
  1253. mul r15.xyw, r10.wwww, r14.xyxw
  1254. dp3 r10.w, r7.xyzx, r15.xywx
  1255. mul r12.w, cb3[r6.z + 7].y, cb3[r6.z + 7].y
  1256. max r13.w, r10.z, r12.w
  1257. mad r13.w, cb3[r6.z + 7].y, cb3[r6.z + 7].y, r13.w
  1258. div r12.w, r12.w, r13.w
  1259. mad r18.xy, r12.wwww, l(-0.690576434, -10.482754, 0.000000, 0.000000), l(0.559636116, 18.258890, 0.000000, 0.000000)
  1260. mad r13.w, r18.y, r12.w, l(-11.710919)
  1261. mad r13.w, r13.w, r12.w, l(4.99786425)
  1262. mad r16.w, r10.w, l(0.500000), l(0.500000)
  1263. log r17.w, r16.w
  1264. mul r13.w, r13.w, r17.w
  1265. exp r13.w, r13.w
  1266. mov_sat r17.w, r10.w
  1267. mul r10.w, r10.w, r18.x
  1268. add r16.w, -r13.w, r16.w
  1269. mad r10.w, r10.w, r16.w, r13.w
  1270. max r10.w, r10.w, r17.w
  1271. mul r10.w, r12.w, r10.w
  1272. mul r10.w, r10.w, l(3.14159274)
  1273. dp3_sat r12.w, -cb3[r6.z + 2].xyzx, -r15.xywx
  1274. mul r10.w, r10.w, r12.w
  1275. mad r29.xyz, -r4.xyzx, r2.xxxx, cb3[r6.z + 6].xyzx
  1276. dp3 r12.w, r29.xyzx, r29.xyzx
  1277. rsq r12.w, r12.w
  1278. mul r29.xyz, r12.wwww, r29.xyzx
  1279. dp3 r12.w, cb3[r6.z + 2].xyzx, r29.xyzx
  1280. mad_sat r12.w, r12.w, cb3[r6.z + 5].x, cb3[r6.z + 5].y
  1281. mul r12.w, r12.w, r12.w
  1282. mul r10.w, r10.w, r12.w
  1283. mul r10.z, r10.z, cb3[r6.z + 0].w
  1284. mad r10.z, -r10.z, r10.z, l(1.000000)
  1285. max r10.z, r10.z, l(0.000000)
  1286. mul r10.z, r10.z, r10.z
  1287. mul r10.z, r10.z, r10.w
  1288. lt r11.w, l(0.000000), r10.z
  1289. if_nz r11.w
  1290. dp3_sat r10.w, r11.xyzx, -cb3[r6.z + 2].xyzx
  1291. add r10.w, r10.w, l(0.000010)
  1292. mad r29.xyz, cb3[r6.z + 2].xyzx, r10.wwww, r11.xyzx
  1293. dp3 r10.w, r29.xyzx, r29.xyzx
  1294. rsq r10.w, r10.w
  1295. mul r29.xyz, r10.wwww, r29.xyzx
  1296. dp3 r10.w, -cb3[r6.z + 2].xyzx, r14.xywx
  1297. dp3 r12.w, -cb3[r6.z + 2].xyzx, r29.xyzx
  1298. div r10.w, r10.w, r12.w
  1299. mad r14.xyw, r29.xyxz, r10.wwww, r9.xyxz
  1300. add r14.xyw, r14.xyxw, -cb3[r6.z + 0].xyxz
  1301. dp3 r18.x, r14.xywx, cb3[r6.z + 4].xyzx
  1302. dp3 r18.y, r14.xywx, cb3[r6.z + 3].xyzx
  1303. dp2 r10.w, r18.xyxx, r18.xyxx
  1304. sqrt r10.w, r10.w
  1305. div r14.xy, r18.xyxx, r10.wwww
  1306. mul r14.xy, r14.xyxx, cb3[r6.z + 7].yyyy
  1307. lt r10.w, r10.w, cb3[r6.z + 7].y
  1308. movc r14.xy, r10.wwww, r18.xyxx, r14.xyxx
  1309. mad r29.xyz, r14.xxxx, cb3[r6.z + 4].xyzx, cb3[r6.z + 0].xyzx
  1310. mad r14.xyw, r14.yyyy, cb3[r6.z + 3].xyxz, r29.xyxz
  1311. mad r14.xyw, -r4.xyxz, r2.xxxx, r14.xyxw
  1312. dp3 r10.w, r14.xywx, r14.xywx
  1313. sqrt r10.w, r10.w
  1314. div r14.xyw, r14.xyxw, r10.wwww
  1315. add r10.w, r10.w, r10.w
  1316. div r10.w, cb3[r6.z + 7].y, r10.w
  1317. add_sat r12.w, r4.w, r10.w
  1318. div r12.w, r4.w, r12.w
  1319. mul r12.w, r12.w, r12.w
  1320. if_nz r10.x
  1321. add_sat r10.w, r10.w, l(0.002000)
  1322. div r10.w, l(0.002000), r10.w
  1323. mul r10.w, r10.w, r10.w
  1324. else
  1325. mov r10.w, l(1.000000)
  1326. endif
  1327. mad r29.xyz, -r9.xyzx, r2.yyyy, r14.xywx
  1328. dp3 r13.w, r29.xyzx, r29.xyzx
  1329. rsq r13.w, r13.w
  1330. mul r27.xyz, r13.wwww, r29.xyzx
  1331. mad r29.xyz, -r9.xyzx, r2.yyyy, r15.xywx
  1332. dp3 r13.w, r29.xyzx, r29.xyzx
  1333. rsq r13.w, r13.w
  1334. mul r29.xyz, r13.wwww, r29.xyzx
  1335. dp3_sat r13.w, r14.xywx, r27.xyzx
  1336. dp3_sat r15.x, r15.xywx, r29.xyzx
  1337. dp3_sat r15.y, r7.xyzx, r27.xyzx
  1338. dp3_sat r14.x, r7.xyzx, r14.xywx
  1339. add r13.w, -r13.w, l(1.000000)
  1340. mul r14.y, r13.w, r13.w
  1341. mul r14.y, r14.y, r14.y
  1342. mul r13.w, r13.w, r14.y
  1343. mad r29.xyz, r3.yzwy, r13.wwww, r5.xyzx
  1344. mad r14.y, -r14.x, r5.w, r14.x
  1345. mad r14.y, r14.y, r14.x, r5.w
  1346. sqrt r14.y, r14.y
  1347. mul r14.y, r2.w, r14.y
  1348. mad r14.y, r14.x, r6.w, r14.y
  1349. add r14.y, r14.y, l(0.002000)
  1350. div r14.y, l(0.500000), r14.y
  1351. mad r14.w, r15.y, r5.w, -r15.y
  1352. mad r14.w, r14.w, r15.y, l(1.000150)
  1353. mul r14.w, r14.w, r14.w
  1354. div r14.w, r5.w, r14.w
  1355. mul r14.y, r14.w, r14.y
  1356. mul r12.w, r12.w, r14.y
  1357. mul r29.xyz, r12.wwww, r29.xyzx
  1358. mul r12.w, r15.x, r15.x
  1359. dp2 r12.w, r12.wwww, r1.xxxx
  1360. mad r12.w, r1.x, l(0.500000), r12.w
  1361. add r14.y, -r17.w, l(1.000000)
  1362. mul r14.w, r14.y, r14.y
  1363. mul r14.w, r14.w, r14.w
  1364. mul r14.y, r14.y, r14.w
  1365. add r12.w, r12.w, l(-1.000000)
  1366. mad r14.w, r12.w, r14.y, l(1.000000)
  1367. mad r12.w, r12.w, r8.w, l(1.000000)
  1368. mul r12.w, r12.w, r14.w
  1369. mul r30.xyz, r7.wwww, r12.wwww
  1370. if_nz r10.x
  1371. mad r12.w, r14.y, l(0.960000), l(0.040000)
  1372. mad r12.w, -r1.y, r12.w, l(1.000000)
  1373. mul r30.xyz, r12.wwww, r30.zzzz
  1374. mad r12.w, r13.w, l(0.960000), l(0.040000)
  1375. mul r13.w, r14.x, r14.x
  1376. mad r13.w, r13.w, l(0.999996), l(0.00000400000044)
  1377. sqrt r13.w, r13.w
  1378. mul r13.w, r2.w, r13.w
  1379. mad r13.w, r14.x, r10.y, r13.w
  1380. add r13.w, r13.w, l(0.002000)
  1381. div r13.w, l(0.500000), r13.w
  1382. mul r14.y, r15.y, r15.y
  1383. mad r14.y, r14.y, l(-0.999996), l(1.000150)
  1384. mul r14.y, r14.y, r14.y
  1385. div r14.y, l(0.00000400000044), r14.y
  1386. mul r13.w, r13.w, r14.y
  1387. mul r13.w, r1.y, r13.w
  1388. mul r10.w, r10.w, r13.w
  1389. mul r10.w, r10.w, r12.w
  1390. add r12.w, -r14.x, l(1.000000)
  1391. mul r13.w, r12.w, r12.w
  1392. mul r13.w, r13.w, r13.w
  1393. mul r12.w, r12.w, r13.w
  1394. mad r12.w, r12.w, l(0.960000), l(0.040000)
  1395. mad r12.w, -r1.y, r12.w, l(1.000000)
  1396. mad r29.xyz, r29.xyzx, r12.wwww, r10.wwww
  1397. endif
  1398. mul r10.w, r10.z, cb3[r6.z + 2].w
  1399. mul r14.xyw, r10.wwww, cb3[r6.z + 1].xyxz
  1400. mul r28.xyz, r14.xywx, r30.xyzx
  1401. mul r10.z, r10.z, cb3[r6.z + 3].w
  1402. mul r14.xyw, r10.zzzz, cb3[r6.z + 1].xyxz
  1403. mul r26.xyz, r14.xywx, r29.xyzx
  1404. else
  1405. mov r28.xyz, l(0,0,0,0)
  1406. mov r26.xyz, l(0,0,0,0)
  1407. mov r27.xyz, l(0,0,0,0)
  1408. endif
  1409. else
  1410. mad r14.xyw, -r4.xyxz, r2.xxxx, cb3[r6.z + 0].xyxz
  1411. dp3 r10.z, r14.xywx, r14.xywx
  1412. rsq r10.w, r10.z
  1413. mul r15.xyw, r10.wwww, r14.xyxw
  1414. dp3 r10.w, r7.xyzx, r15.xywx
  1415. mul r12.w, cb3[r6.z + 7].y, cb3[r6.z + 7].y
  1416. max r13.w, r10.z, r12.w
  1417. div r12.w, r12.w, r13.w
  1418. mad r18.xy, r12.wwww, l(-0.690576434, -10.482754, 0.000000, 0.000000), l(0.559636116, 18.258890, 0.000000, 0.000000)
  1419. mad r13.w, r18.y, r12.w, l(-11.710919)
  1420. mad r13.w, r13.w, r12.w, l(4.99786425)
  1421. mad r16.w, r10.w, l(0.500000), l(0.500000)
  1422. log r17.w, r16.w
  1423. mul r13.w, r13.w, r17.w
  1424. exp r13.w, r13.w
  1425. mov_sat r17.w, r10.w
  1426. mul r10.w, r10.w, r18.x
  1427. add r16.w, -r13.w, r16.w
  1428. mad r10.w, r10.w, r16.w, r13.w
  1429. max r10.w, r10.w, r17.w
  1430. mul r10.w, r12.w, r10.w
  1431. mul r10.w, r10.w, l(3.14159274)
  1432. mul r10.z, r10.z, cb3[r6.z + 0].w
  1433. mad r10.z, -r10.z, r10.z, l(1.000000)
  1434. max r10.z, r10.z, l(0.000000)
  1435. mul r10.z, r10.z, r10.z
  1436. mul r10.z, r10.z, r10.w
  1437. lt r11.w, l(0.000000), r10.z
  1438. if_nz r11.w
  1439. dp3 r10.w, r14.xywx, r11.xyzx
  1440. mad r29.xyz, r10.wwww, r11.xyzx, -r14.xywx
  1441. dp3 r10.w, r29.xyzx, r29.xyzx
  1442. sqrt r10.w, r10.w
  1443. div_sat r10.w, cb3[r6.z + 7].y, r10.w
  1444. mad r14.xyw, r29.xyxz, r10.wwww, r14.xyxw
  1445. dp3 r10.w, r14.xywx, r14.xywx
  1446. sqrt r10.w, r10.w
  1447. div r14.xyw, r14.xyxw, r10.wwww
  1448. add r10.w, r10.w, r10.w
  1449. div r10.w, cb3[r6.z + 7].y, r10.w
  1450. add_sat r12.w, r4.w, r10.w
  1451. div r12.w, r4.w, r12.w
  1452. mul r12.w, r12.w, r12.w
  1453. if_nz r10.x
  1454. add_sat r10.w, r10.w, l(0.002000)
  1455. div r10.w, l(0.002000), r10.w
  1456. mul r10.w, r10.w, r10.w
  1457. else
  1458. mov r10.w, l(1.000000)
  1459. endif
  1460. mad r29.xyz, -r9.xyzx, r2.yyyy, r14.xywx
  1461. dp3 r13.w, r29.xyzx, r29.xyzx
  1462. rsq r13.w, r13.w
  1463. mul r27.xyz, r13.wwww, r29.xyzx
  1464. mad r29.xyz, -r9.xyzx, r2.yyyy, r15.xywx
  1465. dp3 r13.w, r29.xyzx, r29.xyzx
  1466. rsq r13.w, r13.w
  1467. mul r29.xyz, r13.wwww, r29.xyzx
  1468. dp3_sat r13.w, r14.xywx, r27.xyzx
  1469. dp3_sat r15.x, r15.xywx, r29.xyzx
  1470. dp3_sat r15.y, r7.xyzx, r27.xyzx
  1471. dp3_sat r14.x, r7.xyzx, r14.xywx
  1472. add r13.w, -r13.w, l(1.000000)
  1473. mul r14.y, r13.w, r13.w
  1474. mul r14.y, r14.y, r14.y
  1475. mul r13.w, r13.w, r14.y
  1476. mad r29.xyz, r3.yzwy, r13.wwww, r5.xyzx
  1477. mad r14.y, -r14.x, r5.w, r14.x
  1478. mad r14.y, r14.y, r14.x, r5.w
  1479. sqrt r14.y, r14.y
  1480. mul r14.y, r2.w, r14.y
  1481. mad r14.y, r14.x, r6.w, r14.y
  1482. add r14.y, r14.y, l(0.002000)
  1483. div r14.y, l(0.500000), r14.y
  1484. mad r14.w, r15.y, r5.w, -r15.y
  1485. mad r14.w, r14.w, r15.y, l(1.000150)
  1486. mul r14.w, r14.w, r14.w
  1487. div r14.w, r5.w, r14.w
  1488. mul r14.y, r14.w, r14.y
  1489. mul r12.w, r12.w, r14.y
  1490. mul r29.xyz, r12.wwww, r29.xyzx
  1491. mul r12.w, r15.x, r15.x
  1492. dp2 r12.w, r12.wwww, r1.xxxx
  1493. mad r12.w, r1.x, l(0.500000), r12.w
  1494. add r14.y, -r17.w, l(1.000000)
  1495. mul r14.w, r14.y, r14.y
  1496. mul r14.w, r14.w, r14.w
  1497. mul r14.y, r14.y, r14.w
  1498. add r12.w, r12.w, l(-1.000000)
  1499. mad r14.w, r12.w, r14.y, l(1.000000)
  1500. mad r12.w, r12.w, r8.w, l(1.000000)
  1501. mul r12.w, r12.w, r14.w
  1502. mul r30.xyz, r7.wwww, r12.wwww
  1503. if_nz r10.x
  1504. mad r12.w, r14.y, l(0.960000), l(0.040000)
  1505. mad r12.w, -r1.y, r12.w, l(1.000000)
  1506. mul r30.xyz, r12.wwww, r30.zzzz
  1507. mad r12.w, r13.w, l(0.960000), l(0.040000)
  1508. mul r13.w, r14.x, r14.x
  1509. mad r13.w, r13.w, l(0.999996), l(0.00000400000044)
  1510. sqrt r13.w, r13.w
  1511. mul r13.w, r2.w, r13.w
  1512. mad r13.w, r14.x, r10.y, r13.w
  1513. add r13.w, r13.w, l(0.002000)
  1514. div r13.w, l(0.500000), r13.w
  1515. mul r14.y, r15.y, r15.y
  1516. mad r14.y, r14.y, l(-0.999996), l(1.000150)
  1517. mul r14.y, r14.y, r14.y
  1518. div r14.y, l(0.00000400000044), r14.y
  1519. mul r13.w, r13.w, r14.y
  1520. mul r13.w, r1.y, r13.w
  1521. mul r10.w, r10.w, r13.w
  1522. mul r10.w, r10.w, r12.w
  1523. add r12.w, -r14.x, l(1.000000)
  1524. mul r13.w, r12.w, r12.w
  1525. mul r13.w, r13.w, r13.w
  1526. mul r12.w, r12.w, r13.w
  1527. mad r12.w, r12.w, l(0.960000), l(0.040000)
  1528. mad r12.w, -r1.y, r12.w, l(1.000000)
  1529. mad r29.xyz, r29.xyzx, r12.wwww, r10.wwww
  1530. endif
  1531. mul r10.w, r10.z, cb3[r6.z + 2].w
  1532. mul r14.xyw, r10.wwww, cb3[r6.z + 1].xyxz
  1533. mul r28.xyz, r14.xywx, r30.xyzx
  1534. mul r10.z, r10.z, cb3[r6.z + 3].w
  1535. mul r14.xyw, r10.zzzz, cb3[r6.z + 1].xyxz
  1536. mul r26.xyz, r14.xywx, r29.xyzx
  1537. else
  1538. mov r28.xyz, l(0,0,0,0)
  1539. mov r26.xyz, l(0,0,0,0)
  1540. mov r27.xyz, l(0,0,0,0)
  1541. endif
  1542. endif
  1543. endif
  1544. endif
  1545. if_nz r11.w
  1546. dp3 r6.z, r13.xyzx, r27.xyzx
  1547. add r10.z, -|r6.z|, l(1.000000)
  1548. sqrt r10.z, r10.z
  1549. mad r10.w, |r6.z|, l(-0.0187292993), l(0.074261)
  1550. mad r10.w, r10.w, |r6.z|, l(-0.212114394)
  1551. mad r10.w, r10.w, |r6.z|, l(1.57072878)
  1552. mul r11.w, r10.z, r10.w
  1553. mad r11.w, r11.w, l(-2.000000), l(3.14159274)
  1554. lt r6.z, r6.z, -r6.z
  1555. and r6.z, r6.z, r11.w
  1556. mad r12.y, r10.w, r10.z, r6.z
  1557. add r14.xyw, r12.xyxz, -cb0[26].xyxz
  1558. mul r14.xyw, r14.xyxw, cb0[27].xyxz
  1559. sample_l_indexable(texture3d)(float,float,float,float) r6.z, r14.xywx, t24.yzxw, s0, l(0.000000)
  1560. mul r26.xyz, r6.zzzz, r26.xyzx
  1561. endif
  1562. add r25.xyz, r25.xyzx, r28.xyzx
  1563. add r24.xyz, r24.xyzx, r26.xyzx
  1564. iadd r6.x, r6.x, l(1)
  1565. endloop
  1566. ld_raw r1.w, l(0), g3.xxxx
  1567. iadd r1.z, r1.w, r1.z
  1568. ld_raw r1.w, l(0), g4.xxxx
  1569. iadd r1.w, r1.z, r1.w
  1570. mov r13.z, l(0)
  1571. mov r14.z, l(0)
  1572. mov r15.zw, l(0,0,1.000000,-1.000000)
  1573. mov r16.yz, l(0,0,0,0)
  1574. mov r17.yz, l(0,0,0,0)
  1575. mov r18.zw, l(0,0,1.000000,-1.000000)
  1576. mov r9.w, l(1.000000)
  1577. mov r19.xz, l(0,0,0,0)
  1578. mov r20.xz, l(0,0,0,0)
  1579. mov r12.xyw, r24.xyxz
  1580. mov r21.xyz, r25.xyzx
  1581. mov r2.z, r1.z
  1582. loop
  1583. uge r6.x, r2.z, r1.w
  1584. breakc_nz r6.x
  1585. ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.x, r2.z, l(0), t20.xxxx
  1586. imul null, r6.z, r6.x, l(21)
  1587. ftou r10.z, cb4[r6.z + 7].x
  1588. ieq r10.w, r10.z, l(2)
  1589. if_nz r10.w
  1590. mul r22.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), cb4[r6.z + 4].xyzx
  1591. mad r23.xyz, -r22.xyzx, cb4[r6.z + 7].zzzz, cb4[r6.z + 0].xyzx
  1592. mad r22.xyz, r22.xyzx, cb4[r6.z + 7].zzzz, cb4[r6.z + 0].xyzx
  1593. add r26.xyz, -r23.xyzx, r22.xyzx
  1594. mad r27.xyz, r4.xyzx, r2.xxxx, -r23.xyzx
  1595. dp3 r10.w, r27.xyzx, r26.xyzx
  1596. dp3 r11.w, r26.xyzx, r26.xyzx
  1597. div r10.w, r10.w, r11.w
  1598. mad r27.xyz, r10.wwww, r26.yzxy, r23.yzxy
  1599. mad r27.xyz, -r4.yzxy, r2.xxxx, r27.xyzx
  1600. dp3 r11.w, r27.xyzx, r27.xyzx
  1601. rsq r11.w, r11.w
  1602. mul r27.xyz, r11.wwww, r27.xyzx
  1603. mul r28.xyz, r27.xyzx, cb4[r6.z + 4].zxyz
  1604. mad r27.xyz, cb4[r6.z + 4].yzxy, r27.yzxy, -r28.xyzx
  1605. mul r11.w, l(0.500000), cb4[r6.z + 7].z
  1606. mad r28.xyz, -cb4[r6.z + 4].xyzx, r11.wwww, cb4[r6.z + 0].xyzx
  1607. mad r29.xyz, cb4[r6.z + 7].yyyy, r27.xyzx, r28.xyzx
  1608. mad r28.xyz, -cb4[r6.z + 7].yyyy, r27.xyzx, r28.xyzx
  1609. mad r30.xyz, cb4[r6.z + 4].xyzx, r11.wwww, cb4[r6.z + 0].xyzx
  1610. mad r31.xyz, -cb4[r6.z + 7].yyyy, r27.xyzx, r30.xyzx
  1611. mad r27.xyz, cb4[r6.z + 7].yyyy, r27.xyzx, r30.xyzx
  1612. mad r29.xyz, -r4.xyzx, r2.xxxx, r29.xyzx
  1613. mad r28.xyz, -r4.xyzx, r2.xxxx, r28.xyzx
  1614. mad r30.xyz, -r4.xyzx, r2.xxxx, r31.xyzx
  1615. mad r27.xyz, -r4.xyzx, r2.xxxx, r27.xyzx
  1616. mul r31.xyz, r28.yzxy, r29.zxyz
  1617. mad r31.xyz, r29.yzxy, r28.zxyz, -r31.xyzx
  1618. dp3 r11.w, r31.xyzx, r31.xyzx
  1619. rsq r11.w, r11.w
  1620. mul r31.xyz, r11.wwww, r31.xyzx
  1621. mul r32.xyz, r28.zxyz, r30.yzxy
  1622. mad r32.xyz, r28.yzxy, r30.zxyz, -r32.xyzx
  1623. dp3 r11.w, r32.xyzx, r32.xyzx
  1624. rsq r11.w, r11.w
  1625. mul r32.xyz, r11.wwww, r32.xyzx
  1626. mul r33.xyz, r27.yzxy, r30.zxyz
  1627. mad r33.xyz, r30.yzxy, r27.zxyz, -r33.xyzx
  1628. dp3 r11.w, r33.xyzx, r33.xyzx
  1629. rsq r11.w, r11.w
  1630. mul r33.xyz, r11.wwww, r33.xyzx
  1631. mul r34.xyz, r29.yzxy, r27.zxyz
  1632. mad r34.xyz, r27.yzxy, r29.zxyz, -r34.xyzx
  1633. dp3 r11.w, r34.xyzx, r34.xyzx
  1634. rsq r11.w, r11.w
  1635. mul r34.xyz, r11.wwww, r34.xyzx
  1636. dp3 r11.w, -r31.xyzx, r32.xyzx
  1637. mul r13.w, |r11.w|, |r11.w|
  1638. mul r14.w, |r11.w|, r13.w
  1639. mad r16.w, |r11.w|, l(-0.212114394), l(1.57072878)
  1640. mad r13.w, r13.w, l(0.074261), r16.w
  1641. mad r13.w, r14.w, l(-0.0187292993), r13.w
  1642. add r14.w, -|r11.w|, l(1.000000)
  1643. sqrt r14.w, r14.w
  1644. mul r16.w, r13.w, r14.w
  1645. ge r11.w, r11.w, l(0.000000)
  1646. mad r13.w, -r14.w, r13.w, l(3.14159274)
  1647. movc r11.w, r11.w, r16.w, r13.w
  1648. dp3 r13.w, -r32.xyzx, r33.xyzx
  1649. mul r14.w, |r13.w|, |r13.w|
  1650. mul r16.w, |r13.w|, r14.w
  1651. mad r17.w, |r13.w|, l(-0.212114394), l(1.57072878)
  1652. mad r14.w, r14.w, l(0.074261), r17.w
  1653. mad r14.w, r16.w, l(-0.0187292993), r14.w
  1654. add r16.w, -|r13.w|, l(1.000000)
  1655. sqrt r16.w, r16.w
  1656. mul r17.w, r14.w, r16.w
  1657. ge r13.w, r13.w, l(0.000000)
  1658. mad r14.w, -r16.w, r14.w, l(3.14159274)
  1659. movc r13.w, r13.w, r17.w, r14.w
  1660. dp3 r14.w, -r33.xyzx, r34.xyzx
  1661. mul r16.w, |r14.w|, |r14.w|
  1662. mul r17.w, |r14.w|, r16.w
  1663. mad r19.w, |r14.w|, l(-0.212114394), l(1.57072878)
  1664. mad r16.w, r16.w, l(0.074261), r19.w
  1665. mad r16.w, r17.w, l(-0.0187292993), r16.w
  1666. add r17.w, -|r14.w|, l(1.000000)
  1667. sqrt r17.w, r17.w
  1668. mul r19.w, r16.w, r17.w
  1669. ge r14.w, r14.w, l(0.000000)
  1670. mad r16.w, -r17.w, r16.w, l(3.14159274)
  1671. movc r14.w, r14.w, r19.w, r16.w
  1672. dp3 r16.w, -r34.xyzx, r31.xyzx
  1673. mul r17.w, |r16.w|, |r16.w|
  1674. mul r19.w, |r16.w|, r17.w
  1675. mad r20.w, |r16.w|, l(-0.212114394), l(1.57072878)
  1676. mad r17.w, r17.w, l(0.074261), r20.w
  1677. mad r17.w, r19.w, l(-0.0187292993), r17.w
  1678. add r19.w, -|r16.w|, l(1.000000)
  1679. sqrt r19.w, r19.w
  1680. mul r20.w, r17.w, r19.w
  1681. ge r16.w, r16.w, l(0.000000)
  1682. mad r17.w, -r19.w, r17.w, l(3.14159274)
  1683. movc r16.w, r16.w, r20.w, r17.w
  1684. add r11.w, r11.w, r13.w
  1685. add r11.w, r14.w, r11.w
  1686. add r11.w, r16.w, r11.w
  1687. add r11.w, r11.w, l(-6.28318548)
  1688. mul r11.w, r11.w, l(0.200000)
  1689. dp3 r13.w, r29.xyzx, r29.xyzx
  1690. rsq r13.w, r13.w
  1691. mul r29.xyz, r13.wwww, r29.xyzx
  1692. dp3_sat r13.w, r29.xyzx, r7.xyzx
  1693. dp3 r14.w, r28.xyzx, r28.xyzx
  1694. rsq r14.w, r14.w
  1695. mul r28.xyz, r14.wwww, r28.xyzx
  1696. dp3_sat r14.w, r28.xyzx, r7.xyzx
  1697. add r13.w, r13.w, r14.w
  1698. dp3 r14.w, r30.xyzx, r30.xyzx
  1699. rsq r14.w, r14.w
  1700. mul r28.xyz, r14.wwww, r30.xyzx
  1701. dp3_sat r14.w, r28.xyzx, r7.xyzx
  1702. add r13.w, r13.w, r14.w
  1703. dp3 r14.w, r27.xyzx, r27.xyzx
  1704. rsq r14.w, r14.w
  1705. mul r27.xyz, r14.wwww, r27.xyzx
  1706. dp3_sat r14.w, r27.xyzx, r7.xyzx
  1707. add r13.w, r13.w, r14.w
  1708. mad r27.xyz, -r4.xyzx, r2.xxxx, cb4[r6.z + 0].xyzx
  1709. dp3 r14.w, r27.xyzx, r27.xyzx
  1710. rsq r16.w, r14.w
  1711. mul r27.xyz, r16.wwww, r27.xyzx
  1712. dp3_sat r16.w, r27.xyzx, r7.xyzx
  1713. add r13.w, r13.w, r16.w
  1714. mov_sat r10.w, r10.w
  1715. mad r26.xyz, r10.wwww, r26.xyzx, r23.xyzx
  1716. mad r26.xyz, -r4.xyzx, r2.xxxx, r26.xyzx
  1717. dp3 r10.w, r26.xyzx, r26.xyzx
  1718. rsq r16.w, r10.w
  1719. mul r26.xyz, r16.wwww, r26.xyzx
  1720. mul r16.w, cb4[r6.z + 7].y, cb4[r6.z + 7].y
  1721. dp3_sat r17.w, r26.xyzx, r7.xyzx
  1722. mul r19.w, r17.w, l(3.14159274)
  1723. max r10.w, r10.w, r16.w
  1724. div r10.w, r16.w, r10.w
  1725. mul r10.w, r10.w, r19.w
  1726. mad r10.w, r11.w, r13.w, r10.w
  1727. mul r11.w, r14.w, cb4[r6.z + 0].w
  1728. mad r11.w, -r11.w, r11.w, l(1.000000)
  1729. max r11.w, r11.w, l(0.000000)
  1730. mul r11.w, r11.w, r11.w
  1731. mul r10.w, r10.w, r11.w
  1732. lt r11.w, l(0.000000), r10.w
  1733. if_nz r11.w
  1734. mad r23.xyz, -r4.xyzx, r2.xxxx, r23.xyzx
  1735. mad r22.xyz, -r4.xyzx, r2.xxxx, r22.xyzx
  1736. add r22.xyz, -r23.xyzx, r22.xyzx
  1737. dp3 r13.w, r22.xyzx, r22.xyzx
  1738. dp3 r14.w, r11.xyzx, r22.xyzx
  1739. dp3 r16.w, r11.xyzx, r23.xyzx
  1740. dp3 r19.w, r23.xyzx, r22.xyzx
  1741. mad r16.w, r16.w, r14.w, -r19.w
  1742. mad r13.w, -r14.w, r14.w, r13.w
  1743. div_sat r13.w, r16.w, r13.w
  1744. mad r22.xyz, r13.wwww, r22.xyzx, r23.xyzx
  1745. dp3 r13.w, r22.xyzx, r11.xyzx
  1746. mad r23.xyz, r13.wwww, r11.xyzx, -r22.xyzx
  1747. dp3 r13.w, r23.xyzx, r23.xyzx
  1748. sqrt r13.w, r13.w
  1749. div_sat r13.w, cb4[r6.z + 7].y, r13.w
  1750. mad r22.xyz, r23.xyzx, r13.wwww, r22.xyzx
  1751. dp3 r13.w, r22.xyzx, r22.xyzx
  1752. sqrt r14.w, r13.w
  1753. rsq r13.w, r13.w
  1754. mul r23.xyz, r13.wwww, r22.xyzx
  1755. add r13.w, r14.w, r14.w
  1756. div r13.w, cb4[r6.z + 7].y, r13.w
  1757. add_sat r14.w, r4.w, r13.w
  1758. div r14.w, r4.w, r14.w
  1759. if_nz r10.x
  1760. add_sat r13.w, r13.w, l(0.002000)
  1761. div r13.w, l(0.002000), r13.w
  1762. else
  1763. mov r13.w, l(1.000000)
  1764. endif
  1765. mad r27.xyz, -r9.xyzx, r2.yyyy, r23.xyzx
  1766. dp3 r16.w, r27.xyzx, r27.xyzx
  1767. rsq r16.w, r16.w
  1768. mul r27.xyz, r16.wwww, r27.xyzx
  1769. mad r28.xyz, -r9.xyzx, r2.yyyy, r26.xyzx
  1770. dp3 r16.w, r28.xyzx, r28.xyzx
  1771. rsq r16.w, r16.w
  1772. mul r28.xyz, r16.wwww, r28.xyzx
  1773. dp3_sat r16.w, r23.xyzx, r27.xyzx
  1774. dp3_sat r19.w, r26.xyzx, r28.xyzx
  1775. dp3_sat r20.w, r7.xyzx, r27.xyzx
  1776. dp3_sat r21.w, r7.xyzx, r23.xyzx
  1777. add r16.w, -r16.w, l(1.000000)
  1778. mul r22.w, r16.w, r16.w
  1779. mul r22.w, r22.w, r22.w
  1780. mul r16.w, r16.w, r22.w
  1781. mad r26.xyz, r3.yzwy, r16.wwww, r5.xyzx
  1782. mad r22.w, -r21.w, r5.w, r21.w
  1783. mad r22.w, r22.w, r21.w, r5.w
  1784. sqrt r22.w, r22.w
  1785. mul r22.w, r2.w, r22.w
  1786. mad r22.w, r21.w, r6.w, r22.w
  1787. add r22.w, r22.w, l(0.002000)
  1788. div r22.w, l(0.500000), r22.w
  1789. mad r23.w, r20.w, r5.w, -r20.w
  1790. mad r23.w, r23.w, r20.w, l(1.000150)
  1791. mul r23.w, r23.w, r23.w
  1792. div r23.w, r5.w, r23.w
  1793. mul r22.w, r22.w, r23.w
  1794. mul r14.w, r14.w, r22.w
  1795. mul r26.xyz, r14.wwww, r26.xyzx
  1796. mul r14.w, r19.w, r19.w
  1797. dp2 r14.w, r14.wwww, r1.xxxx
  1798. mad r14.w, r1.x, l(0.500000), r14.w
  1799. add r17.w, -r17.w, l(1.000000)
  1800. mul r19.w, r17.w, r17.w
  1801. mul r19.w, r19.w, r19.w
  1802. mul r17.w, r17.w, r19.w
  1803. add r14.w, r14.w, l(-1.000000)
  1804. mad r19.w, r14.w, r17.w, l(1.000000)
  1805. mad r14.w, r14.w, r8.w, l(1.000000)
  1806. mul r14.w, r14.w, r19.w
  1807. mul r27.xyz, r7.wwww, r14.wwww
  1808. if_nz r10.x
  1809. mad r14.w, r17.w, l(0.960000), l(0.040000)
  1810. mad r14.w, -r1.y, r14.w, l(1.000000)
  1811. mul r27.xyz, r14.wwww, r27.zzzz
  1812. mad r14.w, r16.w, l(0.960000), l(0.040000)
  1813. mul r16.w, r21.w, r21.w
  1814. mad r16.w, r16.w, l(0.999996), l(0.00000400000044)
  1815. sqrt r16.w, r16.w
  1816. mul r16.w, r2.w, r16.w
  1817. mad r16.w, r21.w, r10.y, r16.w
  1818. add r16.w, r16.w, l(0.002000)
  1819. div r16.w, l(0.500000), r16.w
  1820. mul r17.w, r20.w, r20.w
  1821. mad r17.w, r17.w, l(-0.999996), l(1.000150)
  1822. mul r17.w, r17.w, r17.w
  1823. div r17.w, l(0.00000400000044), r17.w
  1824. mul r16.w, r16.w, r17.w
  1825. mul r16.w, r1.y, r16.w
  1826. mul r13.w, r13.w, r16.w
  1827. mul r13.w, r13.w, r14.w
  1828. add r14.w, -r21.w, l(1.000000)
  1829. mul r16.w, r14.w, r14.w
  1830. mul r16.w, r16.w, r16.w
  1831. mul r14.w, r14.w, r16.w
  1832. mad r14.w, r14.w, l(0.960000), l(0.040000)
  1833. mad r14.w, -r1.y, r14.w, l(1.000000)
  1834. mad r26.xyz, r26.xyzx, r14.wwww, r13.wwww
  1835. endif
  1836. mul r13.w, r10.w, cb4[r6.z + 2].w
  1837. mul r28.xyz, r13.wwww, cb4[r6.z + 1].xyzx
  1838. mul r27.xyz, r27.xyzx, r28.xyzx
  1839. mul r10.w, r10.w, cb4[r6.z + 3].w
  1840. mul r28.xyz, r10.wwww, cb4[r6.z + 1].xyzx
  1841. mul r26.xyz, r26.xyzx, r28.xyzx
  1842. else
  1843. mov r22.xyz, l(1.000000,0,0,0)
  1844. mov r23.xyz, l(1.000000,0,0,0)
  1845. mov r27.xyz, l(0,0,0,0)
  1846. mov r26.xyz, l(0,0,0,0)
  1847. endif
  1848. else
  1849. ieq r10.w, r10.z, l(5)
  1850. if_nz r10.w
  1851. mad r28.xyz, r4.xyzx, r2.xxxx, -cb4[r6.z + 0].xyzx
  1852. dp3 r10.w, r28.xyzx, -cb4[r6.z + 2].xyzx
  1853. lt r10.w, l(0.000001), r10.w
  1854. if_nz r10.w
  1855. mul r28.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb4[r6.z + 7].yzyy
  1856. mad r29.xyz, cb4[r6.z + 4].xyzx, -r28.xxxx, cb4[r6.z + 0].xyzx
  1857. mad r30.xyz, cb4[r6.z + 3].xyzx, r28.yyyy, r29.xyzx
  1858. mad r29.xyz, cb4[r6.z + 3].xyzx, -r28.yyyy, r29.xyzx
  1859. mad r31.xyz, cb4[r6.z + 4].xyzx, r28.xxxx, cb4[r6.z + 0].xyzx
  1860. mad r32.xyz, cb4[r6.z + 3].xyzx, -r28.yyyy, r31.xyzx
  1861. mad r31.xyz, cb4[r6.z + 3].xyzx, r28.yyyy, r31.xyzx
  1862. mad r30.xyz, -r4.xyzx, r2.xxxx, r30.xyzx
  1863. mad r29.xyz, -r4.xyzx, r2.xxxx, r29.xyzx
  1864. mad r32.xyz, -r4.xyzx, r2.xxxx, r32.xyzx
  1865. mad r31.xyz, -r4.xyzx, r2.xxxx, r31.xyzx
  1866. mul r33.xyz, r29.yzxy, r30.zxyz
  1867. mad r33.xyz, r30.yzxy, r29.zxyz, -r33.xyzx
  1868. dp3 r10.w, r33.xyzx, r33.xyzx
  1869. rsq r10.w, r10.w
  1870. mul r33.xyz, r10.wwww, r33.xyzx
  1871. mul r34.xyz, r29.zxyz, r32.yzxy
  1872. mad r34.xyz, r29.yzxy, r32.zxyz, -r34.xyzx
  1873. dp3 r10.w, r34.xyzx, r34.xyzx
  1874. rsq r10.w, r10.w
  1875. mul r34.xyz, r10.wwww, r34.xyzx
  1876. mul r35.xyz, r31.yzxy, r32.zxyz
  1877. mad r35.xyz, r32.yzxy, r31.zxyz, -r35.xyzx
  1878. dp3 r10.w, r35.xyzx, r35.xyzx
  1879. rsq r10.w, r10.w
  1880. mul r35.xyz, r10.wwww, r35.xyzx
  1881. mul r36.xyz, r30.yzxy, r31.zxyz
  1882. mad r36.xyz, r31.yzxy, r30.zxyz, -r36.xyzx
  1883. dp3 r10.w, r36.xyzx, r36.xyzx
  1884. rsq r10.w, r10.w
  1885. mul r36.xyz, r10.wwww, r36.xyzx
  1886. dp3 r10.w, -r33.xyzx, r34.xyzx
  1887. mul r13.w, |r10.w|, |r10.w|
  1888. mul r14.w, |r10.w|, r13.w
  1889. mad r16.w, |r10.w|, l(-0.212114394), l(1.57072878)
  1890. mad r13.w, r13.w, l(0.074261), r16.w
  1891. mad r13.w, r14.w, l(-0.0187292993), r13.w
  1892. add r14.w, -|r10.w|, l(1.000000)
  1893. sqrt r14.w, r14.w
  1894. mul r16.w, r13.w, r14.w
  1895. ge r10.w, r10.w, l(0.000000)
  1896. mad r13.w, -r14.w, r13.w, l(3.14159274)
  1897. movc r10.w, r10.w, r16.w, r13.w
  1898. dp3 r13.w, -r34.xyzx, r35.xyzx
  1899. mul r14.w, |r13.w|, |r13.w|
  1900. mul r16.w, |r13.w|, r14.w
  1901. mad r17.w, |r13.w|, l(-0.212114394), l(1.57072878)
  1902. mad r14.w, r14.w, l(0.074261), r17.w
  1903. mad r14.w, r16.w, l(-0.0187292993), r14.w
  1904. add r16.w, -|r13.w|, l(1.000000)
  1905. sqrt r16.w, r16.w
  1906. mul r17.w, r14.w, r16.w
  1907. ge r13.w, r13.w, l(0.000000)
  1908. mad r14.w, -r16.w, r14.w, l(3.14159274)
  1909. movc r13.w, r13.w, r17.w, r14.w
  1910. dp3 r14.w, -r35.xyzx, r36.xyzx
  1911. mul r16.w, |r14.w|, |r14.w|
  1912. mul r17.w, |r14.w|, r16.w
  1913. mad r19.w, |r14.w|, l(-0.212114394), l(1.57072878)
  1914. mad r16.w, r16.w, l(0.074261), r19.w
  1915. mad r16.w, r17.w, l(-0.0187292993), r16.w
  1916. add r17.w, -|r14.w|, l(1.000000)
  1917. sqrt r17.w, r17.w
  1918. mul r19.w, r16.w, r17.w
  1919. ge r14.w, r14.w, l(0.000000)
  1920. mad r16.w, -r17.w, r16.w, l(3.14159274)
  1921. movc r14.w, r14.w, r19.w, r16.w
  1922. dp3 r16.w, -r36.xyzx, r33.xyzx
  1923. mul r17.w, |r16.w|, |r16.w|
  1924. mul r19.w, |r16.w|, r17.w
  1925. mad r20.w, |r16.w|, l(-0.212114394), l(1.57072878)
  1926. mad r17.w, r17.w, l(0.074261), r20.w
  1927. mad r17.w, r19.w, l(-0.0187292993), r17.w
  1928. add r19.w, -|r16.w|, l(1.000000)
  1929. sqrt r19.w, r19.w
  1930. mul r20.w, r17.w, r19.w
  1931. ge r16.w, r16.w, l(0.000000)
  1932. mad r17.w, -r19.w, r17.w, l(3.14159274)
  1933. movc r16.w, r16.w, r20.w, r17.w
  1934. add r10.w, r10.w, r13.w
  1935. add r10.w, r14.w, r10.w
  1936. add r10.w, r16.w, r10.w
  1937. add r10.w, r10.w, l(-6.28318548)
  1938. mul r10.w, r10.w, l(0.200000)
  1939. dp3 r13.w, r30.xyzx, r30.xyzx
  1940. rsq r13.w, r13.w
  1941. mul r30.xyz, r13.wwww, r30.xyzx
  1942. dp3_sat r13.w, r30.xyzx, r7.xyzx
  1943. dp3 r14.w, r29.xyzx, r29.xyzx
  1944. rsq r14.w, r14.w
  1945. mul r29.xyz, r14.wwww, r29.xyzx
  1946. dp3_sat r14.w, r29.xyzx, r7.xyzx
  1947. add r13.w, r13.w, r14.w
  1948. dp3 r14.w, r32.xyzx, r32.xyzx
  1949. rsq r14.w, r14.w
  1950. mul r29.xyz, r14.wwww, r32.xyzx
  1951. dp3_sat r14.w, r29.xyzx, r7.xyzx
  1952. add r13.w, r13.w, r14.w
  1953. dp3 r14.w, r31.xyzx, r31.xyzx
  1954. rsq r14.w, r14.w
  1955. mul r29.xyz, r14.wwww, r31.xyzx
  1956. dp3_sat r14.w, r29.xyzx, r7.xyzx
  1957. add r13.w, r13.w, r14.w
  1958. mad r29.xyz, -r4.xyzx, r2.xxxx, cb4[r6.z + 0].xyzx
  1959. dp3 r14.w, r29.xyzx, r29.xyzx
  1960. rsq r14.w, r14.w
  1961. mul r30.xyz, r14.wwww, r29.xyzx
  1962. dp3_sat r14.w, r30.xyzx, r7.xyzx
  1963. add r13.w, r13.w, r14.w
  1964. mul r10.w, r10.w, r13.w
  1965. dp3_sat r13.w, r7.xyzx, cb4[r6.z + 2].xyzx
  1966. add r13.w, r13.w, l(0.000010)
  1967. mad r30.xyz, r7.xyzx, r13.wwww, cb4[r6.z + 2].xyzx
  1968. dp3 r14.w, r30.xyzx, r30.xyzx
  1969. rsq r14.w, r14.w
  1970. mad r31.xyz, cb4[r6.z + 2].xyzx, r13.wwww, r7.xyzx
  1971. dp3 r13.w, r31.xyzx, r31.xyzx
  1972. rsq r13.w, r13.w
  1973. mul r31.xyz, r13.wwww, r31.xyzx
  1974. mad r30.xyz, r30.xyzx, r14.wwww, r31.xyzx
  1975. mul r30.xyz, r30.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
  1976. dp3 r13.w, -cb4[r6.z + 2].xyzx, r29.xyzx
  1977. dp3 r14.w, -cb4[r6.z + 2].xyzx, r30.xyzx
  1978. div r13.w, r13.w, r14.w
  1979. mad r29.xyz, r30.xyzx, r13.wwww, r9.xyzx
  1980. add r29.xyz, r29.xyzx, -cb4[r6.z + 0].xyzx
  1981. dp3 r30.x, r29.xyzx, cb4[r6.z + 4].xyzx
  1982. dp3 r30.y, r29.xyzx, cb4[r6.z + 3].xyzx
  1983. max r28.zw, -r28.xxxy, r30.xxxy
  1984. min r28.xy, r28.xyxx, r28.zwzz
  1985. mad r28.xzw, r28.xxxx, cb4[r6.z + 4].xxyz, cb4[r6.z + 0].xxyz
  1986. mad r28.xyz, r28.yyyy, cb4[r6.z + 3].xyzx, r28.xzwx
  1987. mad r22.xyz, -r4.xyzx, r2.xxxx, r28.xyzx
  1988. dp3 r13.w, r22.xyzx, r22.xyzx
  1989. rsq r13.w, r13.w
  1990. mul r23.xyz, r13.wwww, r22.xyzx
  1991. else
  1992. mov r22.xyz, l(1.000000,0,0,0)
  1993. mov r23.xyz, l(1.000000,0,0,0)
  1994. mov r10.w, l(0)
  1995. endif
  1996. mad r28.xyz, -r4.xyzx, r2.xxxx, cb4[r6.z + 0].xyzx
  1997. dp3 r13.w, r28.xyzx, r28.xyzx
  1998. mul r13.w, r13.w, cb4[r6.z + 0].w
  1999. mad r13.w, -r13.w, r13.w, l(1.000000)
  2000. max r13.w, r13.w, l(0.000000)
  2001. mul r13.w, r13.w, r13.w
  2002. mul r10.w, r10.w, r13.w
  2003. lt r11.w, l(0.000000), r10.w
  2004. if_nz r11.w
  2005. mul r29.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb4[r6.z + 7].yzyy
  2006. dp3 r30.x, r11.xyzx, cb4[r6.z + 4].xyzx
  2007. dp3 r30.y, r11.xyzx, cb4[r6.z + 3].xyzx
  2008. dp3 r30.z, r11.xyzx, -cb4[r6.z + 2].xyzx
  2009. dp3 r31.x, r28.xyzx, cb4[r6.z + 4].xyzx
  2010. dp3 r31.y, r28.xyzx, cb4[r6.z + 3].xyzx
  2011. dp3 r31.z, r28.xyzx, -cb4[r6.z + 2].xyzx
  2012. div r13.w, r31.z, r30.z
  2013. mul r32.xyz, r13.wwww, r30.xyzx
  2014. mad r29.zw, r30.xxxy, r13.wwww, -r31.xxxy
  2015. lt r13.w, l(0.000000), r13.w
  2016. ge r29.yz, r29.xxyx, |r29.zzwz|
  2017. and r13.w, r13.w, r29.y
  2018. and r13.w, r29.z, r13.w
  2019. if_z r13.w
  2020. mul r13.xy, l(-0.500000, -0.500000, 0.000000, 0.000000), cb4[r6.z + 7].yzyy
  2021. add r33.xyz, r13.xyzx, r31.xyzx
  2022. mul r14.xy, l(0.500000, 0.500000, 0.000000, 0.000000), cb4[r6.z + 7].yzyy
  2023. add r34.xyz, r14.xyzx, r31.xyzx
  2024. mov r33.w, r34.x
  2025. mul r13.xy, r30.xxxx, r33.xwxx
  2026. mov r34.w, r33.y
  2027. mul r14.xy, r30.yyyy, r34.wyww
  2028. mul r29.yz, r30.zzzz, r31.zzzz
  2029. mul r35.xy, r33.xwxx, r33.xwxx
  2030. mul r35.zw, r31.zzzz, r31.zzzz
  2031. mad r36.xy, r34.wyww, r34.wyww, r35.zwzz
  2032. mul r36.zw, r30.xxxx, r36.xxxy
  2033. mad r14.xy, -r14.xyxx, r33.xwxx, r36.zwzz
  2034. mad r14.xy, -r29.yzyy, r33.xwxx, r14.xyxx
  2035. mad r36.zw, r30.yyyy, r34.wwwy, r29.yyyz
  2036. mul r29.xw, r29.xxxx, r36.zzzw
  2037. add r29.xw, r29.xxxw, r29.xxxw
  2038. div r37.xy, r14.xyxx, r29.xwxx
  2039. mov r37.z, -r37.y
  2040. mov_sat r15.xy, r37.xzxx
  2041. mul r14.xy, r15.zyzz, cb4[r6.z + 7].yyyy
  2042. mad r14.xy, r14.xyxx, r15.xwxx, r33.xwxx
  2043. mad r29.xw, r30.xxxx, r14.xxxy, r36.zzzw
  2044. mad r14.xy, r14.xyxx, r14.xyxx, r36.xyxx
  2045. sqrt r14.xy, r14.xyxx
  2046. div r14.xy, r29.xwxx, r14.xyxx
  2047. lt r13.w, r14.x, r14.y
  2048. if_nz r13.w
  2049. mov r16.x, cb4[r6.z + 7].y
  2050. mad r32.xyz, -r16.xyzx, r15.yyyy, r34.xyzx
  2051. mov r14.x, r14.y
  2052. else
  2053. mov r17.x, cb4[r6.z + 7].y
  2054. mad r32.xyz, r17.xyzx, r15.xxxx, r33.xyzx
  2055. endif
  2056. mul r13.xy, r34.wyww, r13.xyxx
  2057. mad r13.xy, r30.yyyy, r35.xyxx, -r13.xyxx
  2058. mad r13.xy, -r29.yzyy, r34.wyww, r13.xyxx
  2059. mad r13.xy, r30.yyyy, r35.zwzz, r13.xyxx
  2060. mad r14.yw, r30.xxxx, r33.xxxw, r29.yyyz
  2061. mul r15.xy, r14.ywyy, cb4[r6.z + 7].zzzz
  2062. div r29.xy, r13.xyxx, r15.xyxx
  2063. mov r29.z, -r29.y
  2064. mov_sat r18.xy, r29.xzxx
  2065. mul r13.xy, r18.zyzz, cb4[r6.z + 7].zzzz
  2066. mad r13.xy, r13.xyxx, r18.xwxx, r34.wyww
  2067. mad r14.yw, r30.yyyy, r13.xxxy, r14.yyyw
  2068. mad r15.xy, r33.xwxx, r33.xwxx, r35.zwzz
  2069. mad r13.xy, r13.xyxx, r13.xyxx, r15.xyxx
  2070. sqrt r13.xy, r13.xyxx
  2071. div r13.xy, r14.ywyy, r13.xyxx
  2072. lt r13.w, r14.x, r13.x
  2073. lt r13.x, r13.y, r13.x
  2074. and r13.x, r13.x, r13.w
  2075. if_nz r13.x
  2076. mov r19.y, cb4[r6.z + 7].z
  2077. mad r32.xyz, r19.xyzx, r18.xxxx, r33.xyzx
  2078. else
  2079. lt r13.x, r14.x, r13.y
  2080. if_nz r13.x
  2081. mov r20.y, cb4[r6.z + 7].z
  2082. mad r32.xyz, -r20.xyzx, r18.yyyy, r34.xyzx
  2083. endif
  2084. endif
  2085. endif
  2086. dp3 r13.x, r32.xyzx, r32.xyzx
  2087. rsq r13.x, r13.x
  2088. mul r13.xyw, r13.xxxx, r32.xyxz
  2089. dp3 r14.x, r30.xyzx, r30.xyzx
  2090. rsq r14.x, r14.x
  2091. mul r14.xyw, r14.xxxx, r30.xyxz
  2092. dp3 r13.x, r13.xywx, r14.xywx
  2093. mad_sat r13.x, r13.x, l(1.666000), l(-0.500000)
  2094. add r14.xyw, -r31.xyxz, r32.xyxz
  2095. mad r28.xyz, r14.xxxx, cb4[r6.z + 4].xyzx, r28.xyzx
  2096. mad r28.xyz, r14.yyyy, cb4[r6.z + 3].xyzx, r28.xyzx
  2097. mad r14.xyw, r14.wwww, -cb4[r6.z + 2].xyxz, r28.xyxz
  2098. add r14.xyw, -r23.xyxz, r14.xyxw
  2099. mad r13.xyw, r13.xxxx, r14.xyxw, r23.xyxz
  2100. dp3 r14.x, r13.xywx, r13.xywx
  2101. sqrt r14.y, r14.x
  2102. div r14.y, l(1.000000, 1.000000, 1.000000, 1.000000), r14.y
  2103. rsq r14.x, r14.x
  2104. mul r13.xyw, r13.xyxw, r14.xxxx
  2105. add r14.x, cb4[r6.z + 7].z, cb4[r6.z + 7].y
  2106. mad_sat r14.w, r14.x, r14.y, r4.w
  2107. div r14.w, r4.w, r14.w
  2108. mul r14.w, r14.w, r14.w
  2109. mul r14.w, r6.y, r14.w
  2110. if_nz r10.x
  2111. mad_sat r14.x, r14.x, r14.y, l(0.002000)
  2112. div r14.x, l(0.002000), r14.x
  2113. mul r14.x, r14.x, r14.x
  2114. mul r14.x, r14.x, l(7.979000)
  2115. else
  2116. mov r14.x, l(1.000000)
  2117. endif
  2118. mad r28.xyz, -r9.xyzx, r2.yyyy, r13.xywx
  2119. dp3 r14.y, r28.xyzx, r28.xyzx
  2120. rsq r14.y, r14.y
  2121. mul r28.xyz, r14.yyyy, r28.xyzx
  2122. mad r29.xyz, -r9.xyzx, r2.yyyy, r23.xyzx
  2123. dp3 r14.y, r29.xyzx, r29.xyzx
  2124. rsq r14.y, r14.y
  2125. mul r29.xyz, r14.yyyy, r29.xyzx
  2126. dp3_sat r14.y, r13.xywx, r28.xyzx
  2127. dp3_sat r15.x, r23.xyzx, r29.xyzx
  2128. dp3_sat r15.y, r7.xyzx, r28.xyzx
  2129. dp3_sat r13.x, r7.xyzx, r13.xywx
  2130. dp3_sat r13.y, r7.xyzx, r23.xyzx
  2131. add r13.w, -r14.y, l(1.000000)
  2132. mul r14.y, r13.w, r13.w
  2133. mul r14.y, r14.y, r14.y
  2134. mul r13.w, r13.w, r14.y
  2135. mad r28.xyz, r3.yzwy, r13.wwww, r5.xyzx
  2136. mad r14.y, -r13.x, r5.w, r13.x
  2137. mad r14.y, r14.y, r13.x, r5.w
  2138. sqrt r14.y, r14.y
  2139. mul r14.y, r2.w, r14.y
  2140. mad r14.y, r13.x, r6.w, r14.y
  2141. add r14.y, r14.y, l(0.002000)
  2142. div r14.y, l(0.500000), r14.y
  2143. mad r16.x, r15.y, r5.w, -r15.y
  2144. mad r16.x, r16.x, r15.y, l(1.000150)
  2145. mul r16.x, r16.x, r16.x
  2146. div r16.x, r5.w, r16.x
  2147. mul r14.y, r14.y, r16.x
  2148. mul r14.y, r14.w, r14.y
  2149. mul r28.xyz, r14.yyyy, r28.xyzx
  2150. mul r14.y, r15.x, r15.x
  2151. dp2 r14.y, r14.yyyy, r1.xxxx
  2152. mad r14.y, r1.x, l(0.500000), r14.y
  2153. add r13.y, -r13.y, l(1.000000)
  2154. mul r14.w, r13.y, r13.y
  2155. mul r14.w, r14.w, r14.w
  2156. mul r13.y, r13.y, r14.w
  2157. add r14.y, r14.y, l(-1.000000)
  2158. mad r14.w, r14.y, r13.y, l(1.000000)
  2159. mad r14.y, r14.y, r8.w, l(1.000000)
  2160. mul r14.y, r14.y, r14.w
  2161. mul r29.xyz, r7.wwww, r14.yyyy
  2162. if_nz r10.x
  2163. mad r13.y, r13.y, l(0.960000), l(0.040000)
  2164. mad r13.y, -r1.y, r13.y, l(1.000000)
  2165. mul r29.xyz, r13.yyyy, r29.zzzz
  2166. mad r13.y, r13.w, l(0.960000), l(0.040000)
  2167. mul r13.w, r13.x, r13.x
  2168. mad r13.w, r13.w, l(0.999996), l(0.00000400000044)
  2169. sqrt r13.w, r13.w
  2170. mul r13.w, r2.w, r13.w
  2171. mad r13.w, r13.x, r10.y, r13.w
  2172. add r13.w, r13.w, l(0.002000)
  2173. div r13.w, l(0.500000), r13.w
  2174. mul r14.y, r15.y, r15.y
  2175. mad r14.y, r14.y, l(-0.999996), l(1.000150)
  2176. mul r14.y, r14.y, r14.y
  2177. div r14.y, l(0.00000400000044), r14.y
  2178. mul r13.w, r13.w, r14.y
  2179. mul r13.w, r1.y, r13.w
  2180. mul r13.w, r14.x, r13.w
  2181. mul r13.y, r13.w, r13.y
  2182. add r13.x, -r13.x, l(1.000000)
  2183. mul r13.w, r13.x, r13.x
  2184. mul r13.w, r13.w, r13.w
  2185. mul r13.x, r13.x, r13.w
  2186. mad r13.x, r13.x, l(0.960000), l(0.040000)
  2187. mad r13.x, -r1.y, r13.x, l(1.000000)
  2188. mad r28.xyz, r28.xyzx, r13.xxxx, r13.yyyy
  2189. endif
  2190. mul r13.x, r10.w, cb4[r6.z + 2].w
  2191. mul r13.xyw, r13.xxxx, cb4[r6.z + 1].xyxz
  2192. mul r27.xyz, r13.xywx, r29.xyzx
  2193. mul r10.w, r10.w, cb4[r6.z + 3].w
  2194. mul r13.xyw, r10.wwww, cb4[r6.z + 1].xyxz
  2195. mul r26.xyz, r13.xywx, r28.xyzx
  2196. else
  2197. mov r27.xyz, l(0,0,0,0)
  2198. mov r26.xyz, l(0,0,0,0)
  2199. endif
  2200. else
  2201. ieq r10.z, r10.z, l(4)
  2202. if_nz r10.z
  2203. mad r22.xyz, -r4.xyzx, r2.xxxx, cb4[r6.z + 0].xyzx
  2204. dp3 r10.z, r22.xyzx, r22.xyzx
  2205. rsq r10.w, r10.z
  2206. mul r23.xyz, r10.wwww, r22.xyzx
  2207. dp3 r10.w, r7.xyzx, r23.xyzx
  2208. mul r13.x, cb4[r6.z + 7].y, cb4[r6.z + 7].y
  2209. max r13.y, r10.z, r13.x
  2210. mad r13.y, cb4[r6.z + 7].y, cb4[r6.z + 7].y, r13.y
  2211. div r13.x, r13.x, r13.y
  2212. mad r13.yw, r13.xxxx, l(0.000000, -0.690576434, 0.000000, -10.482754), l(0.000000, 0.559636116, 0.000000, 18.258890)
  2213. mad r13.w, r13.w, r13.x, l(-11.710919)
  2214. mad r13.w, r13.w, r13.x, l(4.99786425)
  2215. mad r14.x, r10.w, l(0.500000), l(0.500000)
  2216. log r14.y, r14.x
  2217. mul r13.w, r13.w, r14.y
  2218. exp r13.w, r13.w
  2219. mov_sat r14.y, r10.w
  2220. mul r10.w, r10.w, r13.y
  2221. add r13.y, -r13.w, r14.x
  2222. mad r10.w, r10.w, r13.y, r13.w
  2223. max r10.w, r10.w, r14.y
  2224. mul r10.w, r13.x, r10.w
  2225. mul r10.w, r10.w, l(3.14159274)
  2226. dp3_sat r13.x, -cb4[r6.z + 2].xyzx, -r23.xyzx
  2227. mul r10.w, r10.w, r13.x
  2228. mad r13.xyw, -r4.xyxz, r2.xxxx, cb4[r6.z + 6].xyxz
  2229. dp3 r14.x, r13.xywx, r13.xywx
  2230. rsq r14.x, r14.x
  2231. mul r13.xyw, r13.xyxw, r14.xxxx
  2232. dp3 r13.x, cb4[r6.z + 2].xyzx, r13.xywx
  2233. mad_sat r13.x, r13.x, cb4[r6.z + 5].x, cb4[r6.z + 5].y
  2234. mul r13.x, r13.x, r13.x
  2235. mul r10.w, r10.w, r13.x
  2236. mul r10.z, r10.z, cb4[r6.z + 0].w
  2237. mad r10.z, -r10.z, r10.z, l(1.000000)
  2238. max r10.z, r10.z, l(0.000000)
  2239. mul r10.z, r10.z, r10.z
  2240. mul r10.z, r10.z, r10.w
  2241. lt r11.w, l(0.000000), r10.z
  2242. if_nz r11.w
  2243. dp3_sat r10.w, r11.xyzx, -cb4[r6.z + 2].xyzx
  2244. add r10.w, r10.w, l(0.000010)
  2245. mad r13.xyw, cb4[r6.z + 2].xyxz, r10.wwww, r11.xyxz
  2246. dp3 r10.w, r13.xywx, r13.xywx
  2247. rsq r10.w, r10.w
  2248. mul r13.xyw, r10.wwww, r13.xyxw
  2249. dp3 r10.w, -cb4[r6.z + 2].xyzx, r22.xyzx
  2250. dp3 r14.x, -cb4[r6.z + 2].xyzx, r13.xywx
  2251. div r10.w, r10.w, r14.x
  2252. mad r13.xyw, r13.xyxw, r10.wwww, r9.xyxz
  2253. add r13.xyw, r13.xyxw, -cb4[r6.z + 0].xyxz
  2254. dp3 r15.x, r13.xywx, cb4[r6.z + 4].xyzx
  2255. dp3 r15.y, r13.xywx, cb4[r6.z + 3].xyzx
  2256. dp2 r10.w, r15.xyxx, r15.xyxx
  2257. sqrt r10.w, r10.w
  2258. div r13.xy, r15.xyxx, r10.wwww
  2259. mul r13.xy, r13.xyxx, cb4[r6.z + 7].yyyy
  2260. lt r10.w, r10.w, cb4[r6.z + 7].y
  2261. movc r13.xy, r10.wwww, r15.xyxx, r13.xyxx
  2262. mad r28.xyz, r13.xxxx, cb4[r6.z + 4].xyzx, cb4[r6.z + 0].xyzx
  2263. mad r13.xyw, r13.yyyy, cb4[r6.z + 3].xyxz, r28.xyxz
  2264. mad r13.xyw, -r4.xyxz, r2.xxxx, r13.xyxw
  2265. dp3 r10.w, r13.xywx, r13.xywx
  2266. sqrt r10.w, r10.w
  2267. div r13.xyw, r13.xyxw, r10.wwww
  2268. add r10.w, r10.w, r10.w
  2269. div r10.w, cb4[r6.z + 7].y, r10.w
  2270. add_sat r14.x, r4.w, r10.w
  2271. div r14.x, r4.w, r14.x
  2272. if_nz r10.x
  2273. add_sat r10.w, r10.w, l(0.002000)
  2274. div r10.w, l(0.002000), r10.w
  2275. mul r10.w, r10.w, r10.w
  2276. else
  2277. mov r10.w, l(1.000000)
  2278. endif
  2279. mad r28.xyz, -r9.xyzx, r2.yyyy, r13.xywx
  2280. dp3 r14.w, r28.xyzx, r28.xyzx
  2281. rsq r14.w, r14.w
  2282. mul r28.xyz, r14.wwww, r28.xyzx
  2283. mad r29.xyz, -r9.xyzx, r2.yyyy, r23.xyzx
  2284. dp3 r14.w, r29.xyzx, r29.xyzx
  2285. rsq r14.w, r14.w
  2286. mul r29.xyz, r14.wwww, r29.xyzx
  2287. dp3_sat r14.w, r13.xywx, r28.xyzx
  2288. dp3_sat r15.x, r23.xyzx, r29.xyzx
  2289. dp3_sat r15.y, r7.xyzx, r28.xyzx
  2290. dp3_sat r13.x, r7.xyzx, r13.xywx
  2291. add r13.y, -r14.w, l(1.000000)
  2292. mul r13.w, r13.y, r13.y
  2293. mul r13.w, r13.w, r13.w
  2294. mul r13.y, r13.y, r13.w
  2295. mad r28.xyz, r3.yzwy, r13.yyyy, r5.xyzx
  2296. mad r13.w, -r13.x, r5.w, r13.x
  2297. mad r13.w, r13.w, r13.x, r5.w
  2298. sqrt r13.w, r13.w
  2299. mul r13.w, r2.w, r13.w
  2300. mad r13.w, r13.x, r6.w, r13.w
  2301. add r13.w, r13.w, l(0.002000)
  2302. div r13.w, l(0.500000), r13.w
  2303. mad r14.w, r15.y, r5.w, -r15.y
  2304. mad r14.w, r14.w, r15.y, l(1.000150)
  2305. mul r14.xw, r14.xxxw, r14.xxxw
  2306. div r14.w, r5.w, r14.w
  2307. mul r13.w, r13.w, r14.w
  2308. mul r13.w, r14.x, r13.w
  2309. mul r28.xyz, r13.wwww, r28.xyzx
  2310. mul r13.w, r15.x, r15.x
  2311. dp2 r13.w, r13.wwww, r1.xxxx
  2312. mad r13.w, r1.x, l(0.500000), r13.w
  2313. add r14.x, -r14.y, l(1.000000)
  2314. mul r14.y, r14.x, r14.x
  2315. mul r14.y, r14.y, r14.y
  2316. mul r14.x, r14.x, r14.y
  2317. add r13.w, r13.w, l(-1.000000)
  2318. mad r14.y, r13.w, r14.x, l(1.000000)
  2319. mad r13.w, r13.w, r8.w, l(1.000000)
  2320. mul r13.w, r13.w, r14.y
  2321. mul r29.xyz, r7.wwww, r13.wwww
  2322. if_nz r10.x
  2323. mad r13.w, r14.x, l(0.960000), l(0.040000)
  2324. mad r13.w, -r1.y, r13.w, l(1.000000)
  2325. mul r29.xyz, r13.wwww, r29.zzzz
  2326. mad r13.y, r13.y, l(0.960000), l(0.040000)
  2327. mul r13.w, r13.x, r13.x
  2328. mad r13.w, r13.w, l(0.999996), l(0.00000400000044)
  2329. sqrt r13.w, r13.w
  2330. mul r13.w, r2.w, r13.w
  2331. mad r13.w, r13.x, r10.y, r13.w
  2332. add r13.w, r13.w, l(0.002000)
  2333. div r13.w, l(0.500000), r13.w
  2334. mul r14.x, r15.y, r15.y
  2335. mad r14.x, r14.x, l(-0.999996), l(1.000150)
  2336. mul r14.x, r14.x, r14.x
  2337. div r14.x, l(0.00000400000044), r14.x
  2338. mul r13.w, r13.w, r14.x
  2339. mul r13.w, r1.y, r13.w
  2340. mul r10.w, r10.w, r13.w
  2341. mul r10.w, r10.w, r13.y
  2342. add r13.x, -r13.x, l(1.000000)
  2343. mul r13.y, r13.x, r13.x
  2344. mul r13.y, r13.y, r13.y
  2345. mul r13.x, r13.x, r13.y
  2346. mad r13.x, r13.x, l(0.960000), l(0.040000)
  2347. mad r13.x, -r1.y, r13.x, l(1.000000)
  2348. mad r28.xyz, r28.xyzx, r13.xxxx, r10.wwww
  2349. endif
  2350. mul r10.w, r10.z, cb4[r6.z + 2].w
  2351. mul r13.xyw, r10.wwww, cb4[r6.z + 1].xyxz
  2352. mul r27.xyz, r13.xywx, r29.xyzx
  2353. mul r10.z, r10.z, cb4[r6.z + 3].w
  2354. mul r13.xyw, r10.zzzz, cb4[r6.z + 1].xyxz
  2355. mul r26.xyz, r13.xywx, r28.xyzx
  2356. else
  2357. mov r27.xyz, l(0,0,0,0)
  2358. mov r26.xyz, l(0,0,0,0)
  2359. endif
  2360. else
  2361. mad r22.xyz, -r4.xyzx, r2.xxxx, cb4[r6.z + 0].xyzx
  2362. dp3 r10.z, r22.xyzx, r22.xyzx
  2363. rsq r10.w, r10.z
  2364. mul r23.xyz, r10.wwww, r22.xyzx
  2365. dp3 r10.w, r7.xyzx, r23.xyzx
  2366. mul r13.x, cb4[r6.z + 7].y, cb4[r6.z + 7].y
  2367. max r13.y, r10.z, r13.x
  2368. div r13.x, r13.x, r13.y
  2369. mad r13.yw, r13.xxxx, l(0.000000, -0.690576434, 0.000000, -10.482754), l(0.000000, 0.559636116, 0.000000, 18.258890)
  2370. mad r13.w, r13.w, r13.x, l(-11.710919)
  2371. mad r13.w, r13.w, r13.x, l(4.99786425)
  2372. mad r14.x, r10.w, l(0.500000), l(0.500000)
  2373. log r14.y, r14.x
  2374. mul r13.w, r13.w, r14.y
  2375. exp r13.w, r13.w
  2376. mov_sat r14.y, r10.w
  2377. mul r10.w, r10.w, r13.y
  2378. add r13.y, -r13.w, r14.x
  2379. mad r10.w, r10.w, r13.y, r13.w
  2380. max r10.w, r10.w, r14.y
  2381. mul r10.w, r13.x, r10.w
  2382. mul r10.w, r10.w, l(3.14159274)
  2383. mul r10.z, r10.z, cb4[r6.z + 0].w
  2384. mad r10.z, -r10.z, r10.z, l(1.000000)
  2385. max r10.z, r10.z, l(0.000000)
  2386. mul r10.z, r10.z, r10.z
  2387. mul r10.z, r10.z, r10.w
  2388. lt r11.w, l(0.000000), r10.z
  2389. if_nz r11.w
  2390. dp3 r10.w, r22.xyzx, r11.xyzx
  2391. mad r13.xyw, r10.wwww, r11.xyxz, -r22.xyxz
  2392. dp3 r10.w, r13.xywx, r13.xywx
  2393. sqrt r10.w, r10.w
  2394. div_sat r10.w, cb4[r6.z + 7].y, r10.w
  2395. mad r13.xyw, r13.xyxw, r10.wwww, r22.xyxz
  2396. dp3 r10.w, r13.xywx, r13.xywx
  2397. sqrt r10.w, r10.w
  2398. div r13.xyw, r13.xyxw, r10.wwww
  2399. add r10.w, r10.w, r10.w
  2400. div r10.w, cb4[r6.z + 7].y, r10.w
  2401. add_sat r14.x, r4.w, r10.w
  2402. div r14.x, r4.w, r14.x
  2403. if_nz r10.x
  2404. add_sat r10.w, r10.w, l(0.002000)
  2405. div r10.w, l(0.002000), r10.w
  2406. mul r10.w, r10.w, r10.w
  2407. else
  2408. mov r10.w, l(1.000000)
  2409. endif
  2410. mad r28.xyz, -r9.xyzx, r2.yyyy, r13.xywx
  2411. dp3 r14.w, r28.xyzx, r28.xyzx
  2412. rsq r14.w, r14.w
  2413. mul r28.xyz, r14.wwww, r28.xyzx
  2414. mad r29.xyz, -r9.xyzx, r2.yyyy, r23.xyzx
  2415. dp3 r14.w, r29.xyzx, r29.xyzx
  2416. rsq r14.w, r14.w
  2417. mul r29.xyz, r14.wwww, r29.xyzx
  2418. dp3_sat r14.w, r13.xywx, r28.xyzx
  2419. dp3_sat r15.x, r23.xyzx, r29.xyzx
  2420. dp3_sat r15.y, r7.xyzx, r28.xyzx
  2421. dp3_sat r13.x, r7.xyzx, r13.xywx
  2422. add r13.y, -r14.w, l(1.000000)
  2423. mul r13.w, r13.y, r13.y
  2424. mul r13.w, r13.w, r13.w
  2425. mul r13.y, r13.y, r13.w
  2426. mad r28.xyz, r3.yzwy, r13.yyyy, r5.xyzx
  2427. mad r13.w, -r13.x, r5.w, r13.x
  2428. mad r13.w, r13.w, r13.x, r5.w
  2429. sqrt r13.w, r13.w
  2430. mul r13.w, r2.w, r13.w
  2431. mad r13.w, r13.x, r6.w, r13.w
  2432. add r13.w, r13.w, l(0.002000)
  2433. div r13.w, l(0.500000), r13.w
  2434. mad r14.w, r15.y, r5.w, -r15.y
  2435. mad r14.w, r14.w, r15.y, l(1.000150)
  2436. mul r14.xw, r14.xxxw, r14.xxxw
  2437. div r14.w, r5.w, r14.w
  2438. mul r13.w, r13.w, r14.w
  2439. mul r13.w, r14.x, r13.w
  2440. mul r28.xyz, r13.wwww, r28.xyzx
  2441. mul r13.w, r15.x, r15.x
  2442. dp2 r13.w, r13.wwww, r1.xxxx
  2443. mad r13.w, r1.x, l(0.500000), r13.w
  2444. add r14.x, -r14.y, l(1.000000)
  2445. mul r14.y, r14.x, r14.x
  2446. mul r14.y, r14.y, r14.y
  2447. mul r14.x, r14.x, r14.y
  2448. add r13.w, r13.w, l(-1.000000)
  2449. mad r14.y, r13.w, r14.x, l(1.000000)
  2450. mad r13.w, r13.w, r8.w, l(1.000000)
  2451. mul r13.w, r13.w, r14.y
  2452. mul r29.xyz, r7.wwww, r13.wwww
  2453. if_nz r10.x
  2454. mad r13.w, r14.x, l(0.960000), l(0.040000)
  2455. mad r13.w, -r1.y, r13.w, l(1.000000)
  2456. mul r29.xyz, r13.wwww, r29.zzzz
  2457. mad r13.y, r13.y, l(0.960000), l(0.040000)
  2458. mul r13.w, r13.x, r13.x
  2459. mad r13.w, r13.w, l(0.999996), l(0.00000400000044)
  2460. sqrt r13.w, r13.w
  2461. mul r13.w, r2.w, r13.w
  2462. mad r13.w, r13.x, r10.y, r13.w
  2463. add r13.w, r13.w, l(0.002000)
  2464. div r13.w, l(0.500000), r13.w
  2465. mul r14.x, r15.y, r15.y
  2466. mad r14.x, r14.x, l(-0.999996), l(1.000150)
  2467. mul r14.x, r14.x, r14.x
  2468. div r14.x, l(0.00000400000044), r14.x
  2469. mul r13.w, r13.w, r14.x
  2470. mul r13.w, r1.y, r13.w
  2471. mul r10.w, r10.w, r13.w
  2472. mul r10.w, r10.w, r13.y
  2473. add r13.x, -r13.x, l(1.000000)
  2474. mul r13.y, r13.x, r13.x
  2475. mul r13.y, r13.y, r13.y
  2476. mul r13.x, r13.x, r13.y
  2477. mad r13.x, r13.x, l(0.960000), l(0.040000)
  2478. mad r13.x, -r1.y, r13.x, l(1.000000)
  2479. mad r28.xyz, r28.xyzx, r13.xxxx, r10.wwww
  2480. endif
  2481. mul r10.w, r10.z, cb4[r6.z + 2].w
  2482. mul r13.xyw, r10.wwww, cb4[r6.z + 1].xyxz
  2483. mul r27.xyz, r13.xywx, r29.xyzx
  2484. mul r10.z, r10.z, cb4[r6.z + 3].w
  2485. mul r13.xyw, r10.zzzz, cb4[r6.z + 1].xyxz
  2486. mul r26.xyz, r13.xywx, r28.xyzx
  2487. else
  2488. mov r27.xyz, l(0,0,0,0)
  2489. mov r26.xyz, l(0,0,0,0)
  2490. endif
  2491. endif
  2492. endif
  2493. endif
  2494. lt r10.z, l(0.000000), cb4[r6.z + 18].z
  2495. and r10.z, r10.z, r11.w
  2496. if_nz r10.z
  2497. dp3 r10.z, cb4[r6.z + 4].xyzx, -r23.xyzx
  2498. dp3 r10.w, cb4[r6.z + 3].xyzx, -r23.xyzx
  2499. dp3 r13.x, cb4[r6.z + 2].xyzx, -r23.xyzx
  2500. mad r28.y, r13.x, l(0.500000), l(0.500000)
  2501. min r13.x, |r10.z|, |r10.w|
  2502. max r13.y, |r10.z|, |r10.w|
  2503. div r13.y, l(1.000000, 1.000000, 1.000000, 1.000000), r13.y
  2504. mul r13.x, r13.y, r13.x
  2505. mul r13.y, r13.x, r13.x
  2506. mad r13.w, r13.y, l(0.0208350997), l(-0.085133)
  2507. mad r13.w, r13.y, r13.w, l(0.180141)
  2508. mad r13.w, r13.y, r13.w, l(-0.330299497)
  2509. mad r13.y, r13.y, r13.w, l(0.999866)
  2510. mul r13.w, r13.y, r13.x
  2511. lt r14.x, |r10.z|, |r10.w|
  2512. mad r13.w, r13.w, l(-2.000000), l(1.57079637)
  2513. and r13.w, r14.x, r13.w
  2514. mad r13.x, r13.x, r13.y, r13.w
  2515. lt r13.y, r10.z, -r10.z
  2516. and r13.y, r13.y, l(0xc0490fdb)
  2517. add r13.x, r13.y, r13.x
  2518. min r13.y, r10.z, r10.w
  2519. max r10.z, r10.z, r10.w
  2520. lt r10.w, r13.y, -r13.y
  2521. ge r10.z, r10.z, -r10.z
  2522. and r10.z, r10.z, r10.w
  2523. movc r10.z, r10.z, -r13.x, r13.x
  2524. mul r28.x, r10.z, l(0.159154937)
  2525. mov r28.z, cb4[r6.z + 18].w
  2526. sample_l_indexable(texture2darray)(float,float,float,float) r10.z, r28.xyzx, t9.yzxw, s2, l(0.000000)
  2527. else
  2528. mov r10.z, l(1.000000)
  2529. endif
  2530. ne r10.w, l(0.000000), cb4[r6.z + 18].x
  2531. and r10.w, r10.w, r11.w
  2532. if_nz r10.w
  2533. dp3 r10.w, cb4[r6.z + 2].xyzx, r23.xyzx
  2534. mad_sat r10.w, r10.w, cb4[r6.z + 19].x, cb4[r6.z + 19].y
  2535. mul r10.w, r10.w, r10.w
  2536. lt r11.w, l(0.000000), r10.w
  2537. if_nz r11.w
  2538. eq r11.w, l(2.000000), cb4[r6.z + 18].x
  2539. if_nz r11.w
  2540. mov r23.xyz, -r22.xyzx
  2541. max r11.w, |r22.y|, |r22.x|
  2542. max r11.w, |r22.z|, r11.w
  2543. lt r13.xy, |r22.yzyy|, |r22.xxxx|
  2544. and r13.x, r13.y, r13.x
  2545. if_nz r13.x
  2546. lt r13.x, l(0.000000), r23.x
  2547. movc r23.x, r13.x, r23.z, r22.z
  2548. and r13.x, r13.x, l(0x3f800000)
  2549. else
  2550. lt r13.yw, |r22.xxxz|, |r22.yyyy|
  2551. and r13.y, r13.w, r13.y
  2552. if_nz r13.y
  2553. lt r13.y, l(0.000000), r23.y
  2554. movc r23.w, r13.y, r23.z, r22.z
  2555. movc r13.x, r13.y, l(3.000000), l(2.000000)
  2556. mov r23.xy, r23.xwxx
  2557. else
  2558. lt r13.y, l(0.000000), r23.z
  2559. movc r23.x, r13.y, r22.x, r23.x
  2560. movc r13.x, r13.y, l(5.000000), l(4.000000)
  2561. endif
  2562. endif
  2563. div r13.yw, r23.xxxy, r11.wwww
  2564. mad r13.yw, r13.yyyw, l(0.000000, 0.500000, 0.000000, -0.500000), l(0.000000, 0.500000, 0.000000, 0.500000)
  2565. mad r14.x, -r11.w, cb4[r6.z + 10].z, cb4[r6.z + 10].w
  2566. div r11.w, r14.x, r11.w
  2567. mov r14.x, l(-1)
  2568. else
  2569. dp4 r15.x, r9.xyzw, cb4[r6.z + 8].xyzw
  2570. dp4 r15.y, r9.xyzw, cb4[r6.z + 9].xyzw
  2571. dp4 r14.y, r9.xyzw, cb4[r6.z + 10].xyzw
  2572. dp4 r14.w, r9.xyzw, cb4[r6.z + 11].xyzw
  2573. div r14.w, l(1.000000, 1.000000, 1.000000, 1.000000), r14.w
  2574. mul r15.xy, r14.wwww, r15.xyxx
  2575. mul r11.w, r14.w, r14.y
  2576. mad r13.yw, r15.xxxy, l(0.000000, 0.500000, 0.000000, -0.500000), l(0.000000, 0.500000, 0.000000, 0.500000)
  2577. mad r14.y, -r14.y, r14.w, l(1.000000)
  2578. max r14.w, |r15.y|, |r15.x|
  2579. max r14.y, r14.y, r14.w
  2580. ge r14.x, l(1.000000), r14.y
  2581. mov r13.x, l(0)
  2582. endif
  2583. ftou r13.x, r13.x
  2584. imad r6.x, r6.x, l(21), r13.x
  2585. mad r13.xy, r13.ywyy, cb4[r6.x + 12].zwzz, cb4[r6.x + 12].xyxx
  2586. ge r6.x, r13.x, l(0.000000)
  2587. and r6.x, r14.x, r6.x
  2588. ftou r13.w, cb4[r6.z + 18].y
  2589. ieq r13.w, r13.w, l(1)
  2590. if_nz r13.w
  2591. mad r14.xy, cb0[6].xxxx, r13.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  2592. round_ni r15.xy, r14.xyxx
  2593. add r14.xy, r14.xyxx, -r15.xyxx
  2594. mul r15.xy, r15.xyxx, cb0[6].zzzz
  2595. gather4_c_aoffimmi_indexable(-2,-2,0)(texture2d)(float,float,float,float) r22.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2596. add r23.xyzw, -r14.xxxx, l(1.000000, 2.000000, 3.000000, 5.000000)
  2597. mul r28.xyzw, r22.wzxy, r23.xyxy
  2598. add r16.xw, r28.yyyw, r28.xxxz
  2599. gather4_c_aoffimmi_indexable(0,-2,0)(texture2d)(float,float,float,float) r28.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2600. mad r16.xw, r28.zzzy, l(2.000000, 0.000000, 0.000000, 2.000000), r16.xxxw
  2601. mad r16.xw, r28.wwwx, l(2.000000, 0.000000, 0.000000, 2.000000), r16.xxxw
  2602. gather4_c_aoffimmi_indexable(2,-2,0)(texture2d)(float,float,float,float) r29.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2603. add r30.xyzw, r14.xxxx, l(1.000000, 4.000000, 3.000000, 2.000000)
  2604. mul r13.w, r14.x, r29.y
  2605. mad r16.xw, r29.zzzy, r14.xxxx, r16.xxxw
  2606. mad r16.xw, r29.wwwx, r30.xxxx, r16.xxxw
  2607. gather4_c_aoffimmi_indexable(-2,0,0)(texture2d)(float,float,float,float) r31.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2608. mad r14.w, -r14.x, l(2.000000), l(2.000000)
  2609. mul r17.xw, r14.wwww, r31.wwwx
  2610. mad r18.x, r14.x, l(-2.000000), l(4.000000)
  2611. mad r17.xw, r31.zzzy, r18.xxxx, r17.xxxw
  2612. mad r17.x, r22.y, r23.z, r17.x
  2613. mad r17.x, r22.x, r14.w, r17.x
  2614. mad r17.w, r31.z, r23.z, r17.w
  2615. mad r17.w, r31.w, r14.w, r17.w
  2616. gather4_c_indexable(texture2d)(float,float,float,float) r22.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2617. mad r17.x, r22.z, r30.y, r17.x
  2618. mad r17.x, r22.w, r23.w, r17.x
  2619. mad r17.w, r22.y, r30.y, r17.w
  2620. mad r17.w, r22.x, r23.w, r17.w
  2621. add r18.xy, -r14.xyxx, l(4.000000, 1.000000, 0.000000, 0.000000)
  2622. mad r17.x, r28.y, r30.z, r17.x
  2623. mad r17.x, r28.x, r18.x, r17.x
  2624. mad r17.w, r22.z, r30.z, r17.w
  2625. mad r17.w, r22.w, r18.x, r17.w
  2626. gather4_c_aoffimmi_indexable(2,0,0)(texture2d)(float,float,float,float) r28.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2627. mad r19.y, r14.x, l(2.000000), l(2.000000)
  2628. dp2 r19.w, r28.zzzz, r14.xxxx
  2629. add r17.x, r17.x, r19.w
  2630. mad r17.x, r28.w, r19.y, r17.x
  2631. dp2 r20.y, r28.yyyy, r14.xxxx
  2632. add r17.w, r17.w, r20.y
  2633. mad r17.w, r28.x, r19.y, r17.w
  2634. mad r13.w, r13.w, l(2.000000), r17.x
  2635. mad r29.x, r29.x, r30.w, r13.w
  2636. add r13.w, r17.w, r19.w
  2637. mad r29.y, r28.w, r30.w, r13.w
  2638. add r16.xw, r16.xxxw, r29.xxxy
  2639. gather4_c_aoffimmi_indexable(-2,2,0)(texture2d)(float,float,float,float) r29.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2640. mul r32.xyzw, r23.xyxy, r29.wzxy
  2641. add r17.xw, r32.yyyw, r32.xxxz
  2642. mad r13.w, r31.y, r23.z, r17.x
  2643. mad r13.w, r31.x, r14.w, r13.w
  2644. mad r17.x, r29.z, r23.z, r17.w
  2645. mad r14.w, r29.w, r14.w, r17.x
  2646. gather4_c_aoffimmi_indexable(0,2,0)(texture2d)(float,float,float,float) r23.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2647. mad r13.w, r23.z, l(2.000000), r13.w
  2648. mad r13.w, r23.w, l(2.000000), r13.w
  2649. mad r14.w, r23.y, l(2.000000), r14.w
  2650. mad r14.w, r23.x, l(2.000000), r14.w
  2651. mad r13.w, r22.y, r30.z, r13.w
  2652. mad r13.w, r22.x, r18.x, r13.w
  2653. mad r14.w, r23.z, r30.z, r14.w
  2654. mad r14.w, r23.w, r18.x, r14.w
  2655. gather4_c_aoffimmi_indexable(2,2,0)(texture2d)(float,float,float,float) r22.xyzw, r15.xyxx, t21.xyzw, s3.x, r11.w
  2656. mul r15.x, r14.x, r22.z
  2657. mad r13.w, r22.z, r14.x, r13.w
  2658. mad r13.w, r22.w, r30.x, r13.w
  2659. mad r14.x, r22.y, r14.x, r14.w
  2660. mad r14.x, r22.x, r30.x, r14.x
  2661. add r13.w, r13.w, r20.y
  2662. mad r22.x, r28.x, r30.w, r13.w
  2663. mad r13.w, r15.x, l(2.000000), r14.x
  2664. mad r22.y, r22.w, r30.w, r13.w
  2665. add r14.xw, r16.xxxw, r22.xxxy
  2666. mul r13.w, r14.y, r14.w
  2667. mad r13.w, r14.x, r18.y, r13.w
  2668. mul_sat r13.w, r13.w, l(0.0163934417)
  2669. else
  2670. sample_c_lz_indexable(texture2d)(float,float,float,float) r13.x, r13.xyxx, t21.xxxx, s3, r11.w
  2671. lt r11.w, r11.w, l(1.000000)
  2672. movc r13.w, r11.w, r13.x, l(1.000000)
  2673. endif
  2674. add r11.w, r13.w, l(-1.000000)
  2675. mul r6.z, r11.w, cb4[r6.z + 4].w
  2676. mad r6.z, r10.w, r6.z, l(1.000000)
  2677. movc r6.x, r6.x, r6.z, l(1.000000)
  2678. mul r10.z, r6.x, r10.z
  2679. endif
  2680. endif
  2681. mad r21.xyz, r27.xyzx, r10.zzzz, r21.xyzx
  2682. mad r12.xyw, r26.xyxz, r10.zzzz, r12.xyxw
  2683. iadd r2.z, r2.z, l(1)
  2684. endloop
  2685. add r1.x, r12.z, l(-1.000000)
  2686. mad r1.x, cb0[8].y, r1.x, l(1.000000)
  2687. mul r1.xyz, r1.xxxx, r21.xyzx
  2688. mul r1.xyz, r1.xyzx, r8.xyzx
  2689. mul r1.xyz, r1.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
  2690. mul r2.xyz, r12.xywx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
  2691. if_z r3.x
  2692. mad r2.xyz, r12.xywx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r1.xyzx
  2693. mov r1.xyz, l(0,0,0,0)
  2694. endif
  2695. mul r2.xyz, r2.xyzx, cb0[4].zzzz
  2696. min r2.xyz, r2.xyzx, l(65504.000000, 65504.000000, 65504.000000, 0.000000)
  2697. mov r2.w, l(0)
  2698. store_uav_typed u0.xyzw, r0.xwww, r2.xyzw
  2699. mul r1.xyz, r1.xyzx, cb0[4].zzzz
  2700. min r1.xyz, r1.xyzx, l(65504.000000, 65504.000000, 65504.000000, 0.000000)
  2701. mov r1.w, l(0)
  2702.  
  2703. store_uav_typed u1.xyzw, r0.xyzw, r1.xyzw
  2704.  
  2705. ret
  2706. // Approximately 0 instruction slots used
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement