HairBSDF, gamma for a refracted ray

Time bar (total: 29.6s)

start0.0ms (0.0%)

analyze885.0ms (3.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%6.3%93.7%0.0%0.0%0.0%0
0.0%0.0%6.3%93.7%0.0%0.0%0.0%1
0.0%0.0%6.3%93.7%0.0%0.0%0.0%2
0.0%0.0%6.3%93.7%0.0%0.0%0.0%3
0.0%0.0%6.3%93.7%0.0%0.0%0.0%4
0.0%0.0%6.3%93.7%0.0%0.0%0.0%5
12.5%0.8%5.5%93.7%0.0%0.0%0.0%6
12.5%0.8%5.5%93.7%0.0%0.0%0.0%7
16.7%1.0%4.9%93.7%0.0%0.4%0.0%8
23.7%1.4%4.4%93.7%0.0%0.5%0.0%9
26.2%1.4%3.9%93.7%0.0%1.0%0.0%10
33.9%1.5%3.0%93.7%0.0%1.8%0.0%11
38.9%1.7%2.7%93.7%0.0%1.9%0.0%12
Compiler

Compiled 42 to 28 computations (33.3% saved)

sample7.8s (26.4%)

Samples
3.3s8 255×0valid
2.9s8 083×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 2.9s
ival-mult!: 922.0ms (31.9% of total, 72.6 MiB)
ival-div!: 625.0ms (21.6% of total, 60.1 MiB)
ival-sqrt!: 545.0ms (18.9% of total, 48.6 MiB)
ival-sub!: 389.0ms (13.5% of total, 45.6 MiB)
ival-asin!: 335.0ms (11.6% of total, 30.2 MiB)
adjust: 75.0ms (2.6% of total, 6.5 MiB)
Bogosity

preprocess114.0ms (0.4%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053153
1333133
21205133
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.9%
%4 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %4 (sqrt.f32 (-.f32 #s(literal 1 binary32) %4)))))))
Symmetry

(abs sinTheta_O)

(abs eta)

(negabs h)

Compiler

Compiled 2 to 26 computations (-1200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series1.1s (3.8%)

Counts
13 → 93
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%11 = (/.f32 h %10)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
%11
(asin.f32 %11)
Outputs
%5 = (* sinTheta_O sinTheta_O)
%7 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%10 = (- 1 %5)
%14 = (*.f32 #s(literal -1 binary32) %7)
%17 = (sqrt %10)
%19 = (*.f32 #s(literal -1/2 binary32) %7)
%38 = (/ %5 %17)
%61 = (- (* eta eta) %38)
%62 = (pow.f32 eta #s(literal 2 binary32))
%76 = (sqrt %61)
%77 = (sqrt.f32 %62)
%84 = (pow.f32 %77 #s(literal 2 binary32))
%87 = (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %84)))
%92 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %77))
%99 = (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 %87 %84)))
%110 = (/ h %76)
%111 = (/.f32 h %77)
%113 = (*.f32 h %7)
%115 = (pow.f32 %77 #s(literal 3 binary32))
%119 = (*.f32 h %87)
%123 = (pow.f32 %77 #s(literal 5 binary32))
%126 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %119 %115) (*.f32 #s(literal -1/4 binary32) (/.f32 h %123)))
%130 = (*.f32 #s(literal -1/2 binary32) (/.f32 h %115))
%150 = (sqrt.f32 (-.f32 #s(literal 1 binary32) %7))
%151 = (/.f32 %7 %150)
%152 = (-.f32 %62 %151)
%154 = (/.f32 h (sqrt.f32 %152))
%162 = (sqrt.f32 #s(literal -1 binary32))
%163 = (*.f32 sinTheta_O %162)
%165 = (*.f32 %7 %162)
%169 = (*.f32 sinTheta_O (+.f32 %162 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %165))))
%171 = (/.f32 #s(literal 1/2 binary32) %165)
%174 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%175 = (pow.f32 %162 #s(literal 3 binary32))
%176 = (*.f32 %174 %175)
%179 = (*.f32 sinTheta_O (-.f32 (+.f32 %162 %171) (/.f32 #s(literal 1/8 binary32) %176)))
%183 = (pow.f32 sinTheta_O #s(literal 6 binary32))
%184 = (pow.f32 %162 #s(literal 5 binary32))
%193 = (*.f32 sinTheta_O (-.f32 (+.f32 %162 (+.f32 %171 (*.f32 #s(literal 1/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %183 %184))))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %176))))
%195 = (/.f32 sinTheta_O %162)
%197 = (/.f32 #s(literal 1 binary32) %162)
%198 = (*.f32 %7 %175)
%199 = (/.f32 #s(literal 1 binary32) %198)
%202 = (*.f32 sinTheta_O (-.f32 %197 (*.f32 #s(literal 1/2 binary32) %199)))
%204 = (*.f32 %174 %184)
%207 = (/.f32 #s(literal 1/2 binary32) %198)
%209 = (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) %204) %197) %207))
%213 = (+.f32 %197 (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %204)))
%221 = (*.f32 sinTheta_O (-.f32 %213 (+.f32 %207 (*.f32 #s(literal 5/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %183 (pow.f32 %162 #s(literal 7 binary32))))))))
%225 = (/.f32 %62 sinTheta_O)
%238 = (sqrt.f32 (/.f32 #s(literal -1 binary32) %163))
%239 = (*.f32 sinTheta_O %238)
%242 = (/.f32 %62 (*.f32 %7 %238))
%247 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%249 = (*.f32 %247 (*.f32 %175 %238))
%255 = (pow.f32 eta #s(literal 4 binary32))
%256 = (pow.f32 %238 #s(literal 3 binary32))
%268 = (*.f32 %62 h)
%270 = (/.f32 %268 (*.f32 %7 %256))
%271 = (/.f32 h %238)
%277 = (/.f32 h (*.f32 %247 (*.f32 %175 %256)))
%279 = (*.f32 #s(literal 1/2 binary32) %270)
%283 = (*.f32 %255 h)
%285 = (/.f32 %283 (pow.f32 %238 #s(literal 5 binary32)))
%338 = (sqrt.f32 (/.f32 #s(literal 1 binary32) %163))
%339 = (*.f32 sinTheta_O %338)
%344 = (*.f32 #s(literal 1/2 binary32) (/.f32 %62 (*.f32 %7 %338)))
%345 = (+.f32 %338 %344)
%349 = (*.f32 %175 %338)
%356 = (pow.f32 %338 #s(literal 3 binary32))
%372 = (/.f32 %268 (*.f32 %7 %356))
%373 = (/.f32 h %338)
%378 = (*.f32 %175 %356)
%382 = (*.f32 #s(literal 1/2 binary32) %372)
%389 = (/.f32 %283 (*.f32 sinTheta_O (pow.f32 %338 #s(literal 5 binary32))))
%408 = (sqrt.f32 (neg.f32 %151))
%414 = (pow.f32 %408 #s(literal 3 binary32))
%417 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %408))
%422 = (pow.f32 %408 #s(literal 5 binary32))
%432 = (/.f32 h %408)
%437 = (/.f32 h %422)
%439 = (fma.f32 #s(literal -1/4 binary32) %437 (*.f32 #s(literal -1/8 binary32) %437))
%443 = (*.f32 #s(literal 1/2 binary32) (/.f32 h %414))
%460 = (*.f32 %62 %150)
%461 = (/.f32 %7 %460)
%468 = (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) %461)))
%470 = (pow.f32 %150 #s(literal 2 binary32))
%471 = (*.f32 %255 %470)
%472 = (/.f32 %174 %471)
%476 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %461 (*.f32 #s(literal -1/8 binary32) %472))))
%478 = (pow.f32 eta #s(literal 6 binary32))
%479 = (pow.f32 %150 #s(literal 3 binary32))
%486 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %461 (fma.f32 #s(literal -1/8 binary32) %472 (*.f32 #s(literal -1/16 binary32) (/.f32 %183 (*.f32 %478 %479)))))))
%488 = (/.f32 h eta)
%490 = (/.f32 %113 %460)
%493 = (/.f32 (+.f32 h (*.f32 #s(literal 1/2 binary32) %490)) eta)
%495 = (*.f32 h %174)
%496 = (/.f32 %495 %470)
%498 = (fma.f32 #s(literal -1/4 binary32) %496 (*.f32 #s(literal -1/8 binary32) %496))
%504 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 %498 %255))) (*.f32 #s(literal -1/2 binary32) %490)) eta)
%515 = (/.f32 %495 %471)
%520 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 h %183) %479) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %498) %150))) %478))) (fma.f32 #s(literal -1/2 binary32) %490 (fma.f32 #s(literal -1/4 binary32) %515 (*.f32 #s(literal -1/8 binary32) %515)))) eta)
(approx h #s(literal 0 binary32))
(approx sinTheta_O sinTheta_O)
(approx %5 %7)
(approx %10 #s(literal 1 binary32))
(approx %10 (+.f32 #s(literal 1 binary32) %14))
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 #s(literal -1/8 binary32) %7) #s(literal 1/2 binary32)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/16 binary32) %7) #s(literal 1/8 binary32))) #s(literal 1/2 binary32)))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/2 binary32) %7))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 3/8 binary32) %7))))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 %7 (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 5/16 binary32) %7))))))))
(approx %61 %62)
(approx %61 (fma.f32 #s(literal -1 binary32) %7 %62))
(approx %61 (fma.f32 %7 (-.f32 %19 #s(literal 1 binary32)) %62))
(approx %61 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/8 binary32) %7) #s(literal 1/2 binary32))) #s(literal 1 binary32)) %62))
(approx %76 %77)
(approx %76 (+.f32 %77 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 %77))))
(approx %76 (+.f32 %77 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %7 %87) %77)) %92))))
(approx %76 (+.f32 %77 (*.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %7 %99) %77) (*.f32 #s(literal -1/2 binary32) (/.f32 %87 %77)))) %92))))
(approx %110 %111)
(approx %110 (fma.f32 #s(literal 1/2 binary32) (/.f32 %113 %115) %111))
(approx %110 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 %126)) %130) %111))
(approx %110 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h %99) %115) (fma.f32 #s(literal -1/4 binary32) (/.f32 %119 %123) (*.f32 #s(literal 1/2 binary32) (/.f32 %126 %84)))))) %126)) %130) %111))
(approx (asin %110) (asin.f32 %154))
(approx %10 %14)
(approx %10 (*.f32 %7 (-.f32 (/.f32 #s(literal 1 binary32) %7) #s(literal 1 binary32))))
(approx %17 %163)
(approx %17 %169)
(approx %17 %179)
(approx %17 %193)
(approx %38 %195)
(approx %38 %202)
(approx %38 %209)
(approx %38 %221)
(approx %61 (*.f32 #s(literal -1 binary32) %195))
(approx %61 (*.f32 sinTheta_O (-.f32 %225 %197)))
(approx %61 (*.f32 sinTheta_O (-.f32 (+.f32 %207 %225) %197)))
(approx %61 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/2 binary32) %199 %225) %213)))
(approx %76 %239)
(approx %76 (*.f32 sinTheta_O (+.f32 %238 (*.f32 #s(literal 1/2 binary32) %242))))
(approx %76 (*.f32 sinTheta_O (+.f32 %238 (fma.f32 #s(literal 1/2 binary32) %242 (/.f32 #s(literal 1/4 binary32) %249)))))
(approx %76 (*.f32 sinTheta_O (+.f32 %238 (fma.f32 #s(literal -1/8 binary32) (/.f32 %255 (*.f32 %174 %256)) (fma.f32 #s(literal 1/2 binary32) %242 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %249)))))))
(approx %110 (/.f32 h %239))
(approx %110 (/.f32 (fma.f32 #s(literal -1/2 binary32) %270 %271) sinTheta_O))
(approx %110 (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %277 %271) %279) sinTheta_O))
(approx %110 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %285 (*.f32 #s(literal -1/8 binary32) %285)) %174) %271) (fma.f32 #s(literal 1/4 binary32) %277 %279)) sinTheta_O))
(approx %17 (*.f32 #s(literal -1 binary32) %163))
(approx %17 (*.f32 #s(literal -1 binary32) %169))
(approx %17 (*.f32 #s(literal -1 binary32) %179))
(approx %17 (*.f32 #s(literal -1 binary32) %193))
(approx %38 (*.f32 #s(literal -1 binary32) %202))
(approx %38 (*.f32 #s(literal -1 binary32) %209))
(approx %38 (*.f32 #s(literal -1 binary32) %221))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %225) %197))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %62 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (*.f32 sinTheta_O %175)))) sinTheta_O)) %197))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %175)) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %7 %184)))) sinTheta_O) %62) sinTheta_O)) %197))))
(approx %76 (*.f32 #s(literal -1 binary32) %339))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %345)))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %345 (/.f32 #s(literal 1/4 binary32) (*.f32 %247 %349))))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (+.f32 %338 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %255 (*.f32 sinTheta_O %356)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %349))) %247) %344)))))
(approx %110 (*.f32 #s(literal -1 binary32) (/.f32 h %339)))
(approx %110 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %372 %373) sinTheta_O)))
(approx %110 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 h (*.f32 %247 %378)) %373) %382) sinTheta_O)))
(approx %110 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %389 (*.f32 #s(literal -1/8 binary32) %389)) (*.f32 #s(literal 1/4 binary32) (/.f32 h %378))) %247) %373) %382) sinTheta_O)))
(approx h h)
(approx %110 %154)
(approx eta eta)
(approx %61 (*.f32 #s(literal -1 binary32) %151))
(approx %61 %152)
(approx %76 %408)
(approx %76 (+.f32 %408 (*.f32 #s(literal 1/2 binary32) (/.f32 %62 %408))))
(approx %76 (+.f32 %408 (*.f32 %62 (fma.f32 #s(literal -1/8 binary32) (/.f32 %62 %414) %417))))
(approx %76 (+.f32 %408 (*.f32 %62 (fma.f32 %62 (-.f32 (*.f32 #s(literal 1/16 binary32) (/.f32 %62 %422)) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %414))) %417))))
(approx %110 %432)
(approx %110 (fma.f32 #s(literal -1/2 binary32) (/.f32 %268 %414) %432))
(approx %110 (fma.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 %439)) %443) %432))
(approx %110 (fma.f32 %62 (-.f32 (*.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 (fma.f32 #s(literal -1/2 binary32) (/.f32 %439 (pow.f32 %408 #s(literal 2 binary32))) (*.f32 #s(literal 1/8 binary32) (/.f32 h (pow.f32 %408 #s(literal 7 binary32))))))) %439)) %443) %432))
(approx %61 (*.f32 %62 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %461))))
(approx %76 %468)
(approx %76 %476)
(approx %76 %486)
(approx %110 %488)
(approx %110 %493)
(approx %110 %504)
(approx %110 %520)
(approx %76 (*.f32 #s(literal -1 binary32) eta))
(approx %76 (*.f32 #s(literal -1 binary32) %468))
(approx %76 (*.f32 #s(literal -1 binary32) %476))
(approx %76 (*.f32 #s(literal -1 binary32) %486))
(approx %110 (*.f32 #s(literal -1 binary32) %488))
(approx %110 (*.f32 #s(literal -1 binary32) %493))
(approx %110 (*.f32 #s(literal -1 binary32) %504))
(approx %110 (*.f32 #s(literal -1 binary32) %520))
Calls

9 calls:

TimeVariablePoint
22.0ms
sinTheta_O
inf
11.0ms
sinTheta_O
0
10.0ms
eta
-inf
8.0ms
eta
0
7.0ms
h
0

rewrite1.9s (6.4%)

Counts
13 → 420
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%11 = (/.f32 h %10)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
%11
(asin.f32 %11)
Outputs
%1 = (neg.f32 h)
%7 = (*.f32 #s(literal 0 binary32) h)
%9 = (*.f32 h #s(literal 0 binary32))
%12 = (*.f32 h #s(literal 1/2 binary32))
%15 = (*.f32 h #s(literal 2 binary32))
%23 = (*.f32 #s(literal 1/2 binary32) h)
%32 = (neg.f32 eta)
%34 = (*.f32 eta eta)
%36 = (*.f32 %32 eta)
%39 = (fabs.f32 eta)
%42 = (neg.f32 %39)
%44 = (neg.f32 %42)
%52 = (pow.f32 eta #s(literal 1 binary32))
%55 = (pow.f32 %32 #s(literal 1 binary32))
%57 = (pow.f32 %39 #s(literal 1 binary32))
%60 = (neg.f32 sinTheta_O)
%62 = (*.f32 sinTheta_O sinTheta_O)
%64 = (*.f32 %60 sinTheta_O)
%67 = (fabs.f32 sinTheta_O)
%70 = (*.f32 sinTheta_O #s(literal 1 binary32))
%74 = (neg.f32 %67)
%75 = (neg.f32 %74)
%79 = (*.f32 %60 #s(literal 1 binary32))
%81 = (*.f32 %67 #s(literal 1 binary32))
%83 = (*.f32 %64 #s(literal 1 binary32))
%86 = (*.f32 %62 #s(literal 2 binary32))
%88 = (*.f32 %62 #s(literal 1/2 binary32))
%91 = (*.f32 %74 #s(literal 1 binary32))
%95 = (*.f32 %62 #s(literal 0 binary32))
%97 = (*.f32 #s(literal 0 binary32) %62)
%112 = (*.f32 #s(literal 1/2 binary32) %62)
%138 = (pow.f32 sinTheta_O #s(literal 1 binary32))
%141 = (pow.f32 %60 #s(literal 1 binary32))
%143 = (pow.f32 %67 #s(literal 1 binary32))
%180 = (-.f32 #s(literal 1 binary32) %62)
%191 = (-.f32 #s(literal 0 binary32) %62)
%194 = (-.f32 #s(literal 1/2 binary32) %62)
%201 = (+.f32 #s(literal 0 binary32) %64)
%203 = (+.f32 #s(literal 1/2 binary32) %64)
%205 = (-.f32 sinTheta_O #s(literal -1 binary32))
%206 = (-.f32 sinTheta_O #s(literal 1 binary32))
%207 = (neg.f32 %206)
%209 = (neg.f32 %205)
%219 = (-.f32 %60 #s(literal -1 binary32))
%220 = (-.f32 %60 #s(literal 1 binary32))
%221 = (neg.f32 %220)
%223 = (-.f32 %67 #s(literal -1 binary32))
%224 = (-.f32 %67 #s(literal 1 binary32))
%225 = (neg.f32 %224)
%227 = (neg.f32 %219)
%229 = (neg.f32 %223)
%245 = (*.f32 %180 %180)
%247 = (sqrt.f32 %180)
%249 = (neg.f32 %247)
%250 = (*.f32 %247 %249)
%260 = (asin.f32 sinTheta_O)
%263 = (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %260)))
%265 = (acos.f32 sinTheta_O)
%270 = (asin.f32 %60)
%273 = (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %270)))
%275 = (asin.f32 %67)
%278 = (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %275)))
%280 = (fabs.f32 %260)
%283 = (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %280)))
%285 = (acos.f32 %60)
%290 = (acos.f32 %67)
%307 = (sin.f32 %260)
%310 = (sin.f32 %270)
%313 = (sin.f32 %275)
%316 = (sin.f32 %280)
%544 = (sqrt.f32 %247)
%566 = (PI.f32 )
%567 = (+.f32 %265 %566)
%570 = (neg.f32 %265)
%578 = (*.f32 %566 #s(literal 1/2 binary32))
%592 = (cos.f32 %578)
%593 = (sin.f32 %578)
%594 = (*.f32 %247 %593)
%596 = (cos.f32 %265)
%597 = (*.f32 %593 %247)
%605 = (/.f32 %62 %247)
%606 = (/.f32 sinTheta_O %247)
%611 = (neg.f32 %605)
%613 = (neg.f32 %606)
%615 = (fabs.f32 %606)
%620 = (/.f32 #s(literal 1 binary32) %247)
%626 = (/.f32 %74 %247)
%628 = (/.f32 %67 %249)
%634 = (/.f32 #s(literal -1 binary32) %247)
%640 = (*.f32 %74 %634)
%642 = (*.f32 %67 %634)
%644 = (/.f32 #s(literal 1/2 binary32) %247)
%648 = (*.f32 %74 %620)
%652 = (-.f32 %34 %605)
%683 = (*.f32 %247 %34)
%684 = (-.f32 %683 %62)
%686 = (-.f32 %62 %683)
%688 = (*.f32 %684 #s(literal 1 binary32))
%704 = (sqrt.f32 %652)
%708 = (/.f32 %34 %247)
%709 = (*.f32 %247 %708)
%724 = (*.f32 %652 %652)
%728 = (neg.f32 %704)
%744 = (fabs.f32 %684)
%745 = (sqrt.f32 %744)
%760 = (/.f32 #s(literal 1 binary32) %704)
%773 = (sqrt.f32 %704)
%775 = (/.f32 h %704)
%777 = (neg.f32 %775)
%788 = (/.f32 #s(literal -1 binary32) %704)
%795 = (/.f32 #s(literal 1/2 binary32) %704)
%801 = (asin.f32 %775)
%806 = (acos.f32 %775)
%808 = (neg.f32 %806)
h
(neg.f32 %1)
(*.f32 h #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) h)
(+.f32 h %7)
(+.f32 h %9)
(*.f32 %12 #s(literal 2 binary32))
(*.f32 %15 #s(literal 1/2 binary32))
(/.f32 %15 #s(literal 2 binary32))
(fma.f32 h #s(literal 1 binary32) %7)
(fma.f32 h #s(literal 1 binary32) %9)
(fma.f32 h #s(literal 1/2 binary32) %12)
(fma.f32 #s(literal 1 binary32) h %7)
(fma.f32 #s(literal 1 binary32) h %9)
(fma.f32 #s(literal 1/2 binary32) h %23)
(+.f32 %23 %23)
(+.f32 %12 %12)
(fma.f32 %12 #s(literal 2 binary32) %7)
(fma.f32 %12 #s(literal 2 binary32) %9)
(fma.f32 %15 #s(literal 1/2 binary32) %7)
(fma.f32 %15 #s(literal 1/2 binary32) %9)
eta
(neg.f32 %32)
%34
(fabs.f32 %34)
(fabs.f32 %36)
(*.f32 %32 %32)
(*.f32 %39 %39)
(neg.f32 %36)
(*.f32 %42 %42)
(*.f32 %44 %44)
(sqrt.f32 (*.f32 %34 %34))
(pow.f32 eta #s(literal 2 binary32))
(pow.f32 %32 #s(literal 2 binary32))
(pow.f32 %39 #s(literal 2 binary32))
(pow.f32 %42 #s(literal 2 binary32))
(*.f32 %52 eta)
(pow.f32 %34 #s(literal 1 binary32))
(*.f32 %55 %32)
(*.f32 %57 %39)
sinTheta_O
(neg.f32 %60)
%62
(fabs.f32 %62)
(fabs.f32 %64)
(*.f32 %60 %60)
(*.f32 %67 %67)
(neg.f32 %64)
(*.f32 sinTheta_O %70)
(*.f32 %62 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %62)
(*.f32 %67 %75)
(*.f32 %74 %74)
(*.f32 %75 %67)
(*.f32 %60 %79)
(*.f32 %67 %81)
(neg.f32 %83)
(*.f32 %75 %75)
(*.f32 %86 #s(literal 1/2 binary32))
(*.f32 %88 #s(literal 2 binary32))
(/.f32 %86 #s(literal 2 binary32))
(*.f32 %74 %91)
(sqrt.f32 (*.f32 %62 %62))
(fma.f32 sinTheta_O sinTheta_O %95)
(fma.f32 sinTheta_O sinTheta_O %97)
(+.f32 %62 %95)
(+.f32 %62 %97)
(fma.f32 %60 %60 %95)
(fma.f32 %60 %60 %97)
(fma.f32 %67 %67 %95)
(fma.f32 %67 %67 %97)
(fma.f32 sinTheta_O %70 %95)
(fma.f32 sinTheta_O %70 %97)
(fma.f32 %62 #s(literal 1 binary32) %95)
(fma.f32 %62 #s(literal 1 binary32) %97)
(fma.f32 %62 #s(literal 1/2 binary32) %88)
(fma.f32 #s(literal 1 binary32) %62 %95)
(fma.f32 #s(literal 1 binary32) %62 %97)
(fma.f32 #s(literal 1/2 binary32) %62 %112)
(+.f32 %88 %88)
(+.f32 %112 %112)
(fma.f32 %67 %75 %95)
(fma.f32 %67 %75 %97)
(fma.f32 %74 %74 %95)
(fma.f32 %74 %74 %97)
(fma.f32 %75 %67 %95)
(fma.f32 %75 %67 %97)
(fma.f32 %60 %79 %95)
(fma.f32 %60 %79 %97)
(fma.f32 %67 %81 %95)
(fma.f32 %67 %81 %97)
(pow.f32 sinTheta_O #s(literal 2 binary32))
(fma.f32 %75 %75 %95)
(fma.f32 %75 %75 %97)
(fma.f32 %86 #s(literal 1/2 binary32) %95)
(fma.f32 %86 #s(literal 1/2 binary32) %97)
(fma.f32 %88 #s(literal 2 binary32) %95)
(fma.f32 %88 #s(literal 2 binary32) %97)
(pow.f32 %60 #s(literal 2 binary32))
(pow.f32 %67 #s(literal 2 binary32))
(fma.f32 %74 %91 %95)
(fma.f32 %74 %91 %97)
(pow.f32 %74 #s(literal 2 binary32))
(*.f32 %138 sinTheta_O)
(pow.f32 %62 #s(literal 1 binary32))
(*.f32 %141 %60)
(*.f32 %143 %67)
(fma.f32 %138 sinTheta_O %95)
(fma.f32 %138 sinTheta_O %97)
(fma.f32 %141 %60 %95)
(fma.f32 %141 %60 %97)
(fma.f32 %143 %67 %95)
(fma.f32 %143 %67 %97)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(-.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(-.f32 #s(literal 1/2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -2 binary32) #s(literal -2 binary32))
(/.f32 #s(literal 4 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%180
(fma.f32 sinTheta_O %60 #s(literal 1 binary32))
(fma.f32 %60 sinTheta_O #s(literal 1 binary32))
(neg.f32 (fma.f32 sinTheta_O sinTheta_O #s(literal -1 binary32)))
(+.f32 #s(literal 1 binary32) %64)
(+.f32 %64 #s(literal 1 binary32))
(fabs.f32 %180)
(-.f32 %64 #s(literal -1 binary32))
(fma.f32 %67 %74 #s(literal 1 binary32))
(fma.f32 %74 %67 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %191)
(+.f32 %180 #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) %194)
(+.f32 (fma.f32 %60 sinTheta_O #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %64)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %64)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %64)
(+.f32 #s(literal 1 binary32) %201)
(+.f32 #s(literal 1/2 binary32) %203)
(*.f32 %205 %207)
(*.f32 %209 %206)
(fma.f32 %74 %75 #s(literal 1 binary32))
(fma.f32 %75 %74 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %191)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %194)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %191)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %194)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %194)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %191)
(*.f32 %219 %221)
(*.f32 %223 %225)
(*.f32 %227 %220)
(*.f32 %229 %224)
(fma.f32 %205 %207 #s(literal 0 binary32))
(fma.f32 %209 %206 #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %201)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %203)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %201)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %203)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %203)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %201)
(/.f32 (fma.f32 %64 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
(fma.f32 %219 %221 #s(literal 0 binary32))
(fma.f32 %223 %225 #s(literal 0 binary32))
(fma.f32 %227 %220 #s(literal 0 binary32))
(fma.f32 %229 %224 #s(literal 0 binary32))
(sqrt.f32 %245)
(*.f32 %247 %247)
(fabs.f32 %250)
(fabs.f32 (*.f32 %249 %247))
(*.f32 %249 %249)
(fma.f32 %247 %247 #s(literal 0 binary32))
(fma.f32 %249 %249 #s(literal 0 binary32))
(pow.f32 %180 #s(literal 1 binary32))
(pow.f32 %247 #s(literal 2 binary32))
(pow.f32 %245 #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %263)
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %265))))
(+.f32 #s(literal 1/2 binary32) %273)
(+.f32 #s(literal 1/2 binary32) %278)
(+.f32 #s(literal 1/2 binary32) %283)
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %285))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %290))))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %263)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %263)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %263)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %273)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %278)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %283)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %273)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %278)
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) %283)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %273)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %278)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %283)
(-.f32 #s(literal 1 binary32) (*.f32 %307 %307))
(-.f32 #s(literal 1 binary32) (*.f32 %310 %310))
(-.f32 #s(literal 1 binary32) (*.f32 %313 %313))
(-.f32 #s(literal 1 binary32) (*.f32 %316 %316))
(/.f32 (-.f32 (cos.f32 (-.f32 %265 %265)) (cos.f32 (+.f32 %265 %265))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %265 %260)) (sin.f32 (+.f32 %265 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %260 %260)) (cos.f32 (-.f32 %260 %260))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %285 %265)) (cos.f32 (+.f32 %285 %265))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %290 %265)) (cos.f32 (+.f32 %290 %265))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %265 %285)) (cos.f32 (+.f32 %265 %285))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %265 %290)) (cos.f32 (+.f32 %265 %290))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %285 %260)) (sin.f32 (+.f32 %285 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %290 %260)) (sin.f32 (+.f32 %290 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %265 %270)) (sin.f32 (+.f32 %265 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %265 %275)) (sin.f32 (+.f32 %265 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %265 %280)) (sin.f32 (+.f32 %265 %280))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %270 %260)) (cos.f32 (-.f32 %270 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %275 %260)) (cos.f32 (-.f32 %275 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %280 %260)) (cos.f32 (-.f32 %280 %260))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %260 %270)) (cos.f32 (-.f32 %260 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %260 %275)) (cos.f32 (-.f32 %260 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %260 %280)) (cos.f32 (-.f32 %260 %280))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %285 %285)) (cos.f32 (+.f32 %285 %285))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %285 %290)) (cos.f32 (+.f32 %285 %290))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %290 %285)) (cos.f32 (+.f32 %290 %285))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %290 %290)) (cos.f32 (+.f32 %290 %290))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %285 %270)) (sin.f32 (+.f32 %285 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %285 %275)) (sin.f32 (+.f32 %285 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %285 %280)) (sin.f32 (+.f32 %285 %280))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %290 %270)) (sin.f32 (+.f32 %290 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %290 %275)) (sin.f32 (+.f32 %290 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %290 %280)) (sin.f32 (+.f32 %290 %280))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %270 %270)) (cos.f32 (-.f32 %270 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %270 %275)) (cos.f32 (-.f32 %270 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %270 %280)) (cos.f32 (-.f32 %270 %280))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %275 %270)) (cos.f32 (-.f32 %275 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %275 %275)) (cos.f32 (-.f32 %275 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %275 %280)) (cos.f32 (-.f32 %275 %280))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %280 %270)) (cos.f32 (-.f32 %280 %270))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %280 %275)) (cos.f32 (-.f32 %280 %275))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %280 %280)) (cos.f32 (-.f32 %280 %280))) #s(literal 2 binary32))
%247
(fabs.f32 %247)
(fabs.f32 %249)
(neg.f32 %249)
(*.f32 %544 %544)
(pow.f32 %180 #s(literal 1/2 binary32))
(cos.f32 %260)
(sin.f32 %265)
(cos.f32 %270)
(cos.f32 %275)
(cos.f32 %280)
(sin.f32 %285)
(sin.f32 %290)
(cos.f32 (asin.f32 %74))
(cos.f32 (neg.f32 %275))
(cos.f32 (neg.f32 %280))
(cos.f32 (fabs.f32 %275))
(cos.f32 (fabs.f32 %280))
(sin.f32 (acos.f32 %74))
(sin.f32 (neg.f32 %567))
(sin.f32 (+.f32 %570 %566))
(cos.f32 (+.f32 (+.f32 %260 %566) %566))
(sin.f32 (+.f32 %567 %566))
(cos.f32 (+.f32 %570 %578))
(sin.f32 (+.f32 %270 %578))
(sin.f32 (+.f32 %275 %578))
(sin.f32 (+.f32 %280 %578))
(cos.f32 (+.f32 (fma.f32 %566 #s(literal 1/2 binary32) %265) %566))
(cos.f32 (+.f32 %567 %578))
(fma.f32 %307 %592 %594)
(fma.f32 %592 %596 %597)
(+.f32 (*.f32 %307 %592) %594)
(+.f32 (*.f32 %592 %596) %597)
(-.f32 %597 (*.f32 %592 %307))
%605
(*.f32 sinTheta_O %606)
(*.f32 %606 sinTheta_O)
(fabs.f32 %605)
(/.f32 %64 %249)
(fabs.f32 %611)
(*.f32 %60 %613)
(*.f32 %67 %615)
(*.f32 %613 %60)
(*.f32 %615 %67)
(neg.f32 %611)
(*.f32 %62 %620)
(*.f32 #s(literal 1 binary32) %605)
(*.f32 %620 %62)
(/.f32 #s(literal 1 binary32) (/.f32 %247 %62))
(*.f32 %74 %626)
(*.f32 %74 %628)
(/.f32 (*.f32 %62 #s(literal -1 binary32)) %249)
(/.f32 (*.f32 #s(literal -1 binary32) %62) %249)
(*.f32 %64 %634)
(*.f32 %634 %64)
(/.f32 %83 %249)
(/.f32 #s(literal 1 binary32) (/.f32 %249 %64))
(*.f32 %67 %640)
(*.f32 %74 %642)
(*.f32 #s(literal 2 binary32) (*.f32 %644 %62))
(*.f32 %86 %644)
(*.f32 %74 %648)
(*.f32 (*.f32 %620 %74) %74)
%652
(fma.f32 sinTheta_O %613 %34)
(fma.f32 eta eta %611)
(fma.f32 %60 %606 %34)
(fma.f32 %606 %60 %34)
(fma.f32 %613 sinTheta_O %34)
(+.f32 %34 %611)
(+.f32 %611 %34)
(fabs.f32 %652)
(neg.f32 (-.f32 %605 %34))
(-.f32 %611 %36)
(fma.f32 %32 %32 %611)
(fma.f32 %67 %626 %34)
(fma.f32 %67 (neg.f32 %615) %34)
(fma.f32 %67 %628 %34)
(fma.f32 %39 %39 %611)
(fma.f32 %74 %615 %34)
(fma.f32 %62 %634 %34)
(fma.f32 %634 %62 %34)
(fma.f32 %64 %620 %34)
(fma.f32 %620 %64 %34)
(fma.f32 %42 %42 %611)
(fma.f32 %67 %642 %34)
(fma.f32 %67 %648 %34)
(fma.f32 %44 %44 %611)
(fma.f32 %74 %640 %34)
(fma.f32 (*.f32 %64 #s(literal 2 binary32)) %644 %34)
(fma.f32 %83 %620 %34)
(/.f32 %684 %247)
(/.f32 %686 %249)
(/.f32 %688 %247)
(*.f32 %620 %684)
(*.f32 %684 %620)
(*.f32 %686 %634)
(/.f32 #s(literal 1 binary32) (/.f32 %247 %684))
(/.f32 (*.f32 %684 #s(literal -1 binary32)) %249)
(/.f32 #s(literal 1 binary32) (/.f32 %249 %686))
(*.f32 %688 %620)
(*.f32 (*.f32 %684 #s(literal 2 binary32)) %644)
(pow.f32 %652 #s(literal 1 binary32))
(fma.f32 %52 eta %611)
(pow.f32 %704 #s(literal 2 binary32))
(fma.f32 %55 %32 %611)
(fma.f32 %57 %39 %611)
(-.f32 %709 %605)
(fma.f32 eta (/.f32 (*.f32 %247 eta) %247) %611)
(fma.f32 %34 (/.f32 %247 %247) %611)
(fma.f32 %247 %708 %611)
(+.f32 %709 %611)
(fma.f32 %32 (/.f32 (*.f32 %247 %32) %247) %611)
(fma.f32 %39 (/.f32 (*.f32 %247 %39) %247) %611)
(sqrt.f32 %724)
(fma.f32 %683 %620 %611)
(*.f32 %704 %704)
(fabs.f32 (*.f32 %728 %704))
(fabs.f32 (*.f32 %704 %728))
(*.f32 %728 %728)
(/.f32 (-.f32 (*.f32 %683 %247) (*.f32 %247 %62)) %180)
(/.f32 (-.f32 (*.f32 %709 %247) %62) %247)
(/.f32 (-.f32 (*.f32 %709 %249) %64) %249)
(/.f32 (*.f32 %745 %745) %247)
(pow.f32 %724 #s(literal 1/2 binary32))
(/.f32 (*.f32 %745 %704) %544)
(/.f32 (*.f32 %704 %745) %544)
(/.f32 (-.f32 (*.f32 %683 %249) (*.f32 %247 %64)) %250)
%704
(fabs.f32 %704)
(fabs.f32 %728)
(neg.f32 %728)
(/.f32 #s(literal 1 binary32) %760)
(sqrt.f32 (/.f32 %744 %247))
(/.f32 %745 %544)
(pow.f32 %652 #s(literal 1/2 binary32))
(/.f32 (neg.f32 %745) (neg.f32 %544))
(*.f32 %745 (sqrt.f32 %620))
(*.f32 %745 (/.f32 #s(literal 1 binary32) %544))
(*.f32 %773 %773)
%775
(/.f32 %1 %728)
(neg.f32 %777)
(*.f32 h %760)
(*.f32 #s(literal 1 binary32) %775)
(*.f32 %760 h)
(/.f32 #s(literal 1 binary32) (/.f32 %704 h))
(/.f32 (*.f32 #s(literal -1 binary32) h) %728)
(/.f32 (*.f32 h #s(literal -1 binary32)) %728)
(*.f32 %1 %788)
(*.f32 %788 %1)
(/.f32 (*.f32 %1 #s(literal 1 binary32)) %728)
(/.f32 #s(literal 1 binary32) (/.f32 %728 %1))
(*.f32 #s(literal 2 binary32) (*.f32 %795 h))
(*.f32 %15 %795)
(*.f32 (/.f32 h %745) %544)
%801
(neg.f32 (asin.f32 %777))
(neg.f32 (neg.f32 %801))
(-.f32 %578 %806)
(fma.f32 %566 #s(literal 1/2 binary32) %808)
(fma.f32 #s(literal 1/2 binary32) %566 %808)
(+.f32 %578 %808)
(+.f32 %808 %578)
(fma.f32 (neg.f32 %566) #s(literal -1/2 binary32) %808)
(+.f32 (-.f32 %578 %578) %801)

reconstruct411.0ms (1.4%)

Counts
513 → 94
Compiler

Compiled 513 to 1 239 computations (-141.5% saved)

eval75.0ms (0.3%)

Compiler

Compiled 82 to 512 computations (-524.4% saved)

prune24.0ms (0.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New74882
Fresh000
Picked011
Done000
Total74983
Accuracy
99.4%
Counts
83 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.9%
%30 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 (/.f32 %30 (sqrt.f32 (-.f32 #s(literal 1 binary32) %30))))))))
92.9%
%30 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %30 (sqrt.f32 (-.f32 #s(literal 1 binary32) %30)))))))
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))))))))
89.4%
%4 = (* sinTheta_O sinTheta_O)
%17 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%20 = (sqrt.f32 (pow.f32 eta #s(literal 2 binary32)))
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (+.f32 %20 (*.f32 %17 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %17 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %20 #s(literal 2 binary32)))))) %20)) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %20))))))))
94.1%
%4 = (* sinTheta_O sinTheta_O)
%17 = (pow.f32 sinTheta_O #s(literal 2 binary32))
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) (/.f32 %17 (*.f32 (pow.f32 eta #s(literal 2 binary32)) (sqrt.f32 (-.f32 #s(literal 1 binary32) %17))))))))))
92.1%
%30 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (/.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %30 (sqrt.f32 (-.f32 #s(literal 1 binary32) %30))))) h)))
92.2%
%30 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %30 (sqrt.f32 (-.f32 #s(literal 1 binary32) %30))))))))
79.8%
%4 = (* sinTheta_O sinTheta_O)
%20 = (sqrt.f32 (pow.f32 eta #s(literal 2 binary32)))
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 h (pow.f32 sinTheta_O #s(literal 2 binary32))) (pow.f32 %20 #s(literal 3 binary32))) (/.f32 h %20))))
97.0%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
Compiler

Compiled 9 to 69 computations (-666.7% saved)

sample10.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series2.3s (7.9%)

Counts
72 → 278
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%12 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%14 = (* sinTheta_O sinTheta_O)
%15 = (- 1 %14)
%16 = (approx %15 #s(literal 1 binary32))
%19 = (pow.f32 eta #s(literal 2 binary32))
%20 = (sqrt.f32 %19)
%22 = (pow.f32 %20 #s(literal 2 binary32))
%23 = (/.f32 #s(literal 1 binary32) %22)
%24 = (*.f32 #s(literal 1/4 binary32) %23)
%25 = (+.f32 #s(literal 1/2 binary32) %24)
%26 = (*.f32 %12 %25)
%27 = (/.f32 %26 %20)
%28 = (*.f32 #s(literal -1/2 binary32) %27)
%29 = (/.f32 #s(literal 1 binary32) %20)
%30 = (*.f32 #s(literal 1/2 binary32) %29)
%31 = (-.f32 %28 %30)
%32 = (*.f32 %12 %31)
%33 = (+.f32 %20 %32)
%38 = (sqrt (- (* eta eta) (/ %14 (sqrt %15))))
%39 = (approx %38 %33)
%40 = (/.f32 h %20)
%41 = (*.f32 h %12)
%43 = (pow.f32 %20 #s(literal 3 binary32))
%44 = (/.f32 %41 %43)
%45 = (fma.f32 #s(literal 1/2 binary32) %44 %40)
%46 = (/ h %38)
%47 = (approx %46 %45)
%48 = (-.f32 #s(literal 1 binary32) %12)
%49 = (sqrt.f32 %48)
%50 = (*.f32 %19 %49)
%51 = (/.f32 %12 %50)
%52 = (*.f32 #s(literal -1/2 binary32) %51)
%53 = (+.f32 #s(literal 1 binary32) %52)
%54 = (*.f32 eta %53)
%55 = (approx %38 %54)
%56 = (/.f32 h eta)
%57 = (approx %46 %56)
%58 = (neg.f32 %8)
%59 = (fma.f32 eta eta %58)
%60 = (/.f32 #s(literal 1 binary32) %10)
%61 = (*.f32 h %60)
%62 = (/.f32 %10 h)
%63 = (/.f32 #s(literal 1 binary32) %62)
%64 = (/.f32 h %39)
%66 = (/.f32 h %55)
%68 = (sqrt.f32 %59)
%69 = (/.f32 h %68)
%75 = (sqrt.f32 %16)
%76 = (/.f32 %4 %75)
%77 = (-.f32 %2 %76)
%78 = (sqrt.f32 %77)
%79 = (/.f32 h %78)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
#s(literal 2 binary32)
%12
%16
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
%19
%20
#s(literal 1/4 binary32)
%22
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%39
%40
%41
#s(literal 3 binary32)
%43
%44
%45
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
(asin.f32 %64)
%66
(asin.f32 %66)
%68
%69
(asin.f32 %69)
(asin.f32 %47)
(asin.f32 %63)
(asin.f32 %61)
(asin.f32 %57)
%75
%76
%77
%78
%79
(asin.f32 %79)
Outputs
%5 = (* sinTheta_O sinTheta_O)
%7 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%10 = (- 1 %5)
%14 = (*.f32 #s(literal -1 binary32) %7)
%17 = (sqrt %10)
%19 = (*.f32 #s(literal -1/2 binary32) %7)
%23 = (*.f32 #s(literal -1/8 binary32) %7)
%38 = (/ %5 %17)
%39 = (*.f32 #s(literal 1/2 binary32) %7)
%61 = (- (* eta eta) %38)
%62 = (pow.f32 eta #s(literal 2 binary32))
%66 = (-.f32 %19 #s(literal 1 binary32))
%73 = (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/8 binary32) %7) #s(literal 1/2 binary32))) #s(literal 1 binary32))
%76 = (sqrt %61)
%77 = (sqrt.f32 %62)
%80 = (*.f32 #s(literal -1/2 binary32) (/.f32 %7 %77))
%84 = (pow.f32 %77 #s(literal 2 binary32))
%87 = (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %84)))
%88 = (*.f32 %7 %87)
%89 = (/.f32 %88 %77)
%90 = (*.f32 #s(literal -1/2 binary32) %89)
%91 = (/.f32 #s(literal 1 binary32) %77)
%92 = (*.f32 #s(literal 1/2 binary32) %91)
%93 = (-.f32 %90 %92)
%94 = (*.f32 %7 %93)
%99 = (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 %87 %84)))
%100 = (*.f32 %7 %99)
%102 = (/.f32 %87 %77)
%103 = (*.f32 #s(literal -1/2 binary32) %102)
%111 = (pow sinTheta_O 2)
%114 = (pow eta 2)
%115 = (sqrt %114)
%117 = (/ 1 (pow %115 2))
%118 = (* 1/4 %117)
%119 = (+ 1/2 %118)
%120 = (* %111 %119)
%122 = (/ %120 %115)
%125 = (* -1/2 %122)
%127 = (/ 1 %115)
%128 = (* 1/2 %127)
%129 = (- %125 %128)
%133 = (* %111 %129)
%136 = (* h %111)
%137 = (*.f32 h %7)
%140 = (pow %115 3)
%141 = (/ %136 %140)
%143 = (pow.f32 %77 #s(literal 3 binary32))
%144 = (/.f32 %137 %143)
%147 = (/ h %115)
%148 = (+ (* 1/2 %141) %147)
%149 = (/.f32 h %77)
%153 = (/ h %76)
%154 = (*.f32 h %87)
%158 = (pow.f32 %77 #s(literal 5 binary32))
%161 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %154 %143) (*.f32 #s(literal -1/4 binary32) (/.f32 h %158)))
%164 = (/.f32 h %143)
%165 = (*.f32 #s(literal -1/2 binary32) %164)
%185 = (* %114 (sqrt (- 1 %111)))
%186 = (*.f32 %62 %7)
%199 = (/ %111 %185)
%200 = (/.f32 %7 %62)
%202 = (/.f32 #s(literal 1 binary32) %62)
%206 = (*.f32 #s(literal 1/2 binary32) %202)
%217 = (* -1/2 %199)
%218 = (*.f32 #s(literal -1/2 binary32) %200)
%222 = (*.f32 %7 (-.f32 (*.f32 #s(literal -1/4 binary32) %200) %206))
%226 = (*.f32 #s(literal 1/4 binary32) %202)
%230 = (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %200) %226)) %206))
%243 = (+ 1 %217)
%250 = (* eta %243)
%252 = (/.f32 %7 eta)
%253 = (*.f32 #s(literal -1/2 binary32) %252)
%256 = (*.f32 #s(literal -1/4 binary32) %252)
%257 = (/.f32 #s(literal 1 binary32) eta)
%258 = (*.f32 #s(literal 1/2 binary32) %257)
%271 = (neg %38)
%286 = (/ 1 %76)
%288 = (/.f32 %7 %143)
%289 = (fma.f32 #s(literal 1/2 binary32) %288 %91)
%292 = (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %158))
%294 = (*.f32 #s(literal -1/2 binary32) (/.f32 %87 %143))
%295 = (-.f32 %292 %294)
%297 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %143))
%313 = (/ %76 h)
%314 = (/.f32 %77 h)
%316 = (*.f32 h %77)
%323 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %316))
%337 = (sqrt.f32 (-.f32 #s(literal 1 binary32) %7))
%338 = (/.f32 %7 %337)
%339 = (-.f32 %62 %338)
%340 = (sqrt.f32 %339)
%341 = (/.f32 h %340)
%348 = (sqrt.f32 #s(literal -1 binary32))
%349 = (*.f32 sinTheta_O %348)
%351 = (*.f32 %7 %348)
%355 = (*.f32 sinTheta_O (+.f32 %348 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %351))))
%357 = (/.f32 #s(literal 1/2 binary32) %351)
%360 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%361 = (pow.f32 %348 #s(literal 3 binary32))
%362 = (*.f32 %360 %361)
%365 = (*.f32 sinTheta_O (-.f32 (+.f32 %348 %357) (/.f32 #s(literal 1/8 binary32) %362)))
%369 = (pow.f32 sinTheta_O #s(literal 6 binary32))
%370 = (pow.f32 %348 #s(literal 5 binary32))
%371 = (*.f32 %369 %370)
%379 = (*.f32 sinTheta_O (-.f32 (+.f32 %348 (+.f32 %357 (*.f32 #s(literal 1/16 binary32) (/.f32 #s(literal 1 binary32) %371)))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %362))))
%381 = (/.f32 sinTheta_O %348)
%383 = (/.f32 #s(literal 1 binary32) %348)
%384 = (*.f32 %7 %361)
%385 = (/.f32 #s(literal 1 binary32) %384)
%386 = (*.f32 #s(literal 1/2 binary32) %385)
%388 = (*.f32 sinTheta_O (-.f32 %383 %386))
%390 = (*.f32 %360 %370)
%392 = (+.f32 (/.f32 #s(literal 3/8 binary32) %390) %383)
%393 = (/.f32 #s(literal 1/2 binary32) %384)
%395 = (*.f32 sinTheta_O (-.f32 %392 %393))
%399 = (+.f32 %383 (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %390)))
%402 = (*.f32 %369 (pow.f32 %348 #s(literal 7 binary32)))
%405 = (+.f32 %393 (*.f32 #s(literal 5/16 binary32) (/.f32 #s(literal 1 binary32) %402)))
%407 = (*.f32 sinTheta_O (-.f32 %399 %405))
%411 = (/.f32 %62 sinTheta_O)
%424 = (sqrt.f32 (/.f32 #s(literal -1 binary32) %349))
%425 = (*.f32 sinTheta_O %424)
%427 = (*.f32 %7 %424)
%428 = (/.f32 %62 %427)
%433 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%435 = (*.f32 %433 (*.f32 %361 %424))
%441 = (pow.f32 eta #s(literal 4 binary32))
%442 = (pow.f32 %424 #s(literal 3 binary32))
%443 = (*.f32 %360 %442)
%452 = (*.f32 %7 %77)
%455 = (-.f32 %103 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %452)))
%464 = (+ %115 %133)
%479 = (*.f32 %62 h)
%480 = (*.f32 %7 %442)
%481 = (/.f32 %479 %480)
%482 = (/.f32 h %424)
%486 = (*.f32 %361 %442)
%487 = (*.f32 %433 %486)
%488 = (/.f32 h %487)
%490 = (*.f32 #s(literal 1/2 binary32) %481)
%494 = (*.f32 %441 h)
%495 = (pow.f32 %424 #s(literal 5 binary32))
%496 = (/.f32 %494 %495)
%505 = (*.f32 %62 %349)
%508 = (*.f32 %62 %348)
%509 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %351) %508)
%510 = (*.f32 sinTheta_O %509)
%512 = (/.f32 %62 %362)
%514 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %512 %509))
%519 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %512 (fma.f32 #s(literal 1/16 binary32) (/.f32 %62 %371) %509)))
%521 = (/.f32 sinTheta_O %508)
%523 = (/.f32 #s(literal 1 binary32) %508)
%524 = (*.f32 %62 %384)
%525 = (/.f32 #s(literal 1 binary32) %524)
%528 = (*.f32 sinTheta_O (-.f32 %523 (*.f32 #s(literal 1/2 binary32) %525)))
%530 = (*.f32 %62 %390)
%533 = (/.f32 #s(literal 1/2 binary32) %524)
%535 = (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) %530) %523) %533))
%537 = (/.f32 #s(literal 1 binary32) %530)
%541 = (/.f32 #s(literal 1 binary32) (*.f32 %62 %402))
%545 = (*.f32 sinTheta_O (-.f32 (+.f32 %523 (*.f32 #s(literal 3/8 binary32) %537)) (+.f32 %533 (*.f32 #s(literal 5/16 binary32) %541))))
%549 = (*.f32 #s(literal 1/4 binary32) %525)
%550 = (*.f32 #s(literal 1/2 binary32) %523)
%552 = (*.f32 sinTheta_O (-.f32 %549 %550))
%554 = (/.f32 #s(literal 1/4 binary32) %524)
%558 = (*.f32 sinTheta_O (-.f32 %554 (+.f32 (/.f32 #s(literal 3/16 binary32) %530) %550)))
%564 = (fma.f32 #s(literal 1/2 binary32) %523 (*.f32 #s(literal 3/16 binary32) %537))
%566 = (*.f32 sinTheta_O (-.f32 (+.f32 %554 (*.f32 #s(literal 5/32 binary32) %541)) %564))
%568 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%580 = (*.f32 eta %348)
%581 = (/.f32 sinTheta_O %580)
%584 = (/.f32 eta sinTheta_O)
%585 = (/.f32 #s(literal 1 binary32) %580)
%586 = (*.f32 #s(literal 1/2 binary32) %585)
%590 = (*.f32 eta %384)
%606 = (*.f32 sinTheta_O (-.f32 %386 %383))
%609 = (*.f32 sinTheta_O (-.f32 %393 %392))
%612 = (*.f32 sinTheta_O (-.f32 %405 %399))
%616 = (/.f32 %62 %480)
%617 = (/.f32 #s(literal 1 binary32) %424)
%630 = (/.f32 %441 %495)
%644 = (/.f32 %62 (*.f32 h %427))
%645 = (/.f32 %424 h)
%649 = (*.f32 h %435)
%682 = (*.f32 sinTheta_O %361)
%694 = (*.f32 %7 %370)
%707 = (sqrt.f32 (/.f32 #s(literal 1 binary32) %349))
%708 = (*.f32 sinTheta_O %707)
%711 = (*.f32 %7 %707)
%713 = (*.f32 #s(literal 1/2 binary32) (/.f32 %62 %711))
%714 = (+.f32 %707 %713)
%718 = (*.f32 %361 %707)
%719 = (*.f32 %433 %718)
%725 = (pow.f32 %707 #s(literal 3 binary32))
%726 = (*.f32 sinTheta_O %725)
%740 = (*.f32 %7 %725)
%741 = (/.f32 %479 %740)
%742 = (/.f32 h %707)
%747 = (*.f32 %361 %725)
%748 = (*.f32 %433 %747)
%751 = (*.f32 #s(literal 1/2 binary32) %741)
%757 = (*.f32 sinTheta_O (pow.f32 %707 #s(literal 5 binary32)))
%758 = (/.f32 %494 %757)
%864 = (/.f32 %62 %740)
%865 = (/.f32 #s(literal 1 binary32) %707)
%872 = (*.f32 #s(literal 1/2 binary32) %864)
%877 = (/.f32 %441 %757)
%895 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 (*.f32 h %711)) (/.f32 %707 h))
%921 = (/.f32 h eta)
%934 = (sqrt.f32 (neg.f32 %338))
%940 = (pow.f32 %934 #s(literal 3 binary32))
%941 = (/.f32 %62 %940)
%942 = (/.f32 #s(literal 1 binary32) %934)
%943 = (*.f32 #s(literal 1/2 binary32) %942)
%948 = (pow.f32 %934 #s(literal 5 binary32))
%949 = (/.f32 %62 %948)
%951 = (/.f32 #s(literal 1 binary32) %940)
%968 = (fma.f32 #s(literal 1/4 binary32) %7 (*.f32 #s(literal 1/2 binary32) %186))
%971 = (pow.f32 eta #s(literal 3 binary32))
%972 = (/.f32 %7 %971)
%986 = (-.f32 (*.f32 #s(literal -1/4 binary32) %7) #s(literal 1/2 binary32))
%994 = (*.f32 %7 %986)
%1005 = (/.f32 %137 %971)
%1012 = (/.f32 h %934)
%1017 = (/.f32 h %948)
%1019 = (fma.f32 #s(literal -1/4 binary32) %1017 (*.f32 #s(literal -1/8 binary32) %1017))
%1023 = (*.f32 #s(literal 1/2 binary32) (/.f32 h %940))
%1029 = (pow.f32 %934 #s(literal 7 binary32))
%1040 = (*.f32 %62 %337)
%1042 = (/.f32 %7 %1040)
%1044 = (*.f32 #s(literal -1/2 binary32) %1042)
%1046 = (fma.f32 #s(literal -1/2 binary32) %338 %62)
%1059 = (*.f32 #s(literal 1/2 binary32) %951)
%1071 = (/.f32 %934 h)
%1073 = (*.f32 h %934)
%1077 = (*.f32 h %940)
%1080 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %1073))
%1097 = (+.f32 #s(literal 1 binary32) %1044)
%1098 = (*.f32 eta %1097)
%1100 = (pow.f32 %337 #s(literal 2 binary32))
%1101 = (*.f32 %441 %1100)
%1102 = (/.f32 %360 %1101)
%1103 = (*.f32 #s(literal -1/8 binary32) %1102)
%1106 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %1042 %1103)))
%1108 = (pow.f32 eta #s(literal 6 binary32))
%1109 = (pow.f32 %337 #s(literal 3 binary32))
%1116 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %1042 (fma.f32 #s(literal -1/8 binary32) %1102 (*.f32 #s(literal -1/16 binary32) (/.f32 %369 (*.f32 %1108 %1109)))))))
%1122 = (fma.f32 #s(literal 1/4 binary32) %200 %39)
%1126 = (/.f32 %1122 eta)
%1130 = (fma.f32 #s(literal -1/4 binary32) %7 (*.f32 #s(literal -1/8 binary32) %200))
%1131 = (/.f32 %1130 eta)
%1133 = (/.f32 %986 eta)
%1136 = (/.f32 (-.f32 %1130 #s(literal 1/2 binary32)) eta)
%1138 = (/.f32 %994 eta)
%1142 = (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %360 %62) %994) eta)
%1144 = (/.f32 %994 %62)
%1146 = (*.f32 eta (+.f32 #s(literal 1 binary32) %1144))
%1151 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/8 binary32) (/.f32 %360 %441) %1144)))
%1156 = (/.f32 (+.f32 h (*.f32 #s(literal 1/2 binary32) (/.f32 %137 %62))) eta)
%1158 = (/.f32 %137 %1040)
%1161 = (/.f32 (+.f32 h (*.f32 #s(literal 1/2 binary32) %1158)) eta)
%1163 = (*.f32 h %360)
%1164 = (/.f32 %1163 %1100)
%1166 = (fma.f32 #s(literal -1/4 binary32) %1164 (*.f32 #s(literal -1/8 binary32) %1164))
%1172 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 %1166 %441))) (*.f32 #s(literal -1/2 binary32) %1158)) eta)
%1183 = (/.f32 %1163 %1101)
%1188 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 h %369) %1109) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %1166) %337))) %1108))) (fma.f32 #s(literal -1/2 binary32) %1158 (fma.f32 #s(literal -1/4 binary32) %1183 (*.f32 #s(literal -1/8 binary32) %1183)))) eta)
%1191 = (*.f32 #s(literal 1/2 binary32) %1042)
%1193 = (/.f32 (+.f32 #s(literal 1 binary32) %1191) eta)
%1195 = (/.f32 %360 %1100)
%1197 = (fma.f32 #s(literal -1/4 binary32) %1195 (*.f32 #s(literal -1/8 binary32) %1195))
%1202 = (/.f32 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %1197 %441))) %1044) eta)
%1215 = (/.f32 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %369 %1109) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %1197) %337))) %1108))) (fma.f32 #s(literal -1/2 binary32) %1042 (fma.f32 #s(literal -1/4 binary32) %1102 %1103))) eta)
%1217 = (/.f32 eta h)
%1221 = (/.f32 %7 (*.f32 %62 (*.f32 h %337)))
%1222 = (/.f32 #s(literal 1 binary32) h)
%1224 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1221 %1222))
%1228 = (/.f32 %360 (*.f32 %441 (*.f32 h %1100)))
%1231 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1221 (fma.f32 #s(literal -1/8 binary32) %1228 %1222)))
%1239 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1221 (fma.f32 #s(literal -1/8 binary32) %1228 (fma.f32 #s(literal -1/16 binary32) (/.f32 %369 (*.f32 %1108 (*.f32 h %1109))) %1222))))
(approx h #s(literal 0 binary32))
(approx sinTheta_O sinTheta_O)
(approx %5 %7)
(approx %10 #s(literal 1 binary32))
(approx %10 (+.f32 #s(literal 1 binary32) %14))
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 %23 #s(literal 1/2 binary32)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/16 binary32) %7) #s(literal 1/8 binary32))) #s(literal 1/2 binary32)))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) %39)))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 3/8 binary32) %7))))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 %7 (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 5/16 binary32) %7))))))))
(approx %61 %62)
(approx %61 (fma.f32 #s(literal -1 binary32) %7 %62))
(approx %61 (fma.f32 %7 %66 %62))
(approx %61 (fma.f32 %7 %73 %62))
(approx %76 %77)
(approx %76 (+.f32 %77 %80))
(approx %76 (+.f32 %77 %94))
(approx %76 (+.f32 %77 (*.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %100 %77) %103)) %92))))
(approx %120 %88)
(approx %122 %89)
(approx %125 %90)
(approx %129 (/.f32 #s(literal -1/2 binary32) %77))
(approx %129 %93)
(approx %133 %80)
(approx %133 %94)
(approx %136 %137)
(approx %141 %144)
(approx %148 %149)
(approx %148 (fma.f32 #s(literal 1/2 binary32) %144 %149))
(approx %153 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 %161)) %165) %149))
(approx %153 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h %99) %143) (fma.f32 #s(literal -1/4 binary32) (/.f32 %154 %158) (*.f32 #s(literal 1/2 binary32) (/.f32 %161 %84)))))) %161)) %165) %149))
(approx %185 (fma.f32 #s(literal -1/2 binary32) %186 %62))
(approx %185 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 #s(literal -1/8 binary32) %186)) %62))
(approx %185 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 %7 (fma.f32 #s(literal -1/8 binary32) %62 (*.f32 #s(literal -1/16 binary32) %186)))) %62))
(approx %199 %200)
(approx %199 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) %200 %202)))
(approx %199 (*.f32 %7 (fma.f32 %7 (fma.f32 #s(literal 3/8 binary32) %200 %206) %202)))
(approx %199 (*.f32 %7 (fma.f32 %7 (fma.f32 %7 (fma.f32 #s(literal 5/16 binary32) %200 (*.f32 #s(literal 3/8 binary32) %202)) %206) %202)))
(approx %217 %218)
(approx %217 %222)
(approx %217 %230)
(approx %217 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -5/32 binary32) %200) (*.f32 #s(literal 3/16 binary32) %202))) %226)) %206)))
(approx %243 (+.f32 #s(literal 1 binary32) %218))
(approx %243 (+.f32 #s(literal 1 binary32) %222))
(approx %243 (+.f32 #s(literal 1 binary32) %230))
(approx %250 eta)
(approx %250 (+.f32 eta %253))
(approx %250 (+.f32 eta (*.f32 %7 (-.f32 %256 %258))))
(approx %250 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %252) (*.f32 #s(literal 1/4 binary32) %257))) %258))))
(approx %271 %14)
(approx %271 (*.f32 %7 %66))
(approx %271 (*.f32 %7 %73))
(approx %271 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -5/16 binary32) %7) #s(literal 3/8 binary32))) #s(literal 1/2 binary32))) #s(literal 1 binary32))))
(approx %286 %91)
(approx %286 %289)
(approx %286 (fma.f32 %7 (fma.f32 %7 %295 %297) %91))
(approx %286 (fma.f32 %7 (fma.f32 %7 (-.f32 (fma.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %99 %143) (fma.f32 #s(literal -1/2 binary32) (/.f32 %295 %84) (*.f32 #s(literal -1/4 binary32) (/.f32 %87 %158))))) %292) %294) %297) %91))
(approx %313 %314)
(approx %313 (fma.f32 #s(literal -1/2 binary32) (/.f32 %7 %316) %314))
(approx %313 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 %88 %316)) %323) %314))
(approx %313 (fma.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %100 %316) (*.f32 #s(literal -1/2 binary32) (/.f32 %87 %316)))) %323) %314))
(approx (asin %153) (asin.f32 %341))
(approx %10 (*.f32 %7 (-.f32 (/.f32 #s(literal 1 binary32) %7) #s(literal 1 binary32))))
(approx %17 %349)
(approx %17 %355)
(approx %17 %365)
(approx %17 %379)
(approx %38 %381)
(approx %38 %388)
(approx %38 %395)
(approx %38 %407)
(approx %61 (*.f32 #s(literal -1 binary32) %381))
(approx %61 (*.f32 sinTheta_O (-.f32 %411 %383)))
(approx %61 (*.f32 sinTheta_O (-.f32 (+.f32 %393 %411) %383)))
(approx %61 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/2 binary32) %385 %411) %399)))
(approx %76 %425)
(approx %76 (*.f32 sinTheta_O (+.f32 %424 (*.f32 #s(literal 1/2 binary32) %428))))
(approx %76 (*.f32 sinTheta_O (+.f32 %424 (fma.f32 #s(literal 1/2 binary32) %428 (/.f32 #s(literal 1/4 binary32) %435)))))
(approx %76 (*.f32 sinTheta_O (+.f32 %424 (fma.f32 #s(literal -1/8 binary32) (/.f32 %441 %443) (fma.f32 #s(literal 1/2 binary32) %428 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %435)))))))
(approx %129 (*.f32 %7 %455))
(approx %133 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %360 %87) %77)))
(approx %133 (*.f32 %360 %455))
(approx %464 (*.f32 %360 (-.f32 (fma.f32 #s(literal -1/2 binary32) %102 (/.f32 %77 %360)) (/.f32 #s(literal 1/2 binary32) %452))))
(approx %148 (*.f32 #s(literal 1/2 binary32) %144))
(approx %148 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) %164 (/.f32 h %452))))
(approx %153 (/.f32 h %425))
(approx %153 (/.f32 (fma.f32 #s(literal -1/2 binary32) %481 %482) sinTheta_O))
(approx %153 (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %488 %482) %490) sinTheta_O))
(approx %153 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %496 (*.f32 #s(literal -1/8 binary32) %496)) %360) %482) (fma.f32 #s(literal 1/4 binary32) %488 %490)) sinTheta_O))
(approx %185 %505)
(approx %185 %510)
(approx %185 %514)
(approx %185 %519)
(approx %199 %521)
(approx %199 %528)
(approx %199 %535)
(approx %199 %545)
(approx %217 (*.f32 #s(literal -1/2 binary32) %521))
(approx %217 %552)
(approx %217 %558)
(approx %217 %566)
(approx %243 (*.f32 sinTheta_O (-.f32 %568 %550)))
(approx %243 (*.f32 sinTheta_O (-.f32 (+.f32 %554 %568) %550)))
(approx %243 (*.f32 sinTheta_O (-.f32 (+.f32 %568 %549) %564)))
(approx %250 (*.f32 #s(literal -1/2 binary32) %581))
(approx %250 (*.f32 sinTheta_O (-.f32 %584 %586)))
(approx %250 (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %590) %584) %586)))
(approx %250 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %590) %584) (fma.f32 #s(literal 1/2 binary32) %585 (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %390)))))))
(approx %271 %606)
(approx %271 %609)
(approx %271 %612)
(approx %286 (/.f32 #s(literal 1 binary32) %425))
(approx %286 (/.f32 (fma.f32 #s(literal -1/2 binary32) %616 %617) sinTheta_O))
(approx %286 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %442) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 sinTheta_O %486)))) %7) %617) sinTheta_O))
(approx %286 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %630 (*.f32 #s(literal -1/8 binary32) %630)) %360) %617) (fma.f32 #s(literal 1/2 binary32) %616 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %487)))) sinTheta_O))
(approx %313 (/.f32 %425 h))
(approx %313 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %644 %645)))
(approx %313 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %644 (+.f32 (/.f32 #s(literal 1/4 binary32) %649) %645))))
(approx %313 (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) (/.f32 %441 (*.f32 h %443)) (fma.f32 #s(literal 1/2 binary32) %644 (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %649) %645)))))
(approx %17 (*.f32 #s(literal -1 binary32) %349))
(approx %17 (*.f32 #s(literal -1 binary32) %355))
(approx %17 (*.f32 #s(literal -1 binary32) %365))
(approx %17 (*.f32 #s(literal -1 binary32) %379))
(approx %38 (*.f32 #s(literal -1 binary32) %388))
(approx %38 (*.f32 #s(literal -1 binary32) %395))
(approx %38 (*.f32 #s(literal -1 binary32) %407))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %411) %383))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %62 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %682))) sinTheta_O)) %383))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %361)) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %694))) sinTheta_O) %62) sinTheta_O)) %383))))
(approx %76 (*.f32 #s(literal -1 binary32) %708))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %714)))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %714 (/.f32 #s(literal 1/4 binary32) %719)))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (+.f32 %707 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %441 %726) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %718))) %433) %713)))))
(approx %153 (*.f32 #s(literal -1 binary32) (/.f32 h %708)))
(approx %153 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %741 %742) sinTheta_O)))
(approx %153 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 h %748) %742) %751) sinTheta_O)))
(approx %153 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %758 (*.f32 #s(literal -1/8 binary32) %758)) (*.f32 #s(literal 1/4 binary32) (/.f32 h %747))) %433) %742) %751) sinTheta_O)))
(approx %185 (*.f32 #s(literal -1 binary32) %505))
(approx %185 (*.f32 #s(literal -1 binary32) %510))
(approx %185 (*.f32 #s(literal -1 binary32) %514))
(approx %185 (*.f32 #s(literal -1 binary32) %519))
(approx %199 (*.f32 #s(literal -1 binary32) %521))
(approx %199 (*.f32 #s(literal -1 binary32) %528))
(approx %199 (*.f32 #s(literal -1 binary32) %535))
(approx %199 (*.f32 #s(literal -1 binary32) %545))
(approx %217 (*.f32 #s(literal 1/2 binary32) %521))
(approx %217 (*.f32 #s(literal -1 binary32) %552))
(approx %217 (*.f32 #s(literal -1 binary32) %558))
(approx %217 (*.f32 #s(literal -1 binary32) %566))
(approx %243 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %523 %568)))
(approx %243 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %682)))) sinTheta_O)) %550))))
(approx %243 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %361))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %694)))) sinTheta_O))) sinTheta_O)) %550))))
(approx %250 (*.f32 #s(literal 1/2 binary32) %581))
(approx %250 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %584) %586))))
(approx %250 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 eta (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %682)))) sinTheta_O)) %586))))
(approx %250 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 eta (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %361))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %694)))) sinTheta_O))) sinTheta_O)) %586))))
(approx %271 (*.f32 #s(literal -1 binary32) %606))
(approx %271 (*.f32 #s(literal -1 binary32) %609))
(approx %271 (*.f32 #s(literal -1 binary32) %612))
(approx %286 (/.f32 #s(literal -1 binary32) %708))
(approx %286 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %864 %865) sinTheta_O)))
(approx %286 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %748) %865) %872) sinTheta_O)))
(approx %286 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %877 (*.f32 #s(literal -1/8 binary32) %877)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %747))) %433) %865) %872) sinTheta_O)))
(approx %313 (*.f32 #s(literal -1 binary32) (/.f32 %708 h)))
(approx %313 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %895)))
(approx %313 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %895 (/.f32 #s(literal 1/4 binary32) (*.f32 h %719))))))
(approx %313 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %441 (*.f32 h %726)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 h %718)))) %433) %895))))
(approx h h)
(approx %148 (*.f32 h %289))
(approx %153 %341)
(approx (/ h eta) %921)
(approx %313 (/.f32 %340 h))
(approx %148 (*.f32 #s(literal -1 binary32) (*.f32 h (-.f32 (*.f32 #s(literal -1/2 binary32) %288) %91))))
(approx %61 (*.f32 #s(literal -1 binary32) %338))
(approx %61 %339)
(approx %76 %934)
(approx %76 (+.f32 %934 (*.f32 #s(literal 1/2 binary32) (/.f32 %62 %934))))
(approx %76 (+.f32 %934 (*.f32 %62 (fma.f32 #s(literal -1/8 binary32) %941 %943))))
(approx %76 (+.f32 %934 (*.f32 %62 (fma.f32 %62 (-.f32 (*.f32 #s(literal 1/16 binary32) %949) (*.f32 #s(literal 1/8 binary32) %951)) %943))))
(approx %117 %202)
(approx %118 (/.f32 #s(literal 1/4 binary32) %62))
(approx %119 (/.f32 (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal 1/2 binary32) %62)) %62))
(approx %120 (*.f32 #s(literal 1/4 binary32) %200))
(approx %120 (/.f32 %968 %62))
(approx %122 (*.f32 #s(literal 1/4 binary32) %972))
(approx %122 (/.f32 %968 %971))
(approx %125 (*.f32 #s(literal -1/8 binary32) %972))
(approx %125 (/.f32 (fma.f32 #s(literal -1/4 binary32) %186 %23) %971))
(approx %127 %257)
(approx %128 (/.f32 #s(literal 1/2 binary32) eta))
(approx %129 (/.f32 (fma.f32 #s(literal -1/8 binary32) %7 (*.f32 %62 %986)) %971))
(approx %133 (*.f32 #s(literal -1/8 binary32) (/.f32 %360 %971)))
(approx %133 (/.f32 (fma.f32 #s(literal -1/8 binary32) %360 (*.f32 %62 %994)) %971))
(approx %464 (/.f32 (fma.f32 #s(literal -1/8 binary32) %360 (*.f32 %62 (fma.f32 %7 %986 %62))) %971))
(approx %140 %971)
(approx %141 %1005)
(approx %148 (*.f32 #s(literal 1/2 binary32) %1005))
(approx %148 (/.f32 (fma.f32 #s(literal 1/2 binary32) %137 %479) %971))
(approx %153 %1012)
(approx %153 (fma.f32 #s(literal -1/2 binary32) (/.f32 %479 %940) %1012))
(approx %153 (fma.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 %1019)) %1023) %1012))
(approx %153 (fma.f32 %62 (-.f32 (*.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1019 (pow.f32 %934 #s(literal 2 binary32))) (*.f32 #s(literal 1/8 binary32) (/.f32 h %1029))))) %1019)) %1023) %1012))
(approx %185 %1040)
(approx %199 %1042)
(approx %217 %1044)
(approx %243 (/.f32 %1046 %62))
(approx %250 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 (*.f32 eta %337))))
(approx %250 (/.f32 %1046 eta))
(approx %286 %942)
(approx %286 (fma.f32 #s(literal -1/2 binary32) %941 %942))
(approx %286 (fma.f32 %62 (-.f32 (*.f32 #s(literal 3/8 binary32) %949) %1059) %942))
(approx %286 (fma.f32 %62 (-.f32 (*.f32 %62 (fma.f32 #s(literal -5/16 binary32) (/.f32 %62 %1029) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %948)))) %1059) %942))
(approx %313 %1071)
(approx %313 (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %1073) %1071))
(approx %313 (fma.f32 %62 (fma.f32 #s(literal -1/8 binary32) (/.f32 %62 %1077) %1080) %1071))
(approx %313 (fma.f32 %62 (fma.f32 %62 (-.f32 (*.f32 #s(literal 1/16 binary32) (/.f32 %62 (*.f32 h %948))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %1077))) %1080) %1071))
(approx %61 (*.f32 %62 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %1042))))
(approx %76 %1098)
(approx %76 %1106)
(approx %76 %1116)
(approx %119 #s(literal 1/2 binary32))
(approx %119 (+.f32 #s(literal 1/2 binary32) %226))
(approx %120 %39)
(approx %120 %1122)
(approx %122 (*.f32 #s(literal 1/2 binary32) %252))
(approx %122 %1126)
(approx %125 %256)
(approx %125 %1131)
(approx %129 %1133)
(approx %129 %1136)
(approx %133 %1138)
(approx %133 %1142)
(approx %464 %1146)
(approx %464 %1151)
(approx %148 %1156)
(approx %153 %1161)
(approx %153 %1172)
(approx %153 %1188)
(approx %243 %1097)
(approx %286 %1193)
(approx %286 %1202)
(approx %286 %1215)
(approx %313 %1217)
(approx %313 %1224)
(approx %313 %1231)
(approx %313 %1239)
(approx %76 (*.f32 #s(literal -1 binary32) eta))
(approx %76 (*.f32 #s(literal -1 binary32) %1098))
(approx %76 (*.f32 #s(literal -1 binary32) %1106))
(approx %76 (*.f32 #s(literal -1 binary32) %1116))
(approx %122 %253)
(approx %122 (*.f32 #s(literal -1 binary32) %1126))
(approx %125 (*.f32 #s(literal 1/4 binary32) %252))
(approx %125 (*.f32 #s(literal -1 binary32) %1131))
(approx %127 (/.f32 #s(literal -1 binary32) eta))
(approx %128 (/.f32 #s(literal -1/2 binary32) eta))
(approx %129 (*.f32 #s(literal -1 binary32) %1133))
(approx %129 (*.f32 #s(literal -1 binary32) %1136))
(approx %133 (*.f32 #s(literal -1 binary32) %1138))
(approx %133 (*.f32 #s(literal -1 binary32) %1142))
(approx %464 (*.f32 #s(literal -1 binary32) %1146))
(approx %464 (*.f32 #s(literal -1 binary32) %1151))
(approx %147 (*.f32 #s(literal -1 binary32) %921))
(approx %140 (*.f32 #s(literal -1 binary32) %971))
(approx %141 (*.f32 #s(literal -1 binary32) %1005))
(approx %148 (*.f32 #s(literal -1 binary32) %1156))
(approx %153 (*.f32 #s(literal -1 binary32) %1161))
(approx %153 (*.f32 #s(literal -1 binary32) %1172))
(approx %153 (*.f32 #s(literal -1 binary32) %1188))
(approx %250 (*.f32 #s(literal -1 binary32) (*.f32 eta (-.f32 %1191 #s(literal 1 binary32)))))
(approx %286 (*.f32 #s(literal -1 binary32) %1193))
(approx %286 (*.f32 #s(literal -1 binary32) %1202))
(approx %286 (*.f32 #s(literal -1 binary32) %1215))
(approx %313 (*.f32 #s(literal -1 binary32) %1217))
(approx %313 (*.f32 #s(literal -1 binary32) %1224))
(approx %313 (*.f32 #s(literal -1 binary32) %1231))
(approx %313 (*.f32 #s(literal -1 binary32) %1239))
Calls

9 calls:

TimeVariablePoint
45.0ms
eta
0
44.0ms
sinTheta_O
0
36.0ms
sinTheta_O
inf
24.0ms
eta
inf
15.0ms
h
0

rewrite2.0s (6.9%)

Counts
72 → 829
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%12 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%14 = (* sinTheta_O sinTheta_O)
%15 = (- 1 %14)
%16 = (approx %15 #s(literal 1 binary32))
%19 = (pow.f32 eta #s(literal 2 binary32))
%20 = (sqrt.f32 %19)
%22 = (pow.f32 %20 #s(literal 2 binary32))
%23 = (/.f32 #s(literal 1 binary32) %22)
%24 = (*.f32 #s(literal 1/4 binary32) %23)
%25 = (+.f32 #s(literal 1/2 binary32) %24)
%26 = (*.f32 %12 %25)
%27 = (/.f32 %26 %20)
%28 = (*.f32 #s(literal -1/2 binary32) %27)
%29 = (/.f32 #s(literal 1 binary32) %20)
%30 = (*.f32 #s(literal 1/2 binary32) %29)
%31 = (-.f32 %28 %30)
%32 = (*.f32 %12 %31)
%33 = (+.f32 %20 %32)
%38 = (sqrt (- (* eta eta) (/ %14 (sqrt %15))))
%39 = (approx %38 %33)
%40 = (/.f32 h %20)
%41 = (*.f32 h %12)
%43 = (pow.f32 %20 #s(literal 3 binary32))
%44 = (/.f32 %41 %43)
%45 = (fma.f32 #s(literal 1/2 binary32) %44 %40)
%46 = (/ h %38)
%47 = (approx %46 %45)
%48 = (-.f32 #s(literal 1 binary32) %12)
%49 = (sqrt.f32 %48)
%50 = (*.f32 %19 %49)
%51 = (/.f32 %12 %50)
%52 = (*.f32 #s(literal -1/2 binary32) %51)
%53 = (+.f32 #s(literal 1 binary32) %52)
%54 = (*.f32 eta %53)
%55 = (approx %38 %54)
%56 = (/.f32 h eta)
%57 = (approx %46 %56)
%58 = (neg.f32 %8)
%59 = (fma.f32 eta eta %58)
%60 = (/.f32 #s(literal 1 binary32) %10)
%61 = (*.f32 h %60)
%62 = (/.f32 %10 h)
%63 = (/.f32 #s(literal 1 binary32) %62)
%64 = (/.f32 h %39)
%66 = (/.f32 h %55)
%68 = (sqrt.f32 %59)
%69 = (/.f32 h %68)
%75 = (sqrt.f32 %16)
%76 = (/.f32 %4 %75)
%77 = (-.f32 %2 %76)
%78 = (sqrt.f32 %77)
%79 = (/.f32 h %78)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
#s(literal 2 binary32)
%12
%16
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
%19
%20
#s(literal 1/4 binary32)
%22
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%39
%40
%41
#s(literal 3 binary32)
%43
%44
%45
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
(asin.f32 %64)
%66
(asin.f32 %66)
%68
%69
(asin.f32 %69)
(asin.f32 %47)
(asin.f32 %63)
(asin.f32 %61)
(asin.f32 %57)
%75
%76
%77
%78
%79
(asin.f32 %79)
Outputs
%5 = (*.f32 h #s(literal 2 binary32))
%12 = (*.f32 #s(literal 1/2 binary32) eta)
%14 = (*.f32 eta #s(literal 2 binary32))
%19 = (*.f32 eta eta)
%20 = (fabs.f32 %19)
%21 = (fabs.f32 eta)
%22 = (*.f32 %21 %21)
%23 = (neg.f32 eta)
%24 = (*.f32 %23 %23)
%25 = (*.f32 %23 eta)
%26 = (neg.f32 %25)
%27 = (*.f32 eta %23)
%28 = (neg.f32 %27)
%29 = (neg.f32 %23)
%30 = (*.f32 %29 %29)
%31 = (neg.f32 %21)
%32 = (*.f32 %31 %31)
%33 = (*.f32 %19 %19)
%34 = (sqrt.f32 %33)
%35 = (pow.f32 eta #s(literal 2 binary32))
%36 = (pow.f32 %21 #s(literal 2 binary32))
%37 = (pow.f32 %23 #s(literal 2 binary32))
%38 = (pow.f32 eta #s(literal 1 binary32))
%39 = (*.f32 %38 eta)
%40 = (pow.f32 %19 #s(literal 1 binary32))
%41 = (pow.f32 %21 #s(literal 1 binary32))
%42 = (*.f32 %41 %21)
%43 = (pow.f32 %33 #s(literal 1/2 binary32))
%45 = (*.f32 sinTheta_O sinTheta_O)
%46 = (fabs.f32 %45)
%47 = (neg.f32 sinTheta_O)
%48 = (*.f32 %47 %47)
%49 = (fabs.f32 sinTheta_O)
%50 = (*.f32 %49 %49)
%51 = (*.f32 %47 sinTheta_O)
%52 = (neg.f32 %51)
%53 = (neg.f32 %47)
%54 = (*.f32 %53 %53)
%55 = (neg.f32 %49)
%56 = (*.f32 %55 %55)
%57 = (fabs.f32 %49)
%58 = (*.f32 %57 %57)
%59 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%60 = (pow.f32 %47 #s(literal 2 binary32))
%61 = (pow.f32 %49 #s(literal 2 binary32))
%63 = (*.f32 (pow.f32 sinTheta_O #s(literal 1 binary32)) sinTheta_O)
%88 = (-.f32 #s(literal 1 binary32) %45)
%89 = (fma.f32 sinTheta_O %47 #s(literal 1 binary32))
%90 = (fma.f32 %47 sinTheta_O #s(literal 1 binary32))
%92 = (neg.f32 (fma.f32 sinTheta_O sinTheta_O #s(literal -1 binary32)))
%93 = (+.f32 #s(literal 1 binary32) %51)
%94 = (+.f32 %51 #s(literal 1 binary32))
%96 = (-.f32 #s(literal 1 binary32) (*.f32 %53 sinTheta_O))
%97 = (fma.f32 %47 %53 #s(literal 1 binary32))
%98 = (fma.f32 %49 %55 #s(literal 1 binary32))
%99 = (fma.f32 %53 %47 #s(literal 1 binary32))
%100 = (fma.f32 %55 %49 #s(literal 1 binary32))
%101 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %51)
%102 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %51)
%103 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %51)
%104 = (sqrt.f32 %88)
%105 = (fabs.f32 %104)
%106 = (neg.f32 %104)
%107 = (fabs.f32 %106)
%108 = (/.f32 #s(literal 1 binary32) %104)
%109 = (/.f32 #s(literal 1 binary32) %108)
%111 = (sqrt.f32 (*.f32 %104 %104))
%112 = (pow.f32 %88 #s(literal 1/2 binary32))
%113 = (asin.f32 sinTheta_O)
%114 = (cos.f32 %113)
%116 = (sin.f32 (acos.f32 sinTheta_O))
%118 = (cos.f32 (asin.f32 %47))
%120 = (cos.f32 (asin.f32 %49))
%122 = (cos.f32 (neg.f32 %113))
%124 = (cos.f32 (fabs.f32 %113))
%126 = (sin.f32 (acos.f32 %47))
%128 = (sin.f32 (acos.f32 %49))
%129 = (PI.f32 )
%130 = (*.f32 %129 #s(literal 1/2 binary32))
%132 = (sin.f32 (+.f32 %113 %130))
%133 = (/.f32 %45 %104)
%134 = (/.f32 sinTheta_O %104)
%137 = (neg.f32 %106)
%140 = (/.f32 %47 %104)
%142 = (/.f32 %49 %104)
%144 = (*.f32 %47 %134)
%146 = (*.f32 %45 #s(literal 1 binary32))
%156 = (/.f32 #s(literal 1 binary32) %106)
%160 = (-.f32 %19 %133)
%161 = (neg.f32 %134)
%162 = (fma.f32 sinTheta_O %161 %19)
%163 = (/.f32 sinTheta_O %106)
%164 = (fma.f32 sinTheta_O %163 %19)
%165 = (fma.f32 eta eta %144)
%166 = (fma.f32 %47 %134 %19)
%167 = (+.f32 %19 %144)
%168 = (+.f32 %144 %19)
%170 = (neg.f32 (-.f32 %133 %19))
%171 = (-.f32 %144 %25)
%172 = (-.f32 %144 %27)
%173 = (neg.f32 %19)
%174 = (-.f32 %144 %173)
%175 = (fma.f32 %21 %21 %144)
%176 = (fma.f32 %23 %23 %144)
%177 = (/.f32 %49 %106)
%178 = (fma.f32 %49 %177 %19)
%179 = (neg.f32 %108)
%180 = (fma.f32 %45 %179 %19)
%181 = (fma.f32 %45 %156 %19)
%182 = (fma.f32 %51 %108 %19)
%184 = (-.f32 %144 (*.f32 %29 %23))
%185 = (fma.f32 %29 %29 %144)
%186 = (fma.f32 %31 %31 %144)
%187 = (*.f32 %19 %104)
%188 = (-.f32 %187 %45)
%189 = (/.f32 %188 %104)
%191 = (/.f32 (fma.f32 %104 %173 %45) %106)
%193 = (/.f32 (neg.f32 %188) %106)
%194 = (*.f32 %173 %104)
%196 = (/.f32 (-.f32 %194 %51) %106)
%197 = (*.f32 %188 %108)
%199 = (/.f32 #s(literal 1 binary32) (/.f32 %104 %188))
%200 = (fma.f32 %38 eta %144)
%201 = (fma.f32 %41 %21 %144)
%203 = (-.f32 (/.f32 %187 %104) %133)
%204 = (sqrt.f32 %160)
%205 = (fabs.f32 %204)
%206 = (neg.f32 %204)
%207 = (fabs.f32 %206)
%208 = (/.f32 #s(literal 1 binary32) %204)
%209 = (/.f32 #s(literal 1 binary32) %208)
%213 = (/.f32 (sqrt.f32 (fabs.f32 %188)) (sqrt.f32 %104))
%214 = (pow.f32 %160 #s(literal 1/2 binary32))
%216 = (sqrt.f32 (*.f32 %204 %204))
%230 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%231 = (*.f32 %230 %230)
%236 = (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))
%252 = (/.f32 #s(literal 1 binary32) %21)
%254 = (sqrt.f32 %21)
%264 = (/.f32 #s(literal 1 binary32) %19)
%270 = (/.f32 #s(literal 1 binary32) %173)
%276 = (/.f32 #s(literal 1/2 binary32) %19)
%287 = (/.f32 #s(literal 1/2 binary32) %21)
%295 = (/.f32 #s(literal 1/4 binary32) %19)
%297 = (/.f32 #s(literal 1/4 binary32) %21)
%308 = (/.f32 #s(literal -1/4 binary32) %19)
%310 = (-.f32 %295 #s(literal -1/2 binary32))
%311 = (neg.f32 %308)
%332 = (*.f32 %45 %310)
%345 = (/.f32 %45 %19)
%346 = (*.f32 %345 #s(literal 1/4 binary32))
%349 = (*.f32 #s(literal 1/2 binary32) sinTheta_O)
%350 = (*.f32 %349 sinTheta_O)
%394 = (/.f32 %310 %21)
%398 = (/.f32 %45 %21)
%399 = (*.f32 %310 %398)
%401 = (*.f32 %310 %51)
%411 = (*.f32 %332 #s(literal 1 binary32))
%420 = (neg.f32 %31)
%424 = (/.f32 #s(literal 1 binary32) %31)
%432 = (*.f32 %332 #s(literal -1/2 binary32))
%434 = (*.f32 %394 #s(literal -1/2 binary32))
%436 = (*.f32 #s(literal -1/2 binary32) %399)
%437 = (/.f32 #s(literal -1/2 binary32) %21)
%441 = (*.f32 (*.f32 #s(literal -1/2 binary32) sinTheta_O) sinTheta_O)
%487 = (/.f32 (-.f32 %432 #s(literal 1/2 binary32)) %21)
%489 = (/.f32 (-.f32 #s(literal 1/2 binary32) %432) %21)
%504 = (neg.f32 %252)
%514 = (*.f32 sinTheta_O %487)
%516 = (*.f32 %45 %487)
%518 = (*.f32 %487 sinTheta_O)
%520 = (*.f32 %489 %45)
%522 = (*.f32 %47 %487)
%524 = (*.f32 %49 %487)
%526 = (*.f32 %487 %47)
%528 = (*.f32 %487 %49)
%530 = (*.f32 %45 %437)
%532 = (*.f32 %437 %45)
%540 = (fma.f32 %487 %45 %21)
%558 = (sqrt (- (* eta eta) (* sinTheta_O (sinh (atanh sinTheta_O)))))
%559 = (approx %558 %540)
%560 = (/.f32 h %21)
%561 = (neg.f32 h)
%563 = (neg.f32 %560)
%569 = (neg.f32 %561)
%571 = (*.f32 h #s(literal -1 binary32))
%578 = (*.f32 h %45)
%597 = (*.f32 %21 %19)
%601 = (/.f32 %578 %597)
%603 = (*.f32 sinTheta_O (/.f32 sinTheta_O %597))
%608 = (/.f32 %578 %21)
%610 = (/.f32 %578 %19)
%614 = (/.f32 h %19)
%617 = (*.f32 %561 %45)
%618 = (*.f32 %173 %21)
%626 = (/.f32 #s(literal 1 binary32) %597)
%642 = (fma.f32 #s(literal 1/2 binary32) %601 %560)
%644 = (*.f32 #s(literal 1/2 binary32) h)
%646 = (*.f32 %601 #s(literal 1/2 binary32))
%667 = (*.f32 %644 %45)
%670 = (fma.f32 %646 %21 h)
%687 = (*.f32 %597 %21)
%691 = (*.f32 %21 %597)
%701 = (*.f32 %597 %31)
%705 = (*.f32 %31 %597)
%713 = (/ h %558)
%714 = (approx %713 %642)
%728 = (/.f32 %45 %187)
%733 = (/.f32 sinTheta_O %19)
%749 = (/.f32 %47 %19)
%751 = (/.f32 %49 %19)
%756 = (/.f32 #s(literal 1 binary32) %187)
%775 = (*.f32 #s(literal -1/2 binary32) %728)
%785 = (/.f32 #s(literal -1/2 binary32) %19)
%787 = (/.f32 #s(literal -1/2 binary32) %104)
%790 = (*.f32 %728 #s(literal 1/2 binary32))
%796 = (*.f32 %756 #s(literal -1/2 binary32))
%802 = (fma.f32 %728 #s(literal -1/2 binary32) #s(literal 1 binary32))
%822 = (*.f32 #s(literal 2 binary32) %187)
%827 = (*.f32 %187 #s(literal 2 binary32))
%835 = (*.f32 #s(literal -1/2 binary32) eta)
%842 = (*.f32 eta %802)
%844 = (*.f32 %728 %835)
%857 = (approx %558 %842)
%858 = (/.f32 h eta)
%864 = (/.f32 #s(literal 1 binary32) eta)
%874 = (approx %713 %858)
%892 = (neg.f32 %206)
%894 = (/.f32 #s(literal 1 binary32) %206)
%896 = (*.f32 #s(literal 2 binary32) %204)
%904 = (*.f32 #s(literal 2 binary32) %206)
%917 = (/.f32 h %204)
%918 = (/.f32 %561 %206)
%920 = (neg.f32 (/.f32 %561 %204))
%922 = (neg.f32 (/.f32 h %206))
%923 = (*.f32 h %208)
%924 = (*.f32 #s(literal 1 binary32) %917)
%925 = (*.f32 %208 h)
%926 = (*.f32 %917 #s(literal 1 binary32))
%927 = (/.f32 %204 h)
%928 = (/.f32 #s(literal 1 binary32) %927)
%929 = (/.f32 %569 %892)
%931 = (/.f32 (*.f32 #s(literal -1 binary32) h) %206)
%932 = (/.f32 %571 %206)
%933 = (neg.f32 %927)
%934 = (/.f32 #s(literal -1 binary32) %933)
%936 = (neg.f32 (/.f32 #s(literal -1 binary32) %927))
%938 = (/.f32 (*.f32 #s(literal 1 binary32) %561) %206)
%939 = (*.f32 %561 %894)
%940 = (*.f32 %894 %561)
%941 = (/.f32 #s(literal 1 binary32) %933)
%942 = (neg.f32 %941)
%944 = (/.f32 (*.f32 #s(literal 2 binary32) h) %896)
%946 = (*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %917))
%948 = (/.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %927))
%950 = (/.f32 (*.f32 #s(literal 2 binary32) %917) #s(literal 2 binary32))
%952 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %927))
%954 = (/.f32 #s(literal 1 binary32) (/.f32 %927 #s(literal 1 binary32)))
%955 = (/.f32 #s(literal 1 binary32) h)
%956 = (/.f32 %208 %955)
%958 = (/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %933))
%959 = (*.f32 #s(literal -1 binary32) %941)
%961 = (/.f32 (*.f32 #s(literal 2 binary32) %561) %904)
%963 = (/.f32 #s(literal 1 binary32) (/.f32 %933 #s(literal -1 binary32)))
%966 = (*.f32 (/.f32 #s(literal 2 binary32) %204) (/.f32 #s(literal 1/2 binary32) %955))
%967 = (pow.f32 %927 #s(literal -1 binary32))
%969 = (/.f32 #s(literal 1 binary32) (pow.f32 %927 #s(literal 1 binary32)))
%980 = (/.f32 h %559)
%982 = (/.f32 h %857)
%984 = (asin.f32 %917)
%985 = (acos.f32 %917)
%986 = (-.f32 %130 %985)
%987 = (neg.f32 %985)
%988 = (fma.f32 %129 #s(literal 1/2 binary32) %987)
%989 = (+.f32 %130 %987)
%991 = (neg.f32 (-.f32 %985 %130))
%994 = (sqrt.f32 %236)
%995 = (/.f32 %45 %994)
%996 = (-.f32 %19 %995)
%997 = (sqrt.f32 %996)
%998 = (/.f32 h %997)
h
(*.f32 h #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) h)
(*.f32 %5 #s(literal 1/2 binary32))
(/.f32 %5 #s(literal 2 binary32))
eta
(*.f32 eta #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) eta)
(*.f32 #s(literal 2 binary32) %12)
(*.f32 %14 #s(literal 1/2 binary32))
(/.f32 %14 #s(literal 2 binary32))
(/.f32 (*.f32 #s(literal 2 binary32) eta) #s(literal 2 binary32))
%19
%20
%22
%24
%26
%28
%30
%32
%34
%35
%36
%37
%39
%40
%42
%43
sinTheta_O
%45
%46
%48
%50
%52
%54
%56
%58
%59
%60
%61
%63
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -2 binary32) #s(literal -2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%88
%89
%90
%92
%93
%94
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%107
%109
%111
%112
%114
%116
%118
%120
%122
%124
%126
%128
%132
%133
(*.f32 sinTheta_O %134)
(*.f32 %134 sinTheta_O)
(/.f32 %45 %137)
(/.f32 %51 %106)
(*.f32 %47 %140)
(*.f32 %49 %142)
(neg.f32 %144)
(/.f32 %146 %104)
(*.f32 %45 %108)
(*.f32 %108 %45)
(/.f32 #s(literal 1 binary32) (/.f32 %104 %45))
(*.f32 %47 (*.f32 %47 %108))
(*.f32 %49 (*.f32 %49 %108))
(*.f32 %51 %156)
(/.f32 #s(literal 1 binary32) (/.f32 %106 %51))
%160
%162
%164
%165
%166
%167
%168
%170
%171
%172
%174
%175
%176
%178
%180
%181
%182
%184
%185
%186
%189
%191
%193
%196
%197
%199
%200
%201
%203
%204
%205
%207
%209
%213
%214
%216
#s(literal 2 binary32)
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(/.f32 #s(literal 4 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(/.f32 (+.f32 #s(literal 4 binary32) #s(literal 4 binary32)) #s(literal 4 binary32))
(*.f32 #s(literal 2 binary32) %231)
%45
%46
%48
%50
%52
%54
%56
%58
%59
%60
%61
%63
%236
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal -1 binary32) #s(literal 2 binary32))
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
%19
%20
%22
%24
%26
%28
%30
%32
%34
%35
%36
%37
%39
%40
%42
%43
%21
(fabs.f32 %21)
(fabs.f32 %23)
(fabs.f32 %31)
(sqrt.f32 %19)
(/.f32 #s(literal 1 binary32) %252)
(*.f32 %254 %254)
(pow.f32 %19 #s(literal 1/2 binary32))
#s(literal 1/4 binary32)
(neg.f32 #s(literal -1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 1 binary32))
(*.f32 #s(literal -1/4 binary32) #s(literal -1 binary32))
(/.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
%19
%20
%22
%24
%26
%28
%30
%32
%34
%35
%36
%37
%39
%40
%42
%43
%264
(/.f32 #s(literal -1 binary32) %173)
(neg.f32 (/.f32 #s(literal -1 binary32) %19))
(/.f32 #s(literal 1 binary32) (neg.f32 %173))
(neg.f32 %270)
(/.f32 %252 %21)
(/.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %19))
(*.f32 #s(literal 1 binary32) %264)
(*.f32 #s(literal 2 binary32) %276)
(*.f32 %264 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %19 #s(literal 1 binary32)))
(/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %173))
(*.f32 #s(literal -1 binary32) %270)
(/.f32 #s(literal 1 binary32) (/.f32 %173 #s(literal -1 binary32)))
(*.f32 (/.f32 #s(literal 2 binary32) %21) %287)
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %264))
(/.f32 (*.f32 #s(literal 2 binary32) %264) #s(literal 2 binary32))
(pow.f32 %21 #s(literal -2 binary32))
(pow.f32 %19 #s(literal -1 binary32))
%295
(/.f32 #s(literal -1/4 binary32) %173)
(/.f32 %297 %21)
(*.f32 #s(literal 1 binary32) %295)
(*.f32 #s(literal 1/4 binary32) %264)
(*.f32 %264 #s(literal 1/4 binary32))
(*.f32 %295 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %19 #s(literal 1/4 binary32)))
(*.f32 %297 %252)
(+.f32 #s(literal 1/2 binary32) %295)
(+.f32 %295 #s(literal 1/2 binary32))
(-.f32 #s(literal 1/2 binary32) %308)
%310
(+.f32 #s(literal 1/2 binary32) %311)
(neg.f32 (-.f32 %308 #s(literal 1/2 binary32)))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %295)
(fma.f32 #s(literal 1 binary32) %295 #s(literal 1/2 binary32))
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) %295)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %295)
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %295)
(fma.f32 #s(literal 1/4 binary32) %264 #s(literal 1/2 binary32))
(fma.f32 %264 #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 %295 #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %311)
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) %311)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %311)
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %311)
(fma.f32 %297 %252 #s(literal 1/2 binary32))
(/.f32 (fma.f32 #s(literal 1/2 binary32) %19 #s(literal 1/4 binary32)) %19)
(*.f32 sinTheta_O (*.f32 sinTheta_O %310))
%332
(*.f32 %310 %45)
(*.f32 (*.f32 %310 sinTheta_O) sinTheta_O)
(*.f32 %47 (*.f32 %47 %310))
(*.f32 %49 (*.f32 %49 %310))
(*.f32 (*.f32 %310 %47) %47)
(*.f32 (*.f32 %310 %49) %49)
(fma.f32 sinTheta_O (*.f32 sinTheta_O #s(literal 1/2 binary32)) %346)
(fma.f32 sinTheta_O (*.f32 sinTheta_O %295) %350)
(fma.f32 %45 #s(literal 1/2 binary32) %346)
(fma.f32 %45 %295 %350)
(fma.f32 #s(literal 1/2 binary32) %45 %346)
(fma.f32 %295 %45 %350)
(fma.f32 %349 sinTheta_O %346)
(fma.f32 %345 #s(literal 1/4 binary32) %350)
(fma.f32 (*.f32 %295 sinTheta_O) sinTheta_O %350)
(+.f32 %350 %346)
(+.f32 %346 %350)
(-.f32 %350 (*.f32 %308 %45))
(-.f32 %350 (*.f32 %51 %295))
(-.f32 %350 (neg.f32 %346))
(fma.f32 %47 (*.f32 %47 #s(literal 1/2 binary32)) %346)
(fma.f32 %47 (*.f32 %47 %295) %350)
(fma.f32 %49 (*.f32 %49 #s(literal 1/2 binary32)) %346)
(fma.f32 %49 (*.f32 %49 %295) %350)
(fma.f32 (*.f32 #s(literal 1/2 binary32) %47) %47 %346)
(fma.f32 (*.f32 #s(literal 1/2 binary32) %49) %49 %346)
(fma.f32 (*.f32 %295 %47) %47 %350)
(fma.f32 (*.f32 %295 %49) %49 %350)
(fma.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1 binary32) %45) %346)
(fma.f32 #s(literal 1/4 binary32) (*.f32 %264 %45) %350)
(fma.f32 %264 (*.f32 #s(literal 1/4 binary32) %45) %350)
(fma.f32 %350 #s(literal 1 binary32) %346)
(fma.f32 (*.f32 %45 #s(literal 1/4 binary32)) %264 %350)
(/.f32 %332 %21)
(*.f32 sinTheta_O (*.f32 sinTheta_O %394))
(*.f32 %45 %394)
%399
(*.f32 %394 %45)
(/.f32 %401 %31)
(*.f32 %47 (*.f32 %47 %394))
(*.f32 %49 (*.f32 %49 %394))
(neg.f32 (/.f32 %332 %31))
(neg.f32 (/.f32 %401 %21))
(/.f32 %411 %21)
(*.f32 %310 (*.f32 %45 %252))
(*.f32 %332 %252)
(*.f32 %252 %332)
(/.f32 #s(literal 1 binary32) (/.f32 %21 %332))
(/.f32 (neg.f32 %401) %420)
(/.f32 (*.f32 %332 #s(literal -1 binary32)) %31)
(*.f32 %401 %424)
(/.f32 #s(literal 1 binary32) (/.f32 %31 %401))
(*.f32 %411 %252)
(+.f32 (/.f32 %350 %21) (/.f32 %346 %21))
(/.f32 %432 %21)
(*.f32 %45 %434)
%436
(*.f32 %332 %437)
(*.f32 %399 #s(literal -1/2 binary32))
(*.f32 %441 %394)
(neg.f32 (*.f32 %399 #s(literal 1/2 binary32)))
(neg.f32 (*.f32 #s(literal 1/2 binary32) %399))
(/.f32 (*.f32 %401 #s(literal -1/2 binary32)) %31)
(/.f32 (*.f32 #s(literal -1/2 binary32) %401) %31)
(/.f32 (neg.f32 %432) %31)
(*.f32 %432 %252)
(/.f32 #s(literal 1 binary32) (/.f32 %21 %432))
%252
(/.f32 #s(literal -1 binary32) %31)
(neg.f32 (/.f32 #s(literal -1 binary32) %21))
(/.f32 #s(literal 1 binary32) %420)
(neg.f32 %424)
(/.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %21))
(*.f32 #s(literal 1 binary32) %252)
(*.f32 #s(literal 2 binary32) %287)
(*.f32 %252 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %21 #s(literal 1 binary32)))
(/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %31))
(*.f32 #s(literal -1 binary32) %424)
(/.f32 #s(literal 1 binary32) (/.f32 %31 #s(literal -1 binary32)))
(/.f32 (*.f32 #s(literal 2 binary32) %252) #s(literal 2 binary32))
(pow.f32 %21 #s(literal -1 binary32))
(pow.f32 %19 #s(literal -1/2 binary32))
(/.f32 #s(literal 1 binary32) %41)
%287
(/.f32 #s(literal -1/2 binary32) %31)
(neg.f32 %437)
(*.f32 #s(literal 1 binary32) %287)
(*.f32 #s(literal 1/2 binary32) %252)
(*.f32 %252 #s(literal 1/2 binary32))
(*.f32 %287 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %21 #s(literal 1/2 binary32)))
%487
(neg.f32 %489)
(fma.f32 %45 %434 %437)
(fma.f32 #s(literal -1/2 binary32) %399 %437)
(fma.f32 %332 %437 %437)
(fma.f32 %399 #s(literal -1/2 binary32) %437)
(fma.f32 %441 %394 %437)
(*.f32 #s(literal -1/2 binary32) (fma.f32 %310 %398 %252))
(+.f32 %436 %437)
(+.f32 %437 %436)
(-.f32 %436 %287)
(fma.f32 #s(literal -1/2 binary32) %252 %436)
(fma.f32 %252 #s(literal -1/2 binary32) %436)
(fma.f32 %432 %252 %437)
(fma.f32 #s(literal 1/2 binary32) %504 %436)
(fma.f32 %504 #s(literal 1/2 binary32) %436)
(/.f32 (-.f32 (*.f32 %436 %21) #s(literal 1/2 binary32)) %21)
(/.f32 (-.f32 (*.f32 %432 %21) (*.f32 %21 #s(literal 1/2 binary32))) %19)
(*.f32 sinTheta_O %514)
%516
(*.f32 %487 %45)
(*.f32 %518 sinTheta_O)
(neg.f32 %520)
(*.f32 %47 %522)
(*.f32 %49 %524)
(*.f32 %526 %47)
(*.f32 %528 %49)
(fma.f32 %45 %436 %530)
(fma.f32 %436 %45 %532)
(+.f32 (*.f32 %436 %45) %532)
(+.f32 (*.f32 %45 %436) %530)
(fma.f32 sinTheta_O %514 %21)
(fma.f32 %45 %487 %21)
%540
(fma.f32 %518 sinTheta_O %21)
(+.f32 %21 %516)
(+.f32 %516 %21)
(-.f32 %21 %520)
(neg.f32 (-.f32 %520 %21))
(-.f32 %516 %31)
(fma.f32 %47 %522 %21)
(fma.f32 %49 %524 %21)
(fma.f32 %526 %47 %21)
(fma.f32 %528 %49 %21)
(fma.f32 %254 %254 %516)
%559
%560
(/.f32 %561 %31)
(neg.f32 %563)
(*.f32 h %252)
(*.f32 %252 h)
(/.f32 #s(literal 1 binary32) (/.f32 %21 h))
(/.f32 %569 %420)
(/.f32 %571 %31)
(*.f32 %561 %424)
(/.f32 #s(literal 1 binary32) (/.f32 %31 %561))
(*.f32 sinTheta_O (*.f32 sinTheta_O h))
%578
(*.f32 %45 h)
(*.f32 (*.f32 h sinTheta_O) sinTheta_O)
(*.f32 %47 (*.f32 %47 h))
(*.f32 %49 (*.f32 %49 h))
(*.f32 (*.f32 h %47) %47)
(*.f32 (*.f32 h %49) %49)
#s(literal 3 binary32)
(+.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 4 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) %231 #s(literal 1 binary32))
(*.f32 %19 %21)
%597
(pow.f32 %21 #s(literal 3 binary32))
(pow.f32 %19 #s(literal 3/2 binary32))
%601
(*.f32 h %603)
(*.f32 %45 (/.f32 h %597))
(*.f32 %603 h)
(/.f32 %608 %19)
(/.f32 %610 %21)
(*.f32 %560 %345)
(*.f32 %345 %560)
(*.f32 %398 %614)
(*.f32 %614 %398)
(/.f32 %617 %618)
(neg.f32 (/.f32 %617 %597))
(neg.f32 (/.f32 %578 %618))
(/.f32 (*.f32 %578 #s(literal 1 binary32)) %597)
(*.f32 %45 (*.f32 h %626))
(*.f32 %578 %626)
(*.f32 %626 %578)
(/.f32 #s(literal 1 binary32) (/.f32 %597 %578))
(/.f32 (neg.f32 %617) (neg.f32 %618))
(*.f32 %617 (/.f32 #s(literal 1 binary32) %618))
(/.f32 #s(literal 1 binary32) (/.f32 %618 %617))
(fma.f32 h (*.f32 %603 #s(literal 1/2 binary32)) %560)
%642
(fma.f32 %601 #s(literal 1/2 binary32) %560)
(fma.f32 %644 %603 %560)
(+.f32 %560 %646)
(+.f32 %646 %560)
(-.f32 %560 (*.f32 #s(literal -1/2 binary32) %601))
(fma.f32 %287 %610 %560)
(fma.f32 %276 %608 %560)
(-.f32 %560 (neg.f32 %646))
(-.f32 %560 (*.f32 (neg.f32 %601) #s(literal 1/2 binary32)))
(-.f32 %646 %563)
(neg.f32 (-.f32 %563 %646))
(fma.f32 h %252 %646)
(fma.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1 binary32) %601) %560)
(fma.f32 %252 h %646)
(fma.f32 %578 (*.f32 %626 #s(literal 1/2 binary32)) %560)
(fma.f32 %667 %626 %560)
(fma.f32 %646 #s(literal 1 binary32) %560)
(/.f32 %670 %21)
(fma.f32 %561 %424 %646)
(/.f32 (neg.f32 %670) %31)
(/.f32 (fma.f32 %646 %31 %561) %31)
(*.f32 %670 %252)
(/.f32 #s(literal 1 binary32) (/.f32 %21 %670))
(+.f32 (/.f32 (*.f32 %646 %21) %21) %560)
(/.f32 (fma.f32 %560 %597 %667) %597)
(/.f32 (fma.f32 %667 %21 (*.f32 %597 h)) %687)
(/.f32 (fma.f32 h %597 (*.f32 %21 %667)) %691)
(/.f32 (fma.f32 %667 %21 (*.f32 h %597)) %687)
(/.f32 (fma.f32 h %597 (*.f32 %667 %21)) %691)
(/.f32 (fma.f32 %667 %31 (*.f32 %597 %561)) %701)
(/.f32 (fma.f32 %561 %597 (*.f32 %31 %667)) %705)
(/.f32 (fma.f32 %667 %31 (*.f32 %561 %597)) %701)
(/.f32 (fma.f32 %561 %597 (*.f32 %667 %31)) %705)
%714
%88
%89
%90
%92
%93
%94
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%107
%109
%111
%112
%114
%116
%118
%120
%122
%124
%126
%128
%132
(*.f32 eta (*.f32 eta %104))
%187
(*.f32 %104 %19)
(*.f32 (*.f32 %104 eta) eta)
(*.f32 %21 (*.f32 %21 %104))
(*.f32 %23 (*.f32 %23 %104))
(*.f32 (*.f32 %104 %23) %23)
(*.f32 (*.f32 %104 %21) %21)
%728
(*.f32 sinTheta_O (/.f32 sinTheta_O %187))
(/.f32 %133 %19)
(/.f32 %345 %104)
(*.f32 %134 %733)
(*.f32 %733 %134)
(/.f32 %45 (neg.f32 %194))
(/.f32 %51 %194)
(*.f32 %47 (/.f32 %47 %187))
(*.f32 %49 (/.f32 %49 %187))
(neg.f32 (/.f32 %51 %187))
(neg.f32 (/.f32 %45 %194))
(/.f32 (neg.f32 %345) %106)
(*.f32 %749 %140)
(*.f32 %751 %142)
(*.f32 %140 %749)
(*.f32 %142 %751)
(/.f32 %146 %187)
(*.f32 sinTheta_O (*.f32 sinTheta_O %756))
(*.f32 %45 %756)
(*.f32 %756 %45)
(/.f32 #s(literal 1 binary32) (/.f32 %187 %45))
(*.f32 %345 %108)
(/.f32 #s(literal 1 binary32) (/.f32 %104 %345))
(*.f32 %47 (*.f32 %47 %756))
(*.f32 %49 (*.f32 %49 %756))
(*.f32 %51 (/.f32 #s(literal 1 binary32) %194))
(/.f32 #s(literal 1 binary32) (/.f32 %194 %51))
(/.f32 %441 %187)
%775
(*.f32 %728 #s(literal -1/2 binary32))
(/.f32 (*.f32 %345 #s(literal -1/2 binary32)) %104)
(/.f32 (*.f32 #s(literal -1/2 binary32) %345) %104)
(/.f32 (/.f32 %441 %19) %104)
(/.f32 (/.f32 %441 %104) %19)
(*.f32 %785 %133)
(*.f32 %787 %345)
(/.f32 %350 %194)
(neg.f32 %790)
(/.f32 (*.f32 %51 #s(literal -1/2 binary32)) %194)
(/.f32 (*.f32 #s(literal -1/2 binary32) %51) %194)
(*.f32 %45 %796)
(*.f32 %441 %756)
(/.f32 #s(literal 1 binary32) (/.f32 %187 %441))
(fma.f32 #s(literal -1/2 binary32) %728 #s(literal 1 binary32))
%802
(+.f32 #s(literal 1 binary32) %775)
(+.f32 %775 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) %790)
(-.f32 %775 #s(literal -1 binary32))
(fma.f32 %785 %133 #s(literal 1 binary32))
(fma.f32 %787 %345 #s(literal 1 binary32))
(neg.f32 (-.f32 %790 #s(literal 1 binary32)))
(fma.f32 %45 %796 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %775)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %775)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %775)
(fma.f32 %441 %756 #s(literal 1 binary32))
(/.f32 (fma.f32 %775 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
(/.f32 (fma.f32 #s(literal 1 binary32) %187 %441) %187)
(/.f32 (fma.f32 #s(literal 2 binary32) %187 (*.f32 #s(literal 2 binary32) %441)) %822)
(/.f32 (fma.f32 #s(literal 2 binary32) %187 (*.f32 %441 #s(literal 2 binary32))) %822)
(/.f32 (fma.f32 %441 #s(literal 2 binary32) %827) %827)
(/.f32 (fma.f32 %441 #s(literal 2 binary32) %822) %827)
(fma.f32 eta %775 eta)
(fma.f32 #s(literal -1/2 binary32) (*.f32 %728 eta) eta)
(fma.f32 %728 %835 eta)
(fma.f32 %775 eta eta)
(fma.f32 (*.f32 eta #s(literal -1/2 binary32)) %728 eta)
(fma.f32 (*.f32 eta %728) #s(literal -1/2 binary32) eta)
%842
(*.f32 %802 eta)
(+.f32 eta %844)
(+.f32 %844 eta)
(-.f32 eta (*.f32 %790 eta))
(-.f32 eta (*.f32 %23 %775))
(-.f32 eta (neg.f32 %844))
(fma.f32 eta #s(literal 1 binary32) %844)
(fma.f32 #s(literal 1 binary32) eta %844)
(fma.f32 #s(literal 2 binary32) %12 %844)
(fma.f32 %14 #s(literal 1/2 binary32) %844)
%857
%858
(/.f32 %561 %23)
(neg.f32 (/.f32 %561 eta))
(neg.f32 (/.f32 h %23))
(*.f32 h %864)
(*.f32 %864 h)
(/.f32 #s(literal 1 binary32) (/.f32 eta h))
(/.f32 %569 %29)
(*.f32 %561 (/.f32 #s(literal 1 binary32) %23))
(/.f32 #s(literal 1 binary32) (/.f32 %23 %561))
%874
(/.f32 %45 %106)
(/.f32 %51 %104)
(*.f32 sinTheta_O %161)
(*.f32 sinTheta_O %163)
%144
(neg.f32 %133)
(/.f32 %51 %137)
(*.f32 %49 %177)
(*.f32 %45 %179)
(*.f32 %45 %156)
(*.f32 %51 %108)
(/.f32 #s(literal 1 binary32) (/.f32 %104 %51))
(/.f32 #s(literal 1 binary32) (/.f32 %106 %45))
%160
%162
%164
%165
%166
%167
%168
%170
%171
%172
%174
%175
%176
%178
%180
%181
%182
%184
%185
%186
%189
%191
%193
%196
%197
%199
%200
%201
%203
%208
(/.f32 #s(literal -1 binary32) %206)
(neg.f32 (/.f32 #s(literal -1 binary32) %204))
(/.f32 #s(literal 1 binary32) %892)
(neg.f32 %894)
(/.f32 #s(literal 2 binary32) %896)
(*.f32 #s(literal 1 binary32) %208)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %204))
(*.f32 %208 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %204 #s(literal 1 binary32)))
(/.f32 #s(literal -2 binary32) %904)
(*.f32 #s(literal -1 binary32) %894)
(/.f32 #s(literal 1 binary32) (/.f32 %206 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %208))
(/.f32 (*.f32 #s(literal 2 binary32) %208) #s(literal 2 binary32))
(pow.f32 %160 #s(literal -1/2 binary32))
(pow.f32 %204 #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %204 #s(literal 1 binary32)))
%917
%918
%920
%922
%923
%924
%925
%926
%928
%929
%931
%932
%934
%936
%938
%939
%940
%942
%944
%946
%948
%950
%952
%954
%956
%958
%959
%961
%963
%966
%967
%969
%927
(/.f32 %206 %561)
(neg.f32 %933)
(/.f32 (*.f32 %204 #s(literal 1 binary32)) h)
(*.f32 %204 %955)
(*.f32 %955 %204)
(/.f32 #s(literal 1 binary32) %917)
(/.f32 %892 %569)
(*.f32 %206 (/.f32 #s(literal 1 binary32) %561))
%917
%918
%920
%922
%923
%924
%925
%926
%928
%929
%931
%932
%934
%936
%938
%939
%940
%942
%944
%946
%948
%950
%952
%954
%956
%958
%959
%961
%963
%966
%967
%969
%980
(asin.f32 %980)
%982
(asin.f32 %982)
%204
%205
%207
%209
%213
%214
%216
%917
%918
%920
%922
%923
%924
%925
%926
%928
%929
%931
%932
%934
%936
%938
%939
%940
%942
%944
%946
%948
%950
%952
%954
%956
%958
%959
%961
%963
%966
%967
%969
%984
%986
%988
%989
%991
(asin.f32 %714)
%984
%986
%988
%989
%991
%984
%986
%988
%989
%991
(asin.f32 %874)
%994
%995
%996
%997
%998
(asin.f32 %998)

reconstruct638.0ms (2.2%)

Counts
1 107 → 363
Compiler

Compiled 1 107 to 1 945 computations (-75.7% saved)

eval213.0ms (0.7%)

Compiler

Compiled 380 to 2 120 computations (-457.9% saved)

prune32.0ms (0.1%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New36911380
Fresh000
Picked628
Done011
Total37514389
Accuracy
99.5%
Counts
389 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
92.9%
%22 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %22 (sqrt.f32 (-.f32 #s(literal 1 binary32) %22)))))))
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))))))))
94.1%
%4 = (* sinTheta_O sinTheta_O)
%22 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (*.f32 eta (fma.f32 (/.f32 %22 (*.f32 (*.f32 eta eta) (sqrt.f32 (-.f32 #s(literal 1 binary32) %22)))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
94.5%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 (*.f32 eta eta) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))))))))
67.2%
%4 = (* sinTheta_O sinTheta_O)
%67 = (sqrt (pow eta 2))
%68 = (pow sinTheta_O 2)
%88 = (pow.f32 eta #s(literal 2 binary32))
%89 = (pow.f32 sinTheta_O #s(literal 2 binary32))
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (approx (+ %67 (* %68 (- (* -1/2 (/ (* %68 (+ 1/2 (* 1/4 (/ 1 (pow %67 2))))) %67)) (* 1/2 (/ 1 %67))))) (/.f32 (fma.f32 #s(literal -1/8 binary32) (pow.f32 sinTheta_O #s(literal 4 binary32)) (*.f32 %88 (fma.f32 %89 (-.f32 (*.f32 #s(literal -1/4 binary32) %89) #s(literal 1/2 binary32)) %88))) (pow.f32 eta #s(literal 3 binary32)))))))
92.1%
(asin.f32 (/.f32 #s(literal 1 binary32) (/.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))) h)))
91.8%
%22 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (*.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %22 (sqrt.f32 (-.f32 #s(literal 1 binary32) %22))))) (/.f32 #s(literal 1 binary32) h))))
96.2%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (approx (/ (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) h) (/.f32 eta h))))
92.1%
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
80.0%
%4 = (* sinTheta_O sinTheta_O)
%24 = (fabs.f32 eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (fma.f32 h (*.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 %24 (*.f32 eta eta)))) #s(literal 1/2 binary32)) (/.f32 h %24))))
48.6%
%4 = (* sinTheta_O sinTheta_O)
%24 = (fabs.f32 eta)
%26 = (*.f32 %24 (*.f32 eta eta))
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 (fma.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) h) (*.f32 sinTheta_O sinTheta_O)) %24 (*.f32 h %26)) (*.f32 %26 %24))))
97.0%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
96.3%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (*.f32 h (/.f32 #s(literal 1 binary32) eta))))
Compiler

Compiled 14 to 89 computations (-535.7% saved)

sample1.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series2.5s (8.3%)

Counts
92 → 317
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%12 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%14 = (* sinTheta_O sinTheta_O)
%15 = (- 1 %14)
%16 = (approx %15 #s(literal 1 binary32))
%20 = (pow.f32 eta #s(literal 2 binary32))
%24 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%25 = (*.f32 #s(literal 1/2 binary32) h)
%26 = (fabs.f32 eta)
%27 = (sqrt.f32 %16)
%28 = (/.f32 %4 %27)
%29 = (-.f32 %2 %28)
%30 = (sqrt.f32 %29)
%31 = (/.f32 #s(literal 1 binary32) eta)
%32 = (pow.f32 eta #s(literal 3 binary32))
%33 = (*.f32 #s(literal -1/4 binary32) %12)
%34 = (-.f32 %33 #s(literal 1/2 binary32))
%35 = (fma.f32 %12 %34 %20)
%36 = (*.f32 %20 %35)
%37 = (fma.f32 #s(literal -1/8 binary32) %24 %36)
%38 = (/.f32 %37 %32)
%41 = (sqrt (pow eta 2))
%42 = (pow sinTheta_O 2)
%58 = (approx (+ %41 (* %42 (- (* -1/2 (/ (* %42 (+ 1/2 (* 1/4 (/ 1 (pow %41 2))))) %41)) (* 1/2 (/ 1 %41))))) %38)
%59 = (/.f32 eta h)
%64 = (sqrt (- (* eta eta) (/ %14 (sqrt %15))))
%66 = (approx (/ %64 h) %59)
%67 = (/.f32 #s(literal 1 binary32) h)
%68 = (*.f32 %2 %7)
%69 = (/.f32 h %26)
%70 = (*.f32 %26 %2)
%71 = (/.f32 sinTheta_O %70)
%72 = (*.f32 sinTheta_O %71)
%73 = (*.f32 %72 #s(literal 1/2 binary32))
%74 = (fma.f32 h %73 %69)
%75 = (*.f32 %25 %4)
%76 = (*.f32 %70 %26)
%77 = (*.f32 h %70)
%78 = (fma.f32 %75 %26 %77)
%79 = (/.f32 %78 %76)
%80 = (/.f32 %4 %68)
%81 = (/.f32 sinTheta_O %68)
%82 = (*.f32 sinTheta_O %81)
%83 = (fma.f32 %80 #s(literal -1/2 binary32) #s(literal 1 binary32))
%84 = (*.f32 eta %83)
%85 = (*.f32 h %31)
%86 = (*.f32 %10 %67)
%87 = (/.f32 #s(literal 1 binary32) %86)
%89 = (/.f32 #s(literal 1 binary32) %66)
%91 = (*.f32 #s(literal -1/2 binary32) %82)
%92 = (+.f32 #s(literal 1 binary32) %91)
%93 = (*.f32 eta %92)
%94 = (approx %64 %93)
%95 = (/.f32 h %94)
%97 = (/ h %64)
%98 = (approx %97 %74)
%100 = (approx %97 %79)
%102 = (/.f32 #s(literal 1 binary32) %30)
%103 = (*.f32 h %102)
%105 = (/.f32 %30 h)
%106 = (/.f32 #s(literal 1 binary32) %105)
%108 = (neg.f32 %28)
%109 = (fma.f32 eta eta %108)
%110 = (sqrt.f32 %109)
%111 = (/.f32 h %110)
%113 = (approx %64 %84)
%114 = (/.f32 h %113)
%116 = (approx %64 %58)
%117 = (/.f32 h %116)
%119 = (approx %97 %85)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
#s(literal 2 binary32)
%12
%16
#s(literal -1/2 binary32)
#s(literal -1/8 binary32)
#s(literal 1/2 binary32)
%20
#s(literal 3 binary32)
#s(literal -1/4 binary32)
#s(literal 4 binary32)
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%36
%37
%38
%58
%59
%66
%67
%68
%69
%70
%71
%72
%73
%74
%75
%76
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
(asin.f32 %87)
%89
(asin.f32 %89)
%91
%92
%93
%94
%95
(asin.f32 %95)
%98
(asin.f32 %98)
%100
(asin.f32 %100)
%102
%103
(asin.f32 %103)
%105
%106
(asin.f32 %106)
%108
%109
%110
%111
(asin.f32 %111)
%113
%114
(asin.f32 %114)
%116
%117
(asin.f32 %117)
%119
(asin.f32 %119)
Outputs
%5 = (* sinTheta_O sinTheta_O)
%7 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%10 = (- 1 %5)
%14 = (*.f32 #s(literal -1 binary32) %7)
%17 = (sqrt %10)
%19 = (*.f32 #s(literal -1/2 binary32) %7)
%38 = (/ %5 %17)
%60 = (* eta eta)
%61 = (- %60 %38)
%62 = (pow.f32 eta #s(literal 2 binary32))
%66 = (-.f32 %19 #s(literal 1 binary32))
%73 = (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/8 binary32) %7) #s(literal 1/2 binary32))) #s(literal 1 binary32))
%76 = (sqrt %61)
%77 = (sqrt.f32 %62)
%84 = (pow.f32 %77 #s(literal 2 binary32))
%87 = (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %84)))
%88 = (*.f32 %7 %87)
%91 = (/.f32 #s(literal 1 binary32) %77)
%92 = (*.f32 #s(literal 1/2 binary32) %91)
%99 = (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 %87 %84)))
%100 = (*.f32 %7 %99)
%102 = (/.f32 %87 %77)
%103 = (*.f32 #s(literal -1/2 binary32) %102)
%111 = (pow sinTheta_O 4)
%113 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%117 = (pow sinTheta_O 2)
%118 = (* -1/4 %117)
%120 = (*.f32 #s(literal -1/4 binary32) %7)
%123 = (- %118 1/2)
%125 = (-.f32 %120 #s(literal 1/2 binary32))
%128 = (pow eta 2)
%129 = (+ (* %117 %123) %128)
%132 = (fma.f32 %7 %125 %62)
%134 = (* %128 %129)
%135 = (pow.f32 eta #s(literal 4 binary32))
%137 = (*.f32 %62 %7)
%146 = (+ (* -1/8 %111) %134)
%147 = (*.f32 #s(literal -1/4 binary32) %62)
%148 = (-.f32 %147 #s(literal 1/8 binary32))
%154 = (pow eta 3)
%155 = (/ %146 %154)
%157 = (/.f32 %7 eta)
%162 = (pow.f32 eta #s(literal 3 binary32))
%163 = (/.f32 #s(literal 1 binary32) %162)
%164 = (/.f32 #s(literal 1 binary32) eta)
%165 = (*.f32 #s(literal 1/4 binary32) %164)
%169 = (*.f32 #s(literal 1/2 binary32) %164)
%174 = (/ %76 h)
%175 = (/.f32 %77 h)
%177 = (*.f32 h %77)
%184 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %177))
%196 = (* %60 %17)
%209 = (fabs eta)
%210 = (* %209 %60)
%211 = (/ sinTheta_O %210)
%212 = (fabs.f32 eta)
%213 = (*.f32 %62 %212)
%216 = (* sinTheta_O %211)
%217 = (/.f32 %7 %213)
%219 = (* %216 1/2)
%223 = (/ h %209)
%224 = (+ (* h %219) %223)
%225 = (/.f32 h %212)
%227 = (*.f32 h %7)
%228 = (/.f32 %227 %213)
%231 = (* 1/2 h)
%232 = (* %231 %5)
%236 = (* h %210)
%237 = (+ (* %232 %209) %236)
%238 = (*.f32 h %212)
%239 = (*.f32 %62 %238)
%241 = (*.f32 %7 %212)
%242 = (*.f32 h %241)
%245 = (/ %5 %196)
%246 = (/.f32 %7 %62)
%248 = (/.f32 #s(literal 1 binary32) %62)
%249 = (fma.f32 #s(literal 1/2 binary32) %246 %248)
%252 = (*.f32 #s(literal 1/2 binary32) %248)
%254 = (fma.f32 %7 (fma.f32 #s(literal 3/8 binary32) %246 %252) %248)
%260 = (fma.f32 %7 (fma.f32 %7 (fma.f32 #s(literal 5/16 binary32) %246 (*.f32 #s(literal 3/8 binary32) %248)) %252) %248)
%263 = (/ sinTheta_O %196)
%274 = (+ (* %245 -1/2) 1)
%275 = (*.f32 #s(literal -1/2 binary32) %246)
%280 = (*.f32 %7 (-.f32 (*.f32 #s(literal -1/4 binary32) %246) %252))
%285 = (*.f32 #s(literal 1/4 binary32) %248)
%289 = (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %246) %285)) %252))
%292 = (* eta %274)
%305 = (/ 1 h)
%307 = (/ 1 (* %76 %305))
%308 = (/.f32 h %77)
%310 = (pow.f32 %77 #s(literal 3 binary32))
%314 = (*.f32 h %87)
%317 = (pow.f32 %77 #s(literal 5 binary32))
%320 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %314 %310) (*.f32 #s(literal -1/4 binary32) (/.f32 h %317)))
%324 = (*.f32 #s(literal -1/2 binary32) (/.f32 h %310))
%344 = (sqrt.f32 (-.f32 #s(literal 1 binary32) %7))
%345 = (/.f32 %7 %344)
%346 = (-.f32 %62 %345)
%347 = (sqrt.f32 %346)
%348 = (/.f32 h %347)
%352 = (* -1/2 (* sinTheta_O %263))
%367 = (/ 1 %76)
%373 = (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %317))
%375 = (*.f32 #s(literal -1/2 binary32) (/.f32 %87 %310))
%376 = (-.f32 %373 %375)
%378 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %310))
%394 = (neg %38)
%409 = (/.f32 #s(literal 1 binary32) %7)
%413 = (sqrt.f32 #s(literal -1 binary32))
%414 = (*.f32 sinTheta_O %413)
%416 = (*.f32 %7 %413)
%420 = (*.f32 sinTheta_O (+.f32 %413 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %416))))
%422 = (/.f32 #s(literal 1/2 binary32) %416)
%424 = (pow.f32 %413 #s(literal 3 binary32))
%425 = (*.f32 %113 %424)
%428 = (*.f32 sinTheta_O (-.f32 (+.f32 %413 %422) (/.f32 #s(literal 1/8 binary32) %425)))
%432 = (pow.f32 sinTheta_O #s(literal 6 binary32))
%433 = (pow.f32 %413 #s(literal 5 binary32))
%434 = (*.f32 %432 %433)
%442 = (*.f32 sinTheta_O (-.f32 (+.f32 %413 (+.f32 %422 (*.f32 #s(literal 1/16 binary32) (/.f32 #s(literal 1 binary32) %434)))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %425))))
%444 = (/.f32 sinTheta_O %413)
%446 = (/.f32 #s(literal 1 binary32) %413)
%447 = (*.f32 %7 %424)
%448 = (/.f32 #s(literal 1 binary32) %447)
%449 = (*.f32 #s(literal 1/2 binary32) %448)
%451 = (*.f32 sinTheta_O (-.f32 %446 %449))
%453 = (*.f32 %113 %433)
%455 = (+.f32 (/.f32 #s(literal 3/8 binary32) %453) %446)
%456 = (/.f32 #s(literal 1/2 binary32) %447)
%458 = (*.f32 sinTheta_O (-.f32 %455 %456))
%462 = (+.f32 %446 (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %453)))
%465 = (*.f32 %432 (pow.f32 %413 #s(literal 7 binary32)))
%468 = (+.f32 %456 (*.f32 #s(literal 5/16 binary32) (/.f32 #s(literal 1 binary32) %465)))
%470 = (*.f32 sinTheta_O (-.f32 %462 %468))
%474 = (/.f32 %62 sinTheta_O)
%487 = (sqrt.f32 (/.f32 #s(literal -1 binary32) %414))
%488 = (*.f32 sinTheta_O %487)
%490 = (*.f32 %7 %487)
%491 = (/.f32 %62 %490)
%496 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%498 = (*.f32 %496 (*.f32 %424 %487))
%504 = (pow.f32 %487 #s(literal 3 binary32))
%505 = (*.f32 %113 %504)
%515 = (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal 1/2 binary32) %409))
%531 = (/.f32 %62 %7)
%532 = (fma.f32 #s(literal -1/2 binary32) %531 %147)
%537 = (fma.f32 #s(literal -1/2 binary32) %531 (fma.f32 #s(literal -1/4 binary32) %62 (/.f32 %135 %113)))
%540 = (*.f32 %113 %148)
%550 = (/.f32 #s(literal -1/4 binary32) eta)
%551 = (*.f32 eta %7)
%553 = (*.f32 #s(literal 1/8 binary32) %163)
%565 = (sqrt %128)
%578 = (+ %565 (* %117 (- (* -1/2 (/ (* %117 (+ 1/2 (* 1/4 (/ 1 (pow %565 2))))) %565)) (* 1/2 (/ 1 %565)))))
%583 = (*.f32 %7 %77)
%598 = (/.f32 %62 (*.f32 h %490))
%599 = (/.f32 %487 h)
%603 = (*.f32 h %498)
%617 = (*.f32 %62 %414)
%620 = (*.f32 %62 %413)
%621 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %416) %620)
%622 = (*.f32 sinTheta_O %621)
%624 = (/.f32 %62 %425)
%626 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %624 %621))
%631 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %624 (fma.f32 #s(literal 1/16 binary32) (/.f32 %62 %434) %621)))
%646 = (/.f32 sinTheta_O %620)
%648 = (/.f32 #s(literal 1 binary32) %620)
%649 = (*.f32 %62 %447)
%650 = (/.f32 #s(literal 1 binary32) %649)
%651 = (*.f32 #s(literal 1/2 binary32) %650)
%652 = (-.f32 %648 %651)
%653 = (*.f32 sinTheta_O %652)
%655 = (*.f32 %62 %453)
%657 = (+.f32 (/.f32 #s(literal 3/8 binary32) %655) %648)
%658 = (/.f32 #s(literal 1/2 binary32) %649)
%659 = (-.f32 %657 %658)
%660 = (*.f32 sinTheta_O %659)
%662 = (/.f32 #s(literal 1 binary32) %655)
%664 = (+.f32 %648 (*.f32 #s(literal 3/8 binary32) %662))
%666 = (/.f32 #s(literal 1 binary32) (*.f32 %62 %465))
%668 = (+.f32 %658 (*.f32 #s(literal 5/16 binary32) %666))
%669 = (-.f32 %664 %668)
%670 = (*.f32 sinTheta_O %669)
%678 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%679 = (*.f32 #s(literal 1/2 binary32) %648)
%683 = (/.f32 #s(literal 1/4 binary32) %649)
%688 = (*.f32 #s(literal 1/4 binary32) %650)
%691 = (fma.f32 #s(literal 1/2 binary32) %648 (*.f32 #s(literal 3/16 binary32) %662))
%695 = (*.f32 eta %413)
%696 = (/.f32 sinTheta_O %695)
%699 = (/.f32 eta sinTheta_O)
%700 = (/.f32 #s(literal 1 binary32) %695)
%701 = (*.f32 #s(literal 1/2 binary32) %700)
%705 = (*.f32 eta %447)
%722 = (*.f32 %62 h)
%723 = (*.f32 %7 %504)
%724 = (/.f32 %722 %723)
%725 = (/.f32 h %487)
%729 = (*.f32 %424 %504)
%730 = (*.f32 %496 %729)
%731 = (/.f32 h %730)
%733 = (*.f32 #s(literal 1/2 binary32) %724)
%737 = (*.f32 %135 h)
%738 = (pow.f32 %487 #s(literal 5 binary32))
%739 = (/.f32 %737 %738)
%749 = (*.f32 sinTheta_O (-.f32 %688 %679))
%754 = (*.f32 sinTheta_O (-.f32 %683 (+.f32 (/.f32 #s(literal 3/16 binary32) %655) %679)))
%760 = (*.f32 sinTheta_O (-.f32 (+.f32 %683 (*.f32 #s(literal 5/32 binary32) %666)) %691))
%764 = (/.f32 %62 %723)
%765 = (/.f32 #s(literal 1 binary32) %487)
%778 = (/.f32 %135 %738)
%790 = (*.f32 sinTheta_O (-.f32 %449 %446))
%793 = (*.f32 sinTheta_O (-.f32 %456 %455))
%796 = (*.f32 sinTheta_O (-.f32 %468 %462))
%817 = (*.f32 sinTheta_O %424)
%829 = (*.f32 %7 %433)
%842 = (sqrt.f32 (/.f32 #s(literal 1 binary32) %414))
%843 = (*.f32 sinTheta_O %842)
%846 = (*.f32 %7 %842)
%848 = (*.f32 #s(literal 1/2 binary32) (/.f32 %62 %846))
%849 = (+.f32 %842 %848)
%853 = (*.f32 %424 %842)
%854 = (*.f32 %496 %853)
%860 = (pow.f32 %842 #s(literal 3 binary32))
%861 = (*.f32 sinTheta_O %860)
%878 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 (*.f32 h %846)) (/.f32 %842 h))
%990 = (*.f32 %7 %860)
%991 = (/.f32 %722 %990)
%992 = (/.f32 h %842)
%997 = (*.f32 %424 %860)
%998 = (*.f32 %496 %997)
%1001 = (*.f32 #s(literal 1/2 binary32) %991)
%1007 = (*.f32 sinTheta_O (pow.f32 %842 #s(literal 5 binary32)))
%1008 = (/.f32 %737 %1007)
%1028 = (/.f32 %62 %990)
%1029 = (/.f32 #s(literal 1 binary32) %842)
%1036 = (*.f32 #s(literal 1/2 binary32) %1028)
%1041 = (/.f32 %135 %1007)
%1063 = (/.f32 eta h)
%1067 = (/.f32 #s(literal 1 binary32) h)
%1069 = (/.f32 #s(literal 1 binary32) %212)
%1074 = (*.f32 h (fma.f32 #s(literal 1/2 binary32) %241 %213))
%1076 = (* %210 %209)
%1077 = (/ %237 %1076)
%1079 = (*.f32 %62 (pow.f32 %212 #s(literal 2 binary32)))
%1082 = (/ 1 eta)
%1084 = (/.f32 h eta)
%1094 = (*.f32 h (fma.f32 #s(literal -1 binary32) %213 (*.f32 #s(literal -1/2 binary32) %241)))
%1104 = (sqrt.f32 (neg.f32 %345))
%1110 = (pow.f32 %1104 #s(literal 3 binary32))
%1111 = (/.f32 %62 %1110)
%1112 = (/.f32 #s(literal 1 binary32) %1104)
%1113 = (*.f32 #s(literal 1/2 binary32) %1112)
%1118 = (pow.f32 %1104 #s(literal 5 binary32))
%1119 = (/.f32 %62 %1118)
%1121 = (/.f32 #s(literal 1 binary32) %1110)
%1131 = (*.f32 %7 %125)
%1133 = (*.f32 %62 %1131)
%1135 = (*.f32 %62 %132)
%1139 = (fma.f32 #s(literal -1/8 binary32) %113 %1133)
%1141 = (fma.f32 #s(literal -1/8 binary32) %113 %1135)
%1150 = (/.f32 %1104 h)
%1152 = (*.f32 h %1104)
%1156 = (*.f32 h %1110)
%1159 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %1152))
%1172 = (*.f32 %62 %344)
%1181 = (/.f32 %7 %1172)
%1185 = (*.f32 #s(literal -1/2 binary32) %1181)
%1187 = (fma.f32 #s(literal -1/2 binary32) %345 %62)
%1196 = (/.f32 h %1104)
%1201 = (/.f32 h %1118)
%1203 = (fma.f32 #s(literal -1/4 binary32) %1201 (*.f32 #s(literal -1/8 binary32) %1201))
%1207 = (*.f32 #s(literal 1/2 binary32) (/.f32 h %1110))
%1213 = (pow.f32 %1104 #s(literal 7 binary32))
%1228 = (*.f32 #s(literal 1/2 binary32) %1121)
%1244 = (+.f32 #s(literal 1 binary32) %1185)
%1245 = (*.f32 eta %1244)
%1247 = (pow.f32 %344 #s(literal 2 binary32))
%1248 = (*.f32 %135 %1247)
%1249 = (/.f32 %113 %1248)
%1250 = (*.f32 #s(literal -1/8 binary32) %1249)
%1253 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %1181 %1250)))
%1255 = (pow.f32 eta #s(literal 6 binary32))
%1256 = (pow.f32 %344 #s(literal 3 binary32))
%1263 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %1181 (fma.f32 #s(literal -1/8 binary32) %1249 (*.f32 #s(literal -1/16 binary32) (/.f32 %432 (*.f32 %1255 %1256)))))))
%1265 = (fabs.f32 %164)
%1266 = (*.f32 %62 %1265)
%1268 = (/.f32 %1131 %62)
%1269 = (+.f32 #s(literal 1 binary32) %1268)
%1274 = (/.f32 %113 %135)
%1276 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/8 binary32) %1274 %1268))
%1279 = (*.f32 eta %1269)
%1281 = (*.f32 eta %1276)
%1285 = (/.f32 %7 (*.f32 %62 (*.f32 h %344)))
%1287 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1285 %1067))
%1291 = (/.f32 %113 (*.f32 %135 (*.f32 h %1247)))
%1294 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1285 (fma.f32 #s(literal -1/8 binary32) %1291 %1067)))
%1302 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1285 (fma.f32 #s(literal -1/8 binary32) %1291 (fma.f32 #s(literal -1/16 binary32) (/.f32 %432 (*.f32 %1255 (*.f32 h %1256))) %1067))))
%1306 = (*.f32 %135 %1265)
%1310 = (/.f32 %7 %1306)
%1322 = (*.f32 h %1265)
%1332 = (/.f32 %227 %1172)
%1335 = (/.f32 (+.f32 h (*.f32 #s(literal 1/2 binary32) %1332)) eta)
%1337 = (*.f32 h %113)
%1338 = (/.f32 %1337 %1247)
%1340 = (fma.f32 #s(literal -1/4 binary32) %1338 (*.f32 #s(literal -1/8 binary32) %1338))
%1346 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 %1340 %135))) (*.f32 #s(literal -1/2 binary32) %1332)) eta)
%1357 = (/.f32 %1337 %1248)
%1362 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 h %432) %1256) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %1340) %344))) %1255))) (fma.f32 #s(literal -1/2 binary32) %1332 (fma.f32 #s(literal -1/4 binary32) %1357 (*.f32 #s(literal -1/8 binary32) %1357)))) eta)
%1364 = (*.f32 #s(literal 1/2 binary32) %1181)
%1366 = (/.f32 (+.f32 #s(literal 1 binary32) %1364) eta)
%1368 = (/.f32 %113 %1247)
%1370 = (fma.f32 #s(literal -1/4 binary32) %1368 (*.f32 #s(literal -1/8 binary32) %1368))
%1375 = (/.f32 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %1370 %135))) %1185) eta)
%1388 = (/.f32 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %432 %1256) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %1370) %344))) %1255))) (fma.f32 #s(literal -1/2 binary32) %1181 (fma.f32 #s(literal -1/4 binary32) %1249 %1250))) eta)
%1398 = (/.f32 #s(literal -1 binary32) eta)
%1399 = (fabs.f32 %1398)
%1400 = (*.f32 %62 %1399)
%1429 = (*.f32 %135 %1399)
%1435 = (/.f32 %7 %1429)
%1449 = (*.f32 h %1399)
(approx h #s(literal 0 binary32))
(approx sinTheta_O sinTheta_O)
(approx %5 %7)
(approx %10 #s(literal 1 binary32))
(approx %10 (+.f32 #s(literal 1 binary32) %14))
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 #s(literal -1/8 binary32) %7) #s(literal 1/2 binary32)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/16 binary32) %7) #s(literal 1/8 binary32))) #s(literal 1/2 binary32)))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/2 binary32) %7))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 3/8 binary32) %7))))))
(approx %38 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 %7 (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 5/16 binary32) %7))))))))
(approx %61 %62)
(approx %61 (fma.f32 #s(literal -1 binary32) %7 %62))
(approx %61 (fma.f32 %7 %66 %62))
(approx %61 (fma.f32 %7 %73 %62))
(approx %76 %77)
(approx %76 (+.f32 %77 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 %77))))
(approx %76 (+.f32 %77 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 %88 %77)) %92))))
(approx %76 (+.f32 %77 (*.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %100 %77) %103)) %92))))
(approx %111 %113)
(approx %118 %120)
(approx %123 #s(literal -1/2 binary32))
(approx %123 %125)
(approx %129 (fma.f32 #s(literal -1/2 binary32) %7 %62))
(approx %129 %132)
(approx %134 %135)
(approx %134 (fma.f32 #s(literal -1/2 binary32) %137 %135))
(approx %134 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 #s(literal -1/4 binary32) %137)) %135))
(approx %146 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 %7 %148)) %135))
(approx %155 eta)
(approx %155 (+.f32 eta (*.f32 #s(literal -1/2 binary32) %157)))
(approx %155 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal 1/8 binary32) %163 %165))) %169))))
(approx %174 %175)
(approx %174 (fma.f32 #s(literal -1/2 binary32) (/.f32 %7 %177) %175))
(approx %174 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 %88 %177)) %184) %175))
(approx %174 (fma.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %100 %177) (*.f32 #s(literal -1/2 binary32) (/.f32 %87 %177)))) %184) %175))
(approx %196 (fma.f32 #s(literal -1/2 binary32) %137 %62))
(approx %196 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 #s(literal -1/8 binary32) %137)) %62))
(approx %196 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %62 (*.f32 %7 (fma.f32 #s(literal -1/8 binary32) %62 (*.f32 #s(literal -1/16 binary32) %137)))) %62))
(approx %211 (/.f32 sinTheta_O %213))
(approx %216 %217)
(approx %219 (*.f32 #s(literal 1/2 binary32) %217))
(approx %224 %225)
(approx %224 (fma.f32 #s(literal 1/2 binary32) %228 %225))
(approx %232 (*.f32 #s(literal 1/2 binary32) %227))
(approx %237 %239)
(approx %237 (fma.f32 #s(literal 1/2 binary32) %242 %239))
(approx %245 %246)
(approx %245 (*.f32 %7 %249))
(approx %245 (*.f32 %7 %254))
(approx %245 (*.f32 %7 %260))
(approx %263 (/.f32 sinTheta_O %62))
(approx %263 (*.f32 sinTheta_O %249))
(approx %263 (*.f32 sinTheta_O %254))
(approx %263 (*.f32 sinTheta_O %260))
(approx %274 (+.f32 #s(literal 1 binary32) %275))
(approx %274 (+.f32 #s(literal 1 binary32) %280))
(approx %274 (+.f32 #s(literal 1 binary32) %289))
(approx %292 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 #s(literal -1/4 binary32) %157) %169))))
(approx %292 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %157) %165)) %169))))
(approx %307 %308)
(approx %307 (fma.f32 #s(literal 1/2 binary32) (/.f32 %227 %310) %308))
(approx %307 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 %320)) %324) %308))
(approx %307 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h %99) %310) (fma.f32 #s(literal -1/4 binary32) (/.f32 %314 %317) (*.f32 #s(literal 1/2 binary32) (/.f32 %320 %84)))))) %320)) %324) %308))
(approx (asin %307) (asin.f32 %348))
(approx %352 %275)
(approx %352 %280)
(approx %352 %289)
(approx %352 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -5/32 binary32) %246) (*.f32 #s(literal 3/16 binary32) %248))) %285)) %252)))
(approx %367 %91)
(approx %367 (fma.f32 #s(literal 1/2 binary32) (/.f32 %7 %310) %91))
(approx %367 (fma.f32 %7 (fma.f32 %7 %376 %378) %91))
(approx %367 (fma.f32 %7 (fma.f32 %7 (-.f32 (fma.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %99 %310) (fma.f32 #s(literal -1/2 binary32) (/.f32 %376 %84) (*.f32 #s(literal -1/4 binary32) (/.f32 %87 %317))))) %373) %375) %378) %91))
(approx %394 %14)
(approx %394 (*.f32 %7 %66))
(approx %394 (*.f32 %7 %73))
(approx %394 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -5/16 binary32) %7) #s(literal 3/8 binary32))) #s(literal 1/2 binary32))) #s(literal 1 binary32))))
(approx %10 (*.f32 %7 (-.f32 %409 #s(literal 1 binary32))))
(approx %17 %414)
(approx %17 %420)
(approx %17 %428)
(approx %17 %442)
(approx %38 %444)
(approx %38 %451)
(approx %38 %458)
(approx %38 %470)
(approx %61 (*.f32 #s(literal -1 binary32) %444))
(approx %61 (*.f32 sinTheta_O (-.f32 %474 %446)))
(approx %61 (*.f32 sinTheta_O (-.f32 (+.f32 %456 %474) %446)))
(approx %61 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/2 binary32) %448 %474) %462)))
(approx %76 %488)
(approx %76 (*.f32 sinTheta_O (+.f32 %487 (*.f32 #s(literal 1/2 binary32) %491))))
(approx %76 (*.f32 sinTheta_O (+.f32 %487 (fma.f32 #s(literal 1/2 binary32) %491 (/.f32 #s(literal 1/4 binary32) %498)))))
(approx %76 (*.f32 sinTheta_O (+.f32 %487 (fma.f32 #s(literal -1/8 binary32) (/.f32 %135 %505) (fma.f32 #s(literal 1/2 binary32) %491 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %498)))))))
(approx %123 (*.f32 #s(literal -1 binary32) (*.f32 %7 %515)))
(approx %129 (*.f32 #s(literal -1/4 binary32) %113))
(approx %129 (*.f32 #s(literal -1 binary32) (*.f32 %113 %515)))
(approx %129 (*.f32 %113 (-.f32 (/.f32 %62 %113) %515)))
(approx %134 (*.f32 #s(literal -1/4 binary32) (*.f32 %62 %113)))
(approx %134 (*.f32 %113 %532))
(approx %134 (*.f32 %113 %537))
(approx %146 %540)
(approx %146 (*.f32 %113 (-.f32 %532 #s(literal 1/8 binary32))))
(approx %146 (*.f32 %113 (-.f32 %537 #s(literal 1/8 binary32))))
(approx %155 (/.f32 %540 %162))
(approx %155 (*.f32 %113 (-.f32 %550 (fma.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %551) %553))))
(approx %155 (*.f32 %113 (-.f32 (+.f32 %550 (/.f32 eta %113)) (+.f32 (/.f32 #s(literal 1/2 binary32) %551) %553))))
(approx %578 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %113 %87) %77)))
(approx %578 (*.f32 %113 (-.f32 %103 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %583)))))
(approx %578 (*.f32 %113 (-.f32 (fma.f32 #s(literal -1/2 binary32) %102 (/.f32 %77 %113)) (/.f32 #s(literal 1/2 binary32) %583))))
(approx %174 (/.f32 %488 h))
(approx %174 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %598 %599)))
(approx %174 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %598 (+.f32 (/.f32 #s(literal 1/4 binary32) %603) %599))))
(approx %174 (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) (/.f32 %135 (*.f32 h %505)) (fma.f32 #s(literal 1/2 binary32) %598 (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %603) %599)))))
(approx %196 %617)
(approx %196 %622)
(approx %196 %626)
(approx %196 %631)
(approx %224 (*.f32 #s(literal 1/2 binary32) %228))
(approx %224 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 h %213) (/.f32 h %241))))
(approx %237 (*.f32 #s(literal 1/2 binary32) %242))
(approx %237 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) %238 (/.f32 %239 %7))))
(approx %245 %646)
(approx %245 %653)
(approx %245 %660)
(approx %245 %670)
(approx %263 %648)
(approx %263 %652)
(approx %263 %659)
(approx %263 %669)
(approx %274 (*.f32 #s(literal -1/2 binary32) %646))
(approx %274 (*.f32 sinTheta_O (-.f32 %678 %679)))
(approx %274 (*.f32 sinTheta_O (-.f32 (+.f32 %683 %678) %679)))
(approx %274 (*.f32 sinTheta_O (-.f32 (+.f32 %678 %688) %691)))
(approx %292 (*.f32 #s(literal -1/2 binary32) %696))
(approx %292 (*.f32 sinTheta_O (-.f32 %699 %701)))
(approx %292 (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %705) %699) %701)))
(approx %292 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %705) %699) (fma.f32 #s(literal 1/2 binary32) %700 (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %453)))))))
(approx %307 (/.f32 h %488))
(approx %307 (/.f32 (fma.f32 #s(literal -1/2 binary32) %724 %725) sinTheta_O))
(approx %307 (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %731 %725) %733) sinTheta_O))
(approx %307 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %739 (*.f32 #s(literal -1/8 binary32) %739)) %113) %725) (fma.f32 #s(literal 1/4 binary32) %731 %733)) sinTheta_O))
(approx %352 %749)
(approx %352 %754)
(approx %352 %760)
(approx %367 (/.f32 #s(literal 1 binary32) %488))
(approx %367 (/.f32 (fma.f32 #s(literal -1/2 binary32) %764 %765) sinTheta_O))
(approx %367 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %504) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 sinTheta_O %729)))) %7) %765) sinTheta_O))
(approx %367 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %778 (*.f32 #s(literal -1/8 binary32) %778)) %113) %765) (fma.f32 #s(literal 1/2 binary32) %764 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %730)))) sinTheta_O))
(approx %394 %790)
(approx %394 %793)
(approx %394 %796)
(approx %17 (*.f32 #s(literal -1 binary32) %414))
(approx %17 (*.f32 #s(literal -1 binary32) %420))
(approx %17 (*.f32 #s(literal -1 binary32) %428))
(approx %17 (*.f32 #s(literal -1 binary32) %442))
(approx %38 (*.f32 #s(literal -1 binary32) %451))
(approx %38 (*.f32 #s(literal -1 binary32) %458))
(approx %38 (*.f32 #s(literal -1 binary32) %470))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %474) %446))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %62 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %817))) sinTheta_O)) %446))))
(approx %61 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %424)) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %829))) sinTheta_O) %62) sinTheta_O)) %446))))
(approx %76 (*.f32 #s(literal -1 binary32) %843))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %849)))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %849 (/.f32 #s(literal 1/4 binary32) %854)))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (+.f32 %842 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %135 %861) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %853))) %496) %848)))))
(approx %174 (*.f32 #s(literal -1 binary32) (/.f32 %843 h)))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %878)))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %878 (/.f32 #s(literal 1/4 binary32) (*.f32 h %854))))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %135 (*.f32 h %861)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 h %853)))) %496) %878))))
(approx %196 (*.f32 #s(literal -1 binary32) %617))
(approx %196 (*.f32 #s(literal -1 binary32) %622))
(approx %196 (*.f32 #s(literal -1 binary32) %626))
(approx %196 (*.f32 #s(literal -1 binary32) %631))
(approx %245 (*.f32 #s(literal -1 binary32) %646))
(approx %245 (*.f32 #s(literal -1 binary32) %653))
(approx %245 (*.f32 #s(literal -1 binary32) %660))
(approx %245 (*.f32 #s(literal -1 binary32) %670))
(approx %263 (/.f32 #s(literal -1 binary32) %620))
(approx %263 (-.f32 %651 %648))
(approx %263 (-.f32 %658 %657))
(approx %263 (-.f32 %668 %664))
(approx %274 (*.f32 #s(literal 1/2 binary32) %646))
(approx %274 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %648 %678)))
(approx %274 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %817)))) sinTheta_O)) %679))))
(approx %274 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %424))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %62 %829)))) sinTheta_O))) sinTheta_O)) %679))))
(approx %292 (*.f32 #s(literal 1/2 binary32) %696))
(approx %292 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %699) %701))))
(approx %292 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 eta (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %817)))) sinTheta_O)) %701))))
(approx %292 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 eta (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %424))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %829)))) sinTheta_O))) sinTheta_O)) %701))))
(approx %307 (*.f32 #s(literal -1 binary32) (/.f32 h %843)))
(approx %307 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %991 %992) sinTheta_O)))
(approx %307 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 h %998) %992) %1001) sinTheta_O)))
(approx %307 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %1008 (*.f32 #s(literal -1/8 binary32) %1008)) (*.f32 #s(literal 1/4 binary32) (/.f32 h %997))) %496) %992) %1001) sinTheta_O)))
(approx %352 (*.f32 #s(literal -1 binary32) %749))
(approx %352 (*.f32 #s(literal -1 binary32) %754))
(approx %352 (*.f32 #s(literal -1 binary32) %760))
(approx %367 (/.f32 #s(literal -1 binary32) %843))
(approx %367 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1028 %1029) sinTheta_O)))
(approx %367 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %998) %1029) %1036) sinTheta_O)))
(approx %367 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %1041 (*.f32 #s(literal -1/8 binary32) %1041)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %997))) %496) %1029) %1036) sinTheta_O)))
(approx %394 (*.f32 #s(literal -1 binary32) %790))
(approx %394 (*.f32 #s(literal -1 binary32) %793))
(approx %394 (*.f32 #s(literal -1 binary32) %796))
(approx h h)
(approx %231 (*.f32 #s(literal 1/2 binary32) h))
(approx (/ eta h) %1063)
(approx %174 (/.f32 %347 h))
(approx %305 %1067)
(approx %224 (*.f32 h (fma.f32 #s(literal 1/2 binary32) %217 %1069)))
(approx %237 %1074)
(approx %1077 (/.f32 %1074 %1079))
(approx (* h %1082) %1084)
(approx %307 %348)
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 h (-.f32 (*.f32 #s(literal -1/2 binary32) %217) %1069))))
(approx %237 (*.f32 #s(literal -1 binary32) %1094))
(approx %1077 (*.f32 #s(literal -1 binary32) (/.f32 %1094 %1079)))
(approx %61 (*.f32 #s(literal -1 binary32) %345))
(approx %61 %346)
(approx %76 %1104)
(approx %76 (+.f32 %1104 (*.f32 #s(literal 1/2 binary32) (/.f32 %62 %1104))))
(approx %76 (+.f32 %1104 (*.f32 %62 (fma.f32 #s(literal -1/8 binary32) %1111 %1113))))
(approx %76 (+.f32 %1104 (*.f32 %62 (fma.f32 %62 (-.f32 (*.f32 #s(literal 1/16 binary32) %1119) (*.f32 #s(literal 1/8 binary32) %1121)) %1113))))
(approx %209 %212)
(approx %1082 %164)
(approx %154 %162)
(approx %129 %1131)
(approx %134 %1133)
(approx %134 %1135)
(approx %146 (*.f32 #s(literal -1/8 binary32) %113))
(approx %146 %1139)
(approx %146 %1141)
(approx %155 (*.f32 #s(literal -1/8 binary32) (/.f32 %113 %162)))
(approx %155 (/.f32 %1139 %162))
(approx %155 (/.f32 %1141 %162))
(approx %174 %1150)
(approx %174 (fma.f32 #s(literal 1/2 binary32) (/.f32 %62 %1152) %1150))
(approx %174 (fma.f32 %62 (fma.f32 #s(literal -1/8 binary32) (/.f32 %62 %1156) %1159) %1150))
(approx %174 (fma.f32 %62 (fma.f32 %62 (-.f32 (*.f32 #s(literal 1/16 binary32) (/.f32 %62 (*.f32 h %1118))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %1156))) %1159) %1150))
(approx %196 %1172)
(approx %210 %213)
(approx %224 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %227 %212) (/.f32 %722 %212)) %62))
(approx %1076 %1079)
(approx %245 %1181)
(approx %263 (/.f32 sinTheta_O %1172))
(approx %274 %1185)
(approx %274 (/.f32 %1187 %62))
(approx %292 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 (*.f32 eta %344))))
(approx %292 (/.f32 %1187 eta))
(approx %307 %1196)
(approx %307 (fma.f32 #s(literal -1/2 binary32) (/.f32 %722 %1110) %1196))
(approx %307 (fma.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 %1203)) %1207) %1196))
(approx %307 (fma.f32 %62 (-.f32 (*.f32 %62 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %62 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1203 (pow.f32 %1104 #s(literal 2 binary32))) (*.f32 #s(literal 1/8 binary32) (/.f32 h %1213))))) %1203)) %1207) %1196))
(approx %367 %1112)
(approx %367 (fma.f32 #s(literal -1/2 binary32) %1111 %1112))
(approx %367 (fma.f32 %62 (-.f32 (*.f32 #s(literal 3/8 binary32) %1119) %1228) %1112))
(approx %367 (fma.f32 %62 (-.f32 (*.f32 %62 (fma.f32 #s(literal -5/16 binary32) (/.f32 %62 %1213) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %1118)))) %1228) %1112))
(approx %61 (*.f32 %62 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %1181))))
(approx %76 %1245)
(approx %76 %1253)
(approx %76 %1263)
(approx %209 %1266)
(approx %129 (*.f32 %62 %1269))
(approx %134 (*.f32 %135 %1269))
(approx %146 (*.f32 %135 %1276))
(approx %155 %1279)
(approx %155 %1281)
(approx %174 %1287)
(approx %174 %1294)
(approx %174 %1302)
(approx %223 (/.f32 h %1266))
(approx %210 %1306)
(approx %211 (/.f32 sinTheta_O %1306))
(approx %216 %1310)
(approx %219 (*.f32 #s(literal 1/2 binary32) %1310))
(approx %224 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %227 %1266) (/.f32 h %1265)) %62))
(approx %1076 (*.f32 %1255 (pow.f32 %1265 #s(literal 2 binary32))))
(approx %236 (*.f32 %135 %1322))
(approx %237 (*.f32 %135 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 h (*.f32 %7 %1265)) %62) %1322)))
(approx %274 %1244)
(approx %307 %1335)
(approx %307 %1346)
(approx %307 %1362)
(approx %367 %1366)
(approx %367 %1375)
(approx %367 %1388)
(approx %76 (*.f32 #s(literal -1 binary32) eta))
(approx %76 (*.f32 #s(literal -1 binary32) %1245))
(approx %76 (*.f32 #s(literal -1 binary32) %1253))
(approx %76 (*.f32 #s(literal -1 binary32) %1263))
(approx %209 (*.f32 #s(literal -1 binary32) %1400))
(approx %155 (*.f32 #s(literal -1 binary32) (*.f32 eta (-.f32 (*.f32 #s(literal -1 binary32) %1268) #s(literal 1 binary32)))))
(approx %155 (*.f32 #s(literal -1 binary32) (*.f32 eta (-.f32 (fma.f32 #s(literal -1 binary32) %1268 (*.f32 #s(literal 1/8 binary32) %1274)) #s(literal 1 binary32)))))
(approx %578 (*.f32 #s(literal -1 binary32) %1279))
(approx %578 (*.f32 #s(literal -1 binary32) %1281))
(approx %174 (*.f32 #s(literal -1 binary32) %1063))
(approx %174 (*.f32 #s(literal -1 binary32) %1287))
(approx %174 (*.f32 #s(literal -1 binary32) %1294))
(approx %174 (*.f32 #s(literal -1 binary32) %1302))
(approx %223 (*.f32 #s(literal -1 binary32) (/.f32 h %1400)))
(approx %210 (*.f32 #s(literal -1 binary32) %1429))
(approx %211 (*.f32 #s(literal -1 binary32) (/.f32 sinTheta_O %1429)))
(approx %216 (*.f32 #s(literal -1 binary32) %1435))
(approx %219 (*.f32 #s(literal -1/2 binary32) %1435))
(approx %224 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 h %1399) (*.f32 #s(literal -1/2 binary32) (/.f32 %227 %1400))) %62))
(approx %1076 (*.f32 %1255 (pow.f32 %1399 #s(literal 2 binary32))))
(approx %236 (*.f32 #s(literal -1 binary32) (*.f32 %135 %1449)))
(approx %237 (*.f32 %135 (fma.f32 #s(literal -1 binary32) %1449 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h (*.f32 %7 %1399)) %62)))))
(approx %292 (*.f32 #s(literal -1 binary32) (*.f32 eta (-.f32 %1364 #s(literal 1 binary32)))))
(approx %307 (*.f32 #s(literal -1 binary32) %1084))
(approx %307 (*.f32 #s(literal -1 binary32) %1335))
(approx %307 (*.f32 #s(literal -1 binary32) %1346))
(approx %307 (*.f32 #s(literal -1 binary32) %1362))
(approx %367 %1398)
(approx %367 (*.f32 #s(literal -1 binary32) %1366))
(approx %367 (*.f32 #s(literal -1 binary32) %1375))
(approx %367 (*.f32 #s(literal -1 binary32) %1388))
Calls

9 calls:

TimeVariablePoint
60.0ms
eta
inf
38.0ms
eta
-inf
22.0ms
sinTheta_O
inf
21.0ms
eta
0
13.0ms
sinTheta_O
0

rewrite2.0s (6.9%)

Counts
92 → 1 000
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%8 = (/.f32 %4 %7)
%9 = (-.f32 %2 %8)
%10 = (sqrt.f32 %9)
%12 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%14 = (* sinTheta_O sinTheta_O)
%15 = (- 1 %14)
%16 = (approx %15 #s(literal 1 binary32))
%20 = (pow.f32 eta #s(literal 2 binary32))
%24 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%25 = (*.f32 #s(literal 1/2 binary32) h)
%26 = (fabs.f32 eta)
%27 = (sqrt.f32 %16)
%28 = (/.f32 %4 %27)
%29 = (-.f32 %2 %28)
%30 = (sqrt.f32 %29)
%31 = (/.f32 #s(literal 1 binary32) eta)
%32 = (pow.f32 eta #s(literal 3 binary32))
%33 = (*.f32 #s(literal -1/4 binary32) %12)
%34 = (-.f32 %33 #s(literal 1/2 binary32))
%35 = (fma.f32 %12 %34 %20)
%36 = (*.f32 %20 %35)
%37 = (fma.f32 #s(literal -1/8 binary32) %24 %36)
%38 = (/.f32 %37 %32)
%41 = (sqrt (pow eta 2))
%42 = (pow sinTheta_O 2)
%58 = (approx (+ %41 (* %42 (- (* -1/2 (/ (* %42 (+ 1/2 (* 1/4 (/ 1 (pow %41 2))))) %41)) (* 1/2 (/ 1 %41))))) %38)
%59 = (/.f32 eta h)
%64 = (sqrt (- (* eta eta) (/ %14 (sqrt %15))))
%66 = (approx (/ %64 h) %59)
%67 = (/.f32 #s(literal 1 binary32) h)
%68 = (*.f32 %2 %7)
%69 = (/.f32 h %26)
%70 = (*.f32 %26 %2)
%71 = (/.f32 sinTheta_O %70)
%72 = (*.f32 sinTheta_O %71)
%73 = (*.f32 %72 #s(literal 1/2 binary32))
%74 = (fma.f32 h %73 %69)
%75 = (*.f32 %25 %4)
%76 = (*.f32 %70 %26)
%77 = (*.f32 h %70)
%78 = (fma.f32 %75 %26 %77)
%79 = (/.f32 %78 %76)
%80 = (/.f32 %4 %68)
%81 = (/.f32 sinTheta_O %68)
%82 = (*.f32 sinTheta_O %81)
%83 = (fma.f32 %80 #s(literal -1/2 binary32) #s(literal 1 binary32))
%84 = (*.f32 eta %83)
%85 = (*.f32 h %31)
%86 = (*.f32 %10 %67)
%87 = (/.f32 #s(literal 1 binary32) %86)
%89 = (/.f32 #s(literal 1 binary32) %66)
%91 = (*.f32 #s(literal -1/2 binary32) %82)
%92 = (+.f32 #s(literal 1 binary32) %91)
%93 = (*.f32 eta %92)
%94 = (approx %64 %93)
%95 = (/.f32 h %94)
%97 = (/ h %64)
%98 = (approx %97 %74)
%100 = (approx %97 %79)
%102 = (/.f32 #s(literal 1 binary32) %30)
%103 = (*.f32 h %102)
%105 = (/.f32 %30 h)
%106 = (/.f32 #s(literal 1 binary32) %105)
%108 = (neg.f32 %28)
%109 = (fma.f32 eta eta %108)
%110 = (sqrt.f32 %109)
%111 = (/.f32 h %110)
%113 = (approx %64 %84)
%114 = (/.f32 h %113)
%116 = (approx %64 %58)
%117 = (/.f32 h %116)
%119 = (approx %97 %85)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%8
%9
%10
#s(literal 2 binary32)
%12
%16
#s(literal -1/2 binary32)
#s(literal -1/8 binary32)
#s(literal 1/2 binary32)
%20
#s(literal 3 binary32)
#s(literal -1/4 binary32)
#s(literal 4 binary32)
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%36
%37
%38
%58
%59
%66
%67
%68
%69
%70
%71
%72
%73
%74
%75
%76
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
(asin.f32 %87)
%89
(asin.f32 %89)
%91
%92
%93
%94
%95
(asin.f32 %95)
%98
(asin.f32 %98)
%100
(asin.f32 %100)
%102
%103
(asin.f32 %103)
%105
%106
(asin.f32 %106)
%108
%109
%110
%111
(asin.f32 %111)
%113
%114
(asin.f32 %114)
%116
%117
(asin.f32 %117)
%119
(asin.f32 %119)
Outputs
%5 = (*.f32 h #s(literal 2 binary32))
%12 = (*.f32 #s(literal 1/2 binary32) eta)
%14 = (*.f32 eta #s(literal 2 binary32))
%17 = (*.f32 #s(literal 2 binary32) eta)
%19 = (*.f32 eta eta)
%20 = (fabs.f32 %19)
%21 = (neg.f32 eta)
%22 = (*.f32 %21 eta)
%23 = (fabs.f32 %22)
%24 = (fabs.f32 eta)
%25 = (*.f32 %24 eta)
%26 = (fabs.f32 %25)
%27 = (*.f32 %24 %24)
%28 = (*.f32 %21 %21)
%29 = (neg.f32 %22)
%30 = (*.f32 %21 %24)
%31 = (fabs.f32 %30)
%32 = (*.f32 %24 %21)
%33 = (fabs.f32 %32)
%34 = (neg.f32 %21)
%35 = (*.f32 %34 %34)
%36 = (neg.f32 %24)
%37 = (*.f32 %36 %36)
%38 = (*.f32 %19 %19)
%39 = (sqrt.f32 %38)
%40 = (pow.f32 eta #s(literal 2 binary32))
%41 = (pow.f32 %24 #s(literal 2 binary32))
%42 = (pow.f32 %21 #s(literal 2 binary32))
%43 = (pow.f32 eta #s(literal 1 binary32))
%44 = (*.f32 %43 eta)
%45 = (pow.f32 %19 #s(literal 1 binary32))
%46 = (pow.f32 %24 #s(literal 1 binary32))
%47 = (*.f32 %46 %24)
%48 = (pow.f32 %38 #s(literal 1/2 binary32))
%50 = (*.f32 sinTheta_O sinTheta_O)
%51 = (fabs.f32 %50)
%52 = (neg.f32 sinTheta_O)
%53 = (*.f32 %52 %52)
%54 = (fabs.f32 sinTheta_O)
%55 = (*.f32 %54 %54)
%56 = (*.f32 %52 sinTheta_O)
%57 = (neg.f32 %56)
%58 = (neg.f32 %52)
%59 = (*.f32 %58 %58)
%60 = (neg.f32 %54)
%61 = (*.f32 %60 %60)
%62 = (fabs.f32 %54)
%63 = (*.f32 %62 %62)
%64 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%65 = (pow.f32 %52 #s(literal 2 binary32))
%66 = (pow.f32 %54 #s(literal 2 binary32))
%68 = (*.f32 (pow.f32 sinTheta_O #s(literal 1 binary32)) sinTheta_O)
%93 = (-.f32 #s(literal 1 binary32) %50)
%109 = (sqrt.f32 %93)
%111 = (neg.f32 %109)
%113 = (/.f32 #s(literal 1 binary32) %109)
%118 = (asin.f32 sinTheta_O)
%134 = (PI.f32 )
%135 = (*.f32 %134 #s(literal 1/2 binary32))
%138 = (/.f32 %50 %109)
%139 = (/.f32 sinTheta_O %109)
%145 = (/.f32 %52 %109)
%147 = (/.f32 %54 %109)
%149 = (neg.f32 %138)
%151 = (*.f32 %50 #s(literal 1 binary32))
%161 = (/.f32 #s(literal 1 binary32) %111)
%165 = (-.f32 %19 %138)
%187 = (*.f32 %19 %109)
%188 = (-.f32 %187 %50)
%194 = (*.f32 %22 %109)
%204 = (sqrt.f32 %165)
%206 = (neg.f32 %204)
%210 = (*.f32 %204 #s(literal 2 binary32))
%213 = (/.f32 #s(literal 1 binary32) %204)
%235 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%236 = (*.f32 %235 %235)
%239 = (* sinTheta_O sinTheta_O)
%241 = (approx (- 1 %239) #s(literal 1 binary32))
%271 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%273 = (*.f32 #s(literal 1/2 binary32) h)
%284 = (/.f32 #s(literal 1 binary32) %24)
%286 = (sqrt.f32 %24)
%289 = (sqrt.f32 %241)
%290 = (/.f32 %50 %289)
%291 = (-.f32 %19 %290)
%292 = (sqrt.f32 %291)
%293 = (/.f32 #s(literal 1 binary32) eta)
%298 = (/.f32 #s(literal 1 binary32) %21)
%319 = (*.f32 %19 eta)
%325 = (*.f32 sinTheta_O #s(literal -1/4 binary32))
%328 = (*.f32 #s(literal -1/4 binary32) %50)
%329 = (*.f32 #s(literal -1/4 binary32) sinTheta_O)
%335 = (*.f32 %52 #s(literal -1/4 binary32))
%337 = (*.f32 %54 #s(literal -1/4 binary32))
%339 = (*.f32 #s(literal -1/4 binary32) %52)
%341 = (*.f32 #s(literal -1/4 binary32) %54)
%346 = (fma.f32 %329 sinTheta_O #s(literal -1/2 binary32))
%350 = (-.f32 #s(literal 1/2 binary32) %328)
%361 = (*.f32 %346 %50)
%363 = (fma.f32 %50 %346 %19)
%392 = (*.f32 eta %363)
%394 = (*.f32 %19 %363)
%396 = (*.f32 %363 eta)
%398 = (*.f32 %24 %363)
%400 = (*.f32 %21 %363)
%402 = (*.f32 %363 %21)
%404 = (*.f32 %363 %24)
%406 = (*.f32 %19 %50)
%407 = (*.f32 %406 %346)
%409 = (*.f32 eta %361)
%413 = (*.f32 %346 %19)
%416 = (*.f32 %50 %19)
%420 = (*.f32 %19 %346)
%422 = (*.f32 %361 eta)
%426 = (neg.f32 %38)
%430 = (*.f32 %24 %19)
%432 = (*.f32 %24 %361)
%435 = (*.f32 %21 %19)
%437 = (*.f32 %21 %361)
%442 = (*.f32 %361 %21)
%444 = (*.f32 %361 %24)
%448 = (*.f32 %271 #s(literal -1/8 binary32))
%451 = (fma.f32 #s(literal -1/8 binary32) %271 %394)
%465 = (*.f32 %22 %363)
%467 = (neg.f32 %465)
%474 = (neg.f32 %451)
%477 = (fma.f32 eta %319 %448)
%493 = (/.f32 %451 %319)
%507 = (/.f32 #s(literal 1 binary32) %319)
%517 = (/.f32 %271 %319)
%518 = (*.f32 #s(literal -1/8 binary32) %517)
%520 = (/.f32 %19 %319)
%521 = (*.f32 %363 %520)
%528 = (/.f32 #s(literal -1/8 binary32) eta)
%529 = (/.f32 %271 %19)
%531 = (/.f32 %19 eta)
%532 = (/.f32 %363 %19)
%534 = (/.f32 %19 %19)
%535 = (/.f32 %363 eta)
%538 = (/.f32 %271 eta)
%539 = (/.f32 #s(literal -1/8 binary32) %19)
%554 = (*.f32 %319 %319)
%559 = (fabs eta)
%563 = (* eta eta)
%572 = (approx (+ %559 (* %239 (/ (- (* -1/2 (* %239 (+ 1/2 (/ 1/4 %563)))) 1/2) %559))) %493)
%573 = (/.f32 eta h)
%574 = (neg.f32 h)
%580 = (/.f32 #s(literal 1 binary32) h)
%583 = (/.f32 h eta)
%585 = (neg.f32 %574)
%589 = (/.f32 #s(literal 1 binary32) %574)
%595 = (sqrt (- %563 (* sinTheta_O (sinh (atanh sinTheta_O)))))
%597 = (approx (/ %595 h) %573)
%603 = (*.f32 #s(literal 2 binary32) h)
%611 = (*.f32 #s(literal 2 binary32) %574)
%618 = (*.f32 #s(literal 2 binary32) %580)
%623 = (*.f32 %109 eta)
%635 = (/.f32 h %24)
%637 = (neg.f32 %635)
%645 = (*.f32 h #s(literal -1 binary32))
%647 = (/.f32 #s(literal 1 binary32) %36)
%659 = (/.f32 sinTheta_O %430)
%660 = (/.f32 sinTheta_O %19)
%662 = (/.f32 sinTheta_O %24)
%664 = (/.f32 sinTheta_O %25)
%668 = (*.f32 %22 %24)
%670 = (/.f32 %52 %430)
%676 = (*.f32 sinTheta_O #s(literal 1 binary32))
%678 = (/.f32 #s(literal 1 binary32) %430)
%696 = (*.f32 sinTheta_O %659)
%698 = (/.f32 %50 %19)
%710 = (/.f32 sinTheta_O eta)
%716 = (/.f32 %52 %19)
%717 = (/.f32 %52 %24)
%720 = (/.f32 %54 %19)
%721 = (/.f32 %54 %24)
%725 = (/.f32 %52 eta)
%728 = (/.f32 %54 eta)
%733 = (*.f32 #s(literal 1/2 binary32) sinTheta_O)
%734 = (*.f32 %733 sinTheta_O)
%736 = (*.f32 #s(literal 1/2 binary32) %659)
%741 = (*.f32 %696 #s(literal 1/2 binary32))
%753 = (fma.f32 h %741 %635)
%754 = (*.f32 h sinTheta_O)
%755 = (*.f32 %754 %659)
%764 = (*.f32 %273 %696)
%785 = (*.f32 #s(literal 1/2 binary32) %24)
%786 = (fma.f32 %755 %785 h)
%799 = (*.f32 %273 sinTheta_O)
%803 = (*.f32 %754 sinTheta_O)
%805 = (*.f32 %273 %50)
%836 = (*.f32 h %430)
%837 = (*.f32 %24 h)
%839 = (*.f32 %19 h)
%842 = (*.f32 eta h)
%845 = (*.f32 h %19)
%847 = (*.f32 %837 eta)
%849 = (*.f32 h %25)
%851 = (*.f32 %837 %21)
%853 = (*.f32 %837 %24)
%855 = (*.f32 %50 %24)
%856 = (*.f32 %855 %273)
%858 = (*.f32 #s(literal 1/2 binary32) %855)
%861 = (*.f32 %273 %24)
%863 = (*.f32 %803 %24)
%865 = (*.f32 h %855)
%871 = (fma.f32 %805 %24 %836)
%873 = (*.f32 sinTheta_O %24)
%876 = (*.f32 %24 #s(literal 1/2 binary32))
%878 = (*.f32 %24 %273)
%884 = (*.f32 %24 %799)
%899 = (*.f32 (*.f32 %574 %24) %19)
%901 = (*.f32 %585 %430)
%903 = (neg.f32 %899)
%929 = (neg.f32 %871)
%934 = (+.f32 h (/.f32 %856 %430))
%935 = (/.f32 %934 %24)
%953 = (/.f32 #s(literal 1 binary32) %38)
%963 = (/.f32 %24 %38)
%964 = (*.f32 %805 %963)
%967 = (/.f32 %19 %38)
%968 = (*.f32 %837 %967)
%982 = (/.f32 %430 %430)
%987 = (/.f32 %24 %24)
%988 = (/.f32 %805 %430)
%997 = (/.f32 %805 %24)
%998 = (/.f32 %24 %430)
%1001 = (/.f32 %430 %24)
%1002 = (/.f32 h %430)
%1015 = (*.f32 %38 %38)
%1020 = (/.f32 %50 %187)
%1021 = (/.f32 sinTheta_O %187)
%1022 = (*.f32 sinTheta_O %1021)
%1023 = (*.f32 %1021 sinTheta_O)
%1024 = (/.f32 %138 %19)
%1025 = (/.f32 %698 %109)
%1026 = (/.f32 %50 eta)
%1027 = (/.f32 %1026 %623)
%1029 = (/.f32 (*.f32 %660 sinTheta_O) %109)
%1031 = (*.f32 %710 (/.f32 sinTheta_O %623))
%1032 = (*.f32 %660 %139)
%1033 = (*.f32 %139 %660)
%1034 = (neg.f32 %194)
%1035 = (/.f32 %50 %1034)
%1036 = (/.f32 %56 %194)
%1037 = (/.f32 %52 %187)
%1038 = (*.f32 %52 %1037)
%1040 = (*.f32 %54 (/.f32 %54 %187))
%1042 = (neg.f32 (/.f32 %56 %187))
%1044 = (neg.f32 (/.f32 %50 %194))
%1046 = (/.f32 (neg.f32 %698) %111)
%1048 = (*.f32 %725 (/.f32 %52 %623))
%1049 = (*.f32 %716 %145)
%1051 = (*.f32 %728 (/.f32 %54 %623))
%1052 = (*.f32 %720 %147)
%1053 = (*.f32 %145 %716)
%1054 = (*.f32 %147 %720)
%1055 = (/.f32 %151 %187)
%1056 = (/.f32 #s(literal 1 binary32) %187)
%1057 = (*.f32 %50 %1056)
%1058 = (*.f32 %1056 %50)
%1060 = (/.f32 #s(literal 1 binary32) (/.f32 %187 %50))
%1061 = (*.f32 %698 %113)
%1063 = (/.f32 #s(literal 1 binary32) (/.f32 %109 %698))
%1065 = (*.f32 %52 (*.f32 %52 %1056))
%1067 = (*.f32 %54 (*.f32 %54 %1056))
%1068 = (/.f32 #s(literal 1 binary32) %194)
%1069 = (*.f32 %56 %1068)
%1071 = (/.f32 #s(literal 1 binary32) (/.f32 %194 %56))
%1093 = (*.f32 %1021 #s(literal -1/2 binary32))
%1094 = (fma.f32 sinTheta_O %1093 #s(literal 1 binary32))
%1095 = (/.f32 #s(literal -1/2 binary32) %187)
%1096 = (fma.f32 %50 %1095 #s(literal 1 binary32))
%1097 = (fma.f32 #s(literal -1/2 binary32) %1020 #s(literal 1 binary32))
%1098 = (fma.f32 %1020 #s(literal -1/2 binary32) #s(literal 1 binary32))
%1099 = (*.f32 sinTheta_O #s(literal -1/2 binary32))
%1100 = (fma.f32 %1021 %1099 #s(literal 1 binary32))
%1101 = (fma.f32 %1099 %1021 #s(literal 1 binary32))
%1102 = (*.f32 #s(literal -1/2 binary32) %1021)
%1103 = (fma.f32 %1102 sinTheta_O #s(literal 1 binary32))
%1104 = (*.f32 #s(literal -1/2 binary32) %1020)
%1105 = (+.f32 #s(literal 1 binary32) %1104)
%1106 = (+.f32 %1104 #s(literal 1 binary32))
%1107 = (*.f32 #s(literal 1/2 binary32) %1020)
%1108 = (-.f32 #s(literal 1 binary32) %1107)
%1109 = (-.f32 %1104 #s(literal -1 binary32))
%1110 = (/.f32 #s(literal -1/2 binary32) %19)
%1111 = (fma.f32 %138 %1110 #s(literal 1 binary32))
%1112 = (/.f32 #s(literal -1/2 binary32) %109)
%1113 = (fma.f32 %698 %1112 #s(literal 1 binary32))
%1114 = (*.f32 %139 #s(literal -1/2 binary32))
%1115 = (fma.f32 %660 %1114 #s(literal 1 binary32))
%1116 = (/.f32 #s(literal -1/2 binary32) %623)
%1117 = (fma.f32 %1026 %1116 #s(literal 1 binary32))
%1118 = (*.f32 #s(literal -1/2 binary32) %660)
%1119 = (fma.f32 %1118 %139 #s(literal 1 binary32))
%1121 = (neg.f32 (-.f32 %1107 #s(literal 1 binary32)))
%1123 = (neg.f32 (-.f32 #s(literal -1 binary32) %1104))
%1124 = (*.f32 %1056 #s(literal -1/2 binary32))
%1125 = (fma.f32 %50 %1124 #s(literal 1 binary32))
%1126 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %1104)
%1127 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %1104)
%1128 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %1104)
%1129 = (*.f32 %1099 sinTheta_O)
%1130 = (fma.f32 %1129 %1056 #s(literal 1 binary32))
%1131 = (*.f32 %50 #s(literal -1/2 binary32))
%1132 = (fma.f32 %1131 %1056 #s(literal 1 binary32))
%1134 = (/.f32 (fma.f32 %1104 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
%1136 = (/.f32 (fma.f32 #s(literal 1 binary32) %187 %1131) %187)
%1139 = (*.f32 #s(literal 2 binary32) %187)
%1140 = (/.f32 (fma.f32 #s(literal 2 binary32) %187 (*.f32 #s(literal 2 binary32) %1131)) %1139)
%1143 = (/.f32 (fma.f32 #s(literal 2 binary32) %187 (*.f32 %1131 #s(literal 2 binary32))) %1139)
%1144 = (*.f32 %187 #s(literal 2 binary32))
%1146 = (/.f32 (fma.f32 %1131 #s(literal 2 binary32) %1144) %1144)
%1148 = (/.f32 (fma.f32 %1131 #s(literal 2 binary32) %1139) %1144)
%1149 = (fma.f32 eta %1104 eta)
%1151 = (fma.f32 #s(literal -1/2 binary32) (*.f32 %1020 eta) eta)
%1153 = (fma.f32 %1020 (*.f32 #s(literal -1/2 binary32) eta) eta)
%1154 = (fma.f32 %1104 eta eta)
%1156 = (fma.f32 %1099 (*.f32 %1021 eta) eta)
%1157 = (*.f32 eta #s(literal -1/2 binary32))
%1158 = (fma.f32 %1157 %1020 eta)
%1160 = (fma.f32 (*.f32 eta %1099) %1021 eta)
%1162 = (fma.f32 (*.f32 eta %1020) #s(literal -1/2 binary32) eta)
%1163 = (*.f32 eta %1098)
%1164 = (*.f32 %1098 eta)
%1165 = (*.f32 %1157 %1020)
%1166 = (+.f32 eta %1165)
%1167 = (+.f32 %1165 eta)
%1169 = (-.f32 eta (*.f32 %1107 eta))
%1171 = (-.f32 eta (*.f32 %21 %1104))
%1173 = (-.f32 eta (neg.f32 %1165))
%1174 = (-.f32 %1165 %21)
%1175 = (fma.f32 eta #s(literal 1 binary32) %1165)
%1176 = (fma.f32 #s(literal 1 binary32) eta %1165)
%1178 = (-.f32 %1165 (*.f32 #s(literal -1 binary32) eta))
%1180 = (-.f32 %1165 (*.f32 %21 #s(literal 1 binary32)))
%1181 = (fma.f32 #s(literal 2 binary32) %12 %1165)
%1182 = (fma.f32 %14 #s(literal 1/2 binary32) %1165)
%1188 = (*.f32 #s(literal -1 binary32) h)
%1191 = (/.f32 %204 h)
%1193 = (neg.f32 %1191)
%1198 = (/.f32 h %204)
%1200 = (neg.f32 %206)
%1225 = (/.f32 #s(literal 1 binary32) %206)
%1228 = (/.f32 #s(literal 1 binary32) %1193)
%1240 = (/.f32 %213 #s(literal 1 binary32))
%1244 = (/.f32 #s(literal 1 binary32) %580)
%1275 = (acos.f32 %1198)
%1277 = (neg.f32 %1275)
%1282 = (/.f32 #s(literal 1 binary32) %597)
%1322 = (approx %595 %1163)
%1323 = (/.f32 h %1322)
%1324 = (asin.f32 %1323)
%1325 = (/ h %595)
%1326 = (approx %1325 %753)
%1328 = (approx %1325 %935)
%1330 = (/.f32 #s(literal 1 binary32) %292)
%1331 = (*.f32 h %1330)
%1333 = (/.f32 %292 h)
%1334 = (/.f32 #s(literal 1 binary32) %1333)
%1336 = (neg.f32 %290)
%1337 = (fma.f32 eta eta %1336)
%1338 = (sqrt.f32 %1337)
%1339 = (/.f32 h %1338)
%1341 = (approx %595 %572)
%1342 = (/.f32 h %1341)
%1344 = (approx %1325 %583)
h
(*.f32 h #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) h)
(*.f32 %5 #s(literal 1/2 binary32))
(/.f32 %5 #s(literal 2 binary32))
eta
(*.f32 eta #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) eta)
(*.f32 #s(literal 2 binary32) %12)
(*.f32 %14 #s(literal 1/2 binary32))
(/.f32 %14 #s(literal 2 binary32))
(/.f32 %17 #s(literal 2 binary32))
%19
%20
%23
%26
%27
%28
%29
%31
%33
%35
%37
%39
%40
%41
%42
%44
%45
%47
%48
sinTheta_O
%50
%51
%53
%55
%57
%59
%61
%63
%64
%65
%66
%68
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -2 binary32) #s(literal -2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%93
(fma.f32 sinTheta_O %52 #s(literal 1 binary32))
(fma.f32 %52 sinTheta_O #s(literal 1 binary32))
(neg.f32 (fma.f32 sinTheta_O sinTheta_O #s(literal -1 binary32)))
(+.f32 #s(literal 1 binary32) %56)
(+.f32 %56 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 %58 sinTheta_O))
(fma.f32 %52 %58 #s(literal 1 binary32))
(fma.f32 %54 %60 #s(literal 1 binary32))
(fma.f32 %58 %52 #s(literal 1 binary32))
(fma.f32 %60 %54 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %56)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %56)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %56)
%109
(fabs.f32 %109)
(fabs.f32 %111)
(/.f32 #s(literal 1 binary32) %113)
(sqrt.f32 (*.f32 %109 %109))
(pow.f32 %93 #s(literal 1/2 binary32))
(cos.f32 %118)
(sin.f32 (acos.f32 sinTheta_O))
(cos.f32 (asin.f32 %52))
(cos.f32 (asin.f32 %54))
(cos.f32 (neg.f32 %118))
(cos.f32 (fabs.f32 %118))
(sin.f32 (acos.f32 %52))
(sin.f32 (acos.f32 %54))
(sin.f32 (+.f32 %118 %135))
%138
(*.f32 sinTheta_O %139)
(*.f32 %139 sinTheta_O)
(/.f32 %50 (neg.f32 %111))
(/.f32 %56 %111)
(*.f32 %52 %145)
(*.f32 %54 %147)
(neg.f32 %149)
(/.f32 %151 %109)
(*.f32 %50 %113)
(*.f32 %113 %50)
(/.f32 #s(literal 1 binary32) (/.f32 %109 %50))
(*.f32 %52 (*.f32 %52 %113))
(*.f32 %54 (*.f32 %54 %113))
(*.f32 %56 %161)
(/.f32 #s(literal 1 binary32) (/.f32 %111 %56))
%165
(fma.f32 sinTheta_O (neg.f32 %139) %19)
(fma.f32 sinTheta_O (/.f32 sinTheta_O %111) %19)
(fma.f32 eta eta %149)
(fma.f32 %52 %139 %19)
(+.f32 %19 %149)
(+.f32 %149 %19)
(neg.f32 (-.f32 %138 %19))
(-.f32 %149 %22)
(fma.f32 %24 %24 %149)
(fma.f32 %21 %21 %149)
(fma.f32 %54 (/.f32 %54 %111) %19)
(fma.f32 %50 (neg.f32 %113) %19)
(fma.f32 %50 %161 %19)
(fma.f32 %56 %113 %19)
(fma.f32 %34 %34 %149)
(fma.f32 %36 %36 %149)
(/.f32 %188 %109)
(/.f32 (fma.f32 %109 %22 %50) %111)
(/.f32 (neg.f32 %188) %111)
(/.f32 (-.f32 %194 %56) %111)
(*.f32 %188 %113)
(/.f32 #s(literal 1 binary32) (/.f32 %109 %188))
(fma.f32 %43 eta %149)
(fma.f32 %46 %24 %149)
(-.f32 (/.f32 %187 %109) %138)
%204
(fabs.f32 %204)
(fabs.f32 %206)
(*.f32 #s(literal 1 binary32) %204)
(*.f32 %204 #s(literal 1 binary32))
(*.f32 %210 #s(literal 1/2 binary32))
(/.f32 %210 #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) %213)
(/.f32 (sqrt.f32 (fabs.f32 %188)) (sqrt.f32 %109))
(pow.f32 %165 #s(literal 1/2 binary32))
(sqrt.f32 (*.f32 %204 %204))
#s(literal 2 binary32)
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(/.f32 #s(literal 4 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(/.f32 (+.f32 #s(literal 4 binary32) #s(literal 4 binary32)) #s(literal 4 binary32))
(*.f32 #s(literal 2 binary32) %236)
%50
%51
%53
%55
%57
%59
%61
%63
%64
%65
%66
%68
%241
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal -1 binary32) #s(literal 2 binary32))
#s(literal -1/8 binary32)
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
%19
%20
%23
%26
%27
%28
%29
%31
%33
%35
%37
%39
%40
%41
%42
%44
%45
%47
%48
#s(literal 3 binary32)
(+.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 4 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) %236 #s(literal 1 binary32))
#s(literal -1/4 binary32)
(neg.f32 #s(literal 1/4 binary32))
(*.f32 #s(literal -1/4 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) #s(literal 1/4 binary32))
#s(literal 4 binary32)
(+.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 4 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) %236 #s(literal 2 binary32))
%271
(*.f32 h #s(literal 1/2 binary32))
%273
(neg.f32 (*.f32 h #s(literal -1/2 binary32)))
(neg.f32 (*.f32 #s(literal -1/2 binary32) h))
(*.f32 %273 #s(literal 1 binary32))
%24
(fabs.f32 %24)
(fabs.f32 %21)
(fabs.f32 %34)
(fabs.f32 %36)
(sqrt.f32 %19)
(/.f32 #s(literal 1 binary32) %284)
(*.f32 %286 %286)
(pow.f32 %19 #s(literal 1/2 binary32))
%289
%290
%291
%292
%293
(/.f32 #s(literal -1 binary32) %21)
(neg.f32 (/.f32 #s(literal -1 binary32) eta))
(/.f32 #s(literal 1 binary32) %34)
(neg.f32 %298)
(/.f32 #s(literal 2 binary32) %17)
(*.f32 #s(literal 1 binary32) %293)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) eta))
(*.f32 %293 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 eta #s(literal 1 binary32)))
(/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %21))
(*.f32 #s(literal -1 binary32) %298)
(/.f32 #s(literal 1 binary32) (/.f32 %21 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %293))
(/.f32 (*.f32 #s(literal 2 binary32) %293) #s(literal 2 binary32))
(pow.f32 eta #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) %43)
(*.f32 eta %19)
%319
(*.f32 %24 %25)
(*.f32 %21 %22)
(*.f32 %22 %21)
(*.f32 %25 %24)
(pow.f32 eta #s(literal 3 binary32))
(*.f32 sinTheta_O %325)
(*.f32 %50 #s(literal -1/4 binary32))
%328
(*.f32 %329 sinTheta_O)
(neg.f32 (*.f32 %50 #s(literal 1/4 binary32)))
(neg.f32 (*.f32 #s(literal 1/4 binary32) %50))
(*.f32 %52 %335)
(*.f32 %54 %337)
(*.f32 %339 %52)
(*.f32 %341 %54)
(fma.f32 sinTheta_O %325 #s(literal -1/2 binary32))
(fma.f32 %50 #s(literal -1/4 binary32) #s(literal -1/2 binary32))
(fma.f32 #s(literal -1/4 binary32) %50 #s(literal -1/2 binary32))
%346
(+.f32 #s(literal -1/2 binary32) %328)
(+.f32 %328 #s(literal -1/2 binary32))
(-.f32 %328 #s(literal 1/2 binary32))
(neg.f32 %350)
(fma.f32 %52 %335 #s(literal -1/2 binary32))
(fma.f32 %54 %337 #s(literal -1/2 binary32))
(fma.f32 %339 %52 #s(literal -1/2 binary32))
(fma.f32 %341 %54 #s(literal -1/2 binary32))
(fma.f32 #s(literal -1/2 binary32) #s(literal 1 binary32) %328)
(fma.f32 #s(literal 1/2 binary32) #s(literal -1 binary32) %328)
(fma.f32 #s(literal -1 binary32) #s(literal 1/2 binary32) %328)
(fma.f32 sinTheta_O (*.f32 sinTheta_O %346) %19)
(fma.f32 eta eta %361)
%363
(fma.f32 %346 %50 %19)
(fma.f32 (*.f32 %346 sinTheta_O) sinTheta_O %19)
(+.f32 %19 %361)
(+.f32 %361 %19)
(-.f32 %19 (*.f32 %350 %50))
(-.f32 %19 (*.f32 %56 %346))
(-.f32 %19 (neg.f32 %361))
(-.f32 %361 %22)
(fma.f32 %24 %24 %361)
(fma.f32 %52 (*.f32 %52 %346) %19)
(fma.f32 %21 %21 %361)
(fma.f32 %54 (*.f32 %54 %346) %19)
(fma.f32 (*.f32 %346 %52) %52 %19)
(fma.f32 (*.f32 %346 %54) %54 %19)
(neg.f32 (-.f32 %22 %361))
(fma.f32 %34 %34 %361)
(fma.f32 %36 %36 %361)
(fma.f32 %43 eta %361)
(fma.f32 %46 %24 %361)
(*.f32 eta %392)
%394
(*.f32 %363 %19)
(*.f32 %396 eta)
(*.f32 %24 %398)
(*.f32 %21 %400)
(*.f32 %402 %21)
(*.f32 %404 %24)
(fma.f32 eta %319 %407)
(fma.f32 eta %409 %38)
(fma.f32 %19 %19 %407)
(fma.f32 %19 %361 %38)
(fma.f32 %50 %413 %38)
(fma.f32 %319 eta %407)
(fma.f32 %346 %416 %38)
(fma.f32 %406 %346 %38)
(fma.f32 %361 %19 %38)
(fma.f32 %420 %50 %38)
(fma.f32 %422 eta %38)
(+.f32 %38 %407)
(+.f32 %407 %38)
(-.f32 %407 %426)
(-.f32 %407 (*.f32 %22 %19))
(fma.f32 %24 %430 %407)
(fma.f32 %24 %432 %38)
(fma.f32 %430 %24 %407)
(fma.f32 %21 %435 %407)
(fma.f32 %21 %437 %38)
(fma.f32 %435 %21 %407)
(fma.f32 %22 %22 %407)
(fma.f32 %25 %25 %407)
(fma.f32 %442 %21 %38)
(fma.f32 %444 %24 %38)
(fma.f32 %30 %30 %407)
(fma.f32 %32 %32 %407)
(fma.f32 eta %392 %448)
(fma.f32 %19 %363 %448)
%451
(fma.f32 %271 #s(literal -1/8 binary32) %394)
(fma.f32 %363 %19 %448)
(fma.f32 %396 eta %448)
(+.f32 %394 %448)
(+.f32 %448 %394)
(-.f32 %394 (*.f32 #s(literal 1/8 binary32) %271))
(-.f32 %394 (*.f32 (neg.f32 %271) #s(literal -1/8 binary32)))
(-.f32 %394 (neg.f32 %448))
(-.f32 %448 %465)
(fma.f32 #s(literal -1/8 binary32) %271 %467)
(fma.f32 %271 #s(literal -1/8 binary32) %467)
(fma.f32 %24 %398 %448)
(fma.f32 %21 %400 %448)
(fma.f32 %402 %21 %448)
(fma.f32 %404 %24 %448)
(neg.f32 %474)
(+.f32 %448 %467)
(fma.f32 eta %409 %477)
(fma.f32 %19 %361 %477)
(fma.f32 %50 %413 %477)
(fma.f32 %346 %416 %477)
(fma.f32 %406 %346 %477)
(fma.f32 %361 %19 %477)
(fma.f32 %420 %50 %477)
(fma.f32 %422 eta %477)
(+.f32 %407 %477)
(+.f32 (fma.f32 #s(literal -1/8 binary32) %271 %407) %38)
(fma.f32 %24 %432 %477)
(fma.f32 %21 %437 %477)
(fma.f32 %442 %21 %477)
(fma.f32 %444 %24 %477)
%493
(/.f32 (/.f32 %451 %19) eta)
(/.f32 (/.f32 %451 eta) %19)
(/.f32 %451 (neg.f32 %435))
(/.f32 %474 %435)
(neg.f32 (/.f32 %474 %319))
(neg.f32 (/.f32 %451 %435))
(/.f32 (*.f32 %451 #s(literal 1 binary32)) %319)
(*.f32 %451 %507)
(*.f32 %507 %451)
(/.f32 #s(literal 1 binary32) (/.f32 %319 %451))
(*.f32 %474 (/.f32 #s(literal 1 binary32) %435))
(/.f32 #s(literal 1 binary32) (/.f32 %435 %474))
(fma.f32 %19 (/.f32 %363 %319) %518)
(fma.f32 #s(literal -1/8 binary32) %517 %521)
(fma.f32 %271 (/.f32 #s(literal -1/8 binary32) %319) %521)
(fma.f32 %363 %520 %518)
(+.f32 %518 %521)
(+.f32 %521 %518)
(fma.f32 %528 %529 %521)
(fma.f32 %531 %532 %518)
(fma.f32 %534 %535 %518)
(fma.f32 %529 %528 %521)
(fma.f32 %538 %539 %521)
(fma.f32 %539 %538 %521)
(fma.f32 %532 %531 %518)
(fma.f32 %535 %534 %518)
(-.f32 %518 (neg.f32 %521))
(-.f32 %518 (/.f32 %465 %319))
(fma.f32 %394 %507 %518)
(fma.f32 %448 %507 %521)
(/.f32 (fma.f32 %518 %319 %394) %319)
(/.f32 (fma.f32 %448 %319 (*.f32 %319 %394)) %554)
(/.f32 (fma.f32 %448 %319 (*.f32 %394 %319)) %554)
%572
%573
(/.f32 %21 %574)
(neg.f32 (/.f32 %21 h))
(neg.f32 (/.f32 eta %574))
(*.f32 eta %580)
(*.f32 %580 eta)
(/.f32 #s(literal 1 binary32) %583)
(/.f32 %34 %585)
(/.f32 (*.f32 eta #s(literal -1 binary32)) %574)
(*.f32 %21 %589)
%597
%580
(/.f32 #s(literal -1 binary32) %574)
(neg.f32 (/.f32 #s(literal -1 binary32) h))
(/.f32 #s(literal 1 binary32) %585)
(neg.f32 %589)
(/.f32 #s(literal 2 binary32) %603)
(*.f32 #s(literal 1 binary32) %580)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) h))
(*.f32 %580 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 h #s(literal 1 binary32)))
(/.f32 #s(literal -2 binary32) %611)
(*.f32 #s(literal -1 binary32) %589)
(/.f32 #s(literal 1 binary32) (/.f32 %574 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %580))
(/.f32 %618 #s(literal 2 binary32))
(pow.f32 h #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 h #s(literal 1 binary32)))
(*.f32 eta %623)
%187
(*.f32 %109 %19)
(*.f32 %623 eta)
(*.f32 %24 (*.f32 %24 %109))
(*.f32 %21 (*.f32 %21 %109))
(*.f32 (*.f32 %109 %21) %21)
(*.f32 (*.f32 %109 %24) %24)
%635
(/.f32 %574 %36)
(neg.f32 %637)
(*.f32 h %284)
(*.f32 %284 h)
(/.f32 #s(literal 1 binary32) (/.f32 %24 h))
(/.f32 %585 (neg.f32 %36))
(/.f32 %645 %36)
(*.f32 %574 %647)
(/.f32 #s(literal 1 binary32) (/.f32 %36 %574))
(*.f32 eta %25)
(*.f32 %19 %24)
%430
(*.f32 %25 eta)
(*.f32 %21 %30)
(*.f32 %32 %21)
(pow.f32 %24 #s(literal 3 binary32))
(pow.f32 %19 #s(literal 3/2 binary32))
%659
(/.f32 %660 %24)
(/.f32 %662 %19)
(/.f32 %664 eta)
(/.f32 (/.f32 %662 eta) eta)
(/.f32 %52 %668)
(neg.f32 %670)
(neg.f32 (/.f32 sinTheta_O %668))
(/.f32 (neg.f32 %662) %22)
(/.f32 %676 %430)
(*.f32 sinTheta_O %678)
(*.f32 %678 sinTheta_O)
(/.f32 (/.f32 %662 %21) %21)
(/.f32 #s(literal 1 binary32) (/.f32 %430 sinTheta_O))
(*.f32 %662 (/.f32 #s(literal 1 binary32) %19))
(/.f32 %58 (neg.f32 %668))
(/.f32 #s(literal 1 binary32) (/.f32 %19 %662))
(*.f32 %52 (/.f32 #s(literal 1 binary32) %668))
(/.f32 #s(literal 1 binary32) (/.f32 %668 %52))
(/.f32 %50 %430)
%696
(*.f32 %659 sinTheta_O)
(/.f32 %698 %24)
(/.f32 (/.f32 %50 %24) %19)
(/.f32 (*.f32 %662 sinTheta_O) %19)
(/.f32 (*.f32 sinTheta_O %662) %19)
(/.f32 (/.f32 %50 %25) eta)
(*.f32 %660 %662)
(*.f32 %662 %660)
(*.f32 %664 %710)
(/.f32 %56 %668)
(*.f32 %52 %670)
(*.f32 %54 (/.f32 %54 %430))
(*.f32 %716 %717)
(*.f32 %717 %716)
(*.f32 %720 %721)
(*.f32 %721 %720)
(*.f32 (/.f32 %52 %25) %725)
(*.f32 (/.f32 %54 %25) %728)
(*.f32 %50 %678)
(/.f32 #s(literal 1 binary32) (/.f32 %430 %50))
(/.f32 %734 %430)
(*.f32 sinTheta_O %736)
(*.f32 #s(literal 1/2 binary32) %696)
(*.f32 %659 (*.f32 sinTheta_O #s(literal 1/2 binary32)))
%741
(*.f32 %733 %659)
(*.f32 %736 sinTheta_O)
(neg.f32 (*.f32 #s(literal -1/2 binary32) %696))
(neg.f32 (*.f32 %696 #s(literal -1/2 binary32)))
(*.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1 binary32) %696))
(*.f32 %741 #s(literal 1 binary32))
(fma.f32 sinTheta_O (*.f32 %736 h) %635)
%753
(fma.f32 #s(literal 1/2 binary32) %755 %635)
(fma.f32 %273 %696 %635)
(fma.f32 %696 %273 %635)
(fma.f32 %741 h %635)
(fma.f32 %754 %736 %635)
(fma.f32 %755 #s(literal 1/2 binary32) %635)
(*.f32 h (fma.f32 %696 #s(literal 1/2 binary32) %284))
(+.f32 %635 %764)
(+.f32 %764 %635)
(*.f32 h (+.f32 %284 %741))
(-.f32 %635 (*.f32 %574 %741))
(-.f32 %635 (*.f32 (neg.f32 %755) #s(literal 1/2 binary32)))
(-.f32 %635 (*.f32 (neg.f32 %741) h))
(-.f32 %635 (neg.f32 %764))
(-.f32 %764 %637)
(neg.f32 (-.f32 %637 %764))
(fma.f32 h %284 %764)
(fma.f32 %284 h %764)
(fma.f32 %764 #s(literal 1 binary32) %635)
(/.f32 %786 %24)
(fma.f32 %574 %647 %764)
(/.f32 (neg.f32 %786) %36)
(/.f32 (fma.f32 %764 %36 %574) %36)
(*.f32 %786 %284)
(/.f32 #s(literal 1 binary32) (/.f32 %24 %786))
(+.f32 (/.f32 (*.f32 %755 %785) %24) %635)
(*.f32 sinTheta_O %799)
(*.f32 h %734)
(*.f32 %50 %273)
(*.f32 #s(literal 1/2 binary32) %803)
%805
(*.f32 %803 #s(literal 1/2 binary32))
(*.f32 %734 h)
(*.f32 %799 sinTheta_O)
(neg.f32 (*.f32 #s(literal -1/2 binary32) %803))
(*.f32 %52 (*.f32 %52 %273))
(*.f32 %54 (*.f32 %54 %273))
(*.f32 (*.f32 %273 %52) %52)
(*.f32 (*.f32 %273 %54) %54)
(*.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1 binary32) %803))
(*.f32 eta %319)
%38
(*.f32 %319 eta)
(*.f32 %24 %430)
(*.f32 %430 %24)
(*.f32 %21 %435)
(*.f32 %435 %21)
(*.f32 %22 %22)
(*.f32 %25 %25)
(*.f32 %30 %30)
(*.f32 %32 %32)
(pow.f32 eta #s(literal 4 binary32))
(pow.f32 %24 #s(literal 4 binary32))
(pow.f32 %19 #s(literal 2 binary32))
(pow.f32 %25 #s(literal 2 binary32))
(pow.f32 %38 #s(literal 1 binary32))
%836
(*.f32 %19 %837)
(*.f32 %24 %839)
(*.f32 %430 h)
(*.f32 %25 %842)
(*.f32 %837 %19)
(*.f32 %845 %24)
(*.f32 %847 eta)
(*.f32 %849 eta)
(*.f32 %851 %21)
(*.f32 %853 %24)
(fma.f32 h %430 %856)
(fma.f32 h %858 %836)
(fma.f32 %19 %837 %856)
(fma.f32 %50 %861 %836)
(fma.f32 #s(literal 1/2 binary32) %863 %836)
(fma.f32 #s(literal 1/2 binary32) %865 %836)
(fma.f32 %273 %855 %836)
(fma.f32 %24 %805 %836)
(fma.f32 %24 %839 %856)
(fma.f32 %430 h %856)
%871
(fma.f32 %855 %273 %836)
(fma.f32 %799 %873 %836)
(fma.f32 %25 %842 %856)
(fma.f32 %876 %803 %836)
(fma.f32 %878 %50 %836)
(fma.f32 %837 %19 %856)
(fma.f32 %845 %24 %856)
(fma.f32 %847 eta %856)
(fma.f32 %849 eta %856)
(fma.f32 %884 sinTheta_O %836)
(+.f32 %836 %856)
(+.f32 %856 %836)
(-.f32 %836 (*.f32 (neg.f32 %273) %855))
(-.f32 %836 (*.f32 %36 %805))
(-.f32 %836 (*.f32 (neg.f32 %805) %24))
(-.f32 %836 (neg.f32 %856))
(-.f32 %856 %899)
(fma.f32 h %858 %901)
(fma.f32 h %858 %903)
(fma.f32 %50 %861 %901)
(fma.f32 %50 %861 %903)
(fma.f32 #s(literal 1/2 binary32) %863 %901)
(fma.f32 #s(literal 1/2 binary32) %863 %903)
(fma.f32 #s(literal 1/2 binary32) %865 %901)
(fma.f32 #s(literal 1/2 binary32) %865 %903)
(fma.f32 %273 %855 %901)
(fma.f32 %273 %855 %903)
(fma.f32 %24 %805 %901)
(fma.f32 %24 %805 %903)
(fma.f32 %805 %24 %901)
(fma.f32 %805 %24 %903)
(fma.f32 %855 %273 %901)
(fma.f32 %855 %273 %903)
(fma.f32 %799 %873 %901)
(fma.f32 %799 %873 %903)
(fma.f32 %876 %803 %901)
(fma.f32 %876 %803 %903)
(fma.f32 %878 %50 %901)
(fma.f32 %878 %50 %903)
(fma.f32 %851 %21 %856)
(fma.f32 %853 %24 %856)
(fma.f32 %884 sinTheta_O %901)
(fma.f32 %884 sinTheta_O %903)
(neg.f32 %929)
(+.f32 %856 %901)
(+.f32 %856 %903)
%935
(/.f32 (neg.f32 %934) %36)
(*.f32 %934 %284)
(/.f32 #s(literal 1 binary32) (/.f32 %24 %934))
(/.f32 %871 %38)
(/.f32 %871 (neg.f32 %426))
(/.f32 %929 %426)
(neg.f32 (/.f32 %929 %38))
(neg.f32 (/.f32 %871 %426))
(/.f32 (/.f32 %871 %24) %430)
(/.f32 (*.f32 %871 #s(literal 1 binary32)) %38)
(*.f32 %871 %953)
(*.f32 %953 %871)
(/.f32 #s(literal 1 binary32) (/.f32 %38 %871))
(*.f32 %929 (/.f32 #s(literal 1 binary32) %426))
(/.f32 #s(literal 1 binary32) (/.f32 %426 %929))
(fma.f32 h (/.f32 %430 %38) %964)
(fma.f32 %273 (/.f32 %855 %38) %968)
(fma.f32 %24 (/.f32 %805 %38) %968)
(fma.f32 %430 (/.f32 h %38) %964)
(fma.f32 %805 %963 %968)
(fma.f32 %837 %967 %964)
(+.f32 %968 %964)
(+.f32 %964 %968)
(-.f32 %964 (neg.f32 %968))
(-.f32 %964 (/.f32 %899 %38))
(fma.f32 %635 %982 %964)
(fma.f32 (/.f32 %273 %24) (/.f32 %855 %430) %968)
(fma.f32 %987 %988 %968)
(fma.f32 (/.f32 %837 %430) (/.f32 %19 %24) %964)
(fma.f32 (/.f32 %837 %24) (/.f32 %19 %430) %964)
(fma.f32 %988 %987 %968)
(fma.f32 %997 %998 %968)
(fma.f32 %982 %635 %964)
(fma.f32 %1001 %1002 %964)
(fma.f32 %1002 %1001 %964)
(fma.f32 (/.f32 %273 %430) (/.f32 %855 %24) %968)
(fma.f32 %998 %997 %968)
(fma.f32 %836 %953 %964)
(fma.f32 %856 %953 %968)
(/.f32 (fma.f32 %964 %38 %836) %38)
(/.f32 (fma.f32 %856 %38 (*.f32 %38 %836)) %1015)
(/.f32 (fma.f32 %856 %38 (*.f32 %836 %38)) %1015)
%1020
%1022
%1023
%1024
%1025
%1027
%1029
%1031
%1032
%1033
%1035
%1036
%1038
%1040
%1042
%1044
%1046
%1048
%1049
%1051
%1052
%1053
%1054
%1055
%1057
%1058
%1060
%1061
%1063
%1065
%1067
%1069
%1071
%1021
(/.f32 %710 %623)
(/.f32 %660 %109)
(/.f32 %139 %19)
(/.f32 %52 %194)
(neg.f32 %1037)
(neg.f32 (/.f32 sinTheta_O %194))
(/.f32 (neg.f32 %660) %111)
(/.f32 %676 %187)
(*.f32 sinTheta_O %1056)
(*.f32 %1056 sinTheta_O)
(/.f32 #s(literal 1 binary32) (/.f32 %187 sinTheta_O))
(*.f32 %660 %113)
(/.f32 %58 %1034)
(/.f32 #s(literal 1 binary32) (/.f32 %109 %660))
(*.f32 %52 %1068)
(/.f32 #s(literal 1 binary32) (/.f32 %194 %52))
%1020
%1022
%1023
%1024
%1025
%1027
%1029
%1031
%1032
%1033
%1035
%1036
%1038
%1040
%1042
%1044
%1046
%1048
%1049
%1051
%1052
%1053
%1054
%1055
%1057
%1058
%1060
%1061
%1063
%1065
%1067
%1069
%1071
%1094
%1096
%1097
%1098
%1100
%1101
%1103
%1105
%1106
%1108
%1109
%1111
%1113
%1115
%1117
%1119
%1121
%1123
%1125
%1126
%1127
%1128
%1130
%1132
%1134
%1136
%1140
%1143
%1146
%1148
%1149
%1151
%1153
%1154
%1156
%1158
%1160
%1162
%1163
%1164
%1166
%1167
%1169
%1171
%1173
%1174
%1175
%1176
%1178
%1180
%1181
%1182
%583
(/.f32 %574 %21)
(*.f32 h %293)
(*.f32 #s(literal 1 binary32) %583)
(*.f32 %293 h)
(/.f32 #s(literal 1 binary32) %573)
(/.f32 %1188 %21)
(/.f32 %645 %21)
%1191
(/.f32 %206 %574)
(neg.f32 %1193)
(*.f32 #s(literal 1 binary32) %1191)
(*.f32 %204 %580)
(*.f32 %580 %204)
(/.f32 #s(literal 1 binary32) %1198)
(/.f32 %1200 %585)
(/.f32 (*.f32 %204 #s(literal -1 binary32)) %574)
(/.f32 (*.f32 #s(literal -1 binary32) %204) %574)
(*.f32 %206 %589)
%1198
(/.f32 %574 %206)
(neg.f32 (/.f32 %574 %204))
(neg.f32 (/.f32 h %206))
(*.f32 h %213)
(*.f32 #s(literal 1 binary32) %1198)
(*.f32 %1198 #s(literal 1 binary32))
(*.f32 %213 h)
(/.f32 #s(literal 1 binary32) %1191)
(/.f32 %585 %1200)
(/.f32 %1188 %206)
(/.f32 %645 %206)
(/.f32 #s(literal -1 binary32) %1193)
(neg.f32 (/.f32 #s(literal -1 binary32) %1191))
(/.f32 (*.f32 #s(literal 1 binary32) %574) %206)
(*.f32 %574 %1225)
(*.f32 %1225 %574)
(neg.f32 %1228)
(/.f32 %603 (*.f32 #s(literal 2 binary32) %204))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %1198))
(/.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %1191))
(/.f32 (*.f32 #s(literal 2 binary32) %1198) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %1191))
(*.f32 %1240 h)
(/.f32 #s(literal 1 binary32) (/.f32 %1191 #s(literal 1 binary32)))
(/.f32 %1244 %204)
(/.f32 %213 %580)
(/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %1193))
(*.f32 #s(literal -1 binary32) %1228)
(*.f32 (/.f32 %213 #s(literal -1 binary32)) %574)
(/.f32 %611 (*.f32 #s(literal 2 binary32) %206))
(/.f32 #s(literal 1 binary32) (/.f32 %1193 #s(literal -1 binary32)))
(/.f32 (neg.f32 %213) (neg.f32 %580))
(*.f32 (/.f32 #s(literal 2 binary32) %580) (/.f32 #s(literal 1/2 binary32) %204))
(*.f32 %213 %1244)
(*.f32 (/.f32 #s(literal 2 binary32) %204) (/.f32 #s(literal 1/2 binary32) %580))
(/.f32 #s(literal 1 binary32) (/.f32 %580 %213))
(/.f32 %1240 %580)
(/.f32 (*.f32 #s(literal 2 binary32) %213) %618)
(pow.f32 %1191 #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %1191 #s(literal 1 binary32)))
(asin.f32 %1198)
(-.f32 %135 %1275)
(fma.f32 %134 #s(literal 1/2 binary32) %1277)
(+.f32 %135 %1277)
(neg.f32 (-.f32 %1275 %135))
%1282
(asin.f32 %1282)
(/.f32 %1129 %187)
(/.f32 %1131 %187)
(*.f32 sinTheta_O %1093)
(*.f32 %50 %1095)
%1104
(*.f32 %1020 #s(literal -1/2 binary32))
(*.f32 %1021 %1099)
(*.f32 %1099 %1021)
(*.f32 %1102 sinTheta_O)
(/.f32 (*.f32 %698 #s(literal -1/2 binary32)) %109)
(/.f32 (*.f32 #s(literal -1/2 binary32) %698) %109)
(/.f32 (*.f32 %1099 %660) %109)
(/.f32 (/.f32 %1131 eta) %623)
(/.f32 (/.f32 %1131 %19) %109)
(/.f32 (/.f32 %1131 %109) %19)
(*.f32 %138 %1110)
(*.f32 %698 %1112)
(*.f32 %660 %1114)
(*.f32 %1026 %1116)
(*.f32 %1118 %139)
(/.f32 %734 %194)
(neg.f32 %1107)
(/.f32 (*.f32 %1099 %52) %194)
(/.f32 (*.f32 %56 #s(literal -1/2 binary32)) %194)
(/.f32 (*.f32 #s(literal -1/2 binary32) %56) %194)
(*.f32 %50 %1124)
(*.f32 %1129 %1056)
(*.f32 %1131 %1056)
(/.f32 #s(literal 1 binary32) (/.f32 %187 %1131))
%1094
%1096
%1097
%1098
%1100
%1101
%1103
%1105
%1106
%1108
%1109
%1111
%1113
%1115
%1117
%1119
%1121
%1123
%1125
%1126
%1127
%1128
%1130
%1132
%1134
%1136
%1140
%1143
%1146
%1148
%1149
%1151
%1153
%1154
%1156
%1158
%1160
%1162
%1163
%1164
%1166
%1167
%1169
%1171
%1173
%1174
%1175
%1176
%1178
%1180
%1181
%1182
%1322
%1323
%1324
%1326
(asin.f32 %1326)
%1328
(asin.f32 %1328)
%1330
%1331
(asin.f32 %1331)
%1333
%1334
(asin.f32 %1334)
%1336
%1337
%1338
%1339
(asin.f32 %1339)
%1322
%1323
%1324
%1341
%1342
(asin.f32 %1342)
%1344
(asin.f32 %1344)

reconstruct847.0ms (2.9%)

Counts
1 317 → 451
Compiler

Compiled 1 317 to 2 371 computations (-80.0% saved)

eval246.0ms (0.8%)

Compiler

Compiled 436 to 2 323 computations (-432.8% saved)

prune60.0ms (0.2%)

Pruning

16 alts after pruning (7 fresh and 9 done)

PrunedKeptTotal
New4297436
Fresh000
Picked5611
Done033
Total43416450
Accuracy
99.7%
Counts
450 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
92.9%
%22 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %22 (sqrt.f32 (-.f32 #s(literal 1 binary32) %22)))))))
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))))))))
94.1%
%4 = (* sinTheta_O sinTheta_O)
%6 = (- 1 %4)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt %6)))) (*.f32 eta (fma.f32 (/.f32 (*.f32 sinTheta_O sinTheta_O) (*.f32 (*.f32 eta eta) (sqrt.f32 (approx %6 #s(literal 1 binary32))))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
98.7%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (*.f32 eta (fma.f32 (*.f32 (/.f32 sinTheta_O eta) (/.f32 sinTheta_O (*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
94.4%
%4 = (* sinTheta_O sinTheta_O)
%6 = (- 1 %4)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt %6)))) (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 (*.f32 eta eta) (sqrt.f32 (approx %6 #s(literal 1 binary32))))))))))))
92.1%
(asin.f32 (/.f32 #s(literal 1 binary32) (/.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))) h)))
91.7%
(asin.f32 (/.f32 #s(literal 1 binary32) (*.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) h))))
96.2%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (approx (/ (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) h) (/.f32 eta h))))
95.8%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (approx (/ (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) h) (*.f32 eta (/.f32 #s(literal 1 binary32) h)))))
92.1%
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
94.0%
%4 = (* sinTheta_O sinTheta_O)
%24 = (fabs.f32 eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (fma.f32 h (*.f32 (/.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O %24)) (*.f32 eta eta)) #s(literal 1/2 binary32)) (/.f32 h %24))))
80.0%
%4 = (* sinTheta_O sinTheta_O)
%24 = (fabs.f32 eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (fma.f32 h (*.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 %24 (*.f32 eta eta)))) #s(literal 1/2 binary32)) (/.f32 h %24))))
48.5%
%4 = (* sinTheta_O sinTheta_O)
%24 = (fabs.f32 eta)
%25 = (*.f32 eta eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 (fma.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) h) (*.f32 sinTheta_O sinTheta_O)) %24 (*.f32 h (*.f32 %24 %25))) (*.f32 %25 %25))))
97.0%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
96.3%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (*.f32 h (/.f32 #s(literal 1 binary32) eta))))
Compiler

Compiled 16 to 89 computations (-456.3% saved)

sample1.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series1.8s (6.2%)

Counts
65 → 273
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%9 = (* sinTheta_O sinTheta_O)
%10 = (- 1 %9)
%11 = (approx %10 #s(literal 1 binary32))
%14 = (*.f32 #s(literal 1/2 binary32) h)
%15 = (fabs.f32 eta)
%16 = (*.f32 %2 %2)
%17 = (*.f32 %7 eta)
%18 = (sqrt.f32 %11)
%19 = (/.f32 %4 %18)
%20 = (-.f32 %2 %19)
%21 = (sqrt.f32 %20)
%22 = (/.f32 #s(literal 1 binary32) h)
%23 = (/.f32 h %15)
%24 = (*.f32 %15 %2)
%25 = (*.f32 %14 %4)
%26 = (*.f32 h %24)
%27 = (fma.f32 %25 %15 %26)
%28 = (*.f32 eta %22)
%29 = (/.f32 sinTheta_O %15)
%30 = (*.f32 sinTheta_O %29)
%31 = (/.f32 %30 %2)
%32 = (/.f32 sinTheta_O eta)
%33 = (/.f32 %27 %16)
%34 = (/.f32 sinTheta_O %17)
%35 = (*.f32 %32 %34)
%40 = (sqrt (- (* eta eta) (/ %9 (sqrt %10))))
%42 = (approx (/ %40 h) %28)
%43 = (/.f32 #s(literal 1 binary32) %42)
%45 = (*.f32 %31 #s(literal 1/2 binary32))
%46 = (fma.f32 h %45 %23)
%47 = (/ h %40)
%48 = (approx %47 %46)
%50 = (fma.f32 %35 #s(literal -1/2 binary32) #s(literal 1 binary32))
%51 = (*.f32 eta %50)
%52 = (approx %40 %51)
%53 = (/.f32 h %52)
%55 = (approx %47 %33)
%57 = (*.f32 %21 %22)
%58 = (/.f32 #s(literal 1 binary32) %57)
%60 = (*.f32 %2 %18)
%61 = (/.f32 sinTheta_O %60)
%62 = (*.f32 sinTheta_O %61)
%63 = (*.f32 #s(literal -1/2 binary32) %62)
%64 = (+.f32 #s(literal 1 binary32) %63)
%65 = (*.f32 eta %64)
%66 = (approx %40 %65)
%67 = (/.f32 h %66)
%69 = (/.f32 %4 %60)
%70 = (fma.f32 %69 #s(literal -1/2 binary32) #s(literal 1 binary32))
%71 = (*.f32 eta %70)
%72 = (approx %40 %71)
%73 = (/.f32 h %72)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%11
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
%14
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%42
%43
(asin.f32 %43)
%45
%46
%48
(asin.f32 %48)
%50
%51
%52
%53
(asin.f32 %53)
%55
(asin.f32 %55)
%57
%58
(asin.f32 %58)
%60
%61
%62
%63
%64
%65
%66
%67
(asin.f32 %67)
%69
%70
%71
%72
%73
(asin.f32 %73)
Outputs
%5 = (* sinTheta_O sinTheta_O)
%7 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%10 = (- 1 %5)
%14 = (*.f32 #s(literal -1 binary32) %7)
%17 = (sqrt %10)
%19 = (*.f32 #s(literal -1/2 binary32) %7)
%39 = (* %17 eta)
%41 = (*.f32 eta %7)
%57 = (/ %5 %17)
%78 = (* eta eta)
%79 = (- %78 %57)
%80 = (pow.f32 eta #s(literal 2 binary32))
%94 = (sqrt %79)
%95 = (sqrt.f32 %80)
%102 = (pow.f32 %95 #s(literal 2 binary32))
%105 = (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %102)))
%106 = (*.f32 %7 %105)
%110 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %95))
%117 = (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 %105 %102)))
%118 = (*.f32 %7 %117)
%129 = (* 1/2 h)
%130 = (* %129 %5)
%131 = (*.f32 h %7)
%134 = (fabs eta)
%136 = (* %134 %78)
%137 = (* h %136)
%138 = (+ (* %130 %134) %137)
%139 = (fabs.f32 eta)
%140 = (*.f32 h %139)
%141 = (*.f32 %80 %140)
%143 = (*.f32 %7 %139)
%144 = (*.f32 h %143)
%145 = (fma.f32 #s(literal 1/2 binary32) %144 %141)
%147 = (/ sinTheta_O %134)
%150 = (* sinTheta_O %147)
%153 = (/ %150 %78)
%154 = (*.f32 %80 %139)
%155 = (/.f32 %7 %154)
%157 = (/ sinTheta_O eta)
%160 = (* %78 %78)
%161 = (/ %138 %160)
%162 = (/.f32 %140 %80)
%165 = (pow.f32 eta #s(literal 4 binary32))
%166 = (/.f32 %144 %165)
%169 = (/ sinTheta_O %39)
%170 = (/.f32 %7 eta)
%171 = (/.f32 #s(literal 1 binary32) eta)
%175 = (*.f32 #s(literal 1/2 binary32) %171)
%186 = (* %157 %169)
%187 = (/.f32 %7 %80)
%189 = (/.f32 #s(literal 1 binary32) %80)
%190 = (fma.f32 #s(literal 1/2 binary32) %187 %189)
%193 = (*.f32 #s(literal 1/2 binary32) %189)
%195 = (fma.f32 %7 (fma.f32 #s(literal 3/8 binary32) %187 %193) %189)
%201 = (fma.f32 %7 (fma.f32 %7 (fma.f32 #s(literal 5/16 binary32) %187 (*.f32 #s(literal 3/8 binary32) %189)) %193) %189)
%204 = (/ %94 h)
%205 = (/.f32 %95 h)
%207 = (*.f32 h %95)
%214 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %207))
%226 = (/ 1 %204)
%227 = (/.f32 h %95)
%230 = (pow.f32 %95 #s(literal 3 binary32))
%234 = (*.f32 h %105)
%238 = (pow.f32 %95 #s(literal 5 binary32))
%241 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %234 %230) (*.f32 #s(literal -1/4 binary32) (/.f32 h %238)))
%245 = (*.f32 #s(literal -1/2 binary32) (/.f32 h %230))
%265 = (sqrt.f32 (-.f32 #s(literal 1 binary32) %7))
%266 = (/.f32 %7 %265)
%267 = (-.f32 %80 %266)
%268 = (sqrt.f32 %267)
%269 = (/.f32 h %268)
%272 = (* %153 1/2)
%276 = (/ h %134)
%277 = (+ (* h %272) %276)
%278 = (/.f32 h %139)
%280 = (/.f32 %131 %154)
%285 = (+ (* %186 -1/2) 1)
%286 = (*.f32 #s(literal -1/2 binary32) %187)
%291 = (*.f32 %7 (-.f32 (*.f32 #s(literal -1/4 binary32) %187) %193))
%296 = (*.f32 #s(literal 1/4 binary32) %189)
%300 = (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %187) %296)) %193))
%303 = (* eta %285)
%320 = (* %78 %17)
%321 = (*.f32 %80 %7)
%334 = (/ sinTheta_O %320)
%344 = (* -1/2 (* sinTheta_O %334))
%364 = (sqrt.f32 #s(literal -1 binary32))
%365 = (*.f32 sinTheta_O %364)
%367 = (*.f32 %7 %364)
%371 = (*.f32 sinTheta_O (+.f32 %364 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %367))))
%373 = (/.f32 #s(literal 1/2 binary32) %367)
%375 = (pow.f32 sinTheta_O #s(literal 4 binary32))
%376 = (pow.f32 %364 #s(literal 3 binary32))
%377 = (*.f32 %375 %376)
%380 = (*.f32 sinTheta_O (-.f32 (+.f32 %364 %373) (/.f32 #s(literal 1/8 binary32) %377)))
%384 = (pow.f32 sinTheta_O #s(literal 6 binary32))
%385 = (pow.f32 %364 #s(literal 5 binary32))
%386 = (*.f32 %384 %385)
%394 = (*.f32 sinTheta_O (-.f32 (+.f32 %364 (+.f32 %373 (*.f32 #s(literal 1/16 binary32) (/.f32 #s(literal 1 binary32) %386)))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %377))))
%396 = (*.f32 eta %365)
%399 = (*.f32 eta %364)
%400 = (fma.f32 #s(literal 1/2 binary32) (/.f32 eta %367) %399)
%401 = (*.f32 sinTheta_O %400)
%403 = (/.f32 eta %377)
%405 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %403 %400))
%410 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %403 (fma.f32 #s(literal 1/16 binary32) (/.f32 eta %386) %400)))
%412 = (/.f32 sinTheta_O %364)
%414 = (/.f32 #s(literal 1 binary32) %364)
%415 = (*.f32 %7 %376)
%416 = (/.f32 #s(literal 1 binary32) %415)
%419 = (*.f32 sinTheta_O (-.f32 %414 (*.f32 #s(literal 1/2 binary32) %416)))
%421 = (*.f32 %375 %385)
%424 = (/.f32 #s(literal 1/2 binary32) %415)
%426 = (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) %421) %414) %424))
%430 = (+.f32 %414 (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %421)))
%433 = (*.f32 %384 (pow.f32 %364 #s(literal 7 binary32)))
%438 = (*.f32 sinTheta_O (-.f32 %430 (+.f32 %424 (*.f32 #s(literal 5/16 binary32) (/.f32 #s(literal 1 binary32) %433)))))
%442 = (/.f32 %80 sinTheta_O)
%455 = (sqrt.f32 (/.f32 #s(literal -1 binary32) %365))
%456 = (*.f32 sinTheta_O %455)
%458 = (*.f32 %7 %455)
%459 = (/.f32 %80 %458)
%464 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%466 = (*.f32 %464 (*.f32 %376 %455))
%472 = (pow.f32 %455 #s(literal 3 binary32))
%473 = (*.f32 %375 %472)
%495 = (/.f32 #s(literal 1 binary32) %399)
%497 = (*.f32 eta %415)
%498 = (/.f32 #s(literal 1 binary32) %497)
%499 = (*.f32 #s(literal 1/2 binary32) %498)
%502 = (*.f32 eta %421)
%504 = (+.f32 (/.f32 #s(literal 3/8 binary32) %502) %495)
%505 = (/.f32 #s(literal 1/2 binary32) %497)
%508 = (/.f32 #s(literal 1 binary32) %502)
%510 = (+.f32 %495 (*.f32 #s(literal 3/8 binary32) %508))
%514 = (+.f32 %505 (*.f32 #s(literal 5/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %433))))
%517 = (*.f32 %80 %364)
%518 = (/.f32 sinTheta_O %517)
%520 = (/.f32 #s(literal 1 binary32) %517)
%521 = (*.f32 %80 %415)
%522 = (/.f32 #s(literal 1 binary32) %521)
%523 = (*.f32 #s(literal 1/2 binary32) %522)
%524 = (-.f32 %520 %523)
%525 = (*.f32 sinTheta_O %524)
%527 = (*.f32 %80 %421)
%529 = (+.f32 (/.f32 #s(literal 3/8 binary32) %527) %520)
%530 = (/.f32 #s(literal 1/2 binary32) %521)
%531 = (-.f32 %529 %530)
%532 = (*.f32 sinTheta_O %531)
%534 = (/.f32 #s(literal 1 binary32) %527)
%536 = (+.f32 %520 (*.f32 #s(literal 3/8 binary32) %534))
%538 = (/.f32 #s(literal 1 binary32) (*.f32 %80 %433))
%540 = (+.f32 %530 (*.f32 #s(literal 5/16 binary32) %538))
%541 = (-.f32 %536 %540)
%542 = (*.f32 sinTheta_O %541)
%547 = (/.f32 %80 (*.f32 h %458))
%548 = (/.f32 %455 h)
%552 = (*.f32 h %466)
%568 = (*.f32 %80 h)
%570 = (/.f32 %568 (*.f32 %7 %472))
%571 = (/.f32 h %455)
%577 = (/.f32 h (*.f32 %464 (*.f32 %376 %472)))
%579 = (*.f32 #s(literal 1/2 binary32) %570)
%583 = (*.f32 %165 h)
%585 = (/.f32 %583 (pow.f32 %455 #s(literal 5 binary32)))
%603 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%604 = (*.f32 #s(literal 1/2 binary32) %520)
%608 = (/.f32 #s(literal 1/4 binary32) %521)
%613 = (*.f32 #s(literal 1/4 binary32) %522)
%616 = (fma.f32 #s(literal 1/2 binary32) %520 (*.f32 #s(literal 3/16 binary32) %534))
%620 = (/.f32 sinTheta_O %399)
%623 = (/.f32 eta sinTheta_O)
%624 = (*.f32 #s(literal 1/2 binary32) %495)
%639 = (*.f32 %80 %365)
%642 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %80 %367) %517)
%643 = (*.f32 sinTheta_O %642)
%645 = (/.f32 %80 %377)
%647 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %645 %642))
%652 = (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) %645 (fma.f32 #s(literal 1/16 binary32) (/.f32 %80 %386) %642)))
%659 = (*.f32 sinTheta_O (-.f32 %613 %604))
%664 = (*.f32 sinTheta_O (-.f32 %608 (+.f32 (/.f32 #s(literal 3/16 binary32) %527) %604)))
%670 = (*.f32 sinTheta_O (-.f32 (+.f32 %608 (*.f32 #s(literal 5/32 binary32) %538)) %616))
%699 = (*.f32 sinTheta_O %376)
%711 = (*.f32 %7 %385)
%724 = (sqrt.f32 (/.f32 #s(literal 1 binary32) %365))
%725 = (*.f32 sinTheta_O %724)
%728 = (*.f32 %7 %724)
%730 = (*.f32 #s(literal 1/2 binary32) (/.f32 %80 %728))
%731 = (+.f32 %724 %730)
%735 = (*.f32 %376 %724)
%736 = (*.f32 %464 %735)
%742 = (pow.f32 %724 #s(literal 3 binary32))
%743 = (*.f32 sinTheta_O %742)
%776 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %80 (*.f32 h %728)) (/.f32 %724 h))
%801 = (/.f32 %568 (*.f32 %7 %742))
%802 = (/.f32 h %724)
%807 = (*.f32 %376 %742)
%811 = (*.f32 #s(literal 1/2 binary32) %801)
%818 = (/.f32 %583 (*.f32 sinTheta_O (pow.f32 %724 #s(literal 5 binary32))))
%919 = (/ 1 h)
%920 = (/.f32 #s(literal 1 binary32) h)
%923 = (*.f32 h (fma.f32 #s(literal 1/2 binary32) %143 %154))
%926 = (/.f32 eta h)
%933 = (/.f32 #s(literal 1 binary32) %139)
%939 = (*.f32 h (fma.f32 #s(literal -1 binary32) %154 (*.f32 #s(literal -1/2 binary32) %143)))
%952 = (*.f32 eta %265)
%958 = (sqrt.f32 (neg.f32 %266))
%964 = (pow.f32 %958 #s(literal 3 binary32))
%967 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %958))
%972 = (pow.f32 %958 #s(literal 5 binary32))
%987 = (*.f32 %80 %265)
%988 = (/.f32 %7 %987)
%990 = (/.f32 %958 h)
%992 = (*.f32 h %958)
%996 = (*.f32 h %964)
%999 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %992))
%1012 = (/.f32 h %958)
%1017 = (/.f32 h %972)
%1019 = (fma.f32 #s(literal -1/4 binary32) %1017 (*.f32 #s(literal -1/8 binary32) %1017))
%1023 = (*.f32 #s(literal 1/2 binary32) (/.f32 h %964))
%1045 = (*.f32 #s(literal -1/2 binary32) %988)
%1047 = (fma.f32 #s(literal -1/2 binary32) %266 %80)
%1058 = (fabs.f32 %171)
%1059 = (*.f32 %80 %1058)
%1065 = (+.f32 #s(literal 1 binary32) %1045)
%1066 = (*.f32 eta %1065)
%1068 = (pow.f32 %265 #s(literal 2 binary32))
%1069 = (*.f32 %165 %1068)
%1070 = (/.f32 %375 %1069)
%1074 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %988 (*.f32 #s(literal -1/8 binary32) %1070))))
%1076 = (pow.f32 eta #s(literal 6 binary32))
%1077 = (pow.f32 %265 #s(literal 3 binary32))
%1084 = (*.f32 eta (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1/2 binary32) %988 (fma.f32 #s(literal -1/8 binary32) %1070 (*.f32 #s(literal -1/16 binary32) (/.f32 %384 (*.f32 %1076 %1077)))))))
%1088 = (*.f32 %165 %1058)
%1090 = (*.f32 h %1058)
%1096 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 h (*.f32 %7 %1058)) %80) %1090)
%1103 = (/.f32 %7 %1088)
%1109 = (/.f32 %7 (*.f32 %80 (*.f32 h %265)))
%1111 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1109 %920))
%1115 = (/.f32 %375 (*.f32 %165 (*.f32 h %1068)))
%1118 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1109 (fma.f32 #s(literal -1/8 binary32) %1115 %920)))
%1126 = (*.f32 eta (fma.f32 #s(literal -1/2 binary32) %1109 (fma.f32 #s(literal -1/8 binary32) %1115 (fma.f32 #s(literal -1/16 binary32) (/.f32 %384 (*.f32 %1076 (*.f32 h %1077))) %920))))
%1128 = (/.f32 h eta)
%1130 = (/.f32 %131 %987)
%1133 = (/.f32 (+.f32 h (*.f32 #s(literal 1/2 binary32) %1130)) eta)
%1135 = (*.f32 h %375)
%1136 = (/.f32 %1135 %1068)
%1138 = (fma.f32 #s(literal -1/4 binary32) %1136 (*.f32 #s(literal -1/8 binary32) %1136))
%1144 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 %1138 %165))) (*.f32 #s(literal -1/2 binary32) %1130)) eta)
%1155 = (/.f32 %1135 %1069)
%1160 = (/.f32 (-.f32 (+.f32 h (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 h %384) %1077) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %7 %1138) %265))) %1076))) (fma.f32 #s(literal -1/2 binary32) %1130 (fma.f32 #s(literal -1/4 binary32) %1155 (*.f32 #s(literal -1/8 binary32) %1155)))) eta)
%1171 = (fabs.f32 (/.f32 #s(literal -1 binary32) eta))
%1172 = (*.f32 %80 %1171)
%1186 = (*.f32 %165 %1171)
%1189 = (*.f32 h %1171)
%1197 = (fma.f32 #s(literal -1 binary32) %1189 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h (*.f32 %7 %1171)) %80)))
%1206 = (/.f32 %7 %1186)
(approx h #s(literal 0 binary32))
(approx sinTheta_O sinTheta_O)
(approx %5 %7)
(approx %10 #s(literal 1 binary32))
(approx %10 (+.f32 #s(literal 1 binary32) %14))
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 #s(literal -1/8 binary32) %7) #s(literal 1/2 binary32)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/16 binary32) %7) #s(literal 1/8 binary32))) #s(literal 1/2 binary32)))))
(approx %39 eta)
(approx %39 (+.f32 eta (*.f32 #s(literal -1/2 binary32) %41)))
(approx %39 (+.f32 eta (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) eta (*.f32 #s(literal -1/8 binary32) %41)))))
(approx %39 (+.f32 eta (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) eta (*.f32 %7 (fma.f32 #s(literal -1/8 binary32) eta (*.f32 #s(literal -1/16 binary32) %41)))))))
(approx %57 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/2 binary32) %7))))
(approx %57 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 3/8 binary32) %7))))))
(approx %57 (*.f32 %7 (+.f32 #s(literal 1 binary32) (*.f32 %7 (+.f32 #s(literal 1/2 binary32) (*.f32 %7 (+.f32 #s(literal 3/8 binary32) (*.f32 #s(literal 5/16 binary32) %7))))))))
(approx %79 %80)
(approx %79 (fma.f32 #s(literal -1 binary32) %7 %80))
(approx %79 (fma.f32 %7 (-.f32 %19 #s(literal 1 binary32)) %80))
(approx %79 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/8 binary32) %7) #s(literal 1/2 binary32))) #s(literal 1 binary32)) %80))
(approx %94 %95)
(approx %94 (+.f32 %95 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 %95))))
(approx %94 (+.f32 %95 (*.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 %106 %95)) %110))))
(approx %94 (+.f32 %95 (*.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %118 %95) (*.f32 #s(literal -1/2 binary32) (/.f32 %105 %95)))) %110))))
(approx %130 (*.f32 #s(literal 1/2 binary32) %131))
(approx %138 %141)
(approx %138 %145)
(approx %147 (/.f32 sinTheta_O %139))
(approx %150 (/.f32 %7 %139))
(approx %153 %155)
(approx %157 (/.f32 sinTheta_O eta))
(approx %161 %162)
(approx %161 (fma.f32 #s(literal 1/2 binary32) %166 %162))
(approx %169 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %170 %171)))
(approx %169 (*.f32 sinTheta_O (fma.f32 %7 (fma.f32 #s(literal 3/8 binary32) %170 %175) %171)))
(approx %169 (*.f32 sinTheta_O (fma.f32 %7 (fma.f32 %7 (fma.f32 #s(literal 5/16 binary32) %170 (*.f32 #s(literal 3/8 binary32) %171)) %175) %171)))
(approx %186 %187)
(approx %186 (*.f32 %7 %190))
(approx %186 (*.f32 %7 %195))
(approx %186 (*.f32 %7 %201))
(approx %204 %205)
(approx %204 (fma.f32 #s(literal -1/2 binary32) (/.f32 %7 %207) %205))
(approx %204 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1/2 binary32) (/.f32 %106 %207)) %214) %205))
(approx %204 (fma.f32 %7 (-.f32 (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 %118 %207) (*.f32 #s(literal -1/2 binary32) (/.f32 %105 %207)))) %214) %205))
(approx %226 %227)
(approx %226 (fma.f32 #s(literal 1/2 binary32) (/.f32 %131 %230) %227))
(approx %226 (fma.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 %241)) %245) %227))
(approx %226 (fma.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 h %117) %230) (fma.f32 #s(literal -1/4 binary32) (/.f32 %234 %238) (*.f32 #s(literal 1/2 binary32) (/.f32 %241 %102)))))) %241)) %245) %227))
(approx (asin %226) (asin.f32 %269))
(approx %272 (*.f32 #s(literal 1/2 binary32) %155))
(approx %277 %278)
(approx %277 (fma.f32 #s(literal 1/2 binary32) %280 %278))
(approx %285 (+.f32 #s(literal 1 binary32) %286))
(approx %285 (+.f32 #s(literal 1 binary32) %291))
(approx %285 (+.f32 #s(literal 1 binary32) %300))
(approx %303 (+.f32 eta (*.f32 #s(literal -1/2 binary32) %170)))
(approx %303 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 #s(literal -1/4 binary32) %170) %175))))
(approx %303 (+.f32 eta (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -3/16 binary32) %170) (*.f32 #s(literal 1/4 binary32) %171))) %175))))
(approx %320 (fma.f32 #s(literal -1/2 binary32) %321 %80))
(approx %320 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %80 (*.f32 #s(literal -1/8 binary32) %321)) %80))
(approx %320 (fma.f32 %7 (fma.f32 #s(literal -1/2 binary32) %80 (*.f32 %7 (fma.f32 #s(literal -1/8 binary32) %80 (*.f32 #s(literal -1/16 binary32) %321)))) %80))
(approx %334 (/.f32 sinTheta_O %80))
(approx %334 (*.f32 sinTheta_O %190))
(approx %334 (*.f32 sinTheta_O %195))
(approx %334 (*.f32 sinTheta_O %201))
(approx %344 %286)
(approx %344 %291)
(approx %344 %300)
(approx %344 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 %7 (-.f32 (*.f32 #s(literal -5/32 binary32) %187) (*.f32 #s(literal 3/16 binary32) %189))) %296)) %193)))
(approx %10 %14)
(approx %10 (*.f32 %7 (-.f32 (/.f32 #s(literal 1 binary32) %7) #s(literal 1 binary32))))
(approx %17 %365)
(approx %17 %371)
(approx %17 %380)
(approx %17 %394)
(approx %39 %396)
(approx %39 %401)
(approx %39 %405)
(approx %39 %410)
(approx %57 %412)
(approx %57 %419)
(approx %57 %426)
(approx %57 %438)
(approx %79 (*.f32 #s(literal -1 binary32) %412))
(approx %79 (*.f32 sinTheta_O (-.f32 %442 %414)))
(approx %79 (*.f32 sinTheta_O (-.f32 (+.f32 %424 %442) %414)))
(approx %79 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/2 binary32) %416 %442) %430)))
(approx %94 %456)
(approx %94 (*.f32 sinTheta_O (+.f32 %455 (*.f32 #s(literal 1/2 binary32) %459))))
(approx %94 (*.f32 sinTheta_O (+.f32 %455 (fma.f32 #s(literal 1/2 binary32) %459 (/.f32 #s(literal 1/4 binary32) %466)))))
(approx %94 (*.f32 sinTheta_O (+.f32 %455 (fma.f32 #s(literal -1/8 binary32) (/.f32 %165 %473) (fma.f32 #s(literal 1/2 binary32) %459 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %466)))))))
(approx %138 (*.f32 #s(literal 1/2 binary32) %144))
(approx %138 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) %140 (/.f32 %141 %7))))
(approx %161 (*.f32 #s(literal 1/2 binary32) %166))
(approx %161 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 %140 %165) (/.f32 %140 %321))))
(approx %169 %495)
(approx %169 (-.f32 %495 %499))
(approx %169 (-.f32 %504 %505))
(approx %169 (-.f32 %510 %514))
(approx %186 %518)
(approx %186 %525)
(approx %186 %532)
(approx %186 %542)
(approx %204 (/.f32 %456 h))
(approx %204 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %547 %548)))
(approx %204 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %547 (+.f32 (/.f32 #s(literal 1/4 binary32) %552) %548))))
(approx %204 (*.f32 sinTheta_O (fma.f32 #s(literal -1/8 binary32) (/.f32 %165 (*.f32 h %473)) (fma.f32 #s(literal 1/2 binary32) %547 (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %552) %548)))))
(approx %226 (/.f32 h %456))
(approx %226 (/.f32 (fma.f32 #s(literal -1/2 binary32) %570 %571) sinTheta_O))
(approx %226 (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %577 %571) %579) sinTheta_O))
(approx %226 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %585 (*.f32 #s(literal -1/8 binary32) %585)) %375) %571) (fma.f32 #s(literal 1/4 binary32) %577 %579)) sinTheta_O))
(approx %277 (*.f32 #s(literal 1/2 binary32) %280))
(approx %277 (*.f32 %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 h %154) (/.f32 h %143))))
(approx %285 (*.f32 #s(literal -1/2 binary32) %518))
(approx %285 (*.f32 sinTheta_O (-.f32 %603 %604)))
(approx %285 (*.f32 sinTheta_O (-.f32 (+.f32 %608 %603) %604)))
(approx %285 (*.f32 sinTheta_O (-.f32 (+.f32 %603 %613) %616)))
(approx %303 (*.f32 #s(literal -1/2 binary32) %620))
(approx %303 (*.f32 sinTheta_O (-.f32 %623 %624)))
(approx %303 (*.f32 sinTheta_O (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %497) %623) %624)))
(approx %303 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 1/4 binary32) %498 %623) (fma.f32 #s(literal 1/2 binary32) %495 (*.f32 #s(literal 3/16 binary32) %508)))))
(approx %320 %639)
(approx %320 %643)
(approx %320 %647)
(approx %320 %652)
(approx %334 %520)
(approx %334 %524)
(approx %334 %531)
(approx %334 %541)
(approx %344 %659)
(approx %344 %664)
(approx %344 %670)
(approx %17 (*.f32 #s(literal -1 binary32) %365))
(approx %17 (*.f32 #s(literal -1 binary32) %371))
(approx %17 (*.f32 #s(literal -1 binary32) %380))
(approx %17 (*.f32 #s(literal -1 binary32) %394))
(approx %39 (*.f32 #s(literal -1 binary32) %396))
(approx %39 (*.f32 #s(literal -1 binary32) %401))
(approx %39 (*.f32 #s(literal -1 binary32) %405))
(approx %39 (*.f32 #s(literal -1 binary32) %410))
(approx %57 (*.f32 #s(literal -1 binary32) %419))
(approx %57 (*.f32 #s(literal -1 binary32) %426))
(approx %57 (*.f32 #s(literal -1 binary32) %438))
(approx %79 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %442) %414))))
(approx %79 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %80 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %699))) sinTheta_O)) %414))))
(approx %79 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %376)) (*.f32 #s(literal 3/8 binary32) (/.f32 #s(literal 1 binary32) %711))) sinTheta_O) %80) sinTheta_O)) %414))))
(approx %94 (*.f32 #s(literal -1 binary32) %725))
(approx %94 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %731)))
(approx %94 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %731 (/.f32 #s(literal 1/4 binary32) %736)))))
(approx %94 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (+.f32 %724 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %165 %743) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %735))) %464) %730)))))
(approx %169 (/.f32 #s(literal -1 binary32) %399))
(approx %169 (-.f32 %499 %495))
(approx %169 (-.f32 %505 %504))
(approx %169 (-.f32 %514 %510))
(approx %186 (*.f32 #s(literal -1 binary32) %518))
(approx %186 (*.f32 #s(literal -1 binary32) %525))
(approx %186 (*.f32 #s(literal -1 binary32) %532))
(approx %186 (*.f32 #s(literal -1 binary32) %542))
(approx %204 (*.f32 #s(literal -1 binary32) (/.f32 %725 h)))
(approx %204 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %776)))
(approx %204 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %776 (/.f32 #s(literal 1/4 binary32) (*.f32 h %736))))))
(approx %204 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 %165 (*.f32 h %743)) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 h %735)))) %464) %776))))
(approx %226 (*.f32 #s(literal -1 binary32) (/.f32 h %725)))
(approx %226 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %801 %802) sinTheta_O)))
(approx %226 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 h (*.f32 %464 %807)) %802) %811) sinTheta_O)))
(approx %226 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) %818 (*.f32 #s(literal -1/8 binary32) %818)) (*.f32 #s(literal 1/4 binary32) (/.f32 h %807))) %464) %802) %811) sinTheta_O)))
(approx %285 (*.f32 #s(literal 1/2 binary32) %518))
(approx %285 (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %520 %603)))
(approx %285 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %80 %699)))) sinTheta_O)) %604))))
(approx %285 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %80 %376))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 %80 %711)))) sinTheta_O))) sinTheta_O)) %604))))
(approx %303 (*.f32 #s(literal 1/2 binary32) %620))
(approx %303 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %623) %624))))
(approx %303 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 eta (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %699)))) sinTheta_O)) %624))))
(approx %303 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 eta (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %376))) (*.f32 #s(literal 3/16 binary32) (/.f32 #s(literal 1 binary32) (*.f32 eta %711)))) sinTheta_O))) sinTheta_O)) %624))))
(approx %320 (*.f32 #s(literal -1 binary32) %639))
(approx %320 (*.f32 #s(literal -1 binary32) %643))
(approx %320 (*.f32 #s(literal -1 binary32) %647))
(approx %320 (*.f32 #s(literal -1 binary32) %652))
(approx %334 (/.f32 #s(literal -1 binary32) %517))
(approx %334 (-.f32 %523 %520))
(approx %334 (-.f32 %530 %529))
(approx %334 (-.f32 %540 %536))
(approx %344 (*.f32 #s(literal -1 binary32) %659))
(approx %344 (*.f32 #s(literal -1 binary32) %664))
(approx %344 (*.f32 #s(literal -1 binary32) %670))
(approx h h)
(approx %129 (*.f32 #s(literal 1/2 binary32) h))
(approx %919 %920)
(approx %138 %923)
(approx (* eta %919) %926)
(approx %161 (/.f32 %923 %165))
(approx %204 (/.f32 %268 h))
(approx %226 %269)
(approx %277 (*.f32 h (fma.f32 #s(literal 1/2 binary32) %155 %933)))
(approx %138 (*.f32 #s(literal -1 binary32) %939))
(approx %161 (*.f32 #s(literal -1 binary32) (/.f32 %939 %165)))
(approx %277 (*.f32 #s(literal -1 binary32) (*.f32 h (-.f32 (*.f32 #s(literal -1/2 binary32) %155) %933))))
(approx %134 %139)
(approx %160 %165)
(approx %39 %952)
(approx %79 (*.f32 #s(literal -1 binary32) %266))
(approx %79 %267)
(approx %94 %958)
(approx %94 (+.f32 %958 (*.f32 #s(literal 1/2 binary32) (/.f32 %80 %958))))
(approx %94 (+.f32 %958 (*.f32 %80 (fma.f32 #s(literal -1/8 binary32) (/.f32 %80 %964) %967))))
(approx %94 (+.f32 %958 (*.f32 %80 (fma.f32 %80 (-.f32 (*.f32 #s(literal 1/16 binary32) (/.f32 %80 %972)) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %964))) %967))))
(approx %136 %154)
(approx %161 (/.f32 %145 %165))
(approx %169 (/.f32 sinTheta_O %952))
(approx %186 %988)
(approx %204 %990)
(approx %204 (fma.f32 #s(literal 1/2 binary32) (/.f32 %80 %992) %990))
(approx %204 (fma.f32 %80 (fma.f32 #s(literal -1/8 binary32) (/.f32 %80 %996) %999) %990))
(approx %204 (fma.f32 %80 (fma.f32 %80 (-.f32 (*.f32 #s(literal 1/16 binary32) (/.f32 %80 (*.f32 h %972))) (*.f32 #s(literal 1/8 binary32) (/.f32 #s(literal 1 binary32) %996))) %999) %990))
(approx %226 %1012)
(approx %226 (fma.f32 #s(literal -1/2 binary32) (/.f32 %568 %964) %1012))
(approx %226 (fma.f32 %80 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %80 %1019)) %1023) %1012))
(approx %226 (fma.f32 %80 (-.f32 (*.f32 %80 (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 %80 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1019 (pow.f32 %958 #s(literal 2 binary32))) (*.f32 #s(literal 1/8 binary32) (/.f32 h (pow.f32 %958 #s(literal 7 binary32))))))) %1019)) %1023) %1012))
(approx %277 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %131 %139) (/.f32 %568 %139)) %80))
(approx %285 %1045)
(approx %285 (/.f32 %1047 %80))
(approx %303 (*.f32 #s(literal -1/2 binary32) (/.f32 %7 %952)))
(approx %303 (/.f32 %1047 eta))
(approx %320 %987)
(approx %334 (/.f32 sinTheta_O %987))
(approx %134 %1059)
(approx %79 (*.f32 %80 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %988))))
(approx %94 %1066)
(approx %94 %1074)
(approx %94 %1084)
(approx %276 (/.f32 h %1059))
(approx %136 %1088)
(approx %137 (*.f32 %165 %1090))
(approx %138 (*.f32 %165 %1096))
(approx %147 (/.f32 sinTheta_O %1059))
(approx %150 (/.f32 %7 %1059))
(approx %153 %1103)
(approx %161 %1090)
(approx %161 %1096)
(approx %204 %1111)
(approx %204 %1118)
(approx %204 %1126)
(approx %226 %1128)
(approx %226 %1133)
(approx %226 %1144)
(approx %226 %1160)
(approx %272 (*.f32 #s(literal 1/2 binary32) %1103))
(approx %277 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %131 %1059) (/.f32 h %1058)) %80))
(approx %285 %1065)
(approx %134 (*.f32 #s(literal -1 binary32) %1172))
(approx %94 (*.f32 #s(literal -1 binary32) eta))
(approx %94 (*.f32 #s(literal -1 binary32) %1066))
(approx %94 (*.f32 #s(literal -1 binary32) %1074))
(approx %94 (*.f32 #s(literal -1 binary32) %1084))
(approx %276 (*.f32 #s(literal -1 binary32) (/.f32 h %1172)))
(approx %136 (*.f32 #s(literal -1 binary32) %1186))
(approx %137 (*.f32 #s(literal -1 binary32) (*.f32 %165 %1189)))
(approx %138 (*.f32 %165 %1197))
(approx %147 (*.f32 #s(literal -1 binary32) (/.f32 sinTheta_O %1172)))
(approx %150 (*.f32 #s(literal -1 binary32) (/.f32 %7 %1172)))
(approx %153 (*.f32 #s(literal -1 binary32) %1206))
(approx %161 (*.f32 #s(literal -1 binary32) %1189))
(approx %161 %1197)
(approx %204 (*.f32 #s(literal -1 binary32) %926))
(approx %204 (*.f32 #s(literal -1 binary32) %1111))
(approx %204 (*.f32 #s(literal -1 binary32) %1118))
(approx %204 (*.f32 #s(literal -1 binary32) %1126))
(approx %226 (*.f32 #s(literal -1 binary32) %1128))
(approx %226 (*.f32 #s(literal -1 binary32) %1133))
(approx %226 (*.f32 #s(literal -1 binary32) %1144))
(approx %226 (*.f32 #s(literal -1 binary32) %1160))
(approx %272 (*.f32 #s(literal -1/2 binary32) %1206))
(approx %277 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 h %1171) (*.f32 #s(literal -1/2 binary32) (/.f32 %131 %1172))) %80))
(approx %303 (*.f32 #s(literal -1 binary32) (*.f32 eta (-.f32 (*.f32 #s(literal 1/2 binary32) %988) #s(literal 1 binary32)))))
Calls

9 calls:

TimeVariablePoint
19.0ms
eta
0
16.0ms
sinTheta_O
0
14.0ms
eta
inf
12.0ms
eta
-inf
12.0ms
h
0

rewrite1.9s (6.5%)

Counts
65 → 557
Calls
Call 1
Inputs
%2 = (*.f32 eta eta)
%4 = (*.f32 sinTheta_O sinTheta_O)
%6 = (-.f32 #s(literal 1 binary32) %4)
%7 = (sqrt.f32 %6)
%9 = (* sinTheta_O sinTheta_O)
%10 = (- 1 %9)
%11 = (approx %10 #s(literal 1 binary32))
%14 = (*.f32 #s(literal 1/2 binary32) h)
%15 = (fabs.f32 eta)
%16 = (*.f32 %2 %2)
%17 = (*.f32 %7 eta)
%18 = (sqrt.f32 %11)
%19 = (/.f32 %4 %18)
%20 = (-.f32 %2 %19)
%21 = (sqrt.f32 %20)
%22 = (/.f32 #s(literal 1 binary32) h)
%23 = (/.f32 h %15)
%24 = (*.f32 %15 %2)
%25 = (*.f32 %14 %4)
%26 = (*.f32 h %24)
%27 = (fma.f32 %25 %15 %26)
%28 = (*.f32 eta %22)
%29 = (/.f32 sinTheta_O %15)
%30 = (*.f32 sinTheta_O %29)
%31 = (/.f32 %30 %2)
%32 = (/.f32 sinTheta_O eta)
%33 = (/.f32 %27 %16)
%34 = (/.f32 sinTheta_O %17)
%35 = (*.f32 %32 %34)
%40 = (sqrt (- (* eta eta) (/ %9 (sqrt %10))))
%42 = (approx (/ %40 h) %28)
%43 = (/.f32 #s(literal 1 binary32) %42)
%45 = (*.f32 %31 #s(literal 1/2 binary32))
%46 = (fma.f32 h %45 %23)
%47 = (/ h %40)
%48 = (approx %47 %46)
%50 = (fma.f32 %35 #s(literal -1/2 binary32) #s(literal 1 binary32))
%51 = (*.f32 eta %50)
%52 = (approx %40 %51)
%53 = (/.f32 h %52)
%55 = (approx %47 %33)
%57 = (*.f32 %21 %22)
%58 = (/.f32 #s(literal 1 binary32) %57)
%60 = (*.f32 %2 %18)
%61 = (/.f32 sinTheta_O %60)
%62 = (*.f32 sinTheta_O %61)
%63 = (*.f32 #s(literal -1/2 binary32) %62)
%64 = (+.f32 #s(literal 1 binary32) %63)
%65 = (*.f32 eta %64)
%66 = (approx %40 %65)
%67 = (/.f32 h %66)
%69 = (/.f32 %4 %60)
%70 = (fma.f32 %69 #s(literal -1/2 binary32) #s(literal 1 binary32))
%71 = (*.f32 eta %70)
%72 = (approx %40 %71)
%73 = (/.f32 h %72)
h
eta
%2
sinTheta_O
%4
#s(literal 1 binary32)
%6
%7
%11
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
%14
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%42
%43
(asin.f32 %43)
%45
%46
%48
(asin.f32 %48)
%50
%51
%52
%53
(asin.f32 %53)
%55
(asin.f32 %55)
%57
%58
(asin.f32 %58)
%60
%61
%62
%63
%64
%65
%66
%67
(asin.f32 %67)
%69
%70
%71
%72
%73
(asin.f32 %73)
Outputs
%7 = (*.f32 #s(literal 1/2 binary32) eta)
%9 = (*.f32 eta #s(literal 2 binary32))
%11 = (*.f32 eta eta)
%13 = (neg.f32 eta)
%14 = (*.f32 %13 eta)
%16 = (fabs.f32 eta)
%20 = (neg.f32 %13)
%22 = (neg.f32 %16)
%24 = (*.f32 %11 %11)
%30 = (*.f32 sinTheta_O sinTheta_O)
%32 = (neg.f32 sinTheta_O)
%34 = (fabs.f32 sinTheta_O)
%36 = (*.f32 %32 sinTheta_O)
%38 = (neg.f32 %32)
%40 = (neg.f32 %34)
%42 = (fabs.f32 %34)
%62 = (-.f32 #s(literal 1 binary32) %30)
%78 = (sqrt.f32 %62)
%80 = (neg.f32 %78)
%82 = (/.f32 #s(literal 1 binary32) %78)
%87 = (asin.f32 sinTheta_O)
%110 = (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))
%116 = (*.f32 #s(literal 1/2 binary32) h)
%125 = (sqrt.f32 %16)
%128 = (*.f32 %11 eta)
%132 = (*.f32 %16 %11)
%140 = (*.f32 %16 eta)
%142 = (*.f32 %13 %128)
%144 = (*.f32 %13 %16)
%146 = (*.f32 %16 %13)
%153 = (*.f32 %78 eta)
%154 = (sqrt.f32 %110)
%155 = (/.f32 %30 %154)
%156 = (-.f32 %11 %155)
%157 = (sqrt.f32 %156)
%158 = (/.f32 #s(literal 1 binary32) h)
%159 = (neg.f32 h)
%163 = (neg.f32 %159)
%165 = (/.f32 #s(literal 1 binary32) %159)
%181 = (/.f32 h %16)
%183 = (neg.f32 %181)
%187 = (/.f32 #s(literal 1 binary32) %16)
%192 = (neg.f32 %22)
%194 = (/.f32 #s(literal 1 binary32) %22)
%205 = (*.f32 %116 sinTheta_O)
%211 = (*.f32 (*.f32 h sinTheta_O) sinTheta_O)
%213 = (*.f32 %116 %30)
%228 = (*.f32 h %132)
%229 = (*.f32 %16 h)
%231 = (*.f32 %11 h)
%234 = (*.f32 eta h)
%237 = (*.f32 h %11)
%239 = (*.f32 %229 eta)
%241 = (*.f32 h %140)
%243 = (*.f32 %229 %13)
%245 = (*.f32 %229 %16)
%247 = (*.f32 %30 %16)
%248 = (*.f32 %247 %116)
%250 = (*.f32 #s(literal 1/2 binary32) %247)
%253 = (*.f32 %116 %16)
%255 = (*.f32 %211 %16)
%257 = (*.f32 h %247)
%263 = (fma.f32 %213 %16 %228)
%265 = (*.f32 sinTheta_O %16)
%268 = (*.f32 %16 #s(literal 1/2 binary32))
%270 = (*.f32 %16 %116)
%276 = (*.f32 %16 %205)
%291 = (*.f32 (*.f32 %159 %11) %16)
%293 = (*.f32 %163 %132)
%295 = (neg.f32 %291)
%321 = (neg.f32 %263)
%325 = (/.f32 eta h)
%330 = (/.f32 h eta)
%332 = (*.f32 #s(literal -1 binary32) eta)
%336 = (/.f32 sinTheta_O %16)
%338 = (/.f32 %32 %16)
%342 = (*.f32 sinTheta_O #s(literal 1 binary32))
%353 = (*.f32 sinTheta_O %336)
%363 = (/.f32 sinTheta_O %132)
%365 = (*.f32 %363 sinTheta_O)
%367 = (/.f32 %30 %11)
%369 = (/.f32 sinTheta_O %140)
%370 = (*.f32 sinTheta_O %369)
%372 = (/.f32 sinTheta_O %11)
%374 = (/.f32 sinTheta_O eta)
%380 = (*.f32 %336 %32)
%392 = (*.f32 %30 #s(literal 1 binary32))
%394 = (/.f32 %353 %13)
%396 = (/.f32 sinTheta_O %13)
%397 = (/.f32 %336 %13)
%402 = (/.f32 #s(literal 1 binary32) eta)
%405 = (/.f32 #s(literal 1 binary32) %11)
%418 = (/.f32 %32 eta)
%432 = (fma.f32 h %16 (/.f32 %248 %11))
%433 = (/.f32 %432 %11)
%459 = (/.f32 #s(literal 1 binary32) %24)
%469 = (/.f32 %16 %24)
%470 = (*.f32 %213 %469)
%473 = (/.f32 %11 %24)
%474 = (*.f32 %229 %473)
%484 = (/.f32 %132 %128)
%495 = (/.f32 %16 %11)
%496 = (/.f32 %213 %11)
%498 = (/.f32 %16 eta)
%499 = (/.f32 %213 %128)
%501 = (/.f32 %16 %128)
%502 = (/.f32 %213 eta)
%504 = (/.f32 h %11)
%505 = (/.f32 %132 %11)
%507 = (/.f32 h %128)
%508 = (/.f32 %132 eta)
%532 = (/.f32 %213 %14)
%533 = (/.f32 %16 %14)
%535 = (/.f32 %132 %14)
%536 = (/.f32 h %14)
%549 = (*.f32 %24 %24)
%554 = (/.f32 sinTheta_O %153)
%556 = (/.f32 sinTheta_O %78)
%558 = (*.f32 %78 %13)
%560 = (/.f32 %32 %153)
%567 = (/.f32 #s(literal 1 binary32) %153)
%581 = (*.f32 %78 %11)
%583 = (/.f32 sinTheta_O %581)
%585 = (*.f32 %583 sinTheta_O)
%587 = (*.f32 %374 sinTheta_O)
%591 = (*.f32 %556 sinTheta_O)
%593 = (*.f32 %554 sinTheta_O)
%607 = (*.f32 %14 %78)
%641 = (/.f32 %32 %11)
%642 = (/.f32 %32 %78)
%645 = (/.f32 %34 %11)
%646 = (/.f32 %34 %78)
%654 = (/.f32 #s(literal 1 binary32) %581)
%685 = (sqrt (- (* eta eta) (* sinTheta_O (sinh (atanh sinTheta_O)))))
%687 = (approx (/ %685 h) %325)
%688 = (/.f32 #s(literal 1 binary32) %687)
%693 = (*.f32 %365 #s(literal 1/2 binary32))
%694 = (*.f32 #s(literal 1/2 binary32) sinTheta_O)
%696 = (*.f32 %353 #s(literal 1/2 binary32))
%735 = (fma.f32 h %693 %181)
%736 = (*.f32 %365 h)
%744 = (*.f32 %693 h)
%764 = (fma.f32 %693 %229 h)
%777 = (/ h %685)
%778 = (approx %777 %735)
%785 = (fma.f32 %585 #s(literal -1/2 binary32) #s(literal 1 binary32))
%786 = (*.f32 sinTheta_O #s(literal -1/2 binary32))
%791 = (*.f32 %583 %786)
%794 = (*.f32 %694 %583)
%797 = (*.f32 %554 #s(literal -1/2 binary32))
%814 = (neg.f32 %794)
%827 = (*.f32 %30 #s(literal -1/2 binary32))
%850 = (*.f32 eta %785)
%853 = (/.f32 (*.f32 %827 eta) %581)
%874 = (approx %685 %850)
%875 = (/.f32 h %874)
%877 = (approx %777 %433)
%879 = (*.f32 %157 %158)
%880 = (/.f32 #s(literal 1 binary32) %879)
%882 = (*.f32 %11 %154)
%883 = (/.f32 sinTheta_O %882)
%884 = (*.f32 sinTheta_O %883)
%885 = (*.f32 #s(literal -1/2 binary32) %884)
%886 = (+.f32 #s(literal 1 binary32) %885)
%887 = (*.f32 eta %886)
%888 = (approx %685 %887)
%889 = (/.f32 h %888)
%891 = (/.f32 %30 %882)
%892 = (fma.f32 %891 #s(literal -1/2 binary32) #s(literal 1 binary32))
%893 = (*.f32 eta %892)
%894 = (approx %685 %893)
%895 = (/.f32 h %894)
h
eta
(*.f32 eta #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) eta)
(*.f32 #s(literal 2 binary32) %7)
(*.f32 %9 #s(literal 1/2 binary32))
%11
(fabs.f32 %11)
(fabs.f32 %14)
(*.f32 %16 %16)
(*.f32 %13 %13)
(neg.f32 %14)
(*.f32 %20 %20)
(*.f32 %22 %22)
(sqrt.f32 %24)
(pow.f32 eta #s(literal 2 binary32))
(pow.f32 %16 #s(literal 2 binary32))
(pow.f32 %13 #s(literal 2 binary32))
sinTheta_O
%30
(fabs.f32 %30)
(*.f32 %32 %32)
(*.f32 %34 %34)
(neg.f32 %36)
(*.f32 %38 %38)
(*.f32 %40 %40)
(*.f32 %42 %42)
(pow.f32 sinTheta_O #s(literal 2 binary32))
(pow.f32 %32 #s(literal 2 binary32))
(pow.f32 %34 #s(literal 2 binary32))
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%62
(fma.f32 sinTheta_O %32 #s(literal 1 binary32))
(fma.f32 %32 sinTheta_O #s(literal 1 binary32))
(neg.f32 (fma.f32 sinTheta_O sinTheta_O #s(literal -1 binary32)))
(+.f32 #s(literal 1 binary32) %36)
(+.f32 %36 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 %38 sinTheta_O))
(fma.f32 %32 %38 #s(literal 1 binary32))
(fma.f32 %34 %40 #s(literal 1 binary32))
(fma.f32 %38 %32 #s(literal 1 binary32))
(fma.f32 %40 %34 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %36)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %36)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %36)
%78
(fabs.f32 %78)
(fabs.f32 %80)
(/.f32 #s(literal 1 binary32) %82)
(sqrt.f32 (*.f32 %78 %78))
(pow.f32 %62 #s(literal 1/2 binary32))
(cos.f32 %87)
(sin.f32 (acos.f32 sinTheta_O))
(cos.f32 (asin.f32 %32))
(cos.f32 (asin.f32 %34))
(cos.f32 (neg.f32 %87))
(cos.f32 (fabs.f32 %87))
(sin.f32 (acos.f32 %32))
(sin.f32 (acos.f32 %34))
(sin.f32 (+.f32 %87 (*.f32 (PI.f32 ) #s(literal 1/2 binary32))))
%110
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 h #s(literal 1/2 binary32))
%116
(neg.f32 (*.f32 h #s(literal -1/2 binary32)))
(neg.f32 (*.f32 #s(literal -1/2 binary32) h))
%16
(fabs.f32 %16)
(fabs.f32 %13)
(fabs.f32 %20)
(sqrt.f32 %11)
(*.f32 %125 %125)
(pow.f32 %11 #s(literal 1/2 binary32))
(*.f32 eta %128)
%24
(*.f32 %128 eta)
(fabs.f32 %24)
(*.f32 %16 %132)
(*.f32 %132 %16)
(*.f32 %13 (*.f32 %13 %11))
(*.f32 %14 %14)
(*.f32 (*.f32 %11 %13) %13)
(*.f32 %140 %140)
(neg.f32 %142)
(*.f32 %144 %144)
(*.f32 %146 %146)
(pow.f32 eta #s(literal 4 binary32))
(pow.f32 %11 #s(literal 2 binary32))
(pow.f32 %14 #s(literal 2 binary32))
(*.f32 eta %78)
%153
%154
%155
%156
%157
%158
(/.f32 #s(literal -1 binary32) %159)
(neg.f32 (/.f32 #s(literal -1 binary32) h))
(/.f32 #s(literal 1 binary32) %163)
(neg.f32 %165)
(*.f32 #s(literal 1 binary32) %158)
(*.f32 %158 #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) h))
(/.f32 #s(literal 1 binary32) (/.f32 h #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %165)
(/.f32 #s(literal 1 binary32) (/.f32 %159 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %158))
(pow.f32 h #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 h #s(literal 1 binary32)))
%181
(/.f32 %159 %22)
(neg.f32 %183)
(/.f32 (*.f32 h #s(literal 1 binary32)) %16)
(*.f32 h %187)
(*.f32 %187 h)
(/.f32 #s(literal 1 binary32) (/.f32 %16 h))
(/.f32 %163 %192)
(*.f32 %159 %194)
(/.f32 #s(literal 1 binary32) (/.f32 %22 %159))
(*.f32 eta %140)
(*.f32 %11 %16)
%132
(*.f32 %140 eta)
(*.f32 %13 %144)
(*.f32 %146 %13)
(pow.f32 %16 #s(literal 3 binary32))
(*.f32 sinTheta_O %205)
(*.f32 h (*.f32 #s(literal 1/2 binary32) %30))
(*.f32 %30 %116)
(*.f32 #s(literal 1/2 binary32) %211)
%213
(*.f32 %211 #s(literal 1/2 binary32))
(*.f32 (*.f32 %30 #s(literal 1/2 binary32)) h)
(*.f32 %205 sinTheta_O)
(neg.f32 (*.f32 #s(literal -1/2 binary32) %211))
(*.f32 %32 (*.f32 %32 %116))
(*.f32 %34 (*.f32 %34 %116))
(*.f32 (*.f32 %116 %32) %32)
(*.f32 (*.f32 %116 %34) %34)
%228
(*.f32 %11 %229)
(*.f32 %16 %231)
(*.f32 %132 h)
(*.f32 %140 %234)
(*.f32 %229 %11)
(*.f32 %237 %16)
(*.f32 %239 eta)
(*.f32 %241 eta)
(*.f32 %243 %13)
(*.f32 %245 %16)
(fma.f32 h %132 %248)
(fma.f32 h %250 %228)
(fma.f32 %11 %229 %248)
(fma.f32 %30 %253 %228)
(fma.f32 #s(literal 1/2 binary32) %255 %228)
(fma.f32 #s(literal 1/2 binary32) %257 %228)
(fma.f32 %116 %247 %228)
(fma.f32 %16 %213 %228)
(fma.f32 %16 %231 %248)
(fma.f32 %132 h %248)
%263
(fma.f32 %247 %116 %228)
(fma.f32 %205 %265 %228)
(fma.f32 %140 %234 %248)
(fma.f32 %268 %211 %228)
(fma.f32 %270 %30 %228)
(fma.f32 %229 %11 %248)
(fma.f32 %237 %16 %248)
(fma.f32 %239 eta %248)
(fma.f32 %241 eta %248)
(fma.f32 %276 sinTheta_O %228)
(+.f32 %228 %248)
(+.f32 %248 %228)
(-.f32 %228 (*.f32 (neg.f32 %116) %247))
(-.f32 %228 (*.f32 %22 %213))
(-.f32 %228 (*.f32 (neg.f32 %213) %16))
(-.f32 %228 (neg.f32 %248))
(-.f32 %248 %291)
(fma.f32 h %250 %293)
(fma.f32 h %250 %295)
(fma.f32 %30 %253 %293)
(fma.f32 %30 %253 %295)
(fma.f32 #s(literal 1/2 binary32) %255 %293)
(fma.f32 #s(literal 1/2 binary32) %255 %295)
(fma.f32 #s(literal 1/2 binary32) %257 %293)
(fma.f32 #s(literal 1/2 binary32) %257 %295)
(fma.f32 %116 %247 %293)
(fma.f32 %116 %247 %295)
(fma.f32 %16 %213 %293)
(fma.f32 %16 %213 %295)
(fma.f32 %213 %16 %293)
(fma.f32 %213 %16 %295)
(fma.f32 %247 %116 %293)
(fma.f32 %247 %116 %295)
(fma.f32 %205 %265 %293)
(fma.f32 %205 %265 %295)
(fma.f32 %268 %211 %293)
(fma.f32 %268 %211 %295)
(fma.f32 %270 %30 %293)
(fma.f32 %270 %30 %295)
(fma.f32 %243 %13 %248)
(fma.f32 %245 %16 %248)
(fma.f32 %276 sinTheta_O %293)
(fma.f32 %276 sinTheta_O %295)
(neg.f32 %321)
(+.f32 %248 %293)
(+.f32 %248 %295)
%325
(/.f32 %13 %159)
(*.f32 eta %158)
(*.f32 #s(literal 1 binary32) %325)
(*.f32 %158 eta)
(/.f32 #s(literal 1 binary32) %330)
(/.f32 %332 %159)
(/.f32 (*.f32 eta #s(literal -1 binary32)) %159)
%336
(/.f32 %32 %22)
(neg.f32 %338)
(neg.f32 (/.f32 sinTheta_O %22))
(/.f32 %342 %16)
(*.f32 sinTheta_O %187)
(*.f32 %187 sinTheta_O)
(/.f32 #s(literal 1 binary32) (/.f32 %16 sinTheta_O))
(/.f32 %38 %192)
(*.f32 %32 %194)
(/.f32 #s(literal 1 binary32) (/.f32 %22 %32))
(/.f32 %30 %16)
%353
(*.f32 %336 sinTheta_O)
(/.f32 %36 %22)
(*.f32 %32 %338)
(*.f32 %34 (/.f32 %34 %16))
(*.f32 %30 %187)
(/.f32 #s(literal 1 binary32) (/.f32 %16 %30))
(/.f32 %30 %132)
(*.f32 sinTheta_O %363)
%365
(/.f32 %353 %11)
(/.f32 %367 %16)
(/.f32 %370 eta)
(*.f32 %336 %372)
(*.f32 %374 %369)
(*.f32 %372 %336)
(*.f32 %369 %374)
(/.f32 (*.f32 %374 %336) eta)
(/.f32 %380 %14)
(/.f32 (*.f32 %32 %369) %13)
(/.f32 (neg.f32 %380) %11)
(/.f32 (neg.f32 %370) %13)
(neg.f32 (/.f32 %353 %14))
(neg.f32 (/.f32 %380 %11))
(/.f32 %392 %132)
(/.f32 %394 %13)
(*.f32 %396 %397)
(*.f32 %397 %396)
(/.f32 (*.f32 %353 #s(literal 1 binary32)) %11)
(*.f32 sinTheta_O (*.f32 %402 %369))
(*.f32 %353 %405)
(*.f32 %405 %353)
(*.f32 %370 %402)
(/.f32 #s(literal 1 binary32) (/.f32 %11 %353))
(/.f32 #s(literal 1 binary32) (/.f32 eta %370))
(*.f32 %380 (/.f32 #s(literal 1 binary32) %14))
(/.f32 #s(literal 1 binary32) (/.f32 %14 %380))
%374
(/.f32 %32 %13)
(neg.f32 %418)
(neg.f32 %396)
(/.f32 %342 eta)
(*.f32 sinTheta_O %402)
(*.f32 %402 sinTheta_O)
(/.f32 #s(literal 1 binary32) (/.f32 eta sinTheta_O))
(/.f32 %38 %20)
(*.f32 %32 (/.f32 #s(literal 1 binary32) %13))
(/.f32 #s(literal 1 binary32) (/.f32 %13 %32))
%433
(/.f32 (/.f32 %432 eta) eta)
(/.f32 (neg.f32 %432) %14)
(/.f32 (/.f32 %432 %13) %13)
(/.f32 (/.f32 %432 %16) %16)
(*.f32 %432 %405)
(/.f32 #s(literal 1 binary32) (/.f32 %11 %432))
(/.f32 %263 %24)
(/.f32 (/.f32 %263 eta) %128)
(/.f32 (/.f32 %263 %128) eta)
(/.f32 %321 %142)
(neg.f32 (/.f32 %321 %24))
(neg.f32 (/.f32 %263 %142))
(/.f32 (/.f32 %263 %14) %14)
(/.f32 (*.f32 %263 #s(literal 1 binary32)) %24)
(*.f32 %263 %459)
(*.f32 %459 %263)
(/.f32 #s(literal 1 binary32) (/.f32 %24 %263))
(*.f32 %321 (/.f32 #s(literal 1 binary32) %142))
(/.f32 #s(literal 1 binary32) (/.f32 %142 %321))
(fma.f32 h (/.f32 %132 %24) %470)
(fma.f32 %116 (/.f32 %247 %24) %474)
(fma.f32 %16 (/.f32 %213 %24) %474)
(fma.f32 %132 (/.f32 h %24) %470)
(fma.f32 %213 %469 %474)
(fma.f32 %229 %473 %470)
(+.f32 %474 %470)
(+.f32 %470 %474)
(fma.f32 %330 %484 %470)
(fma.f32 (/.f32 %116 %11) (/.f32 %247 %11) %474)
(fma.f32 (/.f32 %116 eta) (/.f32 %247 %128) %474)
(fma.f32 (/.f32 %116 %128) (/.f32 %247 eta) %474)
(fma.f32 %495 %496 %474)
(fma.f32 %498 %499 %474)
(fma.f32 %501 %502 %474)
(fma.f32 %504 %505 %470)
(fma.f32 %507 %508 %470)
(fma.f32 (/.f32 %229 %11) (/.f32 %11 %11) %470)
(fma.f32 (/.f32 %229 eta) (/.f32 %11 %128) %470)
(fma.f32 (/.f32 %229 %128) (/.f32 %11 eta) %470)
(fma.f32 %496 %495 %474)
(fma.f32 %499 %498 %474)
(fma.f32 %502 %501 %474)
(fma.f32 %505 %504 %470)
(fma.f32 %508 %507 %470)
(fma.f32 %484 %330 %470)
(-.f32 %470 (neg.f32 %474))
(-.f32 %470 (/.f32 %291 %24))
(fma.f32 (/.f32 %229 %14) (/.f32 %11 %14) %470)
(fma.f32 %532 %533 %474)
(fma.f32 %535 %536 %470)
(fma.f32 %536 %535 %470)
(fma.f32 (/.f32 %116 %14) (/.f32 %247 %14) %474)
(fma.f32 %533 %532 %474)
(fma.f32 %228 %459 %470)
(fma.f32 %248 %459 %474)
(/.f32 (fma.f32 %470 %24 %228) %24)
(/.f32 (fma.f32 %248 %24 (*.f32 %24 %228)) %549)
(/.f32 (fma.f32 %248 %24 (*.f32 %228 %24)) %549)
%554
(/.f32 %374 %78)
(/.f32 %556 eta)
(/.f32 %32 %558)
(neg.f32 %560)
(neg.f32 (/.f32 sinTheta_O %558))
(/.f32 (neg.f32 %556) %13)
(/.f32 %342 %153)
(*.f32 sinTheta_O %567)
(*.f32 %567 sinTheta_O)
(/.f32 #s(literal 1 binary32) (/.f32 %153 sinTheta_O))
(*.f32 %556 %402)
(/.f32 %38 (neg.f32 %558))
(/.f32 #s(literal 1 binary32) (/.f32 eta %556))
(*.f32 %32 (/.f32 #s(literal 1 binary32) %558))
(/.f32 #s(literal 1 binary32) (/.f32 %558 %32))
(/.f32 %30 %581)
(*.f32 sinTheta_O %583)
%585
(/.f32 %367 %78)
(/.f32 %587 %153)
(/.f32 (*.f32 %372 sinTheta_O) %78)
(/.f32 %591 %11)
(/.f32 %593 eta)
(*.f32 sinTheta_O (/.f32 %554 eta))
(*.f32 %374 %554)
(*.f32 %554 %374)
(*.f32 %372 %556)
(*.f32 %556 %372)
(/.f32 (*.f32 %556 %374) eta)
(/.f32 (*.f32 %374 %556) eta)
(/.f32 (/.f32 %587 %78) eta)
(/.f32 %30 (neg.f32 %607))
(/.f32 %36 %607)
(/.f32 %36 (*.f32 %558 eta))
(/.f32 %36 (*.f32 %153 %13))
(*.f32 %32 (/.f32 %32 %581))
(*.f32 %34 (/.f32 %34 %581))
(neg.f32 (/.f32 %36 %581))
(neg.f32 (/.f32 %30 %607))
(/.f32 (*.f32 %32 %374) %558)
(/.f32 (*.f32 %374 %32) %558)
(/.f32 (/.f32 %36 %78) %14)
(/.f32 (*.f32 %556 %32) %14)
(/.f32 (neg.f32 %367) %80)
(/.f32 (neg.f32 %587) %558)
(/.f32 (*.f32 %554 %32) %13)
(/.f32 (*.f32 %32 %554) %13)
(/.f32 (neg.f32 %593) %13)
(*.f32 %641 %642)
(*.f32 %418 %560)
(*.f32 %645 %646)
(*.f32 (/.f32 %34 eta) (/.f32 %34 %153))
(*.f32 %642 %641)
(*.f32 %646 %645)
(/.f32 %392 %581)
(*.f32 %30 %654)
(*.f32 %654 %30)
(/.f32 #s(literal 1 binary32) (/.f32 %581 %30))
(*.f32 sinTheta_O (*.f32 %567 %374))
(*.f32 sinTheta_O (*.f32 %402 %554))
(*.f32 %367 %82)
(*.f32 %587 %567)
(*.f32 %593 %402)
(/.f32 #s(literal 1 binary32) (/.f32 %78 %367))
(/.f32 #s(literal 1 binary32) (/.f32 %153 %587))
(/.f32 #s(literal 1 binary32) (/.f32 eta %593))
(*.f32 %32 (*.f32 %32 %654))
(*.f32 %34 (*.f32 %34 %654))
(*.f32 %36 (/.f32 #s(literal 1 binary32) %607))
(/.f32 #s(literal 1 binary32) (/.f32 %607 %36))
%687
%688
(asin.f32 %688)
(*.f32 sinTheta_O (*.f32 %363 #s(literal 1/2 binary32)))
(*.f32 #s(literal 1/2 binary32) %365)
%693
(*.f32 %694 %363)
(/.f32 %696 %11)
(/.f32 (*.f32 %370 #s(literal 1/2 binary32)) eta)
(/.f32 (*.f32 #s(literal 1/2 binary32) %370) eta)
(*.f32 %353 (/.f32 #s(literal 1/2 binary32) %11))
(*.f32 %374 (*.f32 %369 #s(literal 1/2 binary32)))
(*.f32 %367 (/.f32 #s(literal 1/2 binary32) %16))
(*.f32 (*.f32 #s(literal 1/2 binary32) %374) %369)
(*.f32 %370 (/.f32 #s(literal 1/2 binary32) eta))
(neg.f32 (*.f32 %365 #s(literal -1/2 binary32)))
(neg.f32 (*.f32 #s(literal -1/2 binary32) %365))
(/.f32 (/.f32 %696 eta) eta)
(/.f32 (*.f32 %380 #s(literal 1/2 binary32)) %14)
(/.f32 (*.f32 #s(literal 1/2 binary32) %380) %14)
(/.f32 (neg.f32 %696) %14)
(/.f32 (/.f32 %696 %13) %13)
(/.f32 (/.f32 %696 %16) %16)
(*.f32 %394 (/.f32 #s(literal 1/2 binary32) %13))
(*.f32 %353 (*.f32 %405 #s(literal 1/2 binary32)))
(*.f32 %696 %405)
(/.f32 #s(literal 1 binary32) (/.f32 %11 %696))
%735
(fma.f32 #s(literal 1/2 binary32) %736 %181)
(fma.f32 %116 %365 %181)
(fma.f32 %365 %116 %181)
(fma.f32 %693 h %181)
(fma.f32 %736 #s(literal 1/2 binary32) %181)
(*.f32 h (fma.f32 %365 #s(literal 1/2 binary32) %187))
(+.f32 %181 %744)
(+.f32 %744 %181)
(*.f32 h (+.f32 %187 %693))
(-.f32 %181 (*.f32 %159 %693))
(-.f32 %181 (*.f32 (neg.f32 %693) h))
(-.f32 %181 (neg.f32 %744))
(-.f32 %181 (*.f32 (neg.f32 %736) #s(literal 1/2 binary32)))
(-.f32 %744 %183)
(neg.f32 (-.f32 %183 %744))
(fma.f32 h %187 %744)
(fma.f32 %187 h %744)
(/.f32 %764 %16)
(fma.f32 %159 %194 %744)
(/.f32 (neg.f32 %764) %22)
(/.f32 (fma.f32 %744 %22 %159) %22)
(*.f32 %764 %187)
(/.f32 #s(literal 1 binary32) (/.f32 %16 %764))
(+.f32 (/.f32 (*.f32 %693 %229) %16) %181)
%778
(asin.f32 %778)
(fma.f32 sinTheta_O (*.f32 %583 #s(literal -1/2 binary32)) #s(literal 1 binary32))
(fma.f32 %30 (/.f32 #s(literal -1/2 binary32) %581) #s(literal 1 binary32))
(fma.f32 #s(literal -1/2 binary32) %585 #s(literal 1 binary32))
%785
(fma.f32 %786 %583 #s(literal 1 binary32))
(fma.f32 %583 %786 #s(literal 1 binary32))
(fma.f32 (*.f32 #s(literal -1/2 binary32) %583) sinTheta_O #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %791)
(+.f32 %791 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) %794)
(-.f32 %791 #s(literal -1 binary32))
(fma.f32 %374 %797 #s(literal 1 binary32))
(fma.f32 %554 (*.f32 %374 #s(literal -1/2 binary32)) #s(literal 1 binary32))
(fma.f32 %367 (/.f32 #s(literal -1/2 binary32) %78) #s(literal 1 binary32))
(fma.f32 %587 (/.f32 #s(literal -1/2 binary32) %153) #s(literal 1 binary32))
(fma.f32 %372 (*.f32 %556 #s(literal -1/2 binary32)) #s(literal 1 binary32))
(fma.f32 (*.f32 #s(literal -1/2 binary32) %374) %554 #s(literal 1 binary32))
(fma.f32 %591 (/.f32 #s(literal -1/2 binary32) %11) #s(literal 1 binary32))
(fma.f32 (*.f32 #s(literal -1/2 binary32) %372) %556 #s(literal 1 binary32))
(fma.f32 %797 %374 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %814)
(neg.f32 (-.f32 %794 #s(literal 1 binary32)))
(neg.f32 (-.f32 #s(literal -1 binary32) %791))
(fma.f32 %30 (*.f32 %654 #s(literal -1/2 binary32)) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %791)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %791)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %791)
(fma.f32 (*.f32 %786 sinTheta_O) %654 #s(literal 1 binary32))
(fma.f32 %827 %654 #s(literal 1 binary32))
(fma.f32 sinTheta_O (*.f32 %402 %797) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %814)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %814)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %814)
(/.f32 (fma.f32 #s(literal 1 binary32) %581 %827) %581)
(fma.f32 eta %791 eta)
(fma.f32 #s(literal -1/2 binary32) (*.f32 %585 eta) eta)
(fma.f32 %585 (*.f32 #s(literal -1/2 binary32) eta) eta)
(fma.f32 %786 (*.f32 %583 eta) eta)
(fma.f32 (*.f32 eta #s(literal -1/2 binary32)) %585 eta)
(fma.f32 (*.f32 eta %786) %583 eta)
(fma.f32 %791 eta eta)
(fma.f32 (*.f32 eta %585) #s(literal -1/2 binary32) eta)
%850
(*.f32 %785 eta)
(+.f32 eta %853)
(+.f32 %853 eta)
(-.f32 eta (*.f32 %794 eta))
(fma.f32 %374 (*.f32 %797 eta) eta)
(fma.f32 (*.f32 eta %374) %797 eta)
(-.f32 eta (*.f32 %13 %791))
(-.f32 eta (neg.f32 %853))
(-.f32 %853 %13)
(fma.f32 eta #s(literal 1 binary32) %853)
(fma.f32 #s(literal 1 binary32) eta %853)
(-.f32 %853 %332)
(-.f32 %853 (*.f32 %13 #s(literal 1 binary32)))
(fma.f32 #s(literal 2 binary32) %7 %853)
(fma.f32 %9 #s(literal 1/2 binary32) %853)
%874
%875
(asin.f32 %875)
%877
(asin.f32 %877)
%879
%880
(asin.f32 %880)
%882
%883
%884
%885
%886
%887
%888
%889
(asin.f32 %889)
%891
%892
%893
%894
%895
(asin.f32 %895)

reconstruct535.0ms (1.8%)

Counts
830 → 330
Compiler

Compiled 830 to 1 779 computations (-114.3% saved)

eval153.0ms (0.5%)

Compiler

Compiled 311 to 1 633 computations (-425.1% saved)

prune35.0ms (0.1%)

Pruning

13 alts after pruning (2 fresh and 11 done)

PrunedKeptTotal
New3092311
Fresh000
Picked437
Done189
Total31413327
Accuracy
99.7%
Counts
327 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
92.9%
%40 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %40 (sqrt.f32 (-.f32 #s(literal 1 binary32) %40)))))))
92.8%
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32))))))))
98.7%
%4 = (* sinTheta_O sinTheta_O)
%7 = (sqrt (- 1 %4))
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 %7))) (*.f32 eta (fma.f32 (*.f32 (/.f32 sinTheta_O eta) (/.f32 sinTheta_O (approx (* %7 eta) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
91.7%
(asin.f32 (/.f32 #s(literal 1 binary32) (*.f32 (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) h))))
96.2%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (approx (/ (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) h) (/.f32 eta h))))
95.8%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 #s(literal 1 binary32) (approx (/ (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) h) (*.f32 eta (/.f32 #s(literal 1 binary32) h)))))
92.1%
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx (- 1 (* sinTheta_O sinTheta_O)) #s(literal 1 binary32)))))))))
80.0%
%4 = (* sinTheta_O sinTheta_O)
%22 = (fabs.f32 eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (fma.f32 h (*.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 %22 (*.f32 eta eta)))) #s(literal 1/2 binary32)) (/.f32 h %22))))
48.5%
%4 = (* sinTheta_O sinTheta_O)
%22 = (fabs.f32 eta)
%42 = (*.f32 eta eta)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 (fma.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) h) (*.f32 sinTheta_O sinTheta_O)) %22 (*.f32 h (*.f32 %22 %42))) (*.f32 %42 %42))))
97.0%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
96.3%
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (*.f32 h (/.f32 #s(literal 1 binary32) eta))))
76.9%
%2 = (* eta eta)
%4 = (* sinTheta_O sinTheta_O)
%15 = (fabs eta)
(asin.f32 (approx (/ h (sqrt (- %2 (/ %4 (sqrt (- 1 %4)))))) (approx (/ (+ (* (* (* 1/2 h) %4) %15) (* h (* %15 %2))) (* %2 %2)) (/.f32 (*.f32 h (fabs.f32 eta)) (pow.f32 eta #s(literal 2 binary32))))))
Compiler

Compiled 13 to 71 computations (-446.2% saved)

regimes826.0ms (2.8%)

Accuracy

Total 0.6b remaining (32.0%)

Threshold costs 0.6b (32.0%)

0.3b0.0%
0.3b-0.0%
-0.0b-0.0%

Counts
1 → 1
7 → 1
23 → 1
Calls
Call 1
Inputs
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
Outputs
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (approx (/ h (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4)))))) (/.f32 h eta)))
Call 2
Inputs
%4 = (* sinTheta_O sinTheta_O)
%6 = (- 1 %4)
%7 = (sqrt %6)
%10 = (sqrt (- (* eta eta) (/ %4 %7)))
%11 = (/ h %10)
%20 = (/ %10 h)
%34 = (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (approx %6 #s(literal 1 binary32))))
(asin.f32 (approx %11 (/.f32 h eta)))
(asin.f32 (approx %11 (*.f32 h (/.f32 #s(literal 1 binary32) eta))))
(asin.f32 (/.f32 #s(literal 1 binary32) (approx %20 (/.f32 eta h))))
(asin.f32 (/.f32 #s(literal 1 binary32) (approx %20 (*.f32 eta (/.f32 #s(literal 1 binary32) h)))))
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) %34))))
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 %34)))))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (fma.f32 (*.f32 (/.f32 sinTheta_O eta) (/.f32 sinTheta_O (approx (* %7 eta) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
Outputs
%4 = (* sinTheta_O sinTheta_O)
%7 = (sqrt (- 1 %4))
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 %7))) (*.f32 eta (fma.f32 (*.f32 (/.f32 sinTheta_O eta) (/.f32 sinTheta_O (approx (* %7 eta) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
Call 3
Inputs
%2 = (* eta eta)
%4 = (* sinTheta_O sinTheta_O)
%6 = (- 1 %4)
%7 = (sqrt %6)
%10 = (sqrt (- %2 (/ %4 %7)))
%11 = (/ h %10)
%20 = (/ %10 h)
%25 = (/.f32 #s(literal 1 binary32) h)
%30 = (*.f32 eta eta)
%31 = (*.f32 sinTheta_O sinTheta_O)
%33 = (sqrt.f32 (approx %6 #s(literal 1 binary32)))
%34 = (/.f32 %31 %33)
%36 = (sqrt.f32 (-.f32 %30 %34))
%44 = (/.f32 sinTheta_O eta)
%64 = (fabs eta)
%71 = (fabs.f32 eta)
%80 = (sqrt.f32 (-.f32 #s(literal 1 binary32) %31))
%81 = (/.f32 %31 %80)
%83 = (sqrt.f32 (-.f32 %30 %81))
%96 = (/.f32 h %71)
%100 = (*.f32 %30 %33)
%131 = (*.f32 %30 %80)
(asin.f32 (approx %11 (/.f32 h eta)))
(asin.f32 (approx %11 (*.f32 h (/.f32 #s(literal 1 binary32) eta))))
(asin.f32 (/.f32 #s(literal 1 binary32) (approx %20 (/.f32 eta h))))
(asin.f32 (/.f32 #s(literal 1 binary32) (approx %20 (*.f32 eta %25))))
(asin.f32 (/.f32 h %36))
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 %34)))))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (fma.f32 (*.f32 %44 (/.f32 sinTheta_O (approx (* %7 eta) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) %36)))
(asin.f32 (/.f32 #s(literal 1 binary32) (/.f32 %36 h)))
(asin.f32 (approx %11 (approx (/ (+ (* (* (* 1/2 h) %4) %64) (* h (* %64 %2))) (* %2 %2)) (/.f32 (*.f32 h %71) (pow.f32 eta #s(literal 2 binary32))))))
(asin.f32 (/.f32 h %83))
(asin.f32 (/.f32 h (sqrt.f32 (fma.f32 eta eta (neg.f32 %81)))))
(asin.f32 (approx %11 (fma.f32 h (*.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O (*.f32 %71 %30))) #s(literal 1/2 binary32)) %96)))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (fma.f32 (/.f32 %31 %100) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
(asin.f32 (/.f32 #s(literal 1 binary32) (*.f32 %36 %25)))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (/.f32 sinTheta_O %100))))))))
(asin.f32 (approx %11 (fma.f32 h (*.f32 (/.f32 (*.f32 sinTheta_O (/.f32 sinTheta_O %71)) %30) #s(literal 1/2 binary32)) %96)))
(asin.f32 (*.f32 h (/.f32 #s(literal 1 binary32) %83)))
(asin.f32 (/.f32 #s(literal 1 binary32) (/.f32 %83 h)))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (fma.f32 (/.f32 %31 %131) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
(asin.f32 (/.f32 #s(literal 1 binary32) (*.f32 %83 %25)))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (/.f32 sinTheta_O %131))))))))
(asin.f32 (/.f32 h (approx %10 (*.f32 eta (fma.f32 (*.f32 %44 (/.f32 sinTheta_O (*.f32 %80 eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
Outputs
%4 = (* sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (approx (sqrt (- (* eta eta) (/ %4 (sqrt (- 1 %4))))) (*.f32 eta (fma.f32 (*.f32 (/.f32 sinTheta_O eta) (/.f32 sinTheta_O (*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))) eta))) #s(literal -1/2 binary32) #s(literal 1 binary32))))))
Calls

10 calls:

98.0ms
%3 = (*.f32 sinTheta_O sinTheta_O)
(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %3 (sqrt.f32 (-.f32 #s(literal 1 binary32) %3)))))
91.0ms
%4 = (*.f32 sinTheta_O sinTheta_O)
(/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %4 (sqrt.f32 (-.f32 #s(literal 1 binary32) %4))))))
87.0ms
h
85.0ms
(*.f32 eta eta)
85.0ms
eta
Results
AccuracySegmentsBranch
97.0%1
eta
97.0%1
h
97.0%1
sinTheta_O
97.0%1
%31 = (*.f32 sinTheta_O sinTheta_O)
(asin.f32 (/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %31 (sqrt.f32 (-.f32 #s(literal 1 binary32) %31)))))))
97.0%1
%31 = (*.f32 sinTheta_O sinTheta_O)
(/.f32 h (sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %31 (sqrt.f32 (-.f32 #s(literal 1 binary32) %31))))))
97.0%1
%31 = (*.f32 sinTheta_O sinTheta_O)
(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 %31 (sqrt.f32 (-.f32 #s(literal 1 binary32) %31)))))
97.0%1
%31 = (*.f32 sinTheta_O sinTheta_O)
(-.f32 (*.f32 eta eta) (/.f32 %31 (sqrt.f32 (-.f32 #s(literal 1 binary32) %31))))
97.0%1
(*.f32 eta eta)
97.0%1
%31 = (*.f32 sinTheta_O sinTheta_O)
(/.f32 %31 (sqrt.f32 (-.f32 #s(literal 1 binary32) %31)))
97.0%1
(*.f32 sinTheta_O sinTheta_O)
Compiler

Compiled 39 to 189 computations (-384.6% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations11.0ms (0.0%)

Stop Event
fuel
Compiler

Compiled 3 to 24 computations (-700.0% saved)

preprocess112.0ms (0.4%)

Compiler

Compiled 22 to 229 computations (-940.9% saved)

end0.0ms (0.0%)

gc874ms (3.0%)

Allocations
AllocatedPercentPhase
978.5 MiB28.0%sample
887.5 MiB25.4%series
734.0 MiB21.0%rewrite
378.7 MiB10.8%reconstruct
160.3 MiB4.6%regimes
152.2 MiB4.3%analyze
124.8 MiB3.6%eval
47.5 MiB1.4%prune
33.9 MiB1.0%preprocess
0.9 MiB0.0%derivations
0.8 MiB0.0%bsearch
0.1 MiB0.0%start
0.0 MiB0.0%end
3 499.1 MiB100.0%total

Profiling

Loading profile data...