FRAG
  0: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
  ret void
}

declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32)

attributes #0 = { "ShaderType"="0" }

Shader Disassembly:

	V_MOV_B32_e32 v0, 0               ; 7E000280
	EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000
	S_ENDPGM                          ; BF810000

FRAG
DCL IN[0], GENERIC[0], CONSTANT
DCL OUT[0], COLOR
  0: MOV OUT[0], IN[0]
  1: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5)
  %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5)
  %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5)
  %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5)
  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	S_WQM_B64 exec, exec                ; BEFE0A7E
	S_MOV_B32 m0, s9                    ; BEFC0309
	V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302
	V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202
	V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102
	V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002
	EXP 15, 0, 0, 1, 1, v3, v2, v1, v0  ; F800180F 00010203
	S_ENDPGM                            ; BF810000

FRAG
PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1
DCL IN[0], GENERIC[0], CONSTANT
DCL OUT[0], COLOR
  0: MOV OUT[0], IN[0]
  1: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5)
  %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5)
  %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5)
  %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5)
  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	S_WQM_B64 exec, exec                ; BEFE0A7E
	S_MOV_B32 m0, s9                    ; BEFC0309
	V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302
	V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202
	V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102
	V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002
	EXP 15, 0, 0, 1, 1, v3, v2, v1, v0  ; F800180F 00010203
	S_ENDPGM                            ; BF810000

FRAG
DCL IN[0], GENERIC[0], CONSTANT
  0: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	V_MOV_B32_e32 v0, 0               ; 7E000280
	EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000
	S_ENDPGM                          ; BF810000

FRAG
  0: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
  ret void
}

declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32)

attributes #0 = { "ShaderType"="0" }

Shader Disassembly:

	V_MOV_B32_e32 v0, 0               ; 7E000280
	EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000
	S_ENDPGM                          ; BF810000

FRAG
DCL IN[0], GENERIC[0], CONSTANT
DCL OUT[0], COLOR
  0: MOV OUT[0], IN[0]
  1: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5)
  %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5)
  %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5)
  %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5)
  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	S_WQM_B64 exec, exec                ; BEFE0A7E
	S_MOV_B32 m0, s9                    ; BEFC0309
	V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302
	V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202
	V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102
	V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002
	EXP 15, 0, 0, 1, 1, v3, v2, v1, v0  ; F800180F 00010203
	S_ENDPGM                            ; BF810000

FRAG
PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1
DCL IN[0], GENERIC[0], CONSTANT
DCL OUT[0], COLOR
  0: MOV OUT[0], IN[0]
  1: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5)
  %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5)
  %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5)
  %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5)
  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	S_WQM_B64 exec, exec                ; BEFE0A7E
	S_MOV_B32 m0, s9                    ; BEFC0309
	V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302
	V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202
	V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102
	V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002
	EXP 15, 0, 0, 1, 1, v3, v2, v1, v0  ; F800180F 00010203
	S_ENDPGM                            ; BF810000

FRAG
DCL IN[0], GENERIC[0], CONSTANT
  0: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.constant(i32, i32, i32) #1

declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }

Shader Disassembly:

	V_MOV_B32_e32 v0, 0               ; 7E000280
	EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000
	S_ENDPGM                          ; BF810000

FRAG
DCL IN[0], GENERIC[20], PERSPECTIVE
DCL OUT[0], COLOR
DCL SAMP[0]
DCL CONST[1..2]
DCL TEMP[0..28], LOCAL
DCL TEMP[29..52], ARRAY(1), LOCAL
DCL TEMP[53..95], LOCAL
DCL ADDR[0]
IMM[0] FLT32 {    0.0000,     0.0000,    -0.0000,     3.0000}
IMM[1] INT32 {1, 22, 23, -1}
IMM[2] UINT32 {1, 2, 4, 4294967295}
IMM[3] FLT32 {    2.0000,     0.5000,     1.5000,     1.0000}
IMM[4] UINT32 {8, 0, 2147483648, 4095}
IMM[5] INT32 {-127, 104, 2, 3}
IMM[6] FLT32 {    0.0000,     0.2500,     1.0000,     0.5000}
IMM[7] FLT32 {    0.5000,     0.2500,     0.1250,     1.0000}
IMM[8] INT32 {4, 5, 8, 9}
IMM[9] INT32 {12, 13, 17, 18}
IMM[10] FLT32 {    0.8500,     0.8250,     0.6250,     1.0000}
IMM[11] FLT32 {    0.5000,     0.4850,     0.4800,     1.0000}
IMM[12] INT32 {31, 32, 78, 81}
IMM[13] FLT32 {    0.1000,     0.3500,     1.0000,     0.0000}
IMM[14] FLT32 {    0.5000,     0.3000,     0.1000,     1.0000}
IMM[15] FLT32 {    0.1250,     0.4000,     0.1000,     1.0000}
IMM[16] INT32 {106, 127, 16, 0}
IMM[17] FLT32 {    0.6000,     0.3000,     0.1250,     1.0000}
IMM[18] FLT32 {  255.0000,     0.0039,    -0.5000,     0.9000}
IMM[19] UINT32 {255, 0, 0, 0}
IMM[20] FLT32 {    0.8000,     0.0000,     0.0000,     0.0000}
  0: DP3 TEMP[0].x, IN[0].xyzz, IN[0].xyzz
  1: RSQ TEMP[0].x, TEMP[0].xxxx
  2: MUL TEMP[0].xyz, IN[0].xyzz, TEMP[0].xxxx
  3: MOV TEMP[1].xyz, IMM[0].xxxx
  4: FSLT TEMP[2].x, TEMP[0].xxxx, IMM[0].yyyy
  5: UIF TEMP[2].xxxx :0
  6:   MOV TEMP[1].x, IMM[0].zzzz
  7: ENDIF
  8: FSLT TEMP[2].x, TEMP[0].yyyy, IMM[0].yyyy
  9: UIF TEMP[2].xxxx :0
 10:   MOV TEMP[1].y, IMM[0].zzzz
 11: ENDIF
 12: FSLT TEMP[2].x, TEMP[0].zzzz, IMM[0].yyyy
 13: UIF TEMP[2].xxxx :0
 14:   MOV TEMP[1].z, IMM[0].zzzz
 15: ENDIF
 16: ABS TEMP[2].xyz, TEMP[0].xyzz
 17: FSLT TEMP[2].xyz, TEMP[2].xyzz, IMM[0].xxxx
 18: UCMP TEMP[0].xyz, TEMP[2].xyzz, TEMP[1].xyzz, TEMP[0].xyzz
 19: ABS TEMP[1].xyz, TEMP[0].xyzz
 20: RCP TEMP[2].x, -TEMP[1].xxxx
 21: RCP TEMP[2].y, -TEMP[1].yyyy
 22: RCP TEMP[2].z, -TEMP[1].zzzz
 23: MOV TEMP[3].xyz, TEMP[2].xyzx
 24: MOV TEMP[1].xyz, TEMP[2].xyzx
 25: MUL TEMP[4].xyz, TEMP[2].xyzz, CONST[2].xyzz
 26: FSLT TEMP[5].xyz, IMM[0].yyyy, TEMP[0].xyzz
 27: MAD TEMP[6].xyz, IMM[0].wwww, TEMP[2].xyzz, -TEMP[4].xyzz
 28: UCMP TEMP[6].xyz, TEMP[5].xyzz, TEMP[6].xyzz, TEMP[4].xyzz
 29: MOV TEMP[4].xyz, TEMP[6].xyzx
 30: AND TEMP[7].x, TEMP[5].xxxx, IMM[1].xxxx
 31: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].xxxx
 32: AND TEMP[8].x, TEMP[5].yyyy, IMM[1].xxxx
 33: AND TEMP[8].x, TEMP[8].xxxx, IMM[2].yyyy
 34: OR TEMP[7].x, TEMP[7].xxxx, TEMP[8].xxxx
 35: AND TEMP[5].x, TEMP[5].zzzz, IMM[1].xxxx
 36: AND TEMP[5].x, TEMP[5].xxxx, IMM[2].zzzz
 37: OR TEMP[5].x, TEMP[7].xxxx, TEMP[5].xxxx
 38: MAD TEMP[7].xyz, IMM[3].xxxx, TEMP[2].xyzz, -TEMP[6].xyzz
 39: ADD TEMP[8].xyz, TEMP[2].xyzz, -TEMP[6].xyzz
 40: MIN TEMP[9].x, TEMP[8].xxxx, TEMP[8].yyyy
 41: MIN TEMP[8].x, TEMP[9].xxxx, TEMP[8].zzzz
 42: MAX TEMP[9].x, TEMP[7].xxxx, TEMP[7].yyyy
 43: MAX TEMP[7].x, TEMP[9].xxxx, TEMP[7].zzzz
 44: MAX TEMP[7].x, TEMP[7].xxxx, IMM[0].yyyy
 45: MOV TEMP[9].x, TEMP[7].xxxx
 46: MOV TEMP[10].x, CONST[1].xxxx
 47: MOV TEMP[11].x, IMM[1].yyyy
 48: MOV TEMP[12].x, IMM[3].yyyy
 49: MOV TEMP[13].x, IMM[2].wwww
 50: MAD TEMP[2].xyz, IMM[3].zzzz, TEMP[2].xyzz, -TEMP[6].xyzz
 51: FSLT TEMP[2].xyz, TEMP[7].xxxx, TEMP[2].xyzz
 52: AND TEMP[6].x, TEMP[2].xxxx, IMM[1].xxxx
 53: AND TEMP[6].x, TEMP[6].xxxx, IMM[2].xxxx
 54: AND TEMP[7].x, TEMP[2].yyyy, IMM[1].xxxx
 55: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].yyyy
 56: OR TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx
 57: AND TEMP[7].x, TEMP[2].zzzz, IMM[1].xxxx
 58: AND TEMP[7].x, TEMP[7].xxxx, IMM[2].zzzz
 59: OR TEMP[6].x, TEMP[6].xxxx, TEMP[7].xxxx
 60: UCMP TEMP[2].xyz, TEMP[2].xyzz, IMM[3].zzzz, IMM[3].wwww
 61: BGNLOOP :0
 62:   ISGE TEMP[7].x, TEMP[11].xxxx, IMM[1].zzzz
 63:   UIF TEMP[7].xxxx :0
 64:     BRK
 65:   ENDIF
 66:   MAD TEMP[14].xyz, TEMP[2].xyzz, TEMP[1].xyzz, -TEMP[4].xyzz
 67:   MIN TEMP[15].x, TEMP[14].xxxx, TEMP[14].yyyy
 68:   MIN TEMP[16].x, TEMP[15].xxxx, TEMP[14].zzzz
 69:   XOR TEMP[3].x, TEMP[6].xxxx, TEMP[5].xxxx
 70:   UMAD TEMP[17].x, TEMP[10].xxxx, IMM[4].xxxx, TEMP[3].xxxx
 71:   MOV TEMP[18].x, TEMP[17].xxxx
 72:   MOV TEMP[18].w, IMM[4].yyyy
 73:   TXF TEMP[19], TEMP[18], SAMP[0], BUFFER
 74:   MOV TEMP[20], TEMP[19]
 75:   MOV TEMP[13].x, TEMP[19].xxxx
 76:   AND TEMP[21].x, TEMP[19].xxxx, IMM[4].zzzz
 77:   USNE TEMP[22].x, TEMP[21].xxxx, IMM[4].yyyy
 78:   NOT TEMP[23].x, TEMP[22].xxxx
 79:   UIF TEMP[23].xxxx :0
 80:     MOV TEMP[24].x, IMM[2].wwww
 81:   ELSE :0
 82:     AND TEMP[25].x, TEMP[19].xxxx, IMM[4].wwww
 83:     USNE TEMP[24].x, TEMP[25].xxxx, IMM[4].yyyy
 84:   ENDIF
 85:   UIF TEMP[24].xxxx :0
 86:     UIF TEMP[22].xxxx :0
 87:       BRK
 88:     ENDIF
 89:     MUL TEMP[26].x, TEMP[12].xxxx, IMM[3].yyyy
 90:     MAD TEMP[27].xyz, TEMP[26].xxxx, TEMP[1].xyzz, TEMP[14].xyzz
 91:     FSLT TEMP[28].x, TEMP[16].xxxx, TEMP[8].xxxx
 92:     UIF TEMP[28].xxxx :0
 93:       UARL ADDR[0].x, TEMP[11].xxxx
 94:       MOV TEMP[ADDR[0].x+29](1).x, TEMP[10].xxxx
 95:     ENDIF
 96:     MOV TEMP[8].x, TEMP[16].xxxx
 97:     MOV TEMP[10].x, TEMP[19].xxxx
 98:     UADD TEMP[11].x, TEMP[11].xxxx, IMM[1].wwww
 99:     MUL TEMP[12].x, TEMP[12].xxxx, IMM[3].yyyy
100:     FSLT TEMP[53].xyz, TEMP[9].xxxx, TEMP[27].xyzz
101:     AND TEMP[54].x, TEMP[53].xxxx, IMM[1].xxxx
102:     AND TEMP[55].x, TEMP[54].xxxx, IMM[2].xxxx
103:     AND TEMP[56].x, TEMP[53].yyyy, IMM[1].xxxx
104:     AND TEMP[57].x, TEMP[56].xxxx, IMM[2].yyyy
105:     OR TEMP[58].x, TEMP[55].xxxx, TEMP[57].xxxx
106:     AND TEMP[59].x, TEMP[53].zzzz, IMM[1].xxxx
107:     AND TEMP[60].x, TEMP[59].xxxx, IMM[2].zzzz
108:     OR TEMP[6].x, TEMP[58].xxxx, TEMP[60].xxxx
109:     ADD TEMP[61].xyz, TEMP[2].xyzz, TEMP[12].xxxx
110:     UCMP TEMP[2].xyz, TEMP[53].xyzz, TEMP[61].xyzz, TEMP[2].xyzz
111:     CONT
112:   ENDIF
113:   FSGE TEMP[62].xyz, TEMP[16].xxxx, TEMP[14].xyzz
114:   AND TEMP[63].x, TEMP[62].xxxx, IMM[1].xxxx
115:   AND TEMP[64].x, TEMP[63].xxxx, IMM[2].xxxx
116:   AND TEMP[65].x, TEMP[62].yyyy, IMM[1].xxxx
117:   AND TEMP[66].x, TEMP[65].xxxx, IMM[2].yyyy
118:   OR TEMP[67].x, TEMP[64].xxxx, TEMP[66].xxxx
119:   AND TEMP[68].x, TEMP[62].zzzz, IMM[1].xxxx
120:   AND TEMP[69].x, TEMP[68].xxxx, IMM[2].zzzz
121:   OR TEMP[70].x, TEMP[67].xxxx, TEMP[69].xxxx
122:   ADD TEMP[71].xyz, TEMP[2].xyzz, -TEMP[12].xxxx
123:   UCMP TEMP[72].xyz, TEMP[62].xyzz, TEMP[71].xyzz, TEMP[2].xyzz
124:   MOV TEMP[2].xyz, TEMP[72].xyzx
125:   MOV TEMP[9].x, TEMP[16].xxxx
126:   XOR TEMP[6].x, TEMP[6].xxxx, TEMP[70].xxxx
127:   AND TEMP[73].x, TEMP[6].xxxx, TEMP[70].xxxx
128:   USNE TEMP[74].x, TEMP[73].xxxx, IMM[4].yyyy
129:   UIF TEMP[74].xxxx :0
130:     MOV TEMP[75].x, IMM[4].yyyy
131:     ADD TEMP[76].xyz, TEMP[72].xyzz, TEMP[12].xxxx
132:     XOR TEMP[77].xyz, TEMP[72].xyzz, TEMP[76].xyzz
133:     AND TEMP[78].x, TEMP[70].xxxx, IMM[2].xxxx
134:     USNE TEMP[79].x, TEMP[78].xxxx, IMM[4].yyyy
135:     UIF TEMP[79].xxxx :0
136:       OR TEMP[75].x, IMM[4].yyyy, TEMP[77].xxxx
137:     ENDIF
138:     AND TEMP[80].x, TEMP[70].xxxx, IMM[2].yyyy
139:     USNE TEMP[81].x, TEMP[80].xxxx, IMM[4].yyyy
140:     UIF TEMP[81].xxxx :0
141:       OR TEMP[75].x, TEMP[75].xxxx, TEMP[77].yyyy
142:     ENDIF
143:     AND TEMP[82].x, TEMP[70].xxxx, IMM[2].zzzz
144:     USNE TEMP[83].x, TEMP[82].xxxx, IMM[4].yyyy
145:     UIF TEMP[83].xxxx :0
146:       OR TEMP[75].x, TEMP[75].xxxx, TEMP[77].zzzz
147:     ENDIF
148:     U2F TEMP[84].x, TEMP[75].xxxx
149:     ISHR TEMP[85].x, TEMP[84].xxxx, IMM[1].zzzz
150:     UADD TEMP[11].x, TEMP[85].xxxx, IMM[5].xxxx
151:     UADD TEMP[86].x, IMM[5].yyyy, TEMP[11].xxxx
152:     SHL TEMP[87].x, TEMP[86].xxxx, IMM[1].zzzz
153:     MOV TEMP[12].x, TEMP[87].xxxx
154:     UARL ADDR[0].x, TEMP[11].xxxx
155:     MOV TEMP[10].x, TEMP[ADDR[0].x+29](1).xxxx
156:     USHR TEMP[88].xyz, TEMP[72].xyzz, TEMP[11].xxxx
157:     SHL TEMP[89].xyz, TEMP[88].xyzz, TEMP[11].xxxx
158:     MOV TEMP[2].xyz, TEMP[89].xyzx
159:     AND TEMP[90].x, TEMP[88].xxxx, IMM[2].xxxx
160:     AND TEMP[91].x, TEMP[88].yyyy, IMM[2].xxxx
161:     SHL TEMP[92].x, TEMP[91].xxxx, IMM[1].xxxx
162:     OR TEMP[93].x, TEMP[90].xxxx, TEMP[92].xxxx
163:     AND TEMP[94].x, TEMP[88].zzzz, IMM[2].xxxx
164:     SHL TEMP[95].x, TEMP[94].xxxx, IMM[5].zzzz
165:     OR TEMP[6].x, TEMP[93].xxxx, TEMP[95].xxxx
166:     MOV TEMP[8].x, IMM[0].yyyy
167:   ENDIF
168: ENDLOOP :0
169: ISGE TEMP[1].x, TEMP[11].xxxx, IMM[1].zzzz
170: UIF TEMP[1].xxxx :0
171:   MOV TEMP[9].x, IMM[3].xxxx
172: ENDIF
173: AND TEMP[1].xyz, TEMP[5].xxxx, IMM[2].xyzz
174: USNE TEMP[1].xyz, TEMP[1].xyzz, IMM[4].yyyy
175: ADD TEMP[4].x, IMM[0].wwww, -TEMP[12].xxxx
176: ADD TEMP[4].xyz, TEMP[4].xxxx, -TEMP[2].xyzz
177: UCMP TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xyzz, TEMP[2].xyzz
178: MAD TEMP[2].xyz, TEMP[9].xxxx, TEMP[0].xyzz, CONST[2].xyzz
179: ADD TEMP[4].xyz, TEMP[1].xyzz, IMM[0].xxxx
180: MAX TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].xyzz
181: ADD TEMP[1].xyz, TEMP[1].xyzz, TEMP[12].xxxx
182: ADD TEMP[1].xyz, TEMP[1].xyzz, IMM[0].zzzz
183: MIN TEMP[1].xyz, TEMP[2].xyzz, TEMP[1].xyzz
184: RCP TEMP[2].x, TEMP[12].xxxx
185: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx
186: FRC TEMP[1].xyz, TEMP[1].xyzz
187: MUL TEMP[1].xyz, TEMP[12].xxxx, TEMP[1].xyzz
188: RCP TEMP[2].x, TEMP[12].xxxx
189: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[2].xxxx
190: AND TEMP[2].x, TEMP[13].xxxx, IMM[4].wwww
191: FSLT TEMP[4].x, TEMP[9].xxxx, IMM[3].xxxx
192: UIF TEMP[4].xxxx :0
193:   MOV TEMP[5].x, IMM[4].yyyy
194:   USEQ TEMP[6].x, IMM[1].xxxx, TEMP[2].xxxx
195:   I2F TEMP[6].x, TEMP[6].xxxx
196:   CMP TEMP[4].x, TEMP[6].xxxx, IMM[2].wwww, IMM[4].yyyy
197:   I2F TEMP[6].x, IMM[4].yyyy
198:   CMP TEMP[4].x, TEMP[6].xxxx, IMM[4].yyyy, TEMP[4].xxxx
199:   UIF TEMP[4].xxxx :0
200:     MOV TEMP[6], IMM[3].yyyw
201:     MOV TEMP[5].x, IMM[2].wwww
202:   ENDIF
203:   USEQ TEMP[7].x, IMM[5].zzzz, TEMP[2].xxxx
204:   I2F TEMP[7].x, TEMP[7].xxxx
205:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
206:   I2F TEMP[7].x, TEMP[5].xxxx
207:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
208:   UIF TEMP[4].xxxx :0
209:     MOV TEMP[6], IMM[6].xyxz
210:     MOV TEMP[5].x, IMM[2].wwww
211:   ENDIF
212:   USEQ TEMP[7].x, IMM[5].wwww, TEMP[2].xxxx
213:   I2F TEMP[7].x, TEMP[7].xxxx
214:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
215:   I2F TEMP[7].x, TEMP[5].xxxx
216:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
217:   UIF TEMP[4].xxxx :0
218:     MOV TEMP[6], IMM[7]
219:     MOV TEMP[5].x, IMM[2].wwww
220:   ENDIF
221:   USEQ TEMP[7].x, IMM[8].xxxx, TEMP[2].xxxx
222:   I2F TEMP[7].x, TEMP[7].xxxx
223:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
224:   I2F TEMP[7].x, TEMP[5].xxxx
225:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
226:   UIF TEMP[4].xxxx :0
227:     MOV TEMP[6], IMM[6].yyyz
228:     MOV TEMP[5].x, IMM[2].wwww
229:   ENDIF
230:   USEQ TEMP[7].x, IMM[8].yyyy, TEMP[2].xxxx
231:   I2F TEMP[7].x, TEMP[7].xxxx
232:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
233:   I2F TEMP[7].x, TEMP[5].xxxx
234:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
235:   UIF TEMP[4].xxxx :0
236:     MOV TEMP[6], IMM[7].xxzw
237:     MOV TEMP[5].x, IMM[2].wwww
238:   ENDIF
239:   USEQ TEMP[7].x, IMM[8].zzzz, TEMP[2].xxxx
240:   I2F TEMP[7].x, TEMP[7].xxxx
241:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
242:   I2F TEMP[7].x, TEMP[5].xxxx
243:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
244:   UIF TEMP[4].xxxx :0
245:     MOV TEMP[6], IMM[6].xxzz
246:     MOV TEMP[5].x, IMM[2].wwww
247:   ENDIF
248:   USEQ TEMP[7].x, IMM[8].wwww, TEMP[2].xxxx
249:   I2F TEMP[7].x, TEMP[7].xxxx
250:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
251:   I2F TEMP[7].x, TEMP[5].xxxx
252:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
253:   UIF TEMP[4].xxxx :0
254:     MOV TEMP[6], IMM[6].xxwz
255:     MOV TEMP[5].x, IMM[2].wwww
256:   ENDIF
257:   USEQ TEMP[7].x, IMM[9].xxxx, TEMP[2].xxxx
258:   I2F TEMP[7].x, TEMP[7].xxxx
259:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
260:   I2F TEMP[7].x, TEMP[5].xxxx
261:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
262:   UIF TEMP[4].xxxx :0
263:     MOV TEMP[6], IMM[10]
264:     MOV TEMP[5].x, IMM[2].wwww
265:   ENDIF
266:   USEQ TEMP[7].x, IMM[9].yyyy, TEMP[2].xxxx
267:   I2F TEMP[7].x, TEMP[7].xxxx
268:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
269:   I2F TEMP[7].x, TEMP[5].xxxx
270:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
271:   UIF TEMP[4].xxxx :0
272:     MOV TEMP[6], IMM[11]
273:     MOV TEMP[5].x, IMM[2].wwww
274:   ENDIF
275:   USEQ TEMP[7].x, IMM[9].zzzz, TEMP[2].xxxx
276:   I2F TEMP[7].x, TEMP[7].xxxx
277:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
278:   I2F TEMP[7].x, TEMP[5].xxxx
279:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
280:   UIF TEMP[4].xxxx :0
281:     MOV TEMP[6], IMM[7].yyzw
282:     MOV TEMP[5].x, IMM[2].wwww
283:   ENDIF
284:   USEQ TEMP[7].x, IMM[9].wwww, TEMP[2].xxxx
285:   I2F TEMP[7].x, TEMP[7].xxxx
286:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
287:   I2F TEMP[7].x, TEMP[5].xxxx
288:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
289:   UIF TEMP[4].xxxx :0
290:     MOV TEMP[6], IMM[6].xwxz
291:     MOV TEMP[5].x, IMM[2].wwww
292:   ENDIF
293:   USEQ TEMP[7].x, IMM[12].xxxx, TEMP[2].xxxx
294:   I2F TEMP[7].x, TEMP[7].xxxx
295:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
296:   I2F TEMP[7].x, TEMP[5].xxxx
297:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
298:   UIF TEMP[4].xxxx :0
299:     MOV TEMP[6], IMM[13].xyxz
300:     MOV TEMP[5].x, IMM[2].wwww
301:   ENDIF
302:   USEQ TEMP[7].x, IMM[12].yyyy, TEMP[2].xxxx
303:   I2F TEMP[7].x, TEMP[7].xxxx
304:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
305:   I2F TEMP[7].x, TEMP[5].xxxx
306:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
307:   UIF TEMP[4].xxxx :0
308:     MOV TEMP[6], IMM[14]
309:     MOV TEMP[5].x, IMM[2].wwww
310:   ENDIF
311:   USEQ TEMP[7].x, IMM[12].zzzz, TEMP[2].xxxx
312:   I2F TEMP[7].x, TEMP[7].xxxx
313:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
314:   I2F TEMP[7].x, TEMP[5].xxxx
315:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
316:   UIF TEMP[4].xxxx :0
317:     MOV TEMP[6], IMM[3].wwww
318:     MOV TEMP[5].x, IMM[2].wwww
319:   ENDIF
320:   USEQ TEMP[7].x, IMM[12].wwww, TEMP[2].xxxx
321:   I2F TEMP[7].x, TEMP[7].xxxx
322:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
323:   I2F TEMP[7].x, TEMP[5].xxxx
324:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
325:   UIF TEMP[4].xxxx :0
326:     MOV TEMP[6], IMM[15]
327:     MOV TEMP[5].x, IMM[2].wwww
328:   ENDIF
329:   USEQ TEMP[7].x, IMM[16].xxxx, TEMP[2].xxxx
330:   I2F TEMP[7].x, TEMP[7].xxxx
331:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[2].wwww, TEMP[4].xxxx
332:   I2F TEMP[7].x, TEMP[5].xxxx
333:   CMP TEMP[4].x, TEMP[7].xxxx, IMM[4].yyyy, TEMP[4].xxxx
334:   UIF TEMP[4].xxxx :0
335:     MOV TEMP[6], IMM[13].wywz
336:     MOV TEMP[5].x, IMM[2].wwww
337:   ENDIF
338:   USEQ TEMP[2].x, IMM[16].yyyy, TEMP[2].xxxx
339:   I2F TEMP[2].x, TEMP[2].xxxx
340:   CMP TEMP[4].x, TEMP[2].xxxx, IMM[2].wwww, TEMP[4].xxxx
341:   I2F TEMP[2].x, TEMP[5].xxxx
342:   CMP TEMP[4].x, TEMP[2].xxxx, IMM[4].yyyy, TEMP[4].xxxx
343:   UIF TEMP[4].xxxx :0
344:     MOV TEMP[6], IMM[17]
345:     MOV TEMP[5].x, IMM[2].wwww
346:   ENDIF
347:   I2F TEMP[2].x, TEMP[5].xxxx
348:   CMP TEMP[4].x, TEMP[2].xxxx, IMM[4].yyyy, IMM[2].wwww
349:   UIF TEMP[4].xxxx :0
350:     MOV TEMP[2].w, IMM[18].xxxx
351:     USHR TEMP[4].x, TEMP[13].xxxx, IMM[16].zzzz
352:     AND TEMP[4].x, TEMP[4].xxxx, IMM[19].xxxx
353:     U2F TEMP[2].x, TEMP[4].xxxx
354:     USHR TEMP[4].x, TEMP[13].xxxx, IMM[8].zzzz
355:     AND TEMP[4].x, TEMP[4].xxxx, IMM[19].xxxx
356:     U2F TEMP[4].x, TEMP[4].xxxx
357:     MOV TEMP[2].y, TEMP[4].xxxx
358:     AND TEMP[4].x, TEMP[13].xxxx, IMM[19].xxxx
359:     U2F TEMP[4].x, TEMP[4].xxxx
360:     MOV TEMP[2].z, TEMP[4].xxxx
361:     MUL TEMP[6], TEMP[2], IMM[18].yyyy
362:   ENDIF
363:   ADD TEMP[1].xyz, TEMP[1].xyzz, IMM[18].zzzz
364:   ABS TEMP[1].xyz, TEMP[1].xyzz
365:   FSLT TEMP[2].x, TEMP[1].yyyy, TEMP[1].xxxx
366:   FSLT TEMP[4].x, TEMP[1].yyyy, TEMP[1].zzzz
367:   OR TEMP[2].x, TEMP[2].xxxx, TEMP[4].xxxx
368:   UIF TEMP[2].xxxx :0
369:     FSLT TEMP[1].x, TEMP[1].zzzz, TEMP[1].xxxx
370:     UIF TEMP[1].xxxx :0
371:       MUL TEMP[6], TEMP[6], IMM[18].wwww
372:     ELSE :0
373:       MUL TEMP[6], TEMP[6], IMM[20].xxxx
374:     ENDIF
375:   ENDIF
376: ELSE :0
377:   MOV TEMP[1].w, IMM[3].wwww
378:   MOV TEMP[1].xyz, TEMP[0].xyzx
379:   MOV TEMP[6], TEMP[1]
380: ENDIF
381: MOV OUT[0], TEMP[6]
382: END
; ModuleID = 'tgsi'

define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, float, float, float) #0 {
main_body:
  %22 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0
  %23 = load <16 x i8> addrspace(2)* %22, !tbaa !0
  %24 = call float @llvm.SI.load.const(<16 x i8> %23, i32 16)
  %25 = call float @llvm.SI.load.const(<16 x i8> %23, i32 32)
  %26 = call float @llvm.SI.load.const(<16 x i8> %23, i32 36)
  %27 = call float @llvm.SI.load.const(<16 x i8> %23, i32 40)
  %28 = getelementptr [16 x <32 x i8>] addrspace(2)* %2, i64 0, i32 0
  %29 = load <32 x i8> addrspace(2)* %28, !tbaa !0
  %30 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7)
  %31 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7)
  %32 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %7)
  %33 = fmul float %30, %30
  %34 = fmul float %31, %31
  %35 = fadd float %34, %33
  %36 = fmul float %32, %32
  %37 = fadd float %35, %36
  %38 = call float @llvm.AMDGPU.rsq(float %37)
  %39 = fmul float %30, %38
  %40 = fmul float %31, %38
  %41 = fmul float %32, %38
  %42 = fcmp olt float %39, 0.000000e+00
  %43 = sext i1 %42 to i32
  %44 = bitcast i32 %43 to float
  %45 = bitcast float %44 to i32
  %46 = icmp ne i32 %45, 0
  %. = select i1 %46, float 0xBE80000000000000, float 0x3E80000000000000
  %47 = fcmp olt float %40, 0.000000e+00
  %48 = sext i1 %47 to i32
  %49 = bitcast i32 %48 to float
  %50 = bitcast float %49 to i32
  %51 = icmp ne i32 %50, 0
  %temp5.0 = select i1 %51, float 0xBE80000000000000, float 0x3E80000000000000
  %52 = fcmp olt float %41, 0.000000e+00
  %53 = sext i1 %52 to i32
  %54 = bitcast i32 %53 to float
  %55 = bitcast float %54 to i32
  %56 = icmp ne i32 %55, 0
  %.483 = select i1 %56, float 0xBE80000000000000, float 0x3E80000000000000
  %57 = call float @fabs(float %39)
  %58 = call float @fabs(float %40)
  %59 = call float @fabs(float %41)
  %60 = fcmp olt float %57, 0x3E80000000000000
  %61 = sext i1 %60 to i32
  %62 = fcmp olt float %58, 0x3E80000000000000
  %63 = sext i1 %62 to i32
  %64 = fcmp olt float %59, 0x3E80000000000000
  %65 = sext i1 %64 to i32
  %66 = bitcast i32 %61 to float
  %67 = bitcast i32 %63 to float
  %68 = bitcast i32 %65 to float
  %69 = bitcast float %66 to i32
  %70 = icmp ne i32 %69, 0
  %71 = select i1 %70, float %., float %39
  %72 = bitcast float %67 to i32
  %73 = icmp ne i32 %72, 0
  %74 = select i1 %73, float %temp5.0, float %40
  %75 = bitcast float %68 to i32
  %76 = icmp ne i32 %75, 0
  %77 = select i1 %76, float %.483, float %41
  %78 = call float @fabs(float %71)
  %79 = call float @fabs(float %74)
  %80 = call float @fabs(float %77)
  %81 = fsub float -0.000000e+00, %78
  %82 = fdiv float 1.000000e+00, %81
  %83 = fsub float -0.000000e+00, %79
  %84 = fdiv float 1.000000e+00, %83
  %85 = fsub float -0.000000e+00, %80
  %86 = fdiv float 1.000000e+00, %85
  %87 = fmul float %82, %25
  %88 = fmul float %84, %26
  %89 = fmul float %86, %27
  %90 = fcmp olt float 0.000000e+00, %71
  %91 = sext i1 %90 to i32
  %92 = fcmp olt float 0.000000e+00, %74
  %93 = sext i1 %92 to i32
  %94 = fcmp olt float 0.000000e+00, %77
  %95 = sext i1 %94 to i32
  %96 = bitcast i32 %91 to float
  %97 = bitcast i32 %93 to float
  %98 = bitcast i32 %95 to float
  %99 = fsub float -0.000000e+00, %87
  %100 = fmul float 3.000000e+00, %82
  %101 = fadd float %100, %99
  %102 = fsub float -0.000000e+00, %88
  %103 = fmul float 3.000000e+00, %84
  %104 = fadd float %103, %102
  %105 = fsub float -0.000000e+00, %89
  %106 = fmul float 3.000000e+00, %86
  %107 = fadd float %106, %105
  %108 = bitcast float %96 to i32
  %109 = icmp ne i32 %108, 0
  %110 = select i1 %109, float %101, float %87
  %111 = bitcast float %97 to i32
  %112 = icmp ne i32 %111, 0
  %113 = select i1 %112, float %104, float %88
  %114 = bitcast float %98 to i32
  %115 = icmp ne i32 %114, 0
  %116 = select i1 %115, float %107, float %89
  %117 = bitcast float %96 to i32
  %118 = and i32 %117, 1
  %119 = bitcast i32 %118 to float
  %120 = bitcast float %119 to i32
  %121 = and i32 %120, 1
  %122 = bitcast i32 %121 to float
  %123 = bitcast float %97 to i32
  %124 = and i32 %123, 1
  %125 = bitcast i32 %124 to float
  %126 = bitcast float %125 to i32
  %127 = and i32 %126, 2
  %128 = bitcast i32 %127 to float
  %129 = bitcast float %122 to i32
  %130 = bitcast float %128 to i32
  %131 = or i32 %129, %130
  %132 = bitcast i32 %131 to float
  %133 = bitcast float %98 to i32
  %134 = and i32 %133, 1
  %135 = bitcast i32 %134 to float
  %136 = bitcast float %135 to i32
  %137 = and i32 %136, 4
  %138 = bitcast i32 %137 to float
  %139 = bitcast float %132 to i32
  %140 = bitcast float %138 to i32
  %141 = or i32 %139, %140
  %142 = bitcast i32 %141 to float
  %143 = fsub float -0.000000e+00, %110
  %144 = fmul float 2.000000e+00, %82
  %145 = fadd float %144, %143
  %146 = fsub float -0.000000e+00, %113
  %147 = fmul float 2.000000e+00, %84
  %148 = fadd float %147, %146
  %149 = fsub float -0.000000e+00, %116
  %150 = fmul float 2.000000e+00, %86
  %151 = fadd float %150, %149
  %152 = fsub float -0.000000e+00, %110
  %153 = fadd float %82, %152
  %154 = fsub float -0.000000e+00, %113
  %155 = fadd float %84, %154
  %156 = fsub float -0.000000e+00, %116
  %157 = fadd float %86, %156
  %158 = fcmp uge float %153, %155
  %159 = select i1 %158, float %155, float %153
  %160 = fcmp uge float %159, %157
  %161 = select i1 %160, float %157, float %159
  %162 = fcmp uge float %145, %148
  %163 = select i1 %162, float %145, float %148
  %164 = fcmp uge float %163, %151
  %165 = select i1 %164, float %163, float %151
  %166 = fcmp uge float %165, 0.000000e+00
  %167 = select i1 %166, float %165, float 0.000000e+00
  %168 = fsub float -0.000000e+00, %110
  %169 = fmul float 1.500000e+00, %82
  %170 = fadd float %169, %168
  %171 = fsub float -0.000000e+00, %113
  %172 = fmul float 1.500000e+00, %84
  %173 = fadd float %172, %171
  %174 = fsub float -0.000000e+00, %116
  %175 = fmul float 1.500000e+00, %86
  %176 = fadd float %175, %174
  %177 = fcmp olt float %167, %170
  %178 = sext i1 %177 to i32
  %179 = fcmp olt float %167, %173
  %180 = sext i1 %179 to i32
  %181 = fcmp olt float %167, %176
  %182 = sext i1 %181 to i32
  %183 = bitcast i32 %178 to float
  %184 = bitcast i32 %180 to float
  %185 = bitcast i32 %182 to float
  %186 = bitcast float %183 to i32
  %187 = and i32 %186, 1
  %188 = bitcast i32 %187 to float
  %189 = bitcast float %188 to i32
  %190 = and i32 %189, 1
  %191 = bitcast i32 %190 to float
  %192 = bitcast float %184 to i32
  %193 = and i32 %192, 1
  %194 = bitcast i32 %193 to float
  %195 = bitcast float %194 to i32
  %196 = and i32 %195, 2
  %197 = bitcast i32 %196 to float
  %198 = bitcast float %191 to i32
  %199 = bitcast float %197 to i32
  %200 = or i32 %198, %199
  %201 = bitcast i32 %200 to float
  %202 = bitcast float %185 to i32
  %203 = and i32 %202, 1
  %204 = bitcast i32 %203 to float
  %205 = bitcast float %204 to i32
  %206 = and i32 %205, 4
  %207 = bitcast i32 %206 to float
  %208 = bitcast float %201 to i32
  %209 = bitcast float %207 to i32
  %210 = or i32 %208, %209
  %211 = bitcast i32 %210 to float
  %212 = bitcast float %183 to i32
  %213 = icmp ne i32 %212, 0
  %214 = select i1 %213, float 1.500000e+00, float 1.000000e+00
  %215 = bitcast float %184 to i32
  %216 = icmp ne i32 %215, 0
  %217 = select i1 %216, float 1.500000e+00, float 1.000000e+00
  %218 = bitcast float %185 to i32
  %219 = icmp ne i32 %218, 0
  %220 = select i1 %219, float 1.500000e+00, float 1.000000e+00
  %221 = fsub float -0.000000e+00, %110
  %222 = fsub float -0.000000e+00, %113
  %223 = fsub float -0.000000e+00, %116
  %224 = bitcast float %142 to i32
  %225 = bitcast <32 x i8> %29 to <2 x i128>
  %226 = extractelement <2 x i128> %225, i32 0
  %227 = bitcast i128 %226 to <16 x i8>
  br label %LOOP.outer

LOOP.outer:                                       ; preds = %ENDIF402, %main_body
  %temp208.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp208.1, %ENDIF402 ]
  %temp204.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp204.1, %ENDIF402 ]
  %temp200.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp200.1, %ENDIF402 ]
  %temp196.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp196.1, %ENDIF402 ]
  %temp192.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp192.1, %ENDIF402 ]
  %temp188.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp188.1, %ENDIF402 ]
  %temp184.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp184.1, %ENDIF402 ]
  %temp180.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp180.1, %ENDIF402 ]
  %temp176.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp176.1, %ENDIF402 ]
  %temp172.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp172.1, %ENDIF402 ]
  %temp168.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp168.1, %ENDIF402 ]
  %temp164.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp164.1, %ENDIF402 ]
  %temp160.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp160.1, %ENDIF402 ]
  %temp156.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp156.1, %ENDIF402 ]
  %temp152.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp152.1, %ENDIF402 ]
  %temp148.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp148.1, %ENDIF402 ]
  %temp144.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp144.1, %ENDIF402 ]
  %temp140.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp140.1, %ENDIF402 ]
  %temp136.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp136.1, %ENDIF402 ]
  %temp132.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp132.1, %ENDIF402 ]
  %temp128.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp128.1, %ENDIF402 ]
  %temp124.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp124.1, %ENDIF402 ]
  %temp120.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp120.1, %ENDIF402 ]
  %temp116.0.ph = phi float [ 0.000000e+00, %main_body ], [ %temp116.1, %ENDIF402 ]
  %temp52.0.ph = phi float [ 0xFFFFFFFFE0000000, %main_body ], [ %371, %ENDIF402 ]
  %temp48.0.ph = phi float [ 5.000000e-01, %main_body ], [ %525, %ENDIF402 ]
  %temp44.0.ph = phi float [ 0x36E6000000000000, %main_body ], [ %524, %ENDIF402 ]
  %temp40.0.ph = phi float [ %24, %main_body ], [ %371, %ENDIF402 ]
  %temp36.0.ph = phi float [ %167, %main_body ], [ %temp36.0, %ENDIF402 ]
  %temp32.0.ph = phi float [ %161, %main_body ], [ %360, %ENDIF402 ]
  %temp24.0.ph = phi float [ %211, %main_body ], [ %560, %ENDIF402 ]
  %temp10.0.ph = phi float [ %220, %main_body ], [ %572, %ENDIF402 ]
  %temp9.0.ph = phi float [ %217, %main_body ], [ %569, %ENDIF402 ]
  %temp8.0.ph = phi float [ %214, %main_body ], [ %566, %ENDIF402 ]
  %228 = insertelement <24 x float> undef, float %temp116.0.ph, i32 0
  %229 = insertelement <24 x float> %228, float %temp120.0.ph, i32 1
  %230 = insertelement <24 x float> %229, float %temp124.0.ph, i32 2
  %231 = insertelement <24 x float> %230, float %temp128.0.ph, i32 3
  %232 = insertelement <24 x float> %231, float %temp132.0.ph, i32 4
  %233 = insertelement <24 x float> %232, float %temp136.0.ph, i32 5
  %234 = insertelement <24 x float> %233, float %temp140.0.ph, i32 6
  %235 = insertelement <24 x float> %234, float %temp144.0.ph, i32 7
  %236 = insertelement <24 x float> %235, float %temp148.0.ph, i32 8
  %237 = insertelement <24 x float> %236, float %temp152.0.ph, i32 9
  %238 = insertelement <24 x float> %237, float %temp156.0.ph, i32 10
  %239 = insertelement <24 x float> %238, float %temp160.0.ph, i32 11
  %240 = insertelement <24 x float> %239, float %temp164.0.ph, i32 12
  %241 = insertelement <24 x float> %240, float %temp168.0.ph, i32 13
  %242 = insertelement <24 x float> %241, float %temp172.0.ph, i32 14
  %243 = insertelement <24 x float> %242, float %temp176.0.ph, i32 15
  %244 = insertelement <24 x float> %243, float %temp180.0.ph, i32 16
  %245 = insertelement <24 x float> %244, float %temp184.0.ph, i32 17
  %246 = insertelement <24 x float> %245, float %temp188.0.ph, i32 18
  %247 = insertelement <24 x float> %246, float %temp192.0.ph, i32 19
  %248 = insertelement <24 x float> %247, float %temp196.0.ph, i32 20
  %249 = insertelement <24 x float> %248, float %temp200.0.ph, i32 21
  %250 = insertelement <24 x float> %249, float %temp204.0.ph, i32 22
  %251 = insertelement <24 x float> %250, float %temp208.0.ph, i32 23
  br label %LOOP

LOOP:                                             ; preds = %ENDIF414, %ENDIF396, %LOOP.outer
  %temp52.0 = phi float [ %temp52.0.ph, %LOOP.outer ], [ %371, %ENDIF396 ], [ %371, %ENDIF414 ]
  %temp48.0 = phi float [ %temp48.0.ph, %LOOP.outer ], [ %639, %ENDIF414 ], [ %temp48.0, %ENDIF396 ]
  %temp44.0 = phi float [ %temp44.0.ph, %LOOP.outer ], [ %633, %ENDIF414 ], [ %temp44.0, %ENDIF396 ]
  %temp40.0 = phi float [ %temp40.0.ph, %LOOP.outer ], [ %642, %ENDIF414 ], [ %temp40.0, %ENDIF396 ]
  %temp36.0 = phi float [ %temp36.0.ph, %LOOP.outer ], [ %360, %ENDIF396 ], [ %360, %ENDIF414 ]
  %temp32.0 = phi float [ %temp32.0.ph, %LOOP.outer ], [ 0.000000e+00, %ENDIF414 ], [ %temp32.0, %ENDIF396 ]
  %temp24.0 = phi float [ %temp24.0.ph, %LOOP.outer ], [ %689, %ENDIF414 ], [ %448, %ENDIF396 ]
  %temp10.0 = phi float [ %temp10.0.ph, %LOOP.outer ], [ %666, %ENDIF414 ], [ %444, %ENDIF396 ]
  %temp9.0 = phi float [ %temp9.0.ph, %LOOP.outer ], [ %665, %ENDIF414 ], [ %441, %ENDIF396 ]
  %temp8.0 = phi float [ %temp8.0.ph, %LOOP.outer ], [ %664, %ENDIF414 ], [ %438, %ENDIF396 ]
  %252 = bitcast float %temp44.0 to i32
  %253 = icmp sge i32 %252, 23
  %254 = sext i1 %253 to i32
  %255 = bitcast i32 %254 to float
  %256 = bitcast float %255 to i32
  %257 = icmp ne i32 %256, 0
  br i1 %257, label %ENDLOOP, label %ENDIF390

ENDLOOP:                                          ; preds = %IF397, %LOOP
  %temp52.1 = phi float [ %temp52.0, %LOOP ], [ %371, %IF397 ]
  %258 = bitcast float %temp44.0 to i32
  %259 = icmp sge i32 %258, 23
  %260 = sext i1 %259 to i32
  %261 = bitcast i32 %260 to float
  %262 = bitcast float %261 to i32
  %263 = icmp ne i32 %262, 0
  %.temp36.0 = select i1 %263, float 2.000000e+00, float %temp36.0
  %264 = bitcast float %142 to i32
  %265 = and i32 %264, 1
  %266 = bitcast float %142 to i32
  %267 = and i32 %266, 2
  %268 = bitcast float %142 to i32
  %269 = and i32 %268, 4
  %270 = bitcast i32 %265 to float
  %271 = bitcast i32 %267 to float
  %272 = bitcast i32 %269 to float
  %273 = bitcast float %270 to i32
  %274 = icmp ne i32 %273, 0
  %275 = sext i1 %274 to i32
  %276 = bitcast float %271 to i32
  %277 = icmp ne i32 %276, 0
  %278 = sext i1 %277 to i32
  %279 = bitcast float %272 to i32
  %280 = icmp ne i32 %279, 0
  %281 = sext i1 %280 to i32
  %282 = bitcast i32 %275 to float
  %283 = bitcast i32 %278 to float
  %284 = bitcast i32 %281 to float
  %285 = fsub float -0.000000e+00, %temp48.0
  %286 = fadd float 3.000000e+00, %285
  %287 = fsub float -0.000000e+00, %temp8.0
  %288 = fadd float %286, %287
  %289 = fsub float -0.000000e+00, %temp9.0
  %290 = fadd float %286, %289
  %291 = fsub float -0.000000e+00, %temp10.0
  %292 = fadd float %286, %291
  %293 = bitcast float %282 to i32
  %294 = icmp ne i32 %293, 0
  %295 = select i1 %294, float %288, float %temp8.0
  %296 = bitcast float %283 to i32
  %297 = icmp ne i32 %296, 0
  %298 = select i1 %297, float %290, float %temp9.0
  %299 = bitcast float %284 to i32
  %300 = icmp ne i32 %299, 0
  %301 = select i1 %300, float %292, float %temp10.0
  %302 = fmul float %.temp36.0, %71
  %303 = fadd float %302, %25
  %304 = fmul float %.temp36.0, %74
  %305 = fadd float %304, %26
  %306 = fmul float %.temp36.0, %77
  %307 = fadd float %306, %27
  %308 = fadd float %295, 0x3E80000000000000
  %309 = fadd float %298, 0x3E80000000000000
  %310 = fadd float %301, 0x3E80000000000000
  %311 = fcmp uge float %303, %308
  %312 = select i1 %311, float %303, float %308
  %313 = fcmp uge float %305, %309
  %314 = select i1 %313, float %305, float %309
  %315 = fcmp uge float %307, %310
  %316 = select i1 %315, float %307, float %310
  %317 = fadd float %295, %temp48.0
  %318 = fadd float %298, %temp48.0
  %319 = fadd float %301, %temp48.0
  %320 = fadd float %317, 0xBE80000000000000
  %321 = fadd float %318, 0xBE80000000000000
  %322 = fadd float %319, 0xBE80000000000000
  %323 = fcmp uge float %312, %320
  %324 = select i1 %323, float %320, float %312
  %325 = fcmp uge float %314, %321
  %326 = select i1 %325, float %321, float %314
  %327 = fcmp uge float %316, %322
  %328 = select i1 %327, float %322, float %316
  %329 = fdiv float 1.000000e+00, %temp48.0
  %330 = fmul float %324, %329
  %331 = fmul float %326, %329
  %332 = fmul float %328, %329
  %333 = call float @llvm.AMDIL.fraction.(float %330)
  %334 = call float @llvm.AMDIL.fraction.(float %331)
  %335 = call float @llvm.AMDIL.fraction.(float %332)
  %336 = fmul float %temp48.0, %333
  %337 = fmul float %temp48.0, %334
  %338 = fmul float %temp48.0, %335
  %339 = fdiv float 1.000000e+00, %temp48.0
  %340 = fmul float %336, %339
  %341 = fmul float %337, %339
  %342 = fmul float %338, %339
  %343 = bitcast float %temp52.1 to i32
  %344 = and i32 %343, 4095
  %345 = bitcast i32 %344 to float
  %346 = fcmp olt float %.temp36.0, 2.000000e+00
  %347 = sext i1 %346 to i32
  %348 = bitcast i32 %347 to float
  %349 = bitcast float %348 to i32
  %350 = icmp ne i32 %349, 0
  br i1 %350, label %IF421, label %ENDIF420

ENDIF390:                                         ; preds = %LOOP
  %351 = fmul float %temp8.0, %82
  %352 = fadd float %351, %221
  %353 = fmul float %temp9.0, %84
  %354 = fadd float %353, %222
  %355 = fmul float %temp10.0, %86
  %356 = fadd float %355, %223
  %357 = fcmp uge float %352, %354
  %358 = select i1 %357, float %354, float %352
  %359 = fcmp uge float %358, %356
  %360 = select i1 %359, float %356, float %358
  %361 = bitcast float %temp24.0 to i32
  %362 = xor i32 %361, %224
  %363 = bitcast i32 %362 to float
  %364 = bitcast float %temp40.0 to i32
  %365 = bitcast float %363 to i32
  %366 = mul i32 %364, 8
  %367 = add i32 %366, %365
  %368 = bitcast i32 %367 to float
  %369 = bitcast float %368 to i32
  %370 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %227, i32 0, i32 %369)
  %371 = extractelement <4 x float> %370, i32 0
  %372 = bitcast float %371 to i32
  %373 = and i32 %372, -2147483648
  %374 = bitcast i32 %373 to float
  %375 = bitcast float %374 to i32
  %376 = icmp ne i32 %375, 0
  %377 = sext i1 %376 to i32
  %378 = bitcast i32 %377 to float
  %379 = bitcast float %378 to i32
  %380 = xor i32 %379, -1
  %381 = bitcast i32 %380 to float
  %382 = bitcast float %381 to i32
  %383 = icmp ne i32 %382, 0
  br i1 %383, label %ENDIF393, label %ELSE395

ELSE395:                                          ; preds = %ENDIF390
  %384 = bitcast float %371 to i32
  %385 = and i32 %384, 4095
  %386 = bitcast i32 %385 to float
  %387 = bitcast float %386 to i32
  %388 = icmp ne i32 %387, 0
  %389 = sext i1 %388 to i32
  %390 = bitcast i32 %389 to float
  br label %ENDIF393

ENDIF393:                                         ; preds = %ENDIF390, %ELSE395
  %temp96.0 = phi float [ %390, %ELSE395 ], [ 0xFFFFFFFFE0000000, %ENDIF390 ]
  %391 = bitcast float %temp96.0 to i32
  %392 = icmp ne i32 %391, 0
  br i1 %392, label %IF397, label %ENDIF396

IF397:                                            ; preds = %ENDIF393
  %393 = bitcast float %378 to i32
  %394 = icmp ne i32 %393, 0
  br i1 %394, label %ENDLOOP, label %ENDIF399

ENDIF396:                                         ; preds = %ENDIF393
  %395 = fcmp oge float %360, %352
  %396 = sext i1 %395 to i32
  %397 = fcmp oge float %360, %354
  %398 = sext i1 %397 to i32
  %399 = fcmp oge float %360, %356
  %400 = sext i1 %399 to i32
  %401 = bitcast i32 %396 to float
  %402 = bitcast i32 %398 to float
  %403 = bitcast i32 %400 to float
  %404 = bitcast float %401 to i32
  %405 = and i32 %404, 1
  %406 = bitcast i32 %405 to float
  %407 = bitcast float %406 to i32
  %408 = and i32 %407, 1
  %409 = bitcast i32 %408 to float
  %410 = bitcast float %402 to i32
  %411 = and i32 %410, 1
  %412 = bitcast i32 %411 to float
  %413 = bitcast float %412 to i32
  %414 = and i32 %413, 2
  %415 = bitcast i32 %414 to float
  %416 = bitcast float %409 to i32
  %417 = bitcast float %415 to i32
  %418 = or i32 %416, %417
  %419 = bitcast i32 %418 to float
  %420 = bitcast float %403 to i32
  %421 = and i32 %420, 1
  %422 = bitcast i32 %421 to float
  %423 = bitcast float %422 to i32
  %424 = and i32 %423, 4
  %425 = bitcast i32 %424 to float
  %426 = bitcast float %419 to i32
  %427 = bitcast float %425 to i32
  %428 = or i32 %426, %427
  %429 = bitcast i32 %428 to float
  %430 = fsub float -0.000000e+00, %temp48.0
  %431 = fadd float %temp8.0, %430
  %432 = fsub float -0.000000e+00, %temp48.0
  %433 = fadd float %temp9.0, %432
  %434 = fsub float -0.000000e+00, %temp48.0
  %435 = fadd float %temp10.0, %434
  %436 = bitcast float %401 to i32
  %437 = icmp ne i32 %436, 0
  %438 = select i1 %437, float %431, float %temp8.0
  %439 = bitcast float %402 to i32
  %440 = icmp ne i32 %439, 0
  %441 = select i1 %440, float %433, float %temp9.0
  %442 = bitcast float %403 to i32
  %443 = icmp ne i32 %442, 0
  %444 = select i1 %443, float %435, float %temp10.0
  %445 = bitcast float %temp24.0 to i32
  %446 = bitcast float %429 to i32
  %447 = xor i32 %445, %446
  %448 = bitcast i32 %447 to float
  %449 = bitcast float %448 to i32
  %450 = bitcast float %429 to i32
  %451 = and i32 %449, %450
  %452 = bitcast i32 %451 to float
  %453 = bitcast float %452 to i32
  %454 = icmp ne i32 %453, 0
  %455 = sext i1 %454 to i32
  %456 = bitcast i32 %455 to float
  %457 = bitcast float %456 to i32
  %458 = icmp ne i32 %457, 0
  br i1 %458, label %IF406, label %LOOP

ENDIF399:                                         ; preds = %IF397
  %459 = fmul float %temp48.0, 5.000000e-01
  %460 = fmul float %459, %82
  %461 = fadd float %460, %352
  %462 = fmul float %459, %84
  %463 = fadd float %462, %354
  %464 = fmul float %459, %86
  %465 = fadd float %464, %356
  %466 = fcmp olt float %360, %temp32.0
  %467 = sext i1 %466 to i32
  %468 = bitcast i32 %467 to float
  %469 = bitcast float %468 to i32
  %470 = icmp ne i32 %469, 0
  br i1 %470, label %IF403, label %ENDIF402

IF403:                                            ; preds = %ENDIF399
  %471 = bitcast float %temp44.0 to i32
  %472 = add i32 %471, 0
  %473 = insertelement <24 x float> undef, float %temp116.0.ph, i32 0
  %474 = insertelement <24 x float> %473, float %temp120.0.ph, i32 1
  %475 = insertelement <24 x float> %474, float %temp124.0.ph, i32 2
  %476 = insertelement <24 x float> %475, float %temp128.0.ph, i32 3
  %477 = insertelement <24 x float> %476, float %temp132.0.ph, i32 4
  %478 = insertelement <24 x float> %477, float %temp136.0.ph, i32 5
  %479 = insertelement <24 x float> %478, float %temp140.0.ph, i32 6
  %480 = insertelement <24 x float> %479, float %temp144.0.ph, i32 7
  %481 = insertelement <24 x float> %480, float %temp148.0.ph, i32 8
  %482 = insertelement <24 x float> %481, float %temp152.0.ph, i32 9
  %483 = insertelement <24 x float> %482, float %temp156.0.ph, i32 10
  %484 = insertelement <24 x float> %483, float %temp160.0.ph, i32 11
  %485 = insertelement <24 x float> %484, float %temp164.0.ph, i32 12
  %486 = insertelement <24 x float> %485, float %temp168.0.ph, i32 13
  %487 = insertelement <24 x float> %486, float %temp172.0.ph, i32 14
  %488 = insertelement <24 x float> %487, float %temp176.0.ph, i32 15
  %489 = insertelement <24 x float> %488, float %temp180.0.ph, i32 16
  %490 = insertelement <24 x float> %489, float %temp184.0.ph, i32 17
  %491 = insertelement <24 x float> %490, float %temp188.0.ph, i32 18
  %492 = insertelement <24 x float> %491, float %temp192.0.ph, i32 19
  %493 = insertelement <24 x float> %492, float %temp196.0.ph, i32 20
  %494 = insertelement <24 x float> %493, float %temp200.0.ph, i32 21
  %495 = insertelement <24 x float> %494, float %temp204.0.ph, i32 22
  %496 = insertelement <24 x float> %495, float %temp208.0.ph, i32 23
  %497 = insertelement <24 x float> %496, float %temp40.0, i32 %472
  %498 = extractelement <24 x float> %497, i32 0
  %499 = extractelement <24 x float> %497, i32 1
  %500 = extractelement <24 x float> %497, i32 2
  %501 = extractelement <24 x float> %497, i32 3
  %502 = extractelement <24 x float> %497, i32 4
  %503 = extractelement <24 x float> %497, i32 5
  %504 = extractelement <24 x float> %497, i32 6
  %505 = extractelement <24 x float> %497, i32 7
  %506 = extractelement <24 x float> %497, i32 8
  %507 = extractelement <24 x float> %497, i32 9
  %508 = extractelement <24 x float> %497, i32 10
  %509 = extractelement <24 x float> %497, i32 11
  %510 = extractelement <24 x float> %497, i32 12
  %511 = extractelement <24 x float> %497, i32 13
  %512 = extractelement <24 x float> %497, i32 14
  %513 = extractelement <24 x float> %497, i32 15
  %514 = extractelement <24 x float> %497, i32 16
  %515 = extractelement <24 x float> %497, i32 17
  %516 = extractelement <24 x float> %497, i32 18
  %517 = extractelement <24 x float> %497, i32 19
  %518 = extractelement <24 x float> %497, i32 20
  %519 = extractelement <24 x float> %497, i32 21
  %520 = extractelement <24 x float> %497, i32 22
  %521 = extractelement <24 x float> %497, i32 23
  br label %ENDIF402

ENDIF402:                                         ; preds = %ENDIF399, %IF403
  %temp208.1 = phi float [ %521, %IF403 ], [ %temp208.0.ph, %ENDIF399 ]
  %temp204.1 = phi float [ %520, %IF403 ], [ %temp204.0.ph, %ENDIF399 ]
  %temp200.1 = phi float [ %519, %IF403 ], [ %temp200.0.ph, %ENDIF399 ]
  %temp196.1 = phi float [ %518, %IF403 ], [ %temp196.0.ph, %ENDIF399 ]
  %temp192.1 = phi float [ %517, %IF403 ], [ %temp192.0.ph, %ENDIF399 ]
  %temp188.1 = phi float [ %516, %IF403 ], [ %temp188.0.ph, %ENDIF399 ]
  %temp184.1 = phi float [ %515, %IF403 ], [ %temp184.0.ph, %ENDIF399 ]
  %temp180.1 = phi float [ %514, %IF403 ], [ %temp180.0.ph, %ENDIF399 ]
  %temp176.1 = phi float [ %513, %IF403 ], [ %temp176.0.ph, %ENDIF399 ]
  %temp172.1 = phi float [ %512, %IF403 ], [ %temp172.0.ph, %ENDIF399 ]
  %temp168.1 = phi float [ %511, %IF403 ], [ %temp168.0.ph, %ENDIF399 ]
  %temp164.1 = phi float [ %510, %IF403 ], [ %temp164.0.ph, %ENDIF399 ]
  %temp160.1 = phi float [ %509, %IF403 ], [ %temp160.0.ph, %ENDIF399 ]
  %temp156.1 = phi float [ %508, %IF403 ], [ %temp156.0.ph, %ENDIF399 ]
  %temp152.1 = phi float [ %507, %IF403 ], [ %temp152.0.ph, %ENDIF399 ]
  %temp148.1 = phi float [ %506, %IF403 ], [ %temp148.0.ph, %ENDIF399 ]
  %temp144.1 = phi float [ %505, %IF403 ], [ %temp144.0.ph, %ENDIF399 ]
  %temp140.1 = phi float [ %504, %IF403 ], [ %temp140.0.ph, %ENDIF399 ]
  %temp136.1 = phi float [ %503, %IF403 ], [ %temp136.0.ph, %ENDIF399 ]
  %temp132.1 = phi float [ %502, %IF403 ], [ %temp132.0.ph, %ENDIF399 ]
  %temp128.1 = phi float [ %501, %IF403 ], [ %temp128.0.ph, %ENDIF399 ]
  %temp124.1 = phi float [ %500, %IF403 ], [ %temp124.0.ph, %ENDIF399 ]
  %temp120.1 = phi float [ %499, %IF403 ], [ %temp120.0.ph, %ENDIF399 ]
  %temp116.1 = phi float [ %498, %IF403 ], [ %temp116.0.ph, %ENDIF399 ]
  %522 = bitcast float %temp44.0 to i32
  %523 = add i32 %522, -1
  %524 = bitcast i32 %523 to float
  %525 = fmul float %temp48.0, 5.000000e-01
  %526 = fcmp olt float %temp36.0, %461
  %527 = sext i1 %526 to i32
  %528 = fcmp olt float %temp36.0, %463
  %529 = sext i1 %528 to i32
  %530 = fcmp olt float %temp36.0, %465
  %531 = sext i1 %530 to i32
  %532 = bitcast i32 %527 to float
  %533 = bitcast i32 %529 to float
  %534 = bitcast i32 %531 to float
  %535 = bitcast float %532 to i32
  %536 = and i32 %535, 1
  %537 = bitcast i32 %536 to float
  %538 = bitcast float %537 to i32
  %539 = and i32 %538, 1
  %540 = bitcast i32 %539 to float
  %541 = bitcast float %533 to i32
  %542 = and i32 %541, 1
  %543 = bitcast i32 %542 to float
  %544 = bitcast float %543 to i32
  %545 = and i32 %544, 2
  %546 = bitcast i32 %545 to float
  %547 = bitcast float %540 to i32
  %548 = bitcast float %546 to i32
  %549 = or i32 %547, %548
  %550 = bitcast i32 %549 to float
  %551 = bitcast float %534 to i32
  %552 = and i32 %551, 1
  %553 = bitcast i32 %552 to float
  %554 = bitcast float %553 to i32
  %555 = and i32 %554, 4
  %556 = bitcast i32 %555 to float
  %557 = bitcast float %550 to i32
  %558 = bitcast float %556 to i32
  %559 = or i32 %557, %558
  %560 = bitcast i32 %559 to float
  %561 = fadd float %temp8.0, %525
  %562 = fadd float %temp9.0, %525
  %563 = fadd float %temp10.0, %525
  %564 = bitcast float %532 to i32
  %565 = icmp ne i32 %564, 0
  %566 = select i1 %565, float %561, float %temp8.0
  %567 = bitcast float %533 to i32
  %568 = icmp ne i32 %567, 0
  %569 = select i1 %568, float %562, float %temp9.0
  %570 = bitcast float %534 to i32
  %571 = icmp ne i32 %570, 0
  %572 = select i1 %571, float %563, float %temp10.0
  br label %LOOP.outer

IF406:                                            ; preds = %ENDIF396
  %573 = fadd float %438, %temp48.0
  %574 = fadd float %441, %temp48.0
  %575 = fadd float %444, %temp48.0
  %576 = bitcast float %438 to i32
  %577 = bitcast float %573 to i32
  %578 = xor i32 %576, %577
  %579 = bitcast float %441 to i32
  %580 = bitcast float %574 to i32
  %581 = xor i32 %579, %580
  %582 = bitcast float %444 to i32
  %583 = bitcast float %575 to i32
  %584 = xor i32 %582, %583
  %585 = bitcast i32 %578 to float
  %586 = bitcast i32 %581 to float
  %587 = bitcast i32 %584 to float
  %588 = bitcast float %429 to i32
  %589 = and i32 %588, 1
  %590 = bitcast i32 %589 to float
  %591 = bitcast float %590 to i32
  %592 = icmp ne i32 %591, 0
  %593 = sext i1 %592 to i32
  %594 = bitcast i32 %593 to float
  %595 = bitcast float %594 to i32
  %596 = icmp ne i32 %595, 0
  br i1 %596, label %IF409, label %ENDIF408

IF409:                                            ; preds = %IF406
  %597 = bitcast float %585 to i32
  %598 = or i32 0, %597
  %599 = bitcast i32 %598 to float
  br label %ENDIF408

ENDIF408:                                         ; preds = %IF406, %IF409
  %temp300.0 = phi float [ %599, %IF409 ], [ 0.000000e+00, %IF406 ]
  %600 = bitcast float %429 to i32
  %601 = and i32 %600, 2
  %602 = bitcast i32 %601 to float
  %603 = bitcast float %602 to i32
  %604 = icmp ne i32 %603, 0
  %605 = sext i1 %604 to i32
  %606 = bitcast i32 %605 to float
  %607 = bitcast float %606 to i32
  %608 = icmp ne i32 %607, 0
  br i1 %608, label %IF412, label %ENDIF411

IF412:                                            ; preds = %ENDIF408
  %609 = bitcast float %temp300.0 to i32
  %610 = bitcast float %586 to i32
  %611 = or i32 %609, %610
  %612 = bitcast i32 %611 to float
  br label %ENDIF411

ENDIF411:                                         ; preds = %ENDIF408, %IF412
  %temp300.1 = phi float [ %612, %IF412 ], [ %temp300.0, %ENDIF408 ]
  %613 = bitcast float %429 to i32
  %614 = and i32 %613, 4
  %615 = bitcast i32 %614 to float
  %616 = bitcast float %615 to i32
  %617 = icmp ne i32 %616, 0
  %618 = sext i1 %617 to i32
  %619 = bitcast i32 %618 to float
  %620 = bitcast float %619 to i32
  %621 = icmp ne i32 %620, 0
  br i1 %621, label %IF415, label %ENDIF414

IF415:                                            ; preds = %ENDIF411
  %622 = bitcast float %temp300.1 to i32
  %623 = bitcast float %587 to i32
  %624 = or i32 %622, %623
  %625 = bitcast i32 %624 to float
  br label %ENDIF414

ENDIF414:                                         ; preds = %ENDIF411, %IF415
  %temp300.2 = phi float [ %625, %IF415 ], [ %temp300.1, %ENDIF411 ]
  %626 = bitcast float %temp300.2 to i32
  %627 = uitofp i32 %626 to float
  %628 = bitcast float %627 to i32
  %629 = ashr i32 %628, 23
  %630 = bitcast i32 %629 to float
  %631 = bitcast float %630 to i32
  %632 = add i32 %631, -127
  %633 = bitcast i32 %632 to float
  %634 = bitcast float %633 to i32
  %635 = add i32 104, %634
  %636 = bitcast i32 %635 to float
  %637 = bitcast float %636 to i32
  %638 = shl i32 %637, 23
  %639 = bitcast i32 %638 to float
  %640 = bitcast float %633 to i32
  %641 = add i32 %640, 0
  %642 = extractelement <24 x float> %251, i32 %641
  %643 = bitcast float %438 to i32
  %644 = bitcast float %633 to i32
  %645 = lshr i32 %643, %644
  %646 = bitcast float %441 to i32
  %647 = bitcast float %633 to i32
  %648 = lshr i32 %646, %647
  %649 = bitcast float %444 to i32
  %650 = bitcast float %633 to i32
  %651 = lshr i32 %649, %650
  %652 = bitcast i32 %645 to float
  %653 = bitcast i32 %648 to float
  %654 = bitcast i32 %651 to float
  %655 = bitcast float %652 to i32
  %656 = bitcast float %633 to i32
  %657 = shl i32 %655, %656
  %658 = bitcast float %653 to i32
  %659 = bitcast float %633 to i32
  %660 = shl i32 %658, %659
  %661 = bitcast float %654 to i32
  %662 = bitcast float %633 to i32
  %663 = shl i32 %661, %662
  %664 = bitcast i32 %657 to float
  %665 = bitcast i32 %660 to float
  %666 = bitcast i32 %663 to float
  %667 = bitcast float %652 to i32
  %668 = and i32 %667, 1
  %669 = bitcast i32 %668 to float
  %670 = bitcast float %653 to i32
  %671 = and i32 %670, 1
  %672 = bitcast i32 %671 to float
  %673 = bitcast float %672 to i32
  %674 = shl i32 %673, 1
  %675 = bitcast i32 %674 to float
  %676 = bitcast float %669 to i32
  %677 = bitcast float %675 to i32
  %678 = or i32 %676, %677
  %679 = bitcast i32 %678 to float
  %680 = bitcast float %654 to i32
  %681 = and i32 %680, 1
  %682 = bitcast i32 %681 to float
  %683 = bitcast float %682 to i32
  %684 = shl i32 %683, 2
  %685 = bitcast i32 %684 to float
  %686 = bitcast float %679 to i32
  %687 = bitcast float %685 to i32
  %688 = or i32 %686, %687
  %689 = bitcast i32 %688 to float
  br label %LOOP

IF421:                                            ; preds = %ENDLOOP
  %690 = bitcast float %345 to i32
  %691 = icmp eq i32 1, %690
  %692 = sext i1 %691 to i32
  %693 = bitcast i32 %692 to float
  %694 = bitcast float %693 to i32
  %695 = sitofp i32 %694 to float
  %696 = call float @llvm.AMDGPU.cndlt(float %695, float 0xFFFFFFFFE0000000, float 0.000000e+00)
  %697 = call float @llvm.AMDGPU.cndlt(float 0.000000e+00, float 0.000000e+00, float %696)
  %698 = bitcast float %697 to i32
  %699 = icmp ne i32 %698, 0
  %.484 = select i1 %699, float 1.000000e+00, float 0.000000e+00
  %.485 = select i1 %699, float 5.000000e-01, float %116
  %.486 = select i1 %699, float 5.000000e-01, float %113
  %.487 = select i1 %699, float 5.000000e-01, float 0.000000e+00
  %.488 = select i1 %699, float 0xFFFFFFFFE0000000, float 0.000000e+00
  %700 = bitcast float %345 to i32
  %701 = icmp eq i32 2, %700
  %702 = sext i1 %701 to i32
  %703 = bitcast i32 %702 to float
  %704 = bitcast float %703 to i32
  %705 = sitofp i32 %704 to float
  %706 = call float @llvm.AMDGPU.cndlt(float %705, float 0xFFFFFFFFE0000000, float %697)
  %707 = bitcast float %.488 to i32
  %708 = sitofp i32 %707 to float
  %709 = call float @llvm.AMDGPU.cndlt(float %708, float 0.000000e+00, float %706)
  %710 = bitcast float %709 to i32
  %711 = icmp ne i32 %710, 0
  %..484 = select i1 %711, float 1.000000e+00, float %.484
  %..485 = select i1 %711, float 0.000000e+00, float %.485
  %..486 = select i1 %711, float 2.500000e-01, float %.486
  %..487 = select i1 %711, float 0.000000e+00, float %.487
  %..488 = select i1 %711, float 0xFFFFFFFFE0000000, float %.488
  %712 = bitcast float %345 to i32
  %713 = icmp eq i32 3, %712
  %714 = sext i1 %713 to i32
  %715 = bitcast i32 %714 to float
  %716 = bitcast float %715 to i32
  %717 = sitofp i32 %716 to float
  %718 = call float @llvm.AMDGPU.cndlt(float %717, float 0xFFFFFFFFE0000000, float %709)
  %719 = bitcast float %..488 to i32
  %720 = sitofp i32 %719 to float
  %721 = call float @llvm.AMDGPU.cndlt(float %720, float 0.000000e+00, float %718)
  %722 = bitcast float %721 to i32
  %723 = icmp ne i32 %722, 0
  %.temp27.2 = select i1 %723, float 1.000000e+00, float %..484
  %.temp26.2 = select i1 %723, float 1.250000e-01, float %..485
  %.temp25.2 = select i1 %723, float 2.500000e-01, float %..486
  %.temp24.4 = select i1 %723, float 5.000000e-01, float %..487
  %.temp20.1 = select i1 %723, float 0xFFFFFFFFE0000000, float %..488
  %724 = bitcast float %345 to i32
  %725 = icmp eq i32 4, %724
  %726 = sext i1 %725 to i32
  %727 = bitcast i32 %726 to float
  %728 = bitcast float %727 to i32
  %729 = sitofp i32 %728 to float
  %730 = call float @llvm.AMDGPU.cndlt(float %729, float 0xFFFFFFFFE0000000, float %721)
  %731 = bitcast float %.temp20.1 to i32
  %732 = sitofp i32 %731 to float
  %733 = call float @llvm.AMDGPU.cndlt(float %732, float 0.000000e+00, float %730)
  %734 = bitcast float %733 to i32
  %735 = icmp ne i32 %734, 0
  %..temp27.2 = select i1 %735, float 1.000000e+00, float %.temp27.2
  %..temp26.2 = select i1 %735, float 2.500000e-01, float %.temp26.2
  %..temp25.2 = select i1 %735, float 2.500000e-01, float %.temp25.2
  %..temp24.4 = select i1 %735, float 2.500000e-01, float %.temp24.4
  %..temp20.1 = select i1 %735, float 0xFFFFFFFFE0000000, float %.temp20.1
  %736 = bitcast float %345 to i32
  %737 = icmp eq i32 5, %736
  %738 = sext i1 %737 to i32
  %739 = bitcast i32 %738 to float
  %740 = bitcast float %739 to i32
  %741 = sitofp i32 %740 to float
  %742 = call float @llvm.AMDGPU.cndlt(float %741, float 0xFFFFFFFFE0000000, float %733)
  %743 = bitcast float %..temp20.1 to i32
  %744 = sitofp i32 %743 to float
  %745 = call float @llvm.AMDGPU.cndlt(float %744, float 0.000000e+00, float %742)
  %746 = bitcast float %745 to i32
  %747 = icmp ne i32 %746, 0
  %.temp27.4 = select i1 %747, float 1.000000e+00, float %..temp27.2
  %.temp26.4 = select i1 %747, float 1.250000e-01, float %..temp26.2
  %.temp25.4 = select i1 %747, float 5.000000e-01, float %..temp25.2
  %.temp24.6 = select i1 %747, float 5.000000e-01, float %..temp24.4
  %.temp20.3 = select i1 %747, float 0xFFFFFFFFE0000000, float %..temp20.1
  %748 = bitcast float %345 to i32
  %749 = icmp eq i32 8, %748
  %750 = sext i1 %749 to i32
  %751 = bitcast i32 %750 to float
  %752 = bitcast float %751 to i32
  %753 = sitofp i32 %752 to float
  %754 = call float @llvm.AMDGPU.cndlt(float %753, float 0xFFFFFFFFE0000000, float %745)
  %755 = bitcast float %.temp20.3 to i32
  %756 = sitofp i32 %755 to float
  %757 = call float @llvm.AMDGPU.cndlt(float %756, float 0.000000e+00, float %754)
  %758 = bitcast float %757 to i32
  %759 = icmp ne i32 %758, 0
  %..temp27.4 = select i1 %759, float 1.000000e+00, float %.temp27.4
  %..temp26.4 = select i1 %759, float 1.000000e+00, float %.temp26.4
  %..temp25.4 = select i1 %759, float 0.000000e+00, float %.temp25.4
  %..temp24.6 = select i1 %759, float 0.000000e+00, float %.temp24.6
  %..temp20.3 = select i1 %759, float 0xFFFFFFFFE0000000, float %.temp20.3
  %760 = bitcast float %345 to i32
  %761 = icmp eq i32 9, %760
  %762 = sext i1 %761 to i32
  %763 = bitcast i32 %762 to float
  %764 = bitcast float %763 to i32
  %765 = sitofp i32 %764 to float
  %766 = call float @llvm.AMDGPU.cndlt(float %765, float 0xFFFFFFFFE0000000, float %757)
  %767 = bitcast float %..temp20.3 to i32
  %768 = sitofp i32 %767 to float
  %769 = call float @llvm.AMDGPU.cndlt(float %768, float 0.000000e+00, float %766)
  %770 = bitcast float %769 to i32
  %771 = icmp ne i32 %770, 0
  %.temp27.6 = select i1 %771, float 1.000000e+00, float %..temp27.4
  %.temp26.6 = select i1 %771, float 5.000000e-01, float %..temp26.4
  %.temp25.6 = select i1 %771, float 0.000000e+00, float %..temp25.4
  %.temp24.8 = select i1 %771, float 0.000000e+00, float %..temp24.6
  %.temp20.5 = select i1 %771, float 0xFFFFFFFFE0000000, float %..temp20.3
  %772 = bitcast float %345 to i32
  %773 = icmp eq i32 12, %772
  %774 = sext i1 %773 to i32
  %775 = bitcast i32 %774 to float
  %776 = bitcast float %775 to i32
  %777 = sitofp i32 %776 to float
  %778 = call float @llvm.AMDGPU.cndlt(float %777, float 0xFFFFFFFFE0000000, float %769)
  %779 = bitcast float %.temp20.5 to i32
  %780 = sitofp i32 %779 to float
  %781 = call float @llvm.AMDGPU.cndlt(float %780, float 0.000000e+00, float %778)
  %782 = bitcast float %781 to i32
  %783 = icmp ne i32 %782, 0
  %..temp27.6 = select i1 %783, float 1.000000e+00, float %.temp27.6
  %..temp26.6 = select i1 %783, float 6.250000e-01, float %.temp26.6
  %..temp25.6 = select i1 %783, float 0x3FEA666660000000, float %.temp25.6
  %..temp24.8 = select i1 %783, float 0x3FEB333340000000, float %.temp24.8
  %..temp20.5 = select i1 %783, float 0xFFFFFFFFE0000000, float %.temp20.5
  %784 = bitcast float %345 to i32
  %785 = icmp eq i32 13, %784
  %786 = sext i1 %785 to i32
  %787 = bitcast i32 %786 to float
  %788 = bitcast float %787 to i32
  %789 = sitofp i32 %788 to float
  %790 = call float @llvm.AMDGPU.cndlt(float %789, float 0xFFFFFFFFE0000000, float %781)
  %791 = bitcast float %..temp20.5 to i32
  %792 = sitofp i32 %791 to float
  %793 = call float @llvm.AMDGPU.cndlt(float %792, float 0.000000e+00, float %790)
  %794 = bitcast float %793 to i32
  %795 = icmp ne i32 %794, 0
  %.temp27.8 = select i1 %795, float 1.000000e+00, float %..temp27.6
  %.temp26.8 = select i1 %795, float 0x3FDEB851E0000000, float %..temp26.6
  %.temp25.8 = select i1 %795, float 0x3FDF0A3D80000000, float %..temp25.6
  %.temp24.10 = select i1 %795, float 5.000000e-01, float %..temp24.8
  %.temp20.7 = select i1 %795, float 0xFFFFFFFFE0000000, float %..temp20.5
  %796 = bitcast float %345 to i32
  %797 = icmp eq i32 17, %796
  %798 = sext i1 %797 to i32
  %799 = bitcast i32 %798 to float
  %800 = bitcast float %799 to i32
  %801 = sitofp i32 %800 to float
  %802 = call float @llvm.AMDGPU.cndlt(float %801, float 0xFFFFFFFFE0000000, float %793)
  %803 = bitcast float %.temp20.7 to i32
  %804 = sitofp i32 %803 to float
  %805 = call float @llvm.AMDGPU.cndlt(float %804, float 0.000000e+00, float %802)
  %806 = bitcast float %805 to i32
  %807 = icmp ne i32 %806, 0
  %..temp27.8 = select i1 %807, float 1.000000e+00, float %.temp27.8
  %..temp26.8 = select i1 %807, float 1.250000e-01, float %.temp26.8
  %..temp25.8 = select i1 %807, float 2.500000e-01, float %.temp25.8
  %..temp24.10 = select i1 %807, float 2.500000e-01, float %.temp24.10
  %..temp20.7 = select i1 %807, float 0xFFFFFFFFE0000000, float %.temp20.7
  %808 = bitcast float %345 to i32
  %809 = icmp eq i32 18, %808
  %810 = sext i1 %809 to i32
  %811 = bitcast i32 %810 to float
  %812 = bitcast float %811 to i32
  %813 = sitofp i32 %812 to float
  %814 = call float @llvm.AMDGPU.cndlt(float %813, float 0xFFFFFFFFE0000000, float %805)
  %815 = bitcast float %..temp20.7 to i32
  %816 = sitofp i32 %815 to float
  %817 = call float @llvm.AMDGPU.cndlt(float %816, float 0.000000e+00, float %814)
  %818 = bitcast float %817 to i32
  %819 = icmp ne i32 %818, 0
  %.temp27.10 = select i1 %819, float 1.000000e+00, float %..temp27.8
  %.temp26.10 = select i1 %819, float 0.000000e+00, float %..temp26.8
  %.temp25.10 = select i1 %819, float 5.000000e-01, float %..temp25.8
  %.temp24.12 = select i1 %819, float 0.000000e+00, float %..temp24.10
  %.temp20.9 = select i1 %819, float 0xFFFFFFFFE0000000, float %..temp20.7
  %820 = bitcast float %345 to i32
  %821 = icmp eq i32 31, %820
  %822 = sext i1 %821 to i32
  %823 = bitcast i32 %822 to float
  %824 = bitcast float %823 to i32
  %825 = sitofp i32 %824 to float
  %826 = call float @llvm.AMDGPU.cndlt(float %825, float 0xFFFFFFFFE0000000, float %817)
  %827 = bitcast float %.temp20.9 to i32
  %828 = sitofp i32 %827 to float
  %829 = call float @llvm.AMDGPU.cndlt(float %828, float 0.000000e+00, float %826)
  %830 = bitcast float %829 to i32
  %831 = icmp ne i32 %830, 0
  %..temp27.10 = select i1 %831, float 1.000000e+00, float %.temp27.10
  %..temp26.10 = select i1 %831, float 0x3FB99999A0000000, float %.temp26.10
  %..temp25.10 = select i1 %831, float 0x3FD6666660000000, float %.temp25.10
  %..temp24.12 = select i1 %831, float 0x3FB99999A0000000, float %.temp24.12
  %..temp20.9 = select i1 %831, float 0xFFFFFFFFE0000000, float %.temp20.9
  %832 = bitcast float %345 to i32
  %833 = icmp eq i32 32, %832
  %834 = sext i1 %833 to i32
  %835 = bitcast i32 %834 to float
  %836 = bitcast float %835 to i32
  %837 = sitofp i32 %836 to float
  %838 = call float @llvm.AMDGPU.cndlt(float %837, float 0xFFFFFFFFE0000000, float %829)
  %839 = bitcast float %..temp20.9 to i32
  %840 = sitofp i32 %839 to float
  %841 = call float @llvm.AMDGPU.cndlt(float %840, float 0.000000e+00, float %838)
  %842 = bitcast float %841 to i32
  %843 = icmp ne i32 %842, 0
  %.temp27.12 = select i1 %843, float 1.000000e+00, float %..temp27.10
  %.temp26.12 = select i1 %843, float 0x3FB99999A0000000, float %..temp26.10
  %.temp25.12 = select i1 %843, float 0x3FD3333340000000, float %..temp25.10
  %.temp24.14 = select i1 %843, float 5.000000e-01, float %..temp24.12
  %.temp20.11 = select i1 %843, float 0xFFFFFFFFE0000000, float %..temp20.9
  %844 = bitcast float %345 to i32
  %845 = icmp eq i32 78, %844
  %846 = sext i1 %845 to i32
  %847 = bitcast i32 %846 to float
  %848 = bitcast float %847 to i32
  %849 = sitofp i32 %848 to float
  %850 = call float @llvm.AMDGPU.cndlt(float %849, float 0xFFFFFFFFE0000000, float %841)
  %851 = bitcast float %.temp20.11 to i32
  %852 = sitofp i32 %851 to float
  %853 = call float @llvm.AMDGPU.cndlt(float %852, float 0.000000e+00, float %850)
  %854 = bitcast float %853 to i32
  %855 = icmp ne i32 %854, 0
  %..temp27.12 = select i1 %855, float 1.000000e+00, float %.temp27.12
  %..temp26.12 = select i1 %855, float 1.000000e+00, float %.temp26.12
  %..temp25.12 = select i1 %855, float 1.000000e+00, float %.temp25.12
  %..temp24.14 = select i1 %855, float 1.000000e+00, float %.temp24.14
  %..temp20.11 = select i1 %855, float 0xFFFFFFFFE0000000, float %.temp20.11
  %856 = bitcast float %345 to i32
  %857 = icmp eq i32 81, %856
  %858 = sext i1 %857 to i32
  %859 = bitcast i32 %858 to float
  %860 = bitcast float %859 to i32
  %861 = sitofp i32 %860 to float
  %862 = call float @llvm.AMDGPU.cndlt(float %861, float 0xFFFFFFFFE0000000, float %853)
  %863 = bitcast float %..temp20.11 to i32
  %864 = sitofp i32 %863 to float
  %865 = call float @llvm.AMDGPU.cndlt(float %864, float 0.000000e+00, float %862)
  %866 = bitcast float %865 to i32
  %867 = icmp ne i32 %866, 0
  %.temp27.14 = select i1 %867, float 1.000000e+00, float %..temp27.12
  %.temp26.14 = select i1 %867, float 0x3FB99999A0000000, float %..temp26.12
  %.temp25.14 = select i1 %867, float 0x3FD99999A0000000, float %..temp25.12
  %.temp24.16 = select i1 %867, float 1.250000e-01, float %..temp24.14
  %.temp20.13 = select i1 %867, float 0xFFFFFFFFE0000000, float %..temp20.11
  %868 = bitcast float %345 to i32
  %869 = icmp eq i32 106, %868
  %870 = sext i1 %869 to i32
  %871 = bitcast i32 %870 to float
  %872 = bitcast float %871 to i32
  %873 = sitofp i32 %872 to float
  %874 = call float @llvm.AMDGPU.cndlt(float %873, float 0xFFFFFFFFE0000000, float %865)
  %875 = bitcast float %.temp20.13 to i32
  %876 = sitofp i32 %875 to float
  %877 = call float @llvm.AMDGPU.cndlt(float %876, float 0.000000e+00, float %874)
  %878 = bitcast float %877 to i32
  %879 = icmp ne i32 %878, 0
  %..temp27.14 = select i1 %879, float 1.000000e+00, float %.temp27.14
  %..temp26.14 = select i1 %879, float 0.000000e+00, float %.temp26.14
  %..temp25.14 = select i1 %879, float 0x3FD6666660000000, float %.temp25.14
  %..temp24.16 = select i1 %879, float 0.000000e+00, float %.temp24.16
  %..temp20.13 = select i1 %879, float 0xFFFFFFFFE0000000, float %.temp20.13
  %880 = bitcast float %345 to i32
  %881 = icmp eq i32 127, %880
  %882 = sext i1 %881 to i32
  %883 = bitcast i32 %882 to float
  %884 = bitcast float %883 to i32
  %885 = sitofp i32 %884 to float
  %886 = call float @llvm.AMDGPU.cndlt(float %885, float 0xFFFFFFFFE0000000, float %877)
  %887 = bitcast float %..temp20.13 to i32
  %888 = sitofp i32 %887 to float
  %889 = call float @llvm.AMDGPU.cndlt(float %888, float 0.000000e+00, float %886)
  %890 = bitcast float %889 to i32
  %891 = icmp ne i32 %890, 0
  %.temp27.16 = select i1 %891, float 1.000000e+00, float %..temp27.14
  %.temp26.16 = select i1 %891, float 1.250000e-01, float %..temp26.14
  %.temp25.16 = select i1 %891, float 0x3FD3333340000000, float %..temp25.14
  %.temp24.18 = select i1 %891, float 0x3FE3333340000000, float %..temp24.16
  %.temp20.15 = select i1 %891, float 0xFFFFFFFFE0000000, float %..temp20.13
  %892 = bitcast float %.temp20.15 to i32
  %893 = sitofp i32 %892 to float
  %894 = call float @llvm.AMDGPU.cndlt(float %893, float 0.000000e+00, float 0xFFFFFFFFE0000000)
  %895 = bitcast float %894 to i32
  %896 = icmp ne i32 %895, 0
  br i1 %896, label %IF475, label %ENDIF474

ENDIF420:                                         ; preds = %IF481, %ELSE482, %ENDIF474, %ENDLOOP
  %temp27.0 = phi float [ 1.000000e+00, %ENDLOOP ], [ %temp27.18, %ENDIF474 ], [ %948, %IF481 ], [ %952, %ELSE482 ]
  %temp26.0 = phi float [ %77, %ENDLOOP ], [ %temp26.18, %ENDIF474 ], [ %947, %IF481 ], [ %951, %ELSE482 ]
  %temp25.0 = phi float [ %74, %ENDLOOP ], [ %temp25.18, %ENDIF474 ], [ %946, %IF481 ], [ %950, %ELSE482 ]
  %temp24.2 = phi float [ %71, %ENDLOOP ], [ %temp24.20, %ENDIF474 ], [ %945, %IF481 ], [ %949, %ELSE482 ]
  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %temp24.2, float %temp25.0, float %temp26.0, float %temp27.0)
  ret void

IF475:                                            ; preds = %IF421
  %897 = bitcast float %temp52.1 to i32
  %898 = lshr i32 %897, 16
  %899 = bitcast i32 %898 to float
  %900 = bitcast float %899 to i32
  %901 = and i32 %900, 255
  %902 = bitcast i32 %901 to float
  %903 = bitcast float %902 to i32
  %904 = uitofp i32 %903 to float
  %905 = bitcast float %temp52.1 to i32
  %906 = lshr i32 %905, 8
  %907 = bitcast i32 %906 to float
  %908 = bitcast float %907 to i32
  %909 = and i32 %908, 255
  %910 = bitcast i32 %909 to float
  %911 = bitcast float %910 to i32
  %912 = uitofp i32 %911 to float
  %913 = bitcast float %temp52.1 to i32
  %914 = and i32 %913, 255
  %915 = bitcast i32 %914 to float
  %916 = bitcast float %915 to i32
  %917 = uitofp i32 %916 to float
  %918 = fmul float %904, 0x3F70101020000000
  %919 = fmul float %912, 0x3F70101020000000
  %920 = fmul float %917, 0x3F70101020000000
  %921 = fmul float 2.550000e+02, 0x3F70101020000000
  br label %ENDIF474

ENDIF474:                                         ; preds = %IF421, %IF475
  %temp27.18 = phi float [ %921, %IF475 ], [ %.temp27.16, %IF421 ]
  %temp26.18 = phi float [ %920, %IF475 ], [ %.temp26.16, %IF421 ]
  %temp25.18 = phi float [ %919, %IF475 ], [ %.temp25.16, %IF421 ]
  %temp24.20 = phi float [ %918, %IF475 ], [ %.temp24.18, %IF421 ]
  %922 = fadd float %340, -5.000000e-01
  %923 = fadd float %341, -5.000000e-01
  %924 = fadd float %342, -5.000000e-01
  %925 = call float @fabs(float %922)
  %926 = call float @fabs(float %923)
  %927 = call float @fabs(float %924)
  %928 = fcmp olt float %926, %925
  %929 = sext i1 %928 to i32
  %930 = bitcast i32 %929 to float
  %931 = fcmp olt float %926, %927
  %932 = sext i1 %931 to i32
  %933 = bitcast i32 %932 to float
  %934 = bitcast float %930 to i32
  %935 = bitcast float %933 to i32
  %936 = or i32 %934, %935
  %937 = bitcast i32 %936 to float
  %938 = bitcast float %937 to i32
  %939 = icmp ne i32 %938, 0
  br i1 %939, label %IF478, label %ENDIF420

IF478:                                            ; preds = %ENDIF474
  %940 = fcmp olt float %927, %925
  %941 = sext i1 %940 to i32
  %942 = bitcast i32 %941 to float
  %943 = bitcast float %942 to i32
  %944 = icmp ne i32 %943, 0
  br i1 %944, label %IF481, label %ELSE482

IF481:                                            ; preds = %IF478
  %945 = fmul float %temp24.20, 0x3FECCCCCC0000000
  %946 = fmul float %temp25.18, 0x3FECCCCCC0000000
  %947 = fmul float %temp26.18, 0x3FECCCCCC0000000
  %948 = fmul float %temp27.18, 0x3FECCCCCC0000000
  br label %ENDIF420

ELSE482:                                          ; preds = %IF478
  %949 = fmul float %temp24.20, 0x3FE99999A0000000
  %950 = fmul float %temp25.18, 0x3FE99999A0000000
  %951 = fmul float %temp26.18, 0x3FE99999A0000000
  %952 = fmul float %temp27.18, 0x3FE99999A0000000
  br label %ENDIF420
}

; Function Attrs: nounwind readnone
declare float @llvm.SI.load.const(<16 x i8>, i32) #1

; Function Attrs: nounwind readnone
declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1

; Function Attrs: readnone
declare float @llvm.AMDGPU.rsq(float) #2

; Function Attrs: readonly
declare float @fabs(float) #3

; Function Attrs: nounwind readnone
declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1

; Function Attrs: readnone
declare float @llvm.AMDIL.fraction.(float) #2

; Function Attrs: readnone
declare float @llvm.AMDGPU.cndlt(float, float, float) #2

declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)

attributes #0 = { "ShaderType"="0" }
attributes #1 = { nounwind readnone }
attributes #2 = { readnone }
attributes #3 = { readonly }

!0 = metadata !{metadata !"const", null, i32 1}
LLVM ERROR: Cannot select: 0x267d260: v16f32 = bitcast 0x26b84a0 [ORD=347] [ID=224]
  0x26b84a0: v16i32 = BUILD_VECTOR 0x26868d0, 0x26869d0, 0x2686ad0, 0x2686bd0, 0x26badc0, 0x26babc0, 0x25cb6d0, 0x25cb4d0, 0x25cb2d0, 0x25cb0d0, 0x25caed0, 0x25cacd0, 0x25caad0, 0x25ca8d0, 0x26b87a0, 0x267e770 [ORD=347] [ID=222]
    0x26868d0: i32 = REGISTER_LOAD 0x2680590, 0x2676800, 0x2679930, 0x2679c30 [ORD=347] [ID=205]
      0x2676800: i32 = Constant<0> [ID=2]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x26869d0: i32 = REGISTER_LOAD 0x2680590, 0x2683eb0, 0x2679930, 0x2679c30 [ORD=347] [ID=206]
      0x2683eb0: i32 = Constant<1> [ID=5]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x2686ad0: i32 = REGISTER_LOAD 0x2680590, 0x2672fc0, 0x2679930, 0x2679c30 [ORD=347] [ID=207]
      0x2672fc0: i32 = Constant<2> [ID=7]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x2686bd0: i32 = REGISTER_LOAD 0x2680590, 0x2678110, 0x2679930, 0x2679c30 [ORD=347] [ID=208]
      0x2678110: i32 = Constant<3> [ID=9]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x26badc0: i32 = REGISTER_LOAD 0x2680590, 0x26760f0, 0x2679930, 0x2679c30 [ORD=347] [ID=209]
      0x26760f0: i32 = Constant<4> [ID=11]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x26babc0: i32 = REGISTER_LOAD 0x2680590, 0x2676e00, 0x2679930, 0x2679c30 [ORD=347] [ID=210]
      0x2676e00: i32 = Constant<5> [ID=13]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25cb6d0: i32 = REGISTER_LOAD 0x2680590, 0x267fb80, 0x2679930, 0x2679c30 [ORD=347] [ID=211]
      0x267fb80: i32 = Constant<6> [ID=15]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25cb4d0: i32 = REGISTER_LOAD 0x2680590, 0x267c550, 0x2679930, 0x2679c30 [ORD=347] [ID=212]
      0x267c550: i32 = Constant<7> [ID=17]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25cb2d0: i32 = REGISTER_LOAD 0x2680590, 0x2670590, 0x2679930, 0x2679c30 [ORD=347] [ID=213]
      0x2670590: i32 = Constant<8> [ID=19]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25cb0d0: i32 = REGISTER_LOAD 0x2680590, 0x26735c0, 0x2679930, 0x2679c30 [ORD=347] [ID=214]
      0x26735c0: i32 = Constant<9> [ID=21]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25caed0: i32 = REGISTER_LOAD 0x2680590, 0x2670090, 0x2679930, 0x2679c30 [ORD=347] [ID=215]
      0x2670090: i32 = Constant<10> [ID=23]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25cacd0: i32 = REGISTER_LOAD 0x2680590, 0x267f880, 0x2679930, 0x2679c30 [ORD=347] [ID=216]
      0x267f880: i32 = Constant<11> [ID=25]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25caad0: i32 = REGISTER_LOAD 0x2680590, 0x26719b0, 0x2679930, 0x2679c30 [ORD=347] [ID=217]
      0x26719b0: i32 = Constant<12> [ID=27]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x25ca8d0: i32 = REGISTER_LOAD 0x2680590, 0x2671bb0, 0x2679930, 0x2679c30 [ORD=347] [ID=218]
      0x2671bb0: i32 = Constant<13> [ID=29]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x26b87a0: i32 = REGISTER_LOAD 0x2680590, 0x267de70, 0x2679930, 0x2679c30 [ORD=347] [ID=219]
      0x267de70: i32 = Constant<14> [ID=31]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
    0x267e770: i32 = REGISTER_LOAD 0x2680590, 0x2676700, 0x2679930, 0x2679c30 [ORD=347] [ID=220]
      0x2676700: i32 = Constant<15> [ID=33]
      0x2679930: i32 = TargetConstant<0> [ID=70]
      0x2679c30: i64 = undef [ID=69]
In function: main