SPIRV-Cross/shaders-ue4/asm/frag/global-constant-arrays.asm.frag
Hans-Kristian Arntzen e1919744e9 Hack some constants in UE4 tests.
Need to make output 100% exact for MSVC and GCC libc testing, but they are 1 ULP
off when converting fp32 to string in some weird corner cases.
Roundtrip should be correct though, but that outside the scope of
SPIRV-Cross.
2019-10-28 11:20:41 +01:00

3557 lines
164 KiB
JavaScript

; SPIR-V
; Version: 1.0
; Generator: Google spiregg; 0
; Bound: 3005
; Schema: 0
OpCapability Shader
OpCapability Geometry
OpExtension "SPV_GOOGLE_hlsl_functionality1"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %MainPS "main" %in_var_TEXCOORD0 %gl_FragCoord %gl_Layer %out_var_SV_Target0
OpExecutionMode %MainPS OriginUpperLeft
OpSource HLSL 600
OpName %type__Globals "type.$Globals"
OpMemberName %type__Globals 0 "MappingPolynomial"
OpMemberName %type__Globals 1 "InverseGamma"
OpMemberName %type__Globals 2 "ColorMatrixR_ColorCurveCd1"
OpMemberName %type__Globals 3 "ColorMatrixG_ColorCurveCd3Cm3"
OpMemberName %type__Globals 4 "ColorMatrixB_ColorCurveCm2"
OpMemberName %type__Globals 5 "ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3"
OpMemberName %type__Globals 6 "ColorCurve_Ch1_Ch2"
OpMemberName %type__Globals 7 "ColorShadow_Luma"
OpMemberName %type__Globals 8 "ColorShadow_Tint1"
OpMemberName %type__Globals 9 "ColorShadow_Tint2"
OpMemberName %type__Globals 10 "FilmSlope"
OpMemberName %type__Globals 11 "FilmToe"
OpMemberName %type__Globals 12 "FilmShoulder"
OpMemberName %type__Globals 13 "FilmBlackClip"
OpMemberName %type__Globals 14 "FilmWhiteClip"
OpMemberName %type__Globals 15 "ColorScale"
OpMemberName %type__Globals 16 "OverlayColor"
OpMemberName %type__Globals 17 "WhiteTemp"
OpMemberName %type__Globals 18 "WhiteTint"
OpMemberName %type__Globals 19 "ColorSaturation"
OpMemberName %type__Globals 20 "ColorContrast"
OpMemberName %type__Globals 21 "ColorGamma"
OpMemberName %type__Globals 22 "ColorGain"
OpMemberName %type__Globals 23 "ColorOffset"
OpMemberName %type__Globals 24 "ColorSaturationShadows"
OpMemberName %type__Globals 25 "ColorContrastShadows"
OpMemberName %type__Globals 26 "ColorGammaShadows"
OpMemberName %type__Globals 27 "ColorGainShadows"
OpMemberName %type__Globals 28 "ColorOffsetShadows"
OpMemberName %type__Globals 29 "ColorSaturationMidtones"
OpMemberName %type__Globals 30 "ColorContrastMidtones"
OpMemberName %type__Globals 31 "ColorGammaMidtones"
OpMemberName %type__Globals 32 "ColorGainMidtones"
OpMemberName %type__Globals 33 "ColorOffsetMidtones"
OpMemberName %type__Globals 34 "ColorSaturationHighlights"
OpMemberName %type__Globals 35 "ColorContrastHighlights"
OpMemberName %type__Globals 36 "ColorGammaHighlights"
OpMemberName %type__Globals 37 "ColorGainHighlights"
OpMemberName %type__Globals 38 "ColorOffsetHighlights"
OpMemberName %type__Globals 39 "ColorCorrectionShadowsMax"
OpMemberName %type__Globals 40 "ColorCorrectionHighlightsMin"
OpMemberName %type__Globals 41 "OutputDevice"
OpMemberName %type__Globals 42 "OutputGamut"
OpMemberName %type__Globals 43 "BlueCorrection"
OpMemberName %type__Globals 44 "ExpandGamut"
OpName %_Globals "$Globals"
OpName %in_var_TEXCOORD0 "in.var.TEXCOORD0"
OpName %out_var_SV_Target0 "out.var.SV_Target0"
OpName %MainPS "MainPS"
OpDecorateString %in_var_TEXCOORD0 UserSemantic "TEXCOORD0"
OpDecorate %in_var_TEXCOORD0 NoPerspective
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorateString %gl_FragCoord UserSemantic "SV_POSITION"
OpDecorate %gl_Layer BuiltIn Layer
OpDecorateString %gl_Layer UserSemantic "SV_RenderTargetArrayIndex"
OpDecorate %gl_Layer Flat
OpDecorateString %out_var_SV_Target0 UserSemantic "SV_Target0"
OpDecorate %in_var_TEXCOORD0 Location 0
OpDecorate %out_var_SV_Target0 Location 0
OpDecorate %_Globals DescriptorSet 0
OpDecorate %_Globals Binding 0
OpMemberDecorate %type__Globals 0 Offset 0
OpMemberDecorate %type__Globals 1 Offset 16
OpMemberDecorate %type__Globals 2 Offset 32
OpMemberDecorate %type__Globals 3 Offset 48
OpMemberDecorate %type__Globals 4 Offset 64
OpMemberDecorate %type__Globals 5 Offset 80
OpMemberDecorate %type__Globals 6 Offset 96
OpMemberDecorate %type__Globals 7 Offset 112
OpMemberDecorate %type__Globals 8 Offset 128
OpMemberDecorate %type__Globals 9 Offset 144
OpMemberDecorate %type__Globals 10 Offset 160
OpMemberDecorate %type__Globals 11 Offset 164
OpMemberDecorate %type__Globals 12 Offset 168
OpMemberDecorate %type__Globals 13 Offset 172
OpMemberDecorate %type__Globals 14 Offset 176
OpMemberDecorate %type__Globals 15 Offset 180
OpMemberDecorate %type__Globals 16 Offset 192
OpMemberDecorate %type__Globals 17 Offset 208
OpMemberDecorate %type__Globals 18 Offset 212
OpMemberDecorate %type__Globals 19 Offset 224
OpMemberDecorate %type__Globals 20 Offset 240
OpMemberDecorate %type__Globals 21 Offset 256
OpMemberDecorate %type__Globals 22 Offset 272
OpMemberDecorate %type__Globals 23 Offset 288
OpMemberDecorate %type__Globals 24 Offset 304
OpMemberDecorate %type__Globals 25 Offset 320
OpMemberDecorate %type__Globals 26 Offset 336
OpMemberDecorate %type__Globals 27 Offset 352
OpMemberDecorate %type__Globals 28 Offset 368
OpMemberDecorate %type__Globals 29 Offset 384
OpMemberDecorate %type__Globals 30 Offset 400
OpMemberDecorate %type__Globals 31 Offset 416
OpMemberDecorate %type__Globals 32 Offset 432
OpMemberDecorate %type__Globals 33 Offset 448
OpMemberDecorate %type__Globals 34 Offset 464
OpMemberDecorate %type__Globals 35 Offset 480
OpMemberDecorate %type__Globals 36 Offset 496
OpMemberDecorate %type__Globals 37 Offset 512
OpMemberDecorate %type__Globals 38 Offset 528
OpMemberDecorate %type__Globals 39 Offset 544
OpMemberDecorate %type__Globals 40 Offset 548
OpMemberDecorate %type__Globals 41 Offset 552
OpMemberDecorate %type__Globals 42 Offset 556
OpMemberDecorate %type__Globals 43 Offset 560
OpMemberDecorate %type__Globals 44 Offset 564
OpDecorate %type__Globals Block
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%v3float = OpTypeVector %float 3
%v2float = OpTypeVector %float 2
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%uint_7 = OpConstant %uint 7
%uint_4 = OpConstant %uint 4
%float_0_952552378 = OpConstant %float 0.952552378
%float_0 = OpConstant %float 0
; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
%float_9_36786018en05 = OpConstant %float 9.25
%float_0_343966454 = OpConstant %float 0.343966454
%float_0_728166103 = OpConstant %float 0.728166103
%float_n0_0721325427 = OpConstant %float -0.0721325427
%float_1_00882518 = OpConstant %float 1.00882518
%float_1_04981101 = OpConstant %float 1.04981101
%float_n9_74845025en05 = OpConstant %float -9.74845025e-05
%float_n0_495903015 = OpConstant %float -0.495903015
%float_1_37331307 = OpConstant %float 1.37331307
%float_0_0982400328 = OpConstant %float 0.0982400328
%float_0_991252005 = OpConstant %float 0.991252005
%float_0_662454188 = OpConstant %float 0.662454188
%float_0_134004205 = OpConstant %float 0.134004205
%float_0_156187683 = OpConstant %float 0.156187683
%float_0_272228718 = OpConstant %float 0.272228718
%float_0_674081743 = OpConstant %float 0.674081743
%float_0_0536895171 = OpConstant %float 0.0536895171
%float_n0_00557464967 = OpConstant %float -0.00557464967
%float_0_0040607336 = OpConstant %float 0.0040607336
%float_1_01033914 = OpConstant %float 1.01033914
%float_1_6410234 = OpConstant %float 1.6410234
%float_n0_324803293 = OpConstant %float -0.324803293
%float_n0_236424699 = OpConstant %float -0.236424699
%float_n0_663662851 = OpConstant %float -0.663662851
%float_1_61533165 = OpConstant %float 1.61533165
%float_0_0167563483 = OpConstant %float 0.0167563483
%float_0_0117218941 = OpConstant %float 0.0117218941
%float_n0_00828444213 = OpConstant %float -0.00828444213
%float_0_988394856 = OpConstant %float 0.988394856
%float_1_45143926 = OpConstant %float 1.45143926
%float_n0_236510754 = OpConstant %float -0.236510754
%float_n0_214928567 = OpConstant %float -0.214928567
%float_n0_0765537769 = OpConstant %float -0.0765537769
%float_1_17622972 = OpConstant %float 1.17622972
%float_n0_0996759236 = OpConstant %float -0.0996759236
%float_0_00831614807 = OpConstant %float 0.00831614807
%float_n0_00603244966 = OpConstant %float -0.00603244966
%float_0_997716308 = OpConstant %float 0.997716308
%float_0_695452213 = OpConstant %float 0.695452213
%float_0_140678704 = OpConstant %float 0.140678704
%float_0_163869068 = OpConstant %float 0.163869068
%float_0_0447945632 = OpConstant %float 0.0447945632
%float_0_859671116 = OpConstant %float 0.859671116
%float_0_0955343172 = OpConstant %float 0.0955343172
%float_n0_00552588282 = OpConstant %float -0.00552588282
%float_0_00402521016 = OpConstant %float 0.00402521016
%float_1_00150073 = OpConstant %float 1.00150073
%67 = OpConstantComposite %v3float %float_0_272228718 %float_0_674081743 %float_0_0536895171
%float_3_2409699 = OpConstant %float 3.2409699
%float_n1_5373832 = OpConstant %float -1.5373832
%float_n0_498610765 = OpConstant %float -0.498610765
%float_n0_969243646 = OpConstant %float -0.969243646
%float_1_8759675 = OpConstant %float 1.8759675
%float_0_0415550582 = OpConstant %float 0.0415550582
%float_0_0556300804 = OpConstant %float 0.0556300804
%float_n0_203976959 = OpConstant %float -0.203976959
%float_1_05697155 = OpConstant %float 1.05697155
%float_0_412456393 = OpConstant %float 0.412456393
%float_0_357576102 = OpConstant %float 0.357576102
%float_0_180437505 = OpConstant %float 0.180437505
%float_0_212672904 = OpConstant %float 0.212672904
%float_0_715152204 = OpConstant %float 0.715152204
%float_0_0721750036 = OpConstant %float 0.0721750036
%float_0_0193339009 = OpConstant %float 0.0193339009
%float_0_119191997 = OpConstant %float 0.119191997
%float_0_950304091 = OpConstant %float 0.950304091
%float_1_71660841 = OpConstant %float 1.71660841
%float_n0_355662107 = OpConstant %float -0.355662107
%float_n0_253360093 = OpConstant %float -0.253360093
%float_n0_666682899 = OpConstant %float -0.666682899
%float_1_61647761 = OpConstant %float 1.61647761
%float_0_0157685 = OpConstant %float 0.0157685
%float_0_0176422 = OpConstant %float 0.0176422
%float_n0_0427763015 = OpConstant %float -0.0427763015
%float_0_942228675 = OpConstant %float 0.942228675
%float_2_49339628 = OpConstant %float 2.49339628
%float_n0_93134588 = OpConstant %float -0.93134588
%float_n0_402694494 = OpConstant %float -0.402694494
%float_n0_829486787 = OpConstant %float -0.829486787
%float_1_76265967 = OpConstant %float 1.76265967
%float_0_0236246008 = OpConstant %float 0.0236246008
%float_0_0358507 = OpConstant %float 0.0358507
%float_n0_0761827007 = OpConstant %float -0.0761827007
%float_0_957014024 = OpConstant %float 0.957014024
%float_1_01303005 = OpConstant %float 1.01303005
%float_0_00610530982 = OpConstant %float 0.00610530982
%float_n0_0149710001 = OpConstant %float -0.0149710001
%float_0_00769822998 = OpConstant %float 0.00769822998
%float_0_998165011 = OpConstant %float 0.998165011
%float_n0_00503202993 = OpConstant %float -0.00503202993
%float_n0_00284131011 = OpConstant %float -0.00284131011
%float_0_00468515977 = OpConstant %float 0.00468515977
%float_0_924507022 = OpConstant %float 0.924507022
%float_0_987223983 = OpConstant %float 0.987223983
%float_n0_00611326983 = OpConstant %float -0.00611326983
%float_0_0159533005 = OpConstant %float 0.0159533005
%float_n0_00759836007 = OpConstant %float -0.00759836007
%float_1_00186002 = OpConstant %float 1.00186002
%float_0_0053300201 = OpConstant %float 0.0053300201
%float_0_00307257008 = OpConstant %float 0.00307257008
%float_n0_00509594986 = OpConstant %float -0.00509594986
%float_1_08168006 = OpConstant %float 1.08168006
%float_0_5 = OpConstant %float 0.5
%float_n1 = OpConstant %float -1
%float_1 = OpConstant %float 1
%int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1
%float_0_015625 = OpConstant %float 0.015625
%128 = OpConstantComposite %v2float %float_0_015625 %float_0_015625
%129 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%int_42 = OpConstant %int 42
%uint_3 = OpConstant %uint 3
%132 = OpConstantComposite %v3float %float_0 %float_0 %float_0
%int_9 = OpConstant %int 9
%int_3 = OpConstant %int 3
%135 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%float_n4 = OpConstant %float -4
%int_44 = OpConstant %int 44
%float_0_544169128 = OpConstant %float 0.544169128
%float_0_239592597 = OpConstant %float 0.239592597
%float_0_166694298 = OpConstant %float 0.166694298
%float_0_239465594 = OpConstant %float 0.239465594
%float_0_702153027 = OpConstant %float 0.702153027
%float_0_058381401 = OpConstant %float 0.058381401
%float_n0_00234390004 = OpConstant %float -0.00234390004
%float_0_0361833982 = OpConstant %float 0.0361833982
%float_1_05521834 = OpConstant %float 1.05521834
%float_0_940437257 = OpConstant %float 0.940437257
%float_n0_0183068793 = OpConstant %float -0.0183068793
%float_0_077869609 = OpConstant %float 0.077869609
%float_0_00837869663 = OpConstant %float 0.00837869663
%float_0_828660011 = OpConstant %float 0.828660011
%float_0_162961304 = OpConstant %float 0.162961304
%float_0_00054712611 = OpConstant %float 0.00054712611
%float_n0_000883374596 = OpConstant %float -0.000883374596
%float_1_00033629 = OpConstant %float 1.00033629
%float_1_06317997 = OpConstant %float 1.06317997
%float_0_0233955998 = OpConstant %float 0.0233955998
%float_n0_0865726024 = OpConstant %float -0.0865726024
%float_n0_0106336996 = OpConstant %float -0.0106336996
%float_1_20632005 = OpConstant %float 1.20632005
%float_n0_195690006 = OpConstant %float -0.195690006
%float_n0_000590886979 = OpConstant %float -0.000590886979
%float_0_00105247996 = OpConstant %float 0.00105247996
%float_0_999538004 = OpConstant %float 0.999538004
%int_43 = OpConstant %int 43
%int_15 = OpConstant %int 15
%int_16 = OpConstant %int 16
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%uint_5 = OpConstant %uint 5
%uint_6 = OpConstant %uint 6
%int_2 = OpConstant %int 2
%mat3v3float = OpTypeMatrix %v3float 3
%int_41 = OpConstant %int 41
%float_0_159301758 = OpConstant %float 0.159301758
%float_78_84375 = OpConstant %float 78.84375
%float_0_8359375 = OpConstant %float 0.8359375
%float_18_8515625 = OpConstant %float 18.8515625
%float_18_6875 = OpConstant %float 18.6875
%float_10000 = OpConstant %float 10000
%float_0_0126833133 = OpConstant %float 0.0126833133
%182 = OpConstantComposite %v3float %float_0_0126833133 %float_0_0126833133 %float_0_0126833133
%183 = OpConstantComposite %v3float %float_0_8359375 %float_0_8359375 %float_0_8359375
%184 = OpConstantComposite %v3float %float_18_8515625 %float_18_8515625 %float_18_8515625
%185 = OpConstantComposite %v3float %float_18_6875 %float_18_6875 %float_18_6875
%float_6_27739477 = OpConstant %float 6.27739477
%187 = OpConstantComposite %v3float %float_6_27739477 %float_6_27739477 %float_6_27739477
%188 = OpConstantComposite %v3float %float_10000 %float_10000 %float_10000
%float_14 = OpConstant %float 14
%float_0_180000007 = OpConstant %float 0.180000007
%float_0_434017599 = OpConstant %float 0.434017599
%192 = OpConstantComposite %v3float %float_0_434017599 %float_0_434017599 %float_0_434017599
%193 = OpConstantComposite %v3float %float_14 %float_14 %float_14
%194 = OpConstantComposite %v3float %float_0_180000007 %float_0_180000007 %float_0_180000007
%int_17 = OpConstant %int 17
%float_4000 = OpConstant %float 4000
%float_0_312700003 = OpConstant %float 0.312700003
%float_0_328999996 = OpConstant %float 0.328999996
%int_18 = OpConstant %int 18
%int_24 = OpConstant %int 24
%int_19 = OpConstant %int 19
%int_25 = OpConstant %int 25
%int_20 = OpConstant %int 20
%int_26 = OpConstant %int 26
%int_21 = OpConstant %int 21
%int_27 = OpConstant %int 27
%int_22 = OpConstant %int 22
%int_28 = OpConstant %int 28
%int_23 = OpConstant %int 23
%int_39 = OpConstant %int 39
%int_34 = OpConstant %int 34
%int_35 = OpConstant %int 35
%int_36 = OpConstant %int 36
%int_37 = OpConstant %int 37
%int_38 = OpConstant %int 38
%int_40 = OpConstant %int 40
%int_29 = OpConstant %int 29
%int_30 = OpConstant %int 30
%int_31 = OpConstant %int 31
%int_32 = OpConstant %int 32
%int_33 = OpConstant %int 33
%float_0_0500000007 = OpConstant %float 0.0500000007
%float_1_75 = OpConstant %float 1.75
%float_0_400000006 = OpConstant %float 0.400000006
%float_0_0299999993 = OpConstant %float 0.0299999993
%float_2 = OpConstant %float 2
%float_0_959999979 = OpConstant %float 0.959999979
%228 = OpConstantComposite %v3float %float_0_959999979 %float_0_959999979 %float_0_959999979
%int_13 = OpConstant %int 13
%int_11 = OpConstant %int 11
%int_14 = OpConstant %int 14
%int_12 = OpConstant %int 12
%float_0_800000012 = OpConstant %float 0.800000012
%int_10 = OpConstant %int 10
%float_10 = OpConstant %float 10
%float_n2 = OpConstant %float -2
%float_3 = OpConstant %float 3
%238 = OpConstantComposite %v3float %float_3 %float_3 %float_3
%239 = OpConstantComposite %v3float %float_2 %float_2 %float_2
%float_0_930000007 = OpConstant %float 0.930000007
%241 = OpConstantComposite %v3float %float_0_930000007 %float_0_930000007 %float_0_930000007
%int_4 = OpConstant %int 4
%int_8 = OpConstant %int 8
%int_7 = OpConstant %int 7
%int_5 = OpConstant %int 5
%int_6 = OpConstant %int 6
%float_0_00200000009 = OpConstant %float 0.00200000009
%248 = OpConstantComposite %v3float %float_0_00200000009 %float_0_00200000009 %float_0_00200000009
%float_6_10351999en05 = OpConstant %float 6.10351999e-05
%250 = OpConstantComposite %v3float %float_6_10351999en05 %float_6_10351999en05 %float_6_10351999en05
%float_4_5 = OpConstant %float 4.5
%252 = OpConstantComposite %v3float %float_4_5 %float_4_5 %float_4_5
%float_0_0179999992 = OpConstant %float 0.0179999992
%254 = OpConstantComposite %v3float %float_0_0179999992 %float_0_0179999992 %float_0_0179999992
%float_0_449999988 = OpConstant %float 0.449999988
%256 = OpConstantComposite %v3float %float_0_449999988 %float_0_449999988 %float_0_449999988
%float_1_09899998 = OpConstant %float 1.09899998
%258 = OpConstantComposite %v3float %float_1_09899998 %float_1_09899998 %float_1_09899998
%float_0_0989999995 = OpConstant %float 0.0989999995
%260 = OpConstantComposite %v3float %float_0_0989999995 %float_0_0989999995 %float_0_0989999995
%float_1_5 = OpConstant %float 1.5
%262 = OpConstantComposite %v3float %float_1_5 %float_1_5 %float_1_5
%263 = OpConstantComposite %v3float %float_0_159301758 %float_0_159301758 %float_0_159301758
%264 = OpConstantComposite %v3float %float_78_84375 %float_78_84375 %float_78_84375
%float_1_00055635 = OpConstant %float 1.00055635
%float_7000 = OpConstant %float 7000
%float_0_244063005 = OpConstant %float 0.244063005
%float_99_1100006 = OpConstant %float 99.1100006
%float_2967800 = OpConstant %float 2967800
%float_0_237039998 = OpConstant %float 0.237039998
%float_247_479996 = OpConstant %float 247.479996
%float_1901800 = OpConstant %float 1901800
%float_n3 = OpConstant %float -3
%float_2_86999989 = OpConstant %float 2.86999989
%float_0_275000006 = OpConstant %float 0.275000006
%float_0_860117733 = OpConstant %float 0.860117733
%float_0_000154118257 = OpConstant %float 0.000154118257
%float_1_28641219en07 = OpConstant %float 1.28641219e-07
%float_0_00084242021 = OpConstant %float 0.00084242021
%float_7_08145137en07 = OpConstant %float 7.08145137e-07
%float_0_317398727 = OpConstant %float 0.317398727
; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
%float_4_22806261en05 = OpConstant %float 4.25
%float_4_20481676en08 = OpConstant %float 4.20481676e-08
%float_2_8974182en05 = OpConstant %float 2.8974182e-05
%float_1_61456057en07 = OpConstant %float 1.61456057e-07
%float_8 = OpConstant %float 8
%float_4 = OpConstant %float 4
%float_0_895099998 = OpConstant %float 0.895099998
%float_0_266400009 = OpConstant %float 0.266400009
%float_n0_161400005 = OpConstant %float -0.161400005
%float_n0_750199974 = OpConstant %float -0.750199974
%float_1_71350002 = OpConstant %float 1.71350002
%float_0_0366999991 = OpConstant %float 0.0366999991
%float_0_0388999991 = OpConstant %float 0.0388999991
%float_n0_0684999973 = OpConstant %float -0.0684999973
%float_1_02960002 = OpConstant %float 1.02960002
%float_0_986992896 = OpConstant %float 0.986992896
%float_n0_1470543 = OpConstant %float -0.1470543
%float_0_159962699 = OpConstant %float 0.159962699
%float_0_432305306 = OpConstant %float 0.432305306
%float_0_518360317 = OpConstant %float 0.518360317
%float_0_0492912009 = OpConstant %float 0.0492912009
%float_n0_0085287001 = OpConstant %float -0.0085287001
%float_0_040042799 = OpConstant %float 0.040042799
%float_0_968486726 = OpConstant %float 0.968486726
%float_5_55555534 = OpConstant %float 5.55555534
%307 = OpConstantComposite %v3float %float_5_55555534 %float_5_55555534 %float_5_55555534
%float_1_00000001en10 = OpConstant %float 1.00000001e-10
%float_0_00999999978 = OpConstant %float 0.00999999978
%float_0_666666687 = OpConstant %float 0.666666687
%float_180 = OpConstant %float 180
%float_360 = OpConstant %float 360
%float_65535 = OpConstant %float 65535
%314 = OpConstantComposite %v3float %float_65535 %float_65535 %float_65535
%float_n4_97062206 = OpConstant %float -4.97062206
%float_n3_02937818 = OpConstant %float -3.02937818
%float_n2_12619996 = OpConstant %float -2.12619996
%float_n1_51049995 = OpConstant %float -1.51049995
%float_n1_05780005 = OpConstant %float -1.05780005
%float_n0_466800004 = OpConstant %float -0.466800004
%float_0_119379997 = OpConstant %float 0.119379997
%float_0_708813429 = OpConstant %float 0.708813429
%float_1_29118657 = OpConstant %float 1.29118657
%float_0_808913231 = OpConstant %float 0.808913231
%float_1_19108677 = OpConstant %float 1.19108677
%float_1_56830001 = OpConstant %float 1.56830001
%float_1_9483 = OpConstant %float 1.9483
%float_2_30830002 = OpConstant %float 2.30830002
%float_2_63840008 = OpConstant %float 2.63840008
%float_2_85949993 = OpConstant %float 2.85949993
%float_2_98726082 = OpConstant %float 2.98726082
%float_3_01273918 = OpConstant %float 3.01273918
%float_0_179999992 = OpConstant %float 0.179999992
%float_9_99999975en05 = OpConstant %float 9.99999975e-05
%float_1000 = OpConstant %float 1000
%float_0_0599999987 = OpConstant %float 0.0599999987
%float_3_50738446en05 = OpConstant %float 3.50738446e-05
%338 = OpConstantComposite %v3float %float_3_50738446en05 %float_3_50738446en05 %float_3_50738446en05
%float_n2_30102992 = OpConstant %float -2.30102992
%float_n1_93120003 = OpConstant %float -1.93120003
%float_n1_52049994 = OpConstant %float -1.52049994
%float_0_801995218 = OpConstant %float 0.801995218
%float_1_19800484 = OpConstant %float 1.19800484
%float_1_59430003 = OpConstant %float 1.59430003
%float_1_99730003 = OpConstant %float 1.99730003
%float_2_37829995 = OpConstant %float 2.37829995
%float_2_76839995 = OpConstant %float 2.76839995
%float_3_05150008 = OpConstant %float 3.05150008
%float_3_27462935 = OpConstant %float 3.27462935
%float_3_32743073 = OpConstant %float 3.32743073
%float_0_00499999989 = OpConstant %float 0.00499999989
%float_11 = OpConstant %float 11
%float_2000 = OpConstant %float 2000
%float_0_119999997 = OpConstant %float 0.119999997
%float_0_00313066994 = OpConstant %float 0.00313066994
%float_12_9200001 = OpConstant %float 12.9200001
%float_0_416666657 = OpConstant %float 0.416666657
%float_1_05499995 = OpConstant %float 1.05499995
%float_0_0549999997 = OpConstant %float 0.0549999997
%float_n0_166666672 = OpConstant %float -0.166666672
%float_n0_5 = OpConstant %float -0.5
%float_0_166666672 = OpConstant %float 0.166666672
%float_n3_15737653 = OpConstant %float -3.15737653
%float_n0_485249996 = OpConstant %float -0.485249996
%float_1_84773242 = OpConstant %float 1.84773242
%float_n0_718548238 = OpConstant %float -0.718548238
%float_2_08103061 = OpConstant %float 2.08103061
%float_3_6681242 = OpConstant %float 3.6681242
%float_18 = OpConstant %float 18
%float_7 = OpConstant %float 7
%type__Globals = OpTypeStruct %v4float %v3float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %float %float %float %v3float %v4float %float %float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %uint %uint %float %float
%_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals
%_ptr_Input_v2float = OpTypePointer Input %v2float
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Input_uint = OpTypePointer Input %uint
%_ptr_Output_v4float = OpTypePointer Output %v4float
%void = OpTypeVoid
%377 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
%bool = OpTypeBool
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
%v2bool = OpTypeVector %bool 2
%v3bool = OpTypeVector %bool 3
%uint_10 = OpConstant %uint 10
%_arr_float_uint_10 = OpTypeArray %float %uint_10
%_arr_float_uint_6 = OpTypeArray %float %uint_6
%_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform
%in_var_TEXCOORD0 = OpVariable %_ptr_Input_v2float Input
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%gl_Layer = OpVariable %_ptr_Input_uint Input
%out_var_SV_Target0 = OpVariable %_ptr_Output_v4float Output
%_ptr_Function__arr_float_uint_6 = OpTypePointer Function %_arr_float_uint_6
%_ptr_Function__arr_float_uint_10 = OpTypePointer Function %_arr_float_uint_10
%391 = OpUndef %v3float
%392 = OpConstantComposite %v3float %float_0_952552378 %float_0 %float_9_36786018en05
%393 = OpConstantComposite %v3float %float_0_343966454 %float_0_728166103 %float_n0_0721325427
%394 = OpConstantComposite %v3float %float_0 %float_0 %float_1_00882518
%395 = OpConstantComposite %mat3v3float %392 %393 %394
%396 = OpConstantComposite %v3float %float_1_04981101 %float_0 %float_n9_74845025en05
%397 = OpConstantComposite %v3float %float_n0_495903015 %float_1_37331307 %float_0_0982400328
%398 = OpConstantComposite %v3float %float_0 %float_0 %float_0_991252005
%399 = OpConstantComposite %mat3v3float %396 %397 %398
%400 = OpConstantComposite %v3float %float_0_662454188 %float_0_134004205 %float_0_156187683
%401 = OpConstantComposite %v3float %float_n0_00557464967 %float_0_0040607336 %float_1_01033914
%402 = OpConstantComposite %mat3v3float %400 %67 %401
%403 = OpConstantComposite %v3float %float_1_6410234 %float_n0_324803293 %float_n0_236424699
%404 = OpConstantComposite %v3float %float_n0_663662851 %float_1_61533165 %float_0_0167563483
%405 = OpConstantComposite %v3float %float_0_0117218941 %float_n0_00828444213 %float_0_988394856
%406 = OpConstantComposite %mat3v3float %403 %404 %405
%407 = OpConstantComposite %v3float %float_1_45143926 %float_n0_236510754 %float_n0_214928567
%408 = OpConstantComposite %v3float %float_n0_0765537769 %float_1_17622972 %float_n0_0996759236
%409 = OpConstantComposite %v3float %float_0_00831614807 %float_n0_00603244966 %float_0_997716308
%410 = OpConstantComposite %mat3v3float %407 %408 %409
%411 = OpConstantComposite %v3float %float_0_695452213 %float_0_140678704 %float_0_163869068
%412 = OpConstantComposite %v3float %float_0_0447945632 %float_0_859671116 %float_0_0955343172
%413 = OpConstantComposite %v3float %float_n0_00552588282 %float_0_00402521016 %float_1_00150073
%414 = OpConstantComposite %mat3v3float %411 %412 %413
%415 = OpConstantComposite %v3float %float_3_2409699 %float_n1_5373832 %float_n0_498610765
%416 = OpConstantComposite %v3float %float_n0_969243646 %float_1_8759675 %float_0_0415550582
%417 = OpConstantComposite %v3float %float_0_0556300804 %float_n0_203976959 %float_1_05697155
%418 = OpConstantComposite %mat3v3float %415 %416 %417
%419 = OpConstantComposite %v3float %float_0_412456393 %float_0_357576102 %float_0_180437505
%420 = OpConstantComposite %v3float %float_0_212672904 %float_0_715152204 %float_0_0721750036
%421 = OpConstantComposite %v3float %float_0_0193339009 %float_0_119191997 %float_0_950304091
%422 = OpConstantComposite %mat3v3float %419 %420 %421
%423 = OpConstantComposite %v3float %float_1_71660841 %float_n0_355662107 %float_n0_253360093
%424 = OpConstantComposite %v3float %float_n0_666682899 %float_1_61647761 %float_0_0157685
%425 = OpConstantComposite %v3float %float_0_0176422 %float_n0_0427763015 %float_0_942228675
%426 = OpConstantComposite %mat3v3float %423 %424 %425
%427 = OpConstantComposite %v3float %float_2_49339628 %float_n0_93134588 %float_n0_402694494
%428 = OpConstantComposite %v3float %float_n0_829486787 %float_1_76265967 %float_0_0236246008
%429 = OpConstantComposite %v3float %float_0_0358507 %float_n0_0761827007 %float_0_957014024
%430 = OpConstantComposite %mat3v3float %427 %428 %429
%431 = OpConstantComposite %v3float %float_1_01303005 %float_0_00610530982 %float_n0_0149710001
%432 = OpConstantComposite %v3float %float_0_00769822998 %float_0_998165011 %float_n0_00503202993
%433 = OpConstantComposite %v3float %float_n0_00284131011 %float_0_00468515977 %float_0_924507022
%434 = OpConstantComposite %mat3v3float %431 %432 %433
%435 = OpConstantComposite %v3float %float_0_987223983 %float_n0_00611326983 %float_0_0159533005
%436 = OpConstantComposite %v3float %float_n0_00759836007 %float_1_00186002 %float_0_0053300201
%437 = OpConstantComposite %v3float %float_0_00307257008 %float_n0_00509594986 %float_1_08168006
%438 = OpConstantComposite %mat3v3float %435 %436 %437
%439 = OpConstantComposite %v3float %float_0_5 %float_n1 %float_0_5
%440 = OpConstantComposite %v3float %float_n1 %float_1 %float_0_5
%441 = OpConstantComposite %v3float %float_0_5 %float_0 %float_0
%442 = OpConstantComposite %mat3v3float %439 %440 %441
%443 = OpConstantComposite %v3float %float_1 %float_0 %float_0
%444 = OpConstantComposite %v3float %float_0 %float_1 %float_0
%445 = OpConstantComposite %v3float %float_0 %float_0 %float_1
%446 = OpConstantComposite %mat3v3float %443 %444 %445
%float_n6_07624626 = OpConstant %float -6.07624626
%448 = OpConstantComposite %v3float %float_n6_07624626 %float_n6_07624626 %float_n6_07624626
%449 = OpConstantComposite %v3float %float_0_895099998 %float_0_266400009 %float_n0_161400005
%450 = OpConstantComposite %v3float %float_n0_750199974 %float_1_71350002 %float_0_0366999991
%451 = OpConstantComposite %v3float %float_0_0388999991 %float_n0_0684999973 %float_1_02960002
%452 = OpConstantComposite %mat3v3float %449 %450 %451
%453 = OpConstantComposite %v3float %float_0_986992896 %float_n0_1470543 %float_0_159962699
%454 = OpConstantComposite %v3float %float_0_432305306 %float_0_518360317 %float_0_0492912009
%455 = OpConstantComposite %v3float %float_n0_0085287001 %float_0_040042799 %float_0_968486726
%456 = OpConstantComposite %mat3v3float %453 %454 %455
%float_0_358299971 = OpConstant %float 0.358299971
%458 = OpConstantComposite %v3float %float_0_544169128 %float_0_239592597 %float_0_166694298
%459 = OpConstantComposite %v3float %float_0_239465594 %float_0_702153027 %float_0_058381401
%460 = OpConstantComposite %v3float %float_n0_00234390004 %float_0_0361833982 %float_1_05521834
%461 = OpConstantComposite %mat3v3float %458 %459 %460
%462 = OpConstantComposite %v3float %float_0_940437257 %float_n0_0183068793 %float_0_077869609
%463 = OpConstantComposite %v3float %float_0_00837869663 %float_0_828660011 %float_0_162961304
%464 = OpConstantComposite %v3float %float_0_00054712611 %float_n0_000883374596 %float_1_00033629
%465 = OpConstantComposite %mat3v3float %462 %463 %464
%466 = OpConstantComposite %v3float %float_1_06317997 %float_0_0233955998 %float_n0_0865726024
%467 = OpConstantComposite %v3float %float_n0_0106336996 %float_1_20632005 %float_n0_195690006
%468 = OpConstantComposite %v3float %float_n0_000590886979 %float_0_00105247996 %float_0_999538004
%469 = OpConstantComposite %mat3v3float %466 %467 %468
%float_0_0533333346 = OpConstant %float 0.0533333346
%float_0_159999996 = OpConstant %float 0.159999996
%float_57_2957764 = OpConstant %float 57.2957764
%float_n67_5 = OpConstant %float -67.5
%float_67_5 = OpConstant %float 67.5
%475 = OpConstantComposite %_arr_float_uint_6 %float_n4 %float_n4 %float_n3_15737653 %float_n0_485249996 %float_1_84773242 %float_1_84773242
%476 = OpConstantComposite %_arr_float_uint_6 %float_n0_718548238 %float_2_08103061 %float_3_6681242 %float_4 %float_4 %float_4
%float_n15 = OpConstant %float -15
%float_n14 = OpConstant %float -14
%479 = OpConstantComposite %_arr_float_uint_10 %float_n4_97062206 %float_n3_02937818 %float_n2_12619996 %float_n1_51049995 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
%480 = OpConstantComposite %_arr_float_uint_10 %float_0_808913231 %float_1_19108677 %float_1_56830001 %float_1_9483 %float_2_30830002 %float_2_63840008 %float_2_85949993 %float_2_98726082 %float_3_01273918 %float_3_01273918
%float_n12 = OpConstant %float -12
%482 = OpConstantComposite %_arr_float_uint_10 %float_n2_30102992 %float_n2_30102992 %float_n1_93120003 %float_n1_52049994 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
%483 = OpConstantComposite %_arr_float_uint_10 %float_0_801995218 %float_1_19800484 %float_1_59430003 %float_1_99730003 %float_2_37829995 %float_2_76839995 %float_3_05150008 %float_3_27462935 %float_3_32743073 %float_3_32743073
%float_0_0322580636 = OpConstant %float 0.0322580636
%float_1_03225803 = OpConstant %float 1.03225803
%486 = OpConstantComposite %v2float %float_1_03225803 %float_1_03225803
%float_4_60443853e_09 = OpConstant %float 4.60443853e+09
%float_2_00528435e_09 = OpConstant %float 2.00528435e+09
%float_0_333333343 = OpConstant %float 0.333333343
%float_5 = OpConstant %float 5
%float_2_5 = OpConstant %float 2.5
%float_0_0250000004 = OpConstant %float 0.0250000004
%float_0_239999995 = OpConstant %float 0.239999995
%float_0_0148148146 = OpConstant %float 0.0148148146
%float_0_819999993 = OpConstant %float 0.819999993
%496 = OpConstantComposite %v3float %float_9_99999975en05 %float_9_99999975en05 %float_9_99999975en05
%float_0_0296296291 = OpConstant %float 0.0296296291
%float_0_952381015 = OpConstant %float 0.952381015
%499 = OpConstantComposite %v3float %float_0_952381015 %float_0_952381015 %float_0_952381015
%MainPS = OpFunction %void None %377
%500 = OpLabel
%501 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%502 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%503 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%504 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%505 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%506 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%507 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%508 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%509 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%510 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%511 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%512 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%513 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%514 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%515 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%516 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%517 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%518 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%519 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%520 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%521 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%522 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%523 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%524 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%525 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%526 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%527 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%528 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%529 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%530 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%531 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%532 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%533 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%534 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%535 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%536 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%537 = OpLoad %v2float %in_var_TEXCOORD0
%538 = OpLoad %uint %gl_Layer
%539 = OpFSub %v2float %537 %128
%540 = OpFMul %v2float %539 %486
%541 = OpCompositeExtract %float %540 0
%542 = OpCompositeExtract %float %540 1
%543 = OpConvertUToF %float %538
%544 = OpFMul %float %543 %float_0_0322580636
%545 = OpCompositeConstruct %v4float %541 %542 %544 %float_0
%546 = OpMatrixTimesMatrix %mat3v3float %422 %434
%547 = OpMatrixTimesMatrix %mat3v3float %546 %406
%548 = OpMatrixTimesMatrix %mat3v3float %402 %438
%549 = OpMatrixTimesMatrix %mat3v3float %548 %418
%550 = OpMatrixTimesMatrix %mat3v3float %395 %406
%551 = OpMatrixTimesMatrix %mat3v3float %402 %399
%552 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_42
%553 = OpLoad %uint %552
OpBranch %554
%554 = OpLabel
OpLoopMerge %555 %556 None
OpBranch %557
%557 = OpLabel
%558 = OpMatrixTimesMatrix %mat3v3float %548 %430
%559 = OpMatrixTimesMatrix %mat3v3float %548 %426
%560 = OpIEqual %bool %553 %uint_1
OpSelectionMerge %561 None
OpBranchConditional %560 %562 %563
%563 = OpLabel
%564 = OpIEqual %bool %553 %uint_2
OpSelectionMerge %565 None
OpBranchConditional %564 %566 %567
%567 = OpLabel
%568 = OpIEqual %bool %553 %uint_3
OpSelectionMerge %569 None
OpBranchConditional %568 %570 %571
%571 = OpLabel
%572 = OpIEqual %bool %553 %uint_4
OpSelectionMerge %573 None
OpBranchConditional %572 %574 %575
%575 = OpLabel
OpBranch %555
%574 = OpLabel
OpBranch %555
%573 = OpLabel
OpUnreachable
%570 = OpLabel
OpBranch %555
%569 = OpLabel
OpUnreachable
%566 = OpLabel
OpBranch %555
%565 = OpLabel
OpUnreachable
%562 = OpLabel
OpBranch %555
%561 = OpLabel
OpUnreachable
%556 = OpLabel
OpBranch %554
%555 = OpLabel
%576 = OpPhi %mat3v3float %549 %575 %446 %574 %414 %570 %559 %566 %558 %562
%577 = OpVectorShuffle %v3float %545 %545 0 1 2
%578 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_41
%579 = OpLoad %uint %578
%580 = OpUGreaterThanEqual %bool %579 %uint_3
OpSelectionMerge %581 None
OpBranchConditional %580 %582 %583
%583 = OpLabel
%584 = OpFSub %v3float %577 %192
%585 = OpFMul %v3float %584 %193
%586 = OpExtInst %v3float %1 Exp2 %585
%587 = OpFMul %v3float %586 %194
%588 = OpExtInst %v3float %1 Exp2 %448
%589 = OpFMul %v3float %588 %194
%590 = OpFSub %v3float %587 %589
OpBranch %581
%582 = OpLabel
%591 = OpExtInst %v3float %1 Pow %577 %182
%592 = OpFSub %v3float %591 %183
%593 = OpExtInst %v3float %1 FMax %132 %592
%594 = OpFMul %v3float %185 %591
%595 = OpFSub %v3float %184 %594
%596 = OpFDiv %v3float %593 %595
%597 = OpExtInst %v3float %1 Pow %596 %187
%598 = OpFMul %v3float %597 %188
OpBranch %581
%581 = OpLabel
%599 = OpPhi %v3float %590 %583 %598 %582
%600 = OpAccessChain %_ptr_Uniform_float %_Globals %int_17
%601 = OpLoad %float %600
%602 = OpFMul %float %601 %float_1_00055635
%603 = OpFOrdLessThanEqual %bool %602 %float_7000
%604 = OpFDiv %float %float_4_60443853e_09 %601
%605 = OpFSub %float %float_2967800 %604
%606 = OpFDiv %float %605 %602
%607 = OpFAdd %float %float_99_1100006 %606
%608 = OpFDiv %float %607 %602
%609 = OpFAdd %float %float_0_244063005 %608
%610 = OpFDiv %float %float_2_00528435e_09 %601
%611 = OpFSub %float %float_1901800 %610
%612 = OpFDiv %float %611 %602
%613 = OpFAdd %float %float_247_479996 %612
%614 = OpFDiv %float %613 %602
%615 = OpFAdd %float %float_0_237039998 %614
%616 = OpSelect %float %603 %609 %615
%617 = OpFMul %float %float_n3 %616
%618 = OpFMul %float %617 %616
%619 = OpFMul %float %float_2_86999989 %616
%620 = OpFAdd %float %618 %619
%621 = OpFSub %float %620 %float_0_275000006
%622 = OpCompositeConstruct %v2float %616 %621
%623 = OpFMul %float %float_0_000154118257 %601
%624 = OpFAdd %float %float_0_860117733 %623
%625 = OpFMul %float %float_1_28641219en07 %601
%626 = OpFMul %float %625 %601
%627 = OpFAdd %float %624 %626
%628 = OpFMul %float %float_0_00084242021 %601
%629 = OpFAdd %float %float_1 %628
%630 = OpFMul %float %float_7_08145137en07 %601
%631 = OpFMul %float %630 %601
%632 = OpFAdd %float %629 %631
%633 = OpFDiv %float %627 %632
%634 = OpFMul %float %float_4_22806261en05 %601
%635 = OpFAdd %float %float_0_317398727 %634
%636 = OpFMul %float %float_4_20481676en08 %601
%637 = OpFMul %float %636 %601
%638 = OpFAdd %float %635 %637
%639 = OpFMul %float %float_2_8974182en05 %601
%640 = OpFSub %float %float_1 %639
%641 = OpFMul %float %float_1_61456057en07 %601
%642 = OpFMul %float %641 %601
%643 = OpFAdd %float %640 %642
%644 = OpFDiv %float %638 %643
%645 = OpFMul %float %float_3 %633
%646 = OpFMul %float %float_2 %633
%647 = OpFMul %float %float_8 %644
%648 = OpFSub %float %646 %647
%649 = OpFAdd %float %648 %float_4
%650 = OpFDiv %float %645 %649
%651 = OpFMul %float %float_2 %644
%652 = OpFDiv %float %651 %649
%653 = OpCompositeConstruct %v2float %650 %652
%654 = OpFOrdLessThan %bool %601 %float_4000
%655 = OpCompositeConstruct %v2bool %654 %654
%656 = OpSelect %v2float %655 %653 %622
%657 = OpAccessChain %_ptr_Uniform_float %_Globals %int_18
%658 = OpLoad %float %657
%659 = OpCompositeConstruct %v2float %633 %644
%660 = OpExtInst %v2float %1 Normalize %659
%661 = OpCompositeExtract %float %660 1
%662 = OpFNegate %float %661
%663 = OpFMul %float %662 %658
%664 = OpFMul %float %663 %float_0_0500000007
%665 = OpFAdd %float %633 %664
%666 = OpCompositeExtract %float %660 0
%667 = OpFMul %float %666 %658
%668 = OpFMul %float %667 %float_0_0500000007
%669 = OpFAdd %float %644 %668
%670 = OpFMul %float %float_3 %665
%671 = OpFMul %float %float_2 %665
%672 = OpFMul %float %float_8 %669
%673 = OpFSub %float %671 %672
%674 = OpFAdd %float %673 %float_4
%675 = OpFDiv %float %670 %674
%676 = OpFMul %float %float_2 %669
%677 = OpFDiv %float %676 %674
%678 = OpCompositeConstruct %v2float %675 %677
%679 = OpFSub %v2float %678 %653
%680 = OpFAdd %v2float %656 %679
%681 = OpCompositeExtract %float %680 0
%682 = OpCompositeExtract %float %680 1
%683 = OpExtInst %float %1 FMax %682 %float_1_00000001en10
%684 = OpFDiv %float %681 %683
%685 = OpCompositeInsert %v3float %684 %391 0
%686 = OpCompositeInsert %v3float %float_1 %685 1
%687 = OpFSub %float %float_1 %681
%688 = OpFSub %float %687 %682
%689 = OpFDiv %float %688 %683
%690 = OpCompositeInsert %v3float %689 %686 2
%691 = OpExtInst %float %1 FMax %float_0_328999996 %float_1_00000001en10
%692 = OpFDiv %float %float_0_312700003 %691
%693 = OpCompositeInsert %v3float %692 %391 0
%694 = OpCompositeInsert %v3float %float_1 %693 1
%695 = OpFDiv %float %float_0_358299971 %691
%696 = OpCompositeInsert %v3float %695 %694 2
%697 = OpVectorTimesMatrix %v3float %690 %452
%698 = OpVectorTimesMatrix %v3float %696 %452
%699 = OpCompositeExtract %float %698 0
%700 = OpCompositeExtract %float %697 0
%701 = OpFDiv %float %699 %700
%702 = OpCompositeConstruct %v3float %701 %float_0 %float_0
%703 = OpCompositeExtract %float %698 1
%704 = OpCompositeExtract %float %697 1
%705 = OpFDiv %float %703 %704
%706 = OpCompositeConstruct %v3float %float_0 %705 %float_0
%707 = OpCompositeExtract %float %698 2
%708 = OpCompositeExtract %float %697 2
%709 = OpFDiv %float %707 %708
%710 = OpCompositeConstruct %v3float %float_0 %float_0 %709
%711 = OpCompositeConstruct %mat3v3float %702 %706 %710
%712 = OpMatrixTimesMatrix %mat3v3float %452 %711
%713 = OpMatrixTimesMatrix %mat3v3float %712 %456
%714 = OpMatrixTimesMatrix %mat3v3float %422 %713
%715 = OpMatrixTimesMatrix %mat3v3float %714 %418
%716 = OpVectorTimesMatrix %v3float %599 %715
%717 = OpVectorTimesMatrix %v3float %716 %547
%718 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_9
%719 = OpAccessChain %_ptr_Uniform_float %_Globals %int_9 %int_3
%720 = OpLoad %float %719
%721 = OpFOrdNotEqual %bool %720 %float_0
OpSelectionMerge %722 None
OpBranchConditional %721 %723 %722
%723 = OpLabel
%724 = OpDot %float %717 %67
%725 = OpCompositeConstruct %v3float %724 %724 %724
%726 = OpFDiv %v3float %717 %725
%727 = OpFSub %v3float %726 %135
%728 = OpDot %float %727 %727
%729 = OpFMul %float %float_n4 %728
%730 = OpExtInst %float %1 Exp2 %729
%731 = OpFSub %float %float_1 %730
%732 = OpAccessChain %_ptr_Uniform_float %_Globals %int_44
%733 = OpLoad %float %732
%734 = OpFMul %float %float_n4 %733
%735 = OpFMul %float %734 %724
%736 = OpFMul %float %735 %724
%737 = OpExtInst %float %1 Exp2 %736
%738 = OpFSub %float %float_1 %737
%739 = OpFMul %float %731 %738
%740 = OpMatrixTimesMatrix %mat3v3float %461 %406
%741 = OpMatrixTimesMatrix %mat3v3float %549 %740
%742 = OpVectorTimesMatrix %v3float %717 %741
%743 = OpCompositeConstruct %v3float %739 %739 %739
%744 = OpExtInst %v3float %1 FMix %717 %742 %743
OpBranch %722
%722 = OpLabel
%745 = OpPhi %v3float %717 %581 %744 %723
%746 = OpDot %float %745 %67
%747 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_24
%748 = OpLoad %v4float %747
%749 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_19
%750 = OpLoad %v4float %749
%751 = OpFMul %v4float %748 %750
%752 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_25
%753 = OpLoad %v4float %752
%754 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_20
%755 = OpLoad %v4float %754
%756 = OpFMul %v4float %753 %755
%757 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_26
%758 = OpLoad %v4float %757
%759 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_21
%760 = OpLoad %v4float %759
%761 = OpFMul %v4float %758 %760
%762 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_27
%763 = OpLoad %v4float %762
%764 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_22
%765 = OpLoad %v4float %764
%766 = OpFMul %v4float %763 %765
%767 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_28
%768 = OpLoad %v4float %767
%769 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_23
%770 = OpLoad %v4float %769
%771 = OpFAdd %v4float %768 %770
%772 = OpCompositeConstruct %v3float %746 %746 %746
%773 = OpVectorShuffle %v3float %751 %751 0 1 2
%774 = OpCompositeExtract %float %751 3
%775 = OpCompositeConstruct %v3float %774 %774 %774
%776 = OpFMul %v3float %773 %775
%777 = OpExtInst %v3float %1 FMix %772 %745 %776
%778 = OpExtInst %v3float %1 FMax %132 %777
%779 = OpFMul %v3float %778 %307
%780 = OpVectorShuffle %v3float %756 %756 0 1 2
%781 = OpCompositeExtract %float %756 3
%782 = OpCompositeConstruct %v3float %781 %781 %781
%783 = OpFMul %v3float %780 %782
%784 = OpExtInst %v3float %1 Pow %779 %783
%785 = OpFMul %v3float %784 %194
%786 = OpVectorShuffle %v3float %761 %761 0 1 2
%787 = OpCompositeExtract %float %761 3
%788 = OpCompositeConstruct %v3float %787 %787 %787
%789 = OpFMul %v3float %786 %788
%790 = OpFDiv %v3float %135 %789
%791 = OpExtInst %v3float %1 Pow %785 %790
%792 = OpVectorShuffle %v3float %766 %766 0 1 2
%793 = OpCompositeExtract %float %766 3
%794 = OpCompositeConstruct %v3float %793 %793 %793
%795 = OpFMul %v3float %792 %794
%796 = OpFMul %v3float %791 %795
%797 = OpVectorShuffle %v3float %771 %771 0 1 2
%798 = OpCompositeExtract %float %771 3
%799 = OpCompositeConstruct %v3float %798 %798 %798
%800 = OpFAdd %v3float %797 %799
%801 = OpFAdd %v3float %796 %800
%802 = OpAccessChain %_ptr_Uniform_float %_Globals %int_39
%803 = OpLoad %float %802
%804 = OpExtInst %float %1 SmoothStep %float_0 %803 %746
%805 = OpFSub %float %float_1 %804
%806 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_34
%807 = OpLoad %v4float %806
%808 = OpFMul %v4float %807 %750
%809 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_35
%810 = OpLoad %v4float %809
%811 = OpFMul %v4float %810 %755
%812 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_36
%813 = OpLoad %v4float %812
%814 = OpFMul %v4float %813 %760
%815 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_37
%816 = OpLoad %v4float %815
%817 = OpFMul %v4float %816 %765
%818 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_38
%819 = OpLoad %v4float %818
%820 = OpFAdd %v4float %819 %770
%821 = OpVectorShuffle %v3float %808 %808 0 1 2
%822 = OpCompositeExtract %float %808 3
%823 = OpCompositeConstruct %v3float %822 %822 %822
%824 = OpFMul %v3float %821 %823
%825 = OpExtInst %v3float %1 FMix %772 %745 %824
%826 = OpExtInst %v3float %1 FMax %132 %825
%827 = OpFMul %v3float %826 %307
%828 = OpVectorShuffle %v3float %811 %811 0 1 2
%829 = OpCompositeExtract %float %811 3
%830 = OpCompositeConstruct %v3float %829 %829 %829
%831 = OpFMul %v3float %828 %830
%832 = OpExtInst %v3float %1 Pow %827 %831
%833 = OpFMul %v3float %832 %194
%834 = OpVectorShuffle %v3float %814 %814 0 1 2
%835 = OpCompositeExtract %float %814 3
%836 = OpCompositeConstruct %v3float %835 %835 %835
%837 = OpFMul %v3float %834 %836
%838 = OpFDiv %v3float %135 %837
%839 = OpExtInst %v3float %1 Pow %833 %838
%840 = OpVectorShuffle %v3float %817 %817 0 1 2
%841 = OpCompositeExtract %float %817 3
%842 = OpCompositeConstruct %v3float %841 %841 %841
%843 = OpFMul %v3float %840 %842
%844 = OpFMul %v3float %839 %843
%845 = OpVectorShuffle %v3float %820 %820 0 1 2
%846 = OpCompositeExtract %float %820 3
%847 = OpCompositeConstruct %v3float %846 %846 %846
%848 = OpFAdd %v3float %845 %847
%849 = OpFAdd %v3float %844 %848
%850 = OpAccessChain %_ptr_Uniform_float %_Globals %int_40
%851 = OpLoad %float %850
%852 = OpExtInst %float %1 SmoothStep %851 %float_1 %746
%853 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_29
%854 = OpLoad %v4float %853
%855 = OpFMul %v4float %854 %750
%856 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_30
%857 = OpLoad %v4float %856
%858 = OpFMul %v4float %857 %755
%859 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_31
%860 = OpLoad %v4float %859
%861 = OpFMul %v4float %860 %760
%862 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_32
%863 = OpLoad %v4float %862
%864 = OpFMul %v4float %863 %765
%865 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_33
%866 = OpLoad %v4float %865
%867 = OpFAdd %v4float %866 %770
%868 = OpVectorShuffle %v3float %855 %855 0 1 2
%869 = OpCompositeExtract %float %855 3
%870 = OpCompositeConstruct %v3float %869 %869 %869
%871 = OpFMul %v3float %868 %870
%872 = OpExtInst %v3float %1 FMix %772 %745 %871
%873 = OpExtInst %v3float %1 FMax %132 %872
%874 = OpFMul %v3float %873 %307
%875 = OpVectorShuffle %v3float %858 %858 0 1 2
%876 = OpCompositeExtract %float %858 3
%877 = OpCompositeConstruct %v3float %876 %876 %876
%878 = OpFMul %v3float %875 %877
%879 = OpExtInst %v3float %1 Pow %874 %878
%880 = OpFMul %v3float %879 %194
%881 = OpVectorShuffle %v3float %861 %861 0 1 2
%882 = OpCompositeExtract %float %861 3
%883 = OpCompositeConstruct %v3float %882 %882 %882
%884 = OpFMul %v3float %881 %883
%885 = OpFDiv %v3float %135 %884
%886 = OpExtInst %v3float %1 Pow %880 %885
%887 = OpVectorShuffle %v3float %864 %864 0 1 2
%888 = OpCompositeExtract %float %864 3
%889 = OpCompositeConstruct %v3float %888 %888 %888
%890 = OpFMul %v3float %887 %889
%891 = OpFMul %v3float %886 %890
%892 = OpVectorShuffle %v3float %867 %867 0 1 2
%893 = OpCompositeExtract %float %867 3
%894 = OpCompositeConstruct %v3float %893 %893 %893
%895 = OpFAdd %v3float %892 %894
%896 = OpFAdd %v3float %891 %895
%897 = OpFSub %float %804 %852
%898 = OpCompositeConstruct %v3float %805 %805 %805
%899 = OpFMul %v3float %801 %898
%900 = OpCompositeConstruct %v3float %897 %897 %897
%901 = OpFMul %v3float %896 %900
%902 = OpFAdd %v3float %899 %901
%903 = OpCompositeConstruct %v3float %852 %852 %852
%904 = OpFMul %v3float %849 %903
%905 = OpFAdd %v3float %902 %904
%906 = OpVectorTimesMatrix %v3float %905 %549
%907 = OpMatrixTimesMatrix %mat3v3float %551 %465
%908 = OpMatrixTimesMatrix %mat3v3float %907 %550
%909 = OpMatrixTimesMatrix %mat3v3float %551 %469
%910 = OpMatrixTimesMatrix %mat3v3float %909 %550
%911 = OpVectorTimesMatrix %v3float %905 %908
%912 = OpAccessChain %_ptr_Uniform_float %_Globals %int_43
%913 = OpLoad %float %912
%914 = OpCompositeConstruct %v3float %913 %913 %913
%915 = OpExtInst %v3float %1 FMix %905 %911 %914
%916 = OpVectorTimesMatrix %v3float %915 %551
%917 = OpCompositeExtract %float %916 0
%918 = OpCompositeExtract %float %916 1
%919 = OpExtInst %float %1 FMin %917 %918
%920 = OpCompositeExtract %float %916 2
%921 = OpExtInst %float %1 FMin %919 %920
%922 = OpExtInst %float %1 FMax %917 %918
%923 = OpExtInst %float %1 FMax %922 %920
%924 = OpExtInst %float %1 FMax %923 %float_1_00000001en10
%925 = OpExtInst %float %1 FMax %921 %float_1_00000001en10
%926 = OpFSub %float %924 %925
%927 = OpExtInst %float %1 FMax %923 %float_0_00999999978
%928 = OpFDiv %float %926 %927
%929 = OpFSub %float %920 %918
%930 = OpFMul %float %920 %929
%931 = OpFSub %float %918 %917
%932 = OpFMul %float %918 %931
%933 = OpFAdd %float %930 %932
%934 = OpFSub %float %917 %920
%935 = OpFMul %float %917 %934
%936 = OpFAdd %float %933 %935
%937 = OpExtInst %float %1 Sqrt %936
%938 = OpFAdd %float %920 %918
%939 = OpFAdd %float %938 %917
%940 = OpFMul %float %float_1_75 %937
%941 = OpFAdd %float %939 %940
%942 = OpFMul %float %941 %float_0_333333343
%943 = OpFSub %float %928 %float_0_400000006
%944 = OpFMul %float %943 %float_5
%945 = OpFMul %float %943 %float_2_5
%946 = OpExtInst %float %1 FAbs %945
%947 = OpFSub %float %float_1 %946
%948 = OpExtInst %float %1 FMax %947 %float_0
%949 = OpExtInst %float %1 FSign %944
%950 = OpConvertFToS %int %949
%951 = OpConvertSToF %float %950
%952 = OpFMul %float %948 %948
%953 = OpFSub %float %float_1 %952
%954 = OpFMul %float %951 %953
%955 = OpFAdd %float %float_1 %954
%956 = OpFMul %float %955 %float_0_0250000004
%957 = OpFOrdLessThanEqual %bool %942 %float_0_0533333346
OpSelectionMerge %958 None
OpBranchConditional %957 %959 %960
%960 = OpLabel
%961 = OpFOrdGreaterThanEqual %bool %942 %float_0_159999996
OpSelectionMerge %962 None
OpBranchConditional %961 %963 %964
%964 = OpLabel
%965 = OpFDiv %float %float_0_239999995 %941
%966 = OpFSub %float %965 %float_0_5
%967 = OpFMul %float %956 %966
OpBranch %962
%963 = OpLabel
OpBranch %962
%962 = OpLabel
%968 = OpPhi %float %967 %964 %float_0 %963
OpBranch %958
%959 = OpLabel
OpBranch %958
%958 = OpLabel
%969 = OpPhi %float %968 %962 %956 %959
%970 = OpFAdd %float %float_1 %969
%971 = OpCompositeConstruct %v3float %970 %970 %970
%972 = OpFMul %v3float %916 %971
%973 = OpCompositeExtract %float %972 0
%974 = OpCompositeExtract %float %972 1
%975 = OpFOrdEqual %bool %973 %974
%976 = OpCompositeExtract %float %972 2
%977 = OpFOrdEqual %bool %974 %976
%978 = OpLogicalAnd %bool %975 %977
OpSelectionMerge %979 None
OpBranchConditional %978 %980 %981
%981 = OpLabel
%982 = OpExtInst %float %1 Sqrt %float_3
%983 = OpFSub %float %974 %976
%984 = OpFMul %float %982 %983
%985 = OpFMul %float %float_2 %973
%986 = OpFSub %float %985 %974
%987 = OpFSub %float %986 %976
%988 = OpExtInst %float %1 Atan2 %984 %987
%989 = OpFMul %float %float_57_2957764 %988
OpBranch %979
%980 = OpLabel
OpBranch %979
%979 = OpLabel
%990 = OpPhi %float %989 %981 %float_0 %980
%991 = OpFOrdLessThan %bool %990 %float_0
OpSelectionMerge %992 None
OpBranchConditional %991 %993 %992
%993 = OpLabel
%994 = OpFAdd %float %990 %float_360
OpBranch %992
%992 = OpLabel
%995 = OpPhi %float %990 %979 %994 %993
%996 = OpExtInst %float %1 FClamp %995 %float_0 %float_360
%997 = OpFOrdGreaterThan %bool %996 %float_180
OpSelectionMerge %998 None
OpBranchConditional %997 %999 %998
%999 = OpLabel
%1000 = OpFSub %float %996 %float_360
OpBranch %998
%998 = OpLabel
%1001 = OpPhi %float %996 %992 %1000 %999
%1002 = OpFMul %float %1001 %float_0_0148148146
%1003 = OpExtInst %float %1 FAbs %1002
%1004 = OpFSub %float %float_1 %1003
%1005 = OpExtInst %float %1 SmoothStep %float_0 %float_1 %1004
%1006 = OpFMul %float %1005 %1005
%1007 = OpFMul %float %1006 %928
%1008 = OpFSub %float %float_0_0299999993 %973
%1009 = OpFMul %float %1007 %1008
%1010 = OpFMul %float %1009 %float_0_180000007
%1011 = OpFAdd %float %973 %1010
%1012 = OpCompositeInsert %v3float %1011 %972 0
%1013 = OpVectorTimesMatrix %v3float %1012 %410
%1014 = OpExtInst %v3float %1 FMax %132 %1013
%1015 = OpDot %float %1014 %67
%1016 = OpCompositeConstruct %v3float %1015 %1015 %1015
%1017 = OpExtInst %v3float %1 FMix %1016 %1014 %228
%1018 = OpAccessChain %_ptr_Uniform_float %_Globals %int_13
%1019 = OpLoad %float %1018
%1020 = OpFAdd %float %float_1 %1019
%1021 = OpAccessChain %_ptr_Uniform_float %_Globals %int_11
%1022 = OpLoad %float %1021
%1023 = OpFSub %float %1020 %1022
%1024 = OpAccessChain %_ptr_Uniform_float %_Globals %int_14
%1025 = OpLoad %float %1024
%1026 = OpFAdd %float %float_1 %1025
%1027 = OpAccessChain %_ptr_Uniform_float %_Globals %int_12
%1028 = OpLoad %float %1027
%1029 = OpFSub %float %1026 %1028
%1030 = OpFOrdGreaterThan %bool %1022 %float_0_800000012
OpSelectionMerge %1031 None
OpBranchConditional %1030 %1032 %1033
%1033 = OpLabel
%1034 = OpFAdd %float %float_0_180000007 %1019
%1035 = OpFDiv %float %1034 %1023
%1036 = OpExtInst %float %1 Log %float_0_180000007
%1037 = OpExtInst %float %1 Log %float_10
%1038 = OpFDiv %float %1036 %1037
%1039 = OpFSub %float %float_2 %1035
%1040 = OpFDiv %float %1035 %1039
%1041 = OpExtInst %float %1 Log %1040
%1042 = OpFMul %float %float_0_5 %1041
%1043 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1044 = OpLoad %float %1043
%1045 = OpFDiv %float %1023 %1044
%1046 = OpFMul %float %1042 %1045
%1047 = OpFSub %float %1038 %1046
OpBranch %1031
%1032 = OpLabel
%1048 = OpFSub %float %float_0_819999993 %1022
%1049 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1050 = OpLoad %float %1049
%1051 = OpFDiv %float %1048 %1050
%1052 = OpExtInst %float %1 Log %float_0_180000007
%1053 = OpExtInst %float %1 Log %float_10
%1054 = OpFDiv %float %1052 %1053
%1055 = OpFAdd %float %1051 %1054
OpBranch %1031
%1031 = OpLabel
%1056 = OpPhi %float %1047 %1033 %1055 %1032
%1057 = OpFSub %float %float_1 %1022
%1058 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1059 = OpLoad %float %1058
%1060 = OpFDiv %float %1057 %1059
%1061 = OpFSub %float %1060 %1056
%1062 = OpFDiv %float %1028 %1059
%1063 = OpFSub %float %1062 %1061
%1064 = OpExtInst %v3float %1 Log %1017
%1065 = OpExtInst %float %1 Log %float_10
%1066 = OpCompositeConstruct %v3float %1065 %1065 %1065
%1067 = OpFDiv %v3float %1064 %1066
%1068 = OpCompositeConstruct %v3float %1059 %1059 %1059
%1069 = OpCompositeConstruct %v3float %1061 %1061 %1061
%1070 = OpFAdd %v3float %1067 %1069
%1071 = OpFMul %v3float %1068 %1070
%1072 = OpFNegate %float %1019
%1073 = OpCompositeConstruct %v3float %1072 %1072 %1072
%1074 = OpFMul %float %float_2 %1023
%1075 = OpCompositeConstruct %v3float %1074 %1074 %1074
%1076 = OpFMul %float %float_n2 %1059
%1077 = OpFDiv %float %1076 %1023
%1078 = OpCompositeConstruct %v3float %1077 %1077 %1077
%1079 = OpCompositeConstruct %v3float %1056 %1056 %1056
%1080 = OpFSub %v3float %1067 %1079
%1081 = OpFMul %v3float %1078 %1080
%1082 = OpExtInst %v3float %1 Exp %1081
%1083 = OpFAdd %v3float %135 %1082
%1084 = OpFDiv %v3float %1075 %1083
%1085 = OpFAdd %v3float %1073 %1084
%1086 = OpCompositeConstruct %v3float %1026 %1026 %1026
%1087 = OpFMul %float %float_2 %1029
%1088 = OpCompositeConstruct %v3float %1087 %1087 %1087
%1089 = OpFMul %float %float_2 %1059
%1090 = OpFDiv %float %1089 %1029
%1091 = OpCompositeConstruct %v3float %1090 %1090 %1090
%1092 = OpCompositeConstruct %v3float %1063 %1063 %1063
%1093 = OpFSub %v3float %1067 %1092
%1094 = OpFMul %v3float %1091 %1093
%1095 = OpExtInst %v3float %1 Exp %1094
%1096 = OpFAdd %v3float %135 %1095
%1097 = OpFDiv %v3float %1088 %1096
%1098 = OpFSub %v3float %1086 %1097
%1099 = OpFOrdLessThan %v3bool %1067 %1079
%1100 = OpSelect %v3float %1099 %1085 %1071
%1101 = OpFOrdGreaterThan %v3bool %1067 %1092
%1102 = OpSelect %v3float %1101 %1098 %1071
%1103 = OpFSub %float %1063 %1056
%1104 = OpCompositeConstruct %v3float %1103 %1103 %1103
%1105 = OpFDiv %v3float %1080 %1104
%1106 = OpExtInst %v3float %1 FClamp %1105 %132 %135
%1107 = OpFOrdLessThan %bool %1063 %1056
%1108 = OpFSub %v3float %135 %1106
%1109 = OpCompositeConstruct %v3bool %1107 %1107 %1107
%1110 = OpSelect %v3float %1109 %1108 %1106
%1111 = OpFMul %v3float %239 %1110
%1112 = OpFSub %v3float %238 %1111
%1113 = OpFMul %v3float %1112 %1110
%1114 = OpFMul %v3float %1113 %1110
%1115 = OpExtInst %v3float %1 FMix %1100 %1102 %1114
%1116 = OpDot %float %1115 %67
%1117 = OpCompositeConstruct %v3float %1116 %1116 %1116
%1118 = OpExtInst %v3float %1 FMix %1117 %1115 %241
%1119 = OpExtInst %v3float %1 FMax %132 %1118
%1120 = OpVectorTimesMatrix %v3float %1119 %910
%1121 = OpExtInst %v3float %1 FMix %1119 %1120 %914
%1122 = OpVectorTimesMatrix %v3float %1121 %549
%1123 = OpExtInst %v3float %1 FMax %132 %1122
%1124 = OpFOrdEqual %bool %720 %float_0
OpSelectionMerge %1125 DontFlatten
OpBranchConditional %1124 %1126 %1125
%1126 = OpLabel
%1127 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_2
%1128 = OpLoad %v4float %1127
%1129 = OpVectorShuffle %v3float %1128 %1128 0 1 2
%1130 = OpDot %float %906 %1129
%1131 = OpCompositeInsert %v3float %1130 %391 0
%1132 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3
%1133 = OpLoad %v4float %1132
%1134 = OpVectorShuffle %v3float %1133 %1133 0 1 2
%1135 = OpDot %float %906 %1134
%1136 = OpCompositeInsert %v3float %1135 %1131 1
%1137 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_4
%1138 = OpLoad %v4float %1137
%1139 = OpVectorShuffle %v3float %1138 %1138 0 1 2
%1140 = OpDot %float %906 %1139
%1141 = OpCompositeInsert %v3float %1140 %1136 2
%1142 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_8
%1143 = OpLoad %v4float %1142
%1144 = OpVectorShuffle %v3float %1143 %1143 0 1 2
%1145 = OpLoad %v4float %718
%1146 = OpVectorShuffle %v3float %1145 %1145 0 1 2
%1147 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_7
%1148 = OpLoad %v4float %1147
%1149 = OpVectorShuffle %v3float %1148 %1148 0 1 2
%1150 = OpDot %float %906 %1149
%1151 = OpFAdd %float %1150 %float_1
%1152 = OpFDiv %float %float_1 %1151
%1153 = OpCompositeConstruct %v3float %1152 %1152 %1152
%1154 = OpFMul %v3float %1146 %1153
%1155 = OpFAdd %v3float %1144 %1154
%1156 = OpFMul %v3float %1141 %1155
%1157 = OpExtInst %v3float %1 FMax %132 %1156
%1158 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_5
%1159 = OpLoad %v4float %1158
%1160 = OpVectorShuffle %v3float %1159 %1159 0 0 0
%1161 = OpFSub %v3float %1160 %1157
%1162 = OpExtInst %v3float %1 FMax %132 %1161
%1163 = OpVectorShuffle %v3float %1159 %1159 2 2 2
%1164 = OpExtInst %v3float %1 FMax %1157 %1163
%1165 = OpExtInst %v3float %1 FClamp %1157 %1160 %1163
%1166 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_6
%1167 = OpLoad %v4float %1166
%1168 = OpVectorShuffle %v3float %1167 %1167 0 0 0
%1169 = OpFMul %v3float %1164 %1168
%1170 = OpVectorShuffle %v3float %1167 %1167 1 1 1
%1171 = OpFAdd %v3float %1169 %1170
%1172 = OpVectorShuffle %v3float %1159 %1159 3 3 3
%1173 = OpFAdd %v3float %1164 %1172
%1174 = OpFDiv %v3float %135 %1173
%1175 = OpFMul %v3float %1171 %1174
%1176 = OpVectorShuffle %v3float %1138 %1138 3 3 3
%1177 = OpFMul %v3float %1165 %1176
%1178 = OpVectorShuffle %v3float %1128 %1128 3 3 3
%1179 = OpFMul %v3float %1162 %1178
%1180 = OpVectorShuffle %v3float %1159 %1159 1 1 1
%1181 = OpFAdd %v3float %1162 %1180
%1182 = OpFDiv %v3float %135 %1181
%1183 = OpFMul %v3float %1179 %1182
%1184 = OpVectorShuffle %v3float %1133 %1133 3 3 3
%1185 = OpFAdd %v3float %1183 %1184
%1186 = OpFAdd %v3float %1177 %1185
%1187 = OpFAdd %v3float %1175 %1186
%1188 = OpFSub %v3float %1187 %248
OpBranch %1125
%1125 = OpLabel
%1189 = OpPhi %v3float %1123 %1031 %1188 %1126
%1190 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_0
%1191 = OpLoad %float %1190
%1192 = OpCompositeConstruct %v3float %1191 %1191 %1191
%1193 = OpFMul %v3float %1189 %1189
%1194 = OpFMul %v3float %1192 %1193
%1195 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_1
%1196 = OpLoad %float %1195
%1197 = OpCompositeConstruct %v3float %1196 %1196 %1196
%1198 = OpFMul %v3float %1197 %1189
%1199 = OpFAdd %v3float %1194 %1198
%1200 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_2
%1201 = OpLoad %float %1200
%1202 = OpCompositeConstruct %v3float %1201 %1201 %1201
%1203 = OpFAdd %v3float %1199 %1202
%1204 = OpAccessChain %_ptr_Uniform_v3float %_Globals %int_15
%1205 = OpLoad %v3float %1204
%1206 = OpFMul %v3float %1203 %1205
%1207 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_16
%1208 = OpLoad %v4float %1207
%1209 = OpVectorShuffle %v3float %1208 %1208 0 1 2
%1210 = OpAccessChain %_ptr_Uniform_float %_Globals %int_16 %int_3
%1211 = OpLoad %float %1210
%1212 = OpCompositeConstruct %v3float %1211 %1211 %1211
%1213 = OpExtInst %v3float %1 FMix %1206 %1209 %1212
%1214 = OpExtInst %v3float %1 FMax %132 %1213
%1215 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_1
%1216 = OpLoad %float %1215
%1217 = OpCompositeConstruct %v3float %1216 %1216 %1216
%1218 = OpExtInst %v3float %1 Pow %1214 %1217
%1219 = OpIEqual %bool %579 %uint_0
OpSelectionMerge %1220 DontFlatten
OpBranchConditional %1219 %1221 %1222
%1222 = OpLabel
%1223 = OpIEqual %bool %579 %uint_1
OpSelectionMerge %1224 None
OpBranchConditional %1223 %1225 %1226
%1226 = OpLabel
%1227 = OpIEqual %bool %579 %uint_3
%1228 = OpIEqual %bool %579 %uint_5
%1229 = OpLogicalOr %bool %1227 %1228
OpSelectionMerge %1230 None
OpBranchConditional %1229 %1231 %1232
%1232 = OpLabel
%1233 = OpIEqual %bool %579 %uint_4
%1234 = OpIEqual %bool %579 %uint_6
%1235 = OpLogicalOr %bool %1233 %1234
OpSelectionMerge %1236 None
OpBranchConditional %1235 %1237 %1238
%1238 = OpLabel
%1239 = OpIEqual %bool %579 %uint_7
OpSelectionMerge %1240 None
OpBranchConditional %1239 %1241 %1242
%1242 = OpLabel
%1243 = OpVectorTimesMatrix %v3float %1218 %547
%1244 = OpVectorTimesMatrix %v3float %1243 %576
%1245 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_2
%1246 = OpLoad %float %1245
%1247 = OpCompositeConstruct %v3float %1246 %1246 %1246
%1248 = OpExtInst %v3float %1 Pow %1244 %1247
OpBranch %1240
%1241 = OpLabel
%1249 = OpVectorTimesMatrix %v3float %906 %547
%1250 = OpVectorTimesMatrix %v3float %1249 %576
%1251 = OpFMul %v3float %1250 %496
%1252 = OpExtInst %v3float %1 Pow %1251 %263
%1253 = OpFMul %v3float %184 %1252
%1254 = OpFAdd %v3float %183 %1253
%1255 = OpFMul %v3float %185 %1252
%1256 = OpFAdd %v3float %135 %1255
%1257 = OpFDiv %v3float %135 %1256
%1258 = OpFMul %v3float %1254 %1257
%1259 = OpExtInst %v3float %1 Pow %1258 %264
OpBranch %1240
%1240 = OpLabel
%1260 = OpPhi %v3float %1248 %1242 %1259 %1241
OpBranch %1236
%1237 = OpLabel
%1261 = OpMatrixTimesMatrix %mat3v3float %546 %399
%1262 = OpFMul %v3float %906 %262
%1263 = OpVectorTimesMatrix %v3float %1262 %1261
%1264 = OpCompositeExtract %float %1263 0
%1265 = OpCompositeExtract %float %1263 1
%1266 = OpExtInst %float %1 FMin %1264 %1265
%1267 = OpCompositeExtract %float %1263 2
%1268 = OpExtInst %float %1 FMin %1266 %1267
%1269 = OpExtInst %float %1 FMax %1264 %1265
%1270 = OpExtInst %float %1 FMax %1269 %1267
%1271 = OpExtInst %float %1 FMax %1270 %float_1_00000001en10
%1272 = OpExtInst %float %1 FMax %1268 %float_1_00000001en10
%1273 = OpFSub %float %1271 %1272
%1274 = OpExtInst %float %1 FMax %1270 %float_0_00999999978
%1275 = OpFDiv %float %1273 %1274
%1276 = OpFSub %float %1267 %1265
%1277 = OpFMul %float %1267 %1276
%1278 = OpFSub %float %1265 %1264
%1279 = OpFMul %float %1265 %1278
%1280 = OpFAdd %float %1277 %1279
%1281 = OpFSub %float %1264 %1267
%1282 = OpFMul %float %1264 %1281
%1283 = OpFAdd %float %1280 %1282
%1284 = OpExtInst %float %1 Sqrt %1283
%1285 = OpFAdd %float %1267 %1265
%1286 = OpFAdd %float %1285 %1264
%1287 = OpFMul %float %float_1_75 %1284
%1288 = OpFAdd %float %1286 %1287
%1289 = OpFMul %float %1288 %float_0_333333343
%1290 = OpFSub %float %1275 %float_0_400000006
%1291 = OpFMul %float %1290 %float_5
%1292 = OpFMul %float %1290 %float_2_5
%1293 = OpExtInst %float %1 FAbs %1292
%1294 = OpFSub %float %float_1 %1293
%1295 = OpExtInst %float %1 FMax %1294 %float_0
%1296 = OpExtInst %float %1 FSign %1291
%1297 = OpConvertFToS %int %1296
%1298 = OpConvertSToF %float %1297
%1299 = OpFMul %float %1295 %1295
%1300 = OpFSub %float %float_1 %1299
%1301 = OpFMul %float %1298 %1300
%1302 = OpFAdd %float %float_1 %1301
%1303 = OpFMul %float %1302 %float_0_0250000004
%1304 = OpFOrdLessThanEqual %bool %1289 %float_0_0533333346
OpSelectionMerge %1305 None
OpBranchConditional %1304 %1306 %1307
%1307 = OpLabel
%1308 = OpFOrdGreaterThanEqual %bool %1289 %float_0_159999996
OpSelectionMerge %1309 None
OpBranchConditional %1308 %1310 %1311
%1311 = OpLabel
%1312 = OpFDiv %float %float_0_239999995 %1288
%1313 = OpFSub %float %1312 %float_0_5
%1314 = OpFMul %float %1303 %1313
OpBranch %1309
%1310 = OpLabel
OpBranch %1309
%1309 = OpLabel
%1315 = OpPhi %float %1314 %1311 %float_0 %1310
OpBranch %1305
%1306 = OpLabel
OpBranch %1305
%1305 = OpLabel
%1316 = OpPhi %float %1315 %1309 %1303 %1306
%1317 = OpFAdd %float %float_1 %1316
%1318 = OpCompositeConstruct %v3float %1317 %1317 %1317
%1319 = OpFMul %v3float %1263 %1318
%1320 = OpCompositeExtract %float %1319 0
%1321 = OpCompositeExtract %float %1319 1
%1322 = OpFOrdEqual %bool %1320 %1321
%1323 = OpCompositeExtract %float %1319 2
%1324 = OpFOrdEqual %bool %1321 %1323
%1325 = OpLogicalAnd %bool %1322 %1324
OpSelectionMerge %1326 None
OpBranchConditional %1325 %1327 %1328
%1328 = OpLabel
%1329 = OpExtInst %float %1 Sqrt %float_3
%1330 = OpFSub %float %1321 %1323
%1331 = OpFMul %float %1329 %1330
%1332 = OpFMul %float %float_2 %1320
%1333 = OpFSub %float %1332 %1321
%1334 = OpFSub %float %1333 %1323
%1335 = OpExtInst %float %1 Atan2 %1331 %1334
%1336 = OpFMul %float %float_57_2957764 %1335
OpBranch %1326
%1327 = OpLabel
OpBranch %1326
%1326 = OpLabel
%1337 = OpPhi %float %1336 %1328 %float_0 %1327
%1338 = OpFOrdLessThan %bool %1337 %float_0
OpSelectionMerge %1339 None
OpBranchConditional %1338 %1340 %1339
%1340 = OpLabel
%1341 = OpFAdd %float %1337 %float_360
OpBranch %1339
%1339 = OpLabel
%1342 = OpPhi %float %1337 %1326 %1341 %1340
%1343 = OpExtInst %float %1 FClamp %1342 %float_0 %float_360
%1344 = OpFOrdGreaterThan %bool %1343 %float_180
OpSelectionMerge %1345 None
OpBranchConditional %1344 %1346 %1345
%1346 = OpLabel
%1347 = OpFSub %float %1343 %float_360
OpBranch %1345
%1345 = OpLabel
%1348 = OpPhi %float %1343 %1339 %1347 %1346
%1349 = OpFOrdGreaterThan %bool %1348 %float_n67_5
%1350 = OpFOrdLessThan %bool %1348 %float_67_5
%1351 = OpLogicalAnd %bool %1349 %1350
OpSelectionMerge %1352 None
OpBranchConditional %1351 %1353 %1352
%1353 = OpLabel
%1354 = OpFSub %float %1348 %float_n67_5
%1355 = OpFMul %float %1354 %float_0_0296296291
%1356 = OpConvertFToS %int %1355
%1357 = OpConvertSToF %float %1356
%1358 = OpFSub %float %1355 %1357
%1359 = OpFMul %float %1358 %1358
%1360 = OpFMul %float %1359 %1358
%1361 = OpIEqual %bool %1356 %int_3
OpSelectionMerge %1362 None
OpBranchConditional %1361 %1363 %1364
%1364 = OpLabel
%1365 = OpIEqual %bool %1356 %int_2
OpSelectionMerge %1366 None
OpBranchConditional %1365 %1367 %1368
%1368 = OpLabel
%1369 = OpIEqual %bool %1356 %int_1
OpSelectionMerge %1370 None
OpBranchConditional %1369 %1371 %1372
%1372 = OpLabel
%1373 = OpIEqual %bool %1356 %int_0
OpSelectionMerge %1374 None
OpBranchConditional %1373 %1375 %1376
%1376 = OpLabel
OpBranch %1374
%1375 = OpLabel
%1377 = OpFMul %float %1360 %float_0_166666672
OpBranch %1374
%1374 = OpLabel
%1378 = OpPhi %float %float_0 %1376 %1377 %1375
OpBranch %1370
%1371 = OpLabel
%1379 = OpFMul %float %1360 %float_n0_5
%1380 = OpFMul %float %1359 %float_0_5
%1381 = OpFAdd %float %1379 %1380
%1382 = OpFMul %float %1358 %float_0_5
%1383 = OpFAdd %float %1381 %1382
%1384 = OpFAdd %float %1383 %float_0_166666672
OpBranch %1370
%1370 = OpLabel
%1385 = OpPhi %float %1378 %1374 %1384 %1371
OpBranch %1366
%1367 = OpLabel
%1386 = OpFMul %float %1360 %float_0_5
%1387 = OpFMul %float %1359 %float_n1
%1388 = OpFAdd %float %1386 %1387
%1389 = OpFAdd %float %1388 %float_0_666666687
OpBranch %1366
%1366 = OpLabel
%1390 = OpPhi %float %1385 %1370 %1389 %1367
OpBranch %1362
%1363 = OpLabel
%1391 = OpFMul %float %1360 %float_n0_166666672
%1392 = OpFMul %float %1359 %float_0_5
%1393 = OpFAdd %float %1391 %1392
%1394 = OpFMul %float %1358 %float_n0_5
%1395 = OpFAdd %float %1393 %1394
%1396 = OpFAdd %float %1395 %float_0_166666672
OpBranch %1362
%1362 = OpLabel
%1397 = OpPhi %float %1390 %1366 %1396 %1363
OpBranch %1352
%1352 = OpLabel
%1398 = OpPhi %float %float_0 %1345 %1397 %1362
%1399 = OpFMul %float %1398 %float_1_5
%1400 = OpFMul %float %1399 %1275
%1401 = OpFSub %float %float_0_0299999993 %1320
%1402 = OpFMul %float %1400 %1401
%1403 = OpFMul %float %1402 %float_0_180000007
%1404 = OpFAdd %float %1320 %1403
%1405 = OpCompositeInsert %v3float %1404 %1319 0
%1406 = OpExtInst %v3float %1 FClamp %1405 %132 %314
%1407 = OpVectorTimesMatrix %v3float %1406 %410
%1408 = OpExtInst %v3float %1 FClamp %1407 %132 %314
%1409 = OpDot %float %1408 %67
%1410 = OpCompositeConstruct %v3float %1409 %1409 %1409
%1411 = OpExtInst %v3float %1 FMix %1410 %1408 %228
%1412 = OpCompositeExtract %float %1411 0
%1413 = OpExtInst %float %1 Exp2 %float_n15
%1414 = OpFMul %float %float_0_179999992 %1413
%1415 = OpExtInst %float %1 Exp2 %float_18
%1416 = OpFMul %float %float_0_179999992 %1415
OpStore %502 %475
OpStore %501 %476
%1417 = OpFOrdLessThanEqual %bool %1412 %float_0
%1418 = OpExtInst %float %1 Exp2 %float_n14
%1419 = OpSelect %float %1417 %1418 %1412
%1420 = OpExtInst %float %1 Log %1419
%1421 = OpFDiv %float %1420 %1065
%1422 = OpExtInst %float %1 Log %1414
%1423 = OpFDiv %float %1422 %1065
%1424 = OpFOrdLessThanEqual %bool %1421 %1423
OpSelectionMerge %1425 None
OpBranchConditional %1424 %1426 %1427
%1427 = OpLabel
%1428 = OpFOrdGreaterThan %bool %1421 %1423
%1429 = OpExtInst %float %1 Log %float_0_180000007
%1430 = OpFDiv %float %1429 %1065
%1431 = OpFOrdLessThan %bool %1421 %1430
%1432 = OpLogicalAnd %bool %1428 %1431
OpSelectionMerge %1433 None
OpBranchConditional %1432 %1434 %1435
%1435 = OpLabel
%1436 = OpFOrdGreaterThanEqual %bool %1421 %1430
%1437 = OpExtInst %float %1 Log %1416
%1438 = OpFDiv %float %1437 %1065
%1439 = OpFOrdLessThan %bool %1421 %1438
%1440 = OpLogicalAnd %bool %1436 %1439
OpSelectionMerge %1441 None
OpBranchConditional %1440 %1442 %1443
%1443 = OpLabel
%1444 = OpExtInst %float %1 Log %float_10000
%1445 = OpFDiv %float %1444 %1065
OpBranch %1441
%1442 = OpLabel
%1446 = OpFSub %float %1421 %1430
%1447 = OpFMul %float %float_3 %1446
%1448 = OpFSub %float %1438 %1430
%1449 = OpFDiv %float %1447 %1448
%1450 = OpConvertFToS %int %1449
%1451 = OpConvertSToF %float %1450
%1452 = OpFSub %float %1449 %1451
%1453 = OpAccessChain %_ptr_Function_float %501 %1450
%1454 = OpLoad %float %1453
%1455 = OpIAdd %int %1450 %int_1
%1456 = OpAccessChain %_ptr_Function_float %501 %1455
%1457 = OpLoad %float %1456
%1458 = OpIAdd %int %1450 %int_2
%1459 = OpAccessChain %_ptr_Function_float %501 %1458
%1460 = OpLoad %float %1459
%1461 = OpCompositeConstruct %v3float %1454 %1457 %1460
%1462 = OpFMul %float %1452 %1452
%1463 = OpCompositeConstruct %v3float %1462 %1452 %float_1
%1464 = OpMatrixTimesVector %v3float %442 %1461
%1465 = OpDot %float %1463 %1464
OpBranch %1441
%1441 = OpLabel
%1466 = OpPhi %float %1445 %1443 %1465 %1442
OpBranch %1433
%1434 = OpLabel
%1467 = OpFSub %float %1421 %1423
%1468 = OpFMul %float %float_3 %1467
%1469 = OpFSub %float %1430 %1423
%1470 = OpFDiv %float %1468 %1469
%1471 = OpConvertFToS %int %1470
%1472 = OpConvertSToF %float %1471
%1473 = OpFSub %float %1470 %1472
%1474 = OpAccessChain %_ptr_Function_float %502 %1471
%1475 = OpLoad %float %1474
%1476 = OpIAdd %int %1471 %int_1
%1477 = OpAccessChain %_ptr_Function_float %502 %1476
%1478 = OpLoad %float %1477
%1479 = OpIAdd %int %1471 %int_2
%1480 = OpAccessChain %_ptr_Function_float %502 %1479
%1481 = OpLoad %float %1480
%1482 = OpCompositeConstruct %v3float %1475 %1478 %1481
%1483 = OpFMul %float %1473 %1473
%1484 = OpCompositeConstruct %v3float %1483 %1473 %float_1
%1485 = OpMatrixTimesVector %v3float %442 %1482
%1486 = OpDot %float %1484 %1485
OpBranch %1433
%1433 = OpLabel
%1487 = OpPhi %float %1466 %1441 %1486 %1434
OpBranch %1425
%1426 = OpLabel
%1488 = OpExtInst %float %1 Log %float_9_99999975en05
%1489 = OpFDiv %float %1488 %1065
OpBranch %1425
%1425 = OpLabel
%1490 = OpPhi %float %1487 %1433 %1489 %1426
%1491 = OpExtInst %float %1 Pow %float_10 %1490
%1492 = OpCompositeInsert %v3float %1491 %391 0
%1493 = OpCompositeExtract %float %1411 1
OpStore %504 %475
OpStore %503 %476
%1494 = OpFOrdLessThanEqual %bool %1493 %float_0
%1495 = OpSelect %float %1494 %1418 %1493
%1496 = OpExtInst %float %1 Log %1495
%1497 = OpFDiv %float %1496 %1065
%1498 = OpFOrdLessThanEqual %bool %1497 %1423
OpSelectionMerge %1499 None
OpBranchConditional %1498 %1500 %1501
%1501 = OpLabel
%1502 = OpFOrdGreaterThan %bool %1497 %1423
%1503 = OpExtInst %float %1 Log %float_0_180000007
%1504 = OpFDiv %float %1503 %1065
%1505 = OpFOrdLessThan %bool %1497 %1504
%1506 = OpLogicalAnd %bool %1502 %1505
OpSelectionMerge %1507 None
OpBranchConditional %1506 %1508 %1509
%1509 = OpLabel
%1510 = OpFOrdGreaterThanEqual %bool %1497 %1504
%1511 = OpExtInst %float %1 Log %1416
%1512 = OpFDiv %float %1511 %1065
%1513 = OpFOrdLessThan %bool %1497 %1512
%1514 = OpLogicalAnd %bool %1510 %1513
OpSelectionMerge %1515 None
OpBranchConditional %1514 %1516 %1517
%1517 = OpLabel
%1518 = OpExtInst %float %1 Log %float_10000
%1519 = OpFDiv %float %1518 %1065
OpBranch %1515
%1516 = OpLabel
%1520 = OpFSub %float %1497 %1504
%1521 = OpFMul %float %float_3 %1520
%1522 = OpFSub %float %1512 %1504
%1523 = OpFDiv %float %1521 %1522
%1524 = OpConvertFToS %int %1523
%1525 = OpConvertSToF %float %1524
%1526 = OpFSub %float %1523 %1525
%1527 = OpAccessChain %_ptr_Function_float %503 %1524
%1528 = OpLoad %float %1527
%1529 = OpIAdd %int %1524 %int_1
%1530 = OpAccessChain %_ptr_Function_float %503 %1529
%1531 = OpLoad %float %1530
%1532 = OpIAdd %int %1524 %int_2
%1533 = OpAccessChain %_ptr_Function_float %503 %1532
%1534 = OpLoad %float %1533
%1535 = OpCompositeConstruct %v3float %1528 %1531 %1534
%1536 = OpFMul %float %1526 %1526
%1537 = OpCompositeConstruct %v3float %1536 %1526 %float_1
%1538 = OpMatrixTimesVector %v3float %442 %1535
%1539 = OpDot %float %1537 %1538
OpBranch %1515
%1515 = OpLabel
%1540 = OpPhi %float %1519 %1517 %1539 %1516
OpBranch %1507
%1508 = OpLabel
%1541 = OpFSub %float %1497 %1423
%1542 = OpFMul %float %float_3 %1541
%1543 = OpFSub %float %1504 %1423
%1544 = OpFDiv %float %1542 %1543
%1545 = OpConvertFToS %int %1544
%1546 = OpConvertSToF %float %1545
%1547 = OpFSub %float %1544 %1546
%1548 = OpAccessChain %_ptr_Function_float %504 %1545
%1549 = OpLoad %float %1548
%1550 = OpIAdd %int %1545 %int_1
%1551 = OpAccessChain %_ptr_Function_float %504 %1550
%1552 = OpLoad %float %1551
%1553 = OpIAdd %int %1545 %int_2
%1554 = OpAccessChain %_ptr_Function_float %504 %1553
%1555 = OpLoad %float %1554
%1556 = OpCompositeConstruct %v3float %1549 %1552 %1555
%1557 = OpFMul %float %1547 %1547
%1558 = OpCompositeConstruct %v3float %1557 %1547 %float_1
%1559 = OpMatrixTimesVector %v3float %442 %1556
%1560 = OpDot %float %1558 %1559
OpBranch %1507
%1507 = OpLabel
%1561 = OpPhi %float %1540 %1515 %1560 %1508
OpBranch %1499
%1500 = OpLabel
%1562 = OpExtInst %float %1 Log %float_9_99999975en05
%1563 = OpFDiv %float %1562 %1065
OpBranch %1499
%1499 = OpLabel
%1564 = OpPhi %float %1561 %1507 %1563 %1500
%1565 = OpExtInst %float %1 Pow %float_10 %1564
%1566 = OpCompositeInsert %v3float %1565 %1492 1
%1567 = OpCompositeExtract %float %1411 2
OpStore %506 %475
OpStore %505 %476
%1568 = OpFOrdLessThanEqual %bool %1567 %float_0
%1569 = OpSelect %float %1568 %1418 %1567
%1570 = OpExtInst %float %1 Log %1569
%1571 = OpFDiv %float %1570 %1065
%1572 = OpFOrdLessThanEqual %bool %1571 %1423
OpSelectionMerge %1573 None
OpBranchConditional %1572 %1574 %1575
%1575 = OpLabel
%1576 = OpFOrdGreaterThan %bool %1571 %1423
%1577 = OpExtInst %float %1 Log %float_0_180000007
%1578 = OpFDiv %float %1577 %1065
%1579 = OpFOrdLessThan %bool %1571 %1578
%1580 = OpLogicalAnd %bool %1576 %1579
OpSelectionMerge %1581 None
OpBranchConditional %1580 %1582 %1583
%1583 = OpLabel
%1584 = OpFOrdGreaterThanEqual %bool %1571 %1578
%1585 = OpExtInst %float %1 Log %1416
%1586 = OpFDiv %float %1585 %1065
%1587 = OpFOrdLessThan %bool %1571 %1586
%1588 = OpLogicalAnd %bool %1584 %1587
OpSelectionMerge %1589 None
OpBranchConditional %1588 %1590 %1591
%1591 = OpLabel
%1592 = OpExtInst %float %1 Log %float_10000
%1593 = OpFDiv %float %1592 %1065
OpBranch %1589
%1590 = OpLabel
%1594 = OpFSub %float %1571 %1578
%1595 = OpFMul %float %float_3 %1594
%1596 = OpFSub %float %1586 %1578
%1597 = OpFDiv %float %1595 %1596
%1598 = OpConvertFToS %int %1597
%1599 = OpConvertSToF %float %1598
%1600 = OpFSub %float %1597 %1599
%1601 = OpAccessChain %_ptr_Function_float %505 %1598
%1602 = OpLoad %float %1601
%1603 = OpIAdd %int %1598 %int_1
%1604 = OpAccessChain %_ptr_Function_float %505 %1603
%1605 = OpLoad %float %1604
%1606 = OpIAdd %int %1598 %int_2
%1607 = OpAccessChain %_ptr_Function_float %505 %1606
%1608 = OpLoad %float %1607
%1609 = OpCompositeConstruct %v3float %1602 %1605 %1608
%1610 = OpFMul %float %1600 %1600
%1611 = OpCompositeConstruct %v3float %1610 %1600 %float_1
%1612 = OpMatrixTimesVector %v3float %442 %1609
%1613 = OpDot %float %1611 %1612
OpBranch %1589
%1589 = OpLabel
%1614 = OpPhi %float %1593 %1591 %1613 %1590
OpBranch %1581
%1582 = OpLabel
%1615 = OpFSub %float %1571 %1423
%1616 = OpFMul %float %float_3 %1615
%1617 = OpFSub %float %1578 %1423
%1618 = OpFDiv %float %1616 %1617
%1619 = OpConvertFToS %int %1618
%1620 = OpConvertSToF %float %1619
%1621 = OpFSub %float %1618 %1620
%1622 = OpAccessChain %_ptr_Function_float %506 %1619
%1623 = OpLoad %float %1622
%1624 = OpIAdd %int %1619 %int_1
%1625 = OpAccessChain %_ptr_Function_float %506 %1624
%1626 = OpLoad %float %1625
%1627 = OpIAdd %int %1619 %int_2
%1628 = OpAccessChain %_ptr_Function_float %506 %1627
%1629 = OpLoad %float %1628
%1630 = OpCompositeConstruct %v3float %1623 %1626 %1629
%1631 = OpFMul %float %1621 %1621
%1632 = OpCompositeConstruct %v3float %1631 %1621 %float_1
%1633 = OpMatrixTimesVector %v3float %442 %1630
%1634 = OpDot %float %1632 %1633
OpBranch %1581
%1581 = OpLabel
%1635 = OpPhi %float %1614 %1589 %1634 %1582
OpBranch %1573
%1574 = OpLabel
%1636 = OpExtInst %float %1 Log %float_9_99999975en05
%1637 = OpFDiv %float %1636 %1065
OpBranch %1573
%1573 = OpLabel
%1638 = OpPhi %float %1635 %1581 %1637 %1574
%1639 = OpExtInst %float %1 Pow %float_10 %1638
%1640 = OpCompositeInsert %v3float %1639 %1566 2
%1641 = OpVectorTimesMatrix %v3float %1640 %414
%1642 = OpVectorTimesMatrix %v3float %1641 %410
%1643 = OpExtInst %float %1 Pow %float_2 %float_n12
%1644 = OpFMul %float %float_0_179999992 %1643
OpStore %514 %475
OpStore %513 %476
%1645 = OpFOrdLessThanEqual %bool %1644 %float_0
%1646 = OpSelect %float %1645 %1418 %1644
%1647 = OpExtInst %float %1 Log %1646
%1648 = OpFDiv %float %1647 %1065
%1649 = OpFOrdLessThanEqual %bool %1648 %1423
OpSelectionMerge %1650 None
OpBranchConditional %1649 %1651 %1652
%1652 = OpLabel
%1653 = OpFOrdGreaterThan %bool %1648 %1423
%1654 = OpExtInst %float %1 Log %float_0_180000007
%1655 = OpFDiv %float %1654 %1065
%1656 = OpFOrdLessThan %bool %1648 %1655
%1657 = OpLogicalAnd %bool %1653 %1656
OpSelectionMerge %1658 None
OpBranchConditional %1657 %1659 %1660
%1660 = OpLabel
%1661 = OpFOrdGreaterThanEqual %bool %1648 %1655
%1662 = OpExtInst %float %1 Log %1416
%1663 = OpFDiv %float %1662 %1065
%1664 = OpFOrdLessThan %bool %1648 %1663
%1665 = OpLogicalAnd %bool %1661 %1664
OpSelectionMerge %1666 None
OpBranchConditional %1665 %1667 %1668
%1668 = OpLabel
%1669 = OpExtInst %float %1 Log %float_10000
%1670 = OpFDiv %float %1669 %1065
OpBranch %1666
%1667 = OpLabel
%1671 = OpFSub %float %1648 %1655
%1672 = OpFMul %float %float_3 %1671
%1673 = OpFSub %float %1663 %1655
%1674 = OpFDiv %float %1672 %1673
%1675 = OpConvertFToS %int %1674
%1676 = OpConvertSToF %float %1675
%1677 = OpFSub %float %1674 %1676
%1678 = OpAccessChain %_ptr_Function_float %513 %1675
%1679 = OpLoad %float %1678
%1680 = OpIAdd %int %1675 %int_1
%1681 = OpAccessChain %_ptr_Function_float %513 %1680
%1682 = OpLoad %float %1681
%1683 = OpIAdd %int %1675 %int_2
%1684 = OpAccessChain %_ptr_Function_float %513 %1683
%1685 = OpLoad %float %1684
%1686 = OpCompositeConstruct %v3float %1679 %1682 %1685
%1687 = OpFMul %float %1677 %1677
%1688 = OpCompositeConstruct %v3float %1687 %1677 %float_1
%1689 = OpMatrixTimesVector %v3float %442 %1686
%1690 = OpDot %float %1688 %1689
OpBranch %1666
%1666 = OpLabel
%1691 = OpPhi %float %1670 %1668 %1690 %1667
OpBranch %1658
%1659 = OpLabel
%1692 = OpFSub %float %1648 %1423
%1693 = OpFMul %float %float_3 %1692
%1694 = OpFSub %float %1655 %1423
%1695 = OpFDiv %float %1693 %1694
%1696 = OpConvertFToS %int %1695
%1697 = OpConvertSToF %float %1696
%1698 = OpFSub %float %1695 %1697
%1699 = OpAccessChain %_ptr_Function_float %514 %1696
%1700 = OpLoad %float %1699
%1701 = OpIAdd %int %1696 %int_1
%1702 = OpAccessChain %_ptr_Function_float %514 %1701
%1703 = OpLoad %float %1702
%1704 = OpIAdd %int %1696 %int_2
%1705 = OpAccessChain %_ptr_Function_float %514 %1704
%1706 = OpLoad %float %1705
%1707 = OpCompositeConstruct %v3float %1700 %1703 %1706
%1708 = OpFMul %float %1698 %1698
%1709 = OpCompositeConstruct %v3float %1708 %1698 %float_1
%1710 = OpMatrixTimesVector %v3float %442 %1707
%1711 = OpDot %float %1709 %1710
OpBranch %1658
%1658 = OpLabel
%1712 = OpPhi %float %1691 %1666 %1711 %1659
OpBranch %1650
%1651 = OpLabel
%1713 = OpExtInst %float %1 Log %float_9_99999975en05
%1714 = OpFDiv %float %1713 %1065
OpBranch %1650
%1650 = OpLabel
%1715 = OpPhi %float %1712 %1658 %1714 %1651
%1716 = OpExtInst %float %1 Pow %float_10 %1715
OpStore %516 %475
OpStore %515 %476
%1717 = OpExtInst %float %1 Log %float_0_180000007
%1718 = OpFDiv %float %1717 %1065
%1719 = OpFOrdLessThanEqual %bool %1718 %1423
OpSelectionMerge %1720 None
OpBranchConditional %1719 %1721 %1722
%1722 = OpLabel
%1723 = OpFOrdGreaterThan %bool %1718 %1423
%1724 = OpFOrdLessThan %bool %1718 %1718
%1725 = OpLogicalAnd %bool %1723 %1724
OpSelectionMerge %1726 None
OpBranchConditional %1725 %1727 %1728
%1728 = OpLabel
%1729 = OpFOrdGreaterThanEqual %bool %1718 %1718
%1730 = OpExtInst %float %1 Log %1416
%1731 = OpFDiv %float %1730 %1065
%1732 = OpFOrdLessThan %bool %1718 %1731
%1733 = OpLogicalAnd %bool %1729 %1732
OpSelectionMerge %1734 None
OpBranchConditional %1733 %1735 %1736
%1736 = OpLabel
%1737 = OpExtInst %float %1 Log %float_10000
%1738 = OpFDiv %float %1737 %1065
OpBranch %1734
%1735 = OpLabel
%1739 = OpFSub %float %1718 %1718
%1740 = OpFMul %float %float_3 %1739
%1741 = OpFSub %float %1731 %1718
%1742 = OpFDiv %float %1740 %1741
%1743 = OpConvertFToS %int %1742
%1744 = OpConvertSToF %float %1743
%1745 = OpFSub %float %1742 %1744
%1746 = OpAccessChain %_ptr_Function_float %515 %1743
%1747 = OpLoad %float %1746
%1748 = OpIAdd %int %1743 %int_1
%1749 = OpAccessChain %_ptr_Function_float %515 %1748
%1750 = OpLoad %float %1749
%1751 = OpIAdd %int %1743 %int_2
%1752 = OpAccessChain %_ptr_Function_float %515 %1751
%1753 = OpLoad %float %1752
%1754 = OpCompositeConstruct %v3float %1747 %1750 %1753
%1755 = OpFMul %float %1745 %1745
%1756 = OpCompositeConstruct %v3float %1755 %1745 %float_1
%1757 = OpMatrixTimesVector %v3float %442 %1754
%1758 = OpDot %float %1756 %1757
OpBranch %1734
%1734 = OpLabel
%1759 = OpPhi %float %1738 %1736 %1758 %1735
OpBranch %1726
%1727 = OpLabel
%1760 = OpFSub %float %1718 %1423
%1761 = OpFMul %float %float_3 %1760
%1762 = OpAccessChain %_ptr_Function_float %516 %int_3
%1763 = OpLoad %float %1762
%1764 = OpAccessChain %_ptr_Function_float %516 %int_4
%1765 = OpLoad %float %1764
%1766 = OpAccessChain %_ptr_Function_float %516 %int_5
%1767 = OpLoad %float %1766
%1768 = OpCompositeConstruct %v3float %1763 %1765 %1767
%1769 = OpMatrixTimesVector %v3float %442 %1768
%1770 = OpCompositeExtract %float %1769 2
OpBranch %1726
%1726 = OpLabel
%1771 = OpPhi %float %1759 %1734 %1770 %1727
OpBranch %1720
%1721 = OpLabel
%1772 = OpExtInst %float %1 Log %float_9_99999975en05
%1773 = OpFDiv %float %1772 %1065
OpBranch %1720
%1720 = OpLabel
%1774 = OpPhi %float %1771 %1726 %1773 %1721
%1775 = OpExtInst %float %1 Pow %float_10 %1774
%1776 = OpExtInst %float %1 Pow %float_2 %float_11
%1777 = OpFMul %float %float_0_179999992 %1776
OpStore %518 %475
OpStore %517 %476
%1778 = OpFOrdLessThanEqual %bool %1777 %float_0
%1779 = OpSelect %float %1778 %1418 %1777
%1780 = OpExtInst %float %1 Log %1779
%1781 = OpFDiv %float %1780 %1065
%1782 = OpFOrdLessThanEqual %bool %1781 %1423
OpSelectionMerge %1783 None
OpBranchConditional %1782 %1784 %1785
%1785 = OpLabel
%1786 = OpFOrdGreaterThan %bool %1781 %1423
%1787 = OpFOrdLessThan %bool %1781 %1718
%1788 = OpLogicalAnd %bool %1786 %1787
OpSelectionMerge %1789 None
OpBranchConditional %1788 %1790 %1791
%1791 = OpLabel
%1792 = OpFOrdGreaterThanEqual %bool %1781 %1718
%1793 = OpExtInst %float %1 Log %1416
%1794 = OpFDiv %float %1793 %1065
%1795 = OpFOrdLessThan %bool %1781 %1794
%1796 = OpLogicalAnd %bool %1792 %1795
OpSelectionMerge %1797 None
OpBranchConditional %1796 %1798 %1799
%1799 = OpLabel
%1800 = OpExtInst %float %1 Log %float_10000
%1801 = OpFDiv %float %1800 %1065
OpBranch %1797
%1798 = OpLabel
%1802 = OpFSub %float %1781 %1718
%1803 = OpFMul %float %float_3 %1802
%1804 = OpFSub %float %1794 %1718
%1805 = OpFDiv %float %1803 %1804
%1806 = OpConvertFToS %int %1805
%1807 = OpConvertSToF %float %1806
%1808 = OpFSub %float %1805 %1807
%1809 = OpAccessChain %_ptr_Function_float %517 %1806
%1810 = OpLoad %float %1809
%1811 = OpIAdd %int %1806 %int_1
%1812 = OpAccessChain %_ptr_Function_float %517 %1811
%1813 = OpLoad %float %1812
%1814 = OpIAdd %int %1806 %int_2
%1815 = OpAccessChain %_ptr_Function_float %517 %1814
%1816 = OpLoad %float %1815
%1817 = OpCompositeConstruct %v3float %1810 %1813 %1816
%1818 = OpFMul %float %1808 %1808
%1819 = OpCompositeConstruct %v3float %1818 %1808 %float_1
%1820 = OpMatrixTimesVector %v3float %442 %1817
%1821 = OpDot %float %1819 %1820
OpBranch %1797
%1797 = OpLabel
%1822 = OpPhi %float %1801 %1799 %1821 %1798
OpBranch %1789
%1790 = OpLabel
%1823 = OpFSub %float %1781 %1423
%1824 = OpFMul %float %float_3 %1823
%1825 = OpFSub %float %1718 %1423
%1826 = OpFDiv %float %1824 %1825
%1827 = OpConvertFToS %int %1826
%1828 = OpConvertSToF %float %1827
%1829 = OpFSub %float %1826 %1828
%1830 = OpAccessChain %_ptr_Function_float %518 %1827
%1831 = OpLoad %float %1830
%1832 = OpIAdd %int %1827 %int_1
%1833 = OpAccessChain %_ptr_Function_float %518 %1832
%1834 = OpLoad %float %1833
%1835 = OpIAdd %int %1827 %int_2
%1836 = OpAccessChain %_ptr_Function_float %518 %1835
%1837 = OpLoad %float %1836
%1838 = OpCompositeConstruct %v3float %1831 %1834 %1837
%1839 = OpFMul %float %1829 %1829
%1840 = OpCompositeConstruct %v3float %1839 %1829 %float_1
%1841 = OpMatrixTimesVector %v3float %442 %1838
%1842 = OpDot %float %1840 %1841
OpBranch %1789
%1789 = OpLabel
%1843 = OpPhi %float %1822 %1797 %1842 %1790
OpBranch %1783
%1784 = OpLabel
%1844 = OpExtInst %float %1 Log %float_9_99999975en05
%1845 = OpFDiv %float %1844 %1065
OpBranch %1783
%1783 = OpLabel
%1846 = OpPhi %float %1843 %1789 %1845 %1784
%1847 = OpExtInst %float %1 Pow %float_10 %1846
%1848 = OpCompositeExtract %float %1642 0
OpStore %512 %482
OpStore %511 %483
%1849 = OpFOrdLessThanEqual %bool %1848 %float_0
%1850 = OpSelect %float %1849 %float_9_99999975en05 %1848
%1851 = OpExtInst %float %1 Log %1850
%1852 = OpFDiv %float %1851 %1065
%1853 = OpExtInst %float %1 Log %1716
%1854 = OpFDiv %float %1853 %1065
%1855 = OpFOrdLessThanEqual %bool %1852 %1854
OpSelectionMerge %1856 None
OpBranchConditional %1855 %1857 %1858
%1858 = OpLabel
%1859 = OpFOrdGreaterThan %bool %1852 %1854
%1860 = OpExtInst %float %1 Log %1775
%1861 = OpFDiv %float %1860 %1065
%1862 = OpFOrdLessThan %bool %1852 %1861
%1863 = OpLogicalAnd %bool %1859 %1862
OpSelectionMerge %1864 None
OpBranchConditional %1863 %1865 %1866
%1866 = OpLabel
%1867 = OpFOrdGreaterThanEqual %bool %1852 %1861
%1868 = OpExtInst %float %1 Log %1847
%1869 = OpFDiv %float %1868 %1065
%1870 = OpFOrdLessThan %bool %1852 %1869
%1871 = OpLogicalAnd %bool %1867 %1870
OpSelectionMerge %1872 None
OpBranchConditional %1871 %1873 %1874
%1874 = OpLabel
%1875 = OpFMul %float %1852 %float_0_119999997
%1876 = OpExtInst %float %1 Log %float_2000
%1877 = OpFDiv %float %1876 %1065
%1878 = OpFMul %float %float_0_119999997 %1868
%1879 = OpFDiv %float %1878 %1065
%1880 = OpFSub %float %1877 %1879
%1881 = OpFAdd %float %1875 %1880
OpBranch %1872
%1873 = OpLabel
%1882 = OpFSub %float %1852 %1861
%1883 = OpFMul %float %float_7 %1882
%1884 = OpFSub %float %1869 %1861
%1885 = OpFDiv %float %1883 %1884
%1886 = OpConvertFToS %int %1885
%1887 = OpConvertSToF %float %1886
%1888 = OpFSub %float %1885 %1887
%1889 = OpAccessChain %_ptr_Function_float %511 %1886
%1890 = OpLoad %float %1889
%1891 = OpIAdd %int %1886 %int_1
%1892 = OpAccessChain %_ptr_Function_float %511 %1891
%1893 = OpLoad %float %1892
%1894 = OpIAdd %int %1886 %int_2
%1895 = OpAccessChain %_ptr_Function_float %511 %1894
%1896 = OpLoad %float %1895
%1897 = OpCompositeConstruct %v3float %1890 %1893 %1896
%1898 = OpFMul %float %1888 %1888
%1899 = OpCompositeConstruct %v3float %1898 %1888 %float_1
%1900 = OpMatrixTimesVector %v3float %442 %1897
%1901 = OpDot %float %1899 %1900
OpBranch %1872
%1872 = OpLabel
%1902 = OpPhi %float %1881 %1874 %1901 %1873
OpBranch %1864
%1865 = OpLabel
%1903 = OpFSub %float %1852 %1854
%1904 = OpFMul %float %float_7 %1903
%1905 = OpFSub %float %1861 %1854
%1906 = OpFDiv %float %1904 %1905
%1907 = OpConvertFToS %int %1906
%1908 = OpConvertSToF %float %1907
%1909 = OpFSub %float %1906 %1908
%1910 = OpAccessChain %_ptr_Function_float %512 %1907
%1911 = OpLoad %float %1910
%1912 = OpIAdd %int %1907 %int_1
%1913 = OpAccessChain %_ptr_Function_float %512 %1912
%1914 = OpLoad %float %1913
%1915 = OpIAdd %int %1907 %int_2
%1916 = OpAccessChain %_ptr_Function_float %512 %1915
%1917 = OpLoad %float %1916
%1918 = OpCompositeConstruct %v3float %1911 %1914 %1917
%1919 = OpFMul %float %1909 %1909
%1920 = OpCompositeConstruct %v3float %1919 %1909 %float_1
%1921 = OpMatrixTimesVector %v3float %442 %1918
%1922 = OpDot %float %1920 %1921
OpBranch %1864
%1864 = OpLabel
%1923 = OpPhi %float %1902 %1872 %1922 %1865
OpBranch %1856
%1857 = OpLabel
%1924 = OpExtInst %float %1 Log %float_0_00499999989
%1925 = OpFDiv %float %1924 %1065
OpBranch %1856
%1856 = OpLabel
%1926 = OpPhi %float %1923 %1864 %1925 %1857
%1927 = OpExtInst %float %1 Pow %float_10 %1926
%1928 = OpCompositeInsert %v3float %1927 %391 0
%1929 = OpCompositeExtract %float %1642 1
OpStore %510 %482
OpStore %509 %483
%1930 = OpFOrdLessThanEqual %bool %1929 %float_0
%1931 = OpSelect %float %1930 %float_9_99999975en05 %1929
%1932 = OpExtInst %float %1 Log %1931
%1933 = OpFDiv %float %1932 %1065
%1934 = OpFOrdLessThanEqual %bool %1933 %1854
OpSelectionMerge %1935 None
OpBranchConditional %1934 %1936 %1937
%1937 = OpLabel
%1938 = OpFOrdGreaterThan %bool %1933 %1854
%1939 = OpExtInst %float %1 Log %1775
%1940 = OpFDiv %float %1939 %1065
%1941 = OpFOrdLessThan %bool %1933 %1940
%1942 = OpLogicalAnd %bool %1938 %1941
OpSelectionMerge %1943 None
OpBranchConditional %1942 %1944 %1945
%1945 = OpLabel
%1946 = OpFOrdGreaterThanEqual %bool %1933 %1940
%1947 = OpExtInst %float %1 Log %1847
%1948 = OpFDiv %float %1947 %1065
%1949 = OpFOrdLessThan %bool %1933 %1948
%1950 = OpLogicalAnd %bool %1946 %1949
OpSelectionMerge %1951 None
OpBranchConditional %1950 %1952 %1953
%1953 = OpLabel
%1954 = OpFMul %float %1933 %float_0_119999997
%1955 = OpExtInst %float %1 Log %float_2000
%1956 = OpFDiv %float %1955 %1065
%1957 = OpFMul %float %float_0_119999997 %1947
%1958 = OpFDiv %float %1957 %1065
%1959 = OpFSub %float %1956 %1958
%1960 = OpFAdd %float %1954 %1959
OpBranch %1951
%1952 = OpLabel
%1961 = OpFSub %float %1933 %1940
%1962 = OpFMul %float %float_7 %1961
%1963 = OpFSub %float %1948 %1940
%1964 = OpFDiv %float %1962 %1963
%1965 = OpConvertFToS %int %1964
%1966 = OpConvertSToF %float %1965
%1967 = OpFSub %float %1964 %1966
%1968 = OpAccessChain %_ptr_Function_float %509 %1965
%1969 = OpLoad %float %1968
%1970 = OpIAdd %int %1965 %int_1
%1971 = OpAccessChain %_ptr_Function_float %509 %1970
%1972 = OpLoad %float %1971
%1973 = OpIAdd %int %1965 %int_2
%1974 = OpAccessChain %_ptr_Function_float %509 %1973
%1975 = OpLoad %float %1974
%1976 = OpCompositeConstruct %v3float %1969 %1972 %1975
%1977 = OpFMul %float %1967 %1967
%1978 = OpCompositeConstruct %v3float %1977 %1967 %float_1
%1979 = OpMatrixTimesVector %v3float %442 %1976
%1980 = OpDot %float %1978 %1979
OpBranch %1951
%1951 = OpLabel
%1981 = OpPhi %float %1960 %1953 %1980 %1952
OpBranch %1943
%1944 = OpLabel
%1982 = OpFSub %float %1933 %1854
%1983 = OpFMul %float %float_7 %1982
%1984 = OpFSub %float %1940 %1854
%1985 = OpFDiv %float %1983 %1984
%1986 = OpConvertFToS %int %1985
%1987 = OpConvertSToF %float %1986
%1988 = OpFSub %float %1985 %1987
%1989 = OpAccessChain %_ptr_Function_float %510 %1986
%1990 = OpLoad %float %1989
%1991 = OpIAdd %int %1986 %int_1
%1992 = OpAccessChain %_ptr_Function_float %510 %1991
%1993 = OpLoad %float %1992
%1994 = OpIAdd %int %1986 %int_2
%1995 = OpAccessChain %_ptr_Function_float %510 %1994
%1996 = OpLoad %float %1995
%1997 = OpCompositeConstruct %v3float %1990 %1993 %1996
%1998 = OpFMul %float %1988 %1988
%1999 = OpCompositeConstruct %v3float %1998 %1988 %float_1
%2000 = OpMatrixTimesVector %v3float %442 %1997
%2001 = OpDot %float %1999 %2000
OpBranch %1943
%1943 = OpLabel
%2002 = OpPhi %float %1981 %1951 %2001 %1944
OpBranch %1935
%1936 = OpLabel
%2003 = OpExtInst %float %1 Log %float_0_00499999989
%2004 = OpFDiv %float %2003 %1065
OpBranch %1935
%1935 = OpLabel
%2005 = OpPhi %float %2002 %1943 %2004 %1936
%2006 = OpExtInst %float %1 Pow %float_10 %2005
%2007 = OpCompositeInsert %v3float %2006 %1928 1
%2008 = OpCompositeExtract %float %1642 2
OpStore %508 %482
OpStore %507 %483
%2009 = OpFOrdLessThanEqual %bool %2008 %float_0
%2010 = OpSelect %float %2009 %float_9_99999975en05 %2008
%2011 = OpExtInst %float %1 Log %2010
%2012 = OpFDiv %float %2011 %1065
%2013 = OpFOrdLessThanEqual %bool %2012 %1854
OpSelectionMerge %2014 None
OpBranchConditional %2013 %2015 %2016
%2016 = OpLabel
%2017 = OpFOrdGreaterThan %bool %2012 %1854
%2018 = OpExtInst %float %1 Log %1775
%2019 = OpFDiv %float %2018 %1065
%2020 = OpFOrdLessThan %bool %2012 %2019
%2021 = OpLogicalAnd %bool %2017 %2020
OpSelectionMerge %2022 None
OpBranchConditional %2021 %2023 %2024
%2024 = OpLabel
%2025 = OpFOrdGreaterThanEqual %bool %2012 %2019
%2026 = OpExtInst %float %1 Log %1847
%2027 = OpFDiv %float %2026 %1065
%2028 = OpFOrdLessThan %bool %2012 %2027
%2029 = OpLogicalAnd %bool %2025 %2028
OpSelectionMerge %2030 None
OpBranchConditional %2029 %2031 %2032
%2032 = OpLabel
%2033 = OpFMul %float %2012 %float_0_119999997
%2034 = OpExtInst %float %1 Log %float_2000
%2035 = OpFDiv %float %2034 %1065
%2036 = OpFMul %float %float_0_119999997 %2026
%2037 = OpFDiv %float %2036 %1065
%2038 = OpFSub %float %2035 %2037
%2039 = OpFAdd %float %2033 %2038
OpBranch %2030
%2031 = OpLabel
%2040 = OpFSub %float %2012 %2019
%2041 = OpFMul %float %float_7 %2040
%2042 = OpFSub %float %2027 %2019
%2043 = OpFDiv %float %2041 %2042
%2044 = OpConvertFToS %int %2043
%2045 = OpConvertSToF %float %2044
%2046 = OpFSub %float %2043 %2045
%2047 = OpAccessChain %_ptr_Function_float %507 %2044
%2048 = OpLoad %float %2047
%2049 = OpIAdd %int %2044 %int_1
%2050 = OpAccessChain %_ptr_Function_float %507 %2049
%2051 = OpLoad %float %2050
%2052 = OpIAdd %int %2044 %int_2
%2053 = OpAccessChain %_ptr_Function_float %507 %2052
%2054 = OpLoad %float %2053
%2055 = OpCompositeConstruct %v3float %2048 %2051 %2054
%2056 = OpFMul %float %2046 %2046
%2057 = OpCompositeConstruct %v3float %2056 %2046 %float_1
%2058 = OpMatrixTimesVector %v3float %442 %2055
%2059 = OpDot %float %2057 %2058
OpBranch %2030
%2030 = OpLabel
%2060 = OpPhi %float %2039 %2032 %2059 %2031
OpBranch %2022
%2023 = OpLabel
%2061 = OpFSub %float %2012 %1854
%2062 = OpFMul %float %float_7 %2061
%2063 = OpFSub %float %2019 %1854
%2064 = OpFDiv %float %2062 %2063
%2065 = OpConvertFToS %int %2064
%2066 = OpConvertSToF %float %2065
%2067 = OpFSub %float %2064 %2066
%2068 = OpAccessChain %_ptr_Function_float %508 %2065
%2069 = OpLoad %float %2068
%2070 = OpIAdd %int %2065 %int_1
%2071 = OpAccessChain %_ptr_Function_float %508 %2070
%2072 = OpLoad %float %2071
%2073 = OpIAdd %int %2065 %int_2
%2074 = OpAccessChain %_ptr_Function_float %508 %2073
%2075 = OpLoad %float %2074
%2076 = OpCompositeConstruct %v3float %2069 %2072 %2075
%2077 = OpFMul %float %2067 %2067
%2078 = OpCompositeConstruct %v3float %2077 %2067 %float_1
%2079 = OpMatrixTimesVector %v3float %442 %2076
%2080 = OpDot %float %2078 %2079
OpBranch %2022
%2022 = OpLabel
%2081 = OpPhi %float %2060 %2030 %2080 %2023
OpBranch %2014
%2015 = OpLabel
%2082 = OpExtInst %float %1 Log %float_0_00499999989
%2083 = OpFDiv %float %2082 %1065
OpBranch %2014
%2014 = OpLabel
%2084 = OpPhi %float %2081 %2022 %2083 %2015
%2085 = OpExtInst %float %1 Pow %float_10 %2084
%2086 = OpCompositeInsert %v3float %2085 %2007 2
%2087 = OpVectorTimesMatrix %v3float %2086 %576
%2088 = OpFMul %v3float %2087 %496
%2089 = OpExtInst %v3float %1 Pow %2088 %263
%2090 = OpFMul %v3float %184 %2089
%2091 = OpFAdd %v3float %183 %2090
%2092 = OpFMul %v3float %185 %2089
%2093 = OpFAdd %v3float %135 %2092
%2094 = OpFDiv %v3float %135 %2093
%2095 = OpFMul %v3float %2091 %2094
%2096 = OpExtInst %v3float %1 Pow %2095 %264
OpBranch %1236
%1236 = OpLabel
%2097 = OpPhi %v3float %1260 %1240 %2096 %2014
OpBranch %1230
%1231 = OpLabel
%2098 = OpMatrixTimesMatrix %mat3v3float %546 %399
%2099 = OpFMul %v3float %906 %262
%2100 = OpVectorTimesMatrix %v3float %2099 %2098
%2101 = OpCompositeExtract %float %2100 0
%2102 = OpCompositeExtract %float %2100 1
%2103 = OpExtInst %float %1 FMin %2101 %2102
%2104 = OpCompositeExtract %float %2100 2
%2105 = OpExtInst %float %1 FMin %2103 %2104
%2106 = OpExtInst %float %1 FMax %2101 %2102
%2107 = OpExtInst %float %1 FMax %2106 %2104
%2108 = OpExtInst %float %1 FMax %2107 %float_1_00000001en10
%2109 = OpExtInst %float %1 FMax %2105 %float_1_00000001en10
%2110 = OpFSub %float %2108 %2109
%2111 = OpExtInst %float %1 FMax %2107 %float_0_00999999978
%2112 = OpFDiv %float %2110 %2111
%2113 = OpFSub %float %2104 %2102
%2114 = OpFMul %float %2104 %2113
%2115 = OpFSub %float %2102 %2101
%2116 = OpFMul %float %2102 %2115
%2117 = OpFAdd %float %2114 %2116
%2118 = OpFSub %float %2101 %2104
%2119 = OpFMul %float %2101 %2118
%2120 = OpFAdd %float %2117 %2119
%2121 = OpExtInst %float %1 Sqrt %2120
%2122 = OpFAdd %float %2104 %2102
%2123 = OpFAdd %float %2122 %2101
%2124 = OpFMul %float %float_1_75 %2121
%2125 = OpFAdd %float %2123 %2124
%2126 = OpFMul %float %2125 %float_0_333333343
%2127 = OpFSub %float %2112 %float_0_400000006
%2128 = OpFMul %float %2127 %float_5
%2129 = OpFMul %float %2127 %float_2_5
%2130 = OpExtInst %float %1 FAbs %2129
%2131 = OpFSub %float %float_1 %2130
%2132 = OpExtInst %float %1 FMax %2131 %float_0
%2133 = OpExtInst %float %1 FSign %2128
%2134 = OpConvertFToS %int %2133
%2135 = OpConvertSToF %float %2134
%2136 = OpFMul %float %2132 %2132
%2137 = OpFSub %float %float_1 %2136
%2138 = OpFMul %float %2135 %2137
%2139 = OpFAdd %float %float_1 %2138
%2140 = OpFMul %float %2139 %float_0_0250000004
%2141 = OpFOrdLessThanEqual %bool %2126 %float_0_0533333346
OpSelectionMerge %2142 None
OpBranchConditional %2141 %2143 %2144
%2144 = OpLabel
%2145 = OpFOrdGreaterThanEqual %bool %2126 %float_0_159999996
OpSelectionMerge %2146 None
OpBranchConditional %2145 %2147 %2148
%2148 = OpLabel
%2149 = OpFDiv %float %float_0_239999995 %2125
%2150 = OpFSub %float %2149 %float_0_5
%2151 = OpFMul %float %2140 %2150
OpBranch %2146
%2147 = OpLabel
OpBranch %2146
%2146 = OpLabel
%2152 = OpPhi %float %2151 %2148 %float_0 %2147
OpBranch %2142
%2143 = OpLabel
OpBranch %2142
%2142 = OpLabel
%2153 = OpPhi %float %2152 %2146 %2140 %2143
%2154 = OpFAdd %float %float_1 %2153
%2155 = OpCompositeConstruct %v3float %2154 %2154 %2154
%2156 = OpFMul %v3float %2100 %2155
%2157 = OpCompositeExtract %float %2156 0
%2158 = OpCompositeExtract %float %2156 1
%2159 = OpFOrdEqual %bool %2157 %2158
%2160 = OpCompositeExtract %float %2156 2
%2161 = OpFOrdEqual %bool %2158 %2160
%2162 = OpLogicalAnd %bool %2159 %2161
OpSelectionMerge %2163 None
OpBranchConditional %2162 %2164 %2165
%2165 = OpLabel
%2166 = OpExtInst %float %1 Sqrt %float_3
%2167 = OpFSub %float %2158 %2160
%2168 = OpFMul %float %2166 %2167
%2169 = OpFMul %float %float_2 %2157
%2170 = OpFSub %float %2169 %2158
%2171 = OpFSub %float %2170 %2160
%2172 = OpExtInst %float %1 Atan2 %2168 %2171
%2173 = OpFMul %float %float_57_2957764 %2172
OpBranch %2163
%2164 = OpLabel
OpBranch %2163
%2163 = OpLabel
%2174 = OpPhi %float %2173 %2165 %float_0 %2164
%2175 = OpFOrdLessThan %bool %2174 %float_0
OpSelectionMerge %2176 None
OpBranchConditional %2175 %2177 %2176
%2177 = OpLabel
%2178 = OpFAdd %float %2174 %float_360
OpBranch %2176
%2176 = OpLabel
%2179 = OpPhi %float %2174 %2163 %2178 %2177
%2180 = OpExtInst %float %1 FClamp %2179 %float_0 %float_360
%2181 = OpFOrdGreaterThan %bool %2180 %float_180
OpSelectionMerge %2182 None
OpBranchConditional %2181 %2183 %2182
%2183 = OpLabel
%2184 = OpFSub %float %2180 %float_360
OpBranch %2182
%2182 = OpLabel
%2185 = OpPhi %float %2180 %2176 %2184 %2183
%2186 = OpFOrdGreaterThan %bool %2185 %float_n67_5
%2187 = OpFOrdLessThan %bool %2185 %float_67_5
%2188 = OpLogicalAnd %bool %2186 %2187
OpSelectionMerge %2189 None
OpBranchConditional %2188 %2190 %2189
%2190 = OpLabel
%2191 = OpFSub %float %2185 %float_n67_5
%2192 = OpFMul %float %2191 %float_0_0296296291
%2193 = OpConvertFToS %int %2192
%2194 = OpConvertSToF %float %2193
%2195 = OpFSub %float %2192 %2194
%2196 = OpFMul %float %2195 %2195
%2197 = OpFMul %float %2196 %2195
%2198 = OpIEqual %bool %2193 %int_3
OpSelectionMerge %2199 None
OpBranchConditional %2198 %2200 %2201
%2201 = OpLabel
%2202 = OpIEqual %bool %2193 %int_2
OpSelectionMerge %2203 None
OpBranchConditional %2202 %2204 %2205
%2205 = OpLabel
%2206 = OpIEqual %bool %2193 %int_1
OpSelectionMerge %2207 None
OpBranchConditional %2206 %2208 %2209
%2209 = OpLabel
%2210 = OpIEqual %bool %2193 %int_0
OpSelectionMerge %2211 None
OpBranchConditional %2210 %2212 %2213
%2213 = OpLabel
OpBranch %2211
%2212 = OpLabel
%2214 = OpFMul %float %2197 %float_0_166666672
OpBranch %2211
%2211 = OpLabel
%2215 = OpPhi %float %float_0 %2213 %2214 %2212
OpBranch %2207
%2208 = OpLabel
%2216 = OpFMul %float %2197 %float_n0_5
%2217 = OpFMul %float %2196 %float_0_5
%2218 = OpFAdd %float %2216 %2217
%2219 = OpFMul %float %2195 %float_0_5
%2220 = OpFAdd %float %2218 %2219
%2221 = OpFAdd %float %2220 %float_0_166666672
OpBranch %2207
%2207 = OpLabel
%2222 = OpPhi %float %2215 %2211 %2221 %2208
OpBranch %2203
%2204 = OpLabel
%2223 = OpFMul %float %2197 %float_0_5
%2224 = OpFMul %float %2196 %float_n1
%2225 = OpFAdd %float %2223 %2224
%2226 = OpFAdd %float %2225 %float_0_666666687
OpBranch %2203
%2203 = OpLabel
%2227 = OpPhi %float %2222 %2207 %2226 %2204
OpBranch %2199
%2200 = OpLabel
%2228 = OpFMul %float %2197 %float_n0_166666672
%2229 = OpFMul %float %2196 %float_0_5
%2230 = OpFAdd %float %2228 %2229
%2231 = OpFMul %float %2195 %float_n0_5
%2232 = OpFAdd %float %2230 %2231
%2233 = OpFAdd %float %2232 %float_0_166666672
OpBranch %2199
%2199 = OpLabel
%2234 = OpPhi %float %2227 %2203 %2233 %2200
OpBranch %2189
%2189 = OpLabel
%2235 = OpPhi %float %float_0 %2182 %2234 %2199
%2236 = OpFMul %float %2235 %float_1_5
%2237 = OpFMul %float %2236 %2112
%2238 = OpFSub %float %float_0_0299999993 %2157
%2239 = OpFMul %float %2237 %2238
%2240 = OpFMul %float %2239 %float_0_180000007
%2241 = OpFAdd %float %2157 %2240
%2242 = OpCompositeInsert %v3float %2241 %2156 0
%2243 = OpExtInst %v3float %1 FClamp %2242 %132 %314
%2244 = OpVectorTimesMatrix %v3float %2243 %410
%2245 = OpExtInst %v3float %1 FClamp %2244 %132 %314
%2246 = OpDot %float %2245 %67
%2247 = OpCompositeConstruct %v3float %2246 %2246 %2246
%2248 = OpExtInst %v3float %1 FMix %2247 %2245 %228
%2249 = OpCompositeExtract %float %2248 0
%2250 = OpExtInst %float %1 Exp2 %float_n15
%2251 = OpFMul %float %float_0_179999992 %2250
%2252 = OpExtInst %float %1 Exp2 %float_18
%2253 = OpFMul %float %float_0_179999992 %2252
OpStore %520 %475
OpStore %519 %476
%2254 = OpFOrdLessThanEqual %bool %2249 %float_0
%2255 = OpExtInst %float %1 Exp2 %float_n14
%2256 = OpSelect %float %2254 %2255 %2249
%2257 = OpExtInst %float %1 Log %2256
%2258 = OpFDiv %float %2257 %1065
%2259 = OpExtInst %float %1 Log %2251
%2260 = OpFDiv %float %2259 %1065
%2261 = OpFOrdLessThanEqual %bool %2258 %2260
OpSelectionMerge %2262 None
OpBranchConditional %2261 %2263 %2264
%2264 = OpLabel
%2265 = OpFOrdGreaterThan %bool %2258 %2260
%2266 = OpExtInst %float %1 Log %float_0_180000007
%2267 = OpFDiv %float %2266 %1065
%2268 = OpFOrdLessThan %bool %2258 %2267
%2269 = OpLogicalAnd %bool %2265 %2268
OpSelectionMerge %2270 None
OpBranchConditional %2269 %2271 %2272
%2272 = OpLabel
%2273 = OpFOrdGreaterThanEqual %bool %2258 %2267
%2274 = OpExtInst %float %1 Log %2253
%2275 = OpFDiv %float %2274 %1065
%2276 = OpFOrdLessThan %bool %2258 %2275
%2277 = OpLogicalAnd %bool %2273 %2276
OpSelectionMerge %2278 None
OpBranchConditional %2277 %2279 %2280
%2280 = OpLabel
%2281 = OpExtInst %float %1 Log %float_10000
%2282 = OpFDiv %float %2281 %1065
OpBranch %2278
%2279 = OpLabel
%2283 = OpFSub %float %2258 %2267
%2284 = OpFMul %float %float_3 %2283
%2285 = OpFSub %float %2275 %2267
%2286 = OpFDiv %float %2284 %2285
%2287 = OpConvertFToS %int %2286
%2288 = OpConvertSToF %float %2287
%2289 = OpFSub %float %2286 %2288
%2290 = OpAccessChain %_ptr_Function_float %519 %2287
%2291 = OpLoad %float %2290
%2292 = OpIAdd %int %2287 %int_1
%2293 = OpAccessChain %_ptr_Function_float %519 %2292
%2294 = OpLoad %float %2293
%2295 = OpIAdd %int %2287 %int_2
%2296 = OpAccessChain %_ptr_Function_float %519 %2295
%2297 = OpLoad %float %2296
%2298 = OpCompositeConstruct %v3float %2291 %2294 %2297
%2299 = OpFMul %float %2289 %2289
%2300 = OpCompositeConstruct %v3float %2299 %2289 %float_1
%2301 = OpMatrixTimesVector %v3float %442 %2298
%2302 = OpDot %float %2300 %2301
OpBranch %2278
%2278 = OpLabel
%2303 = OpPhi %float %2282 %2280 %2302 %2279
OpBranch %2270
%2271 = OpLabel
%2304 = OpFSub %float %2258 %2260
%2305 = OpFMul %float %float_3 %2304
%2306 = OpFSub %float %2267 %2260
%2307 = OpFDiv %float %2305 %2306
%2308 = OpConvertFToS %int %2307
%2309 = OpConvertSToF %float %2308
%2310 = OpFSub %float %2307 %2309
%2311 = OpAccessChain %_ptr_Function_float %520 %2308
%2312 = OpLoad %float %2311
%2313 = OpIAdd %int %2308 %int_1
%2314 = OpAccessChain %_ptr_Function_float %520 %2313
%2315 = OpLoad %float %2314
%2316 = OpIAdd %int %2308 %int_2
%2317 = OpAccessChain %_ptr_Function_float %520 %2316
%2318 = OpLoad %float %2317
%2319 = OpCompositeConstruct %v3float %2312 %2315 %2318
%2320 = OpFMul %float %2310 %2310
%2321 = OpCompositeConstruct %v3float %2320 %2310 %float_1
%2322 = OpMatrixTimesVector %v3float %442 %2319
%2323 = OpDot %float %2321 %2322
OpBranch %2270
%2270 = OpLabel
%2324 = OpPhi %float %2303 %2278 %2323 %2271
OpBranch %2262
%2263 = OpLabel
%2325 = OpExtInst %float %1 Log %float_9_99999975en05
%2326 = OpFDiv %float %2325 %1065
OpBranch %2262
%2262 = OpLabel
%2327 = OpPhi %float %2324 %2270 %2326 %2263
%2328 = OpExtInst %float %1 Pow %float_10 %2327
%2329 = OpCompositeInsert %v3float %2328 %391 0
%2330 = OpCompositeExtract %float %2248 1
OpStore %522 %475
OpStore %521 %476
%2331 = OpFOrdLessThanEqual %bool %2330 %float_0
%2332 = OpSelect %float %2331 %2255 %2330
%2333 = OpExtInst %float %1 Log %2332
%2334 = OpFDiv %float %2333 %1065
%2335 = OpFOrdLessThanEqual %bool %2334 %2260
OpSelectionMerge %2336 None
OpBranchConditional %2335 %2337 %2338
%2338 = OpLabel
%2339 = OpFOrdGreaterThan %bool %2334 %2260
%2340 = OpExtInst %float %1 Log %float_0_180000007
%2341 = OpFDiv %float %2340 %1065
%2342 = OpFOrdLessThan %bool %2334 %2341
%2343 = OpLogicalAnd %bool %2339 %2342
OpSelectionMerge %2344 None
OpBranchConditional %2343 %2345 %2346
%2346 = OpLabel
%2347 = OpFOrdGreaterThanEqual %bool %2334 %2341
%2348 = OpExtInst %float %1 Log %2253
%2349 = OpFDiv %float %2348 %1065
%2350 = OpFOrdLessThan %bool %2334 %2349
%2351 = OpLogicalAnd %bool %2347 %2350
OpSelectionMerge %2352 None
OpBranchConditional %2351 %2353 %2354
%2354 = OpLabel
%2355 = OpExtInst %float %1 Log %float_10000
%2356 = OpFDiv %float %2355 %1065
OpBranch %2352
%2353 = OpLabel
%2357 = OpFSub %float %2334 %2341
%2358 = OpFMul %float %float_3 %2357
%2359 = OpFSub %float %2349 %2341
%2360 = OpFDiv %float %2358 %2359
%2361 = OpConvertFToS %int %2360
%2362 = OpConvertSToF %float %2361
%2363 = OpFSub %float %2360 %2362
%2364 = OpAccessChain %_ptr_Function_float %521 %2361
%2365 = OpLoad %float %2364
%2366 = OpIAdd %int %2361 %int_1
%2367 = OpAccessChain %_ptr_Function_float %521 %2366
%2368 = OpLoad %float %2367
%2369 = OpIAdd %int %2361 %int_2
%2370 = OpAccessChain %_ptr_Function_float %521 %2369
%2371 = OpLoad %float %2370
%2372 = OpCompositeConstruct %v3float %2365 %2368 %2371
%2373 = OpFMul %float %2363 %2363
%2374 = OpCompositeConstruct %v3float %2373 %2363 %float_1
%2375 = OpMatrixTimesVector %v3float %442 %2372
%2376 = OpDot %float %2374 %2375
OpBranch %2352
%2352 = OpLabel
%2377 = OpPhi %float %2356 %2354 %2376 %2353
OpBranch %2344
%2345 = OpLabel
%2378 = OpFSub %float %2334 %2260
%2379 = OpFMul %float %float_3 %2378
%2380 = OpFSub %float %2341 %2260
%2381 = OpFDiv %float %2379 %2380
%2382 = OpConvertFToS %int %2381
%2383 = OpConvertSToF %float %2382
%2384 = OpFSub %float %2381 %2383
%2385 = OpAccessChain %_ptr_Function_float %522 %2382
%2386 = OpLoad %float %2385
%2387 = OpIAdd %int %2382 %int_1
%2388 = OpAccessChain %_ptr_Function_float %522 %2387
%2389 = OpLoad %float %2388
%2390 = OpIAdd %int %2382 %int_2
%2391 = OpAccessChain %_ptr_Function_float %522 %2390
%2392 = OpLoad %float %2391
%2393 = OpCompositeConstruct %v3float %2386 %2389 %2392
%2394 = OpFMul %float %2384 %2384
%2395 = OpCompositeConstruct %v3float %2394 %2384 %float_1
%2396 = OpMatrixTimesVector %v3float %442 %2393
%2397 = OpDot %float %2395 %2396
OpBranch %2344
%2344 = OpLabel
%2398 = OpPhi %float %2377 %2352 %2397 %2345
OpBranch %2336
%2337 = OpLabel
%2399 = OpExtInst %float %1 Log %float_9_99999975en05
%2400 = OpFDiv %float %2399 %1065
OpBranch %2336
%2336 = OpLabel
%2401 = OpPhi %float %2398 %2344 %2400 %2337
%2402 = OpExtInst %float %1 Pow %float_10 %2401
%2403 = OpCompositeInsert %v3float %2402 %2329 1
%2404 = OpCompositeExtract %float %2248 2
OpStore %524 %475
OpStore %523 %476
%2405 = OpFOrdLessThanEqual %bool %2404 %float_0
%2406 = OpSelect %float %2405 %2255 %2404
%2407 = OpExtInst %float %1 Log %2406
%2408 = OpFDiv %float %2407 %1065
%2409 = OpFOrdLessThanEqual %bool %2408 %2260
OpSelectionMerge %2410 None
OpBranchConditional %2409 %2411 %2412
%2412 = OpLabel
%2413 = OpFOrdGreaterThan %bool %2408 %2260
%2414 = OpExtInst %float %1 Log %float_0_180000007
%2415 = OpFDiv %float %2414 %1065
%2416 = OpFOrdLessThan %bool %2408 %2415
%2417 = OpLogicalAnd %bool %2413 %2416
OpSelectionMerge %2418 None
OpBranchConditional %2417 %2419 %2420
%2420 = OpLabel
%2421 = OpFOrdGreaterThanEqual %bool %2408 %2415
%2422 = OpExtInst %float %1 Log %2253
%2423 = OpFDiv %float %2422 %1065
%2424 = OpFOrdLessThan %bool %2408 %2423
%2425 = OpLogicalAnd %bool %2421 %2424
OpSelectionMerge %2426 None
OpBranchConditional %2425 %2427 %2428
%2428 = OpLabel
%2429 = OpExtInst %float %1 Log %float_10000
%2430 = OpFDiv %float %2429 %1065
OpBranch %2426
%2427 = OpLabel
%2431 = OpFSub %float %2408 %2415
%2432 = OpFMul %float %float_3 %2431
%2433 = OpFSub %float %2423 %2415
%2434 = OpFDiv %float %2432 %2433
%2435 = OpConvertFToS %int %2434
%2436 = OpConvertSToF %float %2435
%2437 = OpFSub %float %2434 %2436
%2438 = OpAccessChain %_ptr_Function_float %523 %2435
%2439 = OpLoad %float %2438
%2440 = OpIAdd %int %2435 %int_1
%2441 = OpAccessChain %_ptr_Function_float %523 %2440
%2442 = OpLoad %float %2441
%2443 = OpIAdd %int %2435 %int_2
%2444 = OpAccessChain %_ptr_Function_float %523 %2443
%2445 = OpLoad %float %2444
%2446 = OpCompositeConstruct %v3float %2439 %2442 %2445
%2447 = OpFMul %float %2437 %2437
%2448 = OpCompositeConstruct %v3float %2447 %2437 %float_1
%2449 = OpMatrixTimesVector %v3float %442 %2446
%2450 = OpDot %float %2448 %2449
OpBranch %2426
%2426 = OpLabel
%2451 = OpPhi %float %2430 %2428 %2450 %2427
OpBranch %2418
%2419 = OpLabel
%2452 = OpFSub %float %2408 %2260
%2453 = OpFMul %float %float_3 %2452
%2454 = OpFSub %float %2415 %2260
%2455 = OpFDiv %float %2453 %2454
%2456 = OpConvertFToS %int %2455
%2457 = OpConvertSToF %float %2456
%2458 = OpFSub %float %2455 %2457
%2459 = OpAccessChain %_ptr_Function_float %524 %2456
%2460 = OpLoad %float %2459
%2461 = OpIAdd %int %2456 %int_1
%2462 = OpAccessChain %_ptr_Function_float %524 %2461
%2463 = OpLoad %float %2462
%2464 = OpIAdd %int %2456 %int_2
%2465 = OpAccessChain %_ptr_Function_float %524 %2464
%2466 = OpLoad %float %2465
%2467 = OpCompositeConstruct %v3float %2460 %2463 %2466
%2468 = OpFMul %float %2458 %2458
%2469 = OpCompositeConstruct %v3float %2468 %2458 %float_1
%2470 = OpMatrixTimesVector %v3float %442 %2467
%2471 = OpDot %float %2469 %2470
OpBranch %2418
%2418 = OpLabel
%2472 = OpPhi %float %2451 %2426 %2471 %2419
OpBranch %2410
%2411 = OpLabel
%2473 = OpExtInst %float %1 Log %float_9_99999975en05
%2474 = OpFDiv %float %2473 %1065
OpBranch %2410
%2410 = OpLabel
%2475 = OpPhi %float %2472 %2418 %2474 %2411
%2476 = OpExtInst %float %1 Pow %float_10 %2475
%2477 = OpCompositeInsert %v3float %2476 %2403 2
%2478 = OpVectorTimesMatrix %v3float %2477 %414
%2479 = OpVectorTimesMatrix %v3float %2478 %410
%2480 = OpExtInst %float %1 Pow %float_2 %float_n12
%2481 = OpFMul %float %float_0_179999992 %2480
OpStore %532 %475
OpStore %531 %476
%2482 = OpFOrdLessThanEqual %bool %2481 %float_0
%2483 = OpSelect %float %2482 %2255 %2481
%2484 = OpExtInst %float %1 Log %2483
%2485 = OpFDiv %float %2484 %1065
%2486 = OpFOrdLessThanEqual %bool %2485 %2260
OpSelectionMerge %2487 None
OpBranchConditional %2486 %2488 %2489
%2489 = OpLabel
%2490 = OpFOrdGreaterThan %bool %2485 %2260
%2491 = OpExtInst %float %1 Log %float_0_180000007
%2492 = OpFDiv %float %2491 %1065
%2493 = OpFOrdLessThan %bool %2485 %2492
%2494 = OpLogicalAnd %bool %2490 %2493
OpSelectionMerge %2495 None
OpBranchConditional %2494 %2496 %2497
%2497 = OpLabel
%2498 = OpFOrdGreaterThanEqual %bool %2485 %2492
%2499 = OpExtInst %float %1 Log %2253
%2500 = OpFDiv %float %2499 %1065
%2501 = OpFOrdLessThan %bool %2485 %2500
%2502 = OpLogicalAnd %bool %2498 %2501
OpSelectionMerge %2503 None
OpBranchConditional %2502 %2504 %2505
%2505 = OpLabel
%2506 = OpExtInst %float %1 Log %float_10000
%2507 = OpFDiv %float %2506 %1065
OpBranch %2503
%2504 = OpLabel
%2508 = OpFSub %float %2485 %2492
%2509 = OpFMul %float %float_3 %2508
%2510 = OpFSub %float %2500 %2492
%2511 = OpFDiv %float %2509 %2510
%2512 = OpConvertFToS %int %2511
%2513 = OpConvertSToF %float %2512
%2514 = OpFSub %float %2511 %2513
%2515 = OpAccessChain %_ptr_Function_float %531 %2512
%2516 = OpLoad %float %2515
%2517 = OpIAdd %int %2512 %int_1
%2518 = OpAccessChain %_ptr_Function_float %531 %2517
%2519 = OpLoad %float %2518
%2520 = OpIAdd %int %2512 %int_2
%2521 = OpAccessChain %_ptr_Function_float %531 %2520
%2522 = OpLoad %float %2521
%2523 = OpCompositeConstruct %v3float %2516 %2519 %2522
%2524 = OpFMul %float %2514 %2514
%2525 = OpCompositeConstruct %v3float %2524 %2514 %float_1
%2526 = OpMatrixTimesVector %v3float %442 %2523
%2527 = OpDot %float %2525 %2526
OpBranch %2503
%2503 = OpLabel
%2528 = OpPhi %float %2507 %2505 %2527 %2504
OpBranch %2495
%2496 = OpLabel
%2529 = OpFSub %float %2485 %2260
%2530 = OpFMul %float %float_3 %2529
%2531 = OpFSub %float %2492 %2260
%2532 = OpFDiv %float %2530 %2531
%2533 = OpConvertFToS %int %2532
%2534 = OpConvertSToF %float %2533
%2535 = OpFSub %float %2532 %2534
%2536 = OpAccessChain %_ptr_Function_float %532 %2533
%2537 = OpLoad %float %2536
%2538 = OpIAdd %int %2533 %int_1
%2539 = OpAccessChain %_ptr_Function_float %532 %2538
%2540 = OpLoad %float %2539
%2541 = OpIAdd %int %2533 %int_2
%2542 = OpAccessChain %_ptr_Function_float %532 %2541
%2543 = OpLoad %float %2542
%2544 = OpCompositeConstruct %v3float %2537 %2540 %2543
%2545 = OpFMul %float %2535 %2535
%2546 = OpCompositeConstruct %v3float %2545 %2535 %float_1
%2547 = OpMatrixTimesVector %v3float %442 %2544
%2548 = OpDot %float %2546 %2547
OpBranch %2495
%2495 = OpLabel
%2549 = OpPhi %float %2528 %2503 %2548 %2496
OpBranch %2487
%2488 = OpLabel
%2550 = OpExtInst %float %1 Log %float_9_99999975en05
%2551 = OpFDiv %float %2550 %1065
OpBranch %2487
%2487 = OpLabel
%2552 = OpPhi %float %2549 %2495 %2551 %2488
%2553 = OpExtInst %float %1 Pow %float_10 %2552
OpStore %534 %475
OpStore %533 %476
%2554 = OpExtInst %float %1 Log %float_0_180000007
%2555 = OpFDiv %float %2554 %1065
%2556 = OpFOrdLessThanEqual %bool %2555 %2260
OpSelectionMerge %2557 None
OpBranchConditional %2556 %2558 %2559
%2559 = OpLabel
%2560 = OpFOrdGreaterThan %bool %2555 %2260
%2561 = OpFOrdLessThan %bool %2555 %2555
%2562 = OpLogicalAnd %bool %2560 %2561
OpSelectionMerge %2563 None
OpBranchConditional %2562 %2564 %2565
%2565 = OpLabel
%2566 = OpFOrdGreaterThanEqual %bool %2555 %2555
%2567 = OpExtInst %float %1 Log %2253
%2568 = OpFDiv %float %2567 %1065
%2569 = OpFOrdLessThan %bool %2555 %2568
%2570 = OpLogicalAnd %bool %2566 %2569
OpSelectionMerge %2571 None
OpBranchConditional %2570 %2572 %2573
%2573 = OpLabel
%2574 = OpExtInst %float %1 Log %float_10000
%2575 = OpFDiv %float %2574 %1065
OpBranch %2571
%2572 = OpLabel
%2576 = OpFSub %float %2555 %2555
%2577 = OpFMul %float %float_3 %2576
%2578 = OpFSub %float %2568 %2555
%2579 = OpFDiv %float %2577 %2578
%2580 = OpConvertFToS %int %2579
%2581 = OpConvertSToF %float %2580
%2582 = OpFSub %float %2579 %2581
%2583 = OpAccessChain %_ptr_Function_float %533 %2580
%2584 = OpLoad %float %2583
%2585 = OpIAdd %int %2580 %int_1
%2586 = OpAccessChain %_ptr_Function_float %533 %2585
%2587 = OpLoad %float %2586
%2588 = OpIAdd %int %2580 %int_2
%2589 = OpAccessChain %_ptr_Function_float %533 %2588
%2590 = OpLoad %float %2589
%2591 = OpCompositeConstruct %v3float %2584 %2587 %2590
%2592 = OpFMul %float %2582 %2582
%2593 = OpCompositeConstruct %v3float %2592 %2582 %float_1
%2594 = OpMatrixTimesVector %v3float %442 %2591
%2595 = OpDot %float %2593 %2594
OpBranch %2571
%2571 = OpLabel
%2596 = OpPhi %float %2575 %2573 %2595 %2572
OpBranch %2563
%2564 = OpLabel
%2597 = OpFSub %float %2555 %2260
%2598 = OpFMul %float %float_3 %2597
%2599 = OpAccessChain %_ptr_Function_float %534 %int_3
%2600 = OpLoad %float %2599
%2601 = OpAccessChain %_ptr_Function_float %534 %int_4
%2602 = OpLoad %float %2601
%2603 = OpAccessChain %_ptr_Function_float %534 %int_5
%2604 = OpLoad %float %2603
%2605 = OpCompositeConstruct %v3float %2600 %2602 %2604
%2606 = OpMatrixTimesVector %v3float %442 %2605
%2607 = OpCompositeExtract %float %2606 2
OpBranch %2563
%2563 = OpLabel
%2608 = OpPhi %float %2596 %2571 %2607 %2564
OpBranch %2557
%2558 = OpLabel
%2609 = OpExtInst %float %1 Log %float_9_99999975en05
%2610 = OpFDiv %float %2609 %1065
OpBranch %2557
%2557 = OpLabel
%2611 = OpPhi %float %2608 %2563 %2610 %2558
%2612 = OpExtInst %float %1 Pow %float_10 %2611
%2613 = OpExtInst %float %1 Pow %float_2 %float_10
%2614 = OpFMul %float %float_0_179999992 %2613
OpStore %536 %475
OpStore %535 %476
%2615 = OpFOrdLessThanEqual %bool %2614 %float_0
%2616 = OpSelect %float %2615 %2255 %2614
%2617 = OpExtInst %float %1 Log %2616
%2618 = OpFDiv %float %2617 %1065
%2619 = OpFOrdLessThanEqual %bool %2618 %2260
OpSelectionMerge %2620 None
OpBranchConditional %2619 %2621 %2622
%2622 = OpLabel
%2623 = OpFOrdGreaterThan %bool %2618 %2260
%2624 = OpFOrdLessThan %bool %2618 %2555
%2625 = OpLogicalAnd %bool %2623 %2624
OpSelectionMerge %2626 None
OpBranchConditional %2625 %2627 %2628
%2628 = OpLabel
%2629 = OpFOrdGreaterThanEqual %bool %2618 %2555
%2630 = OpExtInst %float %1 Log %2253
%2631 = OpFDiv %float %2630 %1065
%2632 = OpFOrdLessThan %bool %2618 %2631
%2633 = OpLogicalAnd %bool %2629 %2632
OpSelectionMerge %2634 None
OpBranchConditional %2633 %2635 %2636
%2636 = OpLabel
%2637 = OpExtInst %float %1 Log %float_10000
%2638 = OpFDiv %float %2637 %1065
OpBranch %2634
%2635 = OpLabel
%2639 = OpFSub %float %2618 %2555
%2640 = OpFMul %float %float_3 %2639
%2641 = OpFSub %float %2631 %2555
%2642 = OpFDiv %float %2640 %2641
%2643 = OpConvertFToS %int %2642
%2644 = OpConvertSToF %float %2643
%2645 = OpFSub %float %2642 %2644
%2646 = OpAccessChain %_ptr_Function_float %535 %2643
%2647 = OpLoad %float %2646
%2648 = OpIAdd %int %2643 %int_1
%2649 = OpAccessChain %_ptr_Function_float %535 %2648
%2650 = OpLoad %float %2649
%2651 = OpIAdd %int %2643 %int_2
%2652 = OpAccessChain %_ptr_Function_float %535 %2651
%2653 = OpLoad %float %2652
%2654 = OpCompositeConstruct %v3float %2647 %2650 %2653
%2655 = OpFMul %float %2645 %2645
%2656 = OpCompositeConstruct %v3float %2655 %2645 %float_1
%2657 = OpMatrixTimesVector %v3float %442 %2654
%2658 = OpDot %float %2656 %2657
OpBranch %2634
%2634 = OpLabel
%2659 = OpPhi %float %2638 %2636 %2658 %2635
OpBranch %2626
%2627 = OpLabel
%2660 = OpFSub %float %2618 %2260
%2661 = OpFMul %float %float_3 %2660
%2662 = OpFSub %float %2555 %2260
%2663 = OpFDiv %float %2661 %2662
%2664 = OpConvertFToS %int %2663
%2665 = OpConvertSToF %float %2664
%2666 = OpFSub %float %2663 %2665
%2667 = OpAccessChain %_ptr_Function_float %536 %2664
%2668 = OpLoad %float %2667
%2669 = OpIAdd %int %2664 %int_1
%2670 = OpAccessChain %_ptr_Function_float %536 %2669
%2671 = OpLoad %float %2670
%2672 = OpIAdd %int %2664 %int_2
%2673 = OpAccessChain %_ptr_Function_float %536 %2672
%2674 = OpLoad %float %2673
%2675 = OpCompositeConstruct %v3float %2668 %2671 %2674
%2676 = OpFMul %float %2666 %2666
%2677 = OpCompositeConstruct %v3float %2676 %2666 %float_1
%2678 = OpMatrixTimesVector %v3float %442 %2675
%2679 = OpDot %float %2677 %2678
OpBranch %2626
%2626 = OpLabel
%2680 = OpPhi %float %2659 %2634 %2679 %2627
OpBranch %2620
%2621 = OpLabel
%2681 = OpExtInst %float %1 Log %float_9_99999975en05
%2682 = OpFDiv %float %2681 %1065
OpBranch %2620
%2620 = OpLabel
%2683 = OpPhi %float %2680 %2626 %2682 %2621
%2684 = OpExtInst %float %1 Pow %float_10 %2683
%2685 = OpCompositeExtract %float %2479 0
OpStore %530 %479
OpStore %529 %480
%2686 = OpFOrdLessThanEqual %bool %2685 %float_0
%2687 = OpSelect %float %2686 %float_9_99999975en05 %2685
%2688 = OpExtInst %float %1 Log %2687
%2689 = OpFDiv %float %2688 %1065
%2690 = OpExtInst %float %1 Log %2553
%2691 = OpFDiv %float %2690 %1065
%2692 = OpFOrdLessThanEqual %bool %2689 %2691
OpSelectionMerge %2693 None
OpBranchConditional %2692 %2694 %2695
%2695 = OpLabel
%2696 = OpFOrdGreaterThan %bool %2689 %2691
%2697 = OpExtInst %float %1 Log %2612
%2698 = OpFDiv %float %2697 %1065
%2699 = OpFOrdLessThan %bool %2689 %2698
%2700 = OpLogicalAnd %bool %2696 %2699
OpSelectionMerge %2701 None
OpBranchConditional %2700 %2702 %2703
%2703 = OpLabel
%2704 = OpFOrdGreaterThanEqual %bool %2689 %2698
%2705 = OpExtInst %float %1 Log %2684
%2706 = OpFDiv %float %2705 %1065
%2707 = OpFOrdLessThan %bool %2689 %2706
%2708 = OpLogicalAnd %bool %2704 %2707
OpSelectionMerge %2709 None
OpBranchConditional %2708 %2710 %2711
%2711 = OpLabel
%2712 = OpFMul %float %2689 %float_0_0599999987
%2713 = OpExtInst %float %1 Log %float_1000
%2714 = OpFDiv %float %2713 %1065
%2715 = OpFMul %float %float_0_0599999987 %2705
%2716 = OpFDiv %float %2715 %1065
%2717 = OpFSub %float %2714 %2716
%2718 = OpFAdd %float %2712 %2717
OpBranch %2709
%2710 = OpLabel
%2719 = OpFSub %float %2689 %2698
%2720 = OpFMul %float %float_7 %2719
%2721 = OpFSub %float %2706 %2698
%2722 = OpFDiv %float %2720 %2721
%2723 = OpConvertFToS %int %2722
%2724 = OpConvertSToF %float %2723
%2725 = OpFSub %float %2722 %2724
%2726 = OpAccessChain %_ptr_Function_float %529 %2723
%2727 = OpLoad %float %2726
%2728 = OpIAdd %int %2723 %int_1
%2729 = OpAccessChain %_ptr_Function_float %529 %2728
%2730 = OpLoad %float %2729
%2731 = OpIAdd %int %2723 %int_2
%2732 = OpAccessChain %_ptr_Function_float %529 %2731
%2733 = OpLoad %float %2732
%2734 = OpCompositeConstruct %v3float %2727 %2730 %2733
%2735 = OpFMul %float %2725 %2725
%2736 = OpCompositeConstruct %v3float %2735 %2725 %float_1
%2737 = OpMatrixTimesVector %v3float %442 %2734
%2738 = OpDot %float %2736 %2737
OpBranch %2709
%2709 = OpLabel
%2739 = OpPhi %float %2718 %2711 %2738 %2710
OpBranch %2701
%2702 = OpLabel
%2740 = OpFSub %float %2689 %2691
%2741 = OpFMul %float %float_7 %2740
%2742 = OpFSub %float %2698 %2691
%2743 = OpFDiv %float %2741 %2742
%2744 = OpConvertFToS %int %2743
%2745 = OpConvertSToF %float %2744
%2746 = OpFSub %float %2743 %2745
%2747 = OpAccessChain %_ptr_Function_float %530 %2744
%2748 = OpLoad %float %2747
%2749 = OpIAdd %int %2744 %int_1
%2750 = OpAccessChain %_ptr_Function_float %530 %2749
%2751 = OpLoad %float %2750
%2752 = OpIAdd %int %2744 %int_2
%2753 = OpAccessChain %_ptr_Function_float %530 %2752
%2754 = OpLoad %float %2753
%2755 = OpCompositeConstruct %v3float %2748 %2751 %2754
%2756 = OpFMul %float %2746 %2746
%2757 = OpCompositeConstruct %v3float %2756 %2746 %float_1
%2758 = OpMatrixTimesVector %v3float %442 %2755
%2759 = OpDot %float %2757 %2758
OpBranch %2701
%2701 = OpLabel
%2760 = OpPhi %float %2739 %2709 %2759 %2702
OpBranch %2693
%2694 = OpLabel
%2761 = OpFMul %float %2689 %float_3
%2762 = OpExtInst %float %1 Log %float_9_99999975en05
%2763 = OpFDiv %float %2762 %1065
%2764 = OpFMul %float %float_3 %2690
%2765 = OpFDiv %float %2764 %1065
%2766 = OpFSub %float %2763 %2765
%2767 = OpFAdd %float %2761 %2766
OpBranch %2693
%2693 = OpLabel
%2768 = OpPhi %float %2760 %2701 %2767 %2694
%2769 = OpExtInst %float %1 Pow %float_10 %2768
%2770 = OpCompositeInsert %v3float %2769 %391 0
%2771 = OpCompositeExtract %float %2479 1
OpStore %528 %479
OpStore %527 %480
%2772 = OpFOrdLessThanEqual %bool %2771 %float_0
%2773 = OpSelect %float %2772 %float_9_99999975en05 %2771
%2774 = OpExtInst %float %1 Log %2773
%2775 = OpFDiv %float %2774 %1065
%2776 = OpFOrdLessThanEqual %bool %2775 %2691
OpSelectionMerge %2777 None
OpBranchConditional %2776 %2778 %2779
%2779 = OpLabel
%2780 = OpFOrdGreaterThan %bool %2775 %2691
%2781 = OpExtInst %float %1 Log %2612
%2782 = OpFDiv %float %2781 %1065
%2783 = OpFOrdLessThan %bool %2775 %2782
%2784 = OpLogicalAnd %bool %2780 %2783
OpSelectionMerge %2785 None
OpBranchConditional %2784 %2786 %2787
%2787 = OpLabel
%2788 = OpFOrdGreaterThanEqual %bool %2775 %2782
%2789 = OpExtInst %float %1 Log %2684
%2790 = OpFDiv %float %2789 %1065
%2791 = OpFOrdLessThan %bool %2775 %2790
%2792 = OpLogicalAnd %bool %2788 %2791
OpSelectionMerge %2793 None
OpBranchConditional %2792 %2794 %2795
%2795 = OpLabel
%2796 = OpFMul %float %2775 %float_0_0599999987
%2797 = OpExtInst %float %1 Log %float_1000
%2798 = OpFDiv %float %2797 %1065
%2799 = OpFMul %float %float_0_0599999987 %2789
%2800 = OpFDiv %float %2799 %1065
%2801 = OpFSub %float %2798 %2800
%2802 = OpFAdd %float %2796 %2801
OpBranch %2793
%2794 = OpLabel
%2803 = OpFSub %float %2775 %2782
%2804 = OpFMul %float %float_7 %2803
%2805 = OpFSub %float %2790 %2782
%2806 = OpFDiv %float %2804 %2805
%2807 = OpConvertFToS %int %2806
%2808 = OpConvertSToF %float %2807
%2809 = OpFSub %float %2806 %2808
%2810 = OpAccessChain %_ptr_Function_float %527 %2807
%2811 = OpLoad %float %2810
%2812 = OpIAdd %int %2807 %int_1
%2813 = OpAccessChain %_ptr_Function_float %527 %2812
%2814 = OpLoad %float %2813
%2815 = OpIAdd %int %2807 %int_2
%2816 = OpAccessChain %_ptr_Function_float %527 %2815
%2817 = OpLoad %float %2816
%2818 = OpCompositeConstruct %v3float %2811 %2814 %2817
%2819 = OpFMul %float %2809 %2809
%2820 = OpCompositeConstruct %v3float %2819 %2809 %float_1
%2821 = OpMatrixTimesVector %v3float %442 %2818
%2822 = OpDot %float %2820 %2821
OpBranch %2793
%2793 = OpLabel
%2823 = OpPhi %float %2802 %2795 %2822 %2794
OpBranch %2785
%2786 = OpLabel
%2824 = OpFSub %float %2775 %2691
%2825 = OpFMul %float %float_7 %2824
%2826 = OpFSub %float %2782 %2691
%2827 = OpFDiv %float %2825 %2826
%2828 = OpConvertFToS %int %2827
%2829 = OpConvertSToF %float %2828
%2830 = OpFSub %float %2827 %2829
%2831 = OpAccessChain %_ptr_Function_float %528 %2828
%2832 = OpLoad %float %2831
%2833 = OpIAdd %int %2828 %int_1
%2834 = OpAccessChain %_ptr_Function_float %528 %2833
%2835 = OpLoad %float %2834
%2836 = OpIAdd %int %2828 %int_2
%2837 = OpAccessChain %_ptr_Function_float %528 %2836
%2838 = OpLoad %float %2837
%2839 = OpCompositeConstruct %v3float %2832 %2835 %2838
%2840 = OpFMul %float %2830 %2830
%2841 = OpCompositeConstruct %v3float %2840 %2830 %float_1
%2842 = OpMatrixTimesVector %v3float %442 %2839
%2843 = OpDot %float %2841 %2842
OpBranch %2785
%2785 = OpLabel
%2844 = OpPhi %float %2823 %2793 %2843 %2786
OpBranch %2777
%2778 = OpLabel
%2845 = OpFMul %float %2775 %float_3
%2846 = OpExtInst %float %1 Log %float_9_99999975en05
%2847 = OpFDiv %float %2846 %1065
%2848 = OpFMul %float %float_3 %2690
%2849 = OpFDiv %float %2848 %1065
%2850 = OpFSub %float %2847 %2849
%2851 = OpFAdd %float %2845 %2850
OpBranch %2777
%2777 = OpLabel
%2852 = OpPhi %float %2844 %2785 %2851 %2778
%2853 = OpExtInst %float %1 Pow %float_10 %2852
%2854 = OpCompositeInsert %v3float %2853 %2770 1
%2855 = OpCompositeExtract %float %2479 2
OpStore %526 %479
OpStore %525 %480
%2856 = OpFOrdLessThanEqual %bool %2855 %float_0
%2857 = OpSelect %float %2856 %float_9_99999975en05 %2855
%2858 = OpExtInst %float %1 Log %2857
%2859 = OpFDiv %float %2858 %1065
%2860 = OpFOrdLessThanEqual %bool %2859 %2691
OpSelectionMerge %2861 None
OpBranchConditional %2860 %2862 %2863
%2863 = OpLabel
%2864 = OpFOrdGreaterThan %bool %2859 %2691
%2865 = OpExtInst %float %1 Log %2612
%2866 = OpFDiv %float %2865 %1065
%2867 = OpFOrdLessThan %bool %2859 %2866
%2868 = OpLogicalAnd %bool %2864 %2867
OpSelectionMerge %2869 None
OpBranchConditional %2868 %2870 %2871
%2871 = OpLabel
%2872 = OpFOrdGreaterThanEqual %bool %2859 %2866
%2873 = OpExtInst %float %1 Log %2684
%2874 = OpFDiv %float %2873 %1065
%2875 = OpFOrdLessThan %bool %2859 %2874
%2876 = OpLogicalAnd %bool %2872 %2875
OpSelectionMerge %2877 None
OpBranchConditional %2876 %2878 %2879
%2879 = OpLabel
%2880 = OpFMul %float %2859 %float_0_0599999987
%2881 = OpExtInst %float %1 Log %float_1000
%2882 = OpFDiv %float %2881 %1065
%2883 = OpFMul %float %float_0_0599999987 %2873
%2884 = OpFDiv %float %2883 %1065
%2885 = OpFSub %float %2882 %2884
%2886 = OpFAdd %float %2880 %2885
OpBranch %2877
%2878 = OpLabel
%2887 = OpFSub %float %2859 %2866
%2888 = OpFMul %float %float_7 %2887
%2889 = OpFSub %float %2874 %2866
%2890 = OpFDiv %float %2888 %2889
%2891 = OpConvertFToS %int %2890
%2892 = OpConvertSToF %float %2891
%2893 = OpFSub %float %2890 %2892
%2894 = OpAccessChain %_ptr_Function_float %525 %2891
%2895 = OpLoad %float %2894
%2896 = OpIAdd %int %2891 %int_1
%2897 = OpAccessChain %_ptr_Function_float %525 %2896
%2898 = OpLoad %float %2897
%2899 = OpIAdd %int %2891 %int_2
%2900 = OpAccessChain %_ptr_Function_float %525 %2899
%2901 = OpLoad %float %2900
%2902 = OpCompositeConstruct %v3float %2895 %2898 %2901
%2903 = OpFMul %float %2893 %2893
%2904 = OpCompositeConstruct %v3float %2903 %2893 %float_1
%2905 = OpMatrixTimesVector %v3float %442 %2902
%2906 = OpDot %float %2904 %2905
OpBranch %2877
%2877 = OpLabel
%2907 = OpPhi %float %2886 %2879 %2906 %2878
OpBranch %2869
%2870 = OpLabel
%2908 = OpFSub %float %2859 %2691
%2909 = OpFMul %float %float_7 %2908
%2910 = OpFSub %float %2866 %2691
%2911 = OpFDiv %float %2909 %2910
%2912 = OpConvertFToS %int %2911
%2913 = OpConvertSToF %float %2912
%2914 = OpFSub %float %2911 %2913
%2915 = OpAccessChain %_ptr_Function_float %526 %2912
%2916 = OpLoad %float %2915
%2917 = OpIAdd %int %2912 %int_1
%2918 = OpAccessChain %_ptr_Function_float %526 %2917
%2919 = OpLoad %float %2918
%2920 = OpIAdd %int %2912 %int_2
%2921 = OpAccessChain %_ptr_Function_float %526 %2920
%2922 = OpLoad %float %2921
%2923 = OpCompositeConstruct %v3float %2916 %2919 %2922
%2924 = OpFMul %float %2914 %2914
%2925 = OpCompositeConstruct %v3float %2924 %2914 %float_1
%2926 = OpMatrixTimesVector %v3float %442 %2923
%2927 = OpDot %float %2925 %2926
OpBranch %2869
%2869 = OpLabel
%2928 = OpPhi %float %2907 %2877 %2927 %2870
OpBranch %2861
%2862 = OpLabel
%2929 = OpFMul %float %2859 %float_3
%2930 = OpExtInst %float %1 Log %float_9_99999975en05
%2931 = OpFDiv %float %2930 %1065
%2932 = OpFMul %float %float_3 %2690
%2933 = OpFDiv %float %2932 %1065
%2934 = OpFSub %float %2931 %2933
%2935 = OpFAdd %float %2929 %2934
OpBranch %2861
%2861 = OpLabel
%2936 = OpPhi %float %2928 %2869 %2935 %2862
%2937 = OpExtInst %float %1 Pow %float_10 %2936
%2938 = OpCompositeInsert %v3float %2937 %2854 2
%2939 = OpFSub %v3float %2938 %338
%2940 = OpVectorTimesMatrix %v3float %2939 %576
%2941 = OpFMul %v3float %2940 %496
%2942 = OpExtInst %v3float %1 Pow %2941 %263
%2943 = OpFMul %v3float %184 %2942
%2944 = OpFAdd %v3float %183 %2943
%2945 = OpFMul %v3float %185 %2942
%2946 = OpFAdd %v3float %135 %2945
%2947 = OpFDiv %v3float %135 %2946
%2948 = OpFMul %v3float %2944 %2947
%2949 = OpExtInst %v3float %1 Pow %2948 %264
OpBranch %1230
%1230 = OpLabel
%2950 = OpPhi %v3float %2097 %1236 %2949 %2861
OpBranch %1224
%1225 = OpLabel
%2951 = OpVectorTimesMatrix %v3float %1218 %547
%2952 = OpVectorTimesMatrix %v3float %2951 %576
%2953 = OpExtInst %v3float %1 FMax %250 %2952
%2954 = OpFMul %v3float %2953 %252
%2955 = OpExtInst %v3float %1 FMax %2953 %254
%2956 = OpExtInst %v3float %1 Pow %2955 %256
%2957 = OpFMul %v3float %2956 %258
%2958 = OpFSub %v3float %2957 %260
%2959 = OpExtInst %v3float %1 FMin %2954 %2958
OpBranch %1224
%1224 = OpLabel
%2960 = OpPhi %v3float %2950 %1230 %2959 %1225
OpBranch %1220
%1221 = OpLabel
%2961 = OpCompositeExtract %float %1218 0
OpBranch %2962
%2962 = OpLabel
OpLoopMerge %2963 %2964 None
OpBranch %2965
%2965 = OpLabel
%2966 = OpFOrdLessThan %bool %2961 %float_0_00313066994
OpSelectionMerge %2967 None
OpBranchConditional %2966 %2968 %2967
%2968 = OpLabel
%2969 = OpFMul %float %2961 %float_12_9200001
OpBranch %2963
%2967 = OpLabel
%2970 = OpExtInst %float %1 Pow %2961 %float_0_416666657
%2971 = OpFMul %float %2970 %float_1_05499995
%2972 = OpFSub %float %2971 %float_0_0549999997
OpBranch %2963
%2964 = OpLabel
OpBranch %2962
%2963 = OpLabel
%2973 = OpPhi %float %2969 %2968 %2972 %2967
%2974 = OpCompositeExtract %float %1218 1
OpBranch %2975
%2975 = OpLabel
OpLoopMerge %2976 %2977 None
OpBranch %2978
%2978 = OpLabel
%2979 = OpFOrdLessThan %bool %2974 %float_0_00313066994
OpSelectionMerge %2980 None
OpBranchConditional %2979 %2981 %2980
%2981 = OpLabel
%2982 = OpFMul %float %2974 %float_12_9200001
OpBranch %2976
%2980 = OpLabel
%2983 = OpExtInst %float %1 Pow %2974 %float_0_416666657
%2984 = OpFMul %float %2983 %float_1_05499995
%2985 = OpFSub %float %2984 %float_0_0549999997
OpBranch %2976
%2977 = OpLabel
OpBranch %2975
%2976 = OpLabel
%2986 = OpPhi %float %2982 %2981 %2985 %2980
%2987 = OpCompositeExtract %float %1218 2
OpBranch %2988
%2988 = OpLabel
OpLoopMerge %2989 %2990 None
OpBranch %2991
%2991 = OpLabel
%2992 = OpFOrdLessThan %bool %2987 %float_0_00313066994
OpSelectionMerge %2993 None
OpBranchConditional %2992 %2994 %2993
%2994 = OpLabel
%2995 = OpFMul %float %2987 %float_12_9200001
OpBranch %2989
%2993 = OpLabel
%2996 = OpExtInst %float %1 Pow %2987 %float_0_416666657
%2997 = OpFMul %float %2996 %float_1_05499995
%2998 = OpFSub %float %2997 %float_0_0549999997
OpBranch %2989
%2990 = OpLabel
OpBranch %2988
%2989 = OpLabel
%2999 = OpPhi %float %2995 %2994 %2998 %2993
%3000 = OpCompositeConstruct %v3float %2973 %2986 %2999
OpBranch %1220
%1220 = OpLabel
%3001 = OpPhi %v3float %2960 %1224 %3000 %2989
%3002 = OpFMul %v3float %3001 %499
%3003 = OpVectorShuffle %v4float %129 %3002 4 5 6 3
%3004 = OpCompositeInsert %v4float %float_0 %3003 3
OpStore %out_var_SV_Target0 %3004
OpReturn
OpFunctionEnd