//++++++++++++++++++++++++++++++++++++
// QuantV 3.0.0 shader
// Original code by Rockstar Games
//++++++++++++++++++++++++++++++++++++
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb12[18], immediateIndexed
dcl_resource_texture2dms(0) (float,float,float,float) t7
dcl_resource_texture2dms(0) (float,float,float,float) t8
dcl_resource_texture2dms(0) (float,float,float,float) t9
dcl_resource_texture2dms(0) (float,float,float,float) t12
dcl_input_ps linear sample v1.xyw
dcl_input_ps linear v2.xyzw
dcl_input_ps_sgv v3.x, sampleIndex
dcl_output o0.xyzw
dcl_temps 9
div r0.xy, v1.xyxx, v1.wwww
mul r0.xy, r0.xyxx, cb2[15].xyxx
ftoi r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r1.x, r0.xyww, t12.xyzw, v3.x
add r1.x, -r1.x, cb12[17].w
add r1.x, r1.x, l(1.000000e+000)
div r1.x, cb12[17].z, r1.x
div r1.yzw, v2.xxyz, v2.wwww
mad r2.xyz, r1.yzwy, r1.xxxx, cb1[15].xyzx
add r3.xyz, -r2.xyzx, cb12[9].xyzx
dp3 r1.x, r3.xyzx, r3.xyzx
rsq r3.w, r1.x
mul r4.xyz, r3.wwww, r3.xyzx
add r5.xyz, -r2.xyzx, cb12[10].xyzx
dp3 r4.w, r5.xyzx, r5.xyzx
rsq r5.w, r4.w
mul r6.xyz, r5.wwww, r5.xyzx
mad_sat r1.x, -r1.x, cb12[4].z, l(1.000000e+000)
add r6.w, -cb12[7].x, l(1.000000e+000)
mad r7.x, r6.w, r1.x, cb12[7].x
div r1.x, r1.x, r7.x
dp3 r7.x, r4.xyzx, -cb12[12].xyzx
mad_sat r7.x, r7.x, cb12[5].w, cb12[5].z
mul r1.x, r1.x, r7.x
mov r2.w, l(1.000000)
dp4 r2.x, r2.xyzw, cb12[6].xyzw
ge r2.x, r2.x, l(0.000000e+000)
and r2.x, r2.x, l(0x3f800000)
mul r1.x, r1.x, r2.x
mad_sat r2.y, -r4.w, cb12[4].z, l(1.000000e+000)
mad r2.z, r6.w, r2.y, cb12[7].x
div r2.y, r2.y, r2.z
dp3 r2.z, r6.xyzx, -cb12[13].xyzx
mad_sat r2.z, r2.z, cb12[5].w, cb12[5].z
mul r2.y, r2.z, r2.y
mul r2.x, r2.x, r2.y
max r2.y, r1.x, r2.x
lt r2.y, r2.y, l(1.000000e-006)
discard_nz r2.y
ldms_indexable(texture2dms)(float,float,float,float) r2.yzw, r0.xyww, t7.wxyz, v3.x
mul r2.yzw, r2.yyzw, r2.yyzw
ldms_indexable(texture2dms)(float,float,float,float) r7.xyz, r0.xyww, t9.xyzw, v3.x
mul r7.xy, r7.xyxx, r7.xyxx
ldms_indexable(texture2dms)(float,float,float,float) r0.xyzw, r0.xyzw, t8.xyzw, v3.x
mul r8.xyz, r0.wwww, l(9.980469e-001, 7.984375e+000, 6.387500e+001, 0.000000e+000)
frc r8.xyz, r8.xyzx
mad r8.xy, -r8.yzyy, l(1.250000e-001, 1.250000e-001, 0.000000e+000, 0.000000e+000), r8.xyxx
mad r0.xyz, r0.xyzx, l(2.560000e+002, 2.560000e+002, 2.560000e+002, 0.000000e+000), r8.xyzx
add r0.xyz, r0.xyzx, l(-1.280000e+002, -1.280000e+002, -1.280000e+002, 0.000000e+000)
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
min r0.w, r7.x, l(1.000000e+000)
mad r4.w, r7.y, l(5.120000e+002), l(-5.000000e+002)
max r4.w, r4.w, l(0.000000e+000)
mad r6.w, r7.y, l(5.120000e+002), -r4.w
mul r4.w, r4.w, l(5.580000e+002)
mad r4.w, r6.w, l(3.000000e+000), r4.w
dp3 r6.w, r1.yzwy, r1.yzwy
rsq r6.w, r6.w
mul r1.yzw, r1.yyzw, r6.wwww
mad r3.xyz, r3.xyzx, r3.wwww, -r1.yzwy
dp3 r3.w, r3.xyzx, r3.xyzx
rsq r3.w, r3.w
mul r3.xyz, r3.wwww, r3.xyzx
mad r5.xyz, r5.xyzx, r5.wwww, -r1.yzwy
dp3 r3.w, r5.xyzx, r5.xyzx
rsq r3.w, r3.w
mul r5.xyz, r3.wwww, r5.xyzx
mul r7.xyw, cb12[3].wwww, cb12[3].xyxz
mul r7.xyw, r7.xyww, l(3.800000e-001, 3.800000e-001, 3.800000e-001, 3.800000e-001)
dp3_sat r3.w, r0.xyzx, r4.xyzx
dp3_sat r8.x, -r1.yzwy, r0.xyzx
dp3_sat r8.y, r3.xyzx, r4.xyzx
add r1.yz, -r8.xxyx, l(0.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
mul r4.xy, r1.yzyy, r1.yzyy
mul r4.xy, r4.xyxx, r4.xyxx
mul r1.yz, r1.yyzy, r4.xxyx
add r1.w, -r7.z, l(1.000000e+000)
mad r1.yz, r7.zzzz, r1.yyzy, r1.wwww
add r4.xy, r4.wwww, l(2.000000e+000, 1.000000e-008, 0.000000e+000, 0.000000e+000)
mul r4.x, r4.x, l(1.250000e-001)
mad r1.y, -r0.w, r1.y, l(1.000000e+000)
dp3 r3.x, r0.xyzx, r3.xyzx
add_sat r3.x, r3.x, l(1.000000e-008)
log r3.x, r3.x
mul r3.x, r3.x, r4.y
exp r3.x, r3.x
mul r1.z, r1.z, r3.x
mul r1.z, r4.x, r1.z
mul r1.z, r0.w, r1.z
mul r1.z, r3.w, r1.z
mul r1.y, r1.y, r3.w
dp3_sat r3.x, r0.xyzx, r6.xyzx
dp3_sat r8.z, r5.xyzx, r6.xyzx
add r3.yz, -r8.xxzx, l(0.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
mul r4.zw, r3.yyyz, r3.yyyz
mul r4.zw, r4.zzzw, r4.zzzw
mul r3.yz, r3.yyzy, r4.zzwz
mad r3.yz, r7.zzzz, r3.yyzy, r1.wwww
mad r1.w, -r0.w, r3.y, l(1.000000e+000)
dp3 r0.x, r0.xyzx, r5.xyzx
add_sat r0.x, r0.x, l(1.000000e-008)
log r0.x, r0.x
mul r0.x, r0.x, r4.y
exp r0.x, r0.x
mul r0.x, r3.z, r0.x
mul r0.x, r4.x, r0.x
mul r0.x, r0.w, r0.x
mul r0.x, r3.x, r0.x
mul r0.y, r1.w, r3.x
mul r0.z, r1.z, cb12[8].z
mul r0.x, r0.x, cb12[8].z
mad r1.yzw, r2.yyzw, r1.yyyy, r0.zzzz
mul r1.yzw, r7.xxyw, r1.yyzw
mad r0.xyz, r2.yzwy, r0.yyyy, r0.xxxx
mul r0.xyz, r7.xywx, r0.xyzx
mul r0.xyz, r2.xxxx, r0.xyzx
mad r0.xyz, r1.yzwy, r1.xxxx, r0.xyzx
mul o0.xyz, r0.xyzx, cb2[14].zzzz
mov o0.w, l(1.000000)
ret