UniformSampleCone, x

Time bar (total: 5.2s)

start0.0ms (0.0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage

analyze93.0ms (1.8%)

Memory
-12.8MiB live, 149.5MiB allocated; 11ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%0.1%99.9%0.0%0.0%0.0%0
0.0%0.0%0.1%99.9%0.0%0.0%0.0%1
0.0%0.0%0.1%99.9%0.0%0.0%0.0%2
0.0%0.0%0.1%99.9%0.0%0.0%0.0%3
12.5%0.0%0.1%99.9%0.0%0.0%0.0%4
18.7%0.0%0.1%99.9%0.0%0.0%0.0%5
28.1%0.0%0.1%99.9%0.0%0.0%0.0%6
42.2%0.0%0.1%99.9%0.0%0.0%0.0%7
49.2%0.0%0.0%99.9%0.0%0.0%0.0%8
57.4%0.1%0.0%99.9%0.0%0.0%0.0%9
67.0%0.1%0.0%99.9%0.0%0.0%0.0%10
71.8%0.1%0.0%99.9%0.0%0.0%0.0%11
76.9%0.1%0.0%99.9%0.0%0.0%0.0%12
Compiler

Compiled 49 to 28 computations (42.9% saved)

sample659.0ms (12.6%)

Memory
27.7MiB live, 659.8MiB allocated; 260ms collecting garbage
Samples
296.0ms5 067×0valid
136.0ms3 189×1valid
Precisions
Click to see histograms. Total time spent on operations: 51.0ms
Cosu: 23.0ms (44.7% of total, 0.0 MiB)
Mul: 9.0ms (17.5% of total, 0.0 MiB)
Sqrt: 6.0ms (11.7% of total, 0.0 MiB)
Sub: 5.0ms (9.7% of total, 0.0 MiB)
adjust: 4.0ms (7.8% of total, 0.0 MiB)
Add: 3.0ms (5.8% of total, 0.0 MiB)
Le: 0.0ms (0.0% of total, 0.0 MiB)
And: 0.0ms (0.0% of total, 0.0 MiB)
Assert: 0.0ms (0.0% of total, 0.0 MiB)
Bogosity

preprocess36.0ms (0.7%)

Memory
-4.7MiB live, 24.2MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
065166
1398163
22452163
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.7%
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
Symmetry

(abs uy)

Compiler

Compiled 50 to 32 computations (36.0% saved)

sample0.0ms (0.0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
2
(PI )
1
Outputs
#s(literal 2 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 1 binary32)
Samples
0.0ms0valid
Compiler

Compiled 5 to 4 computations (20.0% saved)

series38.0ms (0.7%)

Memory
-3.7MiB live, 63.5MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06415309
Stop Event
iter-limit
Counts
16 → 106
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%10 = (*.f32 ux maxCos)
%11 = (+.f32 %8 %10)
%12 = (*.f32 %11 %11)
%13 = (-.f32 #s(literal 1 binary32) %12)
%14 = (sqrt.f32 %13)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
%10
%11
%12
%13
%14
(*.f32 %5 %14)
Outputs
%6 = (- 1 ux)
%10 = (*.f32 #s(literal -1 binary32) ux)
%14 = (* ux maxCos)
%15 = (*.f32 maxCos ux)
%17 = (+ %6 %14)
%18 = (-.f32 maxCos #s(literal 1 binary32))
%19 = (*.f32 ux %18)
%22 = (* %17 %17)
%24 = (*.f32 #s(literal 2 binary32) maxCos)
%29 = (pow.f32 %18 #s(literal 2 binary32))
%30 = (*.f32 ux %29)
%36 = (- 1 %22)
%37 = (-.f32 #s(literal 2 binary32) %24)
%38 = (*.f32 ux %37)
%45 = (sqrt %36)
%46 = (sqrt.f32 %38)
%49 = (pow.f32 ux #s(literal 2 binary32))
%50 = (*.f32 %49 %29)
%55 = (/.f32 %29 %46)
%58 = (pow.f32 %18 #s(literal 4 binary32))
%61 = (pow.f32 %46 #s(literal 3 binary32))
%71 = (pow.f32 %18 #s(literal 6 binary32))
%74 = (pow.f32 %46 #s(literal 5 binary32))
%84 = (* uy 2)
%86 = (* %84 (PI ))
%87 = (cos %86)
%88 = (* %87 %45)
%89 = (PI.f32 )
%91 = (*.f32 #s(literal 2 binary32) (*.f32 uy %89))
%92 = (cos.f32 %91)
%93 = (*.f32 %92 %46)
%95 = (*.f32 %92 %29)
%100 = (/.f32 %95 %46)
%101 = (*.f32 %92 %58)
%121 = (/.f32 #s(literal 1 binary32) ux)
%131 = (/.f32 maxCos ux)
%132 = (fma.f32 #s(literal 2 binary32) %131 %29)
%133 = (*.f32 #s(literal 2 binary32) %121)
%149 = (sqrt.f32 (neg.f32 %29))
%150 = (*.f32 ux %149)
%154 = (*.f32 #s(literal 1/2 binary32) (/.f32 %37 %150))
%158 = (pow.f32 %37 #s(literal 2 binary32))
%160 = (*.f32 %49 (pow.f32 %149 #s(literal 3 binary32)))
%161 = (/.f32 %158 %160)
%167 = (pow.f32 %37 #s(literal 3 binary32))
%170 = (*.f32 (pow.f32 ux #s(literal 3 binary32)) (pow.f32 %149 #s(literal 5 binary32)))
%177 = (*.f32 %92 %149)
%182 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %92 %37) %150) %177)
%186 = (/.f32 (*.f32 %92 %158) %160)
%201 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) maxCos))
%209 = (pow.f32 %201 #s(literal 2 binary32))
%210 = (*.f32 %49 %209)
%214 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) maxCos))
%231 = (sqrt.f32 (neg.f32 %209))
%232 = (*.f32 ux %231)
%241 = (/.f32 %214 %231)
%243 = (pow.f32 %214 #s(literal 2 binary32))
%244 = (pow.f32 %231 #s(literal 3 binary32))
%245 = (*.f32 ux %244)
%256 = (pow.f32 %214 #s(literal 3 binary32))
%258 = (*.f32 ux (pow.f32 %231 #s(literal 5 binary32)))
%271 = (*.f32 %92 %231)
%275 = (*.f32 %92 %214)
%281 = (/.f32 %275 %231)
%282 = (*.f32 %92 %243)
%308 = (pow.f32 uy #s(literal 2 binary32))
%309 = (pow.f32 %89 #s(literal 2 binary32))
%315 = (pow.f32 %89 #s(literal 4 binary32))
%323 = (pow.f32 %89 #s(literal 6 binary32))
%333 = (-.f32 (+.f32 #s(literal 1 binary32) %15) ux)
%336 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 %333 #s(literal 2 binary32))))
%338 = (*.f32 %309 %336)
%343 = (*.f32 %315 %336)
%363 = (-.f32 #s(literal 1 binary32) ux)
%366 = (pow.f32 %363 #s(literal 2 binary32))
%368 = (*.f32 ux %363)
%369 = (*.f32 maxCos %368)
%372 = (*.f32 maxCos %49)
%376 = (-.f32 #s(literal 1 binary32) %366)
%389 = (sqrt.f32 %376)
%395 = (/.f32 %368 %389)
%396 = (*.f32 %49 %366)
%399 = (+.f32 (/.f32 %396 (pow.f32 %389 #s(literal 2 binary32))) %49)
%407 = (*.f32 %399 %363)
%410 = (pow.f32 %389 #s(literal 3 binary32))
%420 = (*.f32 %92 %389)
%423 = (*.f32 ux (*.f32 %92 %363))
%428 = (/.f32 %423 %389)
%429 = (*.f32 %92 %399)
%453 = (pow.f32 maxCos #s(literal 2 binary32))
%454 = (*.f32 %453 %49)
%456 = (/.f32 %368 maxCos)
%462 = (fma.f32 #s(literal 2 binary32) %456 (+.f32 (/.f32 %366 %453) %49))
%476 = (sqrt.f32 (neg.f32 %49))
%477 = (*.f32 maxCos %476)
%479 = (/.f32 %368 %477)
%482 = (*.f32 maxCos (+.f32 %476 (*.f32 #s(literal -1 binary32) %479)))
%487 = (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 %396 (pow.f32 %476 #s(literal 2 binary32))) %366))
%488 = (*.f32 %453 %476)
%490 = (*.f32 #s(literal 1/2 binary32) (/.f32 %487 %488))
%495 = (*.f32 %363 %487)
%496 = (*.f32 ux %495)
%498 = (pow.f32 %476 #s(literal 3 binary32))
%499 = (*.f32 (pow.f32 maxCos #s(literal 3 binary32)) %498)
%506 = (*.f32 %92 %476)
%507 = (*.f32 maxCos %506)
%509 = (/.f32 %423 %477)
%511 = (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %509 %506))
%513 = (*.f32 %92 %487)
%515 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %513 %488) %506)
%520 = (*.f32 ux (*.f32 %92 %495))
%553 = (/.f32 %368 %476)
%561 = (*.f32 maxCos %498)
%579 = (/.f32 %423 %476)
(approx uy #s(literal 0 binary32))
(approx ux ux)
(approx %6 #s(literal 1 binary32))
(approx %6 (+.f32 #s(literal 1 binary32) %10))
(approx %14 %15)
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %22 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %24 #s(literal 2 binary32)))))
(approx %22 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (fma.f32 #s(literal 2 binary32) maxCos %30) #s(literal 2 binary32)))))
(approx %36 %38)
(approx %36 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) %30)) %24)))
(approx %45 %46)
(approx %45 (+.f32 %46 (*.f32 #s(literal -1/2 binary32) (/.f32 %50 %46))))
(approx %45 (+.f32 %46 (*.f32 %49 (fma.f32 #s(literal -1/2 binary32) %55 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %49 %58) %61))))))
(approx %45 (+.f32 %46 (*.f32 %49 (fma.f32 #s(literal -1/2 binary32) %55 (*.f32 %49 (fma.f32 #s(literal -1/8 binary32) (/.f32 %58 %61) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %49 %71) %74))))))))
(approx %88 %93)
(approx %88 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %49 %95) %46) %93))
(approx %88 (fma.f32 %92 %46 (*.f32 %49 (fma.f32 #s(literal -1/2 binary32) %100 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %49 %101) %61))))))
(approx %88 (fma.f32 %92 %46 (*.f32 %49 (fma.f32 #s(literal -1/2 binary32) %100 (*.f32 %49 (fma.f32 #s(literal -1/8 binary32) (/.f32 %101 %61) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %49 (*.f32 %92 %71)) %74))))))))
(approx %6 %10)
(approx %6 (*.f32 ux (-.f32 %121 #s(literal 1 binary32))))
(approx %17 %19)
(approx %17 (*.f32 ux (-.f32 (+.f32 maxCos %121) #s(literal 1 binary32))))
(approx %22 %50)
(approx %22 (*.f32 %49 (-.f32 %132 %133)))
(approx %22 (*.f32 %49 (-.f32 (fma.f32 #s(literal 2 binary32) %131 (+.f32 (/.f32 #s(literal 1 binary32) %49) %29)) %133)))
(approx %36 (*.f32 #s(literal -1 binary32) %50))
(approx %36 (*.f32 %49 (-.f32 %133 %132)))
(approx %45 %150)
(approx %45 (*.f32 ux (+.f32 %149 %154)))
(approx %45 (*.f32 ux (+.f32 %149 (fma.f32 #s(literal -1/8 binary32) %161 %154))))
(approx %45 (*.f32 ux (+.f32 %149 (fma.f32 #s(literal -1/8 binary32) %161 (fma.f32 #s(literal 1/16 binary32) (/.f32 %167 %170) %154)))))
(approx %88 (*.f32 ux %177))
(approx %88 (*.f32 ux %182))
(approx %88 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %186 %182)))
(approx %88 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %186 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %92 %167) %170) %182))))
(approx %6 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) %121))))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 ux %201)))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %201 %121))))
(approx %22 %210)
(approx %22 (*.f32 %49 (fma.f32 #s(literal -1 binary32) (/.f32 %214 ux) %209)))
(approx %22 (*.f32 %49 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 %214 %121) ux) %209)))
(approx %36 (*.f32 #s(literal -1 binary32) %210))
(approx %36 (*.f32 %49 (-.f32 (fma.f32 #s(literal -2 binary32) %131 %133) %209)))
(approx %45 (*.f32 #s(literal -1 binary32) %232))
(approx %45 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %231 (*.f32 #s(literal 1/2 binary32) (/.f32 %214 %232))))))
(approx %45 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %231 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %241 (*.f32 #s(literal 1/8 binary32) (/.f32 %243 %245))) ux))))))
(approx %45 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %231 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %243 %244) (*.f32 #s(literal 1/16 binary32) (/.f32 %256 %258))) ux) (*.f32 #s(literal -1/2 binary32) %241)) ux))))))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 ux %271)))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %275 %232) %271))))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %281 (*.f32 #s(literal 1/8 binary32) (/.f32 %282 %245))) ux) %271))))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %282 %244) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %92 %256) %258))) ux) (*.f32 #s(literal -1/2 binary32) %281)) ux) %271))))
(approx uy uy)
(approx %84 (*.f32 #s(literal 2 binary32) uy))
(approx %86 %91)
(approx %87 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 %308 %309))))
(approx %87 (+.f32 #s(literal 1 binary32) (*.f32 %308 (fma.f32 #s(literal -2 binary32) %309 (*.f32 #s(literal 2/3 binary32) (*.f32 %308 %315))))))
(approx %87 (+.f32 #s(literal 1 binary32) (*.f32 %308 (fma.f32 #s(literal -2 binary32) %309 (*.f32 %308 (fma.f32 #s(literal -4/45 binary32) (*.f32 %308 %323) (*.f32 #s(literal 2/3 binary32) %315)))))))
(approx %88 %336)
(approx %88 (+.f32 %336 (*.f32 #s(literal -2 binary32) (*.f32 %308 %338))))
(approx %88 (+.f32 %336 (*.f32 %308 (fma.f32 #s(literal -2 binary32) %338 (*.f32 #s(literal 2/3 binary32) (*.f32 %308 %343))))))
(approx %88 (+.f32 %336 (*.f32 %308 (fma.f32 #s(literal -2 binary32) %338 (*.f32 %308 (fma.f32 #s(literal -4/45 binary32) (*.f32 %308 (*.f32 %323 %336)) (*.f32 #s(literal 2/3 binary32) %343)))))))
(approx %87 %92)
(approx %88 (*.f32 %92 %336))
(approx maxCos maxCos)
(approx %17 %363)
(approx %17 %333)
(approx %22 %366)
(approx %22 (fma.f32 #s(literal 2 binary32) %369 %366))
(approx %22 (fma.f32 maxCos (fma.f32 #s(literal 2 binary32) %368 %372) %366))
(approx %36 %376)
(approx %36 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) %369)) %366))
(approx %36 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %372) (*.f32 #s(literal 2 binary32) %368)))) %366))
(approx %45 %389)
(approx %45 (+.f32 %389 (*.f32 #s(literal -1 binary32) (/.f32 %369 %389))))
(approx %45 (+.f32 %389 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %395 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %399) %389))))))
(approx %45 (+.f32 %389 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %395 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux %407)) %410) (*.f32 #s(literal -1/2 binary32) (/.f32 %399 %389))))))))
(approx %88 %420)
(approx %88 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 maxCos %423) %389) %420))
(approx %88 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %428 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %429) %389))) %420))
(approx %88 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %428 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux (*.f32 %92 %407))) %410) (*.f32 #s(literal -1/2 binary32) (/.f32 %429 %389))))) %420))
(approx %17 (*.f32 maxCos (-.f32 (+.f32 ux (/.f32 #s(literal 1 binary32) maxCos)) (/.f32 ux maxCos))))
(approx %22 %454)
(approx %22 (*.f32 %453 (fma.f32 #s(literal 2 binary32) %456 %49)))
(approx %22 (*.f32 %453 %462))
(approx %36 (*.f32 #s(literal -1 binary32) %454))
(approx %36 (*.f32 %453 (-.f32 (*.f32 #s(literal -2 binary32) %456) %49)))
(approx %36 (*.f32 %453 (-.f32 (/.f32 #s(literal 1 binary32) %453) %462)))
(approx %45 %477)
(approx %45 %482)
(approx %45 (*.f32 maxCos (+.f32 %476 (fma.f32 #s(literal -1 binary32) %479 %490))))
(approx %45 (*.f32 maxCos (+.f32 %476 (fma.f32 #s(literal -1 binary32) %479 (fma.f32 #s(literal 1/2 binary32) (/.f32 %496 %499) %490)))))
(approx %88 %507)
(approx %88 %511)
(approx %88 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %509 %515)))
(approx %88 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %509 (fma.f32 #s(literal 1/2 binary32) (/.f32 %520 %499) %515))))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %363 maxCos))))))
(approx %22 (*.f32 %453 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) %368 (*.f32 #s(literal -1 binary32) (/.f32 %366 maxCos))) maxCos) %49)))
(approx %36 (*.f32 %453 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %376 maxCos)) (*.f32 #s(literal -2 binary32) %368)) maxCos)) %49)))
(approx %45 (*.f32 #s(literal -1 binary32) %477))
(approx %45 (*.f32 #s(literal -1 binary32) %482))
(approx %45 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %476 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %487 %477) %553) maxCos))))))
(approx %45 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %476 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %496 %561) (*.f32 #s(literal 1/2 binary32) (/.f32 %487 %476))) maxCos) %553) maxCos))))))
(approx %88 (*.f32 #s(literal -1 binary32) %507))
(approx %88 (*.f32 #s(literal -1 binary32) %511))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %513 %477) %579) maxCos) %506))))
(approx %88 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %520 %561) (*.f32 #s(literal 1/2 binary32) (/.f32 %513 %476))) maxCos) %579) maxCos) %506))))
Calls

9 calls:

TimeVariablePoint
3.0ms
ux
-inf
2.0ms
uy
0
2.0ms
maxCos
0
1.0ms
ux
0
1.0ms
maxCos
inf

rewrite147.0ms (2.8%)

Memory
3.0MiB live, 155.4MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016108
02778
19678
246578
3389478
0547678
0550573
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
16 → 724
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%10 = (*.f32 ux maxCos)
%11 = (+.f32 %8 %10)
%12 = (*.f32 %11 %11)
%13 = (-.f32 #s(literal 1 binary32) %12)
%14 = (sqrt.f32 %13)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
%10
%11
%12
%13
%14
(*.f32 %5 %14)
Outputs
%9 = (+.f32 uy uy)
%14 = (neg.f32 uy)
%22 = (PI.f32 )
%23 = (*.f32 %22 uy)
%27 = (+.f32 %22 %22)
%30 = (*.f32 #s(literal -2 binary32) uy)
%31 = (neg.f32 %30)
%33 = (neg.f32 %22)
%34 = (neg.f32 %33)
%37 = (*.f32 #s(literal -2 binary32) %22)
%41 = (*.f32 %27 uy)
%49 = (*.f32 #s(literal 1 binary32) %23)
%55 = (*.f32 %23 #s(literal 1 binary32))
%64 = (*.f32 %23 #s(literal -2 binary32))
%66 = (cos.f32 %23)
%68 = (sin.f32 %23)
%71 = (sin.f32 %41)
%73 = (*.f32 %71 #s(literal 0 binary32))
%74 = (cos.f32 %41)
%78 = (*.f32 #s(literal 1 binary32) %74)
%86 = (sin.f32 %64)
%88 = (fabs.f32 %41)
%89 = (sin.f32 %88)
%102 = (neg.f32 %88)
%103 = (*.f32 #s(literal 1/2 binary32) %22)
%104 = (+.f32 %102 %103)
%106 = (fma.f32 #s(literal -2 binary32) uy #s(literal 1/2 binary32))
%107 = (*.f32 %22 %106)
%109 = (fma.f32 #s(literal 1/2 binary32) %22 %88)
%111 = (fma.f32 #s(literal 2 binary32) uy #s(literal 1/2 binary32))
%112 = (*.f32 %22 %111)
%114 = (neg.f32 %102)
%120 = (neg.f32 ux)
%124 = (-.f32 #s(literal 1 binary32) ux)
%139 = (-.f32 ux #s(literal 1 binary32))
%142 = (neg.f32 maxCos)
%143 = (neg.f32 %142)
%147 = (*.f32 maxCos ux)
%151 = (*.f32 %142 ux)
%153 = (fma.f32 maxCos ux %124)
%154 = (*.f32 %153 #s(literal 1/2 binary32))
%156 = (*.f32 %153 #s(literal 2 binary32))
%158 = (*.f32 #s(literal 2 binary32) %153)
%162 = (*.f32 #s(literal 1/2 binary32) %153)
%166 = (fma.f32 maxCos ux #s(literal 1 binary32))
%168 = (-.f32 %147 ux)
%172 = (-.f32 ux %147)
%174 = (*.f32 %153 #s(literal 0 binary32))
%176 = (*.f32 #s(literal 0 binary32) %153)
%181 = (*.f32 %120 #s(literal 1 binary32))
%184 = (*.f32 %124 #s(literal 1 binary32))
%193 = (*.f32 %147 #s(literal 1 binary32))
%197 = (*.f32 #s(literal 1 binary32) %120)
%199 = (*.f32 #s(literal 1 binary32) %124)
%203 = (*.f32 #s(literal 1 binary32) %147)
%226 = (-.f32 #s(literal 1/2 binary32) %172)
%237 = (*.f32 #s(literal 1 binary32) %168)
%240 = (-.f32 ux %166)
%246 = (fabs.f32 %153)
%247 = (neg.f32 %246)
%248 = (neg.f32 %247)
%255 = (*.f32 %153 %153)
%258 = (*.f32 %139 %139)
%259 = (*.f32 #s(literal 2 binary32) %124)
%260 = (*.f32 %259 %151)
%261 = (*.f32 %147 maxCos)
%262 = (*.f32 %261 ux)
%266 = (fma.f32 %261 ux (*.f32 %259 %147))
%269 = (fma.f32 %259 %147 %258)
%270 = (neg.f32 %262)
%272 = (*.f32 %124 maxCos)
%275 = (fma.f32 %139 %139 (*.f32 #s(literal -2 binary32) (*.f32 %272 %120)))
%277 = (*.f32 %172 #s(literal 2 binary32))
%278 = (-.f32 #s(literal 1 binary32) %277)
%279 = (*.f32 %172 %172)
%282 = (*.f32 %153 ux)
%283 = (*.f32 %282 maxCos)
%284 = (*.f32 %139 %153)
%286 = (*.f32 %139 %240)
%287 = (*.f32 %147 %240)
%291 = (fma.f32 %120 %153 %283)
%293 = (*.f32 %120 %153)
%294 = (-.f32 %293 %287)
%296 = (*.f32 %153 %168)
%298 = (*.f32 %168 %153)
%300 = (fma.f32 %272 ux %286)
%304 = (fma.f32 %261 ux %286)
%306 = (fma.f32 %139 %139 %283)
%308 = (-.f32 %258 %287)
%310 = (*.f32 %147 ux)
%314 = (*.f32 %124 ux)
%318 = (*.f32 maxCos maxCos)
%319 = (*.f32 ux ux)
%330 = (fabs.f32 %124)
%331 = (fma.f32 %272 ux %283)
%333 = (*.f32 %272 ux)
%334 = (-.f32 %333 %287)
%337 = (fabs.f32 %147)
%343 = (*.f32 %153 maxCos)
%356 = (*.f32 %240 %151)
%358 = (*.f32 %151 %240)
%382 = (*.f32 ux %124)
%386 = (*.f32 ux %147)
%400 = (*.f32 maxCos %147)
%404 = (*.f32 maxCos %124)
%439 = (pow.f32 %139 #s(literal 2 binary32))
%448 = (pow.f32 %166 #s(literal 2 binary32))
%493 = (*.f32 %240 %153)
%497 = (-.f32 %246 #s(literal -1 binary32))
%498 = (neg.f32 %497)
%499 = (-.f32 %246 #s(literal 1 binary32))
%501 = (-.f32 %172 #s(literal 0 binary32))
%502 = (neg.f32 %501)
%503 = (-.f32 %172 #s(literal 2 binary32))
%505 = (+.f32 #s(literal 1 binary32) %247)
%506 = (-.f32 #s(literal 1 binary32) %247)
%508 = (neg.f32 %499)
%510 = (-.f32 #s(literal 1 binary32) %246)
%512 = (-.f32 %153 #s(literal 1 binary32))
%514 = (neg.f32 %503)
%516 = (-.f32 %153 #s(literal -1 binary32))
%518 = (neg.f32 %512)
%520 = (-.f32 #s(literal 1 binary32) %153)
%522 = (fma.f32 %240 %153 #s(literal 1 binary32))
%523 = (sqrt.f32 %522)
%524 = (neg.f32 %523)
%527 = (acos.f32 %246)
%528 = (neg.f32 %527)
%529 = (+.f32 %527 %103)
%536 = (acos.f32 %240)
%537 = (+.f32 %536 %103)
%544 = (acos.f32 %153)
%545 = (+.f32 %544 %103)
%552 = (asin.f32 %153)
%553 = (fabs.f32 %552)
%554 = (+.f32 %553 %22)
%561 = (asin.f32 %246)
%562 = (+.f32 %561 %22)
%569 = (asin.f32 %240)
%570 = (+.f32 %569 %22)
%577 = (+.f32 %552 %22)
%584 = (neg.f32 %536)
%627 = (neg.f32 %544)
%670 = (+.f32 %527 %22)
%713 = (+.f32 %536 %22)
%756 = (+.f32 %544 %22)
%799 = (+.f32 %553 %103)
%800 = (neg.f32 %553)
%807 = (fabs.f32 %553)
%814 = (fabs.f32 %561)
%821 = (asin.f32 %247)
%852 = (+.f32 %561 %103)
%901 = (+.f32 %569 %103)
%950 = (acos.f32 %247)
%1295 = (*.f32 %522 %522)
%1297 = (-.f32 #s(literal 1 binary32) %286)
%1326 = (sin.f32 %553)
%1329 = (sin.f32 %561)
%1332 = (sin.f32 %569)
%1335 = (sin.f32 %552)
%1341 = (neg.f32 %343)
%1342 = (fma.f32 %139 %153 #s(literal 1 binary32))
%1366 = (fma.f32 %147 %240 #s(literal 1 binary32))
%1369 = (neg.f32 (fma.f32 %282 maxCos #s(literal -1 binary32)))
%1436 = (sqrt.f32 %523)
%1438 = (*.f32 #s(literal 1 binary32) %523)
%1441 = (*.f32 %523 #s(literal 1 binary32))
%1443 = (cos.f32 %544)
%1491 = (cos.f32 (fma.f32 %27 uy %552))
%1493 = (cos.f32 (fma.f32 %27 uy %569))
%1494 = (+.f32 %1491 %1493)
%1496 = (fabs.f32 %23)
%1498 = (cos.f32 (fma.f32 %1496 #s(literal 2 binary32) %569))
%1500 = (cos.f32 (fma.f32 %1496 #s(literal 2 binary32) %552))
%1501 = (+.f32 %1498 %1500)
%1504 = (cos.f32 (fma.f32 %22 %111 %544))
%1505 = (-.f32 %1491 %1504)
%1508 = (sin.f32 (fma.f32 %23 #s(literal -2 binary32) %544))
%1510 = (sin.f32 (fma.f32 %27 uy %544))
%1511 = (+.f32 %1508 %1510)
%1514 = (sin.f32 (fma.f32 %1496 #s(literal 2 binary32) %544))
%1516 = (sin.f32 (-.f32 %544 %88))
%1517 = (+.f32 %1514 %1516)
%1520 = (sin.f32 (fma.f32 %27 uy %536))
%1521 = (+.f32 %1510 %1520)
%1523 = (*.f32 %523 %74)
%2156 = (/.f32 %1491 #s(literal 2 binary32))
%2159 = (*.f32 %78 %523)
%2161 = (*.f32 %523 %78)
%2168 = (/.f32 %1493 #s(literal 2 binary32))
%2174 = (/.f32 %1508 #s(literal 2 binary32))
%2175 = (/.f32 %1510 #s(literal 2 binary32))
uy
#s(literal 2 binary32)
(*.f32 (*.f32 uy #s(literal 1/2 binary32)) #s(literal 4 binary32))
(*.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 4 binary32) uy))
(*.f32 #s(literal 1 binary32) %9)
(*.f32 %9 #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) uy)
(*.f32 uy #s(literal 2 binary32))
(-.f32 uy (*.f32 %14 #s(literal 1 binary32)))
(-.f32 uy (*.f32 #s(literal -1 binary32) uy))
(-.f32 uy %14)
(pow.f32 %9 #s(literal 1 binary32))
%9
%22
(*.f32 (*.f32 %23 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(*.f32 (neg.f32 %14) %27)
(*.f32 %31 %22)
(*.f32 %34 %9)
(*.f32 %23 #s(literal 2 binary32))
(*.f32 %14 %37)
(*.f32 %30 %33)
(*.f32 %33 %30)
(*.f32 %41 #s(literal 1 binary32))
%41
(*.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 4 binary32) %23))
(*.f32 %22 %31)
(*.f32 %22 %9)
(*.f32 %9 %34)
(*.f32 %9 %22)
(*.f32 #s(literal 2 binary32) %49)
(*.f32 #s(literal 2 binary32) %23)
(*.f32 uy (neg.f32 %37))
(*.f32 uy %27)
(fma.f32 %23 #s(literal 1 binary32) %55)
(fma.f32 #s(literal 1 binary32) %23 %49)
(fma.f32 %22 uy %23)
(fma.f32 uy %22 %23)
(pow.f32 %41 #s(literal 1 binary32))
(+.f32 %55 %55)
(+.f32 %49 %49)
(+.f32 %23 %23)
(neg.f32 %64)
(-.f32 (*.f32 %66 %66) (*.f32 %68 %68))
(-.f32 %73 (*.f32 (neg.f32 %74) #s(literal 1 binary32)))
(-.f32 %73 (neg.f32 %78))
(-.f32 %73 (*.f32 %74 (sin.f32 (*.f32 %22 #s(literal -1/2 binary32)))))
(fma.f32 %86 #s(literal 0 binary32) %78)
(fma.f32 %89 #s(literal 0 binary32) %78)
(fma.f32 %71 #s(literal 0 binary32) %78)
(fma.f32 #s(literal 0 binary32) %71 %78)
(fma.f32 #s(literal 1 binary32) %74 %73)
(fma.f32 %74 #s(literal 1 binary32) %73)
(pow.f32 %74 #s(literal 1 binary32))
(+.f32 (*.f32 %86 #s(literal 0 binary32)) %78)
(+.f32 (*.f32 %89 #s(literal 0 binary32)) %78)
(+.f32 %78 %73)
(+.f32 %73 %78)
(sin.f32 %104)
(sin.f32 %107)
(sin.f32 %109)
(sin.f32 %112)
(cos.f32 %114)
%74
(cos.f32 %102)
(cos.f32 %64)
(cos.f32 %88)
#s(literal 1 binary32)
ux
(/.f32 (fma.f32 %120 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
(-.f32 %120 #s(literal -1 binary32))
%124
(pow.f32 %124 #s(literal 1 binary32))
(+.f32 (+.f32 %120 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(+.f32 %120 #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %120))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) ux))
(+.f32 %124 #s(literal 0 binary32))
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 0 binary32) %120))
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 0 binary32) ux))
(+.f32 #s(literal 1 binary32) %120)
(neg.f32 %139)
maxCos
(*.f32 %143 ux)
(*.f32 %142 %120)
(*.f32 %120 %142)
%147
(*.f32 ux %143)
(*.f32 ux maxCos)
(pow.f32 %147 #s(literal 1 binary32))
(neg.f32 %151)
(*.f32 %154 #s(literal 2 binary32))
(*.f32 %156 #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) %158)
(*.f32 %153 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %153)
(*.f32 #s(literal 2 binary32) %162)
(/.f32 %158 #s(literal 2 binary32))
(/.f32 %156 #s(literal 2 binary32))
(-.f32 %166 ux)
(-.f32 %168 #s(literal -1 binary32))
(-.f32 %147 %139)
(-.f32 %124 %151)
(-.f32 #s(literal 1 binary32) %172)
(fma.f32 %154 #s(literal 2 binary32) %174)
(fma.f32 %154 #s(literal 2 binary32) %176)
(fma.f32 %143 ux %124)
(fma.f32 %156 #s(literal 1/2 binary32) %174)
(fma.f32 %156 #s(literal 1/2 binary32) %176)
(fma.f32 %166 #s(literal 1 binary32) %181)
(fma.f32 %142 %120 %124)
(fma.f32 %147 #s(literal 1 binary32) %184)
(fma.f32 %120 %142 %124)
(fma.f32 #s(literal 1/2 binary32) %158 %174)
(fma.f32 #s(literal 1/2 binary32) %158 %176)
(fma.f32 #s(literal 1/2 binary32) %153 %162)
(fma.f32 %153 #s(literal 1/2 binary32) %154)
(fma.f32 %153 #s(literal 1 binary32) %174)
(fma.f32 %153 #s(literal 1 binary32) %176)
%153
(fma.f32 %124 #s(literal 1 binary32) %193)
(fma.f32 ux %143 %124)
(fma.f32 ux maxCos %124)
(fma.f32 #s(literal 1 binary32) %166 %197)
(fma.f32 #s(literal 1 binary32) %147 %199)
(fma.f32 #s(literal 1 binary32) %153 %174)
(fma.f32 #s(literal 1 binary32) %153 %176)
(fma.f32 #s(literal 1 binary32) %124 %203)
(fma.f32 #s(literal 2 binary32) %162 %174)
(fma.f32 #s(literal 2 binary32) %162 %176)
(pow.f32 %153 #s(literal 1 binary32))
(+.f32 %154 %154)
(+.f32 (*.f32 #s(literal 1 binary32) %166) %197)
(+.f32 %162 %162)
(+.f32 (*.f32 %166 #s(literal 1 binary32)) %181)
(+.f32 %193 %184)
(+.f32 %184 %193)
(+.f32 %199 %203)
(+.f32 %203 %199)
(+.f32 %166 %120)
(+.f32 %168 #s(literal 1 binary32))
(+.f32 %147 %124)
(+.f32 %120 (-.f32 #s(literal 1 binary32) %151))
(+.f32 %120 %166)
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %168))
(+.f32 #s(literal 1/2 binary32) %226)
(+.f32 %153 %174)
(+.f32 %153 %176)
(+.f32 %124 %147)
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 0 binary32) %168))
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 0 binary32) %172))
(+.f32 #s(literal 1 binary32) (*.f32 %168 #s(literal 1 binary32)))
(+.f32 #s(literal 1 binary32) %237)
(+.f32 #s(literal 1 binary32) %168)
(neg.f32 (*.f32 %240 #s(literal 1 binary32)))
(neg.f32 (*.f32 #s(literal 1 binary32) %240))
(neg.f32 %240)
(*.f32 %248 %248)
(*.f32 %248 %246)
(*.f32 %247 %247)
(*.f32 %246 %248)
(*.f32 %246 %246)
(*.f32 %240 %240)
%255
(sqrt.f32 (*.f32 %255 %255))
(-.f32 %258 (-.f32 %260 %262))
(-.f32 %266 (neg.f32 %258))
(-.f32 %269 %270)
(-.f32 %275 %270)
(-.f32 %278 (neg.f32 %279))
(-.f32 %283 %284)
(-.f32 %286 %287)
(-.f32 #s(literal 1 binary32) (-.f32 %277 %279))
(fma.f32 %154 #s(literal 2 binary32) %291)
(fma.f32 %154 #s(literal 2 binary32) %294)
(fma.f32 %154 #s(literal 2 binary32) %296)
(fma.f32 %154 #s(literal 2 binary32) %298)
(fma.f32 %261 ux %300)
(fma.f32 %261 ux %269)
(fma.f32 %261 ux %275)
(fma.f32 %272 ux %304)
(fma.f32 %272 ux %306)
(fma.f32 %272 ux %308)
(fma.f32 %310 maxCos %300)
(fma.f32 %310 maxCos %269)
(fma.f32 %310 maxCos %275)
(fma.f32 %314 maxCos %304)
(fma.f32 %314 maxCos %306)
(fma.f32 %314 maxCos %308)
(fma.f32 %318 %319 %300)
(fma.f32 %318 %319 %269)
(fma.f32 %318 %319 %275)
(fma.f32 %319 %318 %300)
(fma.f32 %319 %318 %269)
(fma.f32 %319 %318 %275)
(fma.f32 %156 #s(literal 1/2 binary32) %291)
(fma.f32 %156 #s(literal 1/2 binary32) %294)
(fma.f32 %156 #s(literal 1/2 binary32) %296)
(fma.f32 %156 #s(literal 1/2 binary32) %298)
(fma.f32 %330 %330 %331)
(fma.f32 %330 %330 %334)
(fma.f32 %330 %330 %266)
(fma.f32 %337 %337 %300)
(fma.f32 %337 %337 %269)
(fma.f32 %337 %337 %275)
(fma.f32 %166 %153 %293)
(fma.f32 %282 maxCos %286)
(fma.f32 %343 ux %286)
(fma.f32 %147 %147 %300)
(fma.f32 %147 %147 %269)
(fma.f32 %147 %147 %275)
(fma.f32 %147 %153 %286)
(fma.f32 %147 %124 %304)
(fma.f32 %147 %124 %306)
(fma.f32 %147 %124 %308)
(fma.f32 %172 %172 %278)
(fma.f32 %139 %139 %331)
(fma.f32 %139 %139 %334)
(fma.f32 %139 %139 %266)
(fma.f32 %139 %240 %356)
(fma.f32 %139 %240 %358)
(fma.f32 %139 %240 %283)
(fma.f32 %151 %151 %300)
(fma.f32 %151 %151 %269)
(fma.f32 %151 %151 %275)
(fma.f32 %151 %240 %286)
(fma.f32 %240 %139 %356)
(fma.f32 %240 %139 %358)
(fma.f32 %240 %139 %283)
(fma.f32 %240 %151 %286)
(fma.f32 #s(literal 1/2 binary32) %158 %291)
(fma.f32 #s(literal 1/2 binary32) %158 %294)
(fma.f32 #s(literal 1/2 binary32) %158 %296)
(fma.f32 #s(literal 1/2 binary32) %158 %298)
(fma.f32 %153 %166 %293)
(fma.f32 %153 %147 %286)
(fma.f32 %153 %124 %356)
(fma.f32 %153 %124 %358)
(fma.f32 %153 %124 %283)
(fma.f32 %153 #s(literal 1 binary32) %291)
(fma.f32 %153 #s(literal 1 binary32) %294)
(fma.f32 %153 #s(literal 1 binary32) %296)
(fma.f32 %153 #s(literal 1 binary32) %298)
(fma.f32 maxCos %382 %304)
(fma.f32 maxCos %382 %306)
(fma.f32 maxCos %382 %308)
(fma.f32 maxCos %386 %300)
(fma.f32 maxCos %386 %269)
(fma.f32 maxCos %386 %275)
(fma.f32 maxCos %282 %286)
(fma.f32 %124 %147 %304)
(fma.f32 %124 %147 %306)
(fma.f32 %124 %147 %308)
(fma.f32 %124 %153 %356)
(fma.f32 %124 %153 %358)
(fma.f32 %124 %153 %283)
(fma.f32 %124 %124 %331)
(fma.f32 %124 %124 %334)
(fma.f32 %124 %124 %266)
(fma.f32 ux %400 %300)
(fma.f32 ux %400 %269)
(fma.f32 ux %400 %275)
(fma.f32 ux %404 %304)
(fma.f32 ux %404 %306)
(fma.f32 ux %404 %308)
(fma.f32 ux %343 %286)
(fma.f32 #s(literal 1 binary32) %153 %291)
(fma.f32 #s(literal 1 binary32) %153 %294)
(fma.f32 #s(literal 1 binary32) %153 %296)
(fma.f32 #s(literal 1 binary32) %153 %298)
(fma.f32 #s(literal 2 binary32) %226 %279)
(fma.f32 #s(literal 2 binary32) %162 %291)
(fma.f32 #s(literal 2 binary32) %162 %294)
(fma.f32 #s(literal 2 binary32) %162 %296)
(fma.f32 #s(literal 2 binary32) %162 %298)
(pow.f32 %247 #s(literal 2 binary32))
(pow.f32 %246 #s(literal 2 binary32))
(pow.f32 %240 #s(literal 2 binary32))
(pow.f32 %255 #s(literal 1 binary32))
(pow.f32 %153 #s(literal 2 binary32))
(+.f32 (fma.f32 %282 maxCos %258) %333)
(+.f32 (fma.f32 %282 maxCos %153) %293)
(+.f32 (fma.f32 %282 maxCos %333) %258)
(+.f32 (fma.f32 %139 %240 %262) %333)
(+.f32 (fma.f32 %139 %240 %333) %262)
(+.f32 %356 %286)
(+.f32 (*.f32 %153 %166) %293)
(+.f32 (*.f32 %166 %153) %293)
(+.f32 %358 %286)
(+.f32 (+.f32 %439 (*.f32 #s(literal 2 binary32) (*.f32 %139 %151))) %262)
(+.f32 (fma.f32 %261 ux (*.f32 #s(literal 2 binary32) (*.f32 %151 %139))) %439)
(+.f32 (+.f32 %448 (*.f32 #s(literal 2 binary32) (*.f32 %166 %120))) (pow.f32 %120 #s(literal 2 binary32)))
(+.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %237)) (pow.f32 %168 #s(literal 2 binary32)))
(+.f32 (-.f32 %279 %277) #s(literal 1 binary32))
(+.f32 (-.f32 %262 %260) %258)
(+.f32 (-.f32 %448 (*.f32 #s(literal 2 binary32) (*.f32 %166 ux))) (pow.f32 ux #s(literal 2 binary32)))
(+.f32 (-.f32 %262 (*.f32 #s(literal 2 binary32) (*.f32 %147 %139))) %439)
(+.f32 %258 %331)
(+.f32 %258 %334)
(+.f32 %258 %266)
(+.f32 %262 %300)
(+.f32 %262 %269)
(+.f32 %262 %275)
(+.f32 %266 %258)
(+.f32 %333 %304)
(+.f32 %333 %306)
(+.f32 %333 %308)
(+.f32 %269 %262)
(+.f32 %275 %262)
(+.f32 %279 %278)
(+.f32 %278 %279)
(+.f32 %283 %286)
(+.f32 %286 %356)
(+.f32 %286 %358)
(+.f32 %286 %283)
(+.f32 %153 %291)
(+.f32 %153 %294)
(+.f32 %153 %296)
(+.f32 %153 %298)
(fabs.f32 %493)
(fabs.f32 %255)
(neg.f32 %493)
(*.f32 %498 %499)
(*.f32 %502 %503)
(*.f32 %505 %506)
(*.f32 %497 %508)
(*.f32 %497 %510)
(*.f32 %503 %512)
(*.f32 %501 %514)
(*.f32 %501 %516)
(*.f32 %516 %518)
(*.f32 %516 %520)
(*.f32 %524 %524)
(*.f32 %523 %523)
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %529)) (sin.f32 (+.f32 %528 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %537)) (sin.f32 (+.f32 %528 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %545)) (sin.f32 (+.f32 %528 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %554)) (sin.f32 (+.f32 %528 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %562)) (sin.f32 (+.f32 %528 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %570)) (sin.f32 (+.f32 %528 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %528 %577)) (sin.f32 (+.f32 %528 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %529)) (sin.f32 (+.f32 %584 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %537)) (sin.f32 (+.f32 %584 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %545)) (sin.f32 (+.f32 %584 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %554)) (sin.f32 (+.f32 %584 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %562)) (sin.f32 (+.f32 %584 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %570)) (sin.f32 (+.f32 %584 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %584 %577)) (sin.f32 (+.f32 %584 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %529)) (sin.f32 (+.f32 %627 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %537)) (sin.f32 (+.f32 %627 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %545)) (sin.f32 (+.f32 %627 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %554)) (sin.f32 (+.f32 %627 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %562)) (sin.f32 (+.f32 %627 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %570)) (sin.f32 (+.f32 %627 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %627 %577)) (sin.f32 (+.f32 %627 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %529)) (sin.f32 (+.f32 %670 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %537)) (sin.f32 (+.f32 %670 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %545)) (sin.f32 (+.f32 %670 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %554)) (sin.f32 (+.f32 %670 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %562)) (sin.f32 (+.f32 %670 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %570)) (sin.f32 (+.f32 %670 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %670 %577)) (sin.f32 (+.f32 %670 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %529)) (sin.f32 (+.f32 %713 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %537)) (sin.f32 (+.f32 %713 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %545)) (sin.f32 (+.f32 %713 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %554)) (sin.f32 (+.f32 %713 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %562)) (sin.f32 (+.f32 %713 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %570)) (sin.f32 (+.f32 %713 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %713 %577)) (sin.f32 (+.f32 %713 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %529)) (sin.f32 (+.f32 %756 %529))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %537)) (sin.f32 (+.f32 %756 %537))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %545)) (sin.f32 (+.f32 %756 %545))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %554)) (sin.f32 (+.f32 %756 %554))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %562)) (sin.f32 (+.f32 %756 %562))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %570)) (sin.f32 (+.f32 %756 %570))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %756 %577)) (sin.f32 (+.f32 %756 %577))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %800)) (sin.f32 (+.f32 %799 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %807)) (sin.f32 (+.f32 %799 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %814)) (sin.f32 (+.f32 %799 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %821)) (sin.f32 (+.f32 %799 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %569)) (sin.f32 (+.f32 %799 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %553)) (sin.f32 (+.f32 %799 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %561)) (sin.f32 (+.f32 %799 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %552)) (sin.f32 (+.f32 %799 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %800)) (sin.f32 (+.f32 %852 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %807)) (sin.f32 (+.f32 %852 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %814)) (sin.f32 (+.f32 %852 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %821)) (sin.f32 (+.f32 %852 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %569)) (sin.f32 (+.f32 %852 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %553)) (sin.f32 (+.f32 %852 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %561)) (sin.f32 (+.f32 %852 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %552)) (sin.f32 (+.f32 %852 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %800)) (sin.f32 (+.f32 %901 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %807)) (sin.f32 (+.f32 %901 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %814)) (sin.f32 (+.f32 %901 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %821)) (sin.f32 (+.f32 %901 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %569)) (sin.f32 (+.f32 %901 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %553)) (sin.f32 (+.f32 %901 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %561)) (sin.f32 (+.f32 %901 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %552)) (sin.f32 (+.f32 %901 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %800)) (sin.f32 (+.f32 %950 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %807)) (sin.f32 (+.f32 %950 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %814)) (sin.f32 (+.f32 %950 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %821)) (sin.f32 (+.f32 %950 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %569)) (sin.f32 (+.f32 %950 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %553)) (sin.f32 (+.f32 %950 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %561)) (sin.f32 (+.f32 %950 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %552)) (sin.f32 (+.f32 %950 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %800)) (sin.f32 (+.f32 %527 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %807)) (sin.f32 (+.f32 %527 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %814)) (sin.f32 (+.f32 %527 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %821)) (sin.f32 (+.f32 %527 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %800)) (sin.f32 (+.f32 %536 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %807)) (sin.f32 (+.f32 %536 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %814)) (sin.f32 (+.f32 %536 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %821)) (sin.f32 (+.f32 %536 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %800)) (sin.f32 (+.f32 %544 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %807)) (sin.f32 (+.f32 %544 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %814)) (sin.f32 (+.f32 %544 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %821)) (sin.f32 (+.f32 %544 %821))) #s(literal 2 binary32))
(/.f32 (fma.f32 %493 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %553)) (cos.f32 (-.f32 %553 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %561)) (cos.f32 (-.f32 %553 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %569)) (cos.f32 (-.f32 %553 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %552)) (cos.f32 (-.f32 %553 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %553)) (cos.f32 (-.f32 %561 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %561)) (cos.f32 (-.f32 %561 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %569)) (cos.f32 (-.f32 %561 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %552)) (cos.f32 (-.f32 %561 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %553)) (cos.f32 (-.f32 %569 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %561)) (cos.f32 (-.f32 %569 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %569)) (cos.f32 (-.f32 %569 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %552)) (cos.f32 (-.f32 %569 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %552 %553)) (cos.f32 (-.f32 %552 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %552 %561)) (cos.f32 (-.f32 %552 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %552 %569)) (cos.f32 (-.f32 %552 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %552 %552)) (cos.f32 (-.f32 %552 %552))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %527)) (cos.f32 (+.f32 %527 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %536)) (cos.f32 (+.f32 %527 %536))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %544)) (cos.f32 (+.f32 %527 %544))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %527)) (cos.f32 (+.f32 %536 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %536)) (cos.f32 (+.f32 %536 %536))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %544)) (cos.f32 (+.f32 %536 %544))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %544 %527)) (cos.f32 (+.f32 %544 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %544 %536)) (cos.f32 (+.f32 %544 %536))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %544 %544)) (cos.f32 (+.f32 %544 %544))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %553)) (sin.f32 (+.f32 %527 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %561)) (sin.f32 (+.f32 %527 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %569)) (sin.f32 (+.f32 %527 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %552)) (sin.f32 (+.f32 %527 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %553)) (sin.f32 (+.f32 %536 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %561)) (sin.f32 (+.f32 %536 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %569)) (sin.f32 (+.f32 %536 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %552)) (sin.f32 (+.f32 %536 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %553)) (sin.f32 (+.f32 %544 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %561)) (sin.f32 (+.f32 %544 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %569)) (sin.f32 (+.f32 %544 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %552)) (sin.f32 (+.f32 %544 %552))) #s(literal 2 binary32))
(sqrt.f32 %1295)
(-.f32 (-.f32 %1297 %262) %333)
(-.f32 (-.f32 %1297 %333) %262)
(-.f32 (-.f32 #s(literal 1 binary32) %266) %258)
(-.f32 (-.f32 #s(literal 1 binary32) %269) %262)
(-.f32 (-.f32 #s(literal 1 binary32) %275) %262)
(-.f32 (-.f32 #s(literal 1 binary32) %278) %279)
(-.f32 (-.f32 #s(literal 1 binary32) %283) %286)
(-.f32 %1297 %283)
(-.f32 %493 #s(literal -1 binary32))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %527))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %536))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %544))))
(-.f32 #s(literal 1 binary32) (*.f32 %1326 %1326))
(-.f32 #s(literal 1 binary32) (*.f32 %1329 %1329))
(-.f32 #s(literal 1 binary32) (*.f32 %1332 %1332))
(-.f32 #s(literal 1 binary32) (*.f32 %1335 %1335))
(-.f32 #s(literal 1 binary32) %255)
(fma.f32 %498 %499 #s(literal 0 binary32))
(fma.f32 %502 %503 #s(literal 0 binary32))
(fma.f32 %1341 ux %1342)
(fma.f32 (*.f32 %240 maxCos) ux %1342)
(fma.f32 (*.f32 %240 ux) maxCos %1342)
(fma.f32 %505 %506 #s(literal 0 binary32))
(fma.f32 %248 %247 #s(literal 1 binary32))
(fma.f32 %282 %142 %1342)
(fma.f32 %343 %120 %1342)
(fma.f32 %293 maxCos %1342)
(fma.f32 %142 %282 %1342)
(fma.f32 %147 %240 %1342)
(fma.f32 %497 %508 #s(literal 0 binary32))
(fma.f32 %497 %510 #s(literal 0 binary32))
(fma.f32 %503 %512 #s(literal 0 binary32))
(fma.f32 %501 %514 #s(literal 0 binary32))
(fma.f32 %501 %516 #s(literal 0 binary32))
(fma.f32 %516 %518 #s(literal 0 binary32))
(fma.f32 %516 %520 #s(literal 0 binary32))
(fma.f32 %247 %248 #s(literal 1 binary32))
(fma.f32 %247 %246 #s(literal 1 binary32))
(fma.f32 %524 %524 #s(literal 0 binary32))
(fma.f32 %120 %343 %1342)
(fma.f32 %139 %153 %1366)
(fma.f32 %139 %153 %1369)
(fma.f32 %151 %153 %1342)
(fma.f32 %246 %247 #s(literal 1 binary32))
(fma.f32 %240 %147 %1342)
%522
(fma.f32 %240 %124 %1366)
(fma.f32 %240 %124 %1369)
(fma.f32 %523 %523 #s(literal 0 binary32))
(fma.f32 %153 %139 %1366)
(fma.f32 %153 %139 %1369)
(fma.f32 %153 %151 %1342)
(fma.f32 %153 %240 #s(literal 1 binary32))
(fma.f32 maxCos (*.f32 ux %240) %1342)
(fma.f32 maxCos %293 %1342)
(fma.f32 %124 %240 %1366)
(fma.f32 %124 %240 %1369)
(fma.f32 ux (*.f32 %142 %153) %1342)
(fma.f32 ux %1341 %1342)
(fma.f32 ux (*.f32 maxCos %240) %1342)
(pow.f32 %1295 #s(literal 1/2 binary32))
(pow.f32 %523 #s(literal 2 binary32))
(pow.f32 %522 #s(literal 1 binary32))
(+.f32 (fma.f32 %240 %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(+.f32 (+.f32 #s(literal 1 binary32) %287) %284)
(+.f32 %1297 %287)
(+.f32 %284 %1366)
(+.f32 %284 %1369)
(+.f32 %287 %1342)
(+.f32 %493 #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %493))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) %255))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %553))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %561))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %569))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %552))))
(+.f32 %522 #s(literal 0 binary32))
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 0 binary32) %493))
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 0 binary32) %255))
(+.f32 #s(literal 1 binary32) %493)
(fabs.f32 (*.f32 %524 %523))
(fabs.f32 (*.f32 %523 %524))
(fabs.f32 %522)
(neg.f32 (*.f32 %503 %501))
(*.f32 %1436 %1436)
%523
(-.f32 %1438 (*.f32 #s(literal 0 binary32) %1335))
(fma.f32 %1335 #s(literal 0 binary32) %1441)
(fma.f32 #s(literal 0 binary32) %1443 %1438)
(pow.f32 %523 #s(literal 1 binary32))
(pow.f32 %522 #s(literal 1/2 binary32))
(+.f32 (*.f32 %1335 #s(literal 0 binary32)) %1441)
(+.f32 (*.f32 #s(literal 0 binary32) %1443) %1438)
(sin.f32 (acos.f32 %1326))
(sin.f32 (acos.f32 %1329))
(sin.f32 (acos.f32 %1332))
(sin.f32 (acos.f32 %1335))
(sin.f32 (acos.f32 %248))
(sin.f32 %799)
(sin.f32 %852)
(sin.f32 %901)
(sin.f32 %950)
(sin.f32 %527)
(sin.f32 %536)
(sin.f32 %544)
(fabs.f32 (neg.f32 %524))
(fabs.f32 %524)
(fabs.f32 %523)
(cos.f32 (asin.f32 %1326))
(cos.f32 (asin.f32 %1329))
(cos.f32 (asin.f32 %1332))
(cos.f32 (asin.f32 %1335))
(cos.f32 (asin.f32 %248))
(cos.f32 %800)
(cos.f32 %821)
(cos.f32 %807)
(cos.f32 %814)
(cos.f32 %569)
(cos.f32 %553)
(cos.f32 %561)
(cos.f32 %552)
(*.f32 %1494 #s(literal 1/2 binary32))
(*.f32 %1501 #s(literal 1/2 binary32))
(*.f32 %1505 #s(literal 1/2 binary32))
(*.f32 %1511 #s(literal 1/2 binary32))
(*.f32 %1517 #s(literal 1/2 binary32))
(*.f32 %1521 #s(literal 1/2 binary32))
%1523
(*.f32 %74 %523)
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %114)) (sin.f32 (+.f32 %799 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %41)) (sin.f32 (+.f32 %799 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %102)) (sin.f32 (+.f32 %799 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %64)) (sin.f32 (+.f32 %799 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %799 %88)) (sin.f32 (+.f32 %799 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %114)) (sin.f32 (+.f32 %852 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %41)) (sin.f32 (+.f32 %852 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %102)) (sin.f32 (+.f32 %852 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %64)) (sin.f32 (+.f32 %852 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %852 %88)) (sin.f32 (+.f32 %852 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %114)) (sin.f32 (+.f32 %901 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %41)) (sin.f32 (+.f32 %901 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %102)) (sin.f32 (+.f32 %901 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %64)) (sin.f32 (+.f32 %901 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %901 %88)) (sin.f32 (+.f32 %901 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %114)) (sin.f32 (+.f32 %950 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %41)) (sin.f32 (+.f32 %950 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %102)) (sin.f32 (+.f32 %950 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %64)) (sin.f32 (+.f32 %950 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %950 %88)) (sin.f32 (+.f32 %950 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %114)) (sin.f32 (+.f32 %527 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %114)) (sin.f32 (+.f32 %536 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %544 %114)) (sin.f32 (+.f32 %544 %114))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %800)) (sin.f32 (+.f32 %104 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %807)) (sin.f32 (+.f32 %104 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %814)) (sin.f32 (+.f32 %104 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %821)) (sin.f32 (+.f32 %104 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %569)) (sin.f32 (+.f32 %104 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %553)) (sin.f32 (+.f32 %104 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %561)) (sin.f32 (+.f32 %104 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %104 %552)) (sin.f32 (+.f32 %104 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %800)) (sin.f32 (fma.f32 %22 %106 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %807)) (sin.f32 (fma.f32 %22 %106 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %814)) (sin.f32 (fma.f32 %22 %106 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %821)) (sin.f32 (fma.f32 %22 %106 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %800)) (sin.f32 (+.f32 %109 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %807)) (sin.f32 (+.f32 %109 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %814)) (sin.f32 (+.f32 %109 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %821)) (sin.f32 (+.f32 %109 %821))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %800)) (sin.f32 (fma.f32 %22 %111 %800))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %807)) (sin.f32 (fma.f32 %22 %111 %807))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %814)) (sin.f32 (fma.f32 %22 %111 %814))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %821)) (sin.f32 (fma.f32 %22 %111 %821))) #s(literal 2 binary32))
(/.f32 (/.f32 %1494 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (/.f32 %1501 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (/.f32 %1505 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (/.f32 %1511 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (/.f32 %1517 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (/.f32 %1521 #s(literal 1/2 binary32)) #s(literal 4 binary32))
(/.f32 (neg.f32 %1494) #s(literal -2 binary32))
(/.f32 (neg.f32 %1501) #s(literal -2 binary32))
(/.f32 (neg.f32 %1505) #s(literal -2 binary32))
(/.f32 (neg.f32 %1511) #s(literal -2 binary32))
(/.f32 (neg.f32 %1517) #s(literal -2 binary32))
(/.f32 (neg.f32 %1521) #s(literal -2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %41)) (cos.f32 (-.f32 %553 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %102)) (cos.f32 (-.f32 %553 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %64)) (cos.f32 (-.f32 %553 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %553 %88)) (cos.f32 (-.f32 %553 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %41)) (cos.f32 (-.f32 %561 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %102)) (cos.f32 (-.f32 %561 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %64)) (cos.f32 (-.f32 %561 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %561 %88)) (cos.f32 (-.f32 %561 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %41)) %1491) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %102)) (cos.f32 (-.f32 %569 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %64)) (cos.f32 (-.f32 %569 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %569 %88)) (cos.f32 (-.f32 %569 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %27 uy %553)) (cos.f32 (-.f32 %41 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %27 uy %561)) (cos.f32 (-.f32 %41 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %102 %553)) (cos.f32 (-.f32 %102 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %102 %561)) (cos.f32 (-.f32 %102 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %102 %569)) (cos.f32 (-.f32 %102 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %102 %552)) (cos.f32 (-.f32 %102 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %23 #s(literal -2 binary32) %553)) (cos.f32 (-.f32 %64 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %23 #s(literal -2 binary32) %561)) (cos.f32 (-.f32 %64 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %1496 #s(literal 2 binary32) %553)) (cos.f32 (-.f32 %88 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %1496 #s(literal 2 binary32) %561)) (cos.f32 (-.f32 %88 %561))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %107)) (cos.f32 (+.f32 %527 %107))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %109)) (cos.f32 (+.f32 %527 %109))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %527 %112)) (cos.f32 (+.f32 %527 %112))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %107)) (cos.f32 (+.f32 %536 %107))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %109)) (cos.f32 (+.f32 %536 %109))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %536 %112)) (cos.f32 (+.f32 %536 %112))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %544 %107)) (cos.f32 (+.f32 %544 %107))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %544 %109)) (cos.f32 (+.f32 %544 %109))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %107 %527)) (cos.f32 (fma.f32 %22 %106 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %107 %536)) (cos.f32 (fma.f32 %22 %106 %536))) #s(literal 2 binary32))
(/.f32 (-.f32 %1493 (cos.f32 (fma.f32 %22 %106 %544))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %109 %527)) (cos.f32 (+.f32 %109 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %109 %536)) (cos.f32 (+.f32 %109 %536))) #s(literal 2 binary32))
(/.f32 (-.f32 %1500 (cos.f32 (+.f32 %109 %544))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %112 %527)) (cos.f32 (fma.f32 %22 %111 %527))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %112 %536)) (cos.f32 (fma.f32 %22 %111 %536))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %41)) (sin.f32 (+.f32 %527 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %102)) (sin.f32 (+.f32 %527 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %64)) (sin.f32 (+.f32 %527 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %527 %88)) (sin.f32 (+.f32 %527 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %41)) (sin.f32 (+.f32 %536 %41))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %102)) (sin.f32 (+.f32 %536 %102))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %64)) (sin.f32 (+.f32 %536 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %536 %88)) (sin.f32 (+.f32 %536 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %553)) (sin.f32 (fma.f32 %22 %106 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %561)) (sin.f32 (fma.f32 %22 %106 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %569)) (sin.f32 (fma.f32 %22 %106 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %107 %552)) (sin.f32 (fma.f32 %22 %106 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %553)) (sin.f32 (+.f32 %109 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %561)) (sin.f32 (+.f32 %109 %561))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %569)) (sin.f32 (+.f32 %109 %569))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %109 %552)) (sin.f32 (+.f32 %109 %552))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %553)) (sin.f32 (fma.f32 %22 %111 %553))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %112 %561)) (sin.f32 (fma.f32 %22 %111 %561))) #s(literal 2 binary32))
(/.f32 %1494 #s(literal 2 binary32))
(/.f32 %1501 #s(literal 2 binary32))
(/.f32 %1505 #s(literal 2 binary32))
(/.f32 %1511 #s(literal 2 binary32))
(/.f32 %1517 #s(literal 2 binary32))
(/.f32 %1521 #s(literal 2 binary32))
(/.f32 %1523 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1494))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1501))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1505))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1511))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1517))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %1521))
(-.f32 %2156 (/.f32 %1504 #s(literal 2 binary32)))
(fma.f32 %73 %523 %2159)
(fma.f32 %523 %73 %2161)
(pow.f32 %1523 #s(literal 1 binary32))
(+.f32 (*.f32 %523 %73) %2161)
(+.f32 (*.f32 %73 %523) %2159)
(+.f32 %2156 %2168)
(+.f32 %2168 %2156)
(+.f32 (/.f32 %1500 #s(literal 2 binary32)) (/.f32 %1498 #s(literal 2 binary32)))
(+.f32 %2174 %2175)
(+.f32 %2175 %2174)
(+.f32 %2175 (/.f32 %1520 #s(literal 2 binary32)))
(+.f32 (/.f32 %1516 #s(literal 2 binary32)) (/.f32 %1514 #s(literal 2 binary32)))

reconstruct2.0ms (0.0%)

Memory
4.4MiB live, 4.4MiB allocated; 0ms collecting garbage

eval129.0ms (2.5%)

Memory
9.8MiB live, 166.5MiB allocated; 12ms collecting garbage
Compiler

Compiled 29 153 to 4 236 computations (85.5% saved)

prune36.0ms (0.7%)

Memory
-39.6MiB live, 36.2MiB allocated; 13ms collecting garbage
Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New79621817
Fresh000
Picked101
Done000
Total79721818
Accuracy
99.7%
Counts
818 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.9%
%8 = (PI.f32 )
%10 = (+.f32 (fabs.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))) (*.f32 #s(literal 1/2 binary32) %8))
%13 = (*.f32 (+.f32 %8 %8) uy)
(/.f32 (+.f32 (sin.f32 (-.f32 %10 %13)) (sin.f32 (+.f32 %10 %13))) #s(literal 2 binary32))
55.8%
%0 = (PI.f32 )
%1 = (+.f32 %0 %0)
(*.f32 (+.f32 (sin.f32 (fma.f32 %1 uy (acos.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))))) (sin.f32 (fma.f32 %1 uy (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))) #s(literal 1/2 binary32))
55.9%
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
55.7%
%12 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (fma.f32 #s(literal 2 binary32) uy #s(literal 1/2 binary32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %12 %12))))
55.7%
%12 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (fma.f32 #s(literal -2 binary32) uy #s(literal 1/2 binary32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %12 %12))))
55.6%
%3 = (PI.f32 )
%12 = (neg.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32)))))
%16 = (+.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))) %3)
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %3)) (sqrt.f32 (/.f32 (+.f32 (sin.f32 (-.f32 %12 %16)) (sin.f32 (+.f32 %12 %16))) #s(literal 2 binary32))))
56.7%
%10 = (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 %10 (*.f32 %10 (-.f32 (*.f32 maxCos ux) ux))))))
54.3%
%14 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %14 %14))))
44.1%
%12 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx (* %12 %12) (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (*.f32 #s(literal 2 binary32) maxCos) #s(literal 2 binary32))))))))
55.9%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
99.1%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (-.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
99.1%
%9 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 %9 #s(literal 0 binary32)) (neg.f32 (-.f32 %9 #s(literal 2 binary32))))))
98.9%
%11 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (- 1 (* %11 %11)) (*.f32 (pow.f32 ux #s(literal 2 binary32)) (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux)) (fma.f32 #s(literal 2 binary32) (/.f32 maxCos ux) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))))))))
77.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (- 1 (* %11 %11)) (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))))
55.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sin.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))
55.2%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (cos.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))))
94.2%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (sqrt.f32 (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))
%19 = (pow.f32 ux #s(literal 2 binary32))
%22 = (-.f32 maxCos #s(literal 1 binary32))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (approx (sqrt (- 1 (* %11 %11))) (+.f32 %18 (*.f32 %19 (fma.f32 #s(literal -1/2 binary32) (/.f32 (pow.f32 %22 #s(literal 2 binary32)) %18) (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %19 (pow.f32 %22 #s(literal 4 binary32))) (pow.f32 %18 #s(literal 3 binary32)))))))))
90.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (sqrt.f32 (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (approx (sqrt (- 1 (* %11 %11))) (+.f32 %18 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))) %18)))))
94.3%
%11 = (+ (- 1 ux) (* ux maxCos))
%20 = (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32 ))))
%24 = (sqrt.f32 (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))
%25 = (pow.f32 ux #s(literal 2 binary32))
%28 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (fma.f32 %20 %24 (*.f32 %25 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %20 (pow.f32 %28 #s(literal 2 binary32))) %24) (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %25 (*.f32 %20 (pow.f32 %28 #s(literal 4 binary32)))) (pow.f32 %24 #s(literal 3 binary32))))))))
90.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%22 = (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32 ))))
%31 = (sqrt.f32 (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %22 (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32)))) %31) (*.f32 %22 %31)))
48.3%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos ux)) ux) #s(literal 2 binary32)))))
Compiler

Compiled 1 244 to 312 computations (74.9% saved)

sample1.0ms (0.0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
%1 = (PI )
2
%1
1
0
-1
1/2
(+ %1 %1)
(* 1/2 %1)
Outputs
#s(literal 2 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 1 binary32)
#s(literal 0 binary32)
#s(literal -1 binary32)
#s(literal 1/2 binary32)
#s(literal 13176795/2097152 binary32)
#s(literal 13176795/8388608 binary32)
Samples
0.0ms0valid
Compiler

Compiled 14 to 9 computations (35.7% saved)

series66.0ms (1.3%)

Memory
8.5MiB live, 68.5MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0138912753
Stop Event
iter-limit
Counts
46 → 243
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%14 = (+.f32 #s(literal 1 binary32) %12)
%15 = (-.f32 %14 ux)
%16 = (pow.f32 %15 #s(literal 2 binary32))
%17 = (-.f32 #s(literal 1 binary32) %16)
%18 = (sqrt.f32 %17)
%27 = (+ (- 1 ux) (* ux maxCos))
%33 = (+.f32 %3 %3)
%34 = (*.f32 %33 uy)
%35 = (*.f32 #s(literal 1/2 binary32) %3)
%36 = (fma.f32 maxCos ux %8)
%37 = (-.f32 ux %12)
%38 = (-.f32 %37 #s(literal 0 binary32))
%39 = (-.f32 %37 #s(literal 2 binary32))
%40 = (neg.f32 %39)
%41 = (*.f32 %38 %40)
%42 = (-.f32 %36 #s(literal -1 binary32))
%43 = (*.f32 %38 %42)
%44 = (asin.f32 %36)
%45 = (fabs.f32 %44)
%46 = (+.f32 %45 %35)
%47 = (cos.f32 %44)
%48 = (-.f32 %46 %34)
%49 = (sin.f32 %48)
%50 = (+.f32 %46 %34)
%51 = (sin.f32 %50)
%52 = (+.f32 %49 %51)
%54 = (sqrt.f32 %41)
%56 = (sqrt.f32 %43)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
#s(literal 1/2 binary32)
%14
%15
%16
%17
%18
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %27 %27)))) %18)
%33
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
(/.f32 %52 #s(literal 2 binary32))
%54
(*.f32 %5 %54)
%56
(*.f32 %5 %56)
(*.f32 %5 %47)
Outputs
%6 = (- 1 ux)
%10 = (*.f32 #s(literal -1 binary32) ux)
%14 = (* maxCos ux)
%15 = (*.f32 maxCos ux)
%17 = (+ 1 %14)
%18 = (+.f32 #s(literal 1 binary32) %15)
%20 = (- %17 ux)
%21 = (-.f32 maxCos #s(literal 1 binary32))
%22 = (*.f32 ux %21)
%26 = (pow %20 2)
%28 = (*.f32 #s(literal 2 binary32) maxCos)
%33 = (pow.f32 %21 #s(literal 2 binary32))
%34 = (*.f32 ux %33)
%40 = (- 1 %26)
%41 = (-.f32 #s(literal 2 binary32) %28)
%42 = (*.f32 ux %41)
%49 = (sqrt %40)
%50 = (sqrt.f32 %42)
%53 = (pow.f32 ux #s(literal 2 binary32))
%54 = (*.f32 %53 %33)
%59 = (/.f32 %33 %50)
%62 = (pow.f32 %21 #s(literal 4 binary32))
%65 = (pow.f32 %50 #s(literal 3 binary32))
%75 = (pow.f32 %21 #s(literal 6 binary32))
%78 = (pow.f32 %50 #s(literal 5 binary32))
%87 = (* uy 2)
%88 = (PI )
%89 = (* %87 %88)
%90 = (cos %89)
%92 = (+ %6 (* ux maxCos))
%96 = (* %90 (sqrt (- 1 (* %92 %92))))
%97 = (PI.f32 )
%98 = (*.f32 uy %97)
%99 = (*.f32 #s(literal 2 binary32) %98)
%100 = (cos.f32 %99)
%101 = (*.f32 %100 %50)
%103 = (*.f32 %100 %33)
%108 = (/.f32 %103 %50)
%109 = (*.f32 %100 %62)
%128 = (- ux %14)
%129 = (-.f32 #s(literal 1 binary32) maxCos)
%130 = (*.f32 ux %129)
%132 = (- %128 2)
%137 = (neg %132)
%143 = (* (- %128 0) %137)
%144 = (*.f32 #s(literal 2 binary32) %130)
%146 = (*.f32 %129 %21)
%152 = (asin (+ %14 %6))
%153 = (-.f32 %18 ux)
%154 = (asin.f32 %153)
%156 = (fabs %152)
%157 = (fabs.f32 %154)
%161 = (+ %156 (* 1/2 %88))
%163 = (*.f32 #s(literal 1/2 binary32) %97)
%164 = (+.f32 %157 %163)
%166 = (cos %152)
%167 = (cos.f32 %154)
%170 = (* (+ %88 %88) uy)
%171 = (- %161 %170)
%172 = (-.f32 %164 %99)
%174 = (sin %171)
%175 = (sin.f32 %172)
%177 = (+ %161 %170)
%178 = (fma.f32 #s(literal 1/2 binary32) %97 %99)
%179 = (+.f32 %157 %178)
%181 = (sin %177)
%182 = (sin.f32 %179)
%184 = (+ %174 %181)
%185 = (+.f32 %182 %175)
%187 = (/ %184 2)
%190 = (sqrt %143)
%191 = (sqrt.f32 %144)
%193 = (*.f32 %53 %146)
%198 = (pow.f32 %129 #s(literal 2 binary32))
%199 = (*.f32 %198 %33)
%201 = (pow.f32 %191 #s(literal 3 binary32))
%203 = (/.f32 %146 %191)
%211 = (pow.f32 %129 #s(literal 3 binary32))
%213 = (*.f32 %211 (pow.f32 %21 #s(literal 3 binary32)))
%215 = (pow.f32 %191 #s(literal 5 binary32))
%224 = (* %90 %190)
%225 = (*.f32 %100 %191)
%227 = (*.f32 %100 %146)
%232 = (*.f32 %100 %199)
%235 = (/.f32 %227 %191)
%252 = (* %90 %166)
%256 = (/.f32 #s(literal 1 binary32) ux)
%260 = (+.f32 maxCos %256)
%268 = (/.f32 maxCos ux)
%269 = (fma.f32 #s(literal 2 binary32) %268 %33)
%270 = (*.f32 #s(literal 2 binary32) %256)
%286 = (sqrt.f32 (neg.f32 %33))
%287 = (*.f32 ux %286)
%290 = (*.f32 #s(literal 1/2 binary32) (/.f32 %41 %287))
%294 = (pow.f32 %41 #s(literal 2 binary32))
%296 = (*.f32 %53 (pow.f32 %286 #s(literal 3 binary32)))
%297 = (/.f32 %294 %296)
%302 = (pow.f32 %41 #s(literal 3 binary32))
%303 = (pow.f32 ux #s(literal 3 binary32))
%305 = (*.f32 %303 (pow.f32 %286 #s(literal 5 binary32)))
%312 = (*.f32 %100 %286)
%317 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %100 %41) %287) %312)
%321 = (/.f32 (*.f32 %100 %294) %296)
%331 = (+.f32 maxCos %270)
%343 = (sqrt.f32 %146)
%344 = (*.f32 ux %343)
%346 = (/.f32 #s(literal 1 binary32) %344)
%348 = (/.f32 maxCos %344)
%353 = (*.f32 %53 (pow.f32 %343 #s(literal 3 binary32)))
%354 = (/.f32 %198 %353)
%361 = (*.f32 %303 (pow.f32 %343 #s(literal 5 binary32)))
%374 = (fma.f32 %100 %343 (/.f32 (*.f32 %100 %129) %344))
%378 = (/.f32 (*.f32 %100 %198) %353)
%392 = (*.f32 #s(literal -1 binary32) maxCos)
%397 = (+.f32 #s(literal 1 binary32) %392)
%398 = (*.f32 ux %397)
%405 = (pow.f32 %397 #s(literal 2 binary32))
%406 = (*.f32 %53 %405)
%409 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) maxCos))
%426 = (sqrt.f32 (neg.f32 %405))
%427 = (*.f32 ux %426)
%436 = (/.f32 %409 %426)
%438 = (pow.f32 %409 #s(literal 2 binary32))
%439 = (pow.f32 %426 #s(literal 3 binary32))
%440 = (*.f32 ux %439)
%451 = (pow.f32 %409 #s(literal 3 binary32))
%453 = (*.f32 ux (pow.f32 %426 #s(literal 5 binary32)))
%466 = (*.f32 %100 %426)
%470 = (*.f32 %100 %409)
%476 = (/.f32 %470 %426)
%477 = (*.f32 %100 %438)
%515 = (asin.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) ux %15)))
%517 = (fabs.f32 %515)
%519 = (+.f32 %517 %163)
%521 = (cos.f32 %515)
%523 = (-.f32 %519 %99)
%525 = (sin.f32 %523)
%527 = (+.f32 %517 %178)
%529 = (sin.f32 %527)
%531 = (+.f32 %529 %525)
%536 = (sqrt.f32 (*.f32 #s(literal -1 binary32) %405))
%537 = (*.f32 ux %536)
%547 = (/.f32 %397 %536)
%548 = (pow.f32 %536 #s(literal 3 binary32))
%549 = (*.f32 ux %548)
%560 = (pow.f32 %397 #s(literal 3 binary32))
%562 = (*.f32 ux (pow.f32 %536 #s(literal 5 binary32)))
%575 = (*.f32 %100 %536)
%579 = (*.f32 %100 %397)
%585 = (/.f32 %579 %536)
%586 = (*.f32 %100 %405)
%614 = (pow.f32 uy #s(literal 2 binary32))
%615 = (pow.f32 %97 #s(literal 2 binary32))
%621 = (pow.f32 %97 #s(literal 4 binary32))
%629 = (pow.f32 %97 #s(literal 6 binary32))
%640 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal 2 binary32))))
%642 = (*.f32 %615 %640)
%647 = (*.f32 %621 %640)
%666 = (sin.f32 %164)
%668 = (cos.f32 %164)
%669 = (*.f32 %97 %668)
%670 = (*.f32 uy %669)
%674 = (*.f32 %615 %666)
%675 = (*.f32 uy %674)
%683 = (*.f32 (pow.f32 %97 #s(literal 3 binary32)) %668)
%684 = (*.f32 uy %683)
%695 = (*.f32 #s(literal 2 binary32) %669)
%710 = (fma.f32 #s(literal -2 binary32) %669 %695)
%711 = (*.f32 uy %710)
%721 = (*.f32 uy (fma.f32 #s(literal -4/3 binary32) %683 (*.f32 #s(literal 4/3 binary32) %683)))
%746 = (-.f32 (+.f32 #s(literal 2 binary32) %15) ux)
%748 = (sqrt.f32 (*.f32 (-.f32 ux %15) %746))
%750 = (*.f32 %615 %748)
%755 = (*.f32 %621 %748)
%771 = (*.f32 %615 %167)
%776 = (*.f32 %621 %167)
%797 = (/.f32 %97 uy)
%798 = (/.f32 %157 uy)
%811 = (*.f32 #s(literal -1 binary32) (/.f32 %164 uy))
%822 = (-.f32 #s(literal 1 binary32) ux)
%825 = (pow.f32 %822 #s(literal 2 binary32))
%827 = (*.f32 ux %822)
%828 = (*.f32 maxCos %827)
%831 = (*.f32 maxCos %53)
%835 = (-.f32 #s(literal 1 binary32) %825)
%848 = (sqrt.f32 %835)
%854 = (/.f32 %827 %848)
%855 = (*.f32 %53 %825)
%858 = (+.f32 (/.f32 %855 (pow.f32 %848 #s(literal 2 binary32))) %53)
%866 = (*.f32 %858 %822)
%869 = (pow.f32 %848 #s(literal 3 binary32))
%879 = (*.f32 %100 %848)
%882 = (*.f32 ux (*.f32 %100 %822))
%887 = (/.f32 %882 %848)
%888 = (*.f32 %100 %858)
%906 = (*.f32 #s(literal -1 binary32) %15)
%907 = (+.f32 ux %906)
%909 = (-.f32 ux #s(literal 2 binary32))
%913 = (-.f32 #s(literal 2 binary32) ux)
%916 = (*.f32 ux %913)
%918 = (fma.f32 #s(literal -1 binary32) %916 %53)
%924 = (sqrt.f32 %916)
%931 = (*.f32 #s(literal -1 binary32) %53)
%933 = (pow.f32 %918 #s(literal 2 binary32))
%937 = (-.f32 %931 (*.f32 #s(literal 1/4 binary32) (/.f32 %933 (pow.f32 %924 #s(literal 2 binary32)))))
%940 = (/.f32 %918 %924)
%947 = (*.f32 %918 %937)
%949 = (pow.f32 %924 #s(literal 3 binary32))
%959 = (*.f32 %100 %924)
%961 = (*.f32 %100 %918)
%966 = (*.f32 %100 %937)
%969 = (/.f32 %961 %924)
%984 = (/.f32 #s(literal 1 binary32) maxCos)
%985 = (+.f32 ux %984)
%988 = (/.f32 ux maxCos)
%992 = (pow.f32 maxCos #s(literal 2 binary32))
%993 = (*.f32 %992 %53)
%995 = (/.f32 %827 maxCos)
%1001 = (fma.f32 #s(literal 2 binary32) %995 (+.f32 (/.f32 %825 %992) %53))
%1015 = (sqrt.f32 (neg.f32 %53))
%1016 = (*.f32 maxCos %1015)
%1018 = (/.f32 %827 %1016)
%1021 = (*.f32 maxCos (+.f32 %1015 (*.f32 #s(literal -1 binary32) %1018)))
%1026 = (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 %855 (pow.f32 %1015 #s(literal 2 binary32))) %825))
%1027 = (*.f32 %992 %1015)
%1029 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1026 %1027))
%1034 = (*.f32 %822 %1026)
%1035 = (*.f32 ux %1034)
%1036 = (pow.f32 maxCos #s(literal 3 binary32))
%1037 = (pow.f32 %1015 #s(literal 3 binary32))
%1038 = (*.f32 %1036 %1037)
%1045 = (*.f32 %100 %1015)
%1046 = (*.f32 maxCos %1045)
%1048 = (/.f32 %882 %1016)
%1050 = (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1048 %1045))
%1052 = (*.f32 %100 %1026)
%1054 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1052 %1027) %1045)
%1059 = (*.f32 ux (*.f32 %100 %1034))
%1070 = (+.f32 ux (*.f32 #s(literal 2 binary32) %984))
%1077 = (/.f32 %916 maxCos)
%1078 = (/.f32 %53 maxCos)
%1089 = (sqrt.f32 %931)
%1090 = (*.f32 maxCos %1089)
%1092 = (/.f32 %918 %1090)
%1097 = (pow.f32 %1089 #s(literal 2 binary32))
%1100 = (-.f32 %916 (*.f32 #s(literal 1/4 binary32) (/.f32 %933 %1097)))
%1101 = (*.f32 %992 %1089)
%1104 = (fma.f32 #s(literal 1/2 binary32) %1092 (*.f32 #s(literal 1/2 binary32) (/.f32 %1100 %1101)))
%1108 = (*.f32 %918 %1100)
%1109 = (pow.f32 %1089 #s(literal 3 binary32))
%1110 = (*.f32 %1036 %1109)
%1116 = (*.f32 %100 %1089)
%1117 = (*.f32 maxCos %1116)
%1119 = (/.f32 %961 %1090)
%1126 = (fma.f32 #s(literal 1/2 binary32) %1119 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %100 %1100) %1101) %1116))
%1165 = (/.f32 %827 %1015)
%1173 = (*.f32 maxCos %1037)
%1191 = (/.f32 %882 %1015)
%1226 = (fma.f32 #s(literal -1 binary32) %53 %916)
%1247 = (-.f32 %916 (*.f32 #s(literal 1/4 binary32) (/.f32 (pow.f32 %1226 #s(literal 2 binary32)) %1097)))
%1250 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1226 %1089))
%1258 = (*.f32 %1226 %1247)
%1259 = (*.f32 maxCos %1109)
%1274 = (*.f32 %100 %1226)
%1280 = (*.f32 %100 %1247)
%1283 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1274 %1089))
(approx uy #s(literal 0 binary32))
(approx ux ux)
(approx %6 #s(literal 1 binary32))
(approx %6 (+.f32 #s(literal 1 binary32) %10))
(approx %14 %15)
(approx %17 %18)
(approx %20 (+.f32 #s(literal 1 binary32) %22))
(approx %26 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %28 #s(literal 2 binary32)))))
(approx %26 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (fma.f32 #s(literal 2 binary32) maxCos %34) #s(literal 2 binary32)))))
(approx %40 %42)
(approx %40 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) %34)) %28)))
(approx %49 %50)
(approx %49 (+.f32 %50 (*.f32 #s(literal -1/2 binary32) (/.f32 %54 %50))))
(approx %49 (+.f32 %50 (*.f32 %53 (fma.f32 #s(literal -1/2 binary32) %59 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %53 %62) %65))))))
(approx %49 (+.f32 %50 (*.f32 %53 (fma.f32 #s(literal -1/2 binary32) %59 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 %62 %65) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %53 %75) %78))))))))
(approx %96 %101)
(approx %96 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %53 %103) %50) %101))
(approx %96 (fma.f32 %100 %50 (*.f32 %53 (fma.f32 #s(literal -1/2 binary32) %108 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %53 %109) %65))))))
(approx %96 (fma.f32 %100 %50 (*.f32 %53 (fma.f32 #s(literal -1/2 binary32) %108 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 %109 %65) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %53 (*.f32 %100 %75)) %78))))))))
(approx %128 %130)
(approx %132 #s(literal -2 binary32))
(approx %132 (-.f32 %130 #s(literal 2 binary32)))
(approx %137 #s(literal 2 binary32))
(approx %137 (+.f32 #s(literal 2 binary32) %22))
(approx %143 %144)
(approx %143 (*.f32 ux (fma.f32 #s(literal 2 binary32) %129 (*.f32 ux %146))))
(approx %152 %154)
(approx %156 %157)
(approx %161 %164)
(approx %166 %167)
(approx %171 %172)
(approx %174 %175)
(approx %177 %179)
(approx %181 %182)
(approx %184 %185)
(approx %187 (*.f32 #s(literal 1/2 binary32) %185))
(approx %190 %191)
(approx %190 (+.f32 %191 (*.f32 #s(literal 1/2 binary32) (/.f32 %193 %191))))
(approx %190 (+.f32 %191 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %53 %199) %201) (*.f32 #s(literal 1/2 binary32) %203)))))
(approx %190 (+.f32 %191 (*.f32 %53 (fma.f32 #s(literal 1/2 binary32) %203 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 %199 %201) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %53 %213) %215))))))))
(approx %224 %225)
(approx %224 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %53 %227) %191) %225))
(approx %224 (fma.f32 %100 %191 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %53 %232) %201) (*.f32 #s(literal 1/2 binary32) %235)))))
(approx %224 (fma.f32 %100 %191 (*.f32 %53 (fma.f32 #s(literal 1/2 binary32) %235 (*.f32 %53 (fma.f32 #s(literal -1/8 binary32) (/.f32 %232 %201) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %53 (*.f32 %100 %213)) %215))))))))
(approx %252 (*.f32 %167 %100))
(approx %6 %10)
(approx %6 (*.f32 ux (-.f32 %256 #s(literal 1 binary32))))
(approx %17 (*.f32 ux %260))
(approx %20 %22)
(approx %20 (*.f32 ux (-.f32 %260 #s(literal 1 binary32))))
(approx %26 %54)
(approx %26 (*.f32 %53 (-.f32 %269 %270)))
(approx %26 (*.f32 %53 (-.f32 (fma.f32 #s(literal 2 binary32) %268 (+.f32 (/.f32 #s(literal 1 binary32) %53) %33)) %270)))
(approx %40 (*.f32 #s(literal -1 binary32) %54))
(approx %40 (*.f32 %53 (-.f32 %270 %269)))
(approx %49 %287)
(approx %49 (*.f32 ux (+.f32 %286 %290)))
(approx %49 (*.f32 ux (+.f32 %286 (fma.f32 #s(literal -1/8 binary32) %297 %290))))
(approx %49 (*.f32 ux (+.f32 %286 (fma.f32 #s(literal -1/8 binary32) %297 (fma.f32 #s(literal 1/16 binary32) (/.f32 %302 %305) %290)))))
(approx %96 (*.f32 ux %312))
(approx %96 (*.f32 ux %317))
(approx %96 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %321 %317)))
(approx %96 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %321 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %100 %302) %305) %317))))
(approx %132 (*.f32 ux (-.f32 #s(literal 1 binary32) %331)))
(approx %137 (*.f32 ux (-.f32 %331 #s(literal 1 binary32))))
(approx %143 %193)
(approx %143 (*.f32 %53 (fma.f32 #s(literal 2 binary32) (/.f32 %129 ux) %146)))
(approx %190 %344)
(approx %190 (*.f32 ux (-.f32 (+.f32 %343 %346) %348)))
(approx %190 (*.f32 ux (-.f32 (+.f32 %343 (fma.f32 #s(literal -1/2 binary32) %354 %346)) %348)))
(approx %190 (*.f32 ux (-.f32 (+.f32 %343 (fma.f32 #s(literal -1/2 binary32) %354 (fma.f32 #s(literal 1/2 binary32) (/.f32 %211 %361) %346))) %348)))
(approx %224 (*.f32 ux (*.f32 %100 %343)))
(approx %224 (*.f32 ux %374))
(approx %224 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %378 %374)))
(approx %224 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %378 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %100 %211) %361) %374))))
(approx %6 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) %256))))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %392 %256))))
(approx %20 (*.f32 #s(literal -1 binary32) %398))
(approx %20 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %397 %256))))
(approx %26 %406)
(approx %26 (*.f32 %53 (fma.f32 #s(literal -1 binary32) (/.f32 %409 ux) %405)))
(approx %26 (*.f32 %53 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 %409 %256) ux) %405)))
(approx %40 (*.f32 #s(literal -1 binary32) %406))
(approx %40 (*.f32 %53 (-.f32 (fma.f32 #s(literal -2 binary32) %268 %270) %405)))
(approx %49 (*.f32 #s(literal -1 binary32) %427))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %426 (*.f32 #s(literal 1/2 binary32) (/.f32 %409 %427))))))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %426 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %436 (*.f32 #s(literal 1/8 binary32) (/.f32 %438 %440))) ux))))))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %426 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %438 %439) (*.f32 #s(literal 1/16 binary32) (/.f32 %451 %453))) ux) (*.f32 #s(literal -1/2 binary32) %436)) ux))))))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 ux %466)))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %470 %427) %466))))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %476 (*.f32 #s(literal 1/8 binary32) (/.f32 %477 %440))) ux) %466))))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %477 %439) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %100 %451) %453))) ux) (*.f32 #s(literal -1/2 binary32) %476)) ux) %466))))
(approx %128 %398)
(approx %132 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %270 %397))))
(approx %137 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %397 %270))))
(approx %143 (*.f32 %53 (fma.f32 #s(literal -1 binary32) %405 (*.f32 #s(literal 2 binary32) (/.f32 %397 ux)))))
(approx %152 %515)
(approx %156 %517)
(approx %161 %519)
(approx %166 %521)
(approx %171 %523)
(approx %174 %525)
(approx %177 %527)
(approx %181 %529)
(approx %184 %531)
(approx %187 (*.f32 #s(literal 1/2 binary32) %531))
(approx %190 (*.f32 #s(literal -1 binary32) %537))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %536 (fma.f32 #s(literal -1 binary32) (/.f32 maxCos %537) (/.f32 #s(literal 1 binary32) %537))))))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %536 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %547 (*.f32 #s(literal 1/2 binary32) (/.f32 %405 %549))) ux))))))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %536 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %547 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %405 %548) (*.f32 #s(literal 1/2 binary32) (/.f32 %560 %562))) ux))) ux))))))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 ux %575)))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 %100 %536 (/.f32 %579 %537)))))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %585 (*.f32 #s(literal 1/2 binary32) (/.f32 %586 %549))) ux) %575))))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %585 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %586 %548) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %100 %560) %562))) ux))) ux) %575))))
(approx %252 (*.f32 %521 %100))
(approx uy uy)
(approx %87 (*.f32 #s(literal 2 binary32) uy))
(approx %89 %99)
(approx %90 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 %614 %615))))
(approx %90 (+.f32 #s(literal 1 binary32) (*.f32 %614 (fma.f32 #s(literal -2 binary32) %615 (*.f32 #s(literal 2/3 binary32) (*.f32 %614 %621))))))
(approx %90 (+.f32 #s(literal 1 binary32) (*.f32 %614 (fma.f32 #s(literal -2 binary32) %615 (*.f32 %614 (fma.f32 #s(literal -4/45 binary32) (*.f32 %614 %629) (*.f32 #s(literal 2/3 binary32) %621)))))))
(approx %96 %640)
(approx %96 (+.f32 %640 (*.f32 #s(literal -2 binary32) (*.f32 %614 %642))))
(approx %96 (+.f32 %640 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %642 (*.f32 #s(literal 2/3 binary32) (*.f32 %614 %647))))))
(approx %96 (+.f32 %640 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %642 (*.f32 %614 (fma.f32 #s(literal -4/45 binary32) (*.f32 %614 (*.f32 %629 %640)) (*.f32 #s(literal 2/3 binary32) %647)))))))
(approx %171 (+.f32 %157 (fma.f32 #s(literal -2 binary32) %98 %163)))
(approx %174 %666)
(approx %174 (+.f32 %666 (*.f32 #s(literal -2 binary32) %670)))
(approx %174 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal -2 binary32) %675 (*.f32 #s(literal -2 binary32) %669)))))
(approx %174 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal -2 binary32) %669 (*.f32 uy (fma.f32 #s(literal -2 binary32) %674 (*.f32 #s(literal 4/3 binary32) %684)))))))
(approx %181 (+.f32 %666 (*.f32 #s(literal 2 binary32) %670)))
(approx %181 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal -2 binary32) %675 %695))))
(approx %181 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal 2 binary32) %669 (*.f32 uy (fma.f32 #s(literal -2 binary32) %674 (*.f32 #s(literal -4/3 binary32) %684)))))))
(approx %184 (*.f32 #s(literal 2 binary32) %666))
(approx %184 (fma.f32 #s(literal 2 binary32) %666 %711))
(approx %184 (fma.f32 #s(literal 2 binary32) %666 (*.f32 uy (fma.f32 #s(literal -4 binary32) %675 %710))))
(approx %184 (fma.f32 #s(literal 2 binary32) %666 (*.f32 uy (fma.f32 #s(literal -2 binary32) %669 (fma.f32 #s(literal 2 binary32) %669 (*.f32 uy (fma.f32 #s(literal -4 binary32) %674 %721)))))))
(approx %187 (+.f32 %666 (*.f32 #s(literal 1/2 binary32) %711)))
(approx %187 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal -2 binary32) %675 (*.f32 #s(literal 1/2 binary32) %710)))))
(approx %187 (+.f32 %666 (*.f32 uy (fma.f32 #s(literal 1/2 binary32) %710 (*.f32 uy (fma.f32 #s(literal -2 binary32) %674 (*.f32 #s(literal 1/2 binary32) %721)))))))
(approx %224 %748)
(approx %224 (+.f32 %748 (*.f32 #s(literal -2 binary32) (*.f32 %614 %750))))
(approx %224 (+.f32 %748 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %750 (*.f32 #s(literal 2/3 binary32) (*.f32 %614 %755))))))
(approx %224 (+.f32 %748 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %750 (*.f32 %614 (fma.f32 #s(literal -4/45 binary32) (*.f32 %614 (*.f32 %629 %748)) (*.f32 #s(literal 2/3 binary32) %755)))))))
(approx %252 (+.f32 %167 (*.f32 #s(literal -2 binary32) (*.f32 %614 %771))))
(approx %252 (+.f32 %167 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %771 (*.f32 #s(literal 2/3 binary32) (*.f32 %614 %776))))))
(approx %252 (+.f32 %167 (*.f32 %614 (fma.f32 #s(literal -2 binary32) %771 (*.f32 %614 (fma.f32 #s(literal -4/45 binary32) (*.f32 %614 (*.f32 %629 %167)) (*.f32 #s(literal 2/3 binary32) %776)))))))
(approx %90 %100)
(approx %96 (*.f32 %100 %640))
(approx %171 (*.f32 #s(literal -2 binary32) %98))
(approx %171 (*.f32 uy (-.f32 (fma.f32 #s(literal 1/2 binary32) %797 %798) (*.f32 #s(literal 2 binary32) %97))))
(approx %177 (*.f32 uy (fma.f32 #s(literal 1/2 binary32) %797 (fma.f32 #s(literal 2 binary32) %97 %798))))
(approx %224 (*.f32 %100 %748))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 uy (-.f32 %811 (*.f32 #s(literal -2 binary32) %97)))))
(approx %177 (*.f32 #s(literal -1 binary32) (*.f32 uy (fma.f32 #s(literal -2 binary32) %97 %811))))
(approx maxCos maxCos)
(approx %20 %822)
(approx %20 %153)
(approx %26 %825)
(approx %26 (fma.f32 #s(literal 2 binary32) %828 %825))
(approx %26 (fma.f32 maxCos (fma.f32 #s(literal 2 binary32) %827 %831) %825))
(approx %40 %835)
(approx %40 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) %828)) %825))
(approx %40 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %831) (*.f32 #s(literal 2 binary32) %827)))) %825))
(approx %49 %848)
(approx %49 (+.f32 %848 (*.f32 #s(literal -1 binary32) (/.f32 %828 %848))))
(approx %49 (+.f32 %848 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %854 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %858) %848))))))
(approx %49 (+.f32 %848 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %854 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux %866)) %869) (*.f32 #s(literal -1/2 binary32) (/.f32 %858 %848))))))))
(approx %96 %879)
(approx %96 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 maxCos %882) %848) %879))
(approx %96 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %887 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %888) %848))) %879))
(approx %96 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %887 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux (*.f32 %100 %866))) %869) (*.f32 #s(literal -1/2 binary32) (/.f32 %888 %848))))) %879))
(approx %128 %907)
(approx %132 %909)
(approx %132 (-.f32 %907 #s(literal 2 binary32)))
(approx %137 %913)
(approx %137 %746)
(approx %143 %916)
(approx %143 (fma.f32 maxCos %918 %916))
(approx %143 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %831 %918) %916))
(approx %190 %924)
(approx %190 (+.f32 %924 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %918) %924))))
(approx %190 (+.f32 %924 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %937) %924) (*.f32 #s(literal 1/2 binary32) %940)))))
(approx %190 (+.f32 %924 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %940 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos %947) %949) (*.f32 #s(literal 1/2 binary32) (/.f32 %937 %924))))))))
(approx %224 %959)
(approx %224 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %961) %924) %959))
(approx %224 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %966) %924) (*.f32 #s(literal 1/2 binary32) %969)) %959))
(approx %224 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %969 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %100 %947)) %949) (*.f32 #s(literal 1/2 binary32) (/.f32 %966 %924))))) %959))
(approx %17 (*.f32 maxCos %985))
(approx %20 (*.f32 maxCos (-.f32 %985 %988)))
(approx %26 %993)
(approx %26 (*.f32 %992 (fma.f32 #s(literal 2 binary32) %995 %53)))
(approx %26 (*.f32 %992 %1001))
(approx %40 (*.f32 #s(literal -1 binary32) %993))
(approx %40 (*.f32 %992 (-.f32 (*.f32 #s(literal -2 binary32) %995) %53)))
(approx %40 (*.f32 %992 (-.f32 (/.f32 #s(literal 1 binary32) %992) %1001)))
(approx %49 %1016)
(approx %49 %1021)
(approx %49 (*.f32 maxCos (+.f32 %1015 (fma.f32 #s(literal -1 binary32) %1018 %1029))))
(approx %49 (*.f32 maxCos (+.f32 %1015 (fma.f32 #s(literal -1 binary32) %1018 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1035 %1038) %1029)))))
(approx %96 %1046)
(approx %96 %1050)
(approx %96 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1048 %1054)))
(approx %96 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1048 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1059 %1038) %1054))))
(approx %128 %906)
(approx %128 (*.f32 maxCos (-.f32 %988 ux)))
(approx %132 (*.f32 maxCos (-.f32 %988 %1070)))
(approx %137 (*.f32 maxCos (-.f32 %1070 %988)))
(approx %143 (*.f32 %992 (fma.f32 #s(literal -1 binary32) %1077 (fma.f32 #s(literal -1 binary32) %53 %1078))))
(approx %143 (*.f32 %992 (fma.f32 #s(literal -1 binary32) %1077 (fma.f32 #s(literal -1 binary32) %53 (+.f32 (/.f32 %916 %992) %1078)))))
(approx %190 %1090)
(approx %190 (*.f32 maxCos (+.f32 %1089 (*.f32 #s(literal 1/2 binary32) %1092))))
(approx %190 (*.f32 maxCos (+.f32 %1089 %1104)))
(approx %190 (*.f32 maxCos (+.f32 %1089 (fma.f32 #s(literal -1/4 binary32) (/.f32 %1108 %1110) %1104))))
(approx %224 %1117)
(approx %224 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1119 %1116)))
(approx %224 (*.f32 maxCos %1126))
(approx %224 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %100 %1108) %1110) %1126)))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 %10 %984))))
(approx %20 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %822 maxCos))))))
(approx %26 (*.f32 %992 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) %827 (*.f32 #s(literal -1 binary32) (/.f32 %825 maxCos))) maxCos) %53)))
(approx %40 (*.f32 %992 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %835 maxCos)) (*.f32 #s(literal -2 binary32) %827)) maxCos)) %53)))
(approx %49 (*.f32 #s(literal -1 binary32) %1016))
(approx %49 (*.f32 #s(literal -1 binary32) %1021))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1015 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1026 %1016) %1165) maxCos))))))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1015 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1035 %1173) (*.f32 #s(literal 1/2 binary32) (/.f32 %1026 %1015))) maxCos) %1165) maxCos))))))
(approx %96 (*.f32 #s(literal -1 binary32) %1046))
(approx %96 (*.f32 #s(literal -1 binary32) %1050))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1052 %1016) %1191) maxCos) %1045))))
(approx %96 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1059 %1173) (*.f32 #s(literal 1/2 binary32) (/.f32 %1052 %1015))) maxCos) %1191) maxCos) %1045))))
(approx %128 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %988) %10))))
(approx %132 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %909 maxCos)) %10))))
(approx %137 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %913 maxCos))))))
(approx %143 (*.f32 %992 (fma.f32 #s(literal -1 binary32) (/.f32 %1226 maxCos) %931)))
(approx %143 (*.f32 %992 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1077 %1226) maxCos) %931)))
(approx %190 (*.f32 #s(literal -1 binary32) %1090))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1089 (*.f32 #s(literal -1/2 binary32) (/.f32 %1226 %1090))))))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1089 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1247 %1090) %1250) maxCos))))))
(approx %190 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1089 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 %1258 %1259) (*.f32 #s(literal 1/2 binary32) (/.f32 %1247 %1089))) maxCos) %1250) maxCos))))))
(approx %224 (*.f32 #s(literal -1 binary32) %1117))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1274 %1090) %1116))))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1280 %1090) %1283) maxCos) %1116))))
(approx %224 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %100 %1258) %1259) (*.f32 #s(literal 1/2 binary32) (/.f32 %1280 %1089))) maxCos) %1283) maxCos) %1116))))
Calls

9 calls:

TimeVariablePoint
5.0ms
maxCos
0
4.0ms
ux
inf
3.0ms
ux
0
3.0ms
ux
-inf
3.0ms
maxCos
inf

rewrite108.0ms (2.1%)

Memory
7.5MiB live, 71.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057481
093422
1365400
21748400
04015400
04101383
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
46 → 1 051
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%14 = (+.f32 #s(literal 1 binary32) %12)
%15 = (-.f32 %14 ux)
%16 = (pow.f32 %15 #s(literal 2 binary32))
%17 = (-.f32 #s(literal 1 binary32) %16)
%18 = (sqrt.f32 %17)
%27 = (+ (- 1 ux) (* ux maxCos))
%33 = (+.f32 %3 %3)
%34 = (*.f32 %33 uy)
%35 = (*.f32 #s(literal 1/2 binary32) %3)
%36 = (fma.f32 maxCos ux %8)
%37 = (-.f32 ux %12)
%38 = (-.f32 %37 #s(literal 0 binary32))
%39 = (-.f32 %37 #s(literal 2 binary32))
%40 = (neg.f32 %39)
%41 = (*.f32 %38 %40)
%42 = (-.f32 %36 #s(literal -1 binary32))
%43 = (*.f32 %38 %42)
%44 = (asin.f32 %36)
%45 = (fabs.f32 %44)
%46 = (+.f32 %45 %35)
%47 = (cos.f32 %44)
%48 = (-.f32 %46 %34)
%49 = (sin.f32 %48)
%50 = (+.f32 %46 %34)
%51 = (sin.f32 %50)
%52 = (+.f32 %49 %51)
%54 = (sqrt.f32 %41)
%56 = (sqrt.f32 %43)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
#s(literal 1/2 binary32)
%14
%15
%16
%17
%18
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %27 %27)))) %18)
%33
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
(/.f32 %52 #s(literal 2 binary32))
%54
(*.f32 %5 %54)
%56
(*.f32 %5 %56)
(*.f32 %5 %47)
Outputs
%5 = (+.f32 uy uy)
%9 = (*.f32 #s(literal 1 binary32) uy)
%11 = (*.f32 uy #s(literal 1 binary32))
%16 = (PI.f32 )
%17 = (*.f32 %16 uy)
%18 = (*.f32 %17 #s(literal 2 binary32))
%19 = (+.f32 %16 %16)
%20 = (*.f32 %19 uy)
%21 = (*.f32 %16 %5)
%22 = (*.f32 %5 %16)
%23 = (*.f32 uy %16)
%24 = (*.f32 #s(literal 2 binary32) %23)
%25 = (*.f32 #s(literal 2 binary32) %17)
%26 = (*.f32 uy %19)
%28 = (/.f32 #s(literal 1 binary32) (pow.f32 %20 #s(literal -1 binary32)))
%29 = (fma.f32 %16 uy %17)
%30 = (fma.f32 uy %16 %23)
%31 = (pow.f32 %20 #s(literal 1 binary32))
%32 = (+.f32 %23 %23)
%33 = (+.f32 %17 %17)
%34 = (cos.f32 %20)
%37 = (sin.f32 %20)
%39 = (*.f32 #s(literal -1/2 binary32) %16)
%40 = (cos.f32 %39)
%42 = (sin.f32 %39)
%46 = (*.f32 #s(literal 1/2 binary32) %16)
%47 = (sin.f32 %46)
%48 = (*.f32 %47 %34)
%49 = (cos.f32 %46)
%51 = (*.f32 #s(literal -2 binary32) %16)
%52 = (*.f32 %51 uy)
%53 = (sin.f32 %52)
%56 = (cos.f32 %23)
%58 = (sin.f32 %23)
%61 = (cos.f32 %17)
%63 = (sin.f32 %17)
%66 = (fabs.f32 %20)
%67 = (sin.f32 %66)
%68 = (*.f32 %34 %47)
%70 = (*.f32 %49 %37)
%82 = (fma.f32 %51 uy %46)
%84 = (+.f32 %66 %46)
%86 = (+.f32 #s(literal 1/2 binary32) %5)
%87 = (*.f32 %16 %86)
%89 = (neg.f32 %52)
%91 = (neg.f32 %66)
%93 = (fabs.f32 %66)
%98 = (-.f32 #s(literal 1 binary32) ux)
%101 = (neg.f32 ux)
%102 = (neg.f32 %101)
%109 = (-.f32 ux #s(literal 1 binary32))
%113 = (*.f32 maxCos ux)
%123 = (fma.f32 maxCos ux #s(literal 1 binary32))
%127 = (neg.f32 maxCos)
%128 = (*.f32 %127 ux)
%134 = (*.f32 (neg.f32 %127) ux)
%136 = (neg.f32 %128)
%139 = (-.f32 %128 #s(literal 1 binary32))
%141 = (-.f32 %123 ux)
%143 = (/.f32 #s(literal 1 binary32) (pow.f32 %141 #s(literal -1 binary32)))
%144 = (-.f32 %141 #s(literal 0 binary32))
%145 = (-.f32 %123 %102)
%146 = (-.f32 %113 %109)
%147 = (-.f32 %98 %128)
%149 = (-.f32 #s(literal 1 binary32) (-.f32 %128 %101))
%150 = (-.f32 ux %113)
%151 = (-.f32 #s(literal 1 binary32) %150)
%152 = (fma.f32 maxCos ux %98)
%153 = (fma.f32 ux maxCos %98)
%154 = (pow.f32 %141 #s(literal 1 binary32))
%155 = (+.f32 %101 %123)
%156 = (-.f32 %113 ux)
%157 = (+.f32 %156 #s(literal 1 binary32))
%158 = (+.f32 %141 #s(literal 0 binary32))
%159 = (+.f32 %123 %101)
%160 = (+.f32 %113 %98)
%162 = (+.f32 %98 (*.f32 %102 maxCos))
%163 = (+.f32 %98 %136)
%164 = (+.f32 %98 %113)
%166 = (+.f32 #s(literal 1 binary32) (+.f32 %101 %113))
%168 = (+.f32 #s(literal 1 binary32) (-.f32 %101 %128))
%169 = (+.f32 #s(literal 1 binary32) %156)
%170 = (-.f32 ux %123)
%171 = (neg.f32 %170)
%172 = (fabs.f32 %170)
%173 = (fabs.f32 %172)
%175 = (neg.f32 %172)
%178 = (*.f32 %170 %170)
%182 = (*.f32 %141 %98)
%187 = (*.f32 %141 maxCos)
%188 = (*.f32 %187 ux)
%191 = (*.f32 %123 ux)
%193 = (fma.f32 %123 %123 (*.f32 #s(literal -2 binary32) %191))
%194 = (*.f32 ux ux)
%204 = (*.f32 %141 %101)
%208 = (*.f32 %141 %156)
%210 = (*.f32 %101 %141)
%219 = (*.f32 %156 %141)
%238 = (pow.f32 %113 #s(literal 2 binary32))
%242 = (pow.f32 %98 #s(literal 2 binary32))
%263 = (*.f32 #s(literal 1 binary32) %150)
%273 = (*.f32 %170 %141)
%275 = (fma.f32 %170 %141 #s(literal 1 binary32))
%293 = (sqrt.f32 %275)
%295 = (/.f32 #s(literal 1 binary32) (pow.f32 %293 #s(literal -1 binary32)))
%297 = (sqrt.f32 (*.f32 %293 %293))
%298 = (acos.f32 %141)
%299 = (neg.f32 %298)
%304 = (-.f32 (*.f32 %49 (cos.f32 %299)) (*.f32 %47 (sin.f32 %299)))
%305 = (asin.f32 %141)
%306 = (sin.f32 %305)
%308 = (*.f32 %293 %42)
%309 = (-.f32 (*.f32 %306 %40) %308)
%311 = (acos.f32 %170)
%316 = (-.f32 (*.f32 (sin.f32 %16) (cos.f32 %311)) (*.f32 (cos.f32 %16) %293))
%318 = (/.f32 (+.f32 %293 %293) #s(literal 2 binary32))
%319 = (asin.f32 %170)
%320 = (sin.f32 %319)
%322 = (-.f32 %318 (*.f32 %49 %320))
%323 = (*.f32 %49 %306)
%324 = (-.f32 %318 %323)
%325 = (fabs.f32 %319)
%326 = (neg.f32 %325)
%329 = (-.f32 %318 (*.f32 %49 (sin.f32 %326)))
%334 = (-.f32 (/.f32 (+.f32 %293 (sin.f32 (+.f32 %325 %39))) #s(literal 2 binary32)) %308)
%335 = (*.f32 %293 %47)
%336 = (fma.f32 %320 %49 %335)
%337 = (fma.f32 %47 %293 %323)
%338 = (sin.f32 %325)
%339 = (*.f32 %49 %338)
%340 = (fma.f32 %47 %293 %339)
%341 = (cos.f32 %298)
%342 = (fma.f32 %49 %341 %318)
%343 = (fma.f32 %341 %49 %335)
%344 = (fma.f32 %306 %49 %335)
%345 = (neg.f32 %39)
%346 = (cos.f32 %345)
%348 = (*.f32 %293 (sin.f32 %345))
%349 = (fma.f32 %338 %346 %348)
%350 = (fma.f32 %338 %49 %335)
%351 = (pow.f32 %293 #s(literal 1 binary32))
%352 = (pow.f32 %275 #s(literal 1/2 binary32))
%354 = (+.f32 (*.f32 %320 %49) %335)
%356 = (+.f32 (*.f32 %338 %346) %348)
%358 = (+.f32 (*.f32 %341 %49) %335)
%363 = (+.f32 (/.f32 (+.f32 (sin.f32 (-.f32 %305 %46)) %293) #s(literal 2 binary32)) %335)
%368 = (+.f32 (/.f32 (+.f32 (sin.f32 (-.f32 %325 %46)) %293) #s(literal 2 binary32)) %335)
%369 = (+.f32 %318 %323)
%370 = (+.f32 %318 %339)
%375 = (+.f32 (/.f32 (+.f32 (cos.f32 (fma.f32 #s(literal 1/2 binary32) %16 %298)) %293) #s(literal 2 binary32)) %318)
%377 = (sin.f32 (acos.f32 %173))
%379 = (sin.f32 (acos.f32 %175))
%380 = (+.f32 %319 %46)
%381 = (sin.f32 %380)
%382 = (acos.f32 %172)
%383 = (sin.f32 %382)
%384 = (sin.f32 %311)
%385 = (sin.f32 %298)
%386 = (fma.f32 #s(literal 1/2 binary32) %16 %325)
%387 = (sin.f32 %386)
%389 = (fabs.f32 (neg.f32 %293))
%390 = (fabs.f32 %293)
%392 = (cos.f32 (asin.f32 %173))
%394 = (cos.f32 (asin.f32 %175))
%395 = (cos.f32 %326)
%396 = (asin.f32 %172)
%397 = (cos.f32 %396)
%398 = (cos.f32 %319)
%399 = (cos.f32 %325)
%400 = (cos.f32 %305)
%413 = (approx (* (sin (acos (- (- ux (* maxCos ux)) 1))) (cos (* (* (PI ) 2) uy))) %293)
%421 = (neg.f32 %16)
%439 = (+.f32 %127 #s(literal 1 binary32))
%440 = (*.f32 %439 ux)
%442 = (/.f32 #s(literal 1 binary32) (pow.f32 %150 #s(literal -1 binary32)))
%443 = (-.f32 %150 #s(literal 0 binary32))
%444 = (-.f32 ux %134)
%445 = (-.f32 ux %136)
%446 = (fma.f32 %439 ux #s(literal 0 binary32))
%447 = (fma.f32 %127 ux ux)
%448 = (fma.f32 %101 maxCos ux)
%449 = (fma.f32 maxCos %101 ux)
%450 = (fma.f32 ux %127 ux)
%451 = (pow.f32 %150 #s(literal 1 binary32))
%452 = (+.f32 %128 ux)
%453 = (+.f32 %150 #s(literal 0 binary32))
%454 = (+.f32 #s(literal 0 binary32) %150)
%456 = (+.f32 ux (fma.f32 %127 ux #s(literal 0 binary32)))
%458 = (+.f32 ux (-.f32 %128 #s(literal 0 binary32)))
%459 = (+.f32 ux %128)
%460 = (neg.f32 %156)
%461 = (fma.f32 maxCos ux #s(literal 2 binary32))
%462 = (-.f32 ux %461)
%465 = (-.f32 #s(literal -1 binary32) %123)
%467 = (-.f32 #s(literal -1 binary32) %113)
%469 = (-.f32 #s(literal -1 binary32) %98)
%489 = (-.f32 %461 ux)
%492 = (/.f32 #s(literal 1 binary32) (pow.f32 %489 #s(literal -1 binary32)))
%493 = (-.f32 #s(literal 2 binary32) ux)
%494 = (-.f32 %493 %128)
%495 = (-.f32 %489 #s(literal 0 binary32))
%496 = (-.f32 %141 #s(literal -1 binary32))
%497 = (-.f32 %123 %109)
%499 = (-.f32 %113 (-.f32 %109 #s(literal 1 binary32)))
%501 = (-.f32 %113 (+.f32 %109 #s(literal -1 binary32)))
%502 = (-.f32 %98 #s(literal -1 binary32))
%504 = (-.f32 %113 (neg.f32 %502))
%506 = (-.f32 %98 (fma.f32 %127 ux #s(literal -1 binary32)))
%507 = (-.f32 %98 %139)
%509 = (-.f32 #s(literal 1 binary32) (+.f32 %150 #s(literal -1 binary32)))
%510 = (-.f32 #s(literal 1 binary32) %170)
%511 = (-.f32 #s(literal 2 binary32) %150)
%512 = (fma.f32 maxCos ux %502)
%513 = (fma.f32 ux maxCos %502)
%514 = (pow.f32 %489 #s(literal 1 binary32))
%515 = (+.f32 %493 %113)
%516 = (+.f32 %502 %113)
%517 = (+.f32 %156 #s(literal 2 binary32))
%518 = (+.f32 %489 #s(literal 0 binary32))
%519 = (+.f32 %141 #s(literal 1 binary32))
%521 = (+.f32 %123 (-.f32 %101 #s(literal -1 binary32)))
%522 = (+.f32 %123 %98)
%523 = (+.f32 %113 %502)
%524 = (+.f32 %98 %123)
%526 = (+.f32 #s(literal 1 binary32) (-.f32 %156 #s(literal -1 binary32)))
%527 = (+.f32 #s(literal 1 binary32) %141)
%528 = (+.f32 #s(literal 2 binary32) %156)
%530 = (neg.f32 (+.f32 %170 #s(literal -1 binary32)))
%531 = (neg.f32 %462)
%532 = (*.f32 %156 %462)
%533 = (*.f32 %489 %150)
%534 = (*.f32 %150 %489)
%536 = (/.f32 #s(literal 1 binary32) (pow.f32 %532 #s(literal -1 binary32)))
%537 = (*.f32 %489 #s(literal 0 binary32))
%538 = (fma.f32 %156 %462 %537)
%539 = (*.f32 #s(literal 0 binary32) %489)
%540 = (fma.f32 %156 %462 %539)
%541 = (fma.f32 %489 %150 %537)
%542 = (fma.f32 %489 %150 %539)
%543 = (*.f32 %489 %128)
%544 = (fma.f32 %489 ux %543)
%545 = (fma.f32 %150 %489 %537)
%546 = (fma.f32 %150 %489 %539)
%547 = (*.f32 %150 #s(literal 1 binary32))
%548 = (fma.f32 %150 %141 %547)
%549 = (*.f32 %150 %502)
%550 = (fma.f32 %150 %113 %549)
%551 = (fma.f32 %141 %150 %263)
%552 = (*.f32 %502 %150)
%553 = (fma.f32 %113 %150 %552)
%554 = (*.f32 %128 %489)
%555 = (fma.f32 ux %489 %554)
%556 = (pow.f32 %532 #s(literal 1 binary32))
%558 = (+.f32 (*.f32 %489 ux) %543)
%560 = (+.f32 (*.f32 %150 %141) %547)
%562 = (+.f32 (*.f32 %150 %113) %549)
%564 = (+.f32 (*.f32 ux %489) %554)
%566 = (+.f32 (*.f32 %141 %150) %263)
%568 = (+.f32 (*.f32 %113 %150) %552)
%569 = (+.f32 %532 %537)
%570 = (+.f32 %532 %539)
%572 = (neg.f32 (*.f32 %156 %489))
%574 = (neg.f32 (*.f32 %489 %156))
%576 = (neg.f32 (*.f32 %462 %150))
%585 = (sqrt.f32 %325)
%589 = (*.f32 %319 %319)
%608 = (-.f32 #s(literal 1/2 binary32) %5)
%609 = (fma.f32 %16 %608 %325)
%614 = (-.f32 %39 %52)
%616 = (fma.f32 #s(literal -1/2 binary32) %16 %20)
%618 = (*.f32 %16 %608)
%619 = (neg.f32 %618)
%621 = (neg.f32 %5)
%623 = (neg.f32 uy)
%629 = (+.f32 %325 %52)
%631 = (-.f32 %325 %20)
%645 = (neg.f32 %609)
%647 = (sin.f32 %609)
%665 = (*.f32 %293 %34)
%666 = (cos.f32 %386)
%668 = (*.f32 %666 (sin.f32 %89))
%670 = (*.f32 %37 %666)
%672 = (sin.f32 %618)
%673 = (cos.f32 %618)
%674 = (*.f32 %673 %338)
%676 = (cos.f32 %629)
%678 = (*.f32 %49 (sin.f32 %629))
%680 = (cos.f32 %631)
%682 = (*.f32 %49 (sin.f32 %631))
%685 = (*.f32 %293 %672)
%687 = (fma.f32 %16 %86 %325)
%689 = (sin.f32 (neg.f32 %687))
%690 = (-.f32 %689 %647)
%692 = (*.f32 (neg.f32 %666) %37)
%694 = (neg.f32 %670)
%696 = (*.f32 %666 %53)
%699 = (cos.f32 (fma.f32 %19 uy %319))
%701 = (cos.f32 (fma.f32 %19 uy %305))
%702 = (+.f32 %699 %701)
%706 = (sin.f32 %687)
%707 = (+.f32 %706 %647)
%711 = (*.f32 %706 #s(literal 1/2 binary32))
%712 = (-.f32 %711 %670)
%725 = (cos.f32 (*.f32 (-.f32 %609 %687) #s(literal 1/2 binary32)))
%728 = (sin.f32 (*.f32 (+.f32 %687 %609) #s(literal 1/2 binary32)))
%729 = (*.f32 %725 %728)
%730 = (*.f32 %729 #s(literal 1/2 binary32))
%734 = (/.f32 %729 #s(literal 2 binary32))
%749 = (*.f32 %647 #s(literal 1/2 binary32))
%760 = (fma.f32 %19 uy %325)
%763 = (-.f32 %39 %20)
%765 = (fma.f32 #s(literal -1/2 binary32) %16 %52)
%767 = (neg.f32 %87)
%769 = (neg.f32 %386)
%774 = (-.f32 %325 %52)
%776 = (+.f32 %325 %20)
%798 = (sin.f32 %760)
%800 = (cos.f32 %760)
%824 = (*.f32 %800 %47)
%826 = (cos.f32 %774)
%828 = (*.f32 %49 (sin.f32 %774))
%830 = (cos.f32 %776)
%832 = (*.f32 %49 (sin.f32 %776))
%834 = (cos.f32 %87)
%836 = (*.f32 %834 %338)
%848 = (fma.f32 %706 #s(literal 1/2 binary32) %670)
%882 = (+.f32 %687 %16)
%908 = (fma.f32 %37 %666 %647)
%928 = (*.f32 %690 #s(literal -1/2 binary32))
%929 = (*.f32 %702 #s(literal 1/2 binary32))
%930 = (*.f32 %707 #s(literal 1/2 binary32))
%931 = (*.f32 #s(literal 1/2 binary32) %707)
%932 = (*.f32 %34 %293)
%933 = (*.f32 #s(literal 2 binary32) %730)
%934 = (*.f32 #s(literal 2 binary32) %734)
%940 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %89)) (cos.f32 (-.f32 %326 %89))) #s(literal 2 binary32))
%946 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %91)) (cos.f32 (-.f32 %326 %91))) #s(literal 2 binary32))
%952 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %93)) (cos.f32 (-.f32 %326 %93))) #s(literal 2 binary32))
%958 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %52)) (cos.f32 (-.f32 %326 %52))) #s(literal 2 binary32))
%964 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %66)) (cos.f32 (-.f32 %326 %66))) #s(literal 2 binary32))
%970 = (/.f32 (+.f32 (cos.f32 (+.f32 %326 %20)) (cos.f32 (-.f32 %326 %20))) #s(literal 2 binary32))
%976 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %89)) (cos.f32 (-.f32 %396 %89))) #s(literal 2 binary32))
%982 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %91)) (cos.f32 (-.f32 %396 %91))) #s(literal 2 binary32))
%988 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %93)) (cos.f32 (-.f32 %396 %93))) #s(literal 2 binary32))
%994 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %52)) (cos.f32 (-.f32 %396 %52))) #s(literal 2 binary32))
%1000 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %66)) (cos.f32 (-.f32 %396 %66))) #s(literal 2 binary32))
%1006 = (/.f32 (+.f32 (cos.f32 (+.f32 %396 %20)) (cos.f32 (-.f32 %396 %20))) #s(literal 2 binary32))
%1012 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %89)) (cos.f32 (-.f32 %319 %89))) #s(literal 2 binary32))
%1018 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %91)) (cos.f32 (-.f32 %319 %91))) #s(literal 2 binary32))
%1024 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %93)) (cos.f32 (-.f32 %319 %93))) #s(literal 2 binary32))
%1030 = (/.f32 (+.f32 (cos.f32 (+.f32 %325 %89)) (cos.f32 (-.f32 %325 %89))) #s(literal 2 binary32))
%1036 = (/.f32 (+.f32 (cos.f32 (+.f32 %325 %91)) (cos.f32 (-.f32 %325 %91))) #s(literal 2 binary32))
%1042 = (/.f32 (+.f32 (cos.f32 (+.f32 %325 %93)) (cos.f32 (-.f32 %325 %93))) #s(literal 2 binary32))
%1048 = (/.f32 (+.f32 (cos.f32 (+.f32 %305 %89)) (cos.f32 (-.f32 %305 %89))) #s(literal 2 binary32))
%1054 = (/.f32 (+.f32 (cos.f32 (+.f32 %305 %91)) (cos.f32 (-.f32 %305 %91))) #s(literal 2 binary32))
%1060 = (/.f32 (+.f32 (cos.f32 (+.f32 %305 %93)) (cos.f32 (-.f32 %305 %93))) #s(literal 2 binary32))
%1066 = (/.f32 (+.f32 (cos.f32 (+.f32 %89 %326)) (cos.f32 (-.f32 %89 %326))) #s(literal 2 binary32))
%1072 = (/.f32 (+.f32 (cos.f32 (+.f32 %89 %396)) (cos.f32 (-.f32 %89 %396))) #s(literal 2 binary32))
%1078 = (/.f32 (+.f32 (cos.f32 (+.f32 %89 %319)) (cos.f32 (-.f32 %89 %319))) #s(literal 2 binary32))
%1084 = (/.f32 (+.f32 (cos.f32 (+.f32 %89 %325)) (cos.f32 (-.f32 %89 %325))) #s(literal 2 binary32))
%1090 = (/.f32 (+.f32 (cos.f32 (+.f32 %89 %305)) (cos.f32 (-.f32 %89 %305))) #s(literal 2 binary32))
%1096 = (/.f32 (+.f32 (cos.f32 (+.f32 %91 %326)) (cos.f32 (-.f32 %91 %326))) #s(literal 2 binary32))
%1102 = (/.f32 (+.f32 (cos.f32 (+.f32 %91 %396)) (cos.f32 (-.f32 %91 %396))) #s(literal 2 binary32))
%1108 = (/.f32 (+.f32 (cos.f32 (+.f32 %91 %319)) (cos.f32 (-.f32 %91 %319))) #s(literal 2 binary32))
%1114 = (/.f32 (+.f32 (cos.f32 (+.f32 %91 %325)) (cos.f32 (-.f32 %91 %325))) #s(literal 2 binary32))
%1120 = (/.f32 (+.f32 (cos.f32 (+.f32 %91 %305)) (cos.f32 (-.f32 %91 %305))) #s(literal 2 binary32))
%1126 = (/.f32 (+.f32 (cos.f32 (+.f32 %93 %326)) (cos.f32 (-.f32 %93 %326))) #s(literal 2 binary32))
%1132 = (/.f32 (+.f32 (cos.f32 (+.f32 %93 %396)) (cos.f32 (-.f32 %93 %396))) #s(literal 2 binary32))
%1138 = (/.f32 (+.f32 (cos.f32 (+.f32 %93 %319)) (cos.f32 (-.f32 %93 %319))) #s(literal 2 binary32))
%1144 = (/.f32 (+.f32 (cos.f32 (+.f32 %93 %325)) (cos.f32 (-.f32 %93 %325))) #s(literal 2 binary32))
%1150 = (/.f32 (+.f32 (cos.f32 (+.f32 %93 %305)) (cos.f32 (-.f32 %93 %305))) #s(literal 2 binary32))
%1156 = (/.f32 (+.f32 (cos.f32 (fma.f32 %51 uy %326)) (cos.f32 (-.f32 %52 %326))) #s(literal 2 binary32))
%1162 = (/.f32 (+.f32 (cos.f32 (fma.f32 %51 uy %396)) (cos.f32 (-.f32 %52 %396))) #s(literal 2 binary32))
%1168 = (/.f32 (+.f32 (cos.f32 (+.f32 %66 %326)) (cos.f32 (-.f32 %66 %326))) #s(literal 2 binary32))
%1174 = (/.f32 (+.f32 (cos.f32 (+.f32 %66 %396)) (cos.f32 (-.f32 %66 %396))) #s(literal 2 binary32))
%1180 = (/.f32 (+.f32 (cos.f32 (fma.f32 %19 uy %326)) (cos.f32 (-.f32 %20 %326))) #s(literal 2 binary32))
%1186 = (/.f32 (+.f32 (cos.f32 (fma.f32 %19 uy %396)) (cos.f32 (-.f32 %20 %396))) #s(literal 2 binary32))
%1192 = (/.f32 (-.f32 (cos.f32 (-.f32 %380 %82)) (cos.f32 (+.f32 %380 %82))) #s(literal 2 binary32))
%1198 = (/.f32 (-.f32 (cos.f32 (-.f32 %380 %84)) (cos.f32 (+.f32 %380 %84))) #s(literal 2 binary32))
%1204 = (/.f32 (-.f32 (cos.f32 (-.f32 %380 %87)) (cos.f32 (+.f32 %380 %87))) #s(literal 2 binary32))
%1210 = (/.f32 (-.f32 (cos.f32 (-.f32 %382 %82)) (cos.f32 (+.f32 %382 %82))) #s(literal 2 binary32))
%1216 = (/.f32 (-.f32 (cos.f32 (-.f32 %382 %84)) (cos.f32 (+.f32 %382 %84))) #s(literal 2 binary32))
%1222 = (/.f32 (-.f32 (cos.f32 (-.f32 %382 %87)) (cos.f32 (+.f32 %382 %87))) #s(literal 2 binary32))
%1228 = (/.f32 (-.f32 (cos.f32 (-.f32 %311 %82)) (cos.f32 (+.f32 %311 %82))) #s(literal 2 binary32))
%1234 = (/.f32 (-.f32 (cos.f32 (-.f32 %311 %84)) (cos.f32 (+.f32 %311 %84))) #s(literal 2 binary32))
%1240 = (/.f32 (-.f32 (cos.f32 (-.f32 %298 %82)) (cos.f32 (+.f32 %298 %82))) #s(literal 2 binary32))
%1246 = (/.f32 (-.f32 (cos.f32 (-.f32 %298 %84)) (cos.f32 (+.f32 %298 %84))) #s(literal 2 binary32))
%1252 = (/.f32 (-.f32 (cos.f32 (-.f32 %386 %82)) (cos.f32 (+.f32 %386 %82))) #s(literal 2 binary32))
%1258 = (/.f32 (-.f32 (cos.f32 (-.f32 %386 %84)) (cos.f32 (+.f32 %386 %84))) #s(literal 2 binary32))
%1264 = (/.f32 (-.f32 (cos.f32 (-.f32 %82 %380)) (cos.f32 (+.f32 %82 %380))) #s(literal 2 binary32))
%1270 = (/.f32 (-.f32 (cos.f32 (-.f32 %82 %382)) (cos.f32 (+.f32 %82 %382))) #s(literal 2 binary32))
%1276 = (/.f32 (-.f32 (cos.f32 (-.f32 %82 %311)) (cos.f32 (+.f32 %82 %311))) #s(literal 2 binary32))
%1282 = (/.f32 (-.f32 (cos.f32 (-.f32 %82 %298)) (cos.f32 (+.f32 %82 %298))) #s(literal 2 binary32))
%1288 = (/.f32 (-.f32 (cos.f32 (-.f32 %82 %386)) (cos.f32 (+.f32 %82 %386))) #s(literal 2 binary32))
%1294 = (/.f32 (-.f32 (cos.f32 (-.f32 %84 %380)) (cos.f32 (+.f32 %84 %380))) #s(literal 2 binary32))
%1300 = (/.f32 (-.f32 (cos.f32 (-.f32 %84 %382)) (cos.f32 (+.f32 %84 %382))) #s(literal 2 binary32))
%1306 = (/.f32 (-.f32 (cos.f32 (-.f32 %84 %311)) (cos.f32 (+.f32 %84 %311))) #s(literal 2 binary32))
%1312 = (/.f32 (-.f32 (cos.f32 (-.f32 %84 %298)) (cos.f32 (+.f32 %84 %298))) #s(literal 2 binary32))
%1318 = (/.f32 (-.f32 (cos.f32 (-.f32 %84 %386)) (cos.f32 (+.f32 %84 %386))) #s(literal 2 binary32))
%1324 = (/.f32 (-.f32 (cos.f32 (-.f32 %87 %380)) (cos.f32 (fma.f32 %16 %86 %380))) #s(literal 2 binary32))
%1330 = (/.f32 (-.f32 (cos.f32 (-.f32 %87 %382)) (cos.f32 (fma.f32 %16 %86 %382))) #s(literal 2 binary32))
%1336 = (/.f32 (-.f32 (cos.f32 (-.f32 %87 %386)) (cos.f32 (fma.f32 %16 %86 %386))) #s(literal 2 binary32))
%1342 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %89)) (sin.f32 (+.f32 %380 %89))) #s(literal 2 binary32))
%1348 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %91)) (sin.f32 (+.f32 %380 %91))) #s(literal 2 binary32))
%1354 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %93)) (sin.f32 (+.f32 %380 %93))) #s(literal 2 binary32))
%1360 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %52)) (sin.f32 (+.f32 %380 %52))) #s(literal 2 binary32))
%1366 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %66)) (sin.f32 (+.f32 %380 %66))) #s(literal 2 binary32))
%1372 = (/.f32 (+.f32 (sin.f32 (-.f32 %380 %20)) (sin.f32 (+.f32 %380 %20))) #s(literal 2 binary32))
%1378 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %89)) (sin.f32 (+.f32 %382 %89))) #s(literal 2 binary32))
%1384 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %91)) (sin.f32 (+.f32 %382 %91))) #s(literal 2 binary32))
%1390 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %93)) (sin.f32 (+.f32 %382 %93))) #s(literal 2 binary32))
%1396 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %52)) (sin.f32 (+.f32 %382 %52))) #s(literal 2 binary32))
%1402 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %66)) (sin.f32 (+.f32 %382 %66))) #s(literal 2 binary32))
%1408 = (/.f32 (+.f32 (sin.f32 (-.f32 %382 %20)) (sin.f32 (+.f32 %382 %20))) #s(literal 2 binary32))
%1414 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %89)) (sin.f32 (+.f32 %311 %89))) #s(literal 2 binary32))
%1420 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %91)) (sin.f32 (+.f32 %311 %91))) #s(literal 2 binary32))
%1426 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %93)) (sin.f32 (+.f32 %311 %93))) #s(literal 2 binary32))
%1432 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %89)) (sin.f32 (+.f32 %298 %89))) #s(literal 2 binary32))
%1438 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %91)) (sin.f32 (+.f32 %298 %91))) #s(literal 2 binary32))
%1444 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %93)) (sin.f32 (+.f32 %298 %93))) #s(literal 2 binary32))
%1450 = (/.f32 (+.f32 (sin.f32 (-.f32 %386 %91)) (sin.f32 (+.f32 %386 %91))) #s(literal 2 binary32))
%1456 = (/.f32 (+.f32 (sin.f32 (-.f32 %386 %93)) (sin.f32 (+.f32 %386 %93))) #s(literal 2 binary32))
%1462 = (/.f32 (+.f32 (sin.f32 (-.f32 %82 %326)) (sin.f32 (+.f32 %82 %326))) #s(literal 2 binary32))
%1468 = (/.f32 (+.f32 (sin.f32 (-.f32 %82 %396)) (sin.f32 (+.f32 %82 %396))) #s(literal 2 binary32))
%1474 = (/.f32 (+.f32 (sin.f32 (-.f32 %82 %319)) (sin.f32 (+.f32 %82 %319))) #s(literal 2 binary32))
%1480 = (/.f32 (+.f32 (sin.f32 (-.f32 %82 %325)) (sin.f32 (+.f32 %82 %325))) #s(literal 2 binary32))
%1486 = (/.f32 (+.f32 (sin.f32 (-.f32 %82 %305)) (sin.f32 (+.f32 %82 %305))) #s(literal 2 binary32))
%1492 = (/.f32 (+.f32 (sin.f32 (-.f32 %84 %326)) (sin.f32 (+.f32 %84 %326))) #s(literal 2 binary32))
%1498 = (/.f32 (+.f32 (sin.f32 (-.f32 %84 %396)) (sin.f32 (+.f32 %84 %396))) #s(literal 2 binary32))
%1504 = (/.f32 (+.f32 (sin.f32 (-.f32 %84 %319)) (sin.f32 (+.f32 %84 %319))) #s(literal 2 binary32))
%1510 = (/.f32 (+.f32 (sin.f32 (-.f32 %84 %325)) (sin.f32 (+.f32 %84 %325))) #s(literal 2 binary32))
%1516 = (/.f32 (+.f32 (sin.f32 (-.f32 %84 %305)) (sin.f32 (+.f32 %84 %305))) #s(literal 2 binary32))
%1522 = (/.f32 (+.f32 (sin.f32 (-.f32 %87 %326)) (sin.f32 (fma.f32 %16 %86 %326))) #s(literal 2 binary32))
%1528 = (/.f32 (+.f32 (sin.f32 (-.f32 %87 %396)) (sin.f32 (fma.f32 %16 %86 %396))) #s(literal 2 binary32))
%1530 = (/.f32 (*.f32 %707 #s(literal 1 binary32)) #s(literal 2 binary32))
%1532 = (/.f32 (fma.f32 %749 #s(literal 2 binary32) %706) #s(literal 2 binary32))
%1536 = (/.f32 (fma.f32 %647 #s(literal 2 binary32) (*.f32 %706 #s(literal 2 binary32))) #s(literal 4 binary32))
%1539 = (/.f32 (fma.f32 %647 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %706)) #s(literal 4 binary32))
%1541 = (/.f32 (neg.f32 %702) #s(literal -2 binary32))
%1547 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %52)) (cos.f32 (-.f32 %319 %52))) #s(literal 2 binary32))
%1553 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %66)) (cos.f32 (-.f32 %319 %66))) #s(literal 2 binary32))
%1559 = (/.f32 (+.f32 (cos.f32 (+.f32 %319 %20)) (cos.f32 (-.f32 %319 %20))) #s(literal 2 binary32))
%1561 = (/.f32 (+.f32 %676 %826) #s(literal 2 binary32))
%1567 = (/.f32 (+.f32 (cos.f32 (+.f32 %325 %66)) (cos.f32 (-.f32 %325 %66))) #s(literal 2 binary32))
%1569 = (/.f32 (+.f32 %830 %680) #s(literal 2 binary32))
%1575 = (/.f32 (+.f32 (cos.f32 (+.f32 %305 %52)) (cos.f32 (-.f32 %305 %52))) #s(literal 2 binary32))
%1581 = (/.f32 (+.f32 (cos.f32 (+.f32 %305 %66)) (cos.f32 (-.f32 %305 %66))) #s(literal 2 binary32))
%1585 = (/.f32 (+.f32 %701 (cos.f32 (-.f32 %305 %20))) #s(literal 2 binary32))
%1591 = (/.f32 (+.f32 (cos.f32 (fma.f32 %51 uy %319)) (cos.f32 (-.f32 %52 %319))) #s(literal 2 binary32))
%1597 = (/.f32 (+.f32 (cos.f32 (fma.f32 %51 uy %325)) (cos.f32 (-.f32 %52 %325))) #s(literal 2 binary32))
%1603 = (/.f32 (+.f32 (cos.f32 (fma.f32 %51 uy %305)) (cos.f32 (-.f32 %52 %305))) #s(literal 2 binary32))
%1609 = (/.f32 (+.f32 (cos.f32 (+.f32 %66 %319)) (cos.f32 (-.f32 %66 %319))) #s(literal 2 binary32))
%1615 = (/.f32 (+.f32 (cos.f32 (+.f32 %66 %325)) (cos.f32 (-.f32 %66 %325))) #s(literal 2 binary32))
%1621 = (/.f32 (+.f32 (cos.f32 (+.f32 %66 %305)) (cos.f32 (-.f32 %66 %305))) #s(literal 2 binary32))
%1625 = (/.f32 (+.f32 %800 (cos.f32 (-.f32 %20 %325))) #s(literal 2 binary32))
%1631 = (/.f32 (-.f32 (cos.f32 (-.f32 %386 %87)) (cos.f32 (+.f32 %386 %87))) #s(literal 2 binary32))
%1637 = (/.f32 (-.f32 (cos.f32 (-.f32 %311 %87)) (cos.f32 (+.f32 %311 %87))) #s(literal 2 binary32))
%1643 = (/.f32 (-.f32 (cos.f32 (-.f32 %298 %87)) (cos.f32 (+.f32 %298 %87))) #s(literal 2 binary32))
%1649 = (/.f32 (-.f32 (cos.f32 (-.f32 %87 %311)) (cos.f32 (fma.f32 %16 %86 %311))) #s(literal 2 binary32))
%1653 = (/.f32 (-.f32 %701 (cos.f32 (fma.f32 %16 %86 %298))) #s(literal 2 binary32))
%1659 = (/.f32 (+.f32 (sin.f32 (-.f32 %386 %66)) (sin.f32 (+.f32 %386 %66))) #s(literal 2 binary32))
%1665 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %52)) (sin.f32 (+.f32 %311 %52))) #s(literal 2 binary32))
%1671 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %66)) (sin.f32 (+.f32 %311 %66))) #s(literal 2 binary32))
%1677 = (/.f32 (+.f32 (sin.f32 (-.f32 %311 %20)) (sin.f32 (+.f32 %311 %20))) #s(literal 2 binary32))
%1683 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %52)) (sin.f32 (+.f32 %298 %52))) #s(literal 2 binary32))
%1689 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %66)) (sin.f32 (+.f32 %298 %66))) #s(literal 2 binary32))
%1695 = (/.f32 (+.f32 (sin.f32 (-.f32 %298 %20)) (sin.f32 (+.f32 %298 %20))) #s(literal 2 binary32))
%1701 = (/.f32 (+.f32 (sin.f32 (-.f32 %87 %319)) (sin.f32 (fma.f32 %16 %86 %319))) #s(literal 2 binary32))
%1705 = (/.f32 (+.f32 (sin.f32 (-.f32 %87 %325)) %706) #s(literal 2 binary32))
%1711 = (/.f32 (+.f32 (sin.f32 (-.f32 %87 %305)) (sin.f32 (fma.f32 %16 %86 %305))) #s(literal 2 binary32))
%1712 = (/.f32 %690 #s(literal -2 binary32))
%1713 = (/.f32 %702 #s(literal 2 binary32))
%1714 = (/.f32 %707 #s(literal 2 binary32))
%1716 = (/.f32 #s(literal 1 binary32) (/.f32 #s(literal -2 binary32) %690))
%1718 = (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %702))
%1720 = (/.f32 #s(literal 1 binary32) (pow.f32 %665 #s(literal -1 binary32)))
%1722 = (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %707))
%1724 = (-.f32 %749 (neg.f32 %711))
%1726 = (-.f32 %749 (/.f32 %689 #s(literal 2 binary32)))
%1727 = (fma.f32 %706 #s(literal 1/2 binary32) %749)
%1728 = (fma.f32 %647 #s(literal 1/2 binary32) %711)
%1729 = (pow.f32 %665 #s(literal 1 binary32))
%1732 = (+.f32 (/.f32 %701 #s(literal 2 binary32)) (/.f32 %699 #s(literal 2 binary32)))
%1733 = (+.f32 %711 %749)
%1734 = (+.f32 %749 %711)
%1736 = (neg.f32 (/.f32 %707 #s(literal -2 binary32)))
%1738 = (neg.f32 (/.f32 %690 #s(literal 2 binary32)))
%1739 = (fabs.f32 %489)
%1740 = (sqrt.f32 %1739)
%1741 = (fabs.f32 %156)
%1742 = (sqrt.f32 %1741)
%1743 = (*.f32 %1740 %1742)
%1744 = (*.f32 %1742 %1740)
%1745 = (sqrt.f32 %532)
%1747 = (/.f32 #s(literal 1 binary32) (pow.f32 %1745 #s(literal -1 binary32)))
%1749 = (sqrt.f32 (*.f32 %1745 %1745))
%1751 = (sqrt.f32 (*.f32 %1741 %1739))
%1752 = (pow.f32 %1745 #s(literal 1 binary32))
%1753 = (pow.f32 %532 #s(literal 1/2 binary32))
%1755 = (fabs.f32 (neg.f32 %1745))
%1756 = (fabs.f32 %1745)
%1758 = (*.f32 (*.f32 %34 %1742) %1740)
%1760 = (*.f32 %1742 (*.f32 %1740 %34))
%1761 = (*.f32 %1745 %34)
%1762 = (*.f32 %34 %1745)
%1764 = (/.f32 #s(literal 1 binary32) (pow.f32 %1761 #s(literal -1 binary32)))
%1765 = (pow.f32 %1761 #s(literal 1 binary32))
uy
#s(literal 2 binary32)
(*.f32 #s(literal 2 binary32) uy)
(*.f32 uy #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %5 #s(literal -1 binary32)))
(fma.f32 #s(literal 1 binary32) uy %9)
(fma.f32 uy #s(literal 1 binary32) %11)
(pow.f32 %5 #s(literal 1 binary32))
(+.f32 %11 %11)
(+.f32 %9 %9)
%5
%16
%18
%20
%21
%22
%24
%25
%26
%28
%29
%30
%31
%32
%33
(/.f32 #s(literal 1 binary32) (pow.f32 %34 #s(literal -1 binary32)))
(-.f32 (*.f32 %37 %40) (*.f32 %34 %42))
(-.f32 %48 (*.f32 %49 %53))
(-.f32 (*.f32 %56 %56) (*.f32 %58 %58))
(-.f32 (*.f32 %61 %61) (*.f32 %63 %63))
(fma.f32 %67 %49 %68)
(fma.f32 %47 %34 %70)
(fma.f32 %53 %49 %68)
(fma.f32 %37 %49 %68)
(pow.f32 %34 #s(literal 1 binary32))
(+.f32 (*.f32 %53 %49) %68)
(+.f32 (*.f32 %67 %49) %68)
(+.f32 %48 %70)
(+.f32 (*.f32 %37 %49) %68)
(sin.f32 %82)
(sin.f32 %84)
(sin.f32 %87)
(cos.f32 %89)
(cos.f32 %91)
(cos.f32 %93)
(cos.f32 %52)
(cos.f32 %66)
%34
#s(literal 1 binary32)
ux
(/.f32 #s(literal 1 binary32) (pow.f32 %98 #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) %102)
%98
(pow.f32 %98 #s(literal 1 binary32))
(+.f32 %101 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %101)
(neg.f32 (+.f32 #s(literal -1 binary32) ux))
(neg.f32 %109)
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%113
(*.f32 ux maxCos)
(/.f32 #s(literal 1 binary32) (pow.f32 %113 #s(literal -1 binary32)))
(-.f32 %113 #s(literal 0 binary32))
(fma.f32 maxCos ux #s(literal 0 binary32))
(fma.f32 ux maxCos #s(literal 0 binary32))
(pow.f32 %113 #s(literal 1 binary32))
(+.f32 %113 #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) %113)
#s(literal 1/2 binary32)
(/.f32 #s(literal 1 binary32) (pow.f32 %123 #s(literal -1 binary32)))
(-.f32 %113 #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) %128)
%123
(fma.f32 ux maxCos #s(literal 1 binary32))
(pow.f32 %123 #s(literal 1 binary32))
(+.f32 %113 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %134)
(+.f32 #s(literal 1 binary32) %136)
(+.f32 #s(literal 1 binary32) %113)
(neg.f32 %139)
%143
%144
%145
%141
%146
%147
%149
%151
%152
%153
%154
%155
%157
%158
%159
%160
%162
%163
%164
%166
%168
%169
%171
(*.f32 %173 %173)
(*.f32 %175 %175)
(*.f32 %172 %172)
%178
(*.f32 %141 %141)
(/.f32 #s(literal 1 binary32) (pow.f32 %178 #s(literal -1 binary32)))
(-.f32 %182 (*.f32 %170 %113))
(-.f32 %182 (*.f32 %128 %141))
(-.f32 %182 (neg.f32 %188))
(-.f32 %193 (neg.f32 %194))
(-.f32 (*.f32 %123 %123) (-.f32 (*.f32 %191 #s(literal 2 binary32)) %194))
(fma.f32 %187 ux %182)
(fma.f32 (*.f32 %141 ux) maxCos %182)
(fma.f32 %141 %123 %204)
(fma.f32 %141 %113 %182)
(fma.f32 %141 %98 %188)
(fma.f32 %141 #s(literal 1 binary32) %208)
(fma.f32 %123 %141 %210)
(fma.f32 %113 %141 %182)
(fma.f32 maxCos (*.f32 ux %141) %182)
(fma.f32 %98 %141 %188)
(fma.f32 ux (*.f32 maxCos %141) %182)
(fma.f32 ux ux %193)
(fma.f32 #s(literal 1 binary32) %141 %219)
(pow.f32 %172 #s(literal 2 binary32))
(pow.f32 %170 #s(literal 2 binary32))
(pow.f32 %141 #s(literal 2 binary32))
(pow.f32 %178 #s(literal 1 binary32))
(+.f32 (*.f32 %141 %123) %204)
(+.f32 (*.f32 %141 #s(literal 1 binary32)) %208)
(+.f32 (*.f32 %123 %141) %210)
(+.f32 (*.f32 #s(literal 1 binary32) %141) %219)
(+.f32 (fma.f32 %123 %123 (*.f32 #s(literal 2 binary32) (*.f32 %123 %101))) (pow.f32 %101 #s(literal 2 binary32)))
(+.f32 (+.f32 %238 (*.f32 #s(literal 2 binary32) (*.f32 %113 %98))) %242)
(+.f32 (+.f32 %242 (*.f32 #s(literal 2 binary32) (*.f32 %98 %113))) %238)
(+.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1 binary32) %156))) (pow.f32 %156 #s(literal 2 binary32)))
(+.f32 (-.f32 %238 (*.f32 #s(literal 2 binary32) (*.f32 %113 %109))) (pow.f32 %109 #s(literal 2 binary32)))
(+.f32 (-.f32 %242 (*.f32 #s(literal 2 binary32) (*.f32 %98 %128))) (pow.f32 %128 #s(literal 2 binary32)))
(+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %263)) (pow.f32 %150 #s(literal 2 binary32)))
(+.f32 %188 %182)
(+.f32 %182 %188)
(+.f32 %194 %193)
(+.f32 %193 %194)
(fabs.f32 %178)
(neg.f32 %273)
(/.f32 #s(literal 1 binary32) (pow.f32 %275 #s(literal -1 binary32)))
(-.f32 (-.f32 #s(literal 1 binary32) %182) %188)
(-.f32 (-.f32 #s(literal 1 binary32) %193) %194)
(-.f32 #s(literal 1 binary32) %178)
(fma.f32 %175 %172 #s(literal 1 binary32))
(fma.f32 %172 %175 #s(literal 1 binary32))
%275
(fma.f32 %141 %170 #s(literal 1 binary32))
(pow.f32 %275 #s(literal 1 binary32))
(+.f32 %273 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %273)
(neg.f32 (+.f32 #s(literal -1 binary32) %178))
(neg.f32 (fma.f32 %170 %170 #s(literal -1 binary32)))
%295
%297
%293
%304
%309
%316
%322
%324
%329
%334
%336
%337
%340
%342
%343
%344
%349
%350
%351
%352
%354
%356
%358
%363
%368
%369
%370
%375
%377
%379
%381
%383
%384
%385
%387
%389
%390
%392
%394
%395
%397
%398
%399
%400
(/.f32 #s(literal 1 binary32) (pow.f32 %413 #s(literal -1 binary32)))
%413
(pow.f32 %413 #s(literal 1 binary32))
(*.f32 %16 #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) %16)
(/.f32 #s(literal 1 binary32) (pow.f32 %19 #s(literal -1 binary32)))
(-.f32 %16 %421)
(pow.f32 %19 #s(literal 1 binary32))
(+.f32 %16 (neg.f32 %421))
%19
(neg.f32 %51)
%18
%20
%21
%22
%24
%25
%26
%28
%29
%30
%31
%32
%33
%46
(*.f32 %16 #s(literal 1/2 binary32))
(/.f32 (*.f32 %16 #s(literal 1 binary32)) #s(literal 2 binary32))
(/.f32 (*.f32 #s(literal 1 binary32) %16) #s(literal 2 binary32))
(/.f32 %421 #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %16))
(/.f32 #s(literal 1 binary32) (pow.f32 %46 #s(literal -1 binary32)))
(/.f32 %16 #s(literal 2 binary32))
(pow.f32 %46 #s(literal 1 binary32))
%143
%144
%145
%141
%146
%147
%149
%151
%152
%153
%154
%155
%157
%158
%159
%160
%162
%163
%164
%166
%168
%169
%171
%440
%442
%443
%444
%445
%150
%446
%447
%448
%449
%450
%451
%452
%453
%454
%456
%458
%459
%460
%440
%442
%443
%444
%445
%150
%446
%447
%448
%449
%450
%451
%452
%453
%454
%456
%458
%459
%460
(/.f32 #s(literal 1 binary32) (pow.f32 %462 #s(literal -1 binary32)))
(-.f32 %465 %101)
(-.f32 %467 %98)
(-.f32 %469 %113)
(-.f32 #s(literal -2 binary32) %156)
(-.f32 %170 #s(literal 1 binary32))
(-.f32 %150 #s(literal 2 binary32))
(-.f32 #s(literal -1 binary32) %141)
%462
(fma.f32 %439 ux #s(literal -2 binary32))
(pow.f32 %462 #s(literal 1 binary32))
(+.f32 %465 ux)
(+.f32 %467 %109)
(+.f32 %469 %128)
(+.f32 #s(literal -2 binary32) %150)
(+.f32 %150 #s(literal -2 binary32))
(+.f32 #s(literal -1 binary32) %170)
(+.f32 ux (fma.f32 %127 ux #s(literal -2 binary32)))
(+.f32 ux (-.f32 %128 #s(literal 2 binary32)))
(+.f32 ux (neg.f32 %461))
(neg.f32 %489)
%492
%494
%489
%495
%496
%497
%499
%501
%504
%506
%507
%509
%510
%511
%512
%513
%514
%515
%516
%517
%518
%519
%521
%522
%523
%524
%526
%527
%528
%530
%531
%532
%533
%534
%536
%538
%540
%541
%542
%544
%545
%546
%548
%550
%551
%553
%555
%556
%558
%560
%562
%564
%566
%568
%569
%570
%572
%574
%576
%492
%494
%489
%495
%496
%497
%499
%501
%504
%506
%507
%509
%510
%511
%512
%513
%514
%515
%516
%517
%518
%519
%521
%522
%523
%524
%526
%527
%528
%530
%531
%532
%533
%534
%536
%538
%540
%541
%542
%544
%545
%546
%548
%550
%551
%553
%555
%556
%558
%560
%562
%564
%566
%568
%569
%570
%572
%574
%576
(/.f32 #s(literal 1 binary32) (pow.f32 %305 #s(literal -1 binary32)))
(-.f32 %46 %298)
(fma.f32 #s(literal 1/2 binary32) %16 %299)
(fma.f32 %16 #s(literal 1/2 binary32) %299)
(pow.f32 %305 #s(literal 1 binary32))
%305
(+.f32 %46 %299)
(neg.f32 %319)
(*.f32 %585 %585)
(/.f32 #s(literal 1 binary32) (pow.f32 %325 #s(literal -1 binary32)))
(sqrt.f32 %589)
(pow.f32 %589 #s(literal 1/2 binary32))
(pow.f32 %325 #s(literal 1 binary32))
%325
(fabs.f32 %325)
(fabs.f32 %305)
(/.f32 #s(literal 1 binary32) (pow.f32 %386 #s(literal -1 binary32)))
(-.f32 %46 %326)
(-.f32 %325 %39)
(fma.f32 %585 %585 %345)
(fma.f32 %585 %585 %46)
%386
(fma.f32 %16 #s(literal 1/2 binary32) %325)
(pow.f32 %386 #s(literal 1 binary32))
(+.f32 %46 %325)
(+.f32 %325 %345)
(+.f32 %325 %46)
(neg.f32 (-.f32 %39 %325))
%295
%297
%293
%304
%309
%316
%322
%324
%329
%334
%336
%337
%340
%342
%343
%344
%349
%350
%351
%352
%354
%356
%358
%363
%368
%369
%370
%375
%377
%379
%381
%383
%384
%385
%387
%389
%390
%392
%394
%395
%397
%398
%399
%400
(/.f32 #s(literal 1 binary32) (pow.f32 %609 #s(literal -1 binary32)))
(-.f32 %386 %89)
(-.f32 %386 %20)
(-.f32 %325 %614)
(-.f32 %325 %616)
(-.f32 %325 %619)
(fma.f32 %621 %16 %386)
(fma.f32 %623 %19 %386)
(fma.f32 %585 %585 %618)
(fma.f32 %51 uy %386)
(fma.f32 %421 %5 %386)
(fma.f32 %19 %623 %386)
(fma.f32 #s(literal 1/2 binary32) %16 %629)
(fma.f32 #s(literal 1/2 binary32) %16 %631)
%609
(fma.f32 %16 %621 %386)
(fma.f32 %16 #s(literal 1/2 binary32) %629)
(fma.f32 %16 #s(literal 1/2 binary32) %631)
(fma.f32 %5 %421 %386)
(fma.f32 uy %51 %386)
(pow.f32 %609 #s(literal 1 binary32))
(+.f32 %618 %325)
(+.f32 %52 %386)
(+.f32 %46 %629)
(+.f32 %46 %631)
(+.f32 %386 %52)
(+.f32 %325 %618)
(neg.f32 %645)
(/.f32 #s(literal 1 binary32) (pow.f32 %647 #s(literal -1 binary32)))
(-.f32 (*.f32 %338 (cos.f32 %614)) (*.f32 %293 (sin.f32 %614)))
(-.f32 (*.f32 %338 (cos.f32 %616)) (*.f32 %293 (sin.f32 %616)))
(-.f32 (*.f32 %338 (cos.f32 %619)) (*.f32 %293 (sin.f32 %619)))
(-.f32 %665 %668)
(-.f32 %665 %670)
(fma.f32 %672 %293 %674)
(fma.f32 %47 %676 %678)
(fma.f32 %47 %680 %682)
(fma.f32 %53 %666 %665)
(fma.f32 %338 %673 %685)
(fma.f32 %690 #s(literal -1/2 binary32) %692)
(fma.f32 %690 #s(literal -1/2 binary32) %694)
(fma.f32 %690 #s(literal -1/2 binary32) %696)
(fma.f32 %702 #s(literal 1/2 binary32) %692)
(fma.f32 %702 #s(literal 1/2 binary32) %694)
(fma.f32 %702 #s(literal 1/2 binary32) %696)
(fma.f32 %707 #s(literal 1/2 binary32) %692)
(fma.f32 %707 #s(literal 1/2 binary32) %694)
(fma.f32 %707 #s(literal 1/2 binary32) %696)
(fma.f32 %647 #s(literal 1/2 binary32) %712)
(fma.f32 %293 %34 %692)
(fma.f32 %293 %34 %694)
(fma.f32 %293 %34 %696)
(fma.f32 #s(literal 1/2 binary32) %707 %692)
(fma.f32 #s(literal 1/2 binary32) %707 %694)
(fma.f32 #s(literal 1/2 binary32) %707 %696)
(fma.f32 %34 %293 %692)
(fma.f32 %34 %293 %694)
(fma.f32 %34 %293 %696)
(fma.f32 #s(literal 2 binary32) %730 %692)
(fma.f32 #s(literal 2 binary32) %730 %694)
(fma.f32 #s(literal 2 binary32) %730 %696)
(fma.f32 #s(literal 2 binary32) %734 %692)
(fma.f32 #s(literal 2 binary32) %734 %694)
(fma.f32 #s(literal 2 binary32) %734 %696)
(pow.f32 %647 #s(literal 1 binary32))
(+.f32 (*.f32 %672 %293) %674)
(+.f32 (*.f32 %53 %666) %665)
(+.f32 (*.f32 %47 %676) %678)
(+.f32 (*.f32 %47 %680) %682)
(+.f32 (*.f32 %338 %673) %685)
(+.f32 %749 %712)
(+.f32 %665 %692)
(+.f32 %665 %694)
(+.f32 %665 %696)
(sin.f32 (+.f32 %645 %16))
%647
(neg.f32 (sin.f32 %645))
(/.f32 #s(literal 1 binary32) (pow.f32 %687 #s(literal -1 binary32)))
(-.f32 %760 %39)
(-.f32 %386 %52)
(-.f32 %325 %763)
(-.f32 %325 %765)
(-.f32 %325 %767)
(-.f32 %20 %769)
(fma.f32 %17 #s(literal 2 binary32) %386)
(fma.f32 %585 %585 %87)
(fma.f32 %19 uy %386)
(fma.f32 #s(literal 1/2 binary32) %16 %774)
(fma.f32 #s(literal 1/2 binary32) %16 %776)
%687
(fma.f32 %16 #s(literal 1/2 binary32) %774)
(fma.f32 %16 #s(literal 1/2 binary32) %776)
(fma.f32 %16 %5 %386)
(fma.f32 %5 %16 %386)
(fma.f32 #s(literal 2 binary32) %23 %386)
(fma.f32 #s(literal 2 binary32) %17 %386)
(fma.f32 uy %19 %386)
(pow.f32 %687 #s(literal 1 binary32))
(+.f32 %760 %46)
(+.f32 %87 %325)
(+.f32 %46 %774)
(+.f32 %46 %776)
(+.f32 %386 %89)
(+.f32 %386 %20)
(+.f32 %325 %87)
(+.f32 %20 %386)
(neg.f32 (-.f32 %52 %386))
(/.f32 #s(literal 1 binary32) (pow.f32 %706 #s(literal -1 binary32)))
(-.f32 (*.f32 %798 %40) (*.f32 %800 %42))
(-.f32 (*.f32 %338 (cos.f32 %763)) (*.f32 %293 (sin.f32 %763)))
(-.f32 (*.f32 %338 (cos.f32 %765)) (*.f32 %293 (sin.f32 %765)))
(-.f32 (*.f32 %338 (cos.f32 %767)) (*.f32 %293 (sin.f32 %767)))
(-.f32 %670 (*.f32 %34 (sin.f32 %769)))
(-.f32 %665 %692)
(-.f32 %665 %694)
(-.f32 %665 %696)
(fma.f32 %798 %49 %824)
(fma.f32 %47 %826 %828)
(fma.f32 %47 %830 %832)
(fma.f32 %338 %834 %665)
(fma.f32 %690 #s(literal -1/2 binary32) %836)
(fma.f32 %690 #s(literal -1/2 binary32) %668)
(fma.f32 %690 #s(literal -1/2 binary32) %670)
(fma.f32 %37 %666 %665)
(fma.f32 %666 %37 %665)
(fma.f32 %702 #s(literal 1/2 binary32) %836)
(fma.f32 %702 #s(literal 1/2 binary32) %668)
(fma.f32 %702 #s(literal 1/2 binary32) %670)
(fma.f32 %707 #s(literal 1/2 binary32) %836)
(fma.f32 %707 #s(literal 1/2 binary32) %668)
(fma.f32 %707 #s(literal 1/2 binary32) %670)
(fma.f32 %647 #s(literal 1/2 binary32) %848)
(fma.f32 %293 %34 %836)
(fma.f32 %293 %34 %668)
(fma.f32 %293 %34 %670)
(fma.f32 #s(literal 1/2 binary32) %707 %836)
(fma.f32 #s(literal 1/2 binary32) %707 %668)
(fma.f32 #s(literal 1/2 binary32) %707 %670)
(fma.f32 %34 %293 %836)
(fma.f32 %34 %293 %668)
(fma.f32 %34 %293 %670)
(fma.f32 #s(literal 2 binary32) %730 %836)
(fma.f32 #s(literal 2 binary32) %730 %668)
(fma.f32 #s(literal 2 binary32) %730 %670)
(fma.f32 #s(literal 2 binary32) %734 %836)
(fma.f32 #s(literal 2 binary32) %734 %668)
(fma.f32 #s(literal 2 binary32) %734 %670)
(pow.f32 %706 #s(literal 1 binary32))
(+.f32 (*.f32 %798 %49) %824)
(+.f32 (*.f32 %47 %826) %828)
(+.f32 (*.f32 %47 %830) %832)
(+.f32 (*.f32 %338 %834) %665)
(+.f32 %749 %848)
(+.f32 %670 %665)
(+.f32 %665 %836)
(+.f32 %665 %668)
(+.f32 %665 %670)
%706
(*.f32 (*.f32 #s(literal 2 binary32) %728) %725)
(*.f32 %729 #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 (sin.f32 (/.f32 (-.f32 %609 %882) #s(literal 2 binary32))) (cos.f32 (/.f32 (+.f32 %609 %882) #s(literal 2 binary32)))))
(*.f32 #s(literal 2 binary32) (*.f32 %728 (cos.f32 (/.f32 (-.f32 %687 %609) #s(literal 2 binary32)))))
(*.f32 #s(literal 2 binary32) %729)
(/.f32 #s(literal 1 binary32) (pow.f32 %707 #s(literal -1 binary32)))
(-.f32 (+.f32 %706 %665) %670)
(-.f32 %665 (-.f32 %670 %706))
(-.f32 %665 (fma.f32 %37 %666 %689))
(-.f32 %706 (neg.f32 %647))
(-.f32 %647 %689)
(fma.f32 %690 #s(literal -1/2 binary32) %908)
(fma.f32 %725 %728 %729)
(fma.f32 %728 %725 %729)
(fma.f32 %702 #s(literal 1/2 binary32) %908)
(fma.f32 %707 #s(literal 1/2 binary32) %908)
(fma.f32 %293 %34 %908)
(fma.f32 #s(literal 1/2 binary32) %707 %908)
(fma.f32 %34 %293 %908)
(fma.f32 #s(literal 2 binary32) %730 %908)
(fma.f32 #s(literal 2 binary32) %734 %908)
(pow.f32 %707 #s(literal 1 binary32))
(+.f32 (+.f32 %647 %665) %670)
(+.f32 %729 %729)
(+.f32 %665 %908)
%707
(+.f32 %647 (neg.f32 %689))
(+.f32 %647 %706)
(neg.f32 %690)
%928
%929
%930
%665
%931
%932
%933
%934
%940
%946
%952
%958
%964
%970
%976
%982
%988
%994
%1000
%1006
%1012
%1018
%1024
%1030
%1036
%1042
%1048
%1054
%1060
%1066
%1072
%1078
%1084
%1090
%1096
%1102
%1108
%1114
%1120
%1126
%1132
%1138
%1144
%1150
%1156
%1162
%1168
%1174
%1180
%1186
%1192
%1198
%1204
%1210
%1216
%1222
%1228
%1234
%1240
%1246
%1252
%1258
%1264
%1270
%1276
%1282
%1288
%1294
%1300
%1306
%1312
%1318
%1324
%1330
%1336
%1342
%1348
%1354
%1360
%1366
%1372
%1378
%1384
%1390
%1396
%1402
%1408
%1414
%1420
%1426
%1432
%1438
%1444
%1450
%1456
%1462
%1468
%1474
%1480
%1486
%1492
%1498
%1504
%1510
%1516
%1522
%1528
%1530
%1532
%1536
%1539
%1541
%1547
%1553
%1559
%1561
%1567
%1569
%1575
%1581
%1585
%1591
%1597
%1603
%1609
%1615
%1621
%1625
%1631
%1637
%1643
%1649
%1653
%1659
%1665
%1671
%1677
%1683
%1689
%1695
%1701
%1705
%1711
%1712
%1713
%1714
%1716
%1718
%1720
%1722
%1724
%1726
%1727
%1728
%1729
%1732
%1733
%1734
%1736
%1738
%1743
%1744
%1747
%1749
%1751
%1745
%1752
%1753
%1755
%1756
%1758
%1760
%1761
%1762
%1764
%1765
%1743
%1744
%1747
%1749
%1751
%1745
%1752
%1753
%1755
%1756
%1758
%1760
%1761
%1762
%1764
%1765
%928
%929
%930
%665
%931
%932
%933
%934
%940
%946
%952
%958
%964
%970
%976
%982
%988
%994
%1000
%1006
%1012
%1018
%1024
%1030
%1036
%1042
%1048
%1054
%1060
%1066
%1072
%1078
%1084
%1090
%1096
%1102
%1108
%1114
%1120
%1126
%1132
%1138
%1144
%1150
%1156
%1162
%1168
%1174
%1180
%1186
%1192
%1198
%1204
%1210
%1216
%1222
%1228
%1234
%1240
%1246
%1252
%1258
%1264
%1270
%1276
%1282
%1288
%1294
%1300
%1306
%1312
%1318
%1324
%1330
%1336
%1342
%1348
%1354
%1360
%1366
%1372
%1378
%1384
%1390
%1396
%1402
%1408
%1414
%1420
%1426
%1432
%1438
%1444
%1450
%1456
%1462
%1468
%1474
%1480
%1486
%1492
%1498
%1504
%1510
%1516
%1522
%1528
%1530
%1532
%1536
%1539
%1541
%1547
%1553
%1559
%1561
%1567
%1569
%1575
%1581
%1585
%1591
%1597
%1603
%1609
%1615
%1621
%1625
%1631
%1637
%1643
%1649
%1653
%1659
%1665
%1671
%1677
%1683
%1689
%1695
%1701
%1705
%1711
%1712
%1713
%1714
%1716
%1718
%1720
%1722
%1724
%1726
%1727
%1728
%1729
%1732
%1733
%1734
%1736
%1738

reconstruct10.0ms (0.2%)

Memory
17.4MiB live, 17.4MiB allocated; 0ms collecting garbage

eval107.0ms (2.0%)

Memory
-15.0MiB live, 107.6MiB allocated; 13ms collecting garbage
Compiler

Compiled 46 535 to 5 389 computations (88.4% saved)

prune47.0ms (0.9%)

Memory
5.5MiB live, 68.1MiB allocated; 2ms collecting garbage
Pruning

46 alts after pruning (46 fresh and 0 done)

PrunedKeptTotal
New1 240401 280
Fresh10616
Picked505
Done000
Total1 255461 301
Accuracy
99.9%
Counts
1 301 → 46
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.9%
%8 = (+.f32 (fabs.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))) #s(literal 13176795/8388608 binary32))
%9 = (PI.f32 )
%12 = (*.f32 (+.f32 %9 %9) uy)
(/.f32 (+.f32 (sin.f32 (-.f32 %8 %12)) (sin.f32 (+.f32 %8 %12))) #s(literal 2 binary32))
98.9%
%2 = (*.f32 (PI.f32 ) uy)
%3 = (cos.f32 %2)
%5 = (sin.f32 %2)
%11 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 (*.f32 %3 %3) (*.f32 %5 %5)) (sqrt.f32 (*.f32 (-.f32 %11 #s(literal 0 binary32)) (neg.f32 (-.f32 %11 #s(literal 2 binary32))))))
98.5%
%0 = (PI.f32 )
(*.f32 (*.f32 (cos.f32 (*.f32 (+.f32 %0 %0) uy)) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))) (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))))
55.9%
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
99.0%
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
98.5%
%11 = (PI.f32 )
(*.f32 (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (cos.f32 (*.f32 (+.f32 %11 %11) uy))))
99.1%
%1 = (PI.f32 )
%11 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (*.f32 (-.f32 %11 #s(literal 0 binary32)) (neg.f32 (-.f32 %11 #s(literal 2 binary32))))))
55.7%
%12 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (fma.f32 #s(literal -2 binary32) uy #s(literal 1/2 binary32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %12 %12))))
98.9%
%10 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (+.f32 #s(literal 1/2 binary32) (+.f32 uy uy)))) (sqrt.f32 (*.f32 (-.f32 %10 #s(literal 0 binary32)) (neg.f32 (-.f32 %10 #s(literal 2 binary32))))))
98.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))))
54.3%
%14 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %14 %14))))
55.9%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
99.1%
%12 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) %12) (*.f32 #s(literal 1 binary32) %12))))
98.2%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (-.f32 #s(literal 2 binary32) ux)))))
99.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 ux (-.f32 (+.f32 maxCos (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux))) #s(literal 1 binary32)))))))
98.8%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 maxCos (-.f32 (+.f32 ux (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos))) (/.f32 ux maxCos)))))))
99.1%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
99.1%
%9 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 %9 (neg.f32 (-.f32 %9 #s(literal 2 binary32))))))
77.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (- 1 (* %11 %11)) (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))))
93.8%
%9 = (- ux (* maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (* (- %9 0) (neg (- %9 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
55.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sin.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))
90.6%
%9 = (- ux (* maxCos ux))
%18 = (-.f32 #s(literal 1 binary32) maxCos)
%21 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %18)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (approx (sqrt (* (- %9 0) (neg (- %9 2)))) (+.f32 %21 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %18 (-.f32 maxCos #s(literal 1 binary32)))) %21)))))
48.4%
%16 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (sin (acos (- (- ux (* maxCos ux)) 1))) (cos (* (* (PI ) 2) uy))) (sqrt.f32 (fma.f32 (-.f32 ux %16) (-.f32 %16 ux) #s(literal 1 binary32))))
48.4%
%11 = (+ (- 1 ux) (* ux maxCos))
%17 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 (-.f32 ux %17) (-.f32 %17 ux) #s(literal 1 binary32)) #s(literal -1 binary32)))))
49.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%17 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (fma.f32 %17 %17 (*.f32 #s(literal -2 binary32) (*.f32 %17 ux)))) (*.f32 ux ux))))
46.9%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 (-.f32 #s(literal 1 binary32) ux))) (*.f32 (*.f32 %18 maxCos) ux))))
50.7%
%11 = (+ (- 1 ux) (* ux maxCos))
%17 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux (fma.f32 %17 %17 (*.f32 #s(literal -2 binary32) (*.f32 %17 ux)))))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) #s(literal 2 binary32)))))
46.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) #s(literal -1 binary32))) #s(literal 2 binary32)))))
48.1%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 ux (-.f32 (+.f32 maxCos (/.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
47.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 maxCos (-.f32 (+.f32 ux (/.f32 #s(literal 1 binary32) maxCos)) (/.f32 ux maxCos)))) #s(literal 2 binary32)))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) ux) maxCos)))))) #s(literal 2 binary32)))))
48.2%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32)))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %18 %18) #s(literal -1 binary32))))))
48.3%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 %18))))
40.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx (pow (- (+ 1 (* maxCos ux)) ux) 2) (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (*.f32 #s(literal 2 binary32) maxCos) #s(literal 2 binary32))))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 (pow.f32 ux #s(literal 2 binary32)) (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux)) (fma.f32 #s(literal 2 binary32) (/.f32 maxCos ux) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))))) (*.f32 #s(literal 2 binary32) maxCos))))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))))
3.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (pow.f32 ux #s(literal 2 binary32)))))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sin.f32 (+.f32 (asin.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32)))) (*.f32 #s(literal 1/2 binary32) (PI.f32 )))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sin.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))
47.9%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (cos.f32 (asin.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux))))
75.1%
%11 = (+ (- 1 ux) (* ux maxCos))
%26 = (sqrt.f32 (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (approx (sqrt (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2))) (+.f32 %26 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))) %26)))))
90.6%
%9 = (- ux (* maxCos ux))
%23 = (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32 ))))
%25 = (-.f32 #s(literal 1 binary32) maxCos)
%32 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %25)))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %23 (*.f32 %25 (-.f32 maxCos #s(literal 1 binary32))))) %32) (*.f32 %23 %32)))
92.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
%23 = (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux)))
%24 = (pow.f32 uy #s(literal 2 binary32))
%26 = (PI.f32 )
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (+.f32 %23 (*.f32 %24 (fma.f32 #s(literal -2 binary32) (*.f32 (pow.f32 %26 #s(literal 2 binary32)) %23) (*.f32 #s(literal 2/3 binary32) (*.f32 %24 (*.f32 (pow.f32 %26 #s(literal 4 binary32)) %23)))))))
80.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux))))
Compiler

Compiled 1 992 to 522 computations (73.8% saved)

sample1.0ms (0.0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
%1 = (PI )
2
%1
1
0
-1
1/2
-2
(* -2 %1)
(* 1/2 %1)
Outputs
#s(literal 2 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 1 binary32)
#s(literal 0 binary32)
#s(literal -1 binary32)
#s(literal 1/2 binary32)
#s(literal -2 binary32)
#s(literal -13176795/2097152 binary32)
#s(literal 13176795/8388608 binary32)
Samples
0.0ms0valid
Compiler

Compiled 15 to 10 computations (33.3% saved)

series83.0ms (1.6%)

Memory
8.9MiB live, 73.7MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0195617949
Stop Event
iter-limit
Counts
54 → 345
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%13 = (-.f32 maxCos #s(literal 1 binary32))
%14 = (*.f32 #s(literal 2 binary32) maxCos)
%15 = (pow.f32 %13 #s(literal 2 binary32))
%16 = (*.f32 ux %15)
%17 = (-.f32 #s(literal 2 binary32) %14)
%18 = (*.f32 ux %17)
%19 = (*.f32 #s(literal -1 binary32) %16)
%20 = (+.f32 #s(literal 2 binary32) %19)
%21 = (-.f32 %20 %14)
%22 = (*.f32 ux %21)
%28 = (+ (- 1 ux) (* ux maxCos))
%29 = (approx %28 %8)
%30 = (*.f32 #s(literal -2 binary32) %3)
%31 = (*.f32 #s(literal 1/2 binary32) %3)
%32 = (fma.f32 maxCos ux %8)
%33 = (fma.f32 maxCos ux #s(literal 1 binary32))
%34 = (-.f32 ux %12)
%35 = (-.f32 ux %33)
%36 = (-.f32 %34 #s(literal 0 binary32))
%37 = (-.f32 %34 #s(literal 2 binary32))
%38 = (neg.f32 %37)
%39 = (*.f32 %36 %38)
%40 = (fma.f32 %35 %32 #s(literal 1/2 binary32))
%41 = (+.f32 %40 #s(literal 1/2 binary32))
%42 = (sqrt.f32 %39)
%43 = (sqrt.f32 %41)
%45 = (*.f32 %29 %29)
%46 = (-.f32 #s(literal 1 binary32) %45)
%47 = (sqrt.f32 %46)
%54 = (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2))
%55 = (approx %54 %18)
%56 = (approx %54 %22)
%57 = (fma.f32 %30 uy %31)
%58 = (sin.f32 %57)
%60 = (sqrt.f32 %55)
%68 = (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %28 %28))))
%70 = (sqrt.f32 %56)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
%13
%14
%15
%16
%17
%18
%19
%20
%21
%22
#s(literal 1/2 binary32)
#s(literal -2 binary32)
%29
%30
%31
%32
%33
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
(*.f32 %5 %43)
%45
%46
%47
(*.f32 %5 %47)
%55
%56
%57
%58
(*.f32 %58 %42)
%60
(approx %68 %60)
%70
(approx %68 %70)
Outputs
%6 = (- 1 ux)
%10 = (*.f32 #s(literal -1 binary32) ux)
%14 = (* maxCos ux)
%15 = (*.f32 maxCos ux)
%17 = (- maxCos 1)
%19 = (pow %17 2)
%20 = (* ux %19)
%21 = (-.f32 maxCos #s(literal 1 binary32))
%23 = (pow.f32 %21 #s(literal 2 binary32))
%24 = (*.f32 ux %23)
%26 = (* 2 maxCos)
%27 = (- 2 %26)
%28 = (* ux %27)
%29 = (*.f32 #s(literal 2 binary32) maxCos)
%30 = (-.f32 #s(literal 2 binary32) %29)
%31 = (*.f32 ux %30)
%34 = (* -1 %20)
%35 = (*.f32 #s(literal -1 binary32) %24)
%37 = (+ 2 %34)
%39 = (+.f32 #s(literal 2 binary32) %35)
%41 = (- %37 %26)
%43 = (-.f32 %39 %29)
%45 = (* ux %41)
%49 = (+ %6 (* ux maxCos))
%50 = (*.f32 ux %21)
%53 = (+ %14 1)
%54 = (+.f32 #s(literal 1 binary32) %15)
%56 = (- ux %14)
%57 = (-.f32 #s(literal 1 binary32) maxCos)
%58 = (*.f32 ux %57)
%60 = (- ux %53)
%64 = (- %56 2)
%69 = (neg %64)
%74 = (* (- %56 0) %69)
%75 = (*.f32 #s(literal 2 binary32) %58)
%77 = (*.f32 %57 %21)
%78 = (*.f32 ux %77)
%85 = (+ (* %60 (+ %14 %6)) 1/2)
%90 = (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %21)) maxCos)
%91 = (*.f32 ux %90)
%98 = (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %21 %78)) maxCos))
%101 = (+ %85 1/2)
%104 = (sqrt %74)
%105 = (sqrt.f32 %75)
%107 = (pow.f32 ux #s(literal 2 binary32))
%108 = (*.f32 %107 %77)
%114 = (pow.f32 %57 #s(literal 2 binary32))
%115 = (*.f32 %114 %23)
%116 = (*.f32 %107 %115)
%118 = (pow.f32 %105 #s(literal 3 binary32))
%120 = (/.f32 %77 %105)
%128 = (pow.f32 %57 #s(literal 3 binary32))
%130 = (*.f32 %128 (pow.f32 %21 #s(literal 3 binary32)))
%131 = (*.f32 %107 %130)
%133 = (pow.f32 %105 #s(literal 5 binary32))
%142 = (sqrt %101)
%143 = (sqrt.f32 %91)
%149 = (pow.f32 %143 #s(literal 3 binary32))
%151 = (/.f32 %77 %143)
%158 = (pow.f32 %143 #s(literal 5 binary32))
%167 = (* uy 2)
%168 = (PI )
%169 = (* %167 %168)
%170 = (cos %169)
%171 = (* %170 %142)
%172 = (PI.f32 )
%173 = (*.f32 uy %172)
%174 = (*.f32 #s(literal 2 binary32) %173)
%175 = (cos.f32 %174)
%176 = (*.f32 %175 %143)
%178 = (*.f32 %175 %77)
%183 = (*.f32 %175 %115)
%186 = (/.f32 %178 %143)
%203 = (* %49 %49)
%213 = (- 1 %203)
%214 = (sqrt %213)
%215 = (sqrt.f32 %31)
%217 = (*.f32 %107 %23)
%222 = (/.f32 %23 %215)
%224 = (pow.f32 %21 #s(literal 4 binary32))
%226 = (pow.f32 %215 #s(literal 3 binary32))
%236 = (pow.f32 %21 #s(literal 6 binary32))
%238 = (pow.f32 %215 #s(literal 5 binary32))
%247 = (* %170 %214)
%248 = (*.f32 %175 %215)
%250 = (*.f32 %175 %23)
%255 = (/.f32 %250 %215)
%256 = (*.f32 %175 %224)
%279 = (+ (* (* -2 %168) uy) (* 1/2 %168))
%280 = (sin %279)
%281 = (* %280 %104)
%282 = (*.f32 #s(literal 1/2 binary32) %172)
%283 = (fma.f32 #s(literal -2 binary32) %173 %282)
%284 = (sin.f32 %283)
%285 = (*.f32 %284 %105)
%287 = (*.f32 %284 %77)
%292 = (*.f32 %284 %115)
%295 = (/.f32 %287 %105)
%313 = (/.f32 #s(literal 1 binary32) ux)
%317 = (*.f32 #s(literal 2 binary32) %313)
%318 = (fma.f32 #s(literal -1 binary32) %23 %317)
%321 = (/.f32 maxCos ux)
%323 = (-.f32 %318 (*.f32 #s(literal 2 binary32) %321))
%331 = (+.f32 maxCos %313)
%340 = (+.f32 maxCos %317)
%354 = (fma.f32 #s(literal -1 binary32) (/.f32 %21 ux) (fma.f32 %57 %21 %313))
%363 = (sqrt.f32 %77)
%364 = (*.f32 ux %363)
%366 = (/.f32 #s(literal 1 binary32) %364)
%368 = (/.f32 maxCos %364)
%373 = (*.f32 %107 (pow.f32 %363 #s(literal 3 binary32)))
%374 = (/.f32 %114 %373)
%380 = (pow.f32 ux #s(literal 3 binary32))
%382 = (*.f32 %380 (pow.f32 %363 #s(literal 5 binary32)))
%391 = (*.f32 #s(literal 1/2 binary32) (/.f32 %90 %364))
%395 = (pow.f32 %90 #s(literal 2 binary32))
%396 = (/.f32 %395 %373)
%401 = (pow.f32 %90 #s(literal 3 binary32))
%408 = (*.f32 %175 %363)
%413 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %175 %90) %364) %408)
%417 = (/.f32 (*.f32 %175 %395) %373)
%428 = (fma.f32 #s(literal 2 binary32) %321 %23)
%442 = (sqrt.f32 (neg.f32 %23))
%443 = (*.f32 ux %442)
%446 = (*.f32 #s(literal 1/2 binary32) (/.f32 %30 %443))
%450 = (pow.f32 %30 #s(literal 2 binary32))
%452 = (*.f32 %107 (pow.f32 %442 #s(literal 3 binary32)))
%453 = (/.f32 %450 %452)
%458 = (pow.f32 %30 #s(literal 3 binary32))
%460 = (*.f32 %380 (pow.f32 %442 #s(literal 5 binary32)))
%467 = (*.f32 %175 %442)
%472 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %175 %30) %443) %467)
%476 = (/.f32 (*.f32 %175 %450) %452)
%491 = (fma.f32 %284 %363 (/.f32 (*.f32 %284 %57) %364))
%495 = (/.f32 (*.f32 %284 %114) %373)
%518 = (*.f32 #s(literal -1 binary32) maxCos)
%519 = (+.f32 #s(literal 1 binary32) %518)
%520 = (*.f32 ux %519)
%544 = (pow.f32 %519 #s(literal 2 binary32))
%545 = (*.f32 %107 %544)
%557 = (*.f32 #s(literal -2 binary32) maxCos)
%558 = (+.f32 #s(literal 2 binary32) %557)
%562 = (*.f32 #s(literal -1 binary32) %544)
%566 = (sqrt.f32 %562)
%567 = (*.f32 ux %566)
%577 = (/.f32 %519 %566)
%578 = (pow.f32 %566 #s(literal 3 binary32))
%579 = (*.f32 ux %578)
%590 = (pow.f32 %519 #s(literal 3 binary32))
%592 = (*.f32 ux (pow.f32 %566 #s(literal 5 binary32)))
%611 = (/.f32 %558 %566)
%613 = (pow.f32 %558 #s(literal 2 binary32))
%624 = (pow.f32 %558 #s(literal 3 binary32))
%637 = (*.f32 %175 %566)
%641 = (*.f32 %175 %558)
%647 = (/.f32 %641 %566)
%648 = (*.f32 %175 %613)
%658 = (*.f32 %175 %624)
%685 = (sqrt.f32 (neg.f32 %544))
%686 = (*.f32 ux %685)
%695 = (/.f32 %558 %685)
%696 = (pow.f32 %685 #s(literal 3 binary32))
%697 = (*.f32 ux %696)
%709 = (*.f32 ux (pow.f32 %685 #s(literal 5 binary32)))
%722 = (*.f32 %175 %685)
%731 = (/.f32 %641 %685)
%752 = (*.f32 %284 %566)
%756 = (*.f32 %284 %519)
%762 = (/.f32 %756 %566)
%763 = (*.f32 %284 %544)
%789 = (pow.f32 uy #s(literal 2 binary32))
%790 = (pow.f32 %172 #s(literal 2 binary32))
%796 = (pow.f32 %172 #s(literal 4 binary32))
%804 = (pow.f32 %172 #s(literal 6 binary32))
%814 = (-.f32 %54 ux)
%817 = (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 (-.f32 ux %54) %814)))
%819 = (*.f32 %790 %817)
%824 = (*.f32 %796 %817)
%842 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 %814 #s(literal 2 binary32))))
%844 = (*.f32 %790 %842)
%849 = (*.f32 %796 %842)
%867 = (sin.f32 %282)
%869 = (cos.f32 %282)
%870 = (*.f32 %172 %869)
%875 = (*.f32 %790 %867)
%883 = (pow.f32 %172 #s(literal 3 binary32))
%895 = (-.f32 (+.f32 #s(literal 2 binary32) %15) ux)
%897 = (sqrt.f32 (*.f32 (-.f32 ux %15) %895))
%898 = (*.f32 %867 %897)
%900 = (*.f32 %869 %897)
%901 = (*.f32 %172 %900)
%905 = (*.f32 %790 %898)
%926 = (/.f32 %172 uy)
%948 = (*.f32 #s(literal -2 binary32) %15)
%956 = (*.f32 #s(literal 2 binary32) ux)
%961 = (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal 2 binary32) %15))
%963 = (fma.f32 #s(literal -1 binary32) %15 %956)
%965 = (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos %963))
%967 = (+.f32 #s(literal 2 binary32) %10)
%973 = (-.f32 %956 #s(literal 2 binary32))
%983 = (*.f32 ux %967)
%985 = (*.f32 ux %973)
%988 = (*.f32 maxCos %107)
%992 = (-.f32 #s(literal 1 binary32) ux)
%995 = (*.f32 #s(literal -1 binary32) %15)
%996 = (+.f32 ux %995)
%998 = (-.f32 ux #s(literal 1 binary32))
%1002 = (-.f32 ux #s(literal 2 binary32))
%1006 = (-.f32 #s(literal 2 binary32) ux)
%1009 = (*.f32 ux %1006)
%1011 = (fma.f32 #s(literal -1 binary32) %1009 %107)
%1017 = (*.f32 %992 %998)
%1018 = (+.f32 #s(literal 1/2 binary32) %1017)
%1020 = (*.f32 ux %992)
%1021 = (*.f32 ux %998)
%1022 = (fma.f32 #s(literal -1 binary32) %1020 %1021)
%1023 = (fma.f32 maxCos %1022 %1017)
%1027 = (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %988 %1022) %1017)
%1030 = (+.f32 #s(literal 1 binary32) %1017)
%1036 = (sqrt.f32 %1009)
%1043 = (*.f32 #s(literal -1 binary32) %107)
%1045 = (pow.f32 %1011 #s(literal 2 binary32))
%1049 = (-.f32 %1043 (*.f32 #s(literal 1/4 binary32) (/.f32 %1045 (pow.f32 %1036 #s(literal 2 binary32)))))
%1052 = (/.f32 %1011 %1036)
%1059 = (*.f32 %1011 %1049)
%1061 = (pow.f32 %1036 #s(literal 3 binary32))
%1071 = (sqrt.f32 %1030)
%1078 = (pow.f32 %1022 #s(literal 2 binary32))
%1082 = (-.f32 %1043 (*.f32 #s(literal 1/4 binary32) (/.f32 %1078 (pow.f32 %1071 #s(literal 2 binary32)))))
%1085 = (/.f32 %1022 %1071)
%1091 = (*.f32 %1022 %1082)
%1093 = (pow.f32 %1071 #s(literal 3 binary32))
%1103 = (*.f32 %175 %1071)
%1105 = (*.f32 %175 %1022)
%1110 = (*.f32 %175 %1082)
%1113 = (/.f32 %1105 %1071)
%1128 = (pow.f32 %992 #s(literal 2 binary32))
%1130 = (*.f32 maxCos %1020)
%1136 = (-.f32 #s(literal 1 binary32) %1128)
%1149 = (sqrt.f32 %1136)
%1155 = (/.f32 %1020 %1149)
%1156 = (*.f32 %107 %1128)
%1159 = (+.f32 (/.f32 %1156 (pow.f32 %1149 #s(literal 2 binary32))) %107)
%1167 = (*.f32 %1159 %992)
%1170 = (pow.f32 %1149 #s(literal 3 binary32))
%1180 = (*.f32 %175 %1149)
%1183 = (*.f32 ux (*.f32 %175 %992))
%1188 = (/.f32 %1183 %1149)
%1189 = (*.f32 %175 %1159)
%1207 = (*.f32 %284 %1036)
%1209 = (*.f32 %284 %1011)
%1214 = (*.f32 %284 %1049)
%1217 = (/.f32 %1209 %1036)
%1232 = (/.f32 #s(literal 1 binary32) maxCos)
%1236 = (pow.f32 maxCos #s(literal 2 binary32))
%1238 = (*.f32 #s(literal 2 binary32) %1232)
%1242 = (/.f32 #s(literal 1 binary32) %1236)
%1247 = (*.f32 %1236 ux)
%1249 = (/.f32 ux maxCos)
%1254 = (/.f32 ux %1236)
%1264 = (*.f32 #s(literal 2 binary32) %1249)
%1270 = (fma.f32 #s(literal -1 binary32) ux %1264)
%1280 = (fma.f32 #s(literal -1 binary32) ux (fma.f32 #s(literal -1 binary32) %1254 (fma.f32 #s(literal 2 binary32) %1249 (/.f32 #s(literal 2 binary32) %1236))))
%1289 = (*.f32 %1236 %107)
%1292 = (/.f32 %985 maxCos)
%1301 = (+.f32 ux %1232)
%1314 = (+.f32 ux %1238)
%1321 = (/.f32 %1009 maxCos)
%1322 = (/.f32 %107 maxCos)
%1333 = (/.f32 %1020 maxCos)
%1334 = (/.f32 %1021 maxCos)
%1341 = (+.f32 %1334 (/.f32 %1017 %1236))
%1352 = (sqrt.f32 %1043)
%1353 = (*.f32 maxCos %1352)
%1355 = (/.f32 %1011 %1353)
%1360 = (pow.f32 %1352 #s(literal 2 binary32))
%1363 = (-.f32 %1009 (*.f32 #s(literal 1/4 binary32) (/.f32 %1045 %1360)))
%1364 = (*.f32 %1236 %1352)
%1367 = (fma.f32 #s(literal 1/2 binary32) %1355 (*.f32 #s(literal 1/2 binary32) (/.f32 %1363 %1364)))
%1371 = (*.f32 %1011 %1363)
%1372 = (pow.f32 maxCos #s(literal 3 binary32))
%1373 = (pow.f32 %1352 #s(literal 3 binary32))
%1374 = (*.f32 %1372 %1373)
%1380 = (/.f32 %1022 %1353)
%1387 = (-.f32 %1030 (*.f32 #s(literal 1/4 binary32) (/.f32 %1078 %1360)))
%1390 = (fma.f32 #s(literal 1/2 binary32) %1380 (*.f32 #s(literal 1/2 binary32) (/.f32 %1387 %1364)))
%1394 = (*.f32 %1022 %1387)
%1400 = (*.f32 %175 %1352)
%1401 = (*.f32 maxCos %1400)
%1403 = (/.f32 %1105 %1353)
%1410 = (fma.f32 #s(literal 1/2 binary32) %1403 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %175 %1387) %1364) %1400))
%1424 = (fma.f32 #s(literal 2 binary32) %1333 (+.f32 (/.f32 %1128 %1236) %107))
%1435 = (sqrt.f32 (neg.f32 %107))
%1436 = (*.f32 maxCos %1435)
%1438 = (/.f32 %1020 %1436)
%1441 = (*.f32 maxCos (+.f32 %1435 (*.f32 #s(literal -1 binary32) %1438)))
%1446 = (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 %1156 (pow.f32 %1435 #s(literal 2 binary32))) %1128))
%1447 = (*.f32 %1236 %1435)
%1449 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1446 %1447))
%1454 = (*.f32 %992 %1446)
%1455 = (*.f32 ux %1454)
%1456 = (pow.f32 %1435 #s(literal 3 binary32))
%1457 = (*.f32 %1372 %1456)
%1464 = (*.f32 %175 %1435)
%1465 = (*.f32 maxCos %1464)
%1467 = (/.f32 %1183 %1436)
%1469 = (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1467 %1464))
%1471 = (*.f32 %175 %1446)
%1473 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1471 %1447) %1464)
%1478 = (*.f32 ux (*.f32 %175 %1454))
%1484 = (*.f32 %284 %1352)
%1485 = (*.f32 maxCos %1484)
%1487 = (/.f32 %1209 %1353)
%1494 = (fma.f32 #s(literal 1/2 binary32) %1487 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %284 %1363) %1364) %1484))
%1534 = (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %967 maxCos)))
%1541 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) ux))
%1553 = (*.f32 ux %1541)
%1597 = (fma.f32 #s(literal -1 binary32) %107 %1009)
%1607 = (fma.f32 #s(literal -1 binary32) %1021 %1020)
%1637 = (-.f32 %1009 (*.f32 #s(literal 1/4 binary32) (/.f32 (pow.f32 %1597 #s(literal 2 binary32)) %1360)))
%1640 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1597 %1352))
%1648 = (*.f32 %1597 %1637)
%1649 = (*.f32 maxCos %1373)
%1671 = (-.f32 %1030 (*.f32 #s(literal 1/4 binary32) (/.f32 (pow.f32 %1607 #s(literal 2 binary32)) %1360)))
%1674 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1607 %1352))
%1682 = (*.f32 %1607 %1671)
%1697 = (*.f32 %175 %1607)
%1703 = (*.f32 %175 %1671)
%1706 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1697 %1352))
%1746 = (/.f32 %1020 %1435)
%1754 = (*.f32 maxCos %1456)
%1772 = (/.f32 %1183 %1435)
%1792 = (*.f32 %284 %1597)
%1798 = (*.f32 %284 %1637)
%1801 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1792 %1352))
(approx uy #s(literal 0 binary32))
(approx ux ux)
(approx %6 #s(literal 1 binary32))
(approx %6 (+.f32 #s(literal 1 binary32) %10))
(approx %14 %15)
(approx %20 %24)
(approx %28 %31)
(approx %34 %35)
(approx %37 #s(literal 2 binary32))
(approx %37 %39)
(approx %41 %30)
(approx %41 %43)
(approx %45 (*.f32 ux %43))
(approx %49 (+.f32 #s(literal 1 binary32) %50))
(approx %53 %54)
(approx %56 %58)
(approx %60 #s(literal -1 binary32))
(approx %60 (-.f32 %58 #s(literal 1 binary32)))
(approx %64 #s(literal -2 binary32))
(approx %64 (-.f32 %58 #s(literal 2 binary32)))
(approx %69 (+.f32 #s(literal 2 binary32) %50))
(approx %74 %75)
(approx %74 (*.f32 ux (fma.f32 #s(literal 2 binary32) %57 %78)))
(approx %85 #s(literal -1/2 binary32))
(approx %85 (-.f32 %91 #s(literal 1/2 binary32)))
(approx %85 (-.f32 %98 #s(literal 1/2 binary32)))
(approx %101 %91)
(approx %101 %98)
(approx %104 %105)
(approx %104 (+.f32 %105 (*.f32 #s(literal 1/2 binary32) (/.f32 %108 %105))))
(approx %104 (+.f32 %105 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %116 %118) (*.f32 #s(literal 1/2 binary32) %120)))))
(approx %104 (+.f32 %105 (*.f32 %107 (fma.f32 #s(literal 1/2 binary32) %120 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %115 %118) (*.f32 #s(literal 1/16 binary32) (/.f32 %131 %133))))))))
(approx %142 %143)
(approx %142 (+.f32 %143 (*.f32 #s(literal 1/2 binary32) (/.f32 %108 %143))))
(approx %142 (+.f32 %143 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %116 %149) (*.f32 #s(literal 1/2 binary32) %151)))))
(approx %142 (+.f32 %143 (*.f32 %107 (fma.f32 #s(literal 1/2 binary32) %151 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %115 %149) (*.f32 #s(literal 1/16 binary32) (/.f32 %131 %158))))))))
(approx %171 %176)
(approx %171 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %107 %178) %143) %176))
(approx %171 (fma.f32 %175 %143 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %107 %183) %149) (*.f32 #s(literal 1/2 binary32) %186)))))
(approx %171 (fma.f32 %175 %143 (*.f32 %107 (fma.f32 #s(literal 1/2 binary32) %186 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %183 %149) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %107 (*.f32 %175 %130)) %158))))))))
(approx %203 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %29 #s(literal 2 binary32)))))
(approx %203 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (fma.f32 #s(literal 2 binary32) maxCos %24) #s(literal 2 binary32)))))
(approx %214 %215)
(approx %214 (+.f32 %215 (*.f32 #s(literal -1/2 binary32) (/.f32 %217 %215))))
(approx %214 (+.f32 %215 (*.f32 %107 (fma.f32 #s(literal -1/2 binary32) %222 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %107 %224) %226))))))
(approx %214 (+.f32 %215 (*.f32 %107 (fma.f32 #s(literal -1/2 binary32) %222 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %224 %226) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %107 %236) %238))))))))
(approx %247 %248)
(approx %247 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %107 %250) %215) %248))
(approx %247 (fma.f32 %175 %215 (*.f32 %107 (fma.f32 #s(literal -1/2 binary32) %255 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %107 %256) %226))))))
(approx %247 (fma.f32 %175 %215 (*.f32 %107 (fma.f32 #s(literal -1/2 binary32) %255 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %256 %226) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %107 (*.f32 %175 %236)) %238))))))))
(approx %281 %285)
(approx %281 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %107 %287) %105) %285))
(approx %281 (fma.f32 %284 %105 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %107 %292) %118) (*.f32 #s(literal 1/2 binary32) %295)))))
(approx %281 (fma.f32 %284 %105 (*.f32 %107 (fma.f32 #s(literal 1/2 binary32) %295 (*.f32 %107 (fma.f32 #s(literal -1/8 binary32) (/.f32 %292 %118) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %107 (*.f32 %284 %130)) %133))))))))
(approx %6 %10)
(approx %6 (*.f32 ux (-.f32 %313 #s(literal 1 binary32))))
(approx %37 (*.f32 ux %318))
(approx %41 (*.f32 ux %323))
(approx %45 (*.f32 #s(literal -1 binary32) %217))
(approx %45 (*.f32 %107 %323))
(approx %49 %50)
(approx %49 (*.f32 ux (-.f32 %331 #s(literal 1 binary32))))
(approx %53 (*.f32 ux %331))
(approx %60 (*.f32 ux (-.f32 #s(literal 1 binary32) %331)))
(approx %64 (*.f32 ux (-.f32 #s(literal 1 binary32) %340)))
(approx %69 (*.f32 ux (-.f32 %340 #s(literal 1 binary32))))
(approx %74 %108)
(approx %74 (*.f32 %107 (fma.f32 #s(literal 2 binary32) (/.f32 %57 ux) %77)))
(approx %85 (*.f32 %107 (-.f32 %354 %321)))
(approx %85 (*.f32 %107 (-.f32 %354 (+.f32 (/.f32 #s(literal 1/2 binary32) %107) %321))))
(approx %104 %364)
(approx %104 (*.f32 ux (-.f32 (+.f32 %363 %366) %368)))
(approx %104 (*.f32 ux (-.f32 (+.f32 %363 (fma.f32 #s(literal -1/2 binary32) %374 %366)) %368)))
(approx %104 (*.f32 ux (-.f32 (+.f32 %363 (fma.f32 #s(literal -1/2 binary32) %374 (fma.f32 #s(literal 1/2 binary32) (/.f32 %128 %382) %366))) %368)))
(approx %142 (*.f32 ux (+.f32 %363 %391)))
(approx %142 (*.f32 ux (+.f32 %363 (fma.f32 #s(literal -1/8 binary32) %396 %391))))
(approx %142 (*.f32 ux (+.f32 %363 (fma.f32 #s(literal -1/8 binary32) %396 (fma.f32 #s(literal 1/16 binary32) (/.f32 %401 %382) %391)))))
(approx %171 (*.f32 ux %408))
(approx %171 (*.f32 ux %413))
(approx %171 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %417 %413)))
(approx %171 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %417 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %175 %401) %382) %413))))
(approx %203 %217)
(approx %203 (*.f32 %107 (-.f32 %428 %317)))
(approx %203 (*.f32 %107 (-.f32 (fma.f32 #s(literal 2 binary32) %321 (+.f32 (/.f32 #s(literal 1 binary32) %107) %23)) %317)))
(approx %213 (*.f32 %107 (-.f32 %317 %428)))
(approx %214 %443)
(approx %214 (*.f32 ux (+.f32 %442 %446)))
(approx %214 (*.f32 ux (+.f32 %442 (fma.f32 #s(literal -1/8 binary32) %453 %446))))
(approx %214 (*.f32 ux (+.f32 %442 (fma.f32 #s(literal -1/8 binary32) %453 (fma.f32 #s(literal 1/16 binary32) (/.f32 %458 %460) %446)))))
(approx %247 (*.f32 ux %467))
(approx %247 (*.f32 ux %472))
(approx %247 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %476 %472)))
(approx %247 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %476 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %175 %458) %460) %472))))
(approx %281 (*.f32 ux (*.f32 %284 %363)))
(approx %281 (*.f32 ux %491))
(approx %281 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %495 %491)))
(approx %281 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %495 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %284 %128) %382) %491))))
(approx %6 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) %313))))
(approx %37 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %23 %317))))
(approx %41 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %30 ux) %23))))
(approx %49 (*.f32 #s(literal -1 binary32) %520))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %519 %313))))
(approx %53 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %518 %313))))
(approx %56 %520)
(approx %60 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %313 %519))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %317 %519))))
(approx %69 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %519 %317))))
(approx %74 (*.f32 #s(literal -1 binary32) %545))
(approx %74 (*.f32 %107 (fma.f32 #s(literal -1 binary32) %544 (*.f32 #s(literal 2 binary32) (/.f32 %519 ux)))))
(approx %85 (*.f32 %107 (fma.f32 #s(literal -2 binary32) %321 (fma.f32 #s(literal -1 binary32) %544 %317))))
(approx %85 (*.f32 %107 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %558 (*.f32 #s(literal 1/2 binary32) %313)) ux) %562)))
(approx %104 (*.f32 #s(literal -1 binary32) %567))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (fma.f32 #s(literal -1 binary32) (/.f32 maxCos %567) (/.f32 #s(literal 1 binary32) %567))))))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %577 (*.f32 #s(literal 1/2 binary32) (/.f32 %544 %579))) ux))))))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %577 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %544 %578) (*.f32 #s(literal 1/2 binary32) (/.f32 %590 %592))) ux))) ux))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (*.f32 #s(literal 1/2 binary32) (/.f32 %558 %567))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %611 (*.f32 #s(literal 1/8 binary32) (/.f32 %613 %579))) ux))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %566 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %613 %578) (*.f32 #s(literal 1/16 binary32) (/.f32 %624 %592))) ux) (*.f32 #s(literal -1/2 binary32) %611)) ux))))))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 ux %637)))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %641 %567) %637))))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %647 (*.f32 #s(literal 1/8 binary32) (/.f32 %648 %579))) ux) %637))))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %648 %578) (*.f32 #s(literal 1/16 binary32) (/.f32 %658 %592))) ux) (*.f32 #s(literal -1/2 binary32) %647)) ux) %637))))
(approx %203 %545)
(approx %203 (*.f32 %107 (fma.f32 #s(literal -1 binary32) (/.f32 %558 ux) %544)))
(approx %203 (*.f32 %107 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 %558 %313) ux) %544)))
(approx %213 (*.f32 %107 (-.f32 (fma.f32 #s(literal -2 binary32) %321 %317) %544)))
(approx %214 (*.f32 #s(literal -1 binary32) %686))
(approx %214 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %685 (*.f32 #s(literal 1/2 binary32) (/.f32 %558 %686))))))
(approx %214 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %685 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %695 (*.f32 #s(literal 1/8 binary32) (/.f32 %613 %697))) ux))))))
(approx %214 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %685 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %613 %696) (*.f32 #s(literal 1/16 binary32) (/.f32 %624 %709))) ux) (*.f32 #s(literal -1/2 binary32) %695)) ux))))))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 ux %722)))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %641 %686) %722))))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %731 (*.f32 #s(literal 1/8 binary32) (/.f32 %648 %697))) ux) %722))))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %648 %696) (*.f32 #s(literal 1/16 binary32) (/.f32 %658 %709))) ux) (*.f32 #s(literal -1/2 binary32) %731)) ux) %722))))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 ux %752)))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 %284 %566 (/.f32 %756 %567)))))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %762 (*.f32 #s(literal 1/2 binary32) (/.f32 %763 %579))) ux) %752))))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %762 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %763 %578) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %284 %590) %592))) ux))) ux) %752))))
(approx uy uy)
(approx %167 (*.f32 #s(literal 2 binary32) uy))
(approx %169 %174)
(approx %170 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 %789 %790))))
(approx %170 (+.f32 #s(literal 1 binary32) (*.f32 %789 (fma.f32 #s(literal -2 binary32) %790 (*.f32 #s(literal 2/3 binary32) (*.f32 %789 %796))))))
(approx %170 (+.f32 #s(literal 1 binary32) (*.f32 %789 (fma.f32 #s(literal -2 binary32) %790 (*.f32 %789 (fma.f32 #s(literal -4/45 binary32) (*.f32 %789 %804) (*.f32 #s(literal 2/3 binary32) %796)))))))
(approx %171 %817)
(approx %171 (+.f32 %817 (*.f32 #s(literal -2 binary32) (*.f32 %789 %819))))
(approx %171 (+.f32 %817 (*.f32 %789 (fma.f32 #s(literal -2 binary32) %819 (*.f32 #s(literal 2/3 binary32) (*.f32 %789 %824))))))
(approx %171 (+.f32 %817 (*.f32 %789 (fma.f32 #s(literal -2 binary32) %819 (*.f32 %789 (fma.f32 #s(literal -4/45 binary32) (*.f32 %789 (*.f32 %804 %817)) (*.f32 #s(literal 2/3 binary32) %824)))))))
(approx %247 %842)
(approx %247 (+.f32 %842 (*.f32 #s(literal -2 binary32) (*.f32 %789 %844))))
(approx %247 (+.f32 %842 (*.f32 %789 (fma.f32 #s(literal -2 binary32) %844 (*.f32 #s(literal 2/3 binary32) (*.f32 %789 %849))))))
(approx %247 (+.f32 %842 (*.f32 %789 (fma.f32 #s(literal -2 binary32) %844 (*.f32 %789 (fma.f32 #s(literal -4/45 binary32) (*.f32 %789 (*.f32 %804 %842)) (*.f32 #s(literal 2/3 binary32) %849)))))))
(approx %279 %282)
(approx %279 %283)
(approx %280 %867)
(approx %280 (+.f32 %867 (*.f32 #s(literal -2 binary32) (*.f32 uy %870))))
(approx %280 (+.f32 %867 (*.f32 uy (fma.f32 #s(literal -2 binary32) (*.f32 uy %875) (*.f32 #s(literal -2 binary32) %870)))))
(approx %280 (+.f32 %867 (*.f32 uy (fma.f32 #s(literal -2 binary32) %870 (*.f32 uy (fma.f32 #s(literal -2 binary32) %875 (*.f32 #s(literal 4/3 binary32) (*.f32 uy (*.f32 %883 %869)))))))))
(approx %281 %898)
(approx %281 (fma.f32 #s(literal -2 binary32) (*.f32 uy %901) %898))
(approx %281 (fma.f32 uy (fma.f32 #s(literal -2 binary32) (*.f32 uy %905) (*.f32 #s(literal -2 binary32) %901)) %898))
(approx %281 (fma.f32 uy (fma.f32 #s(literal -2 binary32) %901 (*.f32 uy (fma.f32 #s(literal -2 binary32) %905 (*.f32 #s(literal 4/3 binary32) (*.f32 uy (*.f32 %883 %900)))))) %898))
(approx %170 %175)
(approx %171 (*.f32 %175 %817))
(approx %247 (*.f32 %175 %842))
(approx %279 (*.f32 #s(literal -2 binary32) %173))
(approx %279 (*.f32 uy (fma.f32 #s(literal -2 binary32) %172 (*.f32 #s(literal 1/2 binary32) %926))))
(approx %280 %284)
(approx %281 (*.f32 %284 %897))
(approx %279 (*.f32 #s(literal -1 binary32) (*.f32 uy (fma.f32 #s(literal -1/2 binary32) %926 (*.f32 #s(literal 2 binary32) %172)))))
(approx maxCos maxCos)
(approx %17 %21)
(approx %26 %29)
(approx %19 (+.f32 #s(literal 1 binary32) %557))
(approx %19 (+.f32 #s(literal 1 binary32) (*.f32 maxCos (-.f32 maxCos #s(literal 2 binary32)))))
(approx %20 (+.f32 ux %948))
(approx %20 (+.f32 ux (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux %15))))
(approx %27 %558)
(approx %28 %956)
(approx %28 (fma.f32 #s(literal -2 binary32) %15 %956))
(approx %34 %961)
(approx %34 %965)
(approx %37 %967)
(approx %37 (+.f32 #s(literal 2 binary32) %961))
(approx %37 (+.f32 #s(literal 2 binary32) %965))
(approx %41 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos %973))))
(approx %41 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %963 #s(literal 2 binary32))))))
(approx %45 %983)
(approx %45 (fma.f32 maxCos %985 %983))
(approx %45 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %988 %985) %983))
(approx %49 %992)
(approx %49 %814)
(approx %56 %996)
(approx %60 %998)
(approx %60 (-.f32 %996 #s(literal 1 binary32)))
(approx %64 %1002)
(approx %64 (-.f32 %996 #s(literal 2 binary32)))
(approx %69 %1006)
(approx %69 %895)
(approx %74 %1009)
(approx %74 (fma.f32 maxCos %1011 %1009))
(approx %74 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %988 %1011) %1009))
(approx %85 %1018)
(approx %85 (+.f32 #s(literal 1/2 binary32) %1023))
(approx %85 (+.f32 #s(literal 1/2 binary32) %1027))
(approx %101 %1030)
(approx %101 (+.f32 #s(literal 1 binary32) %1023))
(approx %101 (+.f32 #s(literal 1 binary32) %1027))
(approx %104 %1036)
(approx %104 (+.f32 %1036 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1011) %1036))))
(approx %104 (+.f32 %1036 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1049) %1036) (*.f32 #s(literal 1/2 binary32) %1052)))))
(approx %104 (+.f32 %1036 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1052 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos %1059) %1061) (*.f32 #s(literal 1/2 binary32) (/.f32 %1049 %1036))))))))
(approx %142 %1071)
(approx %142 (+.f32 %1071 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1022) %1071))))
(approx %142 (+.f32 %1071 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1082) %1071) (*.f32 #s(literal 1/2 binary32) %1085)))))
(approx %142 (+.f32 %1071 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1085 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos %1091) %1093) (*.f32 #s(literal 1/2 binary32) (/.f32 %1082 %1071))))))))
(approx %171 %1103)
(approx %171 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1105) %1071) %1103))
(approx %171 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1110) %1071) (*.f32 #s(literal 1/2 binary32) %1113)) %1103))
(approx %171 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1113 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %175 %1091)) %1093) (*.f32 #s(literal 1/2 binary32) (/.f32 %1110 %1071))))) %1103))
(approx %203 %1128)
(approx %203 (fma.f32 #s(literal 2 binary32) %1130 %1128))
(approx %203 (fma.f32 maxCos (fma.f32 #s(literal 2 binary32) %1020 %988) %1128))
(approx %213 %1136)
(approx %213 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) %1130)) %1128))
(approx %213 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %988) (*.f32 #s(literal 2 binary32) %1020)))) %1128))
(approx %214 %1149)
(approx %214 (+.f32 %1149 (*.f32 #s(literal -1 binary32) (/.f32 %1130 %1149))))
(approx %214 (+.f32 %1149 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1155 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %1159) %1149))))))
(approx %214 (+.f32 %1149 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1155 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux %1167)) %1170) (*.f32 #s(literal -1/2 binary32) (/.f32 %1159 %1149))))))))
(approx %247 %1180)
(approx %247 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 maxCos %1183) %1149) %1180))
(approx %247 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1188 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %1189) %1149))) %1180))
(approx %247 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1188 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux (*.f32 %175 %1167))) %1170) (*.f32 #s(literal -1/2 binary32) (/.f32 %1189 %1149))))) %1180))
(approx %281 %1207)
(approx %281 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1209) %1036) %1207))
(approx %281 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1214) %1036) (*.f32 #s(literal 1/2 binary32) %1217)) %1207))
(approx %281 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1217 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %284 %1059)) %1061) (*.f32 #s(literal 1/2 binary32) (/.f32 %1214 %1036))))) %1207))
(approx %17 (*.f32 maxCos (-.f32 #s(literal 1 binary32) %1232)))
(approx %19 %1236)
(approx %19 (*.f32 %1236 (-.f32 #s(literal 1 binary32) %1238)))
(approx %19 (*.f32 %1236 (-.f32 (+.f32 #s(literal 1 binary32) %1242) %1238)))
(approx %20 %1247)
(approx %20 (*.f32 %1236 (+.f32 ux (*.f32 #s(literal -2 binary32) %1249))))
(approx %20 (*.f32 %1236 (+.f32 ux (fma.f32 #s(literal -2 binary32) %1249 %1254))))
(approx %27 %557)
(approx %27 (*.f32 maxCos (-.f32 %1238 #s(literal 2 binary32))))
(approx %28 %948)
(approx %28 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux %1264)))
(approx %34 (*.f32 #s(literal -1 binary32) %1247))
(approx %34 (*.f32 %1236 %1270))
(approx %34 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) ux (fma.f32 #s(literal -1 binary32) %1254 %1264))))
(approx %37 (*.f32 %1236 %1280))
(approx %41 (*.f32 %1236 (-.f32 %1270 %1238)))
(approx %41 (*.f32 %1236 (-.f32 %1280 %1238)))
(approx %45 (*.f32 #s(literal -1 binary32) %1289))
(approx %45 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %107 %1292)))
(approx %45 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %107 (+.f32 (/.f32 %983 %1236) %1292))))
(approx %49 (*.f32 maxCos (-.f32 %1301 %1249)))
(approx %53 (*.f32 maxCos %1301))
(approx %56 %995)
(approx %56 (*.f32 maxCos (-.f32 %1249 ux)))
(approx %60 (*.f32 maxCos (-.f32 %1249 %1301)))
(approx %64 (*.f32 maxCos (-.f32 %1249 %1314)))
(approx %69 (*.f32 maxCos (-.f32 %1314 %1249)))
(approx %74 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %1321 (fma.f32 #s(literal -1 binary32) %107 %1322))))
(approx %74 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %1321 (fma.f32 #s(literal -1 binary32) %107 (+.f32 (/.f32 %1009 %1236) %1322)))))
(approx %85 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %107 %1334))))
(approx %85 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %107 (+.f32 (/.f32 #s(literal 1/2 binary32) %1236) %1341)))))
(approx %101 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %107 (+.f32 %1242 %1341)))))
(approx %104 %1353)
(approx %104 (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal 1/2 binary32) %1355))))
(approx %104 (*.f32 maxCos (+.f32 %1352 %1367)))
(approx %104 (*.f32 maxCos (+.f32 %1352 (fma.f32 #s(literal -1/4 binary32) (/.f32 %1371 %1374) %1367))))
(approx %142 (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal 1/2 binary32) %1380))))
(approx %142 (*.f32 maxCos (+.f32 %1352 %1390)))
(approx %142 (*.f32 maxCos (+.f32 %1352 (fma.f32 #s(literal -1/4 binary32) (/.f32 %1394 %1374) %1390))))
(approx %171 %1401)
(approx %171 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1403 %1400)))
(approx %171 (*.f32 maxCos %1410))
(approx %171 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %175 %1394) %1374) %1410)))
(approx %203 %1289)
(approx %203 (*.f32 %1236 (fma.f32 #s(literal 2 binary32) %1333 %107)))
(approx %203 (*.f32 %1236 %1424))
(approx %213 (*.f32 %1236 (-.f32 (*.f32 #s(literal -2 binary32) %1333) %107)))
(approx %213 (*.f32 %1236 (-.f32 %1242 %1424)))
(approx %214 %1436)
(approx %214 %1441)
(approx %214 (*.f32 maxCos (+.f32 %1435 (fma.f32 #s(literal -1 binary32) %1438 %1449))))
(approx %214 (*.f32 maxCos (+.f32 %1435 (fma.f32 #s(literal -1 binary32) %1438 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1455 %1457) %1449)))))
(approx %247 %1465)
(approx %247 %1469)
(approx %247 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1467 %1473)))
(approx %247 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1467 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1478 %1457) %1473))))
(approx %281 %1485)
(approx %281 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1487 %1484)))
(approx %281 (*.f32 maxCos %1494))
(approx %281 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %284 %1371) %1374) %1494)))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 %1232 #s(literal 1 binary32)))))
(approx %19 (*.f32 %1236 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 2 binary32) %1232) maxCos)))))
(approx %20 (*.f32 %1236 (+.f32 ux (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1249 %956) maxCos)))))
(approx %27 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 #s(literal 2 binary32) %1238))))
(approx %28 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -2 binary32) %1249 %956))))
(approx %34 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) ux %1249) maxCos)))))
(approx %37 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %1534 maxCos)))))
(approx %41 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %1541 maxCos)))))
(approx %41 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 2 binary32) %1534) maxCos)))))
(approx %45 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 %1553 maxCos) %1043)))
(approx %45 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %983 maxCos) %1553) maxCos) %1043)))
(approx %49 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %992 maxCos))))))
(approx %53 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 %10 %1232))))
(approx %56 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %1249) %10))))
(approx %60 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %998 maxCos)) %10))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1002 maxCos)) %10))))
(approx %69 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %1006 maxCos))))))
(approx %74 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 %1597 maxCos) %1043)))
(approx %74 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1321 %1597) maxCos) %1043)))
(approx %85 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 %1607 maxCos) %1043)))
(approx %85 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1021 (fma.f32 #s(literal -1 binary32) (/.f32 %1018 maxCos) %1020)) maxCos) %1043)))
(approx %101 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1021 (fma.f32 #s(literal -1 binary32) (/.f32 %1030 maxCos) %1020)) maxCos) %1043)))
(approx %104 (*.f32 #s(literal -1 binary32) %1353))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1/2 binary32) (/.f32 %1597 %1353))))))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1637 %1353) %1640) maxCos))))))
(approx %104 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 %1648 %1649) (*.f32 #s(literal 1/2 binary32) (/.f32 %1637 %1352))) maxCos) %1640) maxCos))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1/2 binary32) (/.f32 %1607 %1353))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1671 %1353) %1674) maxCos))))))
(approx %142 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1352 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 %1682 %1649) (*.f32 #s(literal 1/2 binary32) (/.f32 %1671 %1352))) maxCos) %1674) maxCos))))))
(approx %171 (*.f32 #s(literal -1 binary32) %1401))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1697 %1353) %1400))))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1703 %1353) %1706) maxCos) %1400))))
(approx %171 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %175 %1682) %1649) (*.f32 #s(literal 1/2 binary32) (/.f32 %1703 %1352))) maxCos) %1706) maxCos) %1400))))
(approx %203 (*.f32 %1236 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) %1020 (*.f32 #s(literal -1 binary32) (/.f32 %1128 maxCos))) maxCos) %107)))
(approx %213 (*.f32 %1236 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1136 maxCos)) (*.f32 #s(literal -2 binary32) %1020)) maxCos)) %107)))
(approx %214 (*.f32 #s(literal -1 binary32) %1436))
(approx %214 (*.f32 #s(literal -1 binary32) %1441))
(approx %214 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1435 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1446 %1436) %1746) maxCos))))))
(approx %214 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1435 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1455 %1754) (*.f32 #s(literal 1/2 binary32) (/.f32 %1446 %1435))) maxCos) %1746) maxCos))))))
(approx %247 (*.f32 #s(literal -1 binary32) %1465))
(approx %247 (*.f32 #s(literal -1 binary32) %1469))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1471 %1436) %1772) maxCos) %1464))))
(approx %247 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1478 %1754) (*.f32 #s(literal 1/2 binary32) (/.f32 %1471 %1435))) maxCos) %1772) maxCos) %1464))))
(approx %281 (*.f32 #s(literal -1 binary32) %1485))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1792 %1353) %1484))))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1798 %1353) %1801) maxCos) %1484))))
(approx %281 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %284 %1648) %1649) (*.f32 #s(literal 1/2 binary32) (/.f32 %1798 %1352))) maxCos) %1801) maxCos) %1484))))
Calls

9 calls:

TimeVariablePoint
6.0ms
uy
0
3.0ms
ux
0
3.0ms
maxCos
inf
3.0ms
ux
inf
3.0ms
maxCos
-inf

rewrite107.0ms (2.0%)

Memory
-14.4MiB live, 77.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070627
0111525
1399491
21721491
04008491
04115476
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
54 → 851
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%13 = (-.f32 maxCos #s(literal 1 binary32))
%14 = (*.f32 #s(literal 2 binary32) maxCos)
%15 = (pow.f32 %13 #s(literal 2 binary32))
%16 = (*.f32 ux %15)
%17 = (-.f32 #s(literal 2 binary32) %14)
%18 = (*.f32 ux %17)
%19 = (*.f32 #s(literal -1 binary32) %16)
%20 = (+.f32 #s(literal 2 binary32) %19)
%21 = (-.f32 %20 %14)
%22 = (*.f32 ux %21)
%28 = (+ (- 1 ux) (* ux maxCos))
%29 = (approx %28 %8)
%30 = (*.f32 #s(literal -2 binary32) %3)
%31 = (*.f32 #s(literal 1/2 binary32) %3)
%32 = (fma.f32 maxCos ux %8)
%33 = (fma.f32 maxCos ux #s(literal 1 binary32))
%34 = (-.f32 ux %12)
%35 = (-.f32 ux %33)
%36 = (-.f32 %34 #s(literal 0 binary32))
%37 = (-.f32 %34 #s(literal 2 binary32))
%38 = (neg.f32 %37)
%39 = (*.f32 %36 %38)
%40 = (fma.f32 %35 %32 #s(literal 1/2 binary32))
%41 = (+.f32 %40 #s(literal 1/2 binary32))
%42 = (sqrt.f32 %39)
%43 = (sqrt.f32 %41)
%45 = (*.f32 %29 %29)
%46 = (-.f32 #s(literal 1 binary32) %45)
%47 = (sqrt.f32 %46)
%54 = (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2))
%55 = (approx %54 %18)
%56 = (approx %54 %22)
%57 = (fma.f32 %30 uy %31)
%58 = (sin.f32 %57)
%60 = (sqrt.f32 %55)
%68 = (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %28 %28))))
%70 = (sqrt.f32 %56)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
%13
%14
%15
%16
%17
%18
%19
%20
%21
%22
#s(literal 1/2 binary32)
#s(literal -2 binary32)
%29
%30
%31
%32
%33
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
(*.f32 %5 %43)
%45
%46
%47
(*.f32 %5 %47)
%55
%56
%57
%58
(*.f32 %58 %42)
%60
(approx %68 %60)
%70
(approx %68 %70)
Outputs
%5 = (+.f32 uy uy)
%9 = (*.f32 #s(literal 1 binary32) uy)
%11 = (*.f32 uy #s(literal 1 binary32))
%16 = (PI.f32 )
%17 = (+.f32 %16 %16)
%19 = (*.f32 %16 uy)
%21 = (*.f32 %16 %5)
%28 = (cos.f32 %21)
%30 = (/.f32 #s(literal 1 binary32) (pow.f32 %28 #s(literal -1 binary32)))
%32 = (*.f32 #s(literal 1/2 binary32) %16)
%33 = (sin.f32 %32)
%35 = (*.f32 #s(literal -2 binary32) %16)
%37 = (*.f32 (neg.f32 %35) uy)
%41 = (*.f32 #s(literal -1/2 binary32) %16)
%42 = (cos.f32 %41)
%45 = (-.f32 (*.f32 %33 (cos.f32 %37)) (*.f32 %42 (sin.f32 %37)))
%46 = (neg.f32 uy)
%47 = (*.f32 %46 %35)
%52 = (-.f32 (*.f32 %33 (cos.f32 %47)) (*.f32 %42 (sin.f32 %47)))
%53 = (cos.f32 %19)
%55 = (sin.f32 %19)
%57 = (-.f32 (*.f32 %53 %53) (*.f32 %55 %55))
%58 = (sin.f32 %21)
%59 = (*.f32 %58 %42)
%61 = (*.f32 %28 (sin.f32 %41))
%62 = (-.f32 %59 %61)
%63 = (*.f32 %33 %28)
%64 = (*.f32 %35 uy)
%65 = (neg.f32 %64)
%68 = (-.f32 %63 (*.f32 %42 (sin.f32 %65)))
%70 = (-.f32 %63 (*.f32 %42 %58))
%71 = (sin.f32 %64)
%72 = (*.f32 %42 %71)
%75 = (-.f32 %72 (*.f32 (neg.f32 %28) %33))
%77 = (-.f32 %72 (neg.f32 %63))
%78 = (-.f32 %72 %61)
%79 = (fma.f32 %58 %42 %63)
%80 = (fma.f32 %33 %28 %72)
%81 = (fma.f32 %42 %71 %63)
%82 = (fma.f32 %71 %42 %63)
%83 = (fma.f32 %28 %33 %72)
%84 = (pow.f32 %28 #s(literal 1 binary32))
%85 = (+.f32 %59 %63)
%86 = (+.f32 %63 %72)
%87 = (+.f32 %72 %63)
%88 = (fabs.f32 %21)
%89 = (+.f32 %88 %32)
%90 = (sin.f32 %89)
%91 = (fma.f32 #s(literal 1/2 binary32) %16 %21)
%92 = (sin.f32 %91)
%93 = (*.f32 uy #s(literal -2 binary32))
%94 = (fma.f32 %93 %16 %32)
%95 = (sin.f32 %94)
%96 = (cos.f32 %65)
%97 = (neg.f32 %88)
%98 = (cos.f32 %97)
%99 = (fabs.f32 %88)
%100 = (cos.f32 %99)
%101 = (cos.f32 %88)
%102 = (cos.f32 %64)
%104 = (-.f32 #s(literal 1 binary32) ux)
%107 = (neg.f32 ux)
%108 = (neg.f32 %107)
%119 = (+.f32 #s(literal -1 binary32) ux)
%121 = (-.f32 ux #s(literal 1 binary32))
%125 = (*.f32 maxCos ux)
%135 = (-.f32 maxCos #s(literal 1 binary32))
%143 = (-.f32 #s(literal 1 binary32) maxCos)
%145 = (+.f32 maxCos maxCos)
%151 = (neg.f32 maxCos)
%154 = (fabs.f32 %135)
%156 = (*.f32 %143 %143)
%160 = (*.f32 #s(literal -2 binary32) maxCos)
%161 = (fma.f32 maxCos maxCos %160)
%166 = (*.f32 %135 #s(literal -1 binary32))
%168 = (*.f32 #s(literal -1 binary32) %135)
%190 = (*.f32 ux %135)
%191 = (*.f32 %190 %135)
%192 = (*.f32 #s(literal 1 binary32) ux)
%196 = (neg.f32 %156)
%198 = (*.f32 %107 %156)
%211 = (*.f32 ux #s(literal 1 binary32))
%219 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%224 = (neg.f32 %160)
%237 = (fma.f32 maxCos #s(literal 2 binary32) #s(literal -2 binary32))
%239 = (*.f32 %219 ux)
%243 = (*.f32 ux %160)
%245 = (*.f32 %160 ux)
%248 = (*.f32 ux #s(literal 2 binary32))
%250 = (*.f32 #s(literal 2 binary32) ux)
%256 = (*.f32 %107 %135)
%258 = (*.f32 #s(literal -1 binary32) %156)
%264 = (*.f32 %156 #s(literal -1 binary32))
%269 = (*.f32 %107 #s(literal 1 binary32))
%271 = (*.f32 #s(literal 1 binary32) %107)
%279 = (-.f32 #s(literal 2 binary32) %191)
%304 = (-.f32 #s(literal 2 binary32) (fma.f32 %190 %135 %145))
%313 = (fma.f32 %107 %156 %160)
%337 = (+.f32 %237 %191)
%339 = (*.f32 %304 ux)
%345 = (*.f32 ux %313)
%347 = (*.f32 %313 ux)
%360 = (* maxCos ux)
%364 = (approx (- (- %360 -1) ux) %104)
%374 = (neg.f32 %16)
%382 = (fma.f32 maxCos ux %104)
%385 = (fma.f32 maxCos ux #s(literal 1 binary32))
%393 = (*.f32 %151 ux)
%397 = (-.f32 ux %125)
%404 = (-.f32 %125 ux)
%415 = (neg.f32 %393)
%423 = (-.f32 ux %385)
%439 = (*.f32 (neg.f32 %151) ux)
%443 = (-.f32 #s(literal -1 binary32) %125)
%445 = (+.f32 %151 #s(literal 1 binary32))
%446 = (*.f32 %445 ux)
%448 = (/.f32 #s(literal 1 binary32) (pow.f32 %397 #s(literal -1 binary32)))
%449 = (-.f32 %397 #s(literal 0 binary32))
%450 = (-.f32 ux %439)
%451 = (-.f32 ux %415)
%452 = (fma.f32 %445 ux #s(literal 0 binary32))
%453 = (fma.f32 %151 ux ux)
%454 = (fma.f32 %107 maxCos ux)
%455 = (fma.f32 maxCos %107 ux)
%456 = (fma.f32 ux %151 ux)
%457 = (pow.f32 %397 #s(literal 1 binary32))
%458 = (+.f32 %393 ux)
%459 = (+.f32 %397 #s(literal 0 binary32))
%460 = (+.f32 #s(literal 0 binary32) %397)
%462 = (+.f32 ux (fma.f32 %151 ux #s(literal 0 binary32)))
%464 = (+.f32 ux (-.f32 %393 #s(literal 0 binary32)))
%465 = (+.f32 ux %393)
%466 = (neg.f32 %404)
%488 = (fma.f32 maxCos ux #s(literal 2 binary32))
%489 = (-.f32 ux %488)
%504 = (-.f32 %488 ux)
%508 = (-.f32 #s(literal 2 binary32) ux)
%519 = (*.f32 %404 %489)
%524 = (*.f32 %504 #s(literal 0 binary32))
%526 = (*.f32 #s(literal 0 binary32) %504)
%530 = (*.f32 %504 %393)
%534 = (*.f32 %393 %504)
%549 = (fma.f32 %423 %382 #s(literal 1/2 binary32))
%552 = (*.f32 %423 %382)
%554 = (*.f32 %423 %423)
%556 = (*.f32 %423 maxCos)
%557 = (fma.f32 %423 %104 #s(literal 1/2 binary32))
%559 = (*.f32 %423 %104)
%560 = (-.f32 %559 #s(literal -1/2 binary32))
%562 = (*.f32 %423 ux)
%565 = (fabs.f32 %423)
%566 = (neg.f32 %565)
%574 = (*.f32 ux %423)
%577 = (*.f32 maxCos %423)
%581 = (*.f32 %423 %125)
%590 = (fma.f32 %423 %382 #s(literal 1 binary32))
%609 = (fma.f32 %423 %104 #s(literal 1 binary32))
%633 = (fabs.f32 %504)
%634 = (sqrt.f32 %633)
%635 = (fabs.f32 %404)
%636 = (sqrt.f32 %635)
%639 = (sqrt.f32 %519)
%651 = (sqrt.f32 %590)
%657 = (acos.f32 %423)
%663 = (*.f32 %33 %651)
%664 = (asin.f32 %382)
%668 = (acos.f32 %382)
%669 = (cos.f32 %668)
%675 = (fabs.f32 %565)
%680 = (+.f32 %664 %32)
%682 = (acos.f32 %565)
%693 = (fabs.f32 %664)
%695 = (asin.f32 %565)
%697 = (asin.f32 %423)
%700 = (*.f32 %651 %28)
%1353 = (fabs.f32 %364)
%1354 = (fabs.f32 %1353)
%1356 = (neg.f32 %1353)
%1358 = (neg.f32 %364)
%1359 = (neg.f32 %1358)
%1363 = (*.f32 %364 %364)
%1371 = (*.f32 %1358 %364)
%1373 = (-.f32 #s(literal 1 binary32) %1363)
%1395 = (sqrt.f32 %1373)
%1400 = (*.f32 %33 %1395)
%1401 = (asin.f32 %364)
%1405 = (acos.f32 %364)
%1406 = (cos.f32 %1405)
%1418 = (+.f32 %1401 %32)
%1420 = (acos.f32 %1353)
%1422 = (acos.f32 %1358)
%1434 = (asin.f32 %1358)
%1436 = (fabs.f32 %1401)
%1438 = (asin.f32 %1353)
%1441 = (*.f32 %1395 %28)
%2096 = (- (- ux %360) 1)
%2099 = (- 1 (pow %2096 2))
%2100 = (approx %2099 %239)
%2104 = (approx %2099 %339)
%2115 = (neg.f32 %41)
%2117 = (neg.f32 %5)
%2131 = (*.f32 #s(literal -2 binary32) uy)
%2151 = (*.f32 %639 %28)
%2155 = (*.f32 %63 %639)
%2157 = (*.f32 %639 %63)
%2164 = (sqrt.f32 %2100)
%2181 = (* (sin (acos %2096)) (cos (* (* -2 (PI )) uy)))
%2182 = (approx %2181 %2164)
%2186 = (sqrt.f32 %2104)
%2196 = (approx %2181 %2186)
uy
#s(literal 2 binary32)
(*.f32 #s(literal 2 binary32) uy)
(*.f32 uy #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %5 #s(literal -1 binary32)))
(fma.f32 #s(literal 1 binary32) uy %9)
(fma.f32 uy #s(literal 1 binary32) %11)
(pow.f32 %5 #s(literal 1 binary32))
(+.f32 %11 %11)
(+.f32 %9 %9)
%5
%16
(*.f32 %17 uy)
(*.f32 %19 #s(literal 2 binary32))
%21
(*.f32 %5 %16)
(*.f32 #s(literal 2 binary32) %19)
(*.f32 uy %17)
(/.f32 #s(literal 1 binary32) (pow.f32 %21 #s(literal -1 binary32)))
(pow.f32 %21 #s(literal 1 binary32))
%30
%45
%52
%57
%62
%68
%70
%75
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%90
%92
%95
%96
%98
%100
%101
%102
%28
#s(literal 1 binary32)
ux
(/.f32 #s(literal 1 binary32) (pow.f32 %104 #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) %108)
%104
(fma.f32 #s(literal -1 binary32) ux #s(literal 1 binary32))
(fma.f32 ux #s(literal -1 binary32) #s(literal 1 binary32))
(pow.f32 %104 #s(literal 1 binary32))
(+.f32 %107 #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %107))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) ux))
(+.f32 #s(literal 1 binary32) %107)
(neg.f32 %119)
(neg.f32 %121)
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%125
(*.f32 ux maxCos)
(/.f32 #s(literal 1 binary32) (pow.f32 %125 #s(literal -1 binary32)))
(-.f32 %125 #s(literal 0 binary32))
(fma.f32 maxCos ux #s(literal 0 binary32))
(fma.f32 ux maxCos #s(literal 0 binary32))
(pow.f32 %125 #s(literal 1 binary32))
(+.f32 %125 #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) %125)
(/.f32 #s(literal 1 binary32) (pow.f32 %135 #s(literal -1 binary32)))
(-.f32 (-.f32 maxCos #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
%135
(pow.f32 %135 #s(literal 1 binary32))
(+.f32 #s(literal -1 binary32) maxCos)
(+.f32 maxCos #s(literal -1 binary32))
(neg.f32 %143)
(*.f32 %145 #s(literal 1 binary32))
(*.f32 maxCos #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) maxCos)
(/.f32 #s(literal 1 binary32) (pow.f32 %145 #s(literal -1 binary32)))
(-.f32 maxCos %151)
(pow.f32 %145 #s(literal 1 binary32))
%145
(*.f32 %154 %154)
%156
(*.f32 %135 %135)
(/.f32 #s(literal 1 binary32) (pow.f32 %156 #s(literal -1 binary32)))
(-.f32 %161 #s(literal -1 binary32))
(-.f32 (*.f32 maxCos maxCos) (-.f32 %145 #s(literal 1 binary32)))
(fma.f32 %135 maxCos %166)
(fma.f32 maxCos %135 %168)
(pow.f32 %156 #s(literal 1 binary32))
(pow.f32 %135 #s(literal 2 binary32))
(+.f32 (+.f32 %161 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(+.f32 (*.f32 %135 maxCos) %166)
(+.f32 (*.f32 maxCos %135) %168)
(+.f32 (fma.f32 maxCos maxCos (*.f32 #s(literal 2 binary32) (*.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))
(+.f32 %161 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %161)
(neg.f32 (*.f32 %143 %135))
(neg.f32 (*.f32 %135 %143))
(*.f32 (*.f32 #s(literal 1 binary32) %156) ux)
%191
(*.f32 %192 %156)
(*.f32 %108 %156)
(*.f32 %191 #s(literal 1 binary32))
(*.f32 %107 %196)
(*.f32 %198 #s(literal -1 binary32))
(*.f32 %156 ux)
(*.f32 %135 (*.f32 %135 ux))
(*.f32 #s(literal -1 binary32) %198)
(*.f32 ux %156)
(*.f32 #s(literal 1 binary32) %191)
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %191))
(/.f32 #s(literal 1 binary32) (pow.f32 %191 #s(literal -1 binary32)))
(fma.f32 %161 ux %192)
(fma.f32 ux %161 %211)
(pow.f32 %191 #s(literal 1 binary32))
(+.f32 (*.f32 ux %161) %211)
(+.f32 (*.f32 %161 ux) %192)
(neg.f32 %198)
(/.f32 #s(literal 1 binary32) (pow.f32 %219 #s(literal -1 binary32)))
(-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)
(-.f32 #s(literal 2 binary32) %224)
(-.f32 #s(literal 2 binary32) %145)
(fma.f32 %151 #s(literal 2 binary32) #s(literal 2 binary32))
%219
(fma.f32 maxCos #s(literal -2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) %151 #s(literal 2 binary32))
(pow.f32 %219 #s(literal 1 binary32))
(+.f32 %160 #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) %160))
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %145))
(+.f32 #s(literal 2 binary32) %160)
(neg.f32 %237)
%239
(*.f32 ux %219)
(/.f32 #s(literal 1 binary32) (pow.f32 %239 #s(literal -1 binary32)))
(fma.f32 ux #s(literal 2 binary32) %243)
(fma.f32 #s(literal 2 binary32) ux %245)
(pow.f32 %239 #s(literal 1 binary32))
(+.f32 %248 %243)
(+.f32 %250 %245)
(neg.f32 (*.f32 %237 ux))
(neg.f32 (*.f32 ux %237))
(*.f32 %256 %135)
(*.f32 %258 ux)
(*.f32 %196 ux)
(*.f32 %191 #s(literal -1 binary32))
%198
(*.f32 %156 %107)
(*.f32 #s(literal -1 binary32) %191)
(*.f32 ux %264)
(*.f32 ux %196)
(/.f32 #s(literal 1 binary32) (pow.f32 %198 #s(literal -1 binary32)))
(fma.f32 %107 %161 %269)
(fma.f32 %161 %107 %271)
(pow.f32 %198 #s(literal 1 binary32))
(+.f32 (*.f32 %107 %161) %269)
(+.f32 (*.f32 %161 %107) %271)
(neg.f32 %191)
(/.f32 #s(literal 1 binary32) (pow.f32 %279 #s(literal -1 binary32)))
(-.f32 %198 #s(literal -2 binary32))
%279
(fma.f32 %256 %135 #s(literal 2 binary32))
(fma.f32 %258 ux #s(literal 2 binary32))
(fma.f32 %196 ux #s(literal 2 binary32))
(fma.f32 %191 #s(literal -1 binary32) #s(literal 2 binary32))
(fma.f32 %107 %156 #s(literal 2 binary32))
(fma.f32 %156 %107 #s(literal 2 binary32))
(fma.f32 #s(literal -1 binary32) %191 #s(literal 2 binary32))
(fma.f32 ux %264 #s(literal 2 binary32))
(fma.f32 ux %196 #s(literal 2 binary32))
(pow.f32 %279 #s(literal 1 binary32))
(+.f32 (fma.f32 %256 %135 #s(literal 1 binary32)) #s(literal 1 binary32))
(+.f32 %198 #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) %198))
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %191))
(+.f32 #s(literal 2 binary32) %198)
(neg.f32 (-.f32 %191 #s(literal 2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %304 #s(literal -1 binary32)))
(-.f32 (-.f32 %279 maxCos) maxCos)
(-.f32 %279 %224)
(-.f32 %279 %145)
(-.f32 #s(literal 2 binary32) (-.f32 %191 %160))
%304
(-.f32 #s(literal 2 binary32) (neg.f32 %313))
(fma.f32 %256 %135 %219)
(fma.f32 %258 ux %219)
(fma.f32 %196 ux %219)
(fma.f32 %191 #s(literal -1 binary32) %219)
(fma.f32 %151 #s(literal 2 binary32) %279)
(fma.f32 %107 %156 %219)
(fma.f32 #s(literal -2 binary32) maxCos %279)
(fma.f32 %156 %107 %219)
(fma.f32 #s(literal -1 binary32) %191 %219)
(fma.f32 maxCos #s(literal -2 binary32) %279)
(fma.f32 ux %264 %219)
(fma.f32 ux %196 %219)
(fma.f32 #s(literal 2 binary32) %151 %279)
(pow.f32 %304 #s(literal 1 binary32))
(+.f32 %313 #s(literal 2 binary32))
(+.f32 %160 %279)
(+.f32 %279 %160)
(+.f32 %198 %219)
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) %313))
(+.f32 #s(literal 2 binary32) %313)
(neg.f32 %337)
%339
(*.f32 ux %304)
(/.f32 #s(literal 1 binary32) (pow.f32 %339 #s(literal -1 binary32)))
(fma.f32 %279 ux %245)
(fma.f32 ux %279 %243)
(fma.f32 ux #s(literal 2 binary32) %345)
(fma.f32 #s(literal 2 binary32) ux %347)
(pow.f32 %339 #s(literal 1 binary32))
(+.f32 (*.f32 ux %279) %243)
(+.f32 %248 %345)
(+.f32 (*.f32 %279 ux) %245)
(+.f32 %250 %347)
(neg.f32 (*.f32 %337 ux))
(neg.f32 (*.f32 ux %337))
#s(literal 1/2 binary32)
#s(literal -2 binary32)
(/.f32 #s(literal 1 binary32) (pow.f32 %364 #s(literal -1 binary32)))
%364
(pow.f32 %364 #s(literal 1 binary32))
%35
(*.f32 %16 #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %35 #s(literal -1 binary32)))
(pow.f32 %35 #s(literal 1 binary32))
(neg.f32 %17)
%32
(*.f32 %16 #s(literal 1/2 binary32))
(/.f32 %374 #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %16))
(/.f32 #s(literal 1 binary32) (pow.f32 %32 #s(literal -1 binary32)))
(/.f32 %16 #s(literal 2 binary32))
(pow.f32 %32 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %382 #s(literal -1 binary32)))
(-.f32 %385 %108)
(-.f32 %385 ux)
(-.f32 %382 #s(literal 0 binary32))
(-.f32 %125 (-.f32 #s(literal -1 binary32) %107))
(-.f32 %125 %119)
(-.f32 %125 %121)
(-.f32 %104 %393)
(-.f32 #s(literal 1 binary32) (-.f32 %393 %107))
(-.f32 #s(literal 1 binary32) %397)
(fma.f32 #s(literal -1 binary32) ux %385)
%382
(fma.f32 ux #s(literal -1 binary32) %385)
(fma.f32 ux maxCos %104)
(pow.f32 %382 #s(literal 1 binary32))
(+.f32 %107 %385)
(+.f32 %404 #s(literal 1 binary32))
(+.f32 %385 %107)
(+.f32 %382 #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %404))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) %397))
(+.f32 %125 %104)
(+.f32 %104 (*.f32 %108 maxCos))
(+.f32 %104 %415)
(+.f32 %104 %125)
(+.f32 #s(literal 1 binary32) (+.f32 %107 %125))
(+.f32 #s(literal 1 binary32) (-.f32 %107 %393))
(+.f32 #s(literal 1 binary32) %404)
(neg.f32 %423)
(/.f32 #s(literal 1 binary32) (pow.f32 %385 #s(literal -1 binary32)))
(-.f32 %125 #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) %393)
%385
(fma.f32 ux maxCos #s(literal 1 binary32))
(pow.f32 %385 #s(literal 1 binary32))
(+.f32 (fma.f32 maxCos ux #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %125))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) %393))
(+.f32 %125 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %439)
(+.f32 #s(literal 1 binary32) %415)
(+.f32 #s(literal 1 binary32) %125)
(neg.f32 %443)
%446
%448
%449
%450
%451
%397
%452
%453
%454
%455
%456
%457
%458
%459
%460
%462
%464
%465
%466
(/.f32 #s(literal 1 binary32) (pow.f32 %423 #s(literal -1 binary32)))
(-.f32 (-.f32 %397 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(-.f32 %121 %125)
(-.f32 %393 %104)
(-.f32 %397 #s(literal 1 binary32))
%423
(fma.f32 %445 ux #s(literal -1 binary32))
(fma.f32 %151 ux %121)
(fma.f32 %107 maxCos %121)
(fma.f32 maxCos %107 %121)
(fma.f32 ux %151 %121)
(pow.f32 %423 #s(literal 1 binary32))
(+.f32 %443 %108)
(+.f32 %443 ux)
(+.f32 %121 %393)
(+.f32 %393 %121)
(+.f32 %397 #s(literal -1 binary32))
(+.f32 #s(literal -1 binary32) %397)
(+.f32 ux %443)
(neg.f32 %382)
%446
%448
%449
%450
%451
%397
%452
%453
%454
%455
%456
%457
%458
%459
%460
%462
%464
%465
%466
(/.f32 #s(literal 1 binary32) (pow.f32 %489 #s(literal -1 binary32)))
(-.f32 %423 #s(literal 1 binary32))
(-.f32 %397 #s(literal 2 binary32))
%489
(fma.f32 %445 ux #s(literal -2 binary32))
(pow.f32 %489 #s(literal 1 binary32))
(+.f32 %397 #s(literal -2 binary32))
(+.f32 #s(literal -2 binary32) %397)
(+.f32 ux (fma.f32 %151 ux #s(literal -2 binary32)))
(+.f32 ux (-.f32 %393 #s(literal 2 binary32)))
(+.f32 ux (neg.f32 %488))
(neg.f32 %504)
(/.f32 #s(literal 1 binary32) (pow.f32 %504 #s(literal -1 binary32)))
(-.f32 %508 %393)
%504
(-.f32 %504 #s(literal 0 binary32))
(-.f32 #s(literal 2 binary32) %397)
(pow.f32 %504 #s(literal 1 binary32))
(+.f32 %508 %125)
(+.f32 %404 #s(literal 2 binary32))
(+.f32 %504 #s(literal 0 binary32))
(+.f32 #s(literal 1 binary32) %382)
(+.f32 #s(literal 2 binary32) %404)
(neg.f32 %489)
%519
(*.f32 %504 %397)
(*.f32 %397 %504)
(/.f32 #s(literal 1 binary32) (pow.f32 %519 #s(literal -1 binary32)))
(fma.f32 %404 %489 %524)
(fma.f32 %404 %489 %526)
(fma.f32 %504 %397 %524)
(fma.f32 %504 %397 %526)
(fma.f32 %504 ux %530)
(fma.f32 %397 %504 %524)
(fma.f32 %397 %504 %526)
(fma.f32 ux %504 %534)
(pow.f32 %519 #s(literal 1 binary32))
(+.f32 (*.f32 %504 ux) %530)
(+.f32 (*.f32 ux %504) %534)
(+.f32 %519 %524)
(+.f32 %519 %526)
(neg.f32 (*.f32 %404 %504))
(neg.f32 (*.f32 %504 %404))
(neg.f32 (*.f32 %489 %397))
(/.f32 #s(literal 1 binary32) (pow.f32 %549 #s(literal -1 binary32)))
(-.f32 %552 #s(literal -1/2 binary32))
(-.f32 #s(literal 1/2 binary32) %554)
(fma.f32 %556 ux %557)
(fma.f32 %556 ux %560)
(fma.f32 %562 maxCos %557)
(fma.f32 %562 maxCos %560)
(fma.f32 %566 %565 #s(literal 1/2 binary32))
(fma.f32 %565 %566 #s(literal 1/2 binary32))
%549
(fma.f32 %423 %125 %557)
(fma.f32 %423 %125 %560)
(fma.f32 %382 %423 #s(literal 1/2 binary32))
(fma.f32 %125 %423 %557)
(fma.f32 %125 %423 %560)
(fma.f32 maxCos %574 %557)
(fma.f32 maxCos %574 %560)
(fma.f32 ux %577 %557)
(fma.f32 ux %577 %560)
(pow.f32 %549 #s(literal 1 binary32))
(+.f32 (+.f32 #s(literal 1/2 binary32) %581) %559)
(+.f32 %581 %557)
(+.f32 %581 %560)
(+.f32 %552 #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %552)
(neg.f32 (-.f32 #s(literal -1/2 binary32) %552))
(/.f32 #s(literal 1 binary32) (pow.f32 %590 #s(literal -1 binary32)))
(-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %382 %104)) (*.f32 (*.f32 %382 maxCos) ux))
(-.f32 (-.f32 #s(literal 1 binary32) (fma.f32 %385 %385 (*.f32 #s(literal -2 binary32) (*.f32 %385 ux)))) (*.f32 ux ux))
(-.f32 %552 #s(literal -1 binary32))
(-.f32 %549 #s(literal -1/2 binary32))
(-.f32 #s(literal 1/2 binary32) (neg.f32 %549))
(-.f32 #s(literal 1 binary32) %554)
(fma.f32 %556 ux %609)
(fma.f32 %562 maxCos %609)
(fma.f32 %566 %565 #s(literal 1 binary32))
(fma.f32 %565 %566 #s(literal 1 binary32))
%590
(fma.f32 %423 %125 %609)
(fma.f32 %382 %423 #s(literal 1 binary32))
(fma.f32 %125 %423 %609)
(fma.f32 maxCos %574 %609)
(fma.f32 ux %577 %609)
(pow.f32 %590 #s(literal 1 binary32))
(+.f32 (+.f32 #s(literal 1 binary32) %581) %559)
(+.f32 %581 %609)
(+.f32 %552 #s(literal 1 binary32))
(+.f32 %549 #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %549)
(+.f32 #s(literal 1 binary32) %552)
(neg.f32 (+.f32 #s(literal -1 binary32) %554))
(neg.f32 (-.f32 #s(literal -1/2 binary32) %549))
(neg.f32 (fma.f32 %382 %382 #s(literal -1 binary32)))
(*.f32 %634 %636)
(*.f32 %636 %634)
(/.f32 #s(literal 1 binary32) (pow.f32 %639 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %639 %639))
(sqrt.f32 (*.f32 %635 %633))
%639
(pow.f32 %639 #s(literal 1 binary32))
(pow.f32 %519 #s(literal 1/2 binary32))
(fabs.f32 (neg.f32 %639))
(fabs.f32 %639)
(/.f32 #s(literal 1 binary32) (pow.f32 %651 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %651 %651))
%651
(-.f32 (*.f32 (sin.f32 %16) (cos.f32 %657)) (*.f32 (cos.f32 %16) %651))
(-.f32 %663 (*.f32 %42 (sin.f32 %664)))
(fma.f32 %42 %669 %663)
(pow.f32 %590 #s(literal 1/2 binary32))
(pow.f32 %651 #s(literal 1 binary32))
(+.f32 (*.f32 %42 %669) %663)
(sin.f32 (acos.f32 %675))
(sin.f32 (acos.f32 %566))
(sin.f32 %680)
(sin.f32 %682)
(sin.f32 %657)
(sin.f32 %668)
(fabs.f32 (neg.f32 %651))
(fabs.f32 %651)
(cos.f32 (asin.f32 %675))
(cos.f32 (asin.f32 %566))
(cos.f32 %693)
(cos.f32 %695)
(cos.f32 %697)
(cos.f32 %664)
%700
(*.f32 %28 %651)
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %65)) (cos.f32 (-.f32 %693 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %97)) (cos.f32 (-.f32 %693 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %99)) (cos.f32 (-.f32 %693 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %88)) (cos.f32 (-.f32 %693 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %64)) (cos.f32 (-.f32 %693 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %693 %21)) (cos.f32 (-.f32 %693 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %65)) (cos.f32 (-.f32 %695 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %97)) (cos.f32 (-.f32 %695 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %99)) (cos.f32 (-.f32 %695 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %88)) (cos.f32 (-.f32 %695 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %64)) (cos.f32 (-.f32 %695 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %695 %21)) (cos.f32 (-.f32 %695 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %65)) (cos.f32 (-.f32 %697 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %97)) (cos.f32 (-.f32 %697 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %99)) (cos.f32 (-.f32 %697 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %88)) (cos.f32 (-.f32 %697 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %64)) (cos.f32 (-.f32 %697 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %697 %21)) (cos.f32 (-.f32 %697 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %65)) (cos.f32 (-.f32 %664 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %97)) (cos.f32 (-.f32 %664 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %99)) (cos.f32 (-.f32 %664 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %693)) (cos.f32 (-.f32 %65 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %695)) (cos.f32 (-.f32 %65 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %697)) (cos.f32 (-.f32 %65 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %664)) (cos.f32 (-.f32 %65 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %693)) (cos.f32 (-.f32 %97 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %695)) (cos.f32 (-.f32 %97 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %697)) (cos.f32 (-.f32 %97 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %664)) (cos.f32 (-.f32 %97 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %693)) (cos.f32 (-.f32 %99 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %695)) (cos.f32 (-.f32 %99 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %697)) (cos.f32 (-.f32 %99 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %664)) (cos.f32 (-.f32 %99 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %693)) (cos.f32 (-.f32 %88 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %695)) (cos.f32 (-.f32 %88 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %697)) (cos.f32 (-.f32 %88 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %693)) (cos.f32 (-.f32 %64 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %695)) (cos.f32 (-.f32 %64 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %697)) (cos.f32 (-.f32 %64 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %693)) (cos.f32 (-.f32 %21 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %695)) (cos.f32 (-.f32 %21 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %697)) (cos.f32 (-.f32 %21 %697))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %680 %89)) (cos.f32 (+.f32 %680 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %680 %91)) (cos.f32 (+.f32 %680 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %680 %94)) (cos.f32 (+.f32 %680 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %682 %89)) (cos.f32 (+.f32 %682 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %682 %91)) (cos.f32 (+.f32 %682 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %682 %94)) (cos.f32 (+.f32 %682 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %657 %89)) (cos.f32 (+.f32 %657 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %657 %91)) (cos.f32 (+.f32 %657 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %657 %94)) (cos.f32 (+.f32 %657 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %668 %89)) (cos.f32 (+.f32 %668 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %668 %94)) (cos.f32 (+.f32 %668 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %680)) (cos.f32 (+.f32 %89 %680))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %682)) (cos.f32 (+.f32 %89 %682))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %657)) (cos.f32 (+.f32 %89 %657))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %668)) (cos.f32 (+.f32 %89 %668))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %680)) (cos.f32 (+.f32 %91 %680))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %682)) (cos.f32 (+.f32 %91 %682))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %657)) (cos.f32 (+.f32 %91 %657))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %680)) (cos.f32 (+.f32 %94 %680))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %682)) (cos.f32 (+.f32 %94 %682))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %657)) (cos.f32 (+.f32 %94 %657))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %668)) (cos.f32 (+.f32 %94 %668))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %65)) (sin.f32 (+.f32 %680 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %97)) (sin.f32 (+.f32 %680 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %99)) (sin.f32 (+.f32 %680 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %88)) (sin.f32 (+.f32 %680 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %64)) (sin.f32 (+.f32 %680 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %680 %21)) (sin.f32 (+.f32 %680 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %65)) (sin.f32 (+.f32 %682 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %97)) (sin.f32 (+.f32 %682 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %99)) (sin.f32 (+.f32 %682 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %88)) (sin.f32 (+.f32 %682 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %64)) (sin.f32 (+.f32 %682 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %682 %21)) (sin.f32 (+.f32 %682 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %65)) (sin.f32 (+.f32 %657 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %97)) (sin.f32 (+.f32 %657 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %99)) (sin.f32 (+.f32 %657 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %88)) (sin.f32 (+.f32 %657 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %64)) (sin.f32 (+.f32 %657 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %657 %21)) (sin.f32 (+.f32 %657 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %65)) (sin.f32 (+.f32 %668 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %97)) (sin.f32 (+.f32 %668 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %99)) (sin.f32 (+.f32 %668 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %693)) (sin.f32 (+.f32 %89 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %695)) (sin.f32 (+.f32 %89 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %697)) (sin.f32 (+.f32 %89 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %664)) (sin.f32 (+.f32 %89 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %693)) (sin.f32 (+.f32 %91 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %695)) (sin.f32 (+.f32 %91 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %697)) (sin.f32 (+.f32 %91 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %693)) (sin.f32 (+.f32 %94 %693))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %695)) (sin.f32 (+.f32 %94 %695))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %697)) (sin.f32 (+.f32 %94 %697))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %664)) (sin.f32 (+.f32 %94 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %64)) (cos.f32 (-.f32 %664 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %88)) (cos.f32 (-.f32 %664 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %664 %21)) (cos.f32 (-.f32 %664 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %664)) (cos.f32 (-.f32 %64 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %664)) (cos.f32 (-.f32 %88 %664))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %664)) (cos.f32 (-.f32 %21 %664))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %668 %91)) (cos.f32 (+.f32 %668 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %668)) (cos.f32 (+.f32 %91 %668))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %64)) (sin.f32 (+.f32 %668 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %88)) (sin.f32 (+.f32 %668 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %668 %21)) (sin.f32 (+.f32 %668 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %664)) (sin.f32 (+.f32 %91 %664))) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %700 #s(literal -1 binary32)))
(pow.f32 %700 #s(literal 1 binary32))
(*.f32 %1354 %1354)
(*.f32 %1356 %1356)
(*.f32 %1359 %1359)
(*.f32 %1353 %1353)
(*.f32 %1358 %1358)
%1363
(/.f32 #s(literal 1 binary32) (pow.f32 %1363 #s(literal -1 binary32)))
(pow.f32 %1353 #s(literal 2 binary32))
(pow.f32 %1358 #s(literal 2 binary32))
(pow.f32 %1363 #s(literal 1 binary32))
(pow.f32 %364 #s(literal 2 binary32))
(fabs.f32 %1363)
(neg.f32 %1371)
(/.f32 #s(literal 1 binary32) (pow.f32 %1373 #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) (*.f32 %1359 %364))
%1373
(fma.f32 %1356 %1353 #s(literal 1 binary32))
(fma.f32 %1359 %1358 #s(literal 1 binary32))
(fma.f32 %1353 %1356 #s(literal 1 binary32))
(fma.f32 %1358 %1359 #s(literal 1 binary32))
(fma.f32 %1358 %364 #s(literal 1 binary32))
(fma.f32 %364 %1358 #s(literal 1 binary32))
(pow.f32 %1373 #s(literal 1 binary32))
(+.f32 %1371 #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) %1371))
(+.f32 #s(literal 1/2 binary32) (-.f32 #s(literal 1/2 binary32) %1363))
(+.f32 #s(literal 1 binary32) %1371)
(neg.f32 (+.f32 #s(literal -1 binary32) %1363))
(neg.f32 (fma.f32 %364 %364 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %1395 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %1395 %1395))
%1395
(-.f32 %1400 (*.f32 %42 (sin.f32 %1401)))
(fma.f32 %42 %1406 %1400)
(pow.f32 %1395 #s(literal 1 binary32))
(pow.f32 %1373 #s(literal 1/2 binary32))
(+.f32 (*.f32 %42 %1406) %1400)
(sin.f32 (acos.f32 %1354))
(sin.f32 (acos.f32 %1356))
(sin.f32 (acos.f32 %1359))
(sin.f32 %1418)
(sin.f32 %1420)
(sin.f32 %1422)
(sin.f32 %1405)
(fabs.f32 (neg.f32 %1395))
(fabs.f32 %1395)
(cos.f32 (asin.f32 %1354))
(cos.f32 (asin.f32 %1356))
(cos.f32 (asin.f32 %1359))
(cos.f32 %1434)
(cos.f32 %1436)
(cos.f32 %1438)
(cos.f32 %1401)
%1441
(*.f32 %28 %1395)
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %65)) (cos.f32 (-.f32 %1436 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %97)) (cos.f32 (-.f32 %1436 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %99)) (cos.f32 (-.f32 %1436 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %88)) (cos.f32 (-.f32 %1436 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %64)) (cos.f32 (-.f32 %1436 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1436 %21)) (cos.f32 (-.f32 %1436 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %65)) (cos.f32 (-.f32 %1438 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %97)) (cos.f32 (-.f32 %1438 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %99)) (cos.f32 (-.f32 %1438 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %88)) (cos.f32 (-.f32 %1438 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %64)) (cos.f32 (-.f32 %1438 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1438 %21)) (cos.f32 (-.f32 %1438 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %65)) (cos.f32 (-.f32 %1434 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %97)) (cos.f32 (-.f32 %1434 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %99)) (cos.f32 (-.f32 %1434 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %88)) (cos.f32 (-.f32 %1434 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %64)) (cos.f32 (-.f32 %1434 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1434 %21)) (cos.f32 (-.f32 %1434 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %65)) (cos.f32 (-.f32 %1401 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %97)) (cos.f32 (-.f32 %1401 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %99)) (cos.f32 (-.f32 %1401 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %1436)) (cos.f32 (-.f32 %65 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %1438)) (cos.f32 (-.f32 %65 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %1434)) (cos.f32 (-.f32 %65 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %65 %1401)) (cos.f32 (-.f32 %65 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %1436)) (cos.f32 (-.f32 %97 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %1438)) (cos.f32 (-.f32 %97 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %1434)) (cos.f32 (-.f32 %97 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %97 %1401)) (cos.f32 (-.f32 %97 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %1436)) (cos.f32 (-.f32 %99 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %1438)) (cos.f32 (-.f32 %99 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %1434)) (cos.f32 (-.f32 %99 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %99 %1401)) (cos.f32 (-.f32 %99 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %1436)) (cos.f32 (-.f32 %88 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %1438)) (cos.f32 (-.f32 %88 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %1434)) (cos.f32 (-.f32 %88 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %1436)) (cos.f32 (-.f32 %64 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %1438)) (cos.f32 (-.f32 %64 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %1434)) (cos.f32 (-.f32 %64 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %1436)) (cos.f32 (-.f32 %21 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %1438)) (cos.f32 (-.f32 %21 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %1434)) (cos.f32 (-.f32 %21 %1434))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1418 %89)) (cos.f32 (+.f32 %1418 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1418 %91)) (cos.f32 (+.f32 %1418 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1418 %94)) (cos.f32 (+.f32 %1418 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1420 %89)) (cos.f32 (+.f32 %1420 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1420 %91)) (cos.f32 (+.f32 %1420 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1420 %94)) (cos.f32 (+.f32 %1420 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1422 %89)) (cos.f32 (+.f32 %1422 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1422 %91)) (cos.f32 (+.f32 %1422 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1422 %94)) (cos.f32 (+.f32 %1422 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1405 %89)) (cos.f32 (+.f32 %1405 %89))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1405 %94)) (cos.f32 (+.f32 %1405 %94))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %1418)) (cos.f32 (+.f32 %89 %1418))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %1420)) (cos.f32 (+.f32 %89 %1420))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %1422)) (cos.f32 (+.f32 %89 %1422))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %89 %1405)) (cos.f32 (+.f32 %89 %1405))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %1418)) (cos.f32 (+.f32 %91 %1418))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %1420)) (cos.f32 (+.f32 %91 %1420))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %1422)) (cos.f32 (+.f32 %91 %1422))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %1418)) (cos.f32 (+.f32 %94 %1418))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %1420)) (cos.f32 (+.f32 %94 %1420))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %1422)) (cos.f32 (+.f32 %94 %1422))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %94 %1405)) (cos.f32 (+.f32 %94 %1405))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %65)) (sin.f32 (+.f32 %1418 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %97)) (sin.f32 (+.f32 %1418 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %99)) (sin.f32 (+.f32 %1418 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %88)) (sin.f32 (+.f32 %1418 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %64)) (sin.f32 (+.f32 %1418 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1418 %21)) (sin.f32 (+.f32 %1418 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %65)) (sin.f32 (+.f32 %1420 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %97)) (sin.f32 (+.f32 %1420 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %99)) (sin.f32 (+.f32 %1420 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %88)) (sin.f32 (+.f32 %1420 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %64)) (sin.f32 (+.f32 %1420 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1420 %21)) (sin.f32 (+.f32 %1420 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %65)) (sin.f32 (+.f32 %1422 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %97)) (sin.f32 (+.f32 %1422 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %99)) (sin.f32 (+.f32 %1422 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %88)) (sin.f32 (+.f32 %1422 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %64)) (sin.f32 (+.f32 %1422 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1422 %21)) (sin.f32 (+.f32 %1422 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %65)) (sin.f32 (+.f32 %1405 %65))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %97)) (sin.f32 (+.f32 %1405 %97))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %99)) (sin.f32 (+.f32 %1405 %99))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %1436)) (sin.f32 (+.f32 %89 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %1438)) (sin.f32 (+.f32 %89 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %1434)) (sin.f32 (+.f32 %89 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %89 %1401)) (sin.f32 (+.f32 %89 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %1436)) (sin.f32 (+.f32 %91 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %1438)) (sin.f32 (+.f32 %91 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %1434)) (sin.f32 (+.f32 %91 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %1436)) (sin.f32 (+.f32 %94 %1436))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %1438)) (sin.f32 (+.f32 %94 %1438))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %1434)) (sin.f32 (+.f32 %94 %1434))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %94 %1401)) (sin.f32 (+.f32 %94 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %64)) (cos.f32 (-.f32 %1401 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %88)) (cos.f32 (-.f32 %1401 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %1401 %21)) (cos.f32 (-.f32 %1401 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %93 %16 %1401)) (cos.f32 (-.f32 %64 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %88 %1401)) (cos.f32 (-.f32 %88 %1401))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (fma.f32 %17 uy %1401)) (cos.f32 (-.f32 %21 %1401))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %1405 %91)) (cos.f32 (+.f32 %1405 %91))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %91 %1405)) (cos.f32 (+.f32 %91 %1405))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %64)) (sin.f32 (+.f32 %1405 %64))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %88)) (sin.f32 (+.f32 %1405 %88))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %1405 %21)) (sin.f32 (+.f32 %1405 %21))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %91 %1401)) (sin.f32 (+.f32 %91 %1401))) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %1441 #s(literal -1 binary32)))
(pow.f32 %1441 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %2100 #s(literal -1 binary32)))
%2100
(pow.f32 %2100 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %2104 #s(literal -1 binary32)))
%2104
(pow.f32 %2104 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %94 #s(literal -1 binary32)))
(-.f32 %32 %37)
(-.f32 %32 %47)
(-.f32 %32 %65)
(-.f32 %32 %21)
(-.f32 %64 %41)
(fma.f32 %93 %16 %2115)
%94
(fma.f32 %2117 %16 %2115)
(fma.f32 %2117 %16 %32)
(fma.f32 %46 %17 %2115)
(fma.f32 %46 %17 %32)
(fma.f32 %374 %5 %2115)
(fma.f32 %374 %5 %32)
(fma.f32 %19 #s(literal -2 binary32) %2115)
(fma.f32 %19 #s(literal -2 binary32) %32)
(fma.f32 %35 uy %2115)
(fma.f32 %35 uy %32)
(fma.f32 #s(literal -2 binary32) %19 %2115)
(fma.f32 #s(literal -2 binary32) %19 %32)
(fma.f32 #s(literal 1/2 binary32) %16 %64)
(fma.f32 %16 %2131 %2115)
(fma.f32 %16 %2131 %32)
(fma.f32 %16 %2117 %2115)
(fma.f32 %16 %2117 %32)
(fma.f32 %16 #s(literal 1/2 binary32) %64)
(fma.f32 %5 %374 %2115)
(fma.f32 %5 %374 %32)
(fma.f32 uy %35 %2115)
(fma.f32 uy %35 %32)
(pow.f32 %94 #s(literal 1 binary32))
(+.f32 %32 %64)
(+.f32 %64 %2115)
(+.f32 %64 %32)
(neg.f32 (-.f32 %41 %64))
%30
%45
%52
%57
%62
%68
%70
%75
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%90
%92
%95
%96
%98
%100
%101
%102
%28
(*.f32 (*.f32 %28 %636) %634)
(*.f32 %636 (*.f32 %634 %28))
%2151
(*.f32 %28 %639)
(/.f32 #s(literal 1 binary32) (pow.f32 %2151 #s(literal -1 binary32)))
(fma.f32 %72 %639 %2155)
(fma.f32 %639 %72 %2157)
(pow.f32 %2151 #s(literal 1 binary32))
(+.f32 (*.f32 %639 %72) %2157)
(+.f32 (*.f32 %72 %639) %2155)
(/.f32 #s(literal 1 binary32) (pow.f32 %2164 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %2164 %2164))
%2164
(pow.f32 %2164 #s(literal 1 binary32))
(pow.f32 %2100 #s(literal 1/2 binary32))
(fabs.f32 (neg.f32 %2164))
(fabs.f32 %2164)
(/.f32 #s(literal 1 binary32) (pow.f32 %2182 #s(literal -1 binary32)))
%2182
(pow.f32 %2182 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %2186 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %2186 %2186))
%2186
(pow.f32 %2186 #s(literal 1 binary32))
(pow.f32 %2104 #s(literal 1/2 binary32))
(fabs.f32 (neg.f32 %2186))
(fabs.f32 %2186)
(/.f32 #s(literal 1 binary32) (pow.f32 %2196 #s(literal -1 binary32)))
%2196
(pow.f32 %2196 #s(literal 1 binary32))

reconstruct22.0ms (0.4%)

Memory
-13.5MiB live, 25.7MiB allocated; 9ms collecting garbage

eval101.0ms (1.9%)

Memory
30.5MiB live, 121.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 38 838 to 5 812 computations (85.0% saved)

prune66.0ms (1.3%)

Memory
-19.7MiB live, 108.7MiB allocated; 10ms collecting garbage
Pruning

66 alts after pruning (66 fresh and 0 done)

PrunedKeptTotal
New1 210331 243
Fresh83341
Picked505
Done000
Total1 223661 289
Accuracy
100.0%
Counts
1 289 → 66
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
%11 = (PI.f32 )
%13 = (+.f32 (asin.f32 (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))) (*.f32 #s(literal 1/2 binary32) %11))
%16 = (*.f32 %11 (+.f32 uy uy))
(/.f32 (+.f32 (sin.f32 (-.f32 %13 %16)) (sin.f32 (+.f32 %13 %16))) #s(literal 2 binary32))
65.6%
%6 = (- (- ux (* maxCos ux)) 1)
(/.f32 #s(literal 1 binary32) (pow.f32 (approx (* (sin (acos %6)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %6 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux)))) #s(literal -1 binary32)))
80.4%
%6 = (- (- ux (* maxCos ux)) 1)
%20 = (-.f32 maxCos #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx (* (sin (acos %6)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %6 2)) (*.f32 (-.f32 #s(literal 2 binary32) (fma.f32 (*.f32 ux %20) %20 (+.f32 maxCos maxCos))) ux)))) #s(literal -1 binary32)))
98.9%
%2 = (*.f32 (PI.f32 ) uy)
%3 = (cos.f32 %2)
%5 = (sin.f32 %2)
%11 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 (*.f32 %3 %3) (*.f32 %5 %5)) (sqrt.f32 (*.f32 (-.f32 %11 #s(literal 0 binary32)) (neg.f32 (-.f32 %11 #s(literal 2 binary32))))))
98.5%
%0 = (PI.f32 )
(*.f32 (*.f32 (cos.f32 (*.f32 (+.f32 %0 %0) uy)) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))) (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))))
54.3%
%8 = (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %8 %8))) (cos.f32 (*.f32 (PI.f32 ) (+.f32 uy uy))))
99.0%
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
98.5%
%11 = (PI.f32 )
(*.f32 (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (cos.f32 (*.f32 (+.f32 %11 %11) uy))))
54.3%
%3 = (PI.f32 )
%16 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %3 (*.f32 #s(literal 1/2 binary32) %3))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %16 %16))))
98.3%
%1 = (PI.f32 )
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (-.f32 #s(literal 2 binary32) ux)))))
57.0%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
%22 = (*.f32 ux (-.f32 #s(literal 2 binary32) ux))
%24 = (pow.f32 ux #s(literal 2 binary32))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %22 maxCos) (fma.f32 #s(literal -1 binary32) %24 %22)) maxCos) (*.f32 #s(literal -1 binary32) %24))))))
93.9%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
77.7%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 #s(literal 2 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) maxCos))))))
54.3%
%1 = (PI.f32 )
%15 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %1 (*.f32 %1 (+.f32 uy uy)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %15 %15))))
98.9%
%10 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (+.f32 #s(literal 1/2 binary32) (+.f32 uy uy)))) (sqrt.f32 (*.f32 (-.f32 %10 #s(literal 0 binary32)) (neg.f32 (-.f32 %10 #s(literal 2 binary32))))))
99.1%
%1 = (PI )
%9 = (PI.f32 )
%20 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (approx (+ (* (* -2 %1) uy) (* 1/2 %1)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %9 (*.f32 #s(literal 1/2 binary32) (/.f32 %9 uy)))))) (sqrt.f32 (*.f32 (-.f32 %20 #s(literal 0 binary32)) (neg.f32 (-.f32 %20 #s(literal 2 binary32))))))
98.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))))
54.5%
%14 = (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (fma.f32 (neg.f32 %14) %14 #s(literal 1 binary32))))
54.7%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (fma.f32 (approx (- ux (+ (* maxCos ux) 1)) (-.f32 ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
99.1%
%12 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) %12) (*.f32 #s(literal 1 binary32) %12))))
6.6%
%8 = (* maxCos ux)
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %8 1)) (+ %8 (- 1 ux))) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
98.2%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (-.f32 #s(literal 2 binary32) ux)))))
99.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 ux (-.f32 (+.f32 maxCos (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux))) #s(literal 1 binary32)))))))
98.8%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 maxCos (-.f32 (+.f32 ux (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos))) (/.f32 ux maxCos)))))))
99.1%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
99.1%
%9 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 %9 (neg.f32 (-.f32 %9 #s(literal 2 binary32))))))
77.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (- 1 (* %11 %11)) (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))))
93.8%
%9 = (- ux (* maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (* (- %9 0) (neg (- %9 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
53.8%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sin.f32 (acos.f32 (neg.f32 (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))))))
90.6%
%9 = (- ux (* maxCos ux))
%18 = (-.f32 #s(literal 1 binary32) maxCos)
%21 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %18)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (approx (sqrt (* (- %9 0) (neg (- %9 2)))) (+.f32 %21 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %18 (-.f32 maxCos #s(literal 1 binary32)))) %21)))))
49.9%
%23 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (approx (cos (* (* uy 2) (PI ))) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 (PI.f32 ) #s(literal 2 binary32)))))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %23 %23))))
90.6%
%1 = (PI )
%12 = (- ux (* maxCos ux))
%25 = (PI.f32 )
%29 = (sin.f32 (fma.f32 #s(literal -2 binary32) (*.f32 uy %25) (*.f32 #s(literal 1/2 binary32) %25)))
%31 = (-.f32 #s(literal 1 binary32) maxCos)
%38 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %31)))
(approx (* (sin (+ (* (* -2 %1) uy) (* 1/2 %1))) (sqrt (* (- %12 0) (neg (- %12 2))))) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %29 (*.f32 %31 (-.f32 maxCos #s(literal 1 binary32))))) %38) (*.f32 %29 %38)))
48.4%
%16 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (sin (acos (- (- ux (* maxCos ux)) 1))) (cos (* (* (PI ) 2) uy))) (sqrt.f32 (fma.f32 (-.f32 ux %16) (-.f32 %16 ux) #s(literal 1 binary32))))
65.6%
%5 = (- (- ux (* maxCos ux)) 1)
(approx (* (sin (acos %5)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %5 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
48.4%
%11 = (+ (- 1 ux) (* ux maxCos))
%17 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 (-.f32 ux %17) (-.f32 %17 ux) #s(literal 1 binary32)) #s(literal -1 binary32)))))
46.9%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 (-.f32 #s(literal 1 binary32) ux))) (*.f32 (*.f32 %18 maxCos) ux))))
50.7%
%11 = (+ (- 1 ux) (* ux maxCos))
%17 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux (fma.f32 %17 %17 (*.f32 #s(literal -2 binary32) (*.f32 %17 ux)))))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) #s(literal 2 binary32)))))
46.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) #s(literal -1 binary32))) #s(literal 2 binary32)))))
48.1%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 ux (-.f32 (+.f32 maxCos (/.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
47.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 maxCos (-.f32 (+.f32 ux (/.f32 #s(literal 1 binary32) maxCos)) (/.f32 ux maxCos)))) #s(literal 2 binary32)))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) ux) maxCos)))))) #s(literal 2 binary32)))))
48.2%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32)))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %18 %18) #s(literal -1 binary32))))))
48.3%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 %18))))
40.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx (pow (- (+ 1 (* maxCos ux)) ux) 2) (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (*.f32 #s(literal 2 binary32) maxCos) #s(literal 2 binary32))))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 #s(literal 1 binary32) maxCos)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %24 %24) (*.f32 #s(literal -2 binary32) maxCos)))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (*.f32 ux %24) %24)))))))
65.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) #s(literal -1 binary32)))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
%23 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 #s(literal 2 binary32) (fma.f32 (*.f32 ux %23) %23 (+.f32 maxCos maxCos))) #s(literal -1 binary32)))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%23 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (-.f32 (-.f32 #s(literal 2 binary32) (*.f32 (*.f32 ux %23) %23)) maxCos) maxCos)))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
80.5%
%11 = (+ (- 1 ux) (* ux maxCos))
%22 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 ux %22) %22))) (*.f32 #s(literal 2 binary32) maxCos))))))
79.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (approx (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))) (*.f32 #s(literal 2 binary32) maxCos))))))
80.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) ux) #s(literal 2 binary32))))))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux))) (*.f32 #s(literal 2 binary32) (/.f32 maxCos ux)))))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos)) ux) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))))))))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- 2 (* 2 maxCos)) (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos)) #s(literal 2 binary32))))))))
3.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (pow.f32 ux #s(literal 2 binary32)))))))
77.1%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (approx (* ux (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos))) (*.f32 ux (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux)))))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (approx (* ux (- 2 (* 2 maxCos))) (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) (/.f32 ux maxCos))))))))
63.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (approx (* ux (- 2 (* 2 maxCos))) (*.f32 #s(literal 2 binary32) ux)))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sin.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))
47.9%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (cos.f32 (asin.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux))))
90.6%
%9 = (- ux (* maxCos ux))
%23 = (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32 ))))
%25 = (-.f32 #s(literal 1 binary32) maxCos)
%32 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %25)))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %23 (*.f32 %25 (-.f32 maxCos #s(literal 1 binary32))))) %32) (*.f32 %23 %32)))
92.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
%23 = (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux)))
%24 = (pow.f32 uy #s(literal 2 binary32))
%26 = (PI.f32 )
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (+.f32 %23 (*.f32 %24 (fma.f32 #s(literal -2 binary32) (*.f32 (pow.f32 %26 #s(literal 2 binary32)) %23) (*.f32 #s(literal 2/3 binary32) (*.f32 %24 (*.f32 (pow.f32 %26 #s(literal 4 binary32)) %23)))))))
80.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux))))
Compiler

Compiled 2 654 to 708 computations (73.3% saved)

sample1.0ms (0.0%)

Memory
2.7MiB live, 2.7MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
2
(PI )
1
0
-1
-1/2
1/2
-2
Outputs
#s(literal 2 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 1 binary32)
#s(literal 0 binary32)
#s(literal -1 binary32)
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
#s(literal -2 binary32)
Samples
0.0ms0valid
Compiler

Compiled 10 to 9 computations (10.0% saved)

series71.0ms (1.4%)

Memory
12.2MiB live, 76.4MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0193018508
Stop Event
iter-limit
Counts
48 → 308
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%16 = (fma.f32 maxCos ux %8)
%17 = (-.f32 ux %12)
%18 = (fma.f32 ux maxCos %8)
%19 = (-.f32 %17 #s(literal 0 binary32))
%20 = (-.f32 %17 #s(literal 2 binary32))
%21 = (neg.f32 %20)
%22 = (*.f32 %19 %21)
%23 = (-.f32 %16 #s(literal -1 binary32))
%24 = (sqrt.f32 %22)
%25 = (/.f32 %3 uy)
%26 = (pow.f32 %18 #s(literal 2 binary32))
%27 = (-.f32 #s(literal 1 binary32) %26)
%28 = (sqrt.f32 %27)
%31 = (PI )
%35 = (- 1 ux)
%37 = (+ %35 (* ux maxCos))
%41 = (* (cos (* (* uy 2) %31)) (sqrt (- 1 (* %37 %37))))
%43 = (*.f32 %17 %23)
%44 = (sqrt.f32 %43)
%46 = (* maxCos ux)
%53 = (approx (+ (* (- ux (+ %46 1)) (+ %46 %35)) 1/2) #s(literal -1/2 binary32))
%54 = (*.f32 #s(literal 1/2 binary32) %25)
%55 = (fma.f32 #s(literal -2 binary32) %3 %54)
%56 = (*.f32 uy %55)
%62 = (approx (+ (* (* -2 %31) uy) (* 1/2 %31)) %56)
%63 = (*.f32 #s(literal 2 binary32) ux)
%67 = (approx (* ux (- 2 (* 2 maxCos))) %63)
%68 = (+.f32 %53 #s(literal 1/2 binary32))
%69 = (sqrt.f32 %68)
%71 = (sin.f32 %62)
%77 = (approx (- 1 (pow (- (+ 1 %46) ux) 2)) %67)
%78 = (sqrt.f32 %77)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
#s(literal -2 binary32)
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
(approx %41 %28)
%43
%44
(*.f32 %5 %44)
%53
%54
%55
%56
%62
%63
%67
%68
%69
(*.f32 %5 %69)
%71
(*.f32 %71 %24)
%77
%78
(approx %41 %78)
Outputs
%6 = (- 1 ux)
%10 = (*.f32 #s(literal -1 binary32) ux)
%14 = (* maxCos ux)
%15 = (*.f32 maxCos ux)
%17 = (+ %14 %6)
%18 = (-.f32 maxCos #s(literal 1 binary32))
%19 = (*.f32 ux %18)
%22 = (- ux %14)
%23 = (-.f32 #s(literal 1 binary32) maxCos)
%24 = (*.f32 ux %23)
%27 = (- %22 2)
%33 = (neg %27)
%39 = (* (- %22 0) %33)
%40 = (*.f32 #s(literal 2 binary32) %24)
%42 = (*.f32 %23 %18)
%43 = (*.f32 ux %42)
%47 = (sqrt %39)
%48 = (sqrt.f32 %40)
%51 = (pow.f32 ux #s(literal 2 binary32))
%52 = (*.f32 %51 %42)
%58 = (pow.f32 %23 #s(literal 2 binary32))
%59 = (pow.f32 %18 #s(literal 2 binary32))
%60 = (*.f32 %58 %59)
%61 = (*.f32 %51 %60)
%63 = (pow.f32 %48 #s(literal 3 binary32))
%65 = (/.f32 %42 %48)
%73 = (pow.f32 %23 #s(literal 3 binary32))
%75 = (*.f32 %73 (pow.f32 %18 #s(literal 3 binary32)))
%76 = (*.f32 %51 %75)
%78 = (pow.f32 %48 #s(literal 5 binary32))
%87 = (* ux maxCos)
%89 = (pow (+ %87 %6) 2)
%90 = (*.f32 #s(literal 2 binary32) maxCos)
%95 = (*.f32 ux %59)
%101 = (- 1 %89)
%102 = (-.f32 #s(literal 2 binary32) %90)
%103 = (*.f32 ux %102)
%110 = (sqrt %101)
%111 = (sqrt.f32 %103)
%114 = (*.f32 %51 %59)
%119 = (/.f32 %59 %111)
%121 = (pow.f32 %18 #s(literal 4 binary32))
%123 = (pow.f32 %111 #s(literal 3 binary32))
%133 = (pow.f32 %18 #s(literal 6 binary32))
%135 = (pow.f32 %111 #s(literal 5 binary32))
%144 = (* uy 2)
%145 = (PI )
%146 = (* %144 %145)
%147 = (cos %146)
%148 = (+ %6 %87)
%152 = (* %147 (sqrt (- 1 (* %148 %148))))
%153 = (PI.f32 )
%154 = (*.f32 uy %153)
%155 = (*.f32 #s(literal 2 binary32) %154)
%156 = (cos.f32 %155)
%157 = (*.f32 %156 %111)
%159 = (*.f32 %156 %59)
%164 = (/.f32 %159 %111)
%165 = (*.f32 %156 %121)
%188 = (* %147 (sqrt (* %22 (- %17 -1))))
%189 = (*.f32 %156 %48)
%191 = (*.f32 %156 %42)
%192 = (*.f32 %51 %191)
%196 = (*.f32 %156 %60)
%197 = (*.f32 %51 %196)
%199 = (/.f32 %191 %48)
%207 = (*.f32 %51 (*.f32 %156 %75))
%220 = (+ (* (- ux (+ %14 1)) %17) 1/2)
%224 = (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %18)) maxCos)
%225 = (*.f32 ux %224)
%231 = (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %18 %43)) maxCos))
%235 = (*.f32 #s(literal 2 binary32) ux)
%237 = (+ %220 1/2)
%240 = (sqrt %237)
%241 = (sqrt.f32 %225)
%247 = (pow.f32 %241 #s(literal 3 binary32))
%249 = (/.f32 %42 %241)
%256 = (pow.f32 %241 #s(literal 5 binary32))
%265 = (* %147 %240)
%266 = (*.f32 %156 %241)
%272 = (/.f32 %191 %241)
%288 = (* -2 %145)
%292 = (sin (+ (* %288 uy) (* 1/2 %145)))
%293 = (* %292 %47)
%294 = (*.f32 #s(literal 1/2 binary32) %153)
%295 = (fma.f32 #s(literal -2 binary32) %154 %294)
%296 = (sin.f32 %295)
%297 = (*.f32 %296 %48)
%299 = (*.f32 %296 %42)
%304 = (*.f32 %296 %60)
%307 = (/.f32 %299 %48)
%325 = (/.f32 #s(literal 1 binary32) ux)
%334 = (*.f32 #s(literal 2 binary32) %325)
%335 = (+.f32 maxCos %334)
%347 = (sqrt.f32 %42)
%348 = (*.f32 ux %347)
%350 = (/.f32 #s(literal 1 binary32) %348)
%352 = (/.f32 maxCos %348)
%357 = (*.f32 %51 (pow.f32 %347 #s(literal 3 binary32)))
%358 = (/.f32 %58 %357)
%364 = (pow.f32 ux #s(literal 3 binary32))
%366 = (*.f32 %364 (pow.f32 %347 #s(literal 5 binary32)))
%375 = (/.f32 maxCos ux)
%376 = (fma.f32 #s(literal 2 binary32) %375 %59)
%392 = (sqrt.f32 (neg.f32 %59))
%393 = (*.f32 ux %392)
%396 = (*.f32 #s(literal 1/2 binary32) (/.f32 %102 %393))
%400 = (pow.f32 %102 #s(literal 2 binary32))
%402 = (*.f32 %51 (pow.f32 %392 #s(literal 3 binary32)))
%403 = (/.f32 %400 %402)
%408 = (pow.f32 %102 #s(literal 3 binary32))
%410 = (*.f32 %364 (pow.f32 %392 #s(literal 5 binary32)))
%417 = (*.f32 %156 %392)
%422 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %102) %393) %417)
%426 = (/.f32 (*.f32 %156 %400) %402)
%436 = (*.f32 %156 %347)
%441 = (fma.f32 %156 %347 (/.f32 (*.f32 %156 %23) %348))
%445 = (/.f32 (*.f32 %156 %58) %357)
%457 = (fma.f32 #s(literal -1 binary32) (/.f32 %18 ux) (fma.f32 %23 %18 %325))
%467 = (*.f32 #s(literal 1/2 binary32) (/.f32 %224 %348))
%471 = (pow.f32 %224 #s(literal 2 binary32))
%472 = (/.f32 %471 %357)
%477 = (pow.f32 %224 #s(literal 3 binary32))
%486 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %224) %348) %436)
%490 = (/.f32 (*.f32 %156 %471) %357)
%505 = (fma.f32 %296 %347 (/.f32 (*.f32 %296 %23) %348))
%509 = (/.f32 (*.f32 %296 %58) %357)
%524 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) maxCos))
%525 = (*.f32 ux %524)
%541 = (pow.f32 %524 #s(literal 2 binary32))
%542 = (*.f32 %51 %541)
%550 = (*.f32 #s(literal -1 binary32) %541)
%551 = (sqrt.f32 %550)
%552 = (*.f32 ux %551)
%562 = (/.f32 %524 %551)
%563 = (pow.f32 %551 #s(literal 3 binary32))
%564 = (*.f32 ux %563)
%575 = (pow.f32 %524 #s(literal 3 binary32))
%577 = (*.f32 ux (pow.f32 %551 #s(literal 5 binary32)))
%592 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) maxCos))
%607 = (sqrt.f32 (neg.f32 %541))
%608 = (*.f32 ux %607)
%617 = (/.f32 %592 %607)
%619 = (pow.f32 %592 #s(literal 2 binary32))
%620 = (pow.f32 %607 #s(literal 3 binary32))
%621 = (*.f32 ux %620)
%632 = (pow.f32 %592 #s(literal 3 binary32))
%634 = (*.f32 ux (pow.f32 %607 #s(literal 5 binary32)))
%647 = (*.f32 %156 %607)
%651 = (*.f32 %156 %592)
%657 = (/.f32 %651 %607)
%658 = (*.f32 %156 %619)
%668 = (*.f32 %156 %632)
%680 = (*.f32 %156 %551)
%684 = (*.f32 %156 %524)
%690 = (/.f32 %684 %551)
%691 = (*.f32 %156 %541)
%729 = (/.f32 %592 %551)
%757 = (/.f32 %651 %551)
%778 = (*.f32 %296 %551)
%782 = (*.f32 %296 %524)
%788 = (/.f32 %782 %551)
%789 = (*.f32 %296 %541)
%815 = (pow.f32 uy #s(literal 2 binary32))
%816 = (pow.f32 %153 #s(literal 2 binary32))
%822 = (pow.f32 %153 #s(literal 4 binary32))
%830 = (pow.f32 %153 #s(literal 6 binary32))
%839 = (/ %145 uy)
%840 = (/.f32 %153 uy)
%842 = (+.f32 #s(literal 1 binary32) %15)
%843 = (-.f32 %842 ux)
%846 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 %843 #s(literal 2 binary32))))
%848 = (*.f32 %816 %846)
%853 = (*.f32 %822 %846)
%871 = (-.f32 (+.f32 #s(literal 2 binary32) %15) ux)
%873 = (sqrt.f32 (*.f32 (-.f32 ux %15) %871))
%875 = (*.f32 %816 %873)
%880 = (*.f32 %822 %873)
%896 = (* 1/2 %839)
%897 = (*.f32 #s(literal 1/2 binary32) %840)
%899 = (+ %288 %896)
%902 = (* uy %899)
%908 = (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 (-.f32 ux %842) %843)))
%910 = (*.f32 %816 %908)
%915 = (*.f32 %822 %908)
%931 = (sin.f32 %294)
%933 = (cos.f32 %294)
%934 = (*.f32 %153 %933)
%939 = (*.f32 %816 %931)
%947 = (pow.f32 %153 #s(literal 3 binary32))
%957 = (*.f32 %931 %873)
%959 = (*.f32 %933 %873)
%960 = (*.f32 %153 %959)
%964 = (*.f32 %816 %957)
%985 = (fma.f32 #s(literal -2 binary32) %153 %897)
%1002 = (-.f32 #s(literal 1 binary32) ux)
%1005 = (*.f32 #s(literal -1 binary32) %15)
%1006 = (+.f32 ux %1005)
%1008 = (-.f32 ux #s(literal 2 binary32))
%1012 = (-.f32 #s(literal 2 binary32) ux)
%1015 = (*.f32 ux %1012)
%1017 = (fma.f32 #s(literal -1 binary32) %1015 %51)
%1020 = (*.f32 maxCos %51)
%1024 = (sqrt.f32 %1015)
%1031 = (*.f32 #s(literal -1 binary32) %51)
%1033 = (pow.f32 %1017 #s(literal 2 binary32))
%1037 = (-.f32 %1031 (*.f32 #s(literal 1/4 binary32) (/.f32 %1033 (pow.f32 %1024 #s(literal 2 binary32)))))
%1040 = (/.f32 %1017 %1024)
%1047 = (*.f32 %1017 %1037)
%1049 = (pow.f32 %1024 #s(literal 3 binary32))
%1059 = (pow.f32 %1002 #s(literal 2 binary32))
%1061 = (*.f32 ux %1002)
%1062 = (*.f32 maxCos %1061)
%1068 = (-.f32 #s(literal 1 binary32) %1059)
%1081 = (sqrt.f32 %1068)
%1087 = (/.f32 %1061 %1081)
%1088 = (*.f32 %51 %1059)
%1091 = (+.f32 (/.f32 %1088 (pow.f32 %1081 #s(literal 2 binary32))) %51)
%1099 = (*.f32 %1091 %1002)
%1102 = (pow.f32 %1081 #s(literal 3 binary32))
%1112 = (*.f32 %156 %1081)
%1115 = (*.f32 ux (*.f32 %156 %1002))
%1120 = (/.f32 %1115 %1081)
%1121 = (*.f32 %156 %1091)
%1139 = (*.f32 %156 %1024)
%1141 = (*.f32 %156 %1017)
%1146 = (*.f32 %156 %1037)
%1149 = (/.f32 %1141 %1024)
%1164 = (-.f32 ux #s(literal 1 binary32))
%1165 = (*.f32 %1002 %1164)
%1166 = (+.f32 #s(literal 1/2 binary32) %1165)
%1168 = (*.f32 ux %1164)
%1169 = (fma.f32 #s(literal -1 binary32) %1061 %1168)
%1170 = (fma.f32 maxCos %1169 %1165)
%1174 = (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1020 %1169) %1165)
%1179 = (* ux (- 2 (* 2 maxCos)))
%1182 = (+.f32 #s(literal 1 binary32) %1165)
%1188 = (sqrt.f32 %1182)
%1195 = (pow.f32 %1169 #s(literal 2 binary32))
%1199 = (-.f32 %1031 (*.f32 #s(literal 1/4 binary32) (/.f32 %1195 (pow.f32 %1188 #s(literal 2 binary32)))))
%1202 = (/.f32 %1169 %1188)
%1208 = (*.f32 %1169 %1199)
%1210 = (pow.f32 %1188 #s(literal 3 binary32))
%1220 = (*.f32 %156 %1188)
%1222 = (*.f32 %156 %1169)
%1227 = (*.f32 %156 %1199)
%1230 = (/.f32 %1222 %1188)
%1245 = (*.f32 %296 %1024)
%1247 = (*.f32 %296 %1017)
%1252 = (*.f32 %296 %1037)
%1255 = (/.f32 %1247 %1024)
%1270 = (/.f32 #s(literal 1 binary32) maxCos)
%1272 = (/.f32 ux maxCos)
%1281 = (+.f32 ux (*.f32 #s(literal 2 binary32) %1270))
%1288 = (pow.f32 maxCos #s(literal 2 binary32))
%1289 = (*.f32 %1288 %51)
%1292 = (/.f32 %1015 maxCos)
%1293 = (/.f32 %51 maxCos)
%1304 = (sqrt.f32 %1031)
%1305 = (*.f32 maxCos %1304)
%1307 = (/.f32 %1017 %1305)
%1312 = (pow.f32 %1304 #s(literal 2 binary32))
%1315 = (-.f32 %1015 (*.f32 #s(literal 1/4 binary32) (/.f32 %1033 %1312)))
%1316 = (*.f32 %1288 %1304)
%1319 = (fma.f32 #s(literal 1/2 binary32) %1307 (*.f32 #s(literal 1/2 binary32) (/.f32 %1315 %1316)))
%1323 = (*.f32 %1017 %1315)
%1324 = (pow.f32 maxCos #s(literal 3 binary32))
%1325 = (pow.f32 %1304 #s(literal 3 binary32))
%1326 = (*.f32 %1324 %1325)
%1333 = (/.f32 %1061 maxCos)
%1339 = (fma.f32 #s(literal 2 binary32) %1333 (+.f32 (/.f32 %1059 %1288) %51))
%1346 = (/.f32 #s(literal 1 binary32) %1288)
%1351 = (sqrt.f32 (neg.f32 %51))
%1352 = (*.f32 maxCos %1351)
%1354 = (/.f32 %1061 %1352)
%1357 = (*.f32 maxCos (+.f32 %1351 (*.f32 #s(literal -1 binary32) %1354)))
%1362 = (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 %1088 (pow.f32 %1351 #s(literal 2 binary32))) %1059))
%1363 = (*.f32 %1288 %1351)
%1365 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1362 %1363))
%1370 = (*.f32 %1002 %1362)
%1371 = (*.f32 ux %1370)
%1372 = (pow.f32 %1351 #s(literal 3 binary32))
%1373 = (*.f32 %1324 %1372)
%1380 = (*.f32 %156 %1351)
%1381 = (*.f32 maxCos %1380)
%1383 = (/.f32 %1115 %1352)
%1385 = (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1383 %1380))
%1387 = (*.f32 %156 %1362)
%1389 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1387 %1363) %1380)
%1394 = (*.f32 ux (*.f32 %156 %1370))
%1400 = (*.f32 %156 %1304)
%1401 = (*.f32 maxCos %1400)
%1403 = (/.f32 %1141 %1305)
%1410 = (fma.f32 #s(literal 1/2 binary32) %1403 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %1315) %1316) %1400))
%1418 = (/.f32 %1168 maxCos)
%1425 = (+.f32 %1418 (/.f32 %1165 %1288))
%1442 = (/.f32 %1169 %1305)
%1449 = (-.f32 %1182 (*.f32 #s(literal 1/4 binary32) (/.f32 %1195 %1312)))
%1452 = (fma.f32 #s(literal 1/2 binary32) %1442 (*.f32 #s(literal 1/2 binary32) (/.f32 %1449 %1316)))
%1456 = (*.f32 %1169 %1449)
%1462 = (/.f32 %1222 %1305)
%1469 = (fma.f32 #s(literal 1/2 binary32) %1462 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %1449) %1316) %1400))
%1477 = (*.f32 %296 %1304)
%1478 = (*.f32 maxCos %1477)
%1480 = (/.f32 %1247 %1305)
%1487 = (fma.f32 #s(literal 1/2 binary32) %1480 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %296 %1315) %1316) %1477))
%1518 = (fma.f32 #s(literal -1 binary32) %51 %1015)
%1539 = (-.f32 %1015 (*.f32 #s(literal 1/4 binary32) (/.f32 (pow.f32 %1518 #s(literal 2 binary32)) %1312)))
%1542 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1518 %1304))
%1550 = (*.f32 %1518 %1539)
%1551 = (*.f32 maxCos %1325)
%1585 = (/.f32 %1061 %1351)
%1593 = (*.f32 maxCos %1372)
%1611 = (/.f32 %1115 %1351)
%1631 = (*.f32 %156 %1518)
%1637 = (*.f32 %156 %1539)
%1640 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1631 %1304))
%1659 = (fma.f32 #s(literal -1 binary32) %1168 %1061)
%1691 = (-.f32 %1182 (*.f32 #s(literal 1/4 binary32) (/.f32 (pow.f32 %1659 #s(literal 2 binary32)) %1312)))
%1694 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1659 %1304))
%1702 = (*.f32 %1659 %1691)
%1715 = (*.f32 %156 %1659)
%1721 = (*.f32 %156 %1691)
%1724 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1715 %1304))
%1745 = (*.f32 %296 %1518)
%1751 = (*.f32 %296 %1539)
%1754 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1745 %1304))
(approx uy #s(literal 0 binary32))
(approx ux ux)
(approx %6 #s(literal 1 binary32))
(approx %6 (+.f32 #s(literal 1 binary32) %10))
(approx %14 %15)
(approx %17 (+.f32 #s(literal 1 binary32) %19))
(approx %22 %24)
(approx %27 #s(literal -2 binary32))
(approx %27 (-.f32 %24 #s(literal 2 binary32)))
(approx %33 #s(literal 2 binary32))
(approx %33 (+.f32 #s(literal 2 binary32) %19))
(approx %39 %40)
(approx %39 (*.f32 ux (fma.f32 #s(literal 2 binary32) %23 %43)))
(approx %47 %48)
(approx %47 (+.f32 %48 (*.f32 #s(literal 1/2 binary32) (/.f32 %52 %48))))
(approx %47 (+.f32 %48 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %61 %63) (*.f32 #s(literal 1/2 binary32) %65)))))
(approx %47 (+.f32 %48 (*.f32 %51 (fma.f32 #s(literal 1/2 binary32) %65 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %60 %63) (*.f32 #s(literal 1/16 binary32) (/.f32 %76 %78))))))))
(approx %89 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %90 #s(literal 2 binary32)))))
(approx %89 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (fma.f32 #s(literal 2 binary32) maxCos %95) #s(literal 2 binary32)))))
(approx %101 %103)
(approx %101 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) %95)) %90)))
(approx %110 %111)
(approx %110 (+.f32 %111 (*.f32 #s(literal -1/2 binary32) (/.f32 %114 %111))))
(approx %110 (+.f32 %111 (*.f32 %51 (fma.f32 #s(literal -1/2 binary32) %119 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %51 %121) %123))))))
(approx %110 (+.f32 %111 (*.f32 %51 (fma.f32 #s(literal -1/2 binary32) %119 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %121 %123) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %51 %133) %135))))))))
(approx %152 %157)
(approx %152 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %51 %159) %111) %157))
(approx %152 (fma.f32 %156 %111 (*.f32 %51 (fma.f32 #s(literal -1/2 binary32) %164 (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %51 %165) %123))))))
(approx %152 (fma.f32 %156 %111 (*.f32 %51 (fma.f32 #s(literal -1/2 binary32) %164 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %165 %123) (*.f32 #s(literal -1/16 binary32) (/.f32 (*.f32 %51 (*.f32 %156 %133)) %135))))))))
(approx %188 %189)
(approx %188 (fma.f32 #s(literal 1/2 binary32) (/.f32 %192 %48) %189))
(approx %188 (fma.f32 %156 %48 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %197 %63) (*.f32 #s(literal 1/2 binary32) %199)))))
(approx %188 (fma.f32 %156 %48 (*.f32 %51 (fma.f32 #s(literal 1/2 binary32) %199 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %196 %63) (*.f32 #s(literal 1/16 binary32) (/.f32 %207 %78))))))))
(approx %220 #s(literal -1/2 binary32))
(approx %220 (-.f32 %225 #s(literal 1/2 binary32)))
(approx %220 (-.f32 %231 #s(literal 1/2 binary32)))
(approx (* 2 ux) %235)
(approx %237 %225)
(approx %237 %231)
(approx %240 %241)
(approx %240 (+.f32 %241 (*.f32 #s(literal 1/2 binary32) (/.f32 %52 %241))))
(approx %240 (+.f32 %241 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %61 %247) (*.f32 #s(literal 1/2 binary32) %249)))))
(approx %240 (+.f32 %241 (*.f32 %51 (fma.f32 #s(literal 1/2 binary32) %249 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %60 %247) (*.f32 #s(literal 1/16 binary32) (/.f32 %76 %256))))))))
(approx %265 %266)
(approx %265 (fma.f32 #s(literal 1/2 binary32) (/.f32 %192 %241) %266))
(approx %265 (fma.f32 %156 %241 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %197 %247) (*.f32 #s(literal 1/2 binary32) %272)))))
(approx %265 (fma.f32 %156 %241 (*.f32 %51 (fma.f32 #s(literal 1/2 binary32) %272 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %196 %247) (*.f32 #s(literal 1/16 binary32) (/.f32 %207 %256))))))))
(approx %293 %297)
(approx %293 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %51 %299) %48) %297))
(approx %293 (fma.f32 %296 %48 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %51 %304) %63) (*.f32 #s(literal 1/2 binary32) %307)))))
(approx %293 (fma.f32 %296 %48 (*.f32 %51 (fma.f32 #s(literal 1/2 binary32) %307 (*.f32 %51 (fma.f32 #s(literal -1/8 binary32) (/.f32 %304 %63) (*.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %51 (*.f32 %296 %75)) %78))))))))
(approx %6 %10)
(approx %6 (*.f32 ux (-.f32 %325 #s(literal 1 binary32))))
(approx %17 %19)
(approx %17 (*.f32 ux (-.f32 (+.f32 maxCos %325) #s(literal 1 binary32))))
(approx %27 (*.f32 ux (-.f32 #s(literal 1 binary32) %335)))
(approx %33 (*.f32 ux (-.f32 %335 #s(literal 1 binary32))))
(approx %39 %52)
(approx %39 (*.f32 %51 (fma.f32 #s(literal 2 binary32) (/.f32 %23 ux) %42)))
(approx %47 %348)
(approx %47 (*.f32 ux (-.f32 (+.f32 %347 %350) %352)))
(approx %47 (*.f32 ux (-.f32 (+.f32 %347 (fma.f32 #s(literal -1/2 binary32) %358 %350)) %352)))
(approx %47 (*.f32 ux (-.f32 (+.f32 %347 (fma.f32 #s(literal -1/2 binary32) %358 (fma.f32 #s(literal 1/2 binary32) (/.f32 %73 %366) %350))) %352)))
(approx %89 %114)
(approx %89 (*.f32 %51 (-.f32 %376 %334)))
(approx %89 (*.f32 %51 (-.f32 (fma.f32 #s(literal 2 binary32) %375 (+.f32 (/.f32 #s(literal 1 binary32) %51) %59)) %334)))
(approx %101 (*.f32 #s(literal -1 binary32) %114))
(approx %101 (*.f32 %51 (-.f32 %334 %376)))
(approx %110 %393)
(approx %110 (*.f32 ux (+.f32 %392 %396)))
(approx %110 (*.f32 ux (+.f32 %392 (fma.f32 #s(literal -1/8 binary32) %403 %396))))
(approx %110 (*.f32 ux (+.f32 %392 (fma.f32 #s(literal -1/8 binary32) %403 (fma.f32 #s(literal 1/16 binary32) (/.f32 %408 %410) %396)))))
(approx %152 (*.f32 ux %417))
(approx %152 (*.f32 ux %422))
(approx %152 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %426 %422)))
(approx %152 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %426 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %156 %408) %410) %422))))
(approx %188 (*.f32 ux %436))
(approx %188 (*.f32 ux %441))
(approx %188 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %445 %441)))
(approx %188 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %445 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %73) %366) %441))))
(approx %220 (*.f32 %51 (-.f32 %457 %375)))
(approx %220 (*.f32 %51 (-.f32 %457 (+.f32 (/.f32 #s(literal 1/2 binary32) %51) %375))))
(approx %240 (*.f32 ux (+.f32 %347 %467)))
(approx %240 (*.f32 ux (+.f32 %347 (fma.f32 #s(literal -1/8 binary32) %472 %467))))
(approx %240 (*.f32 ux (+.f32 %347 (fma.f32 #s(literal -1/8 binary32) %472 (fma.f32 #s(literal 1/16 binary32) (/.f32 %477 %366) %467)))))
(approx %265 (*.f32 ux %486))
(approx %265 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %490 %486)))
(approx %265 (*.f32 ux (fma.f32 #s(literal -1/8 binary32) %490 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %156 %477) %366) %486))))
(approx %293 (*.f32 ux (*.f32 %296 %347)))
(approx %293 (*.f32 ux %505))
(approx %293 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %509 %505)))
(approx %293 (*.f32 ux (fma.f32 #s(literal -1/2 binary32) %509 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %296 %73) %366) %505))))
(approx %6 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) %325))))
(approx %17 (*.f32 #s(literal -1 binary32) %525))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %524 %325))))
(approx %22 %525)
(approx %27 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %334 %524))))
(approx %33 (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 %524 %334))))
(approx %39 (*.f32 #s(literal -1 binary32) %542))
(approx %39 (*.f32 %51 (fma.f32 #s(literal -1 binary32) %541 (*.f32 #s(literal 2 binary32) (/.f32 %524 ux)))))
(approx %47 (*.f32 #s(literal -1 binary32) %552))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (fma.f32 #s(literal -1 binary32) (/.f32 maxCos %552) (/.f32 #s(literal 1 binary32) %552))))))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %562 (*.f32 #s(literal 1/2 binary32) (/.f32 %541 %564))) ux))))))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %562 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %541 %563) (*.f32 #s(literal 1/2 binary32) (/.f32 %575 %577))) ux))) ux))))))
(approx %89 %542)
(approx %89 (*.f32 %51 (fma.f32 #s(literal -1 binary32) (/.f32 %592 ux) %541)))
(approx %89 (*.f32 %51 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 %592 %325) ux) %541)))
(approx %101 (*.f32 %51 (-.f32 (fma.f32 #s(literal -2 binary32) %375 %334) %541)))
(approx %110 (*.f32 #s(literal -1 binary32) %608))
(approx %110 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %607 (*.f32 #s(literal 1/2 binary32) (/.f32 %592 %608))))))
(approx %110 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %607 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %617 (*.f32 #s(literal 1/8 binary32) (/.f32 %619 %621))) ux))))))
(approx %110 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %607 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %619 %620) (*.f32 #s(literal 1/16 binary32) (/.f32 %632 %634))) ux) (*.f32 #s(literal -1/2 binary32) %617)) ux))))))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 ux %647)))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %651 %608) %647))))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %657 (*.f32 #s(literal 1/8 binary32) (/.f32 %658 %621))) ux) %647))))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %658 %620) (*.f32 #s(literal 1/16 binary32) (/.f32 %668 %634))) ux) (*.f32 #s(literal -1/2 binary32) %657)) ux) %647))))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 ux %680)))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 %156 %551 (/.f32 %684 %552)))))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %690 (*.f32 #s(literal 1/2 binary32) (/.f32 %691 %564))) ux) %680))))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %690 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %691 %563) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %156 %575) %577))) ux))) ux) %680))))
(approx %220 (*.f32 %51 (fma.f32 #s(literal -2 binary32) %375 (fma.f32 #s(literal -1 binary32) %541 %334))))
(approx %220 (*.f32 %51 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %592 (*.f32 #s(literal 1/2 binary32) %325)) ux) %550)))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (*.f32 #s(literal 1/2 binary32) (/.f32 %592 %552))))))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %729 (*.f32 #s(literal 1/8 binary32) (/.f32 %619 %564))) ux))))))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 %551 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %619 %563) (*.f32 #s(literal 1/16 binary32) (/.f32 %632 %577))) ux) (*.f32 #s(literal -1/2 binary32) %729)) ux))))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal 1/2 binary32) (/.f32 %651 %552) %680))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %757 (*.f32 #s(literal 1/8 binary32) (/.f32 %658 %564))) ux) %680))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/8 binary32) (/.f32 %658 %563) (*.f32 #s(literal 1/16 binary32) (/.f32 %668 %577))) ux) (*.f32 #s(literal -1/2 binary32) %757)) ux) %680))))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 ux %778)))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 %296 %551 (/.f32 %782 %552)))))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %788 (*.f32 #s(literal 1/2 binary32) (/.f32 %789 %564))) ux) %778))))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %788 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %789 %563) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %296 %575) %577))) ux))) ux) %778))))
(approx uy uy)
(approx %144 (*.f32 #s(literal 2 binary32) uy))
(approx %146 %155)
(approx %147 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 %815 %816))))
(approx %147 (+.f32 #s(literal 1 binary32) (*.f32 %815 (fma.f32 #s(literal -2 binary32) %816 (*.f32 #s(literal 2/3 binary32) (*.f32 %815 %822))))))
(approx %147 (+.f32 #s(literal 1 binary32) (*.f32 %815 (fma.f32 #s(literal -2 binary32) %816 (*.f32 %815 (fma.f32 #s(literal -4/45 binary32) (*.f32 %815 %830) (*.f32 #s(literal 2/3 binary32) %822)))))))
(approx %839 %840)
(approx %152 %846)
(approx %152 (+.f32 %846 (*.f32 #s(literal -2 binary32) (*.f32 %815 %848))))
(approx %152 (+.f32 %846 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %848 (*.f32 #s(literal 2/3 binary32) (*.f32 %815 %853))))))
(approx %152 (+.f32 %846 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %848 (*.f32 %815 (fma.f32 #s(literal -4/45 binary32) (*.f32 %815 (*.f32 %830 %846)) (*.f32 #s(literal 2/3 binary32) %853)))))))
(approx %188 %873)
(approx %188 (+.f32 %873 (*.f32 #s(literal -2 binary32) (*.f32 %815 %875))))
(approx %188 (+.f32 %873 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %875 (*.f32 #s(literal 2/3 binary32) (*.f32 %815 %880))))))
(approx %188 (+.f32 %873 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %875 (*.f32 %815 (fma.f32 #s(literal -4/45 binary32) (*.f32 %815 (*.f32 %830 %873)) (*.f32 #s(literal 2/3 binary32) %880)))))))
(approx %896 %897)
(approx %899 (/.f32 %295 uy))
(approx %902 %294)
(approx %902 %295)
(approx %265 %908)
(approx %265 (+.f32 %908 (*.f32 #s(literal -2 binary32) (*.f32 %815 %910))))
(approx %265 (+.f32 %908 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %910 (*.f32 #s(literal 2/3 binary32) (*.f32 %815 %915))))))
(approx %265 (+.f32 %908 (*.f32 %815 (fma.f32 #s(literal -2 binary32) %910 (*.f32 %815 (fma.f32 #s(literal -4/45 binary32) (*.f32 %815 (*.f32 %830 %908)) (*.f32 #s(literal 2/3 binary32) %915)))))))
(approx %292 %931)
(approx %292 (+.f32 %931 (*.f32 #s(literal -2 binary32) (*.f32 uy %934))))
(approx %292 (+.f32 %931 (*.f32 uy (fma.f32 #s(literal -2 binary32) (*.f32 uy %939) (*.f32 #s(literal -2 binary32) %934)))))
(approx %292 (+.f32 %931 (*.f32 uy (fma.f32 #s(literal -2 binary32) %934 (*.f32 uy (fma.f32 #s(literal -2 binary32) %939 (*.f32 #s(literal 4/3 binary32) (*.f32 uy (*.f32 %947 %933)))))))))
(approx %293 %957)
(approx %293 (fma.f32 #s(literal -2 binary32) (*.f32 uy %960) %957))
(approx %293 (fma.f32 uy (fma.f32 #s(literal -2 binary32) (*.f32 uy %964) (*.f32 #s(literal -2 binary32) %960)) %957))
(approx %293 (fma.f32 uy (fma.f32 #s(literal -2 binary32) %960 (*.f32 uy (fma.f32 #s(literal -2 binary32) %964 (*.f32 #s(literal 4/3 binary32) (*.f32 uy (*.f32 %947 %959)))))) %957))
(approx %147 %156)
(approx %152 (*.f32 %156 %846))
(approx %188 (*.f32 %156 %873))
(approx %899 (*.f32 #s(literal -2 binary32) %153))
(approx %899 %985)
(approx %902 (*.f32 #s(literal -2 binary32) %154))
(approx %902 (*.f32 uy %985))
(approx %265 (*.f32 %156 %908))
(approx %292 %296)
(approx %293 (*.f32 %296 %873))
(approx %902 (*.f32 #s(literal -1 binary32) (*.f32 uy (fma.f32 #s(literal -1/2 binary32) %840 (*.f32 #s(literal 2 binary32) %153)))))
(approx maxCos maxCos)
(approx %17 %1002)
(approx %17 %843)
(approx %22 %1006)
(approx %27 %1008)
(approx %27 (-.f32 %1006 #s(literal 2 binary32)))
(approx %33 %1012)
(approx %33 %871)
(approx %39 %1015)
(approx %39 (fma.f32 maxCos %1017 %1015))
(approx %39 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1020 %1017) %1015))
(approx %47 %1024)
(approx %47 (+.f32 %1024 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1017) %1024))))
(approx %47 (+.f32 %1024 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1037) %1024) (*.f32 #s(literal 1/2 binary32) %1040)))))
(approx %47 (+.f32 %1024 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1040 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos %1047) %1049) (*.f32 #s(literal 1/2 binary32) (/.f32 %1037 %1024))))))))
(approx %89 %1059)
(approx %89 (fma.f32 #s(literal 2 binary32) %1062 %1059))
(approx %89 (fma.f32 maxCos (fma.f32 #s(literal 2 binary32) %1061 %1020) %1059))
(approx %101 %1068)
(approx %101 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) %1062)) %1059))
(approx %101 (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %1020) (*.f32 #s(literal 2 binary32) %1061)))) %1059))
(approx %110 %1081)
(approx %110 (+.f32 %1081 (*.f32 #s(literal -1 binary32) (/.f32 %1062 %1081))))
(approx %110 (+.f32 %1081 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1087 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %1091) %1081))))))
(approx %110 (+.f32 %1081 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1087 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux %1099)) %1102) (*.f32 #s(literal -1/2 binary32) (/.f32 %1091 %1081))))))))
(approx %152 %1112)
(approx %152 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 maxCos %1115) %1081) %1112))
(approx %152 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1120 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos %1121) %1081))) %1112))
(approx %152 (fma.f32 maxCos (fma.f32 #s(literal -1 binary32) %1120 (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 maxCos (*.f32 ux (*.f32 %156 %1099))) %1102) (*.f32 #s(literal -1/2 binary32) (/.f32 %1121 %1081))))) %1112))
(approx %188 %1139)
(approx %188 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1141) %1024) %1139))
(approx %188 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1146) %1024) (*.f32 #s(literal 1/2 binary32) %1149)) %1139))
(approx %188 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1149 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %156 %1047)) %1049) (*.f32 #s(literal 1/2 binary32) (/.f32 %1146 %1024))))) %1139))
(approx %220 %1166)
(approx %220 (+.f32 #s(literal 1/2 binary32) %1170))
(approx %220 (+.f32 #s(literal 1/2 binary32) %1174))
(approx %1179 (fma.f32 #s(literal -2 binary32) %15 %235))
(approx %237 %1182)
(approx %237 (+.f32 #s(literal 1 binary32) %1170))
(approx %237 (+.f32 #s(literal 1 binary32) %1174))
(approx %240 %1188)
(approx %240 (+.f32 %1188 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1169) %1188))))
(approx %240 (+.f32 %1188 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1199) %1188) (*.f32 #s(literal 1/2 binary32) %1202)))))
(approx %240 (+.f32 %1188 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1202 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos %1208) %1210) (*.f32 #s(literal 1/2 binary32) (/.f32 %1199 %1188))))))))
(approx %265 %1220)
(approx %265 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1222) %1188) %1220))
(approx %265 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1227) %1188) (*.f32 #s(literal 1/2 binary32) %1230)) %1220))
(approx %265 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1230 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %156 %1208)) %1210) (*.f32 #s(literal 1/2 binary32) (/.f32 %1227 %1188))))) %1220))
(approx %293 %1245)
(approx %293 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1247) %1024) %1245))
(approx %293 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 maxCos %1252) %1024) (*.f32 #s(literal 1/2 binary32) %1255)) %1245))
(approx %293 (fma.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1255 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 maxCos (*.f32 %296 %1047)) %1049) (*.f32 #s(literal 1/2 binary32) (/.f32 %1252 %1024))))) %1245))
(approx %17 (*.f32 maxCos (-.f32 (+.f32 ux %1270) %1272)))
(approx %22 %1005)
(approx %22 (*.f32 maxCos (-.f32 %1272 ux)))
(approx %27 (*.f32 maxCos (-.f32 %1272 %1281)))
(approx %33 (*.f32 maxCos (-.f32 %1281 %1272)))
(approx %39 (*.f32 #s(literal -1 binary32) %1289))
(approx %39 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) %1292 (fma.f32 #s(literal -1 binary32) %51 %1293))))
(approx %39 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) %1292 (fma.f32 #s(literal -1 binary32) %51 (+.f32 (/.f32 %1015 %1288) %1293)))))
(approx %47 %1305)
(approx %47 (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal 1/2 binary32) %1307))))
(approx %47 (*.f32 maxCos (+.f32 %1304 %1319)))
(approx %47 (*.f32 maxCos (+.f32 %1304 (fma.f32 #s(literal -1/4 binary32) (/.f32 %1323 %1326) %1319))))
(approx %89 %1289)
(approx %89 (*.f32 %1288 (fma.f32 #s(literal 2 binary32) %1333 %51)))
(approx %89 (*.f32 %1288 %1339))
(approx %101 (*.f32 %1288 (-.f32 (*.f32 #s(literal -2 binary32) %1333) %51)))
(approx %101 (*.f32 %1288 (-.f32 %1346 %1339)))
(approx %110 %1352)
(approx %110 %1357)
(approx %110 (*.f32 maxCos (+.f32 %1351 (fma.f32 #s(literal -1 binary32) %1354 %1365))))
(approx %110 (*.f32 maxCos (+.f32 %1351 (fma.f32 #s(literal -1 binary32) %1354 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1371 %1373) %1365)))))
(approx %152 %1381)
(approx %152 %1385)
(approx %152 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1383 %1389)))
(approx %152 (*.f32 maxCos (fma.f32 #s(literal -1 binary32) %1383 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1394 %1373) %1389))))
(approx %188 %1401)
(approx %188 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1403 %1400)))
(approx %188 (*.f32 maxCos %1410))
(approx %188 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %156 %1323) %1326) %1410)))
(approx %220 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %51 %1418))))
(approx %220 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %51 (+.f32 (/.f32 #s(literal 1/2 binary32) %1288) %1425)))))
(approx %1179 (*.f32 #s(literal -2 binary32) %15))
(approx %1179 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %1272))))
(approx %237 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) %1333 (fma.f32 #s(literal -1 binary32) %51 (+.f32 %1346 %1425)))))
(approx %240 (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal 1/2 binary32) %1442))))
(approx %240 (*.f32 maxCos (+.f32 %1304 %1452)))
(approx %240 (*.f32 maxCos (+.f32 %1304 (fma.f32 #s(literal -1/4 binary32) (/.f32 %1456 %1326) %1452))))
(approx %265 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1462 %1400)))
(approx %265 (*.f32 maxCos %1469))
(approx %265 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %156 %1456) %1326) %1469)))
(approx %293 %1478)
(approx %293 (*.f32 maxCos (fma.f32 #s(literal 1/2 binary32) %1480 %1477)))
(approx %293 (*.f32 maxCos %1487))
(approx %293 (*.f32 maxCos (fma.f32 #s(literal -1/4 binary32) (/.f32 (*.f32 %296 %1323) %1326) %1487)))
(approx %17 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %1002 maxCos))))))
(approx %22 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) %1272) %10))))
(approx %27 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1008 maxCos)) %10))))
(approx %33 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %1012 maxCos))))))
(approx %39 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 %1518 maxCos) %1031)))
(approx %39 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1292 %1518) maxCos) %1031)))
(approx %47 (*.f32 #s(literal -1 binary32) %1305))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1/2 binary32) (/.f32 %1518 %1305))))))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1539 %1305) %1542) maxCos))))))
(approx %47 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 %1550 %1551) (*.f32 #s(literal 1/2 binary32) (/.f32 %1539 %1304))) maxCos) %1542) maxCos))))))
(approx %89 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) %1061 (*.f32 #s(literal -1 binary32) (/.f32 %1059 maxCos))) maxCos) %51)))
(approx %101 (*.f32 %1288 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1068 maxCos)) (*.f32 #s(literal -2 binary32) %1061)) maxCos)) %51)))
(approx %110 (*.f32 #s(literal -1 binary32) %1352))
(approx %110 (*.f32 #s(literal -1 binary32) %1357))
(approx %110 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1351 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1362 %1352) %1585) maxCos))))))
(approx %110 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1351 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1371 %1593) (*.f32 #s(literal 1/2 binary32) (/.f32 %1362 %1351))) maxCos) %1585) maxCos))))))
(approx %152 (*.f32 #s(literal -1 binary32) %1381))
(approx %152 (*.f32 #s(literal -1 binary32) %1385))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1387 %1352) %1611) maxCos) %1380))))
(approx %152 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1394 %1593) (*.f32 #s(literal 1/2 binary32) (/.f32 %1387 %1351))) maxCos) %1611) maxCos) %1380))))
(approx %188 (*.f32 #s(literal -1 binary32) %1401))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1631 %1305) %1400))))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1637 %1305) %1640) maxCos) %1400))))
(approx %188 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %156 %1550) %1551) (*.f32 #s(literal 1/2 binary32) (/.f32 %1637 %1304))) maxCos) %1640) maxCos) %1400))))
(approx %220 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 %1659 maxCos) %1031)))
(approx %220 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1168 (fma.f32 #s(literal -1 binary32) (/.f32 %1166 maxCos) %1061)) maxCos) %1031)))
(approx %1179 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -2 binary32) %1272 %235))))
(approx %237 (*.f32 %1288 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1168 (fma.f32 #s(literal -1 binary32) (/.f32 %1182 maxCos) %1061)) maxCos) %1031)))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1/2 binary32) (/.f32 %1659 %1305))))))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1691 %1305) %1694) maxCos))))))
(approx %240 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (+.f32 %1304 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 %1702 %1551) (*.f32 #s(literal 1/2 binary32) (/.f32 %1691 %1304))) maxCos) %1694) maxCos))))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1715 %1305) %1400))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1721 %1305) %1724) maxCos) %1400))))
(approx %265 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %156 %1702) %1551) (*.f32 #s(literal 1/2 binary32) (/.f32 %1721 %1304))) maxCos) %1724) maxCos) %1400))))
(approx %293 (*.f32 #s(literal -1 binary32) %1478))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1/2 binary32) (/.f32 %1745 %1305) %1477))))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1751 %1305) %1754) maxCos) %1477))))
(approx %293 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %296 %1550) %1551) (*.f32 #s(literal 1/2 binary32) (/.f32 %1751 %1304))) maxCos) %1754) maxCos) %1477))))
Calls

9 calls:

TimeVariablePoint
3.0ms
maxCos
-inf
2.0ms
uy
inf
2.0ms
ux
0
1.0ms
ux
-inf
1.0ms
uy
0

rewrite101.0ms (1.9%)

Memory
7.3MiB live, 69.4MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076532
0111488
1405463
21512463
04132463
04567447
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
48 → 837
Calls
Call 1
Inputs
%2 = (*.f32 uy #s(literal 2 binary32))
%3 = (PI.f32 )
%4 = (*.f32 %2 %3)
%5 = (cos.f32 %4)
%8 = (-.f32 #s(literal 1 binary32) ux)
%12 = (*.f32 maxCos ux)
%16 = (fma.f32 maxCos ux %8)
%17 = (-.f32 ux %12)
%18 = (fma.f32 ux maxCos %8)
%19 = (-.f32 %17 #s(literal 0 binary32))
%20 = (-.f32 %17 #s(literal 2 binary32))
%21 = (neg.f32 %20)
%22 = (*.f32 %19 %21)
%23 = (-.f32 %16 #s(literal -1 binary32))
%24 = (sqrt.f32 %22)
%25 = (/.f32 %3 uy)
%26 = (pow.f32 %18 #s(literal 2 binary32))
%27 = (-.f32 #s(literal 1 binary32) %26)
%28 = (sqrt.f32 %27)
%31 = (PI )
%35 = (- 1 ux)
%37 = (+ %35 (* ux maxCos))
%41 = (* (cos (* (* uy 2) %31)) (sqrt (- 1 (* %37 %37))))
%43 = (*.f32 %17 %23)
%44 = (sqrt.f32 %43)
%46 = (* maxCos ux)
%53 = (approx (+ (* (- ux (+ %46 1)) (+ %46 %35)) 1/2) #s(literal -1/2 binary32))
%54 = (*.f32 #s(literal 1/2 binary32) %25)
%55 = (fma.f32 #s(literal -2 binary32) %3 %54)
%56 = (*.f32 uy %55)
%62 = (approx (+ (* (* -2 %31) uy) (* 1/2 %31)) %56)
%63 = (*.f32 #s(literal 2 binary32) ux)
%67 = (approx (* ux (- 2 (* 2 maxCos))) %63)
%68 = (+.f32 %53 #s(literal 1/2 binary32))
%69 = (sqrt.f32 %68)
%71 = (sin.f32 %62)
%77 = (approx (- 1 (pow (- (+ 1 %46) ux) 2)) %67)
%78 = (sqrt.f32 %77)
uy
#s(literal 2 binary32)
%2
%3
%4
%5
#s(literal 1 binary32)
ux
%8
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%12
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
#s(literal -2 binary32)
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
(approx %41 %28)
%43
%44
(*.f32 %5 %44)
%53
%54
%55
%56
%62
%63
%67
%68
%69
(*.f32 %5 %69)
%71
(*.f32 %71 %24)
%77
%78
(approx %41 %78)
Outputs
%3 = (+.f32 uy uy)
%10 = (*.f32 uy #s(literal 1 binary32))
%14 = (PI.f32 )
%15 = (+.f32 %14 %14)
%17 = (*.f32 %14 uy)
%19 = (*.f32 %14 %3)
%27 = (cos.f32 %19)
%32 = (*.f32 #s(literal -2 binary32) %14)
%33 = (neg.f32 %32)
%34 = (*.f32 %33 uy)
%41 = (neg.f32 uy)
%42 = (*.f32 %41 %32)
%48 = (*.f32 uy #s(literal -2 binary32))
%49 = (*.f32 %48 %14)
%50 = (sin.f32 %49)
%51 = (*.f32 %50 #s(literal 0 binary32))
%53 = (*.f32 #s(literal -1/2 binary32) %14)
%55 = (*.f32 %27 (sin.f32 %53))
%57 = (cos.f32 %17)
%59 = (sin.f32 %17)
%62 = (sin.f32 %19)
%63 = (*.f32 %62 #s(literal 0 binary32))
%65 = (neg.f32 %49)
%69 = (*.f32 #s(literal 0 binary32) %62)
%71 = (neg.f32 %53)
%72 = (cos.f32 %71)
%74 = (*.f32 %27 (sin.f32 %71))
%76 = (*.f32 %27 #s(literal 1 binary32))
%78 = (fabs.f32 %19)
%79 = (sin.f32 %78)
%82 = (*.f32 #s(literal 0 binary32) %50)
%95 = (*.f32 #s(literal 1/2 binary32) %14)
%98 = (neg.f32 %78)
%106 = (fma.f32 %48 %14 %95)
%120 = (-.f32 #s(literal 1 binary32) ux)
%124 = (neg.f32 ux)
%125 = (neg.f32 %124)
%131 = (+.f32 #s(literal -1 binary32) ux)
%133 = (-.f32 ux #s(literal 1 binary32))
%136 = (*.f32 maxCos ux)
%151 = (fma.f32 maxCos ux %120)
%152 = (*.f32 #s(literal 1 binary32) %151)
%155 = (/.f32 (-.f32 (*.f32 %151 #s(literal 2 binary32)) #s(literal 0 binary32)) #s(literal 2 binary32))
%157 = (/.f32 #s(literal 1 binary32) (pow.f32 %151 #s(literal -1 binary32)))
%158 = (fma.f32 maxCos ux #s(literal 1 binary32))
%159 = (-.f32 %158 %125)
%160 = (-.f32 %158 ux)
%162 = (-.f32 %136 (-.f32 #s(literal -1 binary32) %124))
%163 = (-.f32 %136 %131)
%164 = (-.f32 %136 %133)
%165 = (-.f32 %151 #s(literal 0 binary32))
%166 = (neg.f32 maxCos)
%167 = (*.f32 %166 ux)
%168 = (-.f32 %120 %167)
%170 = (-.f32 #s(literal 1 binary32) (-.f32 %167 %124))
%171 = (-.f32 ux %136)
%172 = (-.f32 #s(literal 1 binary32) %171)
%173 = (fma.f32 ux maxCos %120)
%174 = (fma.f32 #s(literal 1 binary32) %124 %158)
%175 = (-.f32 %136 ux)
%176 = (fma.f32 #s(literal 1 binary32) %175 #s(literal 1 binary32))
%177 = (fma.f32 #s(literal 1 binary32) %158 %124)
%178 = (fma.f32 #s(literal 1 binary32) %136 %120)
%179 = (fma.f32 #s(literal 1 binary32) %151 #s(literal 0 binary32))
%180 = (*.f32 %125 maxCos)
%181 = (fma.f32 #s(literal 1 binary32) %120 %180)
%182 = (neg.f32 %167)
%183 = (fma.f32 #s(literal 1 binary32) %120 %182)
%184 = (fma.f32 #s(literal 1 binary32) %120 %136)
%185 = (pow.f32 %151 #s(literal 1 binary32))
%186 = (+.f32 %124 %158)
%187 = (+.f32 %175 #s(literal 1 binary32))
%188 = (+.f32 %158 %124)
%189 = (+.f32 %136 %120)
%190 = (+.f32 %151 #s(literal 0 binary32))
%191 = (+.f32 %120 %180)
%192 = (+.f32 %120 %182)
%193 = (+.f32 %120 %136)
%195 = (+.f32 #s(literal 1 binary32) (+.f32 %124 %136))
%197 = (+.f32 #s(literal 1 binary32) (-.f32 %124 %167))
%198 = (+.f32 #s(literal 1 binary32) %175)
%199 = (-.f32 ux %158)
%200 = (neg.f32 %199)
%201 = (+.f32 %166 #s(literal 1 binary32))
%202 = (*.f32 %201 ux)
%203 = (*.f32 #s(literal 1 binary32) %171)
%206 = (/.f32 (-.f32 (*.f32 %171 #s(literal 2 binary32)) #s(literal 0 binary32)) #s(literal 2 binary32))
%208 = (/.f32 #s(literal 1 binary32) (pow.f32 %171 #s(literal -1 binary32)))
%209 = (-.f32 %171 #s(literal 0 binary32))
%212 = (-.f32 ux (*.f32 (neg.f32 %166) ux))
%213 = (-.f32 ux %182)
%214 = (fma.f32 %201 ux #s(literal 0 binary32))
%215 = (fma.f32 %166 ux ux)
%216 = (fma.f32 %124 maxCos ux)
%217 = (fma.f32 maxCos %124 ux)
%218 = (fma.f32 ux %166 ux)
%219 = (fma.f32 #s(literal 1 binary32) %167 ux)
%220 = (fma.f32 #s(literal 1 binary32) %171 #s(literal 0 binary32))
%221 = (pow.f32 %171 #s(literal 1 binary32))
%222 = (+.f32 %167 ux)
%223 = (+.f32 %171 #s(literal 0 binary32))
%224 = (+.f32 #s(literal 0 binary32) %171)
%226 = (+.f32 ux (fma.f32 %166 ux #s(literal 0 binary32)))
%228 = (+.f32 ux (-.f32 %167 #s(literal 0 binary32)))
%229 = (+.f32 ux %167)
%230 = (neg.f32 %175)
%231 = (fma.f32 maxCos ux #s(literal 2 binary32))
%232 = (-.f32 ux %231)
%242 = (-.f32 #s(literal -1 binary32) %158)
%244 = (-.f32 #s(literal -1 binary32) %120)
%246 = (-.f32 #s(literal -1 binary32) %136)
%268 = (-.f32 %231 ux)
%270 = (*.f32 #s(literal 1 binary32) %268)
%273 = (/.f32 (-.f32 (*.f32 %268 #s(literal 2 binary32)) #s(literal 0 binary32)) #s(literal 2 binary32))
%275 = (/.f32 #s(literal 1 binary32) (pow.f32 %268 #s(literal -1 binary32)))
%276 = (-.f32 #s(literal 2 binary32) ux)
%277 = (-.f32 %276 %167)
%278 = (-.f32 %158 %133)
%280 = (-.f32 %136 (-.f32 %133 #s(literal 1 binary32)))
%282 = (-.f32 %136 (+.f32 %133 #s(literal -1 binary32)))
%283 = (-.f32 %120 #s(literal -1 binary32))
%285 = (-.f32 %136 (neg.f32 %283))
%286 = (-.f32 %268 #s(literal 0 binary32))
%287 = (-.f32 %151 #s(literal -1 binary32))
%288 = (-.f32 %120 %246)
%289 = (-.f32 #s(literal 1 binary32) %199)
%290 = (-.f32 #s(literal 2 binary32) %171)
%291 = (fma.f32 maxCos ux %283)
%292 = (fma.f32 ux maxCos %283)
%293 = (fma.f32 #s(literal 1 binary32) %283 %136)
%294 = (fma.f32 #s(literal 1 binary32) %175 #s(literal 2 binary32))
%295 = (-.f32 %124 #s(literal -1 binary32))
%296 = (fma.f32 #s(literal 1 binary32) %158 %295)
%297 = (fma.f32 #s(literal 1 binary32) %158 %120)
%298 = (fma.f32 #s(literal 1 binary32) %136 %283)
%299 = (fma.f32 #s(literal 1 binary32) %268 #s(literal 0 binary32))
%300 = (fma.f32 #s(literal 1 binary32) %151 #s(literal 1 binary32))
%301 = (fma.f32 #s(literal 1 binary32) %120 %158)
%302 = (pow.f32 %268 #s(literal 1 binary32))
%303 = (+.f32 %276 %136)
%304 = (+.f32 %283 %136)
%305 = (+.f32 %175 #s(literal 2 binary32))
%306 = (+.f32 %158 %295)
%307 = (+.f32 %158 %120)
%308 = (+.f32 %136 %283)
%309 = (+.f32 %268 #s(literal 0 binary32))
%310 = (+.f32 %151 #s(literal 1 binary32))
%311 = (+.f32 %120 %158)
%313 = (+.f32 #s(literal 1 binary32) (-.f32 %175 #s(literal -1 binary32)))
%314 = (+.f32 #s(literal 1 binary32) %151)
%315 = (+.f32 #s(literal 2 binary32) %175)
%317 = (neg.f32 (+.f32 %199 #s(literal -1 binary32)))
%318 = (neg.f32 %232)
%319 = (*.f32 %175 %232)
%320 = (sqrt.f32 %319)
%321 = (neg.f32 %320)
%322 = (*.f32 %321 %321)
%323 = (fabs.f32 %175)
%324 = (fabs.f32 %268)
%325 = (*.f32 %323 %324)
%326 = (*.f32 %320 %320)
%327 = (*.f32 %268 %171)
%328 = (*.f32 %171 %268)
%329 = (*.f32 #s(literal 1 binary32) %319)
%331 = (/.f32 #s(literal 1 binary32) (pow.f32 %319 #s(literal -1 binary32)))
%332 = (*.f32 %175 %175)
%335 = (sqrt.f32 (*.f32 %332 (*.f32 %268 %268)))
%336 = (*.f32 %319 %319)
%337 = (sqrt.f32 %336)
%338 = (*.f32 %268 #s(literal 0 binary32))
%339 = (fma.f32 %321 %321 %338)
%340 = (*.f32 #s(literal 0 binary32) %268)
%341 = (fma.f32 %321 %321 %340)
%342 = (fma.f32 %175 %232 %338)
%343 = (fma.f32 %175 %232 %340)
%344 = (fma.f32 %323 %324 %338)
%345 = (fma.f32 %323 %324 %340)
%346 = (*.f32 %283 %171)
%347 = (fma.f32 %136 %171 %346)
%348 = (fma.f32 %320 %320 %338)
%349 = (fma.f32 %320 %320 %340)
%350 = (fma.f32 %268 %171 %338)
%351 = (fma.f32 %268 %171 %340)
%352 = (*.f32 %268 %167)
%353 = (fma.f32 %268 ux %352)
%354 = (*.f32 %171 %283)
%355 = (fma.f32 %171 %136 %354)
%356 = (fma.f32 %171 %268 %338)
%357 = (fma.f32 %171 %268 %340)
%358 = (*.f32 %171 #s(literal 1 binary32))
%359 = (fma.f32 %171 %151 %358)
%360 = (fma.f32 %151 %171 %171)
%361 = (*.f32 %167 %268)
%362 = (fma.f32 ux %268 %361)
%363 = (fma.f32 #s(literal 1 binary32) %319 %338)
%364 = (fma.f32 #s(literal 1 binary32) %319 %340)
%365 = (pow.f32 %336 #s(literal 1/2 binary32))
%366 = (pow.f32 %320 #s(literal 2 binary32))
%367 = (pow.f32 %319 #s(literal 1 binary32))
%369 = (+.f32 (*.f32 %171 %136) %354)
%371 = (+.f32 (*.f32 %171 %151) %358)
%373 = (+.f32 (*.f32 %268 ux) %352)
%375 = (+.f32 (*.f32 %136 %171) %346)
%377 = (+.f32 (*.f32 %151 %171) %171)
%379 = (+.f32 (*.f32 ux %268) %361)
%380 = (+.f32 %319 %338)
%381 = (+.f32 %319 %340)
%383 = (fabs.f32 (*.f32 %321 %320))
%385 = (fabs.f32 (*.f32 %320 %321))
%386 = (*.f32 %175 %268)
%387 = (fabs.f32 %386)
%388 = (*.f32 %232 %171)
%389 = (fabs.f32 %388)
%390 = (fabs.f32 %319)
%391 = (neg.f32 %386)
%393 = (neg.f32 (*.f32 %268 %175))
%394 = (neg.f32 %388)
%395 = (sqrt.f32 %320)
%396 = (*.f32 %395 %395)
%397 = (sqrt.f32 %323)
%398 = (sqrt.f32 %324)
%399 = (*.f32 %397 %398)
%400 = (*.f32 %398 %397)
%401 = (*.f32 #s(literal 1 binary32) %320)
%403 = (/.f32 #s(literal 1 binary32) (pow.f32 %319 #s(literal -1/2 binary32)))
%405 = (/.f32 #s(literal 1 binary32) (pow.f32 %320 #s(literal -1 binary32)))
%406 = (*.f32 %324 %323)
%407 = (sqrt.f32 %406)
%408 = (pow.f32 %406 #s(literal 1/2 binary32))
%409 = (pow.f32 %320 #s(literal 1 binary32))
%410 = (pow.f32 %319 #s(literal 1/2 binary32))
%412 = (fabs.f32 (neg.f32 %321))
%413 = (fabs.f32 %321)
%414 = (fabs.f32 %320)
%415 = (/.f32 #s(literal 1 binary32) uy)
%417 = (neg.f32 %14)
%420 = (/.f32 %14 uy)
%423 = (*.f32 %14 #s(literal 1 binary32))
%426 = (neg.f32 %417)
%428 = (neg.f32 %41)
%445 = (fabs.f32 %151)
%446 = (neg.f32 %445)
%447 = (neg.f32 %446)
%452 = (*.f32 %151 %151)
%464 = (*.f32 %151 %120)
%465 = (*.f32 %167 %151)
%467 = (*.f32 %199 %136)
%469 = (*.f32 #s(literal 2 binary32) %136)
%470 = (*.f32 %136 %136)
%471 = (fma.f32 %469 %120 %470)
%472 = (*.f32 %131 %131)
%473 = (neg.f32 %472)
%475 = (*.f32 %158 ux)
%477 = (fma.f32 %158 %158 (*.f32 #s(literal -2 binary32) %475))
%478 = (*.f32 ux ux)
%479 = (neg.f32 %478)
%481 = (*.f32 %158 %158)
%483 = (-.f32 (*.f32 %475 #s(literal 2 binary32)) %478)
%485 = (fabs.f32 %120)
%487 = (fabs.f32 %136)
%488 = (fma.f32 %469 %120 %472)
%490 = (fabs.f32 ux)
%492 = (*.f32 %151 maxCos)
%500 = (*.f32 %124 %151)
%502 = (*.f32 %199 %246)
%506 = (*.f32 %151 %124)
%509 = (*.f32 %492 ux)
%511 = (*.f32 %151 %175)
%519 = (*.f32 %246 %199)
%529 = (*.f32 %175 %151)
%583 = (*.f32 %199 %151)
%587 = (fma.f32 %199 %151 #s(literal 1 binary32))
%588 = (sqrt.f32 %587)
%589 = (neg.f32 %588)
%593 = (asin.f32 %151)
%594 = (fabs.f32 %593)
%601 = (asin.f32 %445)
%608 = (asin.f32 %199)
%693 = (+.f32 %593 %95)
%700 = (acos.f32 %445)
%707 = (acos.f32 %199)
%714 = (acos.f32 %151)
%891 = (*.f32 %587 %587)
%915 = (sin.f32 %594)
%918 = (sin.f32 %601)
%921 = (sin.f32 %608)
%924 = (sin.f32 %593)
%965 = (sqrt.f32 %588)
%980 = (*.f32 %588 #s(literal 1 binary32))
%982 = (cos.f32 %714)
%1023 = (- (- ux 1) (* maxCos ux))
%1026 = (PI )
%1029 = (* %1026 (* 2 uy))
%1031 = (* (sin (acos %1023)) (cos %1029))
%1032 = (approx %1031 %588)
%1041 = (*.f32 %320 %27)
%1048 = (pow %1023 2)
%1050 = (approx (- 1/2 %1048) #s(literal -1/2 binary32))
%1058 = (/.f32 %14 %3)
%1060 = (/.f32 #s(literal 1 binary32) %3)
%1062 = (/.f32 #s(literal 1/2 binary32) uy)
%1068 = (*.f32 #s(literal 2 binary32) %41)
%1075 = (*.f32 %417 #s(literal 1 binary32))
%1078 = (*.f32 #s(literal -2 binary32) uy)
%1095 = (fma.f32 #s(literal -2 binary32) %14 %1058)
%1097 = (*.f32 %32 %41)
%1108 = (/.f32 %49 uy)
%1109 = (*.f32 %420 #s(literal -1/2 binary32))
%1128 = (neg.f32 %1109)
%1152 = (*.f32 %1095 uy)
%1161 = (*.f32 %1058 uy)
%1169 = (neg.f32 %3)
%1193 = (approx (- (/ %1026 2) %1029) %1152)
%1199 = (+.f32 ux ux)
%1205 = (*.f32 ux #s(literal 1 binary32))
%1212 = (approx (* (- 2 (* maxCos 2)) ux) %1199)
%1217 = (-.f32 %1050 #s(literal -1/2 binary32))
%1218 = (sqrt.f32 %1217)
%1219 = (neg.f32 %1218)
%1225 = (*.f32 %1217 %1217)
%1242 = (sqrt.f32 %1218)
%1255 = (*.f32 %1218 %27)
%1261 = (sin.f32 %1193)
%1270 = (*.f32 %1261 %320)
%1277 = (approx (- 1 %1048) %1212)
%1278 = (sqrt.f32 %1277)
%1279 = (neg.f32 %1278)
%1285 = (*.f32 %1277 %1277)
%1295 = (sqrt.f32 %1278)
%1308 = (approx %1031 %1278)
uy
#s(literal 2 binary32)
(*.f32 #s(literal 1 binary32) %3)
(*.f32 #s(literal 2 binary32) uy)
(*.f32 uy #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %3 #s(literal -1 binary32)))
(fma.f32 uy #s(literal 1 binary32) %10)
(pow.f32 %3 #s(literal 1 binary32))
(+.f32 %10 %10)
%3
%14
(*.f32 %15 uy)
(*.f32 %17 #s(literal 2 binary32))
(*.f32 #s(literal 1 binary32) %19)
%19
(*.f32 %3 %14)
(*.f32 #s(literal 2 binary32) %17)
(*.f32 uy %15)
(/.f32 #s(literal 1 binary32) (pow.f32 %19 #s(literal -1 binary32)))
(pow.f32 %19 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %27)
(/.f32 #s(literal 1 binary32) (pow.f32 %27 #s(literal -1 binary32)))
(-.f32 (*.f32 #s(literal 1 binary32) (cos.f32 %34)) (*.f32 #s(literal 0 binary32) (sin.f32 %34)))
(-.f32 (*.f32 #s(literal 1 binary32) (cos.f32 %42)) (*.f32 #s(literal 0 binary32) (sin.f32 %42)))
(-.f32 %51 %55)
(-.f32 (*.f32 %57 %57) (*.f32 %59 %59))
(-.f32 %63 %55)
(-.f32 %27 (*.f32 #s(literal 0 binary32) (sin.f32 %65)))
(-.f32 %27 %69)
(fma.f32 %50 %72 %74)
(fma.f32 %50 #s(literal 0 binary32) %76)
(fma.f32 %79 #s(literal 0 binary32) %76)
(fma.f32 %62 #s(literal 0 binary32) %76)
(fma.f32 #s(literal 1 binary32) %27 %82)
(fma.f32 #s(literal 1 binary32) %27 %69)
(pow.f32 %27 #s(literal 1 binary32))
(+.f32 (*.f32 %79 #s(literal 0 binary32)) %76)
(+.f32 (*.f32 %50 %72) %74)
(+.f32 %51 %76)
(+.f32 %63 %76)
(+.f32 %27 %82)
(+.f32 %27 %69)
(sin.f32 (+.f32 %65 %95))
(sin.f32 (+.f32 %98 %95))
(sin.f32 (fma.f32 (fabs.f32 %17) #s(literal 2 binary32) %95))
(sin.f32 (fma.f32 #s(literal 1/2 binary32) %14 %19))
(sin.f32 %106)
(cos.f32 (neg.f32 %65))
(cos.f32 (neg.f32 %98))
(cos.f32 %65)
(cos.f32 %98)
(cos.f32 %78)
(cos.f32 %49)
%27
(neg.f32 (sin.f32 (-.f32 %53 %49)))
#s(literal 1 binary32)
ux
(*.f32 #s(literal 1 binary32) %120)
(/.f32 #s(literal 1 binary32) (pow.f32 %120 #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) %125)
%120
(fma.f32 #s(literal 1 binary32) %124 #s(literal 1 binary32))
(pow.f32 %120 #s(literal 1 binary32))
(+.f32 %124 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %124)
(neg.f32 %131)
(neg.f32 %133)
maxCos
#s(literal 0 binary32)
#s(literal -1 binary32)
%136
(*.f32 ux maxCos)
(*.f32 #s(literal 1 binary32) %136)
(/.f32 (-.f32 (*.f32 %136 #s(literal 2 binary32)) #s(literal 0 binary32)) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %136 #s(literal -1 binary32)))
(-.f32 %136 #s(literal 0 binary32))
(fma.f32 maxCos ux #s(literal 0 binary32))
(fma.f32 ux maxCos #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) %136 #s(literal 0 binary32))
(pow.f32 %136 #s(literal 1 binary32))
(+.f32 %136 #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) %136)
#s(literal -1/2 binary32)
#s(literal 1/2 binary32)
#s(literal -2 binary32)
%152
%155
%157
%159
%160
%162
%163
%164
%165
%168
%170
%172
%151
%173
%174
%176
%177
%178
%179
%181
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%195
%197
%198
%200
%202
%203
%206
%208
%209
%212
%213
%171
%214
%215
%216
%217
%218
%219
%220
%221
%222
%223
%224
%226
%228
%229
%230
%152
%155
%157
%159
%160
%162
%163
%164
%165
%168
%170
%172
%151
%173
%174
%176
%177
%178
%179
%181
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%195
%197
%198
%200
%202
%203
%206
%208
%209
%212
%213
%171
%214
%215
%216
%217
%218
%219
%220
%221
%222
%223
%224
%226
%228
%229
%230
(*.f32 #s(literal 1 binary32) %232)
(/.f32 (-.f32 (*.f32 %199 #s(literal 1 binary32)) #s(literal 1 binary32)) #s(literal 1 binary32))
(/.f32 (-.f32 (*.f32 %199 #s(literal 2 binary32)) #s(literal 2 binary32)) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %232 #s(literal -1 binary32)))
(-.f32 %242 %124)
(-.f32 %244 %136)
(-.f32 %246 %120)
(-.f32 %199 #s(literal 1 binary32))
(-.f32 %171 #s(literal 2 binary32))
(-.f32 #s(literal -2 binary32) %175)
(-.f32 #s(literal -1 binary32) %151)
%232
(fma.f32 %201 ux #s(literal -2 binary32))
(fma.f32 #s(literal 1 binary32) %246 %133)
(fma.f32 #s(literal 1 binary32) %171 #s(literal -2 binary32))
(pow.f32 %232 #s(literal 1 binary32))
(+.f32 %242 ux)
(+.f32 %244 %167)
(+.f32 %246 %133)
(+.f32 %171 #s(literal -2 binary32))
(+.f32 #s(literal -2 binary32) %171)
(+.f32 #s(literal -1 binary32) %199)
(+.f32 ux (fma.f32 %166 ux #s(literal -2 binary32)))
(+.f32 ux (-.f32 %167 #s(literal 2 binary32)))
(+.f32 ux (neg.f32 %231))
(neg.f32 %268)
%270
%273
%275
%277
%268
%278
%280
%282
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%297
%298
%299
%300
%301
%302
%303
%304
%305
%306
%307
%308
%309
%310
%311
%313
%314
%315
%317
%318
%322
%319
%325
%326
%327
%328
%329
%331
%335
%337
%339
%341
%342
%343
%344
%345
%347
%348
%349
%350
%351
%353
%355
%356
%357
%359
%360
%362
%363
%364
%365
%366
%367
%369
%371
%373
%375
%377
%379
%380
%381
%383
%385
%387
%389
%390
%391
%393
%394
%270
%273
%275
%277
%268
%278
%280
%282
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%297
%298
%299
%300
%301
%302
%303
%304
%305
%306
%307
%308
%309
%310
%311
%313
%314
%315
%317
%318
%396
%399
%400
%401
%403
%405
%407
%320
%408
%409
%410
%412
%413
%414
(*.f32 %415 %14)
(*.f32 %417 (/.f32 #s(literal -1 binary32) uy))
(*.f32 #s(literal 1 binary32) %420)
(*.f32 %14 %415)
(/.f32 (neg.f32 %423) %41)
(/.f32 (neg.f32 %426) (neg.f32 %428))
(/.f32 %423 uy)
(/.f32 %426 %428)
(/.f32 %417 %41)
(/.f32 #s(literal 1 binary32) (/.f32 %41 %417))
(/.f32 #s(literal 1 binary32) (pow.f32 %420 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 uy %14))
%420
(pow.f32 %420 #s(literal 1 binary32))
(neg.f32 (/.f32 %14 %41))
(neg.f32 (/.f32 %417 uy))
(*.f32 %447 %447)
(*.f32 %446 %446)
(*.f32 %445 %445)
(*.f32 %199 %199)
%452
(*.f32 #s(literal 1 binary32) %452)
(/.f32 #s(literal 1 binary32) (pow.f32 %445 #s(literal -2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %199 #s(literal -2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %151 #s(literal -2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %452 #s(literal -1 binary32)))
(sqrt.f32 (*.f32 %452 %452))
(-.f32 %464 %465)
(-.f32 %464 %467)
(-.f32 %471 %473)
(-.f32 %477 %479)
(-.f32 %481 %483)
(fma.f32 %485 %485 %471)
(fma.f32 %487 %487 %488)
(fma.f32 %490 %490 %477)
(fma.f32 %492 ux %464)
(fma.f32 (*.f32 %151 ux) maxCos %464)
(fma.f32 %131 %131 %471)
(fma.f32 %124 %124 %477)
(fma.f32 %167 %167 %488)
(fma.f32 %133 %133 %471)
(fma.f32 %158 %151 %500)
(fma.f32 %199 ux %502)
(fma.f32 %136 %136 %488)
(fma.f32 %136 %151 %464)
(fma.f32 %151 %158 %506)
(fma.f32 %151 %136 %464)
(fma.f32 %151 %120 %509)
(fma.f32 %151 #s(literal 1 binary32) %511)
(fma.f32 maxCos (*.f32 ux %151) %464)
(fma.f32 %120 %151 %509)
(fma.f32 %120 %120 %471)
(fma.f32 ux (*.f32 maxCos %151) %464)
(fma.f32 ux %199 %519)
(fma.f32 ux ux %477)
(fma.f32 #s(literal 1 binary32) %509 %464)
(fma.f32 #s(literal 1 binary32) %464 %509)
(fma.f32 #s(literal 1 binary32) %472 %471)
(fma.f32 #s(literal 1 binary32) %471 %472)
(fma.f32 #s(literal 1 binary32) %470 %488)
(fma.f32 #s(literal 1 binary32) %478 %477)
(fma.f32 #s(literal 1 binary32) %477 %478)
(fma.f32 #s(literal 1 binary32) %151 %529)
(pow.f32 %446 #s(literal 2 binary32))
(pow.f32 %445 #s(literal 2 binary32))
(pow.f32 %199 #s(literal 2 binary32))
(pow.f32 %452 #s(literal 1 binary32))
(pow.f32 %151 #s(literal 2 binary32))
(+.f32 (*.f32 %199 ux) %502)
(+.f32 (*.f32 %151 %158) %506)
(+.f32 (*.f32 %151 #s(literal 1 binary32)) %511)
(+.f32 (*.f32 ux %199) %519)
(+.f32 (*.f32 %158 %151) %500)
(+.f32 (fma.f32 %158 %158 (*.f32 #s(literal 2 binary32) (*.f32 %158 %124))) %478)
(+.f32 (fma.f32 %131 %131 (*.f32 %469 %120)) %470)
(+.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %175)) %332)
(+.f32 (-.f32 %470 (*.f32 #s(literal 2 binary32) (*.f32 %136 %133))) %472)
(+.f32 (-.f32 %472 (*.f32 #s(literal 2 binary32) (*.f32 %120 %167))) %470)
(+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %171)) %332)
(+.f32 %509 %464)
(+.f32 %464 %509)
(+.f32 %472 %471)
(+.f32 %471 %472)
(+.f32 %470 %488)
(+.f32 %478 %477)
(+.f32 %477 %478)
(+.f32 %151 %529)
(fabs.f32 (-.f32 %465 %464))
(fabs.f32 (-.f32 %473 %471))
(fabs.f32 (-.f32 %479 %477))
(fabs.f32 (-.f32 %483 %481))
(fabs.f32 %583)
(fabs.f32 %452)
(neg.f32 %583)
(*.f32 %589 %589)
(*.f32 %588 %588)
(*.f32 #s(literal 1 binary32) %587)
(/.f32 (+.f32 (cos.f32 (+.f32 %594 %594)) (cos.f32 (-.f32 %594 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %594 %601)) (cos.f32 (-.f32 %594 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %594 %608)) (cos.f32 (-.f32 %594 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %594 %593)) (cos.f32 (-.f32 %594 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %601 %594)) (cos.f32 (-.f32 %601 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %601 %601)) (cos.f32 (-.f32 %601 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %601 %608)) (cos.f32 (-.f32 %601 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %601 %593)) (cos.f32 (-.f32 %601 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %608 %594)) (cos.f32 (-.f32 %608 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %608 %601)) (cos.f32 (-.f32 %608 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %608 %608)) (cos.f32 (-.f32 %608 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %608 %593)) (cos.f32 (-.f32 %608 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %593 %594)) (cos.f32 (-.f32 %593 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %593 %601)) (cos.f32 (-.f32 %593 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %593 %608)) (cos.f32 (-.f32 %593 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (cos.f32 (+.f32 %593 %593)) (cos.f32 (-.f32 %593 %593))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %693 %693)) (cos.f32 (+.f32 %693 %693))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %693 %700)) (cos.f32 (+.f32 %693 %700))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %693 %707)) (cos.f32 (+.f32 %693 %707))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %693 %714)) (cos.f32 (+.f32 %693 %714))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %700 %693)) (cos.f32 (+.f32 %700 %693))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %700 %700)) (cos.f32 (+.f32 %700 %700))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %700 %707)) (cos.f32 (+.f32 %700 %707))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %700 %714)) (cos.f32 (+.f32 %700 %714))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %707 %693)) (cos.f32 (+.f32 %707 %693))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %707 %700)) (cos.f32 (+.f32 %707 %700))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %707 %707)) (cos.f32 (+.f32 %707 %707))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %707 %714)) (cos.f32 (+.f32 %707 %714))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %714 %693)) (cos.f32 (+.f32 %714 %693))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %714 %700)) (cos.f32 (+.f32 %714 %700))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %714 %707)) (cos.f32 (+.f32 %714 %707))) #s(literal 2 binary32))
(/.f32 (-.f32 (cos.f32 (-.f32 %714 %714)) (cos.f32 (+.f32 %714 %714))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %693 %594)) (sin.f32 (+.f32 %693 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %693 %601)) (sin.f32 (+.f32 %693 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %693 %608)) (sin.f32 (+.f32 %693 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %693 %593)) (sin.f32 (+.f32 %693 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %700 %594)) (sin.f32 (+.f32 %700 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %700 %601)) (sin.f32 (+.f32 %700 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %700 %608)) (sin.f32 (+.f32 %700 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %700 %593)) (sin.f32 (+.f32 %700 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %707 %594)) (sin.f32 (+.f32 %707 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %707 %601)) (sin.f32 (+.f32 %707 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %707 %608)) (sin.f32 (+.f32 %707 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %707 %593)) (sin.f32 (+.f32 %707 %593))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %714 %594)) (sin.f32 (+.f32 %714 %594))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %714 %601)) (sin.f32 (+.f32 %714 %601))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %714 %608)) (sin.f32 (+.f32 %714 %608))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %714 %593)) (sin.f32 (+.f32 %714 %593))) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %587 #s(literal -1 binary32)))
(sqrt.f32 %891)
(-.f32 (-.f32 #s(literal 1 binary32) %464) %509)
(-.f32 (-.f32 #s(literal 1 binary32) %471) %472)
(-.f32 (-.f32 #s(literal 1 binary32) %477) %478)
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %693))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %700))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %707))))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %714))))
(-.f32 #s(literal 1 binary32) (*.f32 %915 %915))
(-.f32 #s(literal 1 binary32) (*.f32 %918 %918))
(-.f32 #s(literal 1 binary32) (*.f32 %921 %921))
(-.f32 #s(literal 1 binary32) (*.f32 %924 %924))
(-.f32 #s(literal 1 binary32) %452)
(fma.f32 %446 %445 #s(literal 1 binary32))
(fma.f32 %445 %446 #s(literal 1 binary32))
%587
(fma.f32 %151 %199 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) %583 #s(literal 1 binary32))
(pow.f32 %891 #s(literal 1/2 binary32))
(pow.f32 %588 #s(literal 2 binary32))
(pow.f32 %587 #s(literal 1 binary32))
(+.f32 (+.f32 #s(literal 1 binary32) %467) (*.f32 %199 %120))
(+.f32 %583 #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %594))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %601))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %608))))
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (cos.f32 (*.f32 #s(literal 2 binary32) %593))))
(+.f32 #s(literal 1 binary32) %583)
(fabs.f32 (*.f32 %589 %588))
(fabs.f32 (*.f32 %588 %589))
(fabs.f32 %587)
(neg.f32 (+.f32 #s(literal -1 binary32) %452))
(neg.f32 (fma.f32 %151 %151 #s(literal -1 binary32)))
(*.f32 %965 %965)
(*.f32 #s(literal 1 binary32) %588)
(/.f32 #s(literal 1 binary32) (pow.f32 %587 #s(literal -1/2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %588 #s(literal -1 binary32)))
%588
(-.f32 (*.f32 (sin.f32 %14) (cos.f32 %707)) (*.f32 (cos.f32 %14) %588))
(-.f32 %588 (*.f32 #s(literal 0 binary32) %924))
(fma.f32 %924 #s(literal 0 binary32) %980)
(fma.f32 #s(literal 0 binary32) %982 %588)
(pow.f32 %588 #s(literal 1 binary32))
(pow.f32 %587 #s(literal 1/2 binary32))
(+.f32 (*.f32 %924 #s(literal 0 binary32)) %980)
(+.f32 (*.f32 #s(literal 0 binary32) %982) %588)
(sin.f32 (+.f32 %594 %95))
(sin.f32 (+.f32 %601 %95))
(sin.f32 (+.f32 %608 %95))
(sin.f32 (acos.f32 %446))
(sin.f32 %693)
(sin.f32 %700)
(sin.f32 %707)
(sin.f32 %714)
(fabs.f32 (neg.f32 %589))
(fabs.f32 %589)
(fabs.f32 %588)
(cos.f32 (neg.f32 %594))
(cos.f32 (neg.f32 %601))
(cos.f32 (fabs.f32 %594))
(cos.f32 (fabs.f32 %601))
(cos.f32 (asin.f32 %446))
(cos.f32 %594)
(cos.f32 %601)
(cos.f32 %608)
(cos.f32 %593)
(*.f32 #s(literal 1 binary32) %1032)
(/.f32 #s(literal 1 binary32) (pow.f32 %1032 #s(literal -1 binary32)))
%1032
(pow.f32 %1032 #s(literal 1 binary32))
%322
%319
%325
%326
%327
%328
%329
%331
%335
%337
%339
%341
%342
%343
%344
%345
%347
%348
%349
%350
%351
%353
%355
%356
%357
%359
%360
%362
%363
%364
%365
%366
%367
%369
%371
%373
%375
%377
%379
%380
%381
%383
%385
%387
%389
%390
%391
%393
%394
%396
%399
%400
%401
%403
%405
%407
%320
%408
%409
%410
%412
%413
%414
(*.f32 (*.f32 %27 %397) %398)
(*.f32 %397 (*.f32 %398 %27))
%1041
(*.f32 #s(literal 1 binary32) %1041)
(*.f32 %27 %320)
(/.f32 #s(literal 1 binary32) (pow.f32 %1041 #s(literal -1 binary32)))
(pow.f32 %1041 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %1050)
(/.f32 #s(literal 1 binary32) (pow.f32 %1050 #s(literal -1 binary32)))
%1050
(pow.f32 %1050 #s(literal 1 binary32))
(*.f32 %95 %415)
(*.f32 %420 #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) %420)
(*.f32 #s(literal 1 binary32) %1058)
(*.f32 %14 %1060)
(*.f32 %14 %1062)
(/.f32 (*.f32 %417 #s(literal -1 binary32)) (*.f32 #s(literal -2 binary32) %41))
(/.f32 (*.f32 %14 #s(literal -1 binary32)) %1068)
(/.f32 (*.f32 %423 #s(literal 1 binary32)) %3)
(/.f32 (*.f32 %426 #s(literal 1 binary32)) (*.f32 %428 #s(literal 2 binary32)))
(/.f32 %1075 (*.f32 %41 #s(literal 2 binary32)))
(/.f32 %1075 %1078)
(/.f32 (*.f32 #s(literal 1 binary32) %423) %3)
(/.f32 (*.f32 #s(literal 1 binary32) %426) (*.f32 #s(literal 2 binary32) %428))
(/.f32 %423 %3)
(/.f32 %71 %428)
(/.f32 %53 %41)
(/.f32 %417 %1068)
(/.f32 %95 uy)
(/.f32 #s(literal 1 binary32) (/.f32 uy %95))
(/.f32 #s(literal 1 binary32) (pow.f32 %1058 #s(literal -1 binary32)))
%1058
(pow.f32 %1058 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %1095)
(/.f32 (-.f32 %1097 (*.f32 #s(literal -1/2 binary32) %417)) %41)
(/.f32 (-.f32 %1097 %95) %41)
(/.f32 (neg.f32 %106) %41)
(/.f32 %106 uy)
(/.f32 #s(literal 1 binary32) (pow.f32 %1095 #s(literal -1 binary32)))
(-.f32 %1108 %1109)
(-.f32 %32 %1109)
(-.f32 %1058 (/.f32 %34 uy))
(-.f32 %1058 (/.f32 %42 uy))
(-.f32 %1058 (/.f32 %65 uy))
(-.f32 %1058 (/.f32 %19 uy))
(-.f32 %1058 (*.f32 %417 #s(literal -2 binary32)))
(-.f32 %1058 %33)
(-.f32 %1058 %15)
(fma.f32 %95 %415 %1108)
(fma.f32 %95 %415 %32)
(fma.f32 %420 #s(literal 1/2 binary32) %1108)
(fma.f32 %420 #s(literal 1/2 binary32) %32)
(fma.f32 #s(literal -2 binary32) %14 %1128)
%1095
(fma.f32 #s(literal 1/2 binary32) %420 %1108)
(fma.f32 #s(literal 1/2 binary32) %420 %32)
(fma.f32 #s(literal 1 binary32) %32 %1128)
(fma.f32 #s(literal 1 binary32) %32 %1058)
(fma.f32 #s(literal 1 binary32) %1058 %1108)
(fma.f32 #s(literal 1 binary32) %1058 %32)
(fma.f32 %14 %1060 %1108)
(fma.f32 %14 %1060 %32)
(fma.f32 %14 %1062 %1108)
(fma.f32 %14 %1062 %32)
(fma.f32 %14 #s(literal -2 binary32) %1128)
(fma.f32 %14 #s(literal -2 binary32) %1058)
(pow.f32 %1095 #s(literal 1 binary32))
(+.f32 %1108 (/.f32 %71 uy))
(+.f32 %1108 %1058)
(+.f32 %32 %1128)
(+.f32 %32 %1058)
(+.f32 %1058 %1108)
(+.f32 %1058 %32)
(neg.f32 (-.f32 %1109 %32))
%1152
(*.f32 #s(literal 1 binary32) %1152)
(*.f32 uy %1095)
(/.f32 #s(literal 1 binary32) (pow.f32 %1152 #s(literal -1 binary32)))
(-.f32 %49 (*.f32 %41 %1058))
(-.f32 %49 (*.f32 %1109 uy))
(-.f32 %49 (neg.f32 %1161))
(fma.f32 (*.f32 uy %420) #s(literal 1/2 binary32) %49)
(fma.f32 (*.f32 uy #s(literal 1/2 binary32)) %420 %49)
(fma.f32 %48 %14 %1161)
(fma.f32 %1169 %14 %1161)
(fma.f32 %17 #s(literal -2 binary32) %1161)
(fma.f32 %41 %15 %1161)
(fma.f32 %417 %3 %1161)
(fma.f32 %32 uy %1161)
(fma.f32 %1058 uy %49)
(fma.f32 %420 (*.f32 #s(literal 1/2 binary32) uy) %49)
(fma.f32 #s(literal -2 binary32) %17 %1161)
(fma.f32 #s(literal 1/2 binary32) (*.f32 %420 uy) %49)
(fma.f32 #s(literal 1 binary32) %1161 %49)
(fma.f32 #s(literal 1 binary32) %49 %1161)
(fma.f32 %14 %1078 %1161)
(fma.f32 %14 %1169 %1161)
(fma.f32 %3 %417 %1161)
(fma.f32 uy %32 %1161)
(fma.f32 uy %1058 %49)
(pow.f32 %1152 #s(literal 1 binary32))
(+.f32 %1161 %49)
(+.f32 %49 %1161)
(*.f32 #s(literal 1 binary32) %1193)
(/.f32 #s(literal 1 binary32) (pow.f32 %1193 #s(literal -1 binary32)))
%1193
(pow.f32 %1193 #s(literal 1 binary32))
(*.f32 ux #s(literal 2 binary32))
(*.f32 #s(literal 1 binary32) %1199)
(*.f32 #s(literal 2 binary32) ux)
(/.f32 #s(literal 1 binary32) (pow.f32 %1199 #s(literal -1 binary32)))
(-.f32 ux %124)
(fma.f32 ux #s(literal 1 binary32) %1205)
(pow.f32 %1199 #s(literal 1 binary32))
(+.f32 %1205 %1205)
%1199
(*.f32 #s(literal 1 binary32) %1212)
(/.f32 #s(literal 1 binary32) (pow.f32 %1212 #s(literal -1 binary32)))
%1212
(pow.f32 %1212 #s(literal 1 binary32))
(*.f32 %1219 %1219)
(*.f32 %1218 %1218)
(*.f32 #s(literal 1 binary32) %1217)
(/.f32 #s(literal 1 binary32) (pow.f32 %1217 #s(literal -1 binary32)))
(sqrt.f32 %1225)
%1217
(-.f32 #s(literal 1/2 binary32) (neg.f32 %1050))
(fma.f32 #s(literal 1 binary32) %1050 #s(literal 1/2 binary32))
(pow.f32 %1225 #s(literal 1/2 binary32))
(pow.f32 %1218 #s(literal 2 binary32))
(pow.f32 %1217 #s(literal 1 binary32))
(+.f32 %1050 #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %1050)
(fabs.f32 (*.f32 %1219 %1218))
(fabs.f32 (*.f32 %1218 %1219))
(fabs.f32 %1217)
(neg.f32 (-.f32 #s(literal -1/2 binary32) %1050))
(*.f32 %1242 %1242)
(*.f32 #s(literal 1 binary32) %1218)
(/.f32 #s(literal 1 binary32) (pow.f32 %1217 #s(literal -1/2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %1218 #s(literal -1 binary32)))
%1218
(pow.f32 %1218 #s(literal 1 binary32))
(pow.f32 %1217 #s(literal 1/2 binary32))
(fabs.f32 (neg.f32 %1219))
(fabs.f32 %1219)
(fabs.f32 %1218)
%1255
(*.f32 #s(literal 1 binary32) %1255)
(*.f32 %27 %1218)
(/.f32 #s(literal 1 binary32) (pow.f32 %1255 #s(literal -1 binary32)))
(pow.f32 %1255 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) %1261)
(/.f32 #s(literal 1 binary32) (pow.f32 %1261 #s(literal -1 binary32)))
(pow.f32 %1261 #s(literal 1 binary32))
%1261
(*.f32 (*.f32 %1261 %397) %398)
(*.f32 %397 (*.f32 %398 %1261))
%1270
(*.f32 %320 %1261)
(*.f32 #s(literal 1 binary32) %1270)
(/.f32 #s(literal 1 binary32) (pow.f32 %1270 #s(literal -1 binary32)))
(pow.f32 %1270 #s(literal 1 binary32))
(*.f32 %1279 %1279)
(*.f32 %1278 %1278)
(*.f32 #s(literal 1 binary32) %1277)
(/.f32 #s(literal 1 binary32) (pow.f32 %1277 #s(literal -1 binary32)))
(sqrt.f32 %1285)
%1277
(pow.f32 %1285 #s(literal 1/2 binary32))
(pow.f32 %1278 #s(literal 2 binary32))
(pow.f32 %1277 #s(literal 1 binary32))
(fabs.f32 (*.f32 %1279 %1278))
(fabs.f32 (*.f32 %1278 %1279))
(fabs.f32 %1277)
(*.f32 %1295 %1295)
(*.f32 #s(literal 1 binary32) %1278)
(/.f32 #s(literal 1 binary32) (pow.f32 %1277 #s(literal -1/2 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %1278 #s(literal -1 binary32)))
%1278
(pow.f32 %1278 #s(literal 1 binary32))
(pow.f32 %1277 #s(literal 1/2 binary32))
(fabs.f32 (neg.f32 %1279))
(fabs.f32 %1279)
(fabs.f32 %1278)
(*.f32 #s(literal 1 binary32) %1308)
(/.f32 #s(literal 1 binary32) (pow.f32 %1308 #s(literal -1 binary32)))
%1308
(pow.f32 %1308 #s(literal 1 binary32))

reconstruct13.0ms (0.2%)

Memory
-11.4MiB live, 23.2MiB allocated; 2ms collecting garbage

eval125.0ms (2.4%)

Memory
-24.4MiB live, 111.0MiB allocated; 48ms collecting garbage
Compiler

Compiled 38 371 to 5 000 computations (87.0% saved)

prune56.0ms (1.1%)

Memory
17.2MiB live, 112.3MiB allocated; 5ms collecting garbage
Pruning

70 alts after pruning (70 fresh and 0 done)

PrunedKeptTotal
New1 204281 232
Fresh194261
Picked505
Done000
Total1 228701 298
Accuracy
100.0%
Counts
1 298 → 70
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
%11 = (PI.f32 )
%13 = (+.f32 (asin.f32 (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))) (*.f32 #s(literal 1/2 binary32) %11))
%16 = (*.f32 %11 (+.f32 uy uy))
(/.f32 (+.f32 (sin.f32 (-.f32 %13 %16)) (sin.f32 (+.f32 %13 %16))) #s(literal 2 binary32))
80.4%
%6 = (- (- ux (* maxCos ux)) 1)
%20 = (-.f32 maxCos #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx (* (sin (acos %6)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %6 2)) (*.f32 (-.f32 #s(literal 2 binary32) (fma.f32 (*.f32 ux %20) %20 (+.f32 maxCos maxCos))) ux)))) #s(literal -1 binary32)))
98.8%
%2 = (*.f32 (PI.f32 ) uy)
%3 = (cos.f32 %2)
%5 = (sin.f32 %2)
(*.f32 (-.f32 (*.f32 %3 %3) (*.f32 %5 %5)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
98.5%
%0 = (PI.f32 )
(*.f32 (*.f32 (cos.f32 (*.f32 (+.f32 %0 %0) uy)) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))) (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))))
6.6%
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 (pow (- (- ux 1) (* maxCos ux)) 2)) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) (cos.f32 (*.f32 (PI.f32 ) (+.f32 uy uy))))
54.3%
%8 = (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %8 %8))) (cos.f32 (*.f32 (PI.f32 ) (+.f32 uy uy))))
99.0%
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
98.5%
%11 = (PI.f32 )
(*.f32 (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (cos.f32 (*.f32 (+.f32 %11 %11) uy))))
98.3%
%1 = (PI.f32 )
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (-.f32 #s(literal 2 binary32) ux)))))
57.0%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
%22 = (*.f32 ux (-.f32 #s(literal 2 binary32) ux))
%24 = (pow.f32 ux #s(literal 2 binary32))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %22 maxCos) (fma.f32 #s(literal -1 binary32) %24 %22)) maxCos) (*.f32 #s(literal -1 binary32) %24))))))
93.9%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
77.7%
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 #s(literal 2 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) maxCos))))))
98.9%
%10 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (*.f32 (PI.f32 ) (+.f32 #s(literal 1/2 binary32) (+.f32 uy uy)))) (sqrt.f32 (*.f32 (-.f32 %10 #s(literal 0 binary32)) (neg.f32 (-.f32 %10 #s(literal 2 binary32))))))
98.2%
%1 = (PI )
%9 = (PI.f32 )
(*.f32 (sin.f32 (approx (+ (* (* -2 %1) uy) (* 1/2 %1)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %9 (*.f32 #s(literal 1/2 binary32) (/.f32 %9 uy)))))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (-.f32 #s(literal 2 binary32) ux)))))
93.9%
%1 = (PI )
%9 = (PI.f32 )
%20 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (approx (+ (* (* -2 %1) uy) (* 1/2 %1)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %9 (*.f32 #s(literal 1/2 binary32) (/.f32 %9 uy)))))) (sqrt.f32 (approx (* (- %20 0) (neg (- %20 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
98.0%
%14 = (sqrt.f32 (sqrt.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (*.f32 %14 %14))
98.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (*.f32 (sqrt.f32 (fabs.f32 (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux))) (sqrt.f32 (fabs.f32 (-.f32 (*.f32 maxCos ux) ux)))))
99.1%
%12 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (fma.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) %12 %12)))
54.5%
%14 = (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (fma.f32 (neg.f32 %14) %14 #s(literal 1 binary32))))
99.1%
%12 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (+.f32 (*.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) %12) %12)))
99.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 ux (-.f32 (+.f32 maxCos (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux))) #s(literal 1 binary32)))))))
98.8%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 (-.f32 ux (*.f32 maxCos ux)) #s(literal 0 binary32)) (approx (neg (- (- ux (* maxCos ux)) 2)) (*.f32 maxCos (-.f32 (+.f32 ux (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos))) (/.f32 ux maxCos)))))))
98.2%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (approx (+ (* maxCos ux) (- 1 ux)) (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
99.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (approx (+ (* maxCos ux) (- 1 ux)) (*.f32 ux (-.f32 (+.f32 maxCos (/.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)))) #s(literal -1 binary32)))))
99.0%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (approx (+ (* maxCos ux) (- 1 ux)) (*.f32 maxCos (-.f32 (+.f32 ux (/.f32 #s(literal 1 binary32) maxCos)) (/.f32 ux maxCos)))) #s(literal -1 binary32)))))
99.1%
%9 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 %9 (-.f32 #s(literal 2 binary32) %9))))
99.0%
%9 = (-.f32 (*.f32 maxCos ux) ux)
%12 = (-.f32 (fma.f32 maxCos ux #s(literal 2 binary32)) ux)
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (sqrt.f32 (*.f32 (*.f32 %9 %9) (*.f32 %12 %12)))))
77.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (- 1 (* %11 %11)) (*.f32 ux (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos))))))
93.8%
%9 = (- ux (* maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (* (- %9 0) (neg (- %9 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
53.8%
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sin.f32 (acos.f32 (neg.f32 (approx (- (- (* maxCos ux) -1) ux) (-.f32 #s(literal 1 binary32) ux))))))
49.9%
%23 = (approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(*.f32 (approx (cos (* (* uy 2) (PI ))) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 (PI.f32 ) #s(literal 2 binary32)))))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %23 %23))))
90.6%
%1 = (PI )
%12 = (- ux (* maxCos ux))
%25 = (PI.f32 )
%29 = (sin.f32 (fma.f32 #s(literal -2 binary32) (*.f32 uy %25) (*.f32 #s(literal 1/2 binary32) %25)))
%31 = (-.f32 #s(literal 1 binary32) maxCos)
%38 = (sqrt.f32 (*.f32 #s(literal 2 binary32) (*.f32 ux %31)))
(approx (* (sin (+ (* (* -2 %1) uy) (* 1/2 %1))) (sqrt (* (- %12 0) (neg (- %12 2))))) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (pow.f32 ux #s(literal 2 binary32)) (*.f32 %29 (*.f32 %31 (-.f32 maxCos #s(literal 1 binary32))))) %38) (*.f32 %29 %38)))
48.4%
%16 = (fma.f32 maxCos ux #s(literal 1 binary32))
(approx (* (sin (acos (- (- ux (* maxCos ux)) 1))) (cos (* (* (PI ) 2) uy))) (sqrt.f32 (fma.f32 (-.f32 ux %16) (-.f32 %16 ux) #s(literal 1 binary32))))
65.6%
%5 = (- (- ux (* maxCos ux)) 1)
(approx (* (sin (acos %5)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %5 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
48.5%
(approx (* (sin (acos (- (- ux 1) (* maxCos ux)))) (cos (* (PI ) (* 2 uy)))) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32))))
63.6%
%5 = (- (- ux 1) (* maxCos ux))
(approx (* (sin (acos %5)) (cos (* (PI ) (* 2 uy)))) (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)) #s(literal -1/2 binary32))))
63.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (/.f32 #s(literal 1 binary32) (pow.f32 (approx (- 1 (pow (- (- ux 1) (* maxCos ux)) 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux))) #s(literal -1/2 binary32))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
%23 = (sqrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32))))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (*.f32 %23 %23))
63.3%
%11 = (+ (- 1 ux) (* ux maxCos))
%28 = (sqrt.f32 (sqrt.f32 (approx (- 1 (pow (- (- ux 1) (* maxCos ux)) 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (*.f32 %28 %28))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)) #s(literal -1 binary32)))))
48.1%
%8 = (- 1 ux)
%11 = (+ %8 (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %8 (*.f32 ux (-.f32 (/.f32 #s(literal 1 binary32) ux) #s(literal 1 binary32))))) #s(literal 2 binary32)))))
6.2%
%8 = (- 1 ux)
%11 = (+ %8 (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %8 #s(literal 1 binary32))) #s(literal 2 binary32)))))
46.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) #s(literal -1 binary32))) #s(literal 2 binary32)))))
48.1%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 ux (-.f32 (+.f32 maxCos (/.f32 #s(literal 1 binary32) ux)) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
47.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx (- (+ 1 (* maxCos ux)) ux) (*.f32 maxCos (-.f32 (+.f32 ux (/.f32 #s(literal 1 binary32) maxCos)) (/.f32 ux maxCos)))) #s(literal 2 binary32)))))
48.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) #s(literal -2 binary32))))))
50.9%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (*.f32 maxCos ux)
%22 = (-.f32 %18 ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (-.f32 ux %18))) (*.f32 %22 %22)))))
48.5%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 %18))))
48.3%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %18 %18))))
40.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx (pow (- (+ 1 (* maxCos ux)) ux) 2) (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 (*.f32 #s(literal 2 binary32) maxCos) #s(literal 2 binary32))))))))
48.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%18 = (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (neg.f32 (fma.f32 %18 %18 #s(literal -1 binary32)))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 #s(literal 1 binary32) maxCos)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %24 %24) (*.f32 #s(literal -2 binary32) maxCos)))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (*.f32 ux %24) %24)))))))
65.7%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) #s(literal -1 binary32)))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
%23 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 #s(literal 2 binary32) (fma.f32 (*.f32 ux %23) %23 (+.f32 maxCos maxCos))) #s(literal -1 binary32)))))))
80.6%
%11 = (+ (- 1 ux) (* ux maxCos))
%23 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (-.f32 (-.f32 #s(literal 2 binary32) (*.f32 (*.f32 ux %23) %23)) maxCos) maxCos)))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
80.5%
%11 = (+ (- 1 ux) (* ux maxCos))
%22 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 ux %22) %22))) (*.f32 #s(literal 2 binary32) maxCos))))))
79.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (approx (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))) (*.f32 #s(literal 2 binary32) maxCos))))))
80.5%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) ux) #s(literal 2 binary32))))))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) ux))) (*.f32 #s(literal 2 binary32) (/.f32 maxCos ux)))))))))
80.4%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos)) (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) maxCos)) ux) (pow.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 2 binary32))))))))))
65.6%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (approx (- 2 (* 2 maxCos)) (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos)) #s(literal 2 binary32))))))))
77.1%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (approx (* ux (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos))) (*.f32 ux (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux)))))))
47.8%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sin.f32 (+.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))) (*.f32 #s(literal 1/2 binary32) (PI.f32 )))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sin.f32 (acos.f32 (-.f32 ux (fma.f32 maxCos ux #s(literal 1 binary32))))))
48.0%
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (cos.f32 (asin.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))))
92.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
%23 = (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux)))
%24 = (pow.f32 uy #s(literal 2 binary32))
%26 = (PI.f32 )
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (+.f32 %23 (*.f32 %24 (fma.f32 #s(literal -2 binary32) (*.f32 (pow.f32 %26 #s(literal 2 binary32)) %23) (*.f32 #s(literal 2/3 binary32) (*.f32 %24 (*.f32 (pow.f32 %26 #s(literal 4 binary32)) %23)))))))
80.5%
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux))))
Compiler

Compiled 1 377 to 353 computations (74.4% saved)

regimes2.7s (51.6%)

Memory
-15.3MiB live, 2 496.6MiB allocated; 844ms collecting garbage
Counts
2 → 1
4 → 1
7 → 1
11 → 1
19 → 1
23 → 1
53 → 1
59 → 1
64 → 1
71 → 1
72 → 1
88 → 1
93 → 1
123 → 1
Calls
Call 1
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%30 = (+ (- 1 ux) (* ux maxCos))
(approx (* (sin (acos %5)) (cos (* %8 (* 2 uy)))) (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
(approx (* (cos (* (* uy 2) %8)) (sqrt (- 1 (* %30 %30)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 %4) ux) 2)) (approx (* ux (- 2 (* 2 maxCos))) (*.f32 #s(literal 2 binary32) ux)))))
Outputs
%5 = (- (- ux 1) (* maxCos ux))
(approx (* (sin (acos %5)) (cos (* (PI ) (* 2 uy)))) (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
Call 2
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%30 = (+ (- 1 ux) (* ux maxCos))
%34 = (* (cos (* (* uy 2) %8)) (sqrt (- 1 (* %30 %30))))
%38 = (- 1 (pow (- (+ 1 %4) ux) 2))
%49 = (- (- ux %4) 1)
(approx (* (sin (acos %5)) (cos (* %8 (* 2 uy)))) (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux (- 2 (* 2 maxCos))) (*.f32 #s(literal 2 binary32) ux)))))
(approx (* (sin (acos %49)) (cos (* (* -2 %8) uy))) (sqrt.f32 (approx (- 1 (pow %49 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
Outputs
%5 = (- (- ux (* maxCos ux)) 1)
(approx (* (sin (acos %5)) (cos (* (* -2 (PI )) uy))) (sqrt.f32 (approx (- 1 (pow %5 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
Call 3
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%30 = (+ (- 1 ux) (* ux maxCos))
%34 = (* (cos (* (* uy 2) %8)) (sqrt (- 1 (* %30 %30))))
%37 = (pow (- (+ 1 %4) ux) 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%49 = (- (- ux %4) 1)
%87 = (*.f32 #s(literal 2 binary32) maxCos)
(approx (* (sin (acos %5)) (cos (* %8 (* 2 uy)))) (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux (- 2 %39)) (*.f32 #s(literal 2 binary32) ux)))))
(approx (* (sin (acos %49)) (cos (* (* -2 %8) uy))) (sqrt.f32 (approx (- 1 (pow %49 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) %39)) (*.f32 ux (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 #s(literal 2 binary32) %87)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
Outputs
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (approx (* ux (- (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (* 2 maxCos))) (*.f32 ux (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux)))))))
Call 4
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%23 = (sqrt.f32 (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux))))
%30 = (+ (- 1 ux) (* ux maxCos))
%34 = (* (cos (* (* uy 2) %8)) (sqrt (- 1 (* %30 %30))))
%37 = (pow (- (+ 1 %4) ux) 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%49 = (- (- ux %4) 1)
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%107 = (sqrt.f32 %23)
(approx (* (sin (acos %5)) (cos (* %8 (* 2 uy)))) %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 #s(literal 2 binary32) ux)))))
(approx (* (sin (acos %49)) (cos (* (* -2 %8) uy))) (sqrt.f32 (approx (- 1 (pow %49 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux (- %76 %39)) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 #s(literal 2 binary32) %87)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) (/.f32 ux maxCos))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos)) #s(literal 2 binary32))))))))
Outputs
%11 = (+ (- 1 ux) (* ux maxCos))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (-.f32 (approx (+ 2 (* -1 (* ux (pow (- maxCos 1) 2)))) (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))) (*.f32 #s(literal 2 binary32) maxCos))))))
Call 5
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%22 = (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%30 = (+ (- 1 ux) (* ux maxCos))
%34 = (* %27 (sqrt (- 1 (* %30 %30))))
%37 = (pow (- (+ 1 %4) ux) 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%107 = (sqrt.f32 %23)
%134 = (*.f32 maxCos ux)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%153 = (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
%161 = (-.f32 %150 ux)
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
(approx (* %51 (cos (* (* -2 %8) uy))) (sqrt.f32 (approx (- 1 (pow %49 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 #s(literal 2 binary32) %87)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) (/.f32 ux maxCos))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos)) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt (* (- %48 0) (neg (- %48 2))))) (sqrt.f32 (*.f32 (-.f32 ux %134) (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 (sqrt.f32 (fma.f32 %151 %153 #s(literal 1 binary32))))
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 (fma.f32 %151 %161 #s(literal 1 binary32))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
Outputs
%9 = (- ux (* maxCos ux))
%17 = (*.f32 maxCos ux)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (* (- %9 0) (neg (- %9 2))))) (sqrt.f32 (*.f32 (-.f32 ux %17) (-.f32 (+.f32 #s(literal 2 binary32) %17) ux))))
Call 6
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%22 = (approx (- 1 (pow %5 2)) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%34 = (* %27 (sqrt (- 1 (* %30 %30))))
%37 = (pow (- (+ 1 %4) ux) 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%107 = (sqrt.f32 %23)
%134 = (*.f32 maxCos ux)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%153 = (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
%161 = (-.f32 %150 ux)
%181 = (-.f32 maxCos #s(literal 1 binary32))
%183 = (*.f32 (*.f32 ux %181) %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
(approx (* %51 (cos (* (* -2 %8) uy))) (sqrt.f32 (approx (- 1 (pow %49 2)) (*.f32 (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32)) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 #s(literal 2 binary32) %87)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) (/.f32 ux maxCos))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) maxCos)) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt (* (- %48 0) (neg (- %48 2))))) (sqrt.f32 (*.f32 (-.f32 ux %134) (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 (sqrt.f32 (fma.f32 %151 %153 #s(literal 1 binary32))))
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 (fma.f32 %151 %161 #s(literal 1 binary32))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
Outputs
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 maxCos #s(literal 1 binary32))
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (*.f32 ux %24) %24)))))))
Call 7
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%34 = (* %27 (sqrt (- 1 (* %30 %30))))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%56 = (* %51 (cos (* (* -2 %8) uy)))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%376 = (PI.f32 )
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux %88))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt (* (- %48 0) (neg (- %48 2))))) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 (sqrt.f32 %154))
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (pow.f32 ux #s(literal 2 binary32)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 (asin.f32 %153)))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) (cos.f32 (*.f32 %376 (+.f32 uy uy))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376)) (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %4 1)) (+ %4 %28)) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 (*.f32 #s(literal 2 binary32) %251)) (*.f32 #s(literal 2 binary32) (/.f32 maxCos ux)))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
Outputs
%11 = (+ (- 1 ux) (* ux maxCos))
%24 = (-.f32 #s(literal 1 binary32) maxCos)
(approx (* (cos (* (* uy 2) (PI ))) (sqrt (- 1 (* %11 %11)))) (sqrt.f32 (approx (- 1 (pow (- (+ 1 (* maxCos ux)) ux) 2)) (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %24 %24) (*.f32 #s(literal -2 binary32) maxCos)))))))
Call 8
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%32 = (- 1 (* %30 %30))
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%56 = (* %51 (cos (* (* -2 %8) uy)))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%131 = (* (- %48 0) (neg (- %48 2)))
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%379 = (cos.f32 (*.f32 %376 (+.f32 uy uy)))
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (pow.f32 ux #s(literal 2 binary32)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %4 1)) (+ %4 %28)) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 (*.f32 #s(literal 2 binary32) %251)) (*.f32 #s(literal 2 binary32) (/.f32 maxCos ux)))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 (sqrt.f32 (approx %131 (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
Outputs
%9 = (- ux (* maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (approx (* (- %9 0) (neg (- %9 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
Call 9
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%32 = (- 1 (* %30 %30))
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%56 = (* %51 (cos (* (* -2 %8) uy)))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%131 = (* (- %48 0) (neg (- %48 2)))
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%379 = (cos.f32 (*.f32 %376 (+.f32 uy uy)))
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%414 = (sqrt.f32 (approx %131 (*.f32 ux (-.f32 #s(literal 2 binary32) ux))))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) (pow.f32 ux #s(literal 2 binary32)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %4 1)) (+ %4 %28)) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 (*.f32 #s(literal 2 binary32) %251)) (*.f32 #s(literal 2 binary32) (/.f32 maxCos ux)))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 (neg.f32 %432) %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 %376 #s(literal 2 binary32)))))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 #s(literal 2 binary32) (*.f32 ux %210)))))
Outputs
%1 = (PI.f32 )
%11 = (- ux (* maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (approx (* (- %11 0) (neg (- %11 2))) (*.f32 ux (-.f32 #s(literal 2 binary32) ux)))))
Call 10
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%31 = (* %30 %30)
%32 = (- 1 %31)
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%54 = (* (* -2 %8) uy)
%56 = (* %51 (cos %54))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%96 = (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%130 = (neg (- %48 2))
%131 = (* (- %48 0) %130)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%308 = (pow.f32 ux #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%378 = (*.f32 %376 (+.f32 uy uy))
%379 = (cos.f32 %378)
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%386 = (+ %4 %28)
%394 = (*.f32 #s(literal 2 binary32) %251)
%396 = (/.f32 maxCos ux)
%411 = (-.f32 #s(literal 2 binary32) ux)
%414 = (sqrt.f32 (approx %131 (*.f32 ux %411)))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 %96))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) %308)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %4 1)) %386) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 %394) (*.f32 #s(literal 2 binary32) %396))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 (neg.f32 %432) %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 %376 #s(literal 2 binary32)))))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 #s(literal 2 binary32) (*.f32 ux %210)))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %152) #s(literal -1 binary32)))))
(*.f32 %383 (sqrt.f32 (*.f32 (-.f32 %135 #s(literal 0 binary32)) (approx %130 %411))))
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %31 %96))))
(*.f32 (sin.f32 (approx (+ %54 (* 1/2 %8)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %376 (*.f32 #s(literal 1/2 binary32) (/.f32 %376 uy)))))) %414)
(approx %34 (sqrt.f32 (approx %38 (*.f32 %308 (-.f32 %394 (fma.f32 #s(literal 2 binary32) %396 %295))))))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %376 %378)) %444)
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %376 %417)) %444)
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 (approx (+ (* maxCos ux) (- 1 ux)) (-.f32 #s(literal 1 binary32) ux)) #s(literal -1 binary32)))))
Call 11
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%31 = (* %30 %30)
%32 = (- 1 %31)
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%54 = (* (* -2 %8) uy)
%56 = (* %51 (cos %54))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%96 = (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%130 = (neg (- %48 2))
%131 = (* (- %48 0) %130)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%308 = (pow.f32 ux #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%378 = (*.f32 %376 (+.f32 uy uy))
%379 = (cos.f32 %378)
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%386 = (+ %4 %28)
%394 = (*.f32 #s(literal 2 binary32) %251)
%396 = (/.f32 maxCos ux)
%411 = (-.f32 #s(literal 2 binary32) ux)
%414 = (sqrt.f32 (approx %131 (*.f32 ux %411)))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 %96))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) %308)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* (- ux (+ %4 1)) %386) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 %394) (*.f32 #s(literal 2 binary32) %396))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 (neg.f32 %432) %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 %376 #s(literal 2 binary32)))))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 #s(literal 2 binary32) (*.f32 ux %210)))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %152) #s(literal -1 binary32)))))
(*.f32 %383 (sqrt.f32 (*.f32 (-.f32 %135 #s(literal 0 binary32)) (approx %130 %411))))
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %31 %96))))
(*.f32 (sin.f32 (approx (+ %54 (* 1/2 %8)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %376 (*.f32 #s(literal 1/2 binary32) (/.f32 %376 uy)))))) %414)
(approx %34 (sqrt.f32 (approx %38 (*.f32 %308 (-.f32 %394 (fma.f32 #s(literal 2 binary32) %396 %295))))))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %376 %378)) %444)
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %376 %417)) %444)
(*.f32 (sqrt.f32 (*.f32 %240 (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))) (cos.f32 (*.f32 (+.f32 %376 %376) uy)))
Outputs
%9 = (PI.f32 )
(*.f32 (sqrt.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (fma.f32 maxCos ux #s(literal 2 binary32))))) (cos.f32 (*.f32 (+.f32 %9 %9) uy)))
Call 12
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%31 = (* %30 %30)
%32 = (- 1 %31)
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%54 = (* (* -2 %8) uy)
%56 = (* %51 (cos %54))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%96 = (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%130 = (neg (- %48 2))
%131 = (* (- %48 0) %130)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%254 = (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%308 = (pow.f32 ux #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%377 = (+.f32 uy uy)
%378 = (*.f32 %376 %377)
%379 = (cos.f32 %378)
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%385 = (- ux (+ %4 1))
%386 = (+ %4 %28)
%394 = (*.f32 #s(literal 2 binary32) %251)
%396 = (/.f32 maxCos ux)
%411 = (-.f32 #s(literal 2 binary32) ux)
%414 = (sqrt.f32 (approx %131 (*.f32 ux %411)))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
%468 = (-.f32 %135 #s(literal 0 binary32))
%471 = (sqrt.f32 (*.f32 %468 (approx %130 %411)))
%484 = (sin.f32 (approx (+ %54 (* 1/2 %8)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %376 (*.f32 #s(literal 1/2 binary32) (/.f32 %376 uy))))))
%499 = (fma.f32 maxCos ux #s(literal 2 binary32))
%505 = (cos.f32 (*.f32 (+.f32 %376 %376) uy))
%512 = (neg.f32 (-.f32 %135 #s(literal 2 binary32)))
%522 = (-.f32 %153 #s(literal -1 binary32))
%529 = (sqrt.f32 (fabs.f32 %240))
%532 = (sqrt.f32 (fabs.f32 (-.f32 %499 ux)))
%540 = (sqrt.f32 (*.f32 %468 %512))
%546 = (+.f32 %152 (*.f32 ux maxCos))
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 %96))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 %254) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) %308)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* %385 %386) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 %394) (*.f32 #s(literal 2 binary32) %396))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 (neg.f32 %432) %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 %376 #s(literal 2 binary32)))))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 #s(literal 2 binary32) (*.f32 ux %210)))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %152) #s(literal -1 binary32)))))
(*.f32 %383 %471)
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %31 %96))))
(*.f32 %484 %414)
(approx %34 (sqrt.f32 (approx %38 (*.f32 %308 (-.f32 %394 (fma.f32 #s(literal 2 binary32) %396 %295))))))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %376 %378)) %444)
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %376 %417)) %444)
(*.f32 (sqrt.f32 (*.f32 %240 (-.f32 ux %499))) %505)
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 #s(literal 2 binary32) %135))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 %512)))
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 (approx %385 (-.f32 ux #s(literal 1 binary32))) %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 %522)))
(*.f32 %439 %471)
(*.f32 %155 %505)
(*.f32 %529 (*.f32 %532 %505))
(*.f32 (*.f32 %505 %529) %532)
(*.f32 %383 (*.f32 %532 %529))
(*.f32 %383 %540)
(*.f32 %383 (sqrt.f32 (*.f32 %468 %522)))
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %546 %546))))
(*.f32 %484 %471)
(*.f32 (sin.f32 (*.f32 %376 (+.f32 #s(literal 1/2 binary32) %377))) %540)
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 %151 %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %254) #s(literal -1 binary32)))))
Outputs
%9 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (*.f32 %9 (-.f32 #s(literal 2 binary32) %9))))
Call 13
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%31 = (* %30 %30)
%32 = (- 1 %31)
%34 = (* %27 (sqrt %32))
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%54 = (* (* -2 %8) uy)
%56 = (* %51 (cos %54))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%96 = (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%130 = (neg (- %48 2))
%131 = (* (- %48 0) %130)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%251 = (/.f32 #s(literal 1 binary32) ux)
%254 = (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%308 = (pow.f32 ux #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%376 = (PI.f32 )
%377 = (+.f32 uy uy)
%378 = (*.f32 %376 %377)
%379 = (cos.f32 %378)
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%385 = (- ux (+ %4 1))
%386 = (+ %4 %28)
%394 = (*.f32 #s(literal 2 binary32) %251)
%396 = (/.f32 maxCos ux)
%411 = (-.f32 #s(literal 2 binary32) ux)
%414 = (sqrt.f32 (approx %131 (*.f32 ux %411)))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
%468 = (-.f32 %135 #s(literal 0 binary32))
%471 = (sqrt.f32 (*.f32 %468 (approx %130 %411)))
%484 = (sin.f32 (approx (+ %54 (* 1/2 %8)) (*.f32 uy (fma.f32 #s(literal -2 binary32) %376 (*.f32 #s(literal 1/2 binary32) (/.f32 %376 uy))))))
%499 = (fma.f32 maxCos ux #s(literal 2 binary32))
%505 = (cos.f32 (*.f32 (+.f32 %376 %376) uy))
%512 = (neg.f32 (-.f32 %135 #s(literal 2 binary32)))
%522 = (-.f32 %153 #s(literal -1 binary32))
%529 = (sqrt.f32 (fabs.f32 %240))
%532 = (sqrt.f32 (fabs.f32 (-.f32 %499 ux)))
%540 = (sqrt.f32 (*.f32 %468 %512))
%546 = (+.f32 %152 (*.f32 ux maxCos))
%549 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %546 %546)))
%581 = (sqrt.f32 %89)
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 %96))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 (*.f32 #s(literal 2 binary32) %118) #s(literal 2 binary32))))))))
(approx (* %27 (sqrt %131)) (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) (*.f32 %240 %240)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 %254) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 (pow.f32 maxCos #s(literal 2 binary32)) %308)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 (cos.f32 %365))
(approx %34 (sin.f32 (acos.f32 %151)))
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* %385 %386) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 %394) (*.f32 #s(literal 2 binary32) %396))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 (neg.f32 %432) %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 (pow.f32 uy #s(literal 2 binary32)) (pow.f32 %376 #s(literal 2 binary32)))))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 #s(literal 2 binary32) (*.f32 ux %210)))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %152) #s(literal -1 binary32)))))
(*.f32 %383 %471)
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %31 %96))))
(*.f32 %484 %414)
(approx %34 (sqrt.f32 (approx %38 (*.f32 %308 (-.f32 %394 (fma.f32 #s(literal 2 binary32) %396 %295))))))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %376 %378)) %444)
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %376 %417)) %444)
(*.f32 (sqrt.f32 (*.f32 %240 (-.f32 ux %499))) %505)
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 #s(literal 2 binary32) %135))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 %512)))
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 (approx %385 (-.f32 ux #s(literal 1 binary32))) %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 %522)))
(*.f32 %439 %471)
(*.f32 %155 %505)
(*.f32 %529 (*.f32 %532 %505))
(*.f32 (*.f32 %505 %529) %532)
(*.f32 %383 (*.f32 %532 %529))
(*.f32 %383 %540)
(*.f32 %383 (sqrt.f32 (*.f32 %468 %522)))
(*.f32 %383 %549)
(*.f32 %484 %471)
(*.f32 (sin.f32 (*.f32 %376 (+.f32 #s(literal 1/2 binary32) %377))) %540)
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 %151 %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %254) #s(literal -1 binary32)))))
(*.f32 %383 (sqrt.f32 (fma.f32 %153 %135 %135)))
(*.f32 (sin.f32 (*.f32 %376 (fma.f32 #s(literal -2 binary32) uy #s(literal 1/2 binary32)))) %549)
(*.f32 (sin.f32 (*.f32 %376 (fma.f32 #s(literal 2 binary32) uy #s(literal 1/2 binary32)))) %549)
(*.f32 %383 (sqrt.f32 (+.f32 (*.f32 %153 %135) %135)))
(approx %34 (approx (sqrt %38) (+.f32 %581 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %308 %295) %581)))))
Outputs
%12 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (fma.f32 (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)) %12 %12)))
Call 14
Inputs
%4 = (* maxCos ux)
%5 = (- (- ux 1) %4)
%8 = (PI )
%14 = (* (sin (acos %5)) (cos (* %8 (* 2 uy))))
%15 = (pow %5 2)
%22 = (approx (- 1 %15) (approx (* (- 2 (* maxCos 2)) ux) (+.f32 ux ux)))
%23 = (sqrt.f32 %22)
%27 = (cos (* (* uy 2) %8))
%28 = (- 1 ux)
%30 = (+ %28 (* ux maxCos))
%31 = (* %30 %30)
%32 = (- 1 %31)
%33 = (sqrt %32)
%34 = (* %27 %33)
%36 = (- (+ 1 %4) ux)
%37 = (pow %36 2)
%38 = (- 1 %37)
%39 = (* 2 maxCos)
%40 = (- 2 %39)
%41 = (* ux %40)
%43 = (*.f32 #s(literal 2 binary32) ux)
%48 = (- ux %4)
%49 = (- %48 1)
%51 = (sin (acos %49))
%54 = (* (* -2 %8) uy)
%56 = (* %51 (cos %54))
%58 = (- 1 (pow %49 2))
%60 = (fma.f32 #s(literal -2 binary32) maxCos #s(literal 2 binary32))
%64 = (approx %56 (sqrt.f32 (approx %58 (*.f32 %60 ux))))
%76 = (+ 2 (* -1 (* ux (pow (- maxCos 1) 2))))
%77 = (- %76 %39)
%81 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) ux))
%87 = (*.f32 #s(literal 2 binary32) maxCos)
%88 = (-.f32 #s(literal 2 binary32) %87)
%89 = (*.f32 ux %88)
%96 = (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 %87 #s(literal 2 binary32))))
%107 = (sqrt.f32 %23)
%110 = (/.f32 ux maxCos)
%118 = (/.f32 #s(literal 1 binary32) maxCos)
%119 = (*.f32 #s(literal 2 binary32) %118)
%130 = (neg (- %48 2))
%131 = (* (- %48 0) %130)
%132 = (sqrt %131)
%133 = (* %27 %132)
%134 = (*.f32 maxCos ux)
%135 = (-.f32 ux %134)
%139 = (sqrt.f32 (*.f32 %135 (-.f32 (+.f32 #s(literal 2 binary32) %134) ux)))
%150 = (fma.f32 maxCos ux #s(literal 1 binary32))
%151 = (-.f32 ux %150)
%152 = (-.f32 #s(literal 1 binary32) ux)
%153 = (fma.f32 maxCos ux %152)
%154 = (fma.f32 %151 %153 #s(literal 1 binary32))
%155 = (sqrt.f32 %154)
%161 = (-.f32 %150 ux)
%162 = (fma.f32 %151 %161 #s(literal 1 binary32))
%181 = (-.f32 maxCos #s(literal 1 binary32))
%182 = (*.f32 ux %181)
%183 = (*.f32 %182 %181)
%184 = (-.f32 #s(literal 2 binary32) %183)
%210 = (-.f32 #s(literal 1 binary32) maxCos)
%240 = (-.f32 %134 ux)
%241 = (*.f32 %240 %240)
%251 = (/.f32 #s(literal 1 binary32) ux)
%254 = (*.f32 ux (-.f32 (+.f32 maxCos %251) #s(literal 1 binary32)))
%269 = (fma.f32 %150 %150 (*.f32 #s(literal -2 binary32) (*.f32 %150 ux)))
%289 = (*.f32 maxCos (-.f32 (+.f32 ux %118) %110))
%295 = (pow.f32 %181 #s(literal 2 binary32))
%307 = (pow.f32 maxCos #s(literal 2 binary32))
%308 = (pow.f32 ux #s(literal 2 binary32))
%340 = (-.f32 #s(literal 2 binary32) (fma.f32 %182 %181 (+.f32 maxCos maxCos)))
%365 = (asin.f32 %153)
%366 = (cos.f32 %365)
%368 = (acos.f32 %151)
%369 = (sin.f32 %368)
%376 = (PI.f32 )
%377 = (+.f32 uy uy)
%378 = (*.f32 %376 %377)
%379 = (cos.f32 %378)
%383 = (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) %376))
%385 = (- ux (+ %4 1))
%386 = (+ %4 %28)
%394 = (*.f32 #s(literal 2 binary32) %251)
%396 = (/.f32 maxCos ux)
%411 = (-.f32 #s(literal 2 binary32) ux)
%412 = (*.f32 ux %411)
%414 = (sqrt.f32 (approx %131 %412))
%417 = (*.f32 #s(literal 1/2 binary32) %376)
%424 = (sqrt.f32 %155)
%432 = (approx (- (- %4 -1) ux) %152)
%439 = (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %376) uy %417))
%441 = (approx %30 %152)
%444 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %441 %441)))
%446 = (neg.f32 %432)
%450 = (pow.f32 uy #s(literal 2 binary32))
%451 = (pow.f32 %376 #s(literal 2 binary32))
%458 = (*.f32 #s(literal 2 binary32) (*.f32 ux %210))
%468 = (-.f32 %135 #s(literal 0 binary32))
%471 = (sqrt.f32 (*.f32 %468 (approx %130 %411)))
%478 = (+ %54 (* 1/2 %8))
%484 = (sin.f32 (approx %478 (*.f32 uy (fma.f32 #s(literal -2 binary32) %376 (*.f32 #s(literal 1/2 binary32) (/.f32 %376 uy))))))
%488 = (*.f32 %308 (-.f32 %394 (fma.f32 #s(literal 2 binary32) %396 %295)))
%499 = (fma.f32 maxCos ux #s(literal 2 binary32))
%502 = (sqrt.f32 (*.f32 %240 (-.f32 ux %499)))
%503 = (+.f32 %376 %376)
%504 = (*.f32 %503 uy)
%505 = (cos.f32 %504)
%512 = (neg.f32 (-.f32 %135 #s(literal 2 binary32)))
%522 = (-.f32 %153 #s(literal -1 binary32))
%524 = (sqrt.f32 (*.f32 %135 %522))
%529 = (sqrt.f32 (fabs.f32 %240))
%530 = (-.f32 %499 ux)
%532 = (sqrt.f32 (fabs.f32 %530))
%540 = (sqrt.f32 (*.f32 %468 %512))
%546 = (+.f32 %152 (*.f32 ux maxCos))
%549 = (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %546 %546)))
%581 = (sqrt.f32 %89)
%585 = (+.f32 %581 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %308 %295) %581)))
%627 = (sqrt.f32 %502)
%632 = (sqrt.f32 %458)
%633 = (*.f32 %210 %181)
%653 = (+.f32 (asin.f32 %432) %417)
%660 = (fabs.f32 %365)
%662 = (+.f32 %660 #s(literal 13176795/8388608 binary32))
%669 = (+.f32 %660 %417)
%686 = (*.f32 uy %376)
%688 = (cos.f32 (*.f32 #s(literal 2 binary32) %686))
%709 = (sin.f32 (fma.f32 #s(literal -2 binary32) %686 %417))
%715 = (approx (* (sin %478) %132) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %308 (*.f32 %709 %633)) %632) (*.f32 %709 %632)))
%716 = (*.f32 %688 %295)
%722 = (neg.f32 %368)
%723 = (+.f32 %365 %376)
%732 = (*.f32 %376 uy)
%733 = (cos.f32 %732)
%735 = (sin.f32 %732)
%737 = (-.f32 (*.f32 %733 %733) (*.f32 %735 %735))
%742 = (pow.f32 %181 #s(literal 4 binary32))
%745 = (pow.f32 %581 #s(literal 3 binary32))
(approx %14 %23)
(approx %34 (sqrt.f32 (approx %38 (approx %41 %43))))
%64
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 #s(literal 2 binary32) maxCos) maxCos)))))
(approx %34 (sqrt.f32 (approx %38 (approx (* ux %77) (*.f32 ux %81)))))
(approx %34 (sqrt.f32 (approx %38 %89)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %37 %96))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (approx %76 %81) %87)))))
(approx %34 (*.f32 %107 %107))
(approx %34 (sqrt.f32 (approx %38 (approx %41 (*.f32 maxCos (fma.f32 #s(literal -2 binary32) ux (*.f32 #s(literal 2 binary32) %110)))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %40 (*.f32 maxCos (-.f32 %119 #s(literal 2 binary32))))))))
(approx %133 %139)
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos (-.f32 %43 #s(literal 2 binary32))))))))))
(approx %14 %155)
(approx (* %51 (cos (* (* %8 2) uy))) (sqrt.f32 %162))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %161))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %153 %153))))
(approx %34 (sqrt.f32 (neg.f32 (fma.f32 %153 %153 #s(literal -1 binary32)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %22 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (fma.f32 maxCos #s(literal -2 binary32) %184)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (-.f32 %184 maxCos) maxCos)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 #s(literal 1 binary32))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) %183)) %87)))))
(approx %34 (sqrt.f32 (approx %38 (fma.f32 ux #s(literal 2 binary32) (*.f32 ux (fma.f32 (neg.f32 ux) (*.f32 %210 %210) (*.f32 #s(literal -2 binary32) maxCos)))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos %152) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (+.f32 #s(literal 1 binary32) %134) ux) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %60 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 %64 #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %135)) %241))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 %153 #s(literal -2 binary32))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 %254) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (*.f32 %161 %152)) (*.f32 (*.f32 %161 maxCos) ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (fma.f32 ux ux %269))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (fma.f32 ux maxCos (approx %28 (*.f32 ux (-.f32 %251 #s(literal 1 binary32))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) %269) (*.f32 ux ux))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 %289) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (-.f32 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (*.f32 ux %295))) %87)))))
(approx %34 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 #s(literal -1 binary32) (*.f32 %307 %308)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (approx %36 (*.f32 #s(literal -1 binary32) (*.f32 maxCos (fma.f32 #s(literal -1 binary32) ux (*.f32 #s(literal -1 binary32) (/.f32 %152 maxCos)))))) #s(literal 2 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %162 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %154 #s(literal -1 binary32)))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (pow.f32 (*.f32 %151 %151) #s(literal -1 binary32))))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal -1 binary32)))))))
(/.f32 #s(literal 1 binary32) (pow.f32 (approx %56 (sqrt.f32 (approx %58 (*.f32 %340 ux)))) #s(literal -1 binary32)))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 #s(literal -1 binary32) (*.f32 ux (fma.f32 #s(literal -1 binary32) (/.f32 %88 ux) %295))))))))
(approx %34 (cos.f32 (asin.f32 %161)))
(approx %34 %366)
(approx %34 %369)
(*.f32 (sqrt.f32 (-.f32 (approx (- 1/2 %15) #s(literal -1/2 binary32)) #s(literal -1/2 binary32))) %379)
(*.f32 %383 (sqrt.f32 (+.f32 (approx (+ (* %385 %386) 1/2) #s(literal -1/2 binary32)) #s(literal 1/2 binary32))))
(approx %34 (sqrt.f32 (approx %38 (*.f32 ux (approx %77 (*.f32 ux (-.f32 (fma.f32 #s(literal -1 binary32) %295 %394) (*.f32 #s(literal 2 binary32) %396))))))))
(approx %34 (sqrt.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (/.f32 #s(literal 1 binary32) (pow.f32 %161 #s(literal -1 binary32))) #s(literal 2 binary32)))))
(*.f32 %383 %414)
(approx %34 (sin.f32 (+.f32 (asin.f32 %151) %417)))
(approx %34 (sin.f32 (+.f32 %365 %417)))
(approx %34 (*.f32 %424 %424))
(*.f32 %383 (sqrt.f32 (approx %32 %89)))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %432 %432))) %379)
(*.f32 %439 %414)
(*.f32 %383 %444)
(*.f32 %383 (sqrt.f32 (fma.f32 %446 %432 #s(literal 1 binary32))))
(*.f32 (approx %27 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) (*.f32 %450 %451)))) %444)
(*.f32 %439 (sqrt.f32 (approx %131 %458)))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %152) #s(literal -1 binary32)))))
(*.f32 %383 %471)
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (approx %31 %96))))
(*.f32 %484 %414)
(approx %34 (sqrt.f32 (approx %38 %488)))
(*.f32 (sin.f32 (fma.f32 #s(literal 1/2 binary32) %376 %378)) %444)
(*.f32 (sin.f32 (fma.f32 (*.f32 uy #s(literal -2 binary32)) %376 %417)) %444)
(*.f32 %502 %505)
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 #s(literal 2 binary32) %135))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 %512)))
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 (approx %385 (-.f32 ux #s(literal 1 binary32))) %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 %524)
(*.f32 %439 %471)
(*.f32 %155 %505)
(*.f32 %529 (*.f32 %532 %505))
(*.f32 (*.f32 %505 %529) %532)
(*.f32 %383 (*.f32 %532 %529))
(*.f32 %383 %540)
(*.f32 %383 (sqrt.f32 (*.f32 %468 %522)))
(*.f32 %383 %549)
(*.f32 %484 %471)
(*.f32 (sin.f32 (*.f32 %376 (+.f32 #s(literal 1/2 binary32) %377))) %540)
(*.f32 %383 (sqrt.f32 (+.f32 (fma.f32 %151 %153 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %254) #s(literal -1 binary32)))))
(*.f32 %383 (sqrt.f32 (fma.f32 %153 %135 %135)))
(*.f32 (sin.f32 (*.f32 %376 (fma.f32 #s(literal -2 binary32) uy #s(literal 1/2 binary32)))) %549)
(*.f32 (sin.f32 (*.f32 %376 (fma.f32 #s(literal 2 binary32) uy #s(literal 1/2 binary32)))) %549)
(*.f32 %383 (sqrt.f32 (+.f32 (*.f32 %153 %135) %135)))
(approx %34 (approx (sqrt %38) %585))
(*.f32 %439 %540)
(*.f32 %383 (sqrt.f32 (*.f32 %468 (approx %130 (*.f32 ux (-.f32 (+.f32 maxCos %394) #s(literal 1 binary32)))))))
(*.f32 %383 (sqrt.f32 (*.f32 %135 (-.f32 (approx %386 %289) #s(literal -1 binary32)))))
(*.f32 %383 (sqrt.f32 (+.f32 (*.f32 %161 %135) (*.f32 #s(literal 1 binary32) %135))))
(*.f32 %383 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 %153 (*.f32 %153 %240)))))
(*.f32 %484 %540)
(*.f32 %383 (sqrt.f32 (*.f32 %468 (approx %130 (*.f32 maxCos (-.f32 (+.f32 ux %119) %110))))))
(*.f32 %383 (sqrt.f32 (sqrt.f32 (*.f32 %241 (*.f32 %530 %530)))))
(*.f32 %383 (sin.f32 (acos.f32 %446)))
(*.f32 %383 (*.f32 %627 %627))
(*.f32 %383 %366)
(*.f32 %383 %369)
(*.f32 %383 (approx %132 (+.f32 %632 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %308 %633) %632)))))
(*.f32 %383 (sqrt.f32 (approx %32 %488)))
(*.f32 (+.f32 (sin.f32 (fma.f32 %503 uy (acos.f32 %153))) (sin.f32 (fma.f32 %503 uy %368))) #s(literal 1/2 binary32))
(*.f32 %383 (approx %33 %585))
(/.f32 (+.f32 (sin.f32 (-.f32 %653 %378)) (sin.f32 (+.f32 %653 %378))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %662 %504)) (sin.f32 (+.f32 %662 %504))) #s(literal 2 binary32))
(/.f32 (+.f32 (sin.f32 (-.f32 %669 %504)) (sin.f32 (+.f32 %669 %504))) #s(literal 2 binary32))
(*.f32 %439 (sqrt.f32 (approx %131 (*.f32 %307 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %412 maxCos) (fma.f32 #s(literal -1 binary32) %308 %412)) maxCos) (*.f32 #s(literal -1 binary32) %308))))))
(approx %133 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %308 (*.f32 %688 %633)) %632) (*.f32 %688 %632)))
(approx %133 (+.f32 %139 (*.f32 %450 (fma.f32 #s(literal -2 binary32) (*.f32 %451 %139) (*.f32 #s(literal 2/3 binary32) (*.f32 %450 (*.f32 (pow.f32 %376 #s(literal 4 binary32)) %139)))))))
%715
%715
(approx %34 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 %308 %716) %581) (*.f32 %688 %581)))
(*.f32 %383 (sqrt.f32 (/.f32 (+.f32 (sin.f32 (-.f32 %722 %723)) (sin.f32 (+.f32 %722 %723))) #s(literal 2 binary32))))
(*.f32 %737 %524)
(*.f32 %737 %540)
(*.f32 %383 (approx %33 (+.f32 %581 (*.f32 %308 (fma.f32 #s(literal -1/2 binary32) (/.f32 %295 %581) (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %308 %742) %745)))))))
(approx %34 (fma.f32 %688 %581 (*.f32 %308 (fma.f32 #s(literal -1/2 binary32) (/.f32 %716 %581) (*.f32 #s(literal -1/8 binary32) (/.f32 (*.f32 %308 (*.f32 %688 %742)) %745))))))
Outputs
%1 = (PI.f32 )
%11 = (-.f32 ux (*.f32 maxCos ux))
(*.f32 (sin.f32 (fma.f32 (*.f32 #s(literal -2 binary32) %1) uy (*.f32 #s(literal 1/2 binary32) %1))) (sqrt.f32 (*.f32 (-.f32 %11 #s(literal 0 binary32)) (neg.f32 (-.f32 %11 #s(literal 2 binary32))))))
Calls

154 calls:

335.0ms
(*.f32 uy #s(literal 2 binary32))
63.0ms
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
49.0ms
(*.f32 uy #s(literal 2 binary32))
40.0ms
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
36.0ms
maxCos
Results
AccuracySegmentsBranch
63.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
63.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
63.6%1
ux
63.6%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
63.6%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
63.6%1
maxCos
63.6%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
63.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
63.6%1
(*.f32 uy #s(literal 2 binary32))
63.6%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
63.6%1
uy
65.6%1
(*.f32 uy #s(literal 2 binary32))
65.6%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
65.6%1
uy
65.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
65.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
65.6%1
ux
65.6%1
maxCos
65.6%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
65.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
65.6%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
65.6%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
77.1%1
(*.f32 uy #s(literal 2 binary32))
77.1%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
77.1%1
uy
77.1%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
77.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
77.1%1
ux
77.1%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
77.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
77.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
77.1%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
77.1%1
maxCos
79.8%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
79.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
79.8%1
ux
79.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
79.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
79.8%1
(*.f32 uy #s(literal 2 binary32))
79.8%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
79.8%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
79.8%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
79.8%1
uy
79.8%1
maxCos
80.5%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
80.5%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
80.5%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
80.5%1
ux
80.5%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
80.5%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
80.5%1
(*.f32 uy #s(literal 2 binary32))
80.5%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
80.5%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
80.5%1
uy
80.5%1
maxCos
80.6%1
(*.f32 uy #s(literal 2 binary32))
80.6%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
80.6%1
uy
80.6%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
80.6%1
ux
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
80.6%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
80.6%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
80.6%1
maxCos
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
80.6%1
ux
80.6%1
maxCos
80.6%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
80.6%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
80.6%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
80.6%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
80.6%1
(*.f32 uy #s(literal 2 binary32))
80.6%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
80.6%1
uy
93.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
93.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
93.8%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
93.8%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
93.8%1
ux
93.8%1
maxCos
93.8%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
93.8%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
93.8%1
(*.f32 uy #s(literal 2 binary32))
93.8%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
93.8%1
uy
93.9%1
(*.f32 uy #s(literal 2 binary32))
93.9%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
93.9%1
uy
93.9%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
93.9%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
93.9%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
93.9%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
93.9%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
93.9%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
93.9%1
ux
93.9%1
maxCos
98.2%1
(*.f32 uy #s(literal 2 binary32))
98.2%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
98.2%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
98.2%1
uy
98.2%1
maxCos
98.2%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
98.2%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
98.2%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
98.2%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
98.2%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
98.2%1
ux
99.0%1
(*.f32 uy #s(literal 2 binary32))
99.0%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
99.0%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
99.0%1
uy
99.0%1
maxCos
99.0%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
99.0%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
99.0%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
99.0%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
99.0%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
99.0%1
ux
99.1%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
99.1%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
99.1%1
(*.f32 uy #s(literal 2 binary32))
99.1%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
99.1%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
99.1%1
ux
99.1%1
uy
99.1%1
maxCos
99.1%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
99.1%1
(*.f32 uy #s(literal 2 binary32))
99.1%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
99.1%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
99.1%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
99.1%1
ux
99.1%1
uy
99.1%1
maxCos
99.1%1
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 %5 %5)
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) (*.f32 %5 %5))
99.1%1
%5 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %5 %5)))
99.1%1
(*.f32 uy #s(literal 2 binary32))
99.1%1
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))
99.1%1
(cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 )))
99.1%1
%11 = (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32 ))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 %11 %11))))
99.1%1
ux
99.1%1
uy
99.1%1
maxCos
Compiler

Compiled 2 805 to 571 computations (79.6% saved)

derivations236.0ms (4.5%)

Memory
-2.7MiB live, 152.6MiB allocated; 11ms collecting garbage
Stop Event
fuel
Compiler

Compiled 222 to 84 computations (62.2% saved)

preprocess75.0ms (1.4%)

Memory
31.2MiB live, 156.1MiB allocated; 13ms collecting garbage
Compiler

Compiled 691 to 436 computations (36.9% saved)

end0.0ms (0.0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...