Details

Time bar (total: 16.4s)

analyze212.0ms (1.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.1%99.9%0
0%0.1%99.9%1
0%0.1%99.9%2
0%0.1%99.9%3
0%0%99.9%4
0%0%99.9%5
0%0%99.9%6
0.1%0%99.9%7
0.1%0%99.9%8
0.1%0%99.9%9
0.1%0%99.9%10
0.1%0%99.9%11
0.1%0%99.9%12
Compiler

Compiled 51 to 37 computations (27.5% saved)

sample2.1s (12.9%)

Results
2.1s8256×body256valid

preprocess67.0ms (0.4%)

Algorithm
egg-herbie
Rules
776×unsub-neg_binary32
682×distribute-neg-in_binary32
542×associate-+r+_binary32
478×associate--r+_binary32
301×associate-*l*_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043156
1127140
2449140
32106132
46967132
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 ux 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux uy)) (+.f32 (-.f32 1 ux) (*.f32 ux uy))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 ux 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 ux))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 ux (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 uy maxCos (-.f32 1 uy)) (fma.f32 uy maxCos (-.f32 1 uy))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) ux))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 (fma.f32 uy maxCos 1) uy) (-.f32 (fma.f32 uy maxCos 1) uy)))))
(*.f32 (cos.f32 (*.f32 ux (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 uy maxCos 1) uy) (-.f32 uy (fma.f32 uy maxCos 1)) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 maxCos)) (+.f32 (*.f32 ux maxCos) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 maxCos)) (fma.f32 ux maxCos (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) maxCos) (+.f32 -1 (*.f32 (-.f32 1 ux) maxCos)) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) maxCos) (-.f32 maxCos (fma.f32 ux maxCos 1)) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux uy)) (+.f32 (-.f32 1 ux) (*.f32 ux uy))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 maxCos))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 uy ux)) (+.f32 (-.f32 1 ux) (*.f32 uy ux))))))
(*.f32 (cos.f32 (*.f32 maxCos (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 uy ux (-.f32 1 ux)) (fma.f32 uy ux (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) maxCos))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 (fma.f32 uy ux 1) ux) (-.f32 (fma.f32 uy ux 1) ux)))))
(*.f32 (cos.f32 (*.f32 maxCos (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 uy ux (-.f32 1 ux)) (-.f32 ux (fma.f32 uy ux 1)) 1)))
Compiler

Compiled 31 to 23 computations (25.8% saved)

simplify66.0ms (0.4%)

Algorithm
egg-herbie
Rules
674×fma-neg_binary32
576×associate-+l-_binary32
412×associate-+r-_binary32
387×associate--l-_binary32
303×distribute-rgt-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01739
14135
212835
357233
4317433
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))

eval1.0ms (0%)

Compiler

Compiled 50 to 35 computations (30% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.9b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
13.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
Compiler

Compiled 53 to 39 computations (26.4% saved)

localize126.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))
0.2b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
13.7b
(fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)
Compiler

Compiled 93 to 60 computations (35.5% saved)

series31.0ms (0.2%)

Counts
4 → 88
Calls

24 calls:

TimeVariablePointExpression
3.0ms
uy
@inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
2.0ms
maxCos
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
2.0ms
ux
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
2.0ms
ux
@-inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
2.0ms
uy
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))

rewrite97.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
972×prod-diff_binary32
376×fma-def_binary32
314×log1p-udef_binary32
311×expm1-udef_binary32
233×fma-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01781
135881
2458281
Stop Event
node limit
Counts
4 → 83
Calls
Call 1
Inputs
(fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)
(*.f32 uy (*.f32 2 (PI.f32)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
(sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 2) (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) (*.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4)) (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) 3) 1) (fma.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) (-.f32 1 (*.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))) -1) (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 2) uy))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 uy 3) (pow.f32 (*.f32 2 (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 2 (PI.f32)) 3) (pow.f32 uy 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3) (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3/2) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 2)) (sqrt.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 2) 1/2) (pow.f32 (cbrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 1 (sqrt.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 1 (*.f32 (sqrt.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1))))) 1))))))

simplify113.0ms (0.7%)

Algorithm
egg-herbie
Rules
560×associate-*l/_binary32
316×fma-def_binary32
303×associate-*r*_binary32
269×associate-/r/_binary32
242×*-commutative_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03115547
111345045
245364375
Stop Event
node limit
Counts
171 → 196
Calls
Call 1
Inputs
(*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))))
(+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2)) ux)))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 3)) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2)) ux))))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))))))
(+.f32 (*.f32 -1/4 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))) (*.f32 (pow.f32 maxCos 3) (*.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
Outputs
(*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))
(*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))
(*.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)))
(*.f32 ux (*.f32 2 (-.f32 1 maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))
(*.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)) (-.f32 1 maxCos))
(*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)) (-.f32 1 maxCos))
(*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 -1 (*.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) ux)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(fma.f32 ux (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))
(fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))
(+.f32 1 (fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 (+.f32 ux -1) (-.f32 1 ux))))
(+.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) (*.f32 2 (*.f32 ux (*.f32 (+.f32 ux -1) maxCos)))))
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 1 (+.f32 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 (neg.f32 maxCos) maxCos))
(*.f32 maxCos (*.f32 maxCos (*.f32 ux (neg.f32 ux))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)))
(*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (*.f32 ux ux) maxCos)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 (neg.f32 maxCos) maxCos))
(*.f32 maxCos (*.f32 maxCos (*.f32 ux (neg.f32 ux))))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)))
(*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (*.f32 ux ux) maxCos)))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (fma.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))
(-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 uy (*.f32 (PI.f32) 2))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1))
(sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)) 1)))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))) (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (*.f32 -4/45 (*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(+.f32 (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))) (*.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) 1) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (+.f32 (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 (-.f32 ux 1) (*.f32 ux maxCos)) (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 -1 maxCos) 1) 1)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))))
(*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(*.f32 ux (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 (*.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(fma.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 2 (-.f32 1 maxCos)) 1/2))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 ux (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 (*.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 -1/8 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))))
(fma.f32 -1/8 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 2 (-.f32 1 maxCos)) 1/2)))))
(+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(fma.f32 1/16 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5))))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 ux (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 (*.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 1/16 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 3) ux)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5))))) (fma.f32 -1/8 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))))
(fma.f32 1/16 (*.f32 (*.f32 (/.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3) (*.f32 ux ux)) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 -1 maxCos) 5)) (pow.f32 (-.f32 1 maxCos) 5)))) (fma.f32 -1/8 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 2 (-.f32 1 maxCos)) 1/2))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(*.f32 ux (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))
(+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))))
(fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))))))
(-.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 (+.f32 -1 maxCos) 2) 1/2) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2)) ux)))))
(fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 ux (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 2)))))))
(-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 2)) 1/8))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 (+.f32 -1 maxCos) 2) 1/2) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 2)) 1/8)))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 3)) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1)))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2)) ux))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 3)))) (fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 ux (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 2))))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 3) ux))) (-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 2)) 1/8))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 -1 maxCos) 5)) (pow.f32 (-.f32 1 maxCos) 5))) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 3) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 (+.f32 -1 maxCos) 2) 1/2) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 2)) 1/8))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))))))
(fma.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 1/2 (*.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 1/2 (*.f32 (*.f32 2 (*.f32 ux (*.f32 (+.f32 ux -1) maxCos))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))))))
(fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (fma.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 1/2 (*.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))) (*.f32 (*.f32 1/2 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) maxCos)))))
(+.f32 (*.f32 -1/4 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))))))))
(fma.f32 -1/4 (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)) (*.f32 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 maxCos 3))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) 3))))) (fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (fma.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))))))))
(fma.f32 -1/4 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) 3)))))) (fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 1/2 (*.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))))))))
(fma.f32 -1/4 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) (*.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (pow.f32 maxCos 3))) (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) 3))))) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))) (*.f32 (*.f32 1/2 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(*.f32 (sqrt.f32 -1) (*.f32 (*.f32 ux maxCos) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (*.f32 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) ux)) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(fma.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) ux)) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)) (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))))
(fma.f32 1/2 (*.f32 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 ux maxCos))))))
(+.f32 (*.f32 (sqrt.f32 -1) (*.f32 (*.f32 ux maxCos) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) ux)) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)) (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))))) (fma.f32 -1/4 (/.f32 (*.f32 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))))
(fma.f32 1/2 (*.f32 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 ux maxCos))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 3) (neg.f32 (sqrt.f32 -1)))) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2))))))))
(+.f32 (fma.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 (/.f32 -1/4 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3)))) (*.f32 (/.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (neg.f32 (sqrt.f32 -1))) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))
(*.f32 (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (*.f32 maxCos (sqrt.f32 -1)) (*.f32 (neg.f32 ux) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))))
(-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))
(-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 (/.f32 ux (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 (*.f32 ux maxCos) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 ux maxCos))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))) (-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))))
(-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) ux) (*.f32 (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 ux maxCos)) -1/2))) (*.f32 (sqrt.f32 -1) (*.f32 (*.f32 ux maxCos) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 ux maxCos))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))))))
(fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (pow.f32 ux 3)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))) (-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))))
(+.f32 (-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) ux) (*.f32 (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 ux maxCos)) -1/2))) (*.f32 (sqrt.f32 -1) (*.f32 (*.f32 ux maxCos) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))) (/.f32 (*.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)))) -1/2) (/.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 3) (neg.f32 (sqrt.f32 -1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 2 (-.f32 1 maxCos)) 1/2)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(fma.f32 1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 2) ux) -1/8))))
(fma.f32 1/2 (*.f32 (*.f32 2 (-.f32 1 maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (*.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 2) -1/8) ux))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (-.f32 1 maxCos)) 2) ux) -1/8)))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 -1 maxCos) 5)) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (*.f32 2 (-.f32 1 maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (*.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 2) -1/8) ux)))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))
(neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))
(fma.f32 1/2 (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(-.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 1/2)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(fma.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 (*.f32 (+.f32 -1 maxCos) 2) 1/2) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))))
(fma.f32 1/2 (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(-.f32 (fma.f32 1/2 (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(-.f32 (fma.f32 1/2 (*.f32 (*.f32 (+.f32 -1 maxCos) 2) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 maxCos (*.f32 -1 (+.f32 1 (*.f32 -1 maxCos)))) 1) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 maxCos (-.f32 (neg.f32 (-.f32 1 maxCos)) 1)) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 3) (*.f32 ux ux))) (-.f32 (fma.f32 1/2 (*.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 -1 (+.f32 maxCos (+.f32 -1 maxCos))) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 -1 maxCos) 5)) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 3) (*.f32 ux ux))) (-.f32 (fma.f32 1/2 (*.f32 (*.f32 (+.f32 -1 maxCos) 2) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) 2) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))
(sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(fma.f32 1/2 (*.f32 (*.f32 2 (*.f32 ux (*.f32 (+.f32 ux -1) maxCos))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))
(+.f32 (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (+.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2))))))
(+.f32 (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (*.f32 maxCos (+.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) maxCos)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos))) (+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))) (*.f32 (pow.f32 maxCos 3) (*.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2)))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (fma.f32 -1/4 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) 3))) (pow.f32 maxCos 3)) (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))))
(+.f32 (+.f32 (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (+.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)))))) (*.f32 -1/4 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) 3))) (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (pow.f32 maxCos 3))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)))))
(+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))) 2)) (+.f32 (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (*.f32 maxCos maxCos)) (*.f32 (*.f32 -1/4 (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) 3)))) (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (pow.f32 maxCos 3))))) (fma.f32 1/2 (*.f32 (*.f32 2 (*.f32 ux (*.f32 (+.f32 ux -1) maxCos))) (sqrt.f32 (/.f32 1 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))
(*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))
(fma.f32 (*.f32 ux maxCos) (sqrt.f32 -1) (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))))
(fma.f32 (*.f32 ux maxCos) (sqrt.f32 -1) (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))
(fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1))) (fma.f32 (*.f32 ux maxCos) (sqrt.f32 -1) (/.f32 1/2 (/.f32 (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2))))))
(+.f32 (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos)))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1/4 (*.f32 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))))
(fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1))) (fma.f32 (*.f32 ux maxCos) (sqrt.f32 -1) (/.f32 1/2 (/.f32 (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (+.f32 ux -1)) (fma.f32 ux (neg.f32 ux) ux)) (*.f32 ux (sqrt.f32 -1)))) 2)))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2)) (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))))) (+.f32 (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))
(*.f32 (*.f32 ux maxCos) (neg.f32 (sqrt.f32 -1)))
(*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))
(-.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/2 (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))) (neg.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1)))))
(-.f32 (fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (*.f32 -1/2 (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(+.f32 (-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (*.f32 (/.f32 -1/2 (*.f32 ux maxCos)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/4 (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (/.f32 (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3))) (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))))) (fma.f32 -1/2 (/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))) (neg.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 -1))))))
(fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (neg.f32 (sqrt.f32 -1))) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (*.f32 -1/2 (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))
(+.f32 (+.f32 (-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (*.f32 (/.f32 -1/2 (*.f32 ux maxCos)) (/.f32 (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (sqrt.f32 -1)))) (/.f32 (*.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)))) -1/2) (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 3) (neg.f32 (sqrt.f32 -1))))))

localize107.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b
(*.f32 (*.f32 uy 2) (PI.f32))
0.4b
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
12.6b
(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
Compiler

Compiled 111 to 62 computations (44.1% saved)

series22.0ms (0.1%)

Counts
4 → 92
Calls

24 calls:

TimeVariablePointExpression
3.0ms
maxCos
@inf
(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
2.0ms
uy
@0
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
2.0ms
ux
@0
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
2.0ms
maxCos
@0
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
1.0ms
ux
@-inf
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
644×fma-def_binary32
323×expm1-udef_binary32
321×log1p-udef_binary32
268×log-pow_binary32
260×fma-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01767
137161
2515761
Stop Event
node limit
Counts
4 → 142
Calls
Call 1
Inputs
(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
(*.f32 (*.f32 uy 2) (PI.f32))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (pow.f32 (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (*.f32 (cbrt.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 2) (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1/4) (*.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1/4) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6)) (/.f32 1 (+.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (/.f32 1 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1/4)) (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (cbrt.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6)) (+.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6))) (neg.f32 (+.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4))) (neg.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 3)) (+.f32 1 (-.f32 (*.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (-.f32 1 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)) (neg.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (-.f32 (fma.f32 ux maxCos 1) ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (cbrt.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (cbrt.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (sqrt.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4))) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1) (-.f32 (fma.f32 ux maxCos 1) ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)) (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (neg.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) 1) (*.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (*.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2)) (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (*.f32 (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) 3) (pow.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) 3)) (fma.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (-.f32 (*.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))) (-.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (fma.f32 ux maxCos 1) ux)) (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (fma.f32 ux maxCos 1) ux)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (fma.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (neg.f32 (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (exp.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log1p.f32 (fma.f32 -1 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (fma.f32 -1 ux (*.f32 ux maxCos))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log1p.f32 (fma.f32 -1 ux (*.f32 ux maxCos)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 maxCos (*.f32 ux (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (*.f32 ux maxCos) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (*.f32 (cbrt.f32 (*.f32 ux maxCos)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) (*.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) (*.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (-.f32 1 ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (*.f32 (cbrt.f32 (-.f32 1 ux)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux maxCos)) (*.f32 (sqrt.f32 (*.f32 ux maxCos)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (-.f32 1 ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 1 ux)) (*.f32 (sqrt.f32 (-.f32 1 ux)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) 1 (*.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (cbrt.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))) (cbrt.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (cbrt.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (cbrt.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux))) (cbrt.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))) (cbrt.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (hypot.f32 1 (-.f32 (fma.f32 ux maxCos 1) ux)) (hypot.f32 1 (-.f32 (fma.f32 ux maxCos 1) ux)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux))) (sqrt.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (*.f32 ux maxCos))) (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (*.f32 ux maxCos))) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux maxCos)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (sqrt.f32 (*.f32 ux maxCos)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (-.f32 1 ux))) (*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) ux) maxCos (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) maxCos) ux (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2)) (cbrt.f32 (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 1 ux) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)) (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 1 ux) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 ux maxCos) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)) (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2)) (cbrt.f32 (-.f32 1 ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (sqrt.f32 (-.f32 1 ux))) (sqrt.f32 (-.f32 1 ux)) (*.f32 (*.f32 ux maxCos) (-.f32 (fma.f32 ux maxCos 1) ux)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 uy 2) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 (*.f32 uy 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3) (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 3/2) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (fma.f32 1/2 (log1p.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (log.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (fma.f32 1/2 (log1p.f32 (neg.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (log.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))) 1))))))

simplify86.0ms (0.5%)

Algorithm
egg-herbie
Rules
701×distribute-rgt-in_binary32
683×distribute-lft-in_binary32
259×associate-*r*_binary32
215×fma-def_binary32
209×associate-/r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02273504
18153290
234873106
Stop Event
node limit
Counts
234 → 235
Calls
Call 1
Inputs
(*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(-.f32 1 (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
1
(+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))
(+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))
(+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))
(+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(pow.f32 (-.f32 1 ux) 2)
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2)))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2)))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (+.f32 (*.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 2)) (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux)))))
(+.f32 (*.f32 1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 3)) (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (+.f32 (*.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 2)) (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 (*.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 (*.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))) (+.f32 (*.f32 -1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (+.f32 2 (*.f32 -2 maxCos)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 (pow.f32 maxCos 3) (*.f32 ux (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))))) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) 3))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
Outputs
(*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)
(*.f32 (fma.f32 -2 maxCos 2) ux)
(*.f32 (fma.f32 maxCos -2 2) ux)
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))
(*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 (neg.f32 ux) ux))
(*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux (neg.f32 ux)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))
(*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2)))
(*.f32 (*.f32 ux ux) (neg.f32 (pow.f32 (-.f32 1 maxCos) 2)))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(fma.f32 ux (fma.f32 -2 maxCos 2) (neg.f32 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux)))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(fma.f32 ux (fma.f32 -2 maxCos 2) (neg.f32 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux)))
(+.f32 (*.f32 ux (+.f32 2 (*.f32 -2 maxCos))) (*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(fma.f32 ux (fma.f32 -2 maxCos 2) (neg.f32 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))
(-.f32 (*.f32 (fma.f32 maxCos -2 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux)))
(-.f32 1 (pow.f32 (-.f32 1 ux) 2))
(-.f32 (+.f32 1 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (pow.f32 (-.f32 1 ux) 2))
(-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (*.f32 (-.f32 1 ux) (-.f32 (*.f32 maxCos (*.f32 ux -2)) (-.f32 1 ux))))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 (*.f32 maxCos ux) (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 (*.f32 maxCos ux) (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (fma.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (-.f32 (fma.f32 -2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (-.f32 1 ux)) (*.f32 maxCos ux))) (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))
1
(+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux))
(+.f32 1 (*.f32 ux (fma.f32 2 maxCos -2)))
(fma.f32 ux (fma.f32 2 maxCos -2) 1)
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (fma.f32 (fma.f32 2 maxCos -2) ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(+.f32 1 (fma.f32 ux (fma.f32 2 maxCos -2) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 1 (*.f32 ux (+.f32 (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 2 maxCos -2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (fma.f32 (fma.f32 2 maxCos -2) ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(+.f32 1 (fma.f32 ux (fma.f32 2 maxCos -2) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 1 (*.f32 ux (+.f32 (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 2 maxCos -2))))
(*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))
(*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))
(*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))
(+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))
(fma.f32 (fma.f32 2 maxCos -2) ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))
(fma.f32 ux (fma.f32 2 maxCos -2) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (+.f32 (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 2 maxCos -2)))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (fma.f32 (fma.f32 2 maxCos -2) ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(+.f32 1 (fma.f32 ux (fma.f32 2 maxCos -2) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 1 (*.f32 ux (+.f32 (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 2 maxCos -2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux) (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(+.f32 1 (fma.f32 (fma.f32 2 maxCos -2) ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(+.f32 1 (fma.f32 ux (fma.f32 2 maxCos -2) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 1 (*.f32 ux (+.f32 (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 2 maxCos -2))))
(*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))
(*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))
(*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2))
(+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))
(fma.f32 -1 (*.f32 (fma.f32 -2 maxCos 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2)))
(-.f32 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)) (*.f32 (fma.f32 maxCos -2 2) ux))
(*.f32 ux (-.f32 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux) (fma.f32 maxCos -2 2)))
(+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(+.f32 1 (fma.f32 -1 (*.f32 (fma.f32 -2 maxCos 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))
(+.f32 1 (-.f32 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)) (*.f32 (fma.f32 maxCos -2 2) ux)))
(+.f32 1 (*.f32 ux (-.f32 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux) (fma.f32 maxCos -2 2))))
(+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))
(+.f32 1 (fma.f32 -1 (*.f32 (fma.f32 -2 maxCos 2) ux) (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))
(+.f32 1 (-.f32 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)) (*.f32 (fma.f32 maxCos -2 2) ux)))
(+.f32 1 (*.f32 ux (-.f32 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) ux) (fma.f32 maxCos -2 2))))
(pow.f32 (-.f32 1 ux) 2)
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2))
(fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2))
(*.f32 (-.f32 1 ux) (+.f32 (-.f32 1 ux) (*.f32 2 (*.f32 maxCos ux))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(+.f32 (*.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (fma.f32 2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (+.f32 2 (*.f32 ux -2)))))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 2 (*.f32 uy (PI.f32)))
(sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2)))
(sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2)))
(sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2)))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 -2 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(*.f32 (+.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2)))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (fma.f32 2/3 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -2 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (+.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) 1)))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (fma.f32 2/3 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 -2 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))))
(+.f32 (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))) (*.f32 (+.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2)))))
(+.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) 2))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1))))
(*.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux (sqrt.f32 -1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 maxCos -1) ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 -2 maxCos 2) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 maxCos -1) ux)) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (/.f32 (fma.f32 maxCos -2 2) (/.f32 (+.f32 maxCos -1) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (+.f32 (*.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 2)) (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 -2 maxCos 2) (sqrt.f32 -1))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (pow.f32 (fma.f32 -2 maxCos 2) 2) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1))) (*.f32 (/.f32 -1/8 (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 2)) (*.f32 (sqrt.f32 -1) (neg.f32 ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 maxCos -1) ux)) (*.f32 (/.f32 -1/8 (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 2)) (*.f32 (sqrt.f32 -1) (neg.f32 ux))))))
(+.f32 (*.f32 1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 3)) (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (*.f32 (-.f32 maxCos 1) (sqrt.f32 -1)))) (+.f32 (*.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 2)) (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 maxCos 1) (*.f32 (sqrt.f32 -1) ux))))))
(fma.f32 1/16 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 maxCos -1) 5)) (/.f32 (pow.f32 (fma.f32 -2 maxCos 2) 3) (*.f32 (*.f32 ux ux) (pow.f32 (sqrt.f32 -1) 5)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 -2 maxCos 2) (sqrt.f32 -1))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (pow.f32 (fma.f32 -2 maxCos 2) 2) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1)))))))
(fma.f32 1/16 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 ux ux) (pow.f32 (sqrt.f32 -1) 5))) (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 3) (pow.f32 (+.f32 maxCos -1) 5))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 maxCos -1) (*.f32 ux (sqrt.f32 -1))) (*.f32 (/.f32 -1/8 (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 2)) (*.f32 (sqrt.f32 -1) (neg.f32 ux)))))))
(fma.f32 1/16 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (sqrt.f32 -1) 5))) (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 maxCos -1)) (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 maxCos -1) ux)) (*.f32 (/.f32 -1/8 (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 2)) (*.f32 (sqrt.f32 -1) (neg.f32 ux)))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (neg.f32 maxCos))))))
(*.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) (sqrt.f32 -1))) (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (-.f32 1 maxCos) (neg.f32 ux)))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 maxCos 2) (+.f32 1 (neg.f32 maxCos)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (neg.f32 maxCos)))))))
(-.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 maxCos -2 2) (-.f32 1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (-.f32 1 maxCos) (sqrt.f32 -1)))))
(-.f32 (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (/.f32 (sqrt.f32 -1) (fma.f32 maxCos -2 2)) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 ux (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 (*.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 maxCos 2) (+.f32 1 (neg.f32 maxCos)))) (fma.f32 1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (pow.f32 (fma.f32 -2 maxCos 2) 2) (*.f32 ux (pow.f32 (+.f32 1 (neg.f32 maxCos)) 3)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (neg.f32 maxCos))))))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 maxCos -2 2) (-.f32 1 maxCos))) (*.f32 1/8 (*.f32 (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 2) (*.f32 (sqrt.f32 -1) (neg.f32 ux))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (-.f32 1 maxCos) (sqrt.f32 -1)))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 maxCos))) (*.f32 1/8 (*.f32 (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 2) (neg.f32 (sqrt.f32 -1))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 ux (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 -1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 (*.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))) (+.f32 (*.f32 -1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (+.f32 2 (*.f32 -2 maxCos)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 maxCos 2) (+.f32 1 (neg.f32 maxCos)))) (fma.f32 1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (pow.f32 (fma.f32 -2 maxCos 2) 2) (*.f32 ux (pow.f32 (+.f32 1 (neg.f32 maxCos)) 3)))) (fma.f32 -1/16 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 5))) (pow.f32 (fma.f32 -2 maxCos 2) 3))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 1 (neg.f32 maxCos)))))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 maxCos -2 2) (-.f32 1 maxCos))) (-.f32 (fma.f32 1/8 (*.f32 (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 2) (*.f32 (sqrt.f32 -1) (neg.f32 ux))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 -1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 3)) (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (-.f32 1 maxCos) 5) (pow.f32 (sqrt.f32 -1) 5)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (-.f32 1 maxCos) (sqrt.f32 -1))))))
(fma.f32 -1/2 (*.f32 (/.f32 (fma.f32 maxCos -2 2) (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 maxCos))) (-.f32 (fma.f32 1/8 (*.f32 (/.f32 (pow.f32 (fma.f32 maxCos -2 2) 2) (neg.f32 (sqrt.f32 -1))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (fma.f32 maxCos -2 2) 3)) -1/16) (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (-.f32 1 maxCos) 5) (pow.f32 (sqrt.f32 -1) 5))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 ux (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))
(-.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (*.f32 ux (*.f32 maxCos (-.f32 1 ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))) (*.f32 (*.f32 maxCos ux) (*.f32 (-.f32 1 ux) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (fma.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos maxCos) (+.f32 (*.f32 ux ux) (pow.f32 (neg.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 ux (-.f32 1 ux)))) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (+.f32 (*.f32 (*.f32 (neg.f32 (-.f32 1 ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos ux)) (*.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (*.f32 maxCos (fma.f32 ux ux (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (neg.f32 (*.f32 ux (-.f32 1 ux)))) 2))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (neg.f32 (*.f32 maxCos (*.f32 ux (-.f32 1 ux)))) (*.f32 -1/2 (*.f32 maxCos (*.f32 maxCos (fma.f32 ux ux (pow.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (neg.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))) 2)))))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 (pow.f32 maxCos 3) (*.f32 ux (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))))) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) 3))))) (+.f32 (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (+.f32 (pow.f32 ux 2) (pow.f32 (*.f32 -1 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (-.f32 1 ux) ux))) 2)))) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))) (fma.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (*.f32 (pow.f32 maxCos 3) (*.f32 ux (+.f32 (*.f32 ux ux) (pow.f32 (neg.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 ux (-.f32 1 ux)))) 2)))))) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) 3)))) (fma.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos maxCos) (+.f32 (*.f32 ux ux) (pow.f32 (neg.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 ux (-.f32 1 ux)))) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))
(+.f32 (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (+.f32 (*.f32 (*.f32 (neg.f32 (-.f32 1 ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos ux)) (*.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (*.f32 maxCos (fma.f32 ux ux (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (neg.f32 (*.f32 ux (-.f32 1 ux)))) 2)))))))) (*.f32 -1/2 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) (*.f32 ux (pow.f32 maxCos 3))) (fma.f32 ux ux (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))) (neg.f32 (*.f32 ux (-.f32 1 ux)))) 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) 3)))))))
(+.f32 (*.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (+.f32 (*.f32 (*.f32 ux (*.f32 (fma.f32 ux ux (pow.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (neg.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))) 2)) (pow.f32 maxCos 3))) (*.f32 (-.f32 1 ux) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) 3))))) (*.f32 (fma.f32 ux ux (pow.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (neg.f32 (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))))))) 2)) (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (sqrt.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2))) (*.f32 (*.f32 maxCos ux) (*.f32 (-.f32 1 ux) (sqrt.f32 (/.f32 1 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)))
(*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))))
(-.f32 (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux)))
(-.f32 (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (*.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (fma.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (neg.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)))))
(-.f32 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos ux)) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (sqrt.f32 -1))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux)))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (*.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (-.f32 1 (+.f32 (pow.f32 (*.f32 -1 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2) (pow.f32 (-.f32 1 ux) 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (fma.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (neg.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (*.f32 (*.f32 (-.f32 1 ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (neg.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1))) 2)))) (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (sqrt.f32 -1) 3))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos ux)) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 (-.f32 1 ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 (neg.f32 maxCos) maxCos))) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (*.f32 ux ux)))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux)))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))) (*.f32 (/.f32 1/2 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (*.f32 (/.f32 (*.f32 (-.f32 1 ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (neg.f32 (sqrt.f32 -1))) (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2)))))) (*.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 maxCos (neg.f32 ux)))
(*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)))))
(fma.f32 (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux)))
(-.f32 (*.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1))))))
(+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux)) (-.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos ux)) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (sqrt.f32 -1)))) (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))))
(-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (-.f32 1 ux) (*.f32 (/.f32 (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux)) -1/2))) (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(+.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 ux)) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 1 ux) (-.f32 1 (+.f32 (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2) (pow.f32 (-.f32 1 ux) 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (-.f32 1 ux))) (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))))) (fma.f32 -1/2 (/.f32 (*.f32 (*.f32 (-.f32 1 ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2)))) (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (sqrt.f32 -1) 3))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos ux) (sqrt.f32 -1)))))))
(+.f32 (*.f32 -1/2 (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos ux)) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (sqrt.f32 -1))) (*.f32 (/.f32 (*.f32 (-.f32 1 ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 (neg.f32 maxCos) maxCos))) (/.f32 (-.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) (*.f32 ux ux))))) (fma.f32 (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 1 ux))))
(+.f32 (-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (-.f32 1 ux) (*.f32 (/.f32 (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux)) -1/2))) (*.f32 (*.f32 maxCos ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (*.f32 (*.f32 (/.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (-.f32 (-.f32 1 (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (/.f32 (-.f32 1 ux) (sqrt.f32 -1)) 2))) -1/2)))

eval354.0ms (2.2%)

Compiler

Compiled 16837 to 12152 computations (27.8% saved)

prune92.0ms (0.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New41417431
Fresh000
Picked101
Done101
Total41617433
Error
0.2b
Counts
433 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
13.2b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 ux) (+.f32 (-.f32 1 ux) (*.f32 2 (*.f32 maxCos ux)))))))
17.7b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux)))))
13.2b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) 2))
16.0b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
29.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
8.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)))
13.2b
(*.f32 (cos.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
13.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (-.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1))))
13.5b
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
0.3b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
25.2b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
13.2b
(*.f32 (cos.f32 (expm1.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32)))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
13.8b
(sqrt.f32 (*.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))
0.3b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
14.7b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (pow.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) 3))))
Compiler

Compiled 814 to 656 computations (19.4% saved)

localize139.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
0.1b
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.2b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
Compiler

Compiled 161 to 118 computations (26.7% saved)

series52.0ms (0.3%)

Counts
3 → 64
Calls

18 calls:

TimeVariablePointExpression
35.0ms
maxCos
@inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
2.0ms
maxCos
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
2.0ms
uy
@inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
2.0ms
maxCos
@-inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
2.0ms
uy
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
378×expm1-udef_binary32
376×log1p-udef_binary32
255×add-sqr-sqrt_binary32
250×pow1_binary32
249×*-un-lft-identity_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02388
150258
2725458
Stop Event
node limit
Counts
3 → 60
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3) (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))) (cbrt.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1/4) (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))) 2)) (sqrt.f32 (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))) 2) 1/2) (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (+.f32 (pow.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2) 3) (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 3))) (sqrt.f32 (+.f32 (pow.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2) 2) (*.f32 (*.f32 ux (-.f32 maxCos maxCos)) (-.f32 (*.f32 ux (-.f32 maxCos maxCos)) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (-.f32 (pow.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2) 2) (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 2))) (sqrt.f32 (-.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2) (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))) (*.f32 (-.f32 1 maxCos) ux))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux (-.f32 maxCos maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (hypot.f32 (*.f32 (-.f32 1 maxCos) ux) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 2) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 1))))))

simplify104.0ms (0.6%)

Algorithm
egg-herbie
Rules
529×associate-*l/_binary32
516×associate-*r/_binary32
328×associate-+l+_binary32
294×fma-def_binary32
275×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02484656
18744358
237883815
Stop Event
node limit
Counts
124 → 159
Calls
Call 1
Inputs
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (*.f32 (pow.f32 maxCos 3) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 3))))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2)) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2)) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (*.f32 -1/4 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (*.f32 (pow.f32 maxCos 3) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 3))))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))))
(+.f32 (*.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
Outputs
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(+.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))))
(*.f32 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))))
(*.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) 1) (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(+.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))))))
(+.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (+.f32 1 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))))))
(+.f32 (*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)))) (*.f32 (fma.f32 (*.f32 -4/45 (pow.f32 uy 6)) (pow.f32 (PI.f32) 6) 1) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)))))))
(+.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (+.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 maxCos -1) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))
(fma.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 1/2 (*.f32 maxCos (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))))) (fma.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2)) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))) (*.f32 maxCos maxCos)))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux))))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 maxCos (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 2)) maxCos) (*.f32 ux (+.f32 -2 (*.f32 ux 2))))))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (*.f32 (pow.f32 maxCos 3) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 3))))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))))) (fma.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (fma.f32 -1/4 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) 3)))))) (*.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) maxCos) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2)) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))) (*.f32 maxCos maxCos)))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux))))))) (*.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2))) (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) 3))))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4)) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 maxCos (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 2)) maxCos) (*.f32 ux (+.f32 -2 (*.f32 ux 2))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) ux))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux)) (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (pow.f32 ux 3)) (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 maxCos maxCos)))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux)))))))
(+.f32 (*.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux)) (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 (/.f32 -1/4 (neg.f32 (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3))))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (sqrt.f32 -1)) (neg.f32 ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (neg.f32 (sqrt.f32 -1)) ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) ux) 1/2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux))) (-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) ux) 1/2) (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux)) -1/2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) ux)) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux))) (-.f32 (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2)))) (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (/.f32 (neg.f32 (sqrt.f32 -1)) (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(+.f32 (-.f32 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) -1/4) (neg.f32 (sqrt.f32 -1))) (*.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (/.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) (pow.f32 ux 3)) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) ux) 1/2) (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux)) -1/2))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))))
(*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) 1/2))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(fma.f32 -1/8 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2)) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))))))
(fma.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2)) (/.f32 ux (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))))))
(fma.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) 1/2)))))
(+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(fma.f32 1/16 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5))))) (fma.f32 -1/8 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2)) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))))
(fma.f32 1/16 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) ux)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5))))) (fma.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2)) (/.f32 ux (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))))
(fma.f32 1/16 (*.f32 (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 3) (*.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 5)) (pow.f32 (-.f32 1 maxCos) 5)))) (fma.f32 -1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) 1/2))))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 ux (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))
(fma.f32 (*.f32 (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 -1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) -1/2) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (fma.f32 1/8 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2)) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))))))
(-.f32 (fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (*.f32 1/8 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 ux (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2))))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) -1/2) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux)))) (*.f32 (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) 1/8)))
(+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/16 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3)) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))))) (+.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2)) ux) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 -1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))))
(fma.f32 -1 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))) (fma.f32 -1/16 (*.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5))))) (fma.f32 1/8 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2)) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3)))) ux) (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))))))))
(-.f32 (fma.f32 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) ux)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5))))) -1/16 (fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (*.f32 1/8 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 ux (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2)))))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) -1/2) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux)))) (fma.f32 (*.f32 (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 3) (*.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 5)) (pow.f32 (-.f32 1 maxCos) 5)))) -1/16 (*.f32 (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) 1/8))))
(sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))
(sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))
(sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))))
(+.f32 (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))))))))
(fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))))
(fma.f32 1/2 (*.f32 maxCos (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2)) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))))))
(+.f32 (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 1/2 (+.f32 (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) (*.f32 maxCos (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))) (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2)) (*.f32 maxCos maxCos)) (*.f32 maxCos (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux)))))) (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 maxCos (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 2)) maxCos) (*.f32 ux (+.f32 -2 (*.f32 ux 2)))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (pow.f32 maxCos 2)) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))))) (*.f32 -1/4 (*.f32 (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) 2)) (*.f32 (pow.f32 maxCos 3) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 3))))))))
(+.f32 (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))) (fma.f32 1/2 (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) (fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) (*.f32 -1/4 (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)))))) 2)) (*.f32 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) 3)))))))))
(+.f32 (sqrt.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))) (+.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2)) (*.f32 maxCos maxCos)) (*.f32 maxCos (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux)))))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 ux 2) (*.f32 ux ux)))))) 2)) (*.f32 (*.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) 3))))) -1/4))))
(+.f32 (fma.f32 1/2 (*.f32 maxCos (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 2)) (+.f32 (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 maxCos maxCos)) 1/2))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux)) (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 ux (sqrt.f32 -1))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3))))))))
(fma.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (/.f32 (*.f32 (*.f32 -1/4 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux)))) (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux -2 (*.f32 2 (*.f32 ux ux))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 3) (neg.f32 (sqrt.f32 -1))))))))
(+.f32 (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 (*.f32 maxCos maxCos) (neg.f32 (sqrt.f32 -1)))) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (pow.f32 ux 3))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos ux)) (/.f32 (*.f32 ux (+.f32 -2 (*.f32 ux 2))) ux))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (*.f32 maxCos (sqrt.f32 -1)) (neg.f32 ux))
(*.f32 maxCos (*.f32 (neg.f32 (sqrt.f32 -1)) ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) (*.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (*.f32 maxCos (sqrt.f32 -1)) (neg.f32 ux)))
(-.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) (*.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1/2 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (fma.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (*.f32 maxCos (sqrt.f32 -1)) (neg.f32 ux))))
(fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (-.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2)) (pow.f32 (/.f32 (*.f32 1/2 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2))) (*.f32 ux (sqrt.f32 -1))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 ux 2)) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 -1/2 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (-.f32 (fma.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1))) (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (-.f32 (*.f32 ux 2) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)) (neg.f32 (sqrt.f32 -1))) (/.f32 (/.f32 (fma.f32 ux 2 (*.f32 ux (*.f32 ux -2))) (pow.f32 ux 3)) (*.f32 maxCos maxCos))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 ux -2))) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (/.f32 1/2 ux) (*.f32 ux (+.f32 2 (*.f32 ux -2)))) (sqrt.f32 -1)) 2)) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (*.f32 maxCos (*.f32 (neg.f32 (sqrt.f32 -1)) ux)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) 1/2)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux)))))
(fma.f32 1/2 (*.f32 (*.f32 (+.f32 maxCos -1) -2) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux)))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 5)) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (*.f32 (+.f32 maxCos -1) -2) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)))
(fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(-.f32 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 -1/2 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 maxCos -1) -2) -1/2) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux)))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))))
(fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux)) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 (+.f32 maxCos -1) -2) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)))))
(fma.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 3) (*.f32 ux ux))) (fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) (*.f32 ux ux))) (fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux)) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 5)) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 3) (*.f32 ux ux))) (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 (+.f32 maxCos -1) -2) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 maxCos -1)) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (+.f32 maxCos -1) 3)) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) -2) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) 1)
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))))
(+.f32 1 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)))))
(+.f32 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))) (fma.f32 (*.f32 -4/45 (pow.f32 uy 6)) (pow.f32 (PI.f32) 6) 1))
(+.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) 1))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))

localize70.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f32 ux (+.f32 1 (*.f32 maxCos ux)))
0.1b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
0.4b
(*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux)))
12.6b
(+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)
Compiler

Compiled 86 to 52 computations (39.5% saved)

series14.0ms (0.1%)

Counts
4 → 92
Calls

24 calls:

TimeVariablePointExpression
2.0ms
maxCos
@inf
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
1.0ms
maxCos
@0
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
1.0ms
ux
@-inf
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
1.0ms
ux
@-inf
(+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)
1.0ms
ux
@0
(+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)

rewrite138.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
744×log-prod_binary32
493×fma-neg_binary32
265×log1p-udef_binary32
263×expm1-udef_binary32
216×log-pow_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01380
130866
2472766
Stop Event
node limit
Counts
4 → 207
Calls
Call 1
Inputs
(+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1)
(*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(-.f32 ux (+.f32 1 (*.f32 maxCos ux)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)) (/.f32 1 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2)) (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) (*.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3)) (/.f32 1 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1) (/.f32 1 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4)) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))) (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1) (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3)) (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3)) (+.f32 1 (-.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1) (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3))) (neg.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1)) (neg.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2)) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2)) (cbrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) (sqrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (+.f32 (neg.f32 (fma.f32 ux maxCos 1)) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))) (-.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (fma.f32 ux (+.f32 maxCos -1) 1)) (*.f32 (neg.f32 (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) ux) (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (neg.f32 (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1)))) (cbrt.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1)))))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 ux (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3))) (*.f32 (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))) (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3))) (*.f32 (+.f32 ux (fma.f32 ux maxCos 1)) (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2))) (*.f32 (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 1 (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2))) (*.f32 (+.f32 ux (fma.f32 ux maxCos 1)) (-.f32 1 (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3)) (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3))) (*.f32 (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1))) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 maxCos -1))) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3)) (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2))) (*.f32 (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1))) (+.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 maxCos -1))) (+.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 3) (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))) 3)) (+.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 2) (-.f32 (*.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 2) (*.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) (-.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) (fma.f32 ux (+.f32 maxCos -1) 1)) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) (fma.f32 ux (+.f32 maxCos -1) 1)) (+.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3)) (-.f32 ux (fma.f32 ux maxCos 1))) (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (-.f32 ux (fma.f32 ux maxCos 1))) (-.f32 1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (+.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 3))) (+.f32 1 (*.f32 (*.f32 ux (+.f32 maxCos -1)) (fma.f32 ux (+.f32 maxCos -1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (-.f32 1 (pow.f32 (*.f32 ux (+.f32 maxCos -1)) 2))) (-.f32 1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3))) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2))) (+.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (fma.f32 ux (+.f32 maxCos -1) 1)) (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (-.f32 ux (fma.f32 ux maxCos 1)))) (exp.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))) (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1)))) (+.f32 1 (expm1.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux 1 (neg.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 ux (neg.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 ux -1) (neg.f32 (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 ux) (pow.f32 (cbrt.f32 ux) 2) (neg.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (cbrt.f32 ux) (neg.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2)) (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 2) (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (sqrt.f32 ux) (neg.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) (*.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3)) (/.f32 1 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1) (/.f32 1 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4)) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (+.f32 ux -1)) (cbrt.f32 (+.f32 ux -1))) (cbrt.f32 (+.f32 ux -1)) (neg.f32 (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 ux -1)) (sqrt.f32 (+.f32 ux -1)) (neg.f32 (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 ux) 1) (-.f32 (sqrt.f32 ux) 1) (neg.f32 (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))) (cbrt.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (log.f32 (cbrt.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))) (log.f32 (sqrt.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2))) (sqrt.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 2)) 1/2) (pow.f32 (cbrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (hypot.f32 1 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 3/2)) (hypot.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (+.f32 (pow.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)) 2) -1)) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 1 (sqrt.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/2 (log1p.f32 (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 ux (+.f32 maxCos -1) 1)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (*.f32 (neg.f32 (fma.f32 ux maxCos 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 (neg.f32 (fma.f32 ux maxCos 1)) 1 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (fma.f32 (neg.f32 (cbrt.f32 (fma.f32 ux maxCos 1))) (cbrt.f32 (pow.f32 (fma.f32 ux maxCos 1) 2)) (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (+.f32 (neg.f32 (fma.f32 ux maxCos 1)) (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (fma.f32 ux maxCos 1)) ux)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (neg.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (*.f32 -1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (*.f32 (neg.f32 maxCos) ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (*.f32 (neg.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2)) (cbrt.f32 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (*.f32 (neg.f32 (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1)))) (cbrt.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1)))))) (log.f32 (cbrt.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1))))) (log.f32 (sqrt.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (pow.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 2) (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 2) (*.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) (/.f32 1 (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 ux) (sqrt.f32 (fma.f32 ux maxCos 1))) (-.f32 (sqrt.f32 ux) (sqrt.f32 (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 ux (fma.f32 ux maxCos 1)) (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) (+.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3))) (neg.f32 (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2))) (neg.f32 (+.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 ux -1) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (*.f32 (+.f32 ux -1) (+.f32 ux -1)) (+.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (+.f32 ux -1) (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 ux 3) (pow.f32 (neg.f32 (fma.f32 ux maxCos 1)) 3)) (+.f32 (*.f32 ux ux) (-.f32 (*.f32 (neg.f32 (fma.f32 ux maxCos 1)) (neg.f32 (fma.f32 ux maxCos 1))) (*.f32 ux (neg.f32 (fma.f32 ux maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 ux -1) (+.f32 ux -1)) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (+.f32 ux -1) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux ux) (*.f32 (neg.f32 (fma.f32 ux maxCos 1)) (neg.f32 (fma.f32 ux maxCos 1)))) (-.f32 ux (neg.f32 (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 ux 3) (pow.f32 (fma.f32 ux maxCos 1) 3)) 1) (fma.f32 ux ux (*.f32 (fma.f32 ux maxCos 1) (+.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 ux ux) (pow.f32 (fma.f32 ux maxCos 1) 2)) 1) (+.f32 ux (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (-.f32 ux (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (+.f32 1 (expm1.f32 ux)) (exp.f32 (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (exp.f32 ux) (+.f32 1 (expm1.f32 (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (+.f32 1 (expm1.f32 ux)) (+.f32 1 (expm1.f32 (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (exp.f32 (+.f32 ux -1)) (+.f32 1 (expm1.f32 (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 ux)) (exp.f32 (neg.f32 (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 ux) (/.f32 1 (exp.f32 (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 ux)) (/.f32 1 (exp.f32 (fma.f32 ux maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (neg.f32 (fma.f32 ux maxCos 1))) (exp.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (/.f32 1 (exp.f32 (fma.f32 ux maxCos 1))) (exp.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (neg.f32 (fma.f32 ux maxCos 1))) (+.f32 1 (expm1.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (/.f32 1 (exp.f32 (fma.f32 ux maxCos 1))) (+.f32 1 (expm1.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 ux (fma.f32 ux maxCos 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (-.f32 ux (fma.f32 ux maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (-.f32 ux (fma.f32 ux maxCos 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux 1 (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 ux (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 ux -1) (neg.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 ux) (pow.f32 (cbrt.f32 ux) 2) (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (cbrt.f32 ux) (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (sqrt.f32 ux) (neg.f32 (fma.f32 ux maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (+.f32 ux -1)) (cbrt.f32 (+.f32 ux -1))) (cbrt.f32 (+.f32 ux -1)) (neg.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 ux -1)) (sqrt.f32 (+.f32 ux -1)) (neg.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 ux) 1) (-.f32 (sqrt.f32 ux) 1) (neg.f32 (*.f32 ux maxCos)))))))

simplify103.0ms (0.6%)

Algorithm
egg-herbie
Rules
837×distribute-rgt-in_binary32
810×distribute-lft-in_binary32
519×associate-/l*_binary32
221×fma-def_binary32
154×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02033347
17353081
228592729
Stop Event
node limit
Counts
299 → 293
Calls
Call 1
Inputs
(*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
-1
(-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1)
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(-.f32 (+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(-.f32 (+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) 1)
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) 1)
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 3))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
-1
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(-.f32 ux 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(*.f32 -1 (*.f32 maxCos ux))
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(*.f32 -1 (*.f32 maxCos ux))
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
Outputs
(*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))
(*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos))
(*.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)))
(*.f32 ux (*.f32 (+.f32 -1 maxCos) -2))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))))
(*.f32 (-.f32 1 maxCos) (*.f32 ux (*.f32 ux (+.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))))
(*.f32 (-.f32 1 maxCos) (*.f32 ux (*.f32 ux (+.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))
(fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(+.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) (*.f32 (-.f32 (*.f32 ux ux) ux) (+.f32 maxCos maxCos))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 (*.f32 maxCos maxCos) (neg.f32 (*.f32 ux ux)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(neg.f32 (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 (*.f32 maxCos maxCos) (neg.f32 (*.f32 ux ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(neg.f32 (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 1 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (+.f32 1 (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
-1
(-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1)
(fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1)
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1)
(fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1)
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))))
(*.f32 (-.f32 1 maxCos) (*.f32 ux (*.f32 ux (+.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(-.f32 (+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(-.f32 (+.f32 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))))
(*.f32 (-.f32 1 maxCos) (*.f32 ux (*.f32 ux (+.f32 -1 maxCos))))
(+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1))))))
(fma.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))
(fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (*.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux)))
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 ux (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) 1)
(+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))) (fma.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) -1))
(fma.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) (*.f32 ux ux) (fma.f32 ux (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) -1))
(fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1))
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
(*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))
(*.f32 (-.f32 ux 1) (-.f32 1 ux))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 (-.f32 ux 1) (-.f32 1 ux)))
(fma.f32 (-.f32 ux 1) (-.f32 1 ux) (*.f32 (-.f32 (*.f32 ux ux) ux) (+.f32 maxCos maxCos)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 (*.f32 maxCos maxCos) (neg.f32 (*.f32 ux ux)))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(neg.f32 (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 (*.f32 maxCos maxCos) (neg.f32 (*.f32 ux ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(neg.f32 (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(+.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)) (+.f32 (*.f32 -1 (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) maxCos (fma.f32 (-.f32 ux 1) (fma.f32 -1 ux 1) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(fma.f32 1/2 (*.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 -1 maxCos) -2) 1/2)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(fma.f32 1/2 (*.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux) -1/8))))
(fma.f32 1/2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 3)) (pow.f32 (+.f32 -1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 2) ux) -1/8))))
(+.f32 (*.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (+.f32 (*.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos) 2) ux))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos) 2) ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux) -1/8)))))
(fma.f32 1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 3) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 3)) (pow.f32 (+.f32 -1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 2) ux) -1/8)))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))
(neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))
(fma.f32 -1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(-.f32 (*.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(-.f32 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))) (*.f32 (*.f32 (+.f32 -1 maxCos) -2) -1/2)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux))))
(fma.f32 -1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(fma.f32 -1/2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))))) (fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 3)) (pow.f32 (+.f32 -1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 2) ux) 1/8) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos))))) (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 5) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 5)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (/.f32 (pow.f32 (+.f32 1 (+.f32 (*.f32 -1 maxCos) (*.f32 -1 (-.f32 maxCos 1)))) 2) ux))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 1 (*.f32 -1 maxCos)))) ux)))))
(fma.f32 -1/2 (*.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) 3) (*.f32 ux ux))) (fma.f32 1/8 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (/.f32 (pow.f32 (+.f32 (-.f32 1 maxCos) (neg.f32 (+.f32 maxCos -1))) 2) ux)) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 -1/2 (*.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (-.f32 (fma.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) -1/16) (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 3) (*.f32 ux ux)) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 3) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (/.f32 (pow.f32 (+.f32 1 (-.f32 (-.f32 1 maxCos) maxCos)) 2) ux) 1/8))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(fma.f32 -1/2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (sqrt.f32 (/.f32 (/.f32 1 (+.f32 -1 maxCos)) (-.f32 1 maxCos))))) (fma.f32 -1/16 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 -1 maxCos) 5) (pow.f32 (-.f32 1 maxCos) 5)))) (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 3) (*.f32 ux ux))) (fma.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 3)) (pow.f32 (+.f32 -1 maxCos) 3))) (*.f32 (/.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) -2) 2) ux) 1/8) (*.f32 (neg.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))
(fma.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))
(fma.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (*.f32 (-.f32 (*.f32 ux ux) ux) (+.f32 maxCos maxCos)) (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (+.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 maxCos (*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2)))))))
(+.f32 (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (*.f32 maxCos (+.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2)) maxCos)))))
(+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) 3))) (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))) 2)) (pow.f32 maxCos 3))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux))))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))) (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))))) 2))))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(fma.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) 3))) (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)) (pow.f32 maxCos 3)))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1)))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (sqrt.f32 (/.f32 1 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))))))) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1)))))))
(fma.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) 3))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2)) (*.f32 (pow.f32 maxCos 3) (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))))) (+.f32 (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (+.f32 (*.f32 maxCos (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux)))) (*.f32 maxCos (*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2))))))))
(fma.f32 -1/4 (*.f32 (*.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (sqrt.f32 (/.f32 1 (pow.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) 3)))) (pow.f32 maxCos 3)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2))) (+.f32 (sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1)))) (*.f32 maxCos (+.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 1/2 (sqrt.f32 (/.f32 1 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))))) 2)) maxCos))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))
(*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(fma.f32 1/2 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))
(+.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (/.f32 ux 1/2)) (sqrt.f32 -1)) 2)) (*.f32 ux maxCos)))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1/4 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (/.f32 (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3))) (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)))) (fma.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 (-.f32 ux 1) ux (*.f32 (neg.f32 ux) (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 1/2 (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (/.f32 ux 1/2)) (sqrt.f32 -1)) 2)) (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))))) (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) ux) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (/.f32 (*.f32 ux (neg.f32 (*.f32 2 (-.f32 1 ux)))) (/.f32 ux 1/2)) (sqrt.f32 -1)) 2)) (*.f32 ux maxCos))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(*.f32 (sqrt.f32 -1) (*.f32 ux (neg.f32 maxCos)))
(*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 ux maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(-.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))
(-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (-.f32 (*.f32 -1/2 (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1))))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))
(+.f32 (-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (/.f32 -1/2 (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 ux maxCos))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -1 (*.f32 (-.f32 ux 1) ux)) (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 -1/2 (/.f32 (-.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (fma.f32 -1 ux 1))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -1 (*.f32 ux (-.f32 ux 1)) (*.f32 ux (fma.f32 -1 ux 1))) (*.f32 ux (sqrt.f32 -1)))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))))
(fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 ux (sqrt.f32 -1))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (neg.f32 (sqrt.f32 -1))) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (*.f32 -1/2 (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (*.f32 (/.f32 1/2 ux) (/.f32 (*.f32 ux (+.f32 (-.f32 1 ux) (-.f32 1 ux))) (sqrt.f32 -1))) 2)) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))) (*.f32 ux (*.f32 maxCos (sqrt.f32 -1)))))
(+.f32 (+.f32 (-.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (/.f32 -1/2 (sqrt.f32 -1)) (/.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)) (*.f32 ux maxCos)))) (/.f32 (*.f32 (*.f32 ux (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (pow.f32 (/.f32 (-.f32 ux (*.f32 ux ux)) (*.f32 ux (sqrt.f32 -1))) 2)))) -1/2) (*.f32 (pow.f32 ux 3) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos maxCos))))))
-1
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 ux (-.f32 1 maxCos))
(-.f32 ux (*.f32 ux maxCos))
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 (-.f32 1 maxCos) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))
(*.f32 ux (-.f32 1 maxCos))
(-.f32 ux (*.f32 ux maxCos))
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 ux 1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 (neg.f32 maxCos) ux)
(*.f32 ux (neg.f32 maxCos))
(neg.f32 (*.f32 ux maxCos))
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 (neg.f32 maxCos) ux)
(*.f32 ux (neg.f32 maxCos))
(neg.f32 (*.f32 ux maxCos))
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)
(-.f32 (+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux) 1)
(fma.f32 ux (-.f32 1 maxCos) -1)

localize89.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)
0.1b
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
0.2b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
Compiler

Compiled 90 to 66 computations (26.7% saved)

series19.0ms (0.1%)

Counts
2 → 28
Calls

12 calls:

TimeVariablePointExpression
7.0ms
ux
@-inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
3.0ms
uy
@-inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0ms
maxCos
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0ms
ux
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0ms
maxCos
@inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))

rewrite96.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
807×log-prod_binary32
546×fma-def_binary32
301×fma-neg_binary32
291×expm1-udef_binary32
290×log1p-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01841
138025
2518425
Stop Event
node limit
Counts
2 → 160
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))) (cbrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 ux (-.f32 maxCos maxCos)) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3) (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 3/2) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (-.f32 maxCos 1) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (-.f32 (-.f32 maxCos 1) maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 maxCos 1) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 maxCos (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 maxCos (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 maxCos maxCos) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 maxCos maxCos) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 maxCos maxCos) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 maxCos) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 maxCos 1) maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (-.f32 maxCos maxCos))) (cbrt.f32 (exp.f32 (-.f32 maxCos maxCos))))) (log.f32 (cbrt.f32 (exp.f32 (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (-.f32 maxCos maxCos)))) (log.f32 (sqrt.f32 (exp.f32 (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 maxCos maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (-.f32 maxCos maxCos)) (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (cbrt.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (-.f32 maxCos maxCos)) (sqrt.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3)) (/.f32 1 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (/.f32 1 (+.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (-.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 maxCos maxCos) (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3)) (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (+.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3))) (neg.f32 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos))) (neg.f32 (+.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (-.f32 (-.f32 maxCos 1) maxCos) 3)) (+.f32 1 (-.f32 (*.f32 (-.f32 (-.f32 maxCos 1) maxCos) (-.f32 (-.f32 maxCos 1) maxCos)) (-.f32 (-.f32 maxCos 1) maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 maxCos 3) (pow.f32 (neg.f32 maxCos) 3)) (fma.f32 maxCos maxCos (-.f32 (*.f32 (neg.f32 maxCos) (neg.f32 maxCos)) (*.f32 maxCos (neg.f32 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (-.f32 (-.f32 maxCos 1) maxCos) (-.f32 (-.f32 maxCos 1) maxCos))) (-.f32 1 (-.f32 (-.f32 maxCos 1) maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 (neg.f32 maxCos) (neg.f32 maxCos))) (-.f32 maxCos (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 maxCos maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 maxCos maxCos) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (-.f32 maxCos maxCos)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 maxCos maxCos) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (-.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (+.f32 1 (expm1.f32 maxCos)) (exp.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (exp.f32 maxCos) (+.f32 1 (expm1.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (+.f32 1 (expm1.f32 maxCos)) (+.f32 1 (expm1.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 maxCos)) (exp.f32 (neg.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 maxCos) (/.f32 1 (exp.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 maxCos)) (/.f32 1 (exp.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (neg.f32 maxCos)) (exp.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (/.f32 1 (exp.f32 maxCos)) (exp.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (neg.f32 maxCos)) (+.f32 1 (expm1.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (/.f32 1 (exp.f32 maxCos)) (+.f32 1 (expm1.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 maxCos maxCos) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (-.f32 maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (-.f32 maxCos maxCos)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 maxCos 1) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 maxCos (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 maxCos (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 maxCos maxCos) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 maxCos maxCos) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 maxCos maxCos) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (neg.f32 maxCos) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 (-.f32 maxCos 1) maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (-.f32 maxCos 1) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 maxCos maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos 1) 1 (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos 1) 1 (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos 1) -1 (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos 1) -1 (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 maxCos 1 (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 maxCos 1 (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos maxCos) 1 (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos maxCos) 1 (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 maxCos maxCos) 1 (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (-.f32 maxCos maxCos)) (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (-.f32 maxCos maxCos)) (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (-.f32 maxCos maxCos)) (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (cbrt.f32 (-.f32 maxCos maxCos)) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (cbrt.f32 (-.f32 maxCos maxCos)) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 maxCos maxCos)) 2) (cbrt.f32 (-.f32 maxCos maxCos)) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 maxCos) (pow.f32 (cbrt.f32 maxCos) 2) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 maxCos) (pow.f32 (cbrt.f32 maxCos) 2) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 maxCos) 2) (cbrt.f32 maxCos) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 maxCos) 2) (cbrt.f32 maxCos) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 maxCos) 2) (neg.f32 (cbrt.f32 maxCos)) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 maxCos) 2) (*.f32 (cbrt.f32 maxCos) 1) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 maxCos) 2) (*.f32 (cbrt.f32 maxCos) 1) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (-.f32 maxCos 1)) (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (-.f32 maxCos 1)) (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (cbrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (cbrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (neg.f32 (cbrt.f32 (-.f32 maxCos 1))) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2)) (neg.f32 (cbrt.f32 (-.f32 maxCos 1))) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos maxCos)) (sqrt.f32 (-.f32 maxCos maxCos)) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos maxCos)) (sqrt.f32 (-.f32 maxCos maxCos)) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos maxCos)) (sqrt.f32 (-.f32 maxCos maxCos)) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 maxCos) (neg.f32 (sqrt.f32 maxCos)) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 maxCos) (*.f32 (sqrt.f32 maxCos) 1) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 maxCos) (*.f32 (sqrt.f32 maxCos) 1) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (sqrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (sqrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (neg.f32 (sqrt.f32 (-.f32 maxCos 1))) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (neg.f32 (sqrt.f32 (-.f32 maxCos 1))) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (*.f32 (sqrt.f32 (-.f32 maxCos 1)) -1) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 maxCos 1)) (*.f32 (sqrt.f32 (-.f32 maxCos 1)) -1) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3)) (/.f32 1 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos))) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3)) (/.f32 1 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos))) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (pow.f32 maxCos 3) (pow.f32 maxCos 3)) (/.f32 1 (fma.f32 maxCos (+.f32 maxCos maxCos) (*.f32 maxCos maxCos))) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 maxCos 3) -1) (/.f32 1 (fma.f32 maxCos maxCos (+.f32 1 maxCos))) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 maxCos 3) -1) (/.f32 1 (fma.f32 maxCos maxCos (+.f32 1 maxCos))) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (-.f32 maxCos 1) 3)) (/.f32 1 (fma.f32 (-.f32 maxCos 1) (-.f32 (-.f32 maxCos 1) 1) 1)) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (-.f32 maxCos 1) 3)) (/.f32 1 (fma.f32 (-.f32 maxCos 1) (-.f32 (-.f32 maxCos 1) 1) 1)) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (/.f32 1 (+.f32 maxCos maxCos)) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (/.f32 1 (+.f32 maxCos maxCos)) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 (*.f32 maxCos maxCos) (*.f32 maxCos maxCos)) (/.f32 1 (+.f32 maxCos maxCos)) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 maxCos maxCos -1) (/.f32 1 (+.f32 1 maxCos)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 maxCos maxCos -1) (/.f32 1 (+.f32 1 maxCos)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (-.f32 maxCos 1) 2)) (/.f32 1 maxCos) (neg.f32 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (-.f32 maxCos 1) 2)) (/.f32 1 maxCos) (*.f32 (neg.f32 maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (neg.f32 maxCos)) (cbrt.f32 (neg.f32 maxCos))) (cbrt.f32 (neg.f32 maxCos)) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (-.f32 (-.f32 maxCos 1) maxCos)) (cbrt.f32 (-.f32 (-.f32 maxCos 1) maxCos))) (cbrt.f32 (-.f32 (-.f32 maxCos 1) maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (neg.f32 maxCos)) (sqrt.f32 (neg.f32 maxCos)) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 (-.f32 maxCos 1) maxCos)) (sqrt.f32 (-.f32 (-.f32 maxCos 1) maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (sqrt.f32 maxCos)) (sqrt.f32 maxCos) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (sqrt.f32 (-.f32 maxCos 1))) (sqrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (sqrt.f32 (-.f32 maxCos 1))) (sqrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 maxCos) 1) (-.f32 (sqrt.f32 maxCos) 1) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 maxCos) 1) (-.f32 (sqrt.f32 maxCos) 1) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (-.f32 maxCos 1)) (sqrt.f32 maxCos)) (-.f32 (sqrt.f32 (-.f32 maxCos 1)) (sqrt.f32 maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (-.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (-.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (-.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (fma.f32 (neg.f32 maxCos) 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (-.f32 (sqrt.f32 maxCos) (sqrt.f32 maxCos)) (fma.f32 (neg.f32 (cbrt.f32 maxCos)) (pow.f32 (cbrt.f32 maxCos) 2) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2))) (cbrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2))) (cbrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (pow.f32 (cbrt.f32 maxCos) 2)) (cbrt.f32 maxCos) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2))) (cbrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (cbrt.f32 (pow.f32 (-.f32 maxCos 1) 2))) (cbrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (sqrt.f32 (-.f32 maxCos 1))) (sqrt.f32 (-.f32 maxCos 1)) (-.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (sqrt.f32 (-.f32 maxCos 1))) (sqrt.f32 (-.f32 maxCos 1)) (+.f32 1 (neg.f32 maxCos)))))))

simplify51.0ms (0.3%)

Algorithm
egg-herbie
Rules
636×associate-*l/_binary32
594×associate-/r*_binary32
584×associate-/r/_binary32
486×associate-*r/_binary32
338×associate-*r*_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072812
1203708
2668620
33205559
Stop Event
node limit
Counts
188 → 184
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (pow.f32 (sqrt.f32 2) 5)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))))
2
(+.f32 (*.f32 -2 maxCos) 2)
(+.f32 (*.f32 -2 maxCos) 2)
(+.f32 (*.f32 -2 maxCos) 2)
(*.f32 -2 maxCos)
(+.f32 2 (*.f32 -2 maxCos))
(+.f32 2 (*.f32 -2 maxCos))
(+.f32 2 (*.f32 -2 maxCos))
(*.f32 -2 maxCos)
(+.f32 2 (*.f32 -2 maxCos))
(+.f32 2 (*.f32 -2 maxCos))
(+.f32 2 (*.f32 -2 maxCos))
Outputs
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos)))
(sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos)))
(sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos))))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))
(+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (fma.f32 (*.f32 -2 (pow.f32 (PI.f32) 2)) (*.f32 uy uy) 1))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (+.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (+.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 -2 (*.f32 uy uy))) (fma.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4) 1)))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))))))
(+.f32 (*.f32 (+.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos)))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (fma.f32 (*.f32 -2 (pow.f32 (PI.f32) 2)) (*.f32 uy uy) 1)))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (+.f32 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (+.f32 -1 maxCos)) maxCos))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) (neg.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (/.f32 (sqrt.f32 2) maxCos)))))
(*.f32 (sqrt.f32 ux) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (neg.f32 maxCos))))
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 3) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))))
(-.f32 (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) (*.f32 -1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 2)) (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2))))) (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (/.f32 (sqrt.f32 2) maxCos))))
(*.f32 (sqrt.f32 ux) (-.f32 (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2) (*.f32 -1/4 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (/.f32 (sqrt.f32 2) (*.f32 maxCos maxCos))))) (*.f32 maxCos (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (*.f32 (*.f32 maxCos (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2))) (+.f32 (*.f32 -1/4 maxCos) -1))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (pow.f32 (sqrt.f32 2) 5)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 5) (pow.f32 maxCos 3)))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 3) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux))))))
(+.f32 (*.f32 (sqrt.f32 ux) (+.f32 (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (/.f32 (pow.f32 (sqrt.f32 2) 5) (pow.f32 maxCos 3))) (*.f32 -1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 2)) (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2))))) (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) (neg.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (/.f32 (sqrt.f32 2) maxCos))))))
(*.f32 (sqrt.f32 ux) (+.f32 (fma.f32 -1/2 (*.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 2) 5)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))) (*.f32 -1/4 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (/.f32 (sqrt.f32 2) (*.f32 maxCos maxCos))))) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (neg.f32 maxCos)))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 2) 5)) (/.f32 (*.f32 maxCos maxCos) (*.f32 2 (sqrt.f32 2)))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2))))))
2
(+.f32 (*.f32 -2 maxCos) 2)
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 (*.f32 -2 maxCos) 2)
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 (*.f32 -2 maxCos) 2)
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(*.f32 -2 maxCos)
(*.f32 maxCos -2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(*.f32 -2 maxCos)
(*.f32 maxCos -2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)
(+.f32 2 (*.f32 -2 maxCos))
(fma.f32 -2 maxCos 2)
(fma.f32 maxCos -2 2)

localize160.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2))))
0.2b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
0.2b
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
Compiler

Compiled 126 to 89 computations (29.4% saved)

series27.0ms (0.2%)

Counts
3 → 76
Calls

21 calls:

TimeVariablePointExpression
6.0ms
maxCos
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
2.0ms
ux
@-inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
2.0ms
ux
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
1.0ms
uy
@inf
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
1.0ms
uy
@0
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
700×fma-def_binary32
366×expm1-udef_binary32
365×log1p-udef_binary32
327×fma-neg_binary32
216×add-sqr-sqrt_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02091
143173
2567767
Stop Event
node limit
Counts
3 → 108
Calls
Call 1
Inputs
(*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
(sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) ux) (*.f32 (neg.f32 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 3) (pow.f32 (fma.f32 maxCos 2 -2) 3)) ux) (fma.f32 (fma.f32 maxCos 2 -2) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) 2)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 2) (pow.f32 (fma.f32 maxCos 2 -2) 2)) ux) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (-.f32 (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 3) (pow.f32 (fma.f32 maxCos 2 -2) 3))) (fma.f32 (fma.f32 maxCos 2 -2) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) 2)) (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (-.f32 (pow.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) 2) (pow.f32 (fma.f32 maxCos 2 -2) 2))) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) ux))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) 3) (pow.f32 ux 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) (*.f32 ux (neg.f32 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 1 maxCos)) ux (*.f32 (neg.f32 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) ux (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) ux (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1 (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1 (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2) (*.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) ux) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2) (*.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) ux) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (*.f32 (cbrt.f32 ux) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (*.f32 (cbrt.f32 ux) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) ux) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) ux) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 ux) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 ux) (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (*.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (*.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4)) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4)) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (pow.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2)) (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (pow.f32 (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 2)) (cbrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (pow.f32 (cbrt.f32 ux) 2)) (cbrt.f32 ux) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (pow.f32 (cbrt.f32 ux) 2)) (cbrt.f32 ux) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (sqrt.f32 ux)) (sqrt.f32 ux) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)) (sqrt.f32 ux)) (sqrt.f32 ux) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 ux)) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (sqrt.f32 ux)) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (*.f32 ux (fma.f32 (+.f32 -1 maxCos) -2 (fma.f32 maxCos 2 -2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 ux) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2)) (sqrt.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) 1/2) (pow.f32 (cbrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))))) 1))))))

simplify99.0ms (0.6%)

Algorithm
egg-herbie
Rules
705×distribute-rgt-in_binary32
701×distribute-lft-in_binary32
324×fma-def_binary32
249×associate-*r*_binary32
219×*-commutative_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02774214
19373743
236363431
Stop Event
node limit
Counts
184 → 213
Calls
Call 1
Inputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(*.f32 (+.f32 (*.f32 -1 ux) 2) ux)
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1)))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1)))))))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))) (+.f32 (*.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)) (-.f32 (*.f32 2 ux) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 (*.f32 -1 ux) 2) 3) ux))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (-.f32 (*.f32 2 ux) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (+.f32 2 (*.f32 -2 ux)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))))
(sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))) (+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 (*.f32 -1 ux) 2) 3) ux))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 2 ux) 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2))))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (-.f32 (*.f32 2 ux) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (+.f32 2 (*.f32 -2 ux))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))
Outputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (+.f32 (*.f32 maxCos -2) 2))
(*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux))
(*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux))
(*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)) (*.f32 ux ux)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(*.f32 (+.f32 (*.f32 -1 ux) 2) ux)
(*.f32 ux (fma.f32 -1 ux 2))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))
(fma.f32 (fma.f32 -1 ux 2) ux (*.f32 maxCos (*.f32 ux (fma.f32 2 ux -2))))
(*.f32 ux (+.f32 (-.f32 2 ux) (*.f32 maxCos (fma.f32 ux 2 -2))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 -1 ux 2) ux (fma.f32 maxCos (*.f32 ux (fma.f32 2 ux -2)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 ux (+.f32 (-.f32 2 ux) (*.f32 maxCos (fma.f32 ux 2 -2)))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))
(fma.f32 ux (-.f32 2 ux) (*.f32 (*.f32 maxCos ux) (-.f32 (fma.f32 ux 2 -2) (*.f32 maxCos ux))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 -1 ux 2) ux (fma.f32 maxCos (*.f32 ux (fma.f32 2 ux -2)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 ux (+.f32 (-.f32 2 ux) (*.f32 maxCos (fma.f32 ux 2 -2)))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))
(fma.f32 ux (-.f32 2 ux) (*.f32 (*.f32 maxCos ux) (-.f32 (fma.f32 ux 2 -2) (*.f32 maxCos ux))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 maxCos (*.f32 (neg.f32 maxCos) (*.f32 ux ux)))
(+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 maxCos (*.f32 ux (fma.f32 2 ux -2)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (*.f32 ux (fma.f32 ux 2 -2))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))
(*.f32 (*.f32 maxCos ux) (-.f32 (fma.f32 ux 2 -2) (*.f32 maxCos ux)))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 -1 ux 2) ux (fma.f32 maxCos (*.f32 ux (fma.f32 2 ux -2)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 ux (+.f32 (-.f32 2 ux) (*.f32 maxCos (fma.f32 ux 2 -2)))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))
(fma.f32 ux (-.f32 2 ux) (*.f32 (*.f32 maxCos ux) (-.f32 (fma.f32 ux 2 -2) (*.f32 maxCos ux))))
(+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (+.f32 (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (fma.f32 -1 ux 2) ux (fma.f32 maxCos (*.f32 ux (fma.f32 2 ux -2)) (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (*.f32 ux (+.f32 (-.f32 2 ux) (*.f32 maxCos (fma.f32 ux 2 -2)))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))
(fma.f32 ux (-.f32 2 ux) (*.f32 (*.f32 maxCos ux) (-.f32 (fma.f32 ux 2 -2) (*.f32 maxCos ux))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 maxCos maxCos) (*.f32 ux (neg.f32 ux)))
(*.f32 maxCos (*.f32 (neg.f32 maxCos) (*.f32 ux ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(*.f32 -1 (+.f32 (*.f32 maxCos (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(neg.f32 (fma.f32 maxCos (*.f32 ux (fma.f32 -2 ux 2)) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))))
(neg.f32 (*.f32 (*.f32 maxCos ux) (+.f32 (fma.f32 -2 ux 2) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 -1 (*.f32 maxCos (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (fma.f32 (fma.f32 -1 ux 2) ux (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (*.f32 maxCos (*.f32 ux (fma.f32 -2 ux 2))))
(-.f32 (*.f32 ux (-.f32 2 ux)) (*.f32 (*.f32 maxCos ux) (+.f32 (fma.f32 -2 ux 2) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1 (*.f32 maxCos (*.f32 (+.f32 2 (*.f32 -2 ux)) ux))) (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 -1 (*.f32 maxCos (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (fma.f32 (fma.f32 -1 ux 2) ux (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(-.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (*.f32 maxCos (*.f32 ux (fma.f32 -2 ux 2))))
(-.f32 (*.f32 ux (-.f32 2 ux)) (*.f32 (*.f32 maxCos ux) (+.f32 (fma.f32 -2 ux 2) (*.f32 maxCos ux))))
(sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1)))))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1)))))))))
(+.f32 (fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1)))))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(fma.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (*.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 (*.f32 2/3 (pow.f32 (PI.f32) 4)) (pow.f32 uy 4)) 1)))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))))
(+.f32 (*.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))) (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (+.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (*.f32 (*.f32 2/3 (pow.f32 (PI.f32) 4)) (pow.f32 uy 4)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))) ux)))
(*.f32 (sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (-.f32 1 maxCos))) (*.f32 -2 (+.f32 maxCos -1))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (-.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux)
(*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux))
(-.f32 (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux)))
(-.f32 (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux))))
(-.f32 (fma.f32 1/2 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (fma.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux)
(*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux))
(-.f32 (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))))))
(+.f32 (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux)) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) 1/2)))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2))))))))
(+.f32 (*.f32 1/2 (+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 (/.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 2))))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))))))
(+.f32 (*.f32 1/2 (+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux))) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (fma.f32 ux 2 -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 ux 2 -2) (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (fma.f32 -1 ux 2)))))) (fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2))))))
(fma.f32 1/2 (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (fma.f32 ux 2 -2))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (*.f32 maxCos (fma.f32 ux 2 -2)) (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))))))
(+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))) (+.f32 (*.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)) (-.f32 (*.f32 2 ux) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 (*.f32 -1 ux) 2) 3) ux))))) (+.f32 (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2))) (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (fma.f32 -1 ux 2)))))) (fma.f32 -1/4 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (*.f32 (pow.f32 maxCos 3) (fma.f32 2 ux -2)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (pow.f32 (fma.f32 -1 ux 2) 3)))))) (fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2)))))))
(fma.f32 1/2 (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (fma.f32 -1/4 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (*.f32 ux (pow.f32 (-.f32 2 ux) 3)))))) (*.f32 (fma.f32 ux 2 -2) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 maxCos (fma.f32 ux 2 -2)))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 ux 2 -2) (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (+.f32 (*.f32 1/2 (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (*.f32 (*.f32 -1/4 (sqrt.f32 (/.f32 (/.f32 1 ux) (pow.f32 (-.f32 2 ux) 3)))) (*.f32 (fma.f32 ux 2 -2) (pow.f32 maxCos 3)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 2 ux -2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 ux 2 -2))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (/.f32 1/2 (/.f32 (sqrt.f32 -1) (*.f32 (fma.f32 ux 2 -2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 2 ux -2))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 ux 2 -2)) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (fma.f32 ux 2 -2) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 2 ux) 2)) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (-.f32 (*.f32 2 ux) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 2 ux -2))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (fma.f32 2 ux -2) (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2))) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 ux 2 -2)) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 (/.f32 -1/4 (neg.f32 (sqrt.f32 -1))) (/.f32 (*.f32 (*.f32 (fma.f32 ux 2 -2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2))) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))))
(+.f32 (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2)) (/.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (fma.f32 ux 2 -2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (fma.f32 ux 2 -2) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2)) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (neg.f32 (sqrt.f32 -1)) ux) maxCos))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (+.f32 2 (*.f32 -2 ux)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(-.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 1/2) (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(-.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (+.f32 2 (*.f32 -2 ux)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 -2 ux 2)) (-.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux 2))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 -1))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (+.f32 2 (*.f32 -2 ux)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (+.f32 2 (*.f32 -2 ux)))) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (+.f32 2 (*.f32 -2 ux)) (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2))) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 -2 ux 2)) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (fma.f32 -2 ux 2) (*.f32 ux ux)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 maxCos maxCos)))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux 2))) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (fma.f32 -2 ux 2) (*.f32 ux ux)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 maxCos maxCos)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(-.f32 (fma.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux)))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2))))))
(-.f32 (-.f32 (*.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(-.f32 (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (*.f32 ux ux))) (fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 (/.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (-.f32 (-.f32 (*.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 ux))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (-.f32 (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))
(sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2)))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))))
(+.f32 (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2))) (*.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))))
(fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 ux 2 -2)) (sqrt.f32 (/.f32 ux (-.f32 2 ux)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 ux 2 -2) (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))))))
(+.f32 (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2)))) (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (fma.f32 -1 ux 2))))))))
(fma.f32 1/2 (fma.f32 (*.f32 maxCos (fma.f32 ux 2 -2)) (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(fma.f32 1/2 (fma.f32 (*.f32 maxCos (fma.f32 ux 2 -2)) (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux)) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (*.f32 maxCos (-.f32 (*.f32 2 ux) 2)))) (+.f32 (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 (+.f32 (*.f32 -1 ux) 2) 3) ux))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 2 ux) 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2)))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 ux (+.f32 (*.f32 -1 ux) 2))) (-.f32 (*.f32 2 ux) 2))) 2))))))))
(+.f32 (sqrt.f32 (*.f32 ux (fma.f32 -1 ux 2))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 2 ux -2)) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2)))) (fma.f32 -1/4 (*.f32 (*.f32 (*.f32 (pow.f32 maxCos 3) (fma.f32 2 ux -2)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (pow.f32 (fma.f32 -1 ux 2) 3))))) (*.f32 1/2 (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 ux -2) (sqrt.f32 (/.f32 ux (fma.f32 -1 ux 2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (fma.f32 -1 ux 2)))))))))
(+.f32 (fma.f32 1/2 (fma.f32 (*.f32 maxCos (fma.f32 ux 2 -2)) (sqrt.f32 (/.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (*.f32 -1/4 (*.f32 (pow.f32 maxCos 3) (sqrt.f32 (/.f32 1 (*.f32 ux (pow.f32 (-.f32 2 ux) 3)))))) (*.f32 (fma.f32 ux 2 -2) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)))))
(+.f32 (fma.f32 1/2 (*.f32 maxCos (*.f32 (fma.f32 ux 2 -2) (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (fma.f32 ux 2 -2) (*.f32 1/2 (sqrt.f32 (/.f32 ux (-.f32 2 ux))))) 2)) (+.f32 (*.f32 1/2 (*.f32 (*.f32 maxCos maxCos) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) (*.f32 (*.f32 -1/4 (sqrt.f32 (/.f32 (/.f32 1 ux) (pow.f32 (-.f32 2 ux) 3)))) (*.f32 (fma.f32 ux 2 -2) (pow.f32 maxCos 3))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (-.f32 (*.f32 2 ux) 2)) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (*.f32 -1/4 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (/.f32 (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (sqrt.f32 -1) 3)) (fma.f32 2 ux -2)))))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (*.f32 -1/4 (/.f32 (fma.f32 ux 2 -2) (/.f32 (*.f32 (*.f32 ux ux) (*.f32 (*.f32 maxCos maxCos) (neg.f32 (sqrt.f32 -1)))) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2))))))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 (sqrt.f32 -1) (*.f32 maxCos ux) (*.f32 (/.f32 -1/4 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (/.f32 (fma.f32 ux 2 -2) (/.f32 (neg.f32 (sqrt.f32 -1)) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 (fma.f32 ux 2 -2) 1/2) (sqrt.f32 -1)) 2))))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (*.f32 (neg.f32 (sqrt.f32 -1)) ux) maxCos)
(*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1)) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(-.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(-.f32 (fma.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1)) (/.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) (+.f32 (*.f32 -1/2 (/.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (+.f32 2 (*.f32 -2 ux))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))
(fma.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (fma.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (*.f32 ux (fma.f32 -1 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 2 (*.f32 -2 ux)) (sqrt.f32 -1))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (+.f32 2 (*.f32 -2 ux)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (-.f32 (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (neg.f32 (sqrt.f32 -1))) (/.f32 (fma.f32 -2 ux 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (-.f32 (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux 2) (sqrt.f32 -1))) 2)) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (fma.f32 -2 ux 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) -1/4)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))

localize115.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
0.4b
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.8b
(pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)
12.6b
(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
Compiler

Compiled 132 to 79 computations (40.2% saved)

series5.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
2.0ms
uy
@0
(pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)
2.0ms
uy
@-inf
(pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)
1.0ms
uy
@inf
(pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)

rewrite92.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary32
667×add-log-exp_binary32
666×log1p-expm1-u_binary32
666×expm1-log1p-u_binary32
652×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
098
11898
218978
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 uy (*.f32 2 (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 uy (*.f32 2 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (PI.f32) uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 uy 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (PI.f32)) uy)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 uy (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2) (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 4 (pow.f32 (PI.f32) 2))) (*.f32 (cbrt.f32 (*.f32 2 (PI.f32))) uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 uy) (*.f32 (cbrt.f32 (*.f32 2 (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 uy) 2) (*.f32 (cbrt.f32 uy) (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)) (*.f32 (cbrt.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32))))) (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 2 (PI.f32))) (*.f32 (sqrt.f32 (*.f32 2 (PI.f32))) uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 uy) (*.f32 (sqrt.f32 uy) (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6) (*.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6) (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy 2) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)) 3) (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6) 3) (pow.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (PI.f32)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (cbrt.f32 (*.f32 4 (pow.f32 (PI.f32) 2)))) (cbrt.f32 (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (sqrt.f32 (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 2 (PI.f32)) (pow.f32 (cbrt.f32 uy) 2)) (cbrt.f32 uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 2 (PI.f32)) (sqrt.f32 uy)) (sqrt.f32 uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2) 1) (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2) (cbrt.f32 uy)) (cbrt.f32 (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2))) (cbrt.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2) (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6)) (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 uy 2) 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 uy 2) (cbrt.f32 (pow.f32 (PI.f32) 2))) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 uy 2) (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 uy) (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (*.f32 2 (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 uy 3) (pow.f32 (*.f32 2 (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 2 (PI.f32)) 3) (pow.f32 uy 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))))

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
40 → 40
Calls
Call 1
Inputs
Outputs

eval1.0s (6.4%)

Compiler

Compiled 37935 to 26841 computations (29.2% saved)

prune534.0ms (3.3%)

Pruning

45 alts after pruning (43 fresh and 2 done)

PrunedKeptTotal
New1099401139
Fresh9312
Picked101
Done224
Total1111451156
Error
0.0b
Counts
1156 → 45
Alt Table
Click to see full alt table
StatusErrorProgram
6.4b
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
13.2b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 ux) (+.f32 (-.f32 1 ux) (*.f32 2 (*.f32 maxCos ux)))))))
19.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))
16.2b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
0.3b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.6b
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
16.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
29.9b
(sqrt.f32 (+.f32 -1 1))
9.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
6.4b
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
8.2b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.6b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) 2))
1.8b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))
16.3b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
0.3b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
8.1b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
11.5b
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
2.0b
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))
13.5b
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))))
1.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) 1/3))
16.0b
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.8b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
3.3b
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))
8.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
16.5b
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
16.5b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
15.9b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
15.8b
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
9.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
16.3b
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
15.1b
(sqrt.f32 (+.f32 (fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1)) 1))
1.0b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (exp.f32 (log.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
1.2b
(sqrt.f32 (*.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))
8.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))))
11.5b
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux)))
0.8b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
15.1b
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
1.6b
(pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 3)
Compiler

Compiled 2042 to 1634 computations (20% saved)

localize90.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2))))
0.2b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.2b
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
0.3b
(*.f32 uy (PI.f32))
Compiler

Compiled 92 to 59 computations (35.9% saved)

series24.0ms (0.1%)

Counts
4 → 76
Calls

24 calls:

TimeVariablePointExpression
4.0ms
ux
@-inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
2.0ms
maxCos
@0
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
maxCos
@-inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
maxCos
@inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
uy
@inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
810×prod-diff_binary32
337×expm1-udef_binary32
336×log1p-udef_binary32
282×fma-def_binary32
279×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01972
139572
2487872
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(*.f32 uy (PI.f32))
(*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 uy (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 uy (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 uy (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 uy (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) uy))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 uy 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 uy (PI.f32))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 maxCos 1))) (*.f32 -2 (*.f32 ux (-.f32 maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux (-.f32 maxCos 1)) (*.f32 ux (-.f32 1 maxCos))) (*.f32 (*.f32 ux (-.f32 maxCos 1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 ux) (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2)) 3) (pow.f32 ux 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 maxCos 1)) (*.f32 -2 (*.f32 ux (-.f32 maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (-.f32 maxCos 1)) (*.f32 ux (-.f32 1 maxCos)) (*.f32 (*.f32 ux (-.f32 maxCos 1)) -2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2) (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3) (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))) (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cbrt.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4) (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 ux) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 2)) (sqrt.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux (-.f32 maxCos 1))) (sqrt.f32 (fma.f32 ux (-.f32 1 maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 2) 1/2) (pow.f32 (cbrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 ux (-.f32 maxCos 1)) 1/2) (sqrt.f32 (fma.f32 ux (-.f32 1 maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))))) 1))))))

simplify102.0ms (0.6%)

Algorithm
egg-herbie
Rules
551×distribute-rgt-in_binary32
549×distribute-lft-in_binary32
318×associate-/r/_binary32
290×fma-def_binary32
227×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02754533
19324213
238094013
Stop Event
node limit
Counts
153 → 179
Calls
Call 1
Inputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(*.f32 -1 (*.f32 ux (-.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 ux (-.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 ux 2) 3)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))))
(+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 ux 2) 3)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 2 ux) 2) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))))))
Outputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))
(*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)))
(*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))
(*.f32 (+.f32 maxCos -1) (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(+.f32 (*.f32 -2 (*.f32 (-.f32 maxCos 1) ux)) (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(fma.f32 -2 (*.f32 (+.f32 maxCos -1) ux) (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))
(*.f32 -1 (*.f32 ux (-.f32 ux 2)))
(neg.f32 (*.f32 ux (+.f32 ux -2)))
(*.f32 (+.f32 -2 ux) (neg.f32 ux))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 ux (-.f32 ux 2))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (neg.f32 (*.f32 ux (+.f32 ux -2))))
(-.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (*.f32 ux (+.f32 -2 ux)))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (+.f32 -2 ux) (neg.f32 ux)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 ux ux) (neg.f32 (*.f32 maxCos maxCos)))
(*.f32 ux (neg.f32 (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(*.f32 (*.f32 ux ux) (neg.f32 (*.f32 maxCos maxCos)))
(*.f32 ux (neg.f32 (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (neg.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(+.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (+.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (*.f32 -1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(fma.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) maxCos (*.f32 -1 (+.f32 (*.f32 ux (+.f32 ux -2)) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))
(fma.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (fma.f32 ux (+.f32 -2 ux) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(-.f32 (*.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 (*.f32 ux ux) maxCos))) (*.f32 ux (+.f32 -2 ux)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(-.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(-.f32 (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))
(-.f32 (fma.f32 1/2 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (fma.f32 1/2 (*.f32 (/.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) ux)) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(-.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))))))
(+.f32 (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (neg.f32 ux))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (neg.f32 ux))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 ux ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2))))))))
(+.f32 (*.f32 1/2 (+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 (/.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 2)))) (/.f32 (*.f32 ux ux) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))))
(+.f32 (*.f32 1/2 (+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 ux))) (*.f32 (/.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))))
(fma.f32 (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (/.f32 (sqrt.f32 -1) maxCos) (*.f32 ux (+.f32 ux (+.f32 -2 ux))))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (sqrt.f32 -1) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))))))
(+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2))))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (/.f32 (sqrt.f32 -1) maxCos) (*.f32 ux (+.f32 ux (+.f32 -2 ux))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) 1/2) (+.f32 (*.f32 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) maxCos) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos)) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 ux 2) 3)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (pow.f32 maxCos 3)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2)))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 ux -2) 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))))))
(+.f32 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 -2 ux) 3)))) (/.f32 (*.f32 -1/4 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (/.f32 (neg.f32 (sqrt.f32 -1)) (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (pow.f32 maxCos 3))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2))))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (/.f32 (/.f32 (sqrt.f32 -1) maxCos) (*.f32 ux (+.f32 ux (+.f32 -2 ux))))))))
(+.f32 (fma.f32 (*.f32 (/.f32 (*.f32 -1/4 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (neg.f32 (sqrt.f32 -1))) (neg.f32 (*.f32 (+.f32 (*.f32 ux ux) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)) (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (pow.f32 maxCos 3))))) (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 -2 ux) 3))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) 1/2) (+.f32 (*.f32 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) maxCos) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 ux (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2)))))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 -1))) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) ux)))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 maxCos ux)))))
(+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 -1/4 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2))))) (fma.f32 1/2 (/.f32 (*.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 ux (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (*.f32 ux (sqrt.f32 -1)))) 2))))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (pow.f32 ux 3)))) (fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 -1))) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) ux))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2)) (pow.f32 ux 3)))) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) ux) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 ux (sqrt.f32 -1)))) 2))) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (neg.f32 (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(-.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(-.f32 (*.f32 (*.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 ux (+.f32 -2 ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (fma.f32 -1/2 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2))) (*.f32 maxCos ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) -1/2) (/.f32 ux (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (fma.f32 (/.f32 -1/2 ux) (*.f32 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))) (fma.f32 -1/4 (*.f32 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (*.f32 maxCos maxCos)) (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2))) (pow.f32 ux 3))) (fma.f32 -1/2 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2))) (*.f32 maxCos ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 maxCos maxCos)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (pow.f32 ux 3) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2))))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) -1/2) (/.f32 ux (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 maxCos maxCos)) (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (pow.f32 ux 3)) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)))) (fma.f32 (/.f32 -1/2 ux) (*.f32 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos)))))))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux))
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2))))
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))
(+.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))
(+.f32 (*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2))))) (*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 (-.f32 1 maxCos) ux -2)) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(-.f32 (fma.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux)))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) ux) (*.f32 1/2 (/.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(-.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2))))))
(-.f32 (-.f32 (*.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(-.f32 (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (pow.f32 ux 2)))) (+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux)))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (pow.f32 (sqrt.f32 -1) 2) ux))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4))) (/.f32 maxCos (*.f32 (pow.f32 (-.f32 1 maxCos) 2) (pow.f32 (sqrt.f32 -1) 4)))) (*.f32 ux ux))) (fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))) (neg.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 2)))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 (/.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (-.f32 (-.f32 (*.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))))) (-.f32 (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (neg.f32 ux)) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 (sqrt.f32 -1) maxCos))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) maxCos)) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (*.f32 maxCos maxCos) (/.f32 (sqrt.f32 -1) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))))
(+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 (sqrt.f32 -1) maxCos))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)))))))
(+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) maxCos) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) maxCos) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (pow.f32 maxCos 3) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 ux 2)))))) 2)))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 ux 2) 3)))))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (-.f32 ux 2)))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 maxCos (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2)))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (*.f32 maxCos maxCos) (/.f32 (sqrt.f32 -1) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2))))) (fma.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 ux -2) 3))) (/.f32 (*.f32 (*.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (pow.f32 maxCos 3)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2))))) 2))) (pow.f32 (sqrt.f32 -1) 3))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))))))
(+.f32 (fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))) (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 -2 ux) 3)))) (/.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)) (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (pow.f32 maxCos 3))) (neg.f32 (sqrt.f32 -1)))))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 (sqrt.f32 -1) maxCos))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)))))))
(+.f32 (fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 -2 ux))) (*.f32 (sqrt.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 -2 ux) 3))) (*.f32 -1/4 (/.f32 (neg.f32 (*.f32 (+.f32 (*.f32 ux ux) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)) (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (pow.f32 maxCos 3)))) (neg.f32 (sqrt.f32 -1)))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (+.f32 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) maxCos) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 -2 ux)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)))) 2)))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 2 ux) 2) (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (*.f32 ux (-.f32 ux 2))) (pow.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 2 ux) 2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1)) (fma.f32 -1/4 (/.f32 (*.f32 (fma.f32 2 ux -2) (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2))) (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (sqrt.f32 -1) 3))) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux -2) (sqrt.f32 -1))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 -1/4 (*.f32 (/.f32 (fma.f32 ux 2 -2) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos maxCos)))) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 ux ux))) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(fma.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1)) (fma.f32 -1/4 (*.f32 (/.f32 (fma.f32 ux 2 -2) (*.f32 (*.f32 maxCos maxCos) (neg.f32 (sqrt.f32 -1)))) (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 ux ux))) (fma.f32 1/2 (/.f32 (-.f32 (*.f32 (+.f32 -2 ux) (neg.f32 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 ux 2 -2) (sqrt.f32 -1))) 2)) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos ux)))
(*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(-.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 ux (sqrt.f32 -1)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (*.f32 ux (*.f32 (sqrt.f32 -1) (neg.f32 maxCos))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2)) ux)) (fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (sqrt.f32 -1))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) ux)) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 ux (sqrt.f32 -1))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) ux)) (*.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 ux (+.f32 -2 ux)))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (sqrt.f32 -1)) ux)) (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))) (*.f32 -1/4 (/.f32 (*.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (-.f32 ux 2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (pow.f32 ux 2) (*.f32 ux (-.f32 ux 2))) ux)) 2)))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2)) ux)) (fma.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (/.f32 ux (sqrt.f32 -1))) (fma.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)) (*.f32 -1/4 (*.f32 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) (*.f32 maxCos maxCos)) (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 ux ux) (*.f32 ux (+.f32 ux -2))) ux)) 2))) (pow.f32 ux 3)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) ux)) (fma.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (/.f32 ux (sqrt.f32 -1))) (-.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (*.f32 maxCos maxCos)) (/.f32 (sqrt.f32 -1) (/.f32 (pow.f32 ux 3) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)))))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))
(fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)) ux)) (fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 ux (+.f32 -2 ux)))) (-.f32 (*.f32 (/.f32 -1/4 (pow.f32 ux 3)) (*.f32 (/.f32 (*.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) (sqrt.f32 -1)) (*.f32 maxCos maxCos)) (-.f32 (*.f32 ux (+.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 ux (+.f32 -2 ux))) ux)) 2)))) (*.f32 maxCos (*.f32 ux (sqrt.f32 -1))))))

localize13.0ms (0.1%)

Compiler

Compiled 12 to 12 computations (0% saved)

localize154.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 ux (+.f32 (*.f32 -1 ux) 1))
0.2b
(*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos)
0.4b
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
12.6b
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
Compiler

Compiled 150 to 112 computations (25.3% saved)

series9.0ms (0.1%)

Counts
4 → 56
Calls

15 calls:

TimeVariablePointExpression
1.0ms
maxCos
@0
(*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos)
1.0ms
ux
@inf
(*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos)
1.0ms
ux
@0
(*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos)
1.0ms
ux
@0
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
1.0ms
ux
@-inf
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))

rewrite93.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
650×log-prod_binary32
428×fma-neg_binary32
216×expm1-udef_binary32
216×log1p-udef_binary32
174×log-pow_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01553
133933
2538133
Stop Event
node limit
Counts
4 → 177
Calls
Call 1
Inputs
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
(*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos)
(*.f32 ux (+.f32 (*.f32 -1 ux) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (+.f32 1 (fma.f32 ux ux -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (-.f32 1 (fma.f32 ux ux -1))) (/.f32 (pow.f32 (fma.f32 ux ux -1) 2) (-.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 1 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (fma.f32 ux ux -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) (pow.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) 2) (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3)) (/.f32 1 (+.f32 1 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (fma.f32 ux ux -1) 2)) (/.f32 1 (-.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 1 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1))) (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 1 (fma.f32 ux ux -1)) (-.f32 1 (pow.f32 (fma.f32 ux ux -1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3)) (+.f32 1 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3)) (+.f32 (pow.f32 (fma.f32 ux ux -1) 2) (-.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 ux ux -1) 2)) (-.f32 1 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3))) (neg.f32 (+.f32 1 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (pow.f32 (fma.f32 ux ux -1) 2))) (neg.f32 (-.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) 1) (-.f32 (fma.f32 ux ux -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (+.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (+.f32 1 (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (+.f32 1 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (fma.f32 ux ux -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 ux ux -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 ux) (+.f32 ux -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 ux ux -1)) 2) (cbrt.f32 (fma.f32 ux ux -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 ux ux -1)) (sqrt.f32 (fma.f32 ux ux -1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (fma.f32 ux ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 ux ux ux) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 ux ux ux) (*.f32 -1 (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 ux ux ux) (*.f32 (+.f32 1 ux) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 ux ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (fma.f32 ux ux ux) ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 ux ux -1))) (cbrt.f32 (exp.f32 (fma.f32 ux ux -1))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux ux -1)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (fma.f32 ux ux -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fma.f32 ux ux ux) ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 ux 3) -1) (+.f32 1 (pow.f32 ux 3))) (*.f32 (fma.f32 ux ux (+.f32 1 ux)) (fma.f32 ux ux (+.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 ux 3) -1) (fma.f32 ux ux -1)) (*.f32 (fma.f32 ux ux (+.f32 1 ux)) (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 ux 3)) (+.f32 (pow.f32 ux 3) -1)) (*.f32 (fma.f32 ux ux (+.f32 1 ux)) (fma.f32 ux ux (+.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) (+.f32 (pow.f32 ux 3) -1)) (*.f32 (+.f32 ux -1) (fma.f32 ux ux (+.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) (+.f32 1 (pow.f32 ux 3))) (*.f32 (+.f32 1 ux) (fma.f32 ux ux (+.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 ux 3)) (fma.f32 ux ux -1)) (*.f32 (fma.f32 ux ux (+.f32 1 ux)) (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (*.f32 ux ux) 3) 1) (+.f32 (*.f32 (*.f32 ux ux) (*.f32 ux ux)) (+.f32 1 (*.f32 ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 ux ux ux) 3) (pow.f32 (+.f32 ux -1) 3)) (+.f32 (pow.f32 (fma.f32 ux ux ux) 2) (-.f32 (pow.f32 (+.f32 ux -1) 2) (*.f32 (fma.f32 ux ux ux) (+.f32 ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (*.f32 ux ux) (*.f32 ux ux) -1) (+.f32 (*.f32 ux ux) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (fma.f32 ux ux ux) 2) (pow.f32 (+.f32 ux -1) 2)) (-.f32 (fma.f32 ux ux ux) (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 ux -1) (fma.f32 ux ux -1)) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) (+.f32 ux -1)) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 ux 3) -1) (+.f32 1 ux)) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 ux 3)) (+.f32 ux -1)) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 ux -1) (+.f32 1 (pow.f32 ux 3))) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 ux) (+.f32 (pow.f32 ux 3) -1)) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 ux) (fma.f32 ux ux -1)) (+.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) (+.f32 1 ux)) (+.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux ux -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux ux -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux ux -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux ux -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux ux -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (+.f32 ux -1)) (exp.f32 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (+.f32 ux -1))) (exp.f32 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (+.f32 ux -1)) (+.f32 1 (expm1.f32 (fma.f32 ux ux ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (+.f32 ux -1))) (+.f32 1 (expm1.f32 (fma.f32 ux ux ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (fma.f32 ux ux ux))) (exp.f32 (+.f32 ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (fma.f32 ux ux ux)) (+.f32 1 (expm1.f32 (+.f32 ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (fma.f32 ux ux ux))) (+.f32 1 (expm1.f32 (+.f32 ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux ux -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (fma.f32 ux ux -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 2 (log.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux ux -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 1 (fma.f32 ux ux -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux ux -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux (+.f32 ux -1) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 ux -1) ux (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (*.f32 ux ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (fma.f32 ux ux -1)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux ux) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux ux) -1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) (pow.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) 2) (cbrt.f32 (+.f32 1 (fma.f32 ux ux -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (*.f32 (cbrt.f32 ux) ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 ux) ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (fma.f32 ux ux -1) 3)) (/.f32 1 (+.f32 1 (-.f32 (pow.f32 (fma.f32 ux ux -1) 2) (fma.f32 ux ux -1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (pow.f32 (fma.f32 ux ux -1) 2)) (/.f32 1 (-.f32 1 (fma.f32 ux ux -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (pow.f32 (cbrt.f32 ux) 2) (pow.f32 (cbrt.f32 ux) 2)) (pow.f32 (cbrt.f32 ux) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (sqrt.f32 ux)) (sqrt.f32 ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (pow.f32 (cbrt.f32 ux) 2)) (cbrt.f32 ux) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (fma.f32 ux ux ux) maxCos) (*.f32 (fma.f32 ux ux ux) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 maxCos (fma.f32 ux ux ux)) (*.f32 maxCos (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)))) (cbrt.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)))))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (fma.f32 ux ux ux) 3) (pow.f32 (fma.f32 ux ux ux) 3)) maxCos) (+.f32 (pow.f32 (fma.f32 ux ux ux) 2) (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 2) maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 maxCos (+.f32 (pow.f32 (fma.f32 ux ux ux) 3) (pow.f32 (fma.f32 ux ux ux) 3))) (+.f32 (pow.f32 (fma.f32 ux ux ux) 2) (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 maxCos (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 2)) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 maxCos) (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 3) (pow.f32 maxCos 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (+.f32 (fma.f32 ux ux ux) (fma.f32 ux ux ux)) maxCos)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (*.f32 ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 ux ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 ux ux ux))) (cbrt.f32 (exp.f32 (fma.f32 ux ux ux))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 ux ux ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux ux ux)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 ux ux ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (fma.f32 ux ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 ux ux ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 ux ux) 3) (pow.f32 ux 3)) (+.f32 (*.f32 (*.f32 ux ux) (*.f32 ux ux)) (fma.f32 ux ux (pow.f32 ux 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (*.f32 ux ux) (*.f32 ux ux) (*.f32 ux ux)) (fma.f32 ux ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 ux 3) -1) ux) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) ux) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 ux ux -1) ux) (+.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (pow.f32 ux 3)) ux) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (+.f32 (pow.f32 ux 3) -1)) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (+.f32 1 (pow.f32 ux 3))) (fma.f32 ux ux (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (fma.f32 ux ux -1)) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (fma.f32 ux ux -1)) (+.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux ux ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux ux ux)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (hypot.f32 ux (sqrt.f32 ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux ux ux) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (fma.f32 ux ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux ux ux) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 1 (+.f32 1 (expm1.f32 (fma.f32 ux ux ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (exp.f32 (*.f32 ux ux)) (exp.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 (exp.f32 (*.f32 ux ux)) (+.f32 1 (expm1.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 ux) (exp.f32 (*.f32 ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 ux)) (exp.f32 (*.f32 ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (*.f32 ux ux)) (+.f32 1 (expm1.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux ux ux) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 1 ux) 3) (pow.f32 ux 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux ux ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux ux ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (*.f32 ux ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux ux) 1 ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux ux) -1 ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 ux) 2) (*.f32 (cbrt.f32 ux) ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 ux) ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (pow.f32 (cbrt.f32 ux) 2) (pow.f32 (cbrt.f32 ux) 2)) (pow.f32 (cbrt.f32 ux) 2) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (sqrt.f32 ux)) (sqrt.f32 ux) ux)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux (pow.f32 (cbrt.f32 ux) 2)) (cbrt.f32 ux) ux)))))

simplify178.0ms (1.1%)

Algorithm
egg-herbie
Rules
593×unsub-neg_binary32
501×distribute-rgt-out--_binary32
378×distribute-rgt-neg-in_binary32
309×distribute-rgt-out_binary32
298×distribute-lft-neg-out_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027643
179608
2194546
3598483
42405483
55214483
Stop Event
node limit
Counts
233 → 198
Calls
Call 1
Inputs
(*.f32 2 ux)
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
-1
(-.f32 (*.f32 2 ux) 1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(*.f32 -2 (*.f32 maxCos ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
ux
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
Outputs
(*.f32 2 ux)
(+.f32 ux ux)
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
-1
(-.f32 (*.f32 2 ux) 1)
(fma.f32 2 ux -1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))
(-.f32 (*.f32 2 ux) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(-.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux)) 1)
(+.f32 (neg.f32 (*.f32 ux ux)) (fma.f32 2 ux -1))
(fma.f32 -1 (*.f32 ux ux) (fma.f32 2 ux -1))
(+.f32 -1 (*.f32 ux (-.f32 2 ux)))
(fma.f32 ux (-.f32 2 ux) -1)
(*.f32 -2 (*.f32 maxCos ux))
(*.f32 -2 (*.f32 ux maxCos))
(*.f32 maxCos (*.f32 ux -2))
(*.f32 ux (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
(*.f32 2 (*.f32 (*.f32 ux ux) maxCos))
(*.f32 2 (*.f32 ux (*.f32 ux maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 2 maxCos))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
(*.f32 2 (*.f32 (*.f32 ux ux) maxCos))
(*.f32 2 (*.f32 ux (*.f32 ux maxCos)))
(*.f32 (*.f32 ux ux) (*.f32 2 maxCos))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
(*.f32 maxCos (+.f32 (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1))) (*.f32 (-.f32 ux 1) ux)))
(fma.f32 -2 (*.f32 ux maxCos) (*.f32 2 (*.f32 (*.f32 ux ux) maxCos)))
(fma.f32 2 (*.f32 ux (*.f32 ux maxCos)) (*.f32 -2 (*.f32 ux maxCos)))
(*.f32 ux (+.f32 (*.f32 2 (*.f32 ux maxCos)) (*.f32 -2 maxCos)))
(*.f32 maxCos (*.f32 ux (+.f32 (*.f32 2 ux) -2)))
(*.f32 2 (*.f32 ux (-.f32 (*.f32 ux maxCos) maxCos)))
ux
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))
(+.f32 ux (*.f32 -1 (pow.f32 ux 2)))
(+.f32 ux (neg.f32 (*.f32 ux ux)))
(-.f32 ux (*.f32 ux ux))
(fma.f32 ux (neg.f32 ux) ux)
(*.f32 ux (-.f32 1 ux))

localize100.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.3b
(*.f32 uy (PI.f32))
0.4b
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
12.6b
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
Compiler

Compiled 85 to 61 computations (28.2% saved)

series6.0ms (0%)

Counts
1 → 20
Calls

6 calls:

TimeVariablePointExpression
1.0ms
ux
@0
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
uy
@inf
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
uy
@0
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
ux
@inf
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.0ms
ux
@-inf
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
791×log-prod_binary32
557×fma-def_binary32
309×fma-neg_binary32
282×expm1-udef_binary32
282×log1p-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01728
136822
2510322
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))))) (cbrt.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))))))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1)))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (+.f32 1 (fma.f32 ux ux -1)) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 3/2) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) 3) (pow.f32 (+.f32 1 (fma.f32 ux ux -1)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 ux ux -1))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (fma.f32 1/2 (log1p.f32 (fma.f32 ux ux -1)) (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (fma.f32 1/2 (log1p.f32 (fma.f32 ux ux -1)) (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))))) 1))))))

simplify92.0ms (0.6%)

Algorithm
egg-herbie
Rules
750×times-frac_binary32
647×associate-/r*_binary32
390×fma-def_binary32
363×associate-/l*_binary32
316×fma-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075889
1218820
2670766
32806635
47499635
Stop Event
node limit
Counts
38 → 44
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (+.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
Outputs
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))
(fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 -1)))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 ux))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (fma.f32 (/.f32 1/2 (sqrt.f32 -1)) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (*.f32 (+.f32 (/.f32 1/2 ux) 1) (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 -1))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (+.f32 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (+.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))))
(+.f32 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3))) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 ux))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux)))))))
(+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (*.f32 (sqrt.f32 -1) ux) (/.f32 (/.f32 (/.f32 -1/2 ux) ux) (pow.f32 (sqrt.f32 -1) 5)))) (*.f32 (+.f32 (/.f32 1/2 ux) 1) (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 -1))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 ux)))
(*.f32 ux (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (neg.f32 (sqrt.f32 -1))))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))))
(*.f32 -1 (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1))))
(neg.f32 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (/.f32 -1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))))
(fma.f32 -1 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (fma.f32 -1 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3)))))
(fma.f32 -1 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 ux))) 1/2))
(-.f32 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(-.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 -1)) (+.f32 -1 (/.f32 -1/2 ux))) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (*.f32 -1 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))))))
(fma.f32 -1 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 -1)) (fma.f32 -1 (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 -1) ux)) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 ux (pow.f32 (sqrt.f32 -1) 3))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux)))))))
(fma.f32 -1 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (fma.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (neg.f32 ux))) 1/2 (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))))))
(-.f32 (fma.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux)))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))))
(+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 -1)) (+.f32 -1 (/.f32 -1/2 ux))) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (/.f32 (/.f32 (/.f32 -1/2 ux) ux) (pow.f32 (sqrt.f32 -1) 5)) (*.f32 (sqrt.f32 -1) ux))))
(sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))
(sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1))))
(sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0)))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (+.f32 1 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1))))
(+.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))) (*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))) (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) (+.f32 1 (*.f32 (pow.f32 uy 4) (*.f32 2/3 (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))))
(+.f32 (*.f32 (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) 1) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0)))) (*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))) (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (+.f32 (*.f32 (pow.f32 uy 4) (*.f32 2/3 (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 ux -1) (fma.f32 -1 ux 1)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 -1 ux) (-.f32 1 ux) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) (+.f32 ux 0))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))

localize165.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))
0.2b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.3b
(*.f32 (PI.f32) uy)
0.7b
(log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))
Compiler

Compiled 107 to 73 computations (31.8% saved)

series9.0ms (0.1%)

Counts
4 → 52
Calls

18 calls:

TimeVariablePointExpression
2.0ms
maxCos
@-inf
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0ms
uy
@0
(log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))
1.0ms
ux
@-inf
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0ms
ux
@inf
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.0ms
ux
@0
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))

rewrite121.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
582×fma-def_binary32
325×fma-neg_binary32
313×expm1-udef_binary32
312×log1p-udef_binary32
257×log-pow_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02054
140846
2548046
Stop Event
node limit
Counts
4 → 121
Calls
Call 1
Inputs
(log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))
(*.f32 (PI.f32) uy)
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (-.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) 3) (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) 3)) (fma.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (fma.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1 (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) uy)) (cos.f32 (*.f32 (PI.f32) uy)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) uy)) (cos.f32 (*.f32 (PI.f32) uy)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (-.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) uy))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) uy) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) uy) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) uy)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) uy)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) uy) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 uy) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) uy) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 uy 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) uy)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) uy)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) uy)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) uy)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 ux (-.f32 maxCos maxCos)) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3) (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 ux (-.f32 maxCos maxCos)) 3/2) (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (sqrt.f32 (*.f32 ux (-.f32 maxCos maxCos))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (-.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) 3) (pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) 3)) (fma.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (fma.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 1 (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 2)) (cbrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (sqrt.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) uy)) (cos.f32 (*.f32 (PI.f32) uy)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 (PI.f32) uy)) (cos.f32 (*.f32 (PI.f32) uy)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (-.f32 (cos.f32 (*.f32 (PI.f32) uy)) (sin.f32 (*.f32 (PI.f32) uy))) (fma.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) uy))) (sin.f32 (*.f32 (PI.f32) uy)) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)))))))

simplify60.0ms (0.4%)

Algorithm
egg-herbie
Rules
633×associate-*l/_binary32
594×associate-/r*_binary32
594×associate-/r/_binary32
487×associate-*r/_binary32
404×associate-*l*_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0761166
12201052
2734959
33480897
Stop Event
node limit
Counts
173 → 105
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (pow.f32 (sqrt.f32 2) 5)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
Outputs
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)))
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1)
(fma.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1)
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4))))
(+.f32 1 (fma.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4) (*.f32 (*.f32 uy uy) (*.f32 (pow.f32 (PI.f32) 2) -2))))
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)))))
(+.f32 (fma.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4) (*.f32 (*.f32 uy uy) (*.f32 (pow.f32 (PI.f32) 2) -2))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) 1))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(*.f32 uy (PI.f32))
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))
(sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos)))
(sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos)))
(sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))
(+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))))
(*.f32 (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (fma.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))))
(fma.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))))
(fma.f32 2/3 (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))) (*.f32 (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(*.f32 (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))))))
(fma.f32 -4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (fma.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))) (+.f32 (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))) (*.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos))))))))
(+.f32 (*.f32 (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos)))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))) (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))))
(*.f32 (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (sqrt.f32 (*.f32 ux (+.f32 1 (-.f32 (neg.f32 (+.f32 maxCos -1)) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 1 (-.f32 maxCos 1)) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (-.f32 2 maxCos) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) ux))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux))))
(*.f32 (sqrt.f32 ux) (+.f32 (neg.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) maxCos)) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2))))
(*.f32 (sqrt.f32 ux) (-.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (*.f32 (/.f32 maxCos (sqrt.f32 2)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 3) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))))
(-.f32 (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) (/.f32 (*.f32 maxCos maxCos) 2))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)))) (*.f32 (sqrt.f32 ux) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) maxCos)))
(*.f32 (sqrt.f32 ux) (-.f32 (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2) (*.f32 -1/4 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (/.f32 (sqrt.f32 2) (*.f32 maxCos maxCos))))) (*.f32 (/.f32 maxCos (sqrt.f32 2)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (*.f32 (*.f32 (/.f32 maxCos (sqrt.f32 2)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))) (+.f32 (*.f32 -1/4 maxCos) -1))))
(+.f32 (*.f32 -1 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (sqrt.f32 2)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (pow.f32 (sqrt.f32 2) 5)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2)) (pow.f32 (sqrt.f32 2) 3)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))))
(fma.f32 -1 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (sqrt.f32 2) maxCos))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 5) (pow.f32 maxCos 3)))) (fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (/.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (/.f32 (pow.f32 (sqrt.f32 2) 3) (*.f32 maxCos maxCos)))) (*.f32 (cos.f32 (*.f32 (*.f32 2 uy) (PI.f32))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux))))))
(+.f32 (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) (/.f32 (*.f32 maxCos maxCos) 2))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)))) (*.f32 (sqrt.f32 ux) (+.f32 (neg.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 2)) maxCos)) (/.f32 (*.f32 -1/2 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (/.f32 (pow.f32 (sqrt.f32 2) 5) (pow.f32 maxCos 3))))))
(*.f32 (sqrt.f32 ux) (+.f32 (fma.f32 -1/2 (*.f32 (pow.f32 maxCos 3) (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (sqrt.f32 2) 5))) (*.f32 -1/4 (/.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (/.f32 (sqrt.f32 2) (*.f32 maxCos maxCos))))) (-.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 2)) (*.f32 (/.f32 maxCos (sqrt.f32 2)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 2) 5)) (/.f32 (*.f32 maxCos maxCos) (*.f32 2 (sqrt.f32 2)))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2))))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)))
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1)
(fma.f32 (*.f32 uy uy) (*.f32 -2 (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1)
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4))))
(+.f32 1 (fma.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4) (*.f32 (*.f32 uy uy) (*.f32 (pow.f32 (PI.f32) 2) -2))))
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)))))
(+.f32 (fma.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4) (*.f32 (*.f32 uy uy) (*.f32 (pow.f32 (PI.f32) 2) -2))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) 1))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) 1)))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (*.f32 (*.f32 2 uy) (PI.f32)))
(cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))

eval476.0ms (2.9%)

Compiler

Compiled 20036 to 13887 computations (30.7% saved)

prune197.0ms (1.2%)

Pruning

49 alts after pruning (45 fresh and 4 done)

PrunedKeptTotal
New63027657
Fresh201838
Picked011
Done336
Total65349702
Error
0.0b
Counts
702 → 49
Alt Table
Click to see full alt table
StatusErrorProgram
27.2b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
6.5b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
6.4b
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
19.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
6.4b
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))
11.5b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
16.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
29.9b
(sqrt.f32 (+.f32 -1 1))
8.1b
(*.f32 (*.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.3b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))
8.1b
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.1b
(*.f32 (exp.f32 (*.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1/2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.2b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.0b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
16.3b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
8.1b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
11.5b
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
16.6b
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))))
13.5b
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
0.4b
(*.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
8.6b
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
16.0b
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.2b
(sqrt.f32 (*.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)))
0.3b
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
15.5b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
8.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
16.5b
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
1.6b
(pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 2)
9.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
9.1b
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.1b
(*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
7.3b
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
15.8b
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
1.8b
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.6b
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
16.3b
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
3.3b
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
1.4b
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2) 1/3) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
15.1b
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
11.5b
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
0.8b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
6.4b
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 3)
Compiler

Compiled 2195 to 1744 computations (20.5% saved)

localize133.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
0.1b
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))))
0.2b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.3b
(*.f32 uy (PI.f32))
Compiler

Compiled 109 to 63 computations (42.2% saved)

series30.0ms (0.2%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
8.0ms
maxCos
@0
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))))
6.0ms
uy
@0
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
3.0ms
maxCos
@0
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
2.0ms
maxCos
@-inf
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
2.0ms
maxCos
@inf
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))

rewrite90.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
650×fma-def_binary32
381×expm1-udef_binary32
380×log1p-udef_binary32
327×fma-neg_binary32
228×add-sqr-sqrt_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02166
145064
2600160
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))))
(cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3) (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))) (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) (cbrt.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 maxCos -1)) (sqrt.f32 (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 2)) (sqrt.f32 (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 2) 1/2) (pow.f32 (cbrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (fma.f32 ux (-.f32 1 maxCos) -2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (cos.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))) (-.f32 (cos.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) 3) (pow.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2) 3)) (fma.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (fma.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (*.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2))) (+.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (neg.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 1 (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2) (cbrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32))) (neg.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32))) (*.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (neg.f32 (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (sqrt.f32 (pow.f32 (cos.f32 (*.f32 uy (PI.f32))) 2)) (*.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (cos.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))) (-.f32 (cos.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))) (fma.f32 (neg.f32 (sin.f32 (*.f32 uy (PI.f32)))) (sin.f32 (*.f32 uy (PI.f32))) (pow.f32 (sin.f32 (*.f32 uy (PI.f32))) 2)))))))

simplify155.0ms (0.9%)

Algorithm
egg-herbie
Rules
742×distribute-rgt-in_binary32
740×distribute-lft-in_binary32
294×fma-def_binary32
227×associate-*r*_binary32
211×*-commutative_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02544017
19033842
237973570
Stop Event
node limit
Counts
135 → 176
Calls
Call 1
Inputs
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))))
(+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3)))))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 5))))) (+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))))))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))))
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))))
(+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))
(+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) 3))))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))) (+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 1 (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))) (+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
Outputs
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 maxCos (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))) (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))))))
(fma.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (*.f32 1/2 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (/.f32 (/.f32 (sqrt.f32 -1) maxCos) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2))) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))))))
(+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (+.f32 (/.f32 (*.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))) (sqrt.f32 -1)) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) 1/2) (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2))))))))
(+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) 3))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3)) (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2)))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2)) 3)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 -1) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2))) (sqrt.f32 -1))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))))))
(fma.f32 -1/4 (*.f32 (/.f32 (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2)) (pow.f32 maxCos 3)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))) (neg.f32 (sqrt.f32 -1))) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (+.f32 ux -2)) 3)))) (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (+.f32 (/.f32 (*.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))) (sqrt.f32 -1)) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2)))))))))
(fma.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (+.f32 ux -2)) 3)))) (/.f32 (/.f32 (neg.f32 (sqrt.f32 -1)) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2)) (pow.f32 maxCos 3)))) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) 1/2) (+.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (*.f32 maxCos (*.f32 maxCos (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2)))))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (*.f32 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)))))
(fma.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (sqrt.f32 -1) ux)) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(fma.f32 1/2 (*.f32 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (*.f32 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux) (/.f32 (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 ux maxCos))))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))))
(fma.f32 1/2 (*.f32 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 -1))) (fma.f32 1/2 (*.f32 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)) (*.f32 -1/4 (*.f32 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (pow.f32 ux 3))))))))
(+.f32 (fma.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (/.f32 (*.f32 (*.f32 -1/4 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2))) (*.f32 (sqrt.f32 -1) (neg.f32 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux) (/.f32 (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 ux maxCos))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (neg.f32 (sqrt.f32 -1)) (*.f32 ux maxCos)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (*.f32 (sqrt.f32 -1) maxCos) (neg.f32 ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(-.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (*.f32 (sqrt.f32 -1) maxCos) (neg.f32 ux))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2)))) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))))
(-.f32 (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (/.f32 -1/2 ux) (/.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (/.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))) (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (/.f32 (*.f32 (*.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))) (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2)))) (pow.f32 ux 3))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2)))) ux)) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 ux (*.f32 (sqrt.f32 -1) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos maxCos)) (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2))) (/.f32 (pow.f32 ux 3) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3)))) (*.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)))) (*.f32 (/.f32 -1/2 ux) (/.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 -1)) (/.f32 maxCos (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)))))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(*.f32 ux (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(-.f32 (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(-.f32 (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux))))
(+.f32 (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))) (+.f32 (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux)))))
(fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 ux ux) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))))) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(-.f32 (fma.f32 1/2 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) ux)) (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (fma.f32 1/2 (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) ux)) (sqrt.f32 (/.f32 (/.f32 1 (-.f32 1 maxCos)) (+.f32 -1 maxCos)))) (*.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 -1/2 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux)))) (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(*.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux) (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))))
(fma.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(-.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3)))))))
(fma.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 ux 2)) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 5))))) (+.f32 (*.f32 -1 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))))))))
(fma.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 5)))) (fma.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 5)))) (-.f32 (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))))) (*.f32 ux (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))))
(+.f32 (*.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 5))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (*.f32 ux ux)))) (+.f32 (*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) ux)))))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2)))))
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))))
(sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))))
(sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux)))))
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) 1) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)))))))
(+.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))) (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)))))
(+.f32 (*.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (+.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -2 (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))))
(+.f32 (*.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) 1) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux)))))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))) (+.f32 (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3)) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -4/45 (pow.f32 uy 6))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 -2 ux (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux -2 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))
(*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))))
(+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))
(fma.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))))))
(fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))))))
(fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2)))) (fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))) (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))))))
(+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2)))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) 1/2) (+.f32 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2))))))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) (+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))) (+.f32 (*.f32 -1/4 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 3) (*.f32 (-.f32 (*.f32 -1 (pow.f32 ux 2)) (pow.f32 (*.f32 1/2 (*.f32 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) 3))))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 -1)) (sqrt.f32 (/.f32 1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)))))))))
(fma.f32 1/2 (/.f32 (*.f32 (*.f32 (*.f32 maxCos maxCos) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2))) (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2))))) (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) (sqrt.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (fma.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2)) 3))) (/.f32 (pow.f32 maxCos 3) (/.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (-.f32 (neg.f32 (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 -1)))) 2)))))) (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (+.f32 (*.f32 ux ux) (*.f32 ux -2)))) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))))))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2)))) (fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))) (*.f32 -1/4 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (+.f32 ux -2)) 3))) (*.f32 (/.f32 (pow.f32 maxCos 3) (neg.f32 (sqrt.f32 -1))) (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (sqrt.f32 -1)))) 2)))))))))
(+.f32 (fma.f32 (sqrt.f32 -1) (sqrt.f32 (*.f32 ux (+.f32 ux -2))) (*.f32 (*.f32 (/.f32 (pow.f32 maxCos 3) (neg.f32 (sqrt.f32 -1))) (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2)))) (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (+.f32 ux -2)) 3))) -1/4))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) 1/2) (+.f32 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (/.f32 (*.f32 maxCos maxCos) (sqrt.f32 -1)) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (+.f32 ux -2)))) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 -1)))) 2))))))
(*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))
(*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))
(*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(fma.f32 (sqrt.f32 -1) (*.f32 ux maxCos) (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))))
(fma.f32 (sqrt.f32 -1) (*.f32 ux maxCos) (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux)) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(fma.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux)) (fma.f32 (sqrt.f32 -1) (*.f32 ux maxCos) (*.f32 1/2 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))))))
(+.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux) (/.f32 (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 ux maxCos)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (*.f32 (pow.f32 (sqrt.f32 -1) 3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 (*.f32 -1 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux))) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))) (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux)) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (pow.f32 (sqrt.f32 -1) 3)) (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)))) (fma.f32 1/2 (/.f32 (-.f32 (neg.f32 (+.f32 (*.f32 ux ux) (*.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(fma.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux)) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (neg.f32 (sqrt.f32 -1))) (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))))) (fma.f32 (sqrt.f32 -1) (*.f32 ux maxCos) (*.f32 1/2 (/.f32 (-.f32 (neg.f32 (*.f32 ux (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)))))))
(+.f32 (+.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)) (*.f32 (/.f32 1/2 (sqrt.f32 -1)) (+.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux) (/.f32 (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (*.f32 ux maxCos))))) (*.f32 (/.f32 (-.f32 (*.f32 ux (neg.f32 (+.f32 ux -2))) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 (sqrt.f32 -1) ux))) 2)) (neg.f32 (sqrt.f32 -1))) (*.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3)))) -1/4)))
(*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))
(neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(*.f32 (neg.f32 (sqrt.f32 -1)) (*.f32 ux maxCos))
(*.f32 (*.f32 (sqrt.f32 -1) maxCos) (neg.f32 ux))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))
(fma.f32 1/2 (/.f32 (sqrt.f32 -1) (/.f32 ux (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(-.f32 (*.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)))
(fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (*.f32 (sqrt.f32 -1) maxCos) (neg.f32 ux)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux)))))
(fma.f32 1/2 (/.f32 (sqrt.f32 -1) (/.f32 ux (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2))) ux)) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))) (*.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2)) ux)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux)))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 (/.f32 -1/2 ux) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1))))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (sqrt.f32 -1) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) ux)) (+.f32 (*.f32 -1/4 (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2)))) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (sqrt.f32 -1) (-.f32 (+.f32 (pow.f32 ux 2) (*.f32 -2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) ux)) 2))) (*.f32 maxCos ux))) (*.f32 -1 (*.f32 (sqrt.f32 -1) (*.f32 maxCos ux))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 -1) (/.f32 ux (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (fma.f32 -1/4 (/.f32 (sqrt.f32 -1) (/.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2)))))) (fma.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (+.f32 (*.f32 ux ux) (-.f32 (*.f32 ux -2) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) ux)) 2))) ux)) (neg.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))))
(fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 (sqrt.f32 -1) (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2))) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2)) (pow.f32 ux 3))) (*.f32 -1/2 (*.f32 (/.f32 (sqrt.f32 -1) maxCos) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 ux -2)) ux)) 2)) ux)))) (*.f32 maxCos (*.f32 (sqrt.f32 -1) ux))))
(fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 -1) ux) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (*.f32 (sqrt.f32 -1) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)) (pow.f32 ux 3))) (*.f32 (/.f32 -1/2 ux) (/.f32 (-.f32 (*.f32 ux (+.f32 ux -2)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) ux)) 2)) (/.f32 maxCos (sqrt.f32 -1))))) (*.f32 (sqrt.f32 -1) (*.f32 ux maxCos))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux)
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (neg.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 -1 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos)))) (+.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1))) ux) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (-.f32 1 maxCos) (-.f32 maxCos 1)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (pow.f32 ux 2)))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(fma.f32 -1 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (fma.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) ux (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (*.f32 -1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) (*.f32 ux ux))) (*.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(-.f32 (fma.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (fma.f32 1/2 (*.f32 (/.f32 (sqrt.f32 (/.f32 (/.f32 1 (-.f32 1 maxCos)) (+.f32 -1 maxCos))) ux) (/.f32 (-.f32 (/.f32 1 (pow.f32 (-.f32 1 maxCos) 2)) (/.f32 maxCos (pow.f32 (-.f32 1 maxCos) 2))) ux)) (*.f32 -1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux)))) (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))
(neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(*.f32 ux (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))
(+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))
(-.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))) (+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux) (-.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))
(+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 1 (pow.f32 ux 2)))) (+.f32 (*.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux))) (+.f32 (sqrt.f32 (/.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) (*.f32 -1 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (-.f32 1 maxCos))) ux)))))
(fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 5))) (/.f32 1 (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 ux)) (+.f32 (sqrt.f32 (/.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))) (neg.f32 (*.f32 ux (sqrt.f32 (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 5))) (*.f32 ux ux)) (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux) (-.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))) (*.f32 ux (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))))))
(fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 5))) (*.f32 ux ux)) (fma.f32 1/2 (/.f32 (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (pow.f32 (-.f32 1 maxCos) 3))) ux) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)))) ux (sqrt.f32 (/.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos))))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) 1)
(+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4))))
(+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(+.f32 1 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))))
(+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (+.f32 1 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 2/3 (pow.f32 uy 4)) (pow.f32 (PI.f32) 4)))))
(+.f32 (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) 1))
(+.f32 (fma.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3))) (fma.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) 1))

localize59.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
0.0b
(*.f32 ux (*.f32 (+.f32 -1 maxCos) -2))
Compiler

Compiled 30 to 22 computations (26.7% saved)

series81.0ms (0.5%)

Counts
2 → 28
Calls

12 calls:

TimeVariablePointExpression
44.0ms
maxCos
@-inf
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
23.0ms
ux
@0
(*.f32 ux (*.f32 (+.f32 -1 maxCos) -2))
2.0ms
ux
@0
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
2.0ms
maxCos
@inf
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
2.0ms
maxCos
@0
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
914×pow1_binary32
849×add-log-exp_binary32
849×log1p-expm1-u_binary32
849×expm1-log1p-u_binary32
832×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
118822
2229422
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(*.f32 ux (*.f32 (+.f32 -1 maxCos) -2))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 (+.f32 -1 maxCos)) -2) ux))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 2 (*.f32 maxCos -2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 2 (*.f32 maxCos -2)) 3) (pow.f32 ux 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) (cbrt.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 ux) (sqrt.f32 (+.f32 2 (*.f32 maxCos -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 1/4) (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 2 (*.f32 maxCos -2))) (sqrt.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 2)) (sqrt.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux (+.f32 -1 maxCos))) (sqrt.f32 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 2) 1/2) (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 ux (+.f32 -1 maxCos)) 1/2) (sqrt.f32 -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))))))

simplify91.0ms (0.6%)

Algorithm
egg-herbie
Rules
1048×distribute-lft-out_binary32
720×fma-def_binary32
595×associate-*l/_binary32
517×associate-/r*_binary32
506×associate-*r/_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
045412
1126402
2387340
31699326
45818314
56652314
Stop Event
node limit
Counts
66 → 53
Calls
Call 1
Inputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 2 ux)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 maxCos ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 maxCos ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 ux))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 ux))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 3) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 5)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))))
Outputs
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 2 ux)
(*.f32 ux 2)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 maxCos ux))
(*.f32 (*.f32 -2 ux) maxCos)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 -2 (*.f32 maxCos ux))
(*.f32 (*.f32 -2 ux) maxCos)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux))
(*.f32 (sqrt.f32 -1) (*.f32 (sqrt.f32 -2) (sqrt.f32 ux)))
(+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))
(fma.f32 1/2 (*.f32 (sqrt.f32 ux) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (sqrt.f32 -2)))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (sqrt.f32 -2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 -2))))
(*.f32 (sqrt.f32 ux) (fma.f32 (sqrt.f32 -1) (sqrt.f32 -2) (/.f32 (*.f32 1/2 (*.f32 maxCos (sqrt.f32 -2))) (sqrt.f32 -1))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 -2) (+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 maxCos (sqrt.f32 -1))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 -2) (+.f32 (sqrt.f32 -1) (/.f32 (*.f32 maxCos 1/2) (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 ux))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux))))
(fma.f32 -1/8 (*.f32 (sqrt.f32 ux) (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (sqrt.f32 -1) 3) (sqrt.f32 -2)))) (fma.f32 1/2 (*.f32 (sqrt.f32 ux) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (sqrt.f32 -2)))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux))))
(fma.f32 -1/8 (*.f32 (sqrt.f32 ux) (*.f32 (/.f32 (sqrt.f32 -2) (sqrt.f32 -1)) (/.f32 (*.f32 maxCos maxCos) -1))) (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (sqrt.f32 -2))) (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)))))
(*.f32 (sqrt.f32 ux) (+.f32 (fma.f32 (sqrt.f32 -1) (sqrt.f32 -2) (/.f32 (*.f32 1/2 (*.f32 maxCos (sqrt.f32 -2))) (sqrt.f32 -1))) (*.f32 1/8 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (/.f32 (sqrt.f32 -1) maxCos)))))
(*.f32 (sqrt.f32 ux) (fma.f32 1/8 (/.f32 maxCos (/.f32 (/.f32 (sqrt.f32 -1) (sqrt.f32 -2)) maxCos)) (*.f32 (sqrt.f32 -2) (+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 maxCos (sqrt.f32 -1)))))))
(*.f32 (sqrt.f32 ux) (fma.f32 (sqrt.f32 -1) (sqrt.f32 -2) (*.f32 (*.f32 (sqrt.f32 -2) (/.f32 maxCos (sqrt.f32 -1))) (+.f32 (/.f32 (*.f32 maxCos -1/8) -1) 1/2))))
(+.f32 (*.f32 -1/8 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 3)) (sqrt.f32 ux))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (sqrt.f32 -1)) (sqrt.f32 ux))) (+.f32 (*.f32 1/16 (*.f32 (/.f32 (*.f32 (pow.f32 maxCos 3) (sqrt.f32 -2)) (pow.f32 (sqrt.f32 -1) 5)) (sqrt.f32 ux))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))))
(fma.f32 -1/8 (*.f32 (sqrt.f32 ux) (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (sqrt.f32 -1) 3) (sqrt.f32 -2)))) (fma.f32 1/2 (*.f32 (sqrt.f32 ux) (/.f32 maxCos (/.f32 (sqrt.f32 -1) (sqrt.f32 -2)))) (fma.f32 1/16 (*.f32 (sqrt.f32 ux) (/.f32 (*.f32 (sqrt.f32 -2) (pow.f32 maxCos 3)) (pow.f32 (sqrt.f32 -1) 5))) (*.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (sqrt.f32 ux)))))
(+.f32 (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (sqrt.f32 -1) (sqrt.f32 -2)) (*.f32 1/16 (*.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 -1) 5)) (sqrt.f32 -2))))) (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/8 (*.f32 (/.f32 (sqrt.f32 -2) (sqrt.f32 -1)) (/.f32 (*.f32 maxCos maxCos) -1))) (*.f32 1/2 (*.f32 (/.f32 maxCos (sqrt.f32 -1)) (sqrt.f32 -2))))))
(*.f32 (sqrt.f32 ux) (+.f32 (fma.f32 (sqrt.f32 -1) (sqrt.f32 -2) (*.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 -1) 5)) (*.f32 (sqrt.f32 -2) 1/16))) (+.f32 (*.f32 1/8 (/.f32 (*.f32 maxCos (sqrt.f32 -2)) (/.f32 (sqrt.f32 -1) maxCos))) (/.f32 (*.f32 1/2 (*.f32 maxCos (sqrt.f32 -2))) (sqrt.f32 -1)))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (sqrt.f32 -2) (+.f32 (sqrt.f32 -1) (*.f32 1/16 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 -1) 5))))) (*.f32 (sqrt.f32 -2) (+.f32 (/.f32 (*.f32 maxCos -1/8) (/.f32 (neg.f32 (sqrt.f32 -1)) maxCos)) (*.f32 1/2 (/.f32 maxCos (sqrt.f32 -1)))))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (sqrt.f32 -2) (+.f32 (sqrt.f32 -1) (*.f32 1/16 (/.f32 (pow.f32 maxCos 3) (pow.f32 (sqrt.f32 -1) 5))))) (*.f32 (*.f32 (sqrt.f32 -2) (/.f32 maxCos (sqrt.f32 -1))) (+.f32 (/.f32 (*.f32 maxCos -1/8) -1) 1/2))))

localize30.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f32 ux (-.f32 1 ux) ux)
0.1b
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
Compiler

Compiled 21 to 13 computations (38.1% saved)

series3.0ms (0%)

Counts
2 → 20
Calls

6 calls:

TimeVariablePointExpression
1.0ms
ux
@0
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
1.0ms
ux
@inf
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
1.0ms
ux
@-inf
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
0.0ms
ux
@0
(fma.f32 ux (-.f32 1 ux) ux)
0.0ms
ux
@inf
(fma.f32 ux (-.f32 1 ux) ux)

rewrite53.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
617×pow1_binary32
575×add-log-exp_binary32
575×log1p-expm1-u_binary32
575×expm1-log1p-u_binary32
562×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
112418
2152618
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(fma.f32 ux (-.f32 1 ux) ux)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (cbrt.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 2)) (sqrt.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/2) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 2) 1/2) (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (*.f32 ux (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (-.f32 1 ux)) ux)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) 1) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 ux (-.f32 1 ux) ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 ux (-.f32 1 ux) ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 2) (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) (*.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4)) (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) (cbrt.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 ux (-.f32 1 ux)) 3) (pow.f32 ux 3)) (+.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (-.f32 (*.f32 ux ux) (*.f32 (*.f32 ux (-.f32 1 ux)) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux (-.f32 1 ux) ux)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux (-.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux (-.f32 1 ux) ux)))))))

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
851×fma-neg_binary32
712×associate-/l*_binary32
476×distribute-neg-frac_binary32
415×associate-/r*_binary32
388×unswap-sqr_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
034307
1103282
2295245
3928245
43799239
Stop Event
node limit
Counts
66 → 67
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 -1) ux)
(+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux))
(-.f32 (+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))))
(-.f32 (+.f32 (/.f32 1 (sqrt.f32 -1)) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) ux))
(-.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (/.f32 1 (sqrt.f32 -1)))
(-.f32 (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (/.f32 1 (sqrt.f32 -1)))
(-.f32 (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2))))))
(*.f32 2 ux)
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
Outputs
(*.f32 (sqrt.f32 -1) ux)
(+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux))
(+.f32 (*.f32 (sqrt.f32 -1) ux) (/.f32 1 (sqrt.f32 -1)))
(fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1)))
(-.f32 (+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))))
(-.f32 (+.f32 (*.f32 (sqrt.f32 -1) ux) (/.f32 1 (sqrt.f32 -1))) (/.f32 1/2 (*.f32 ux (pow.f32 (sqrt.f32 -1) 3))))
(-.f32 (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1))) (/.f32 1/2 (*.f32 ux (neg.f32 (sqrt.f32 -1)))))
(-.f32 (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1))) (/.f32 -1/2 (*.f32 (sqrt.f32 -1) ux)))
(+.f32 (/.f32 1 (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) ux (/.f32 1/2 (*.f32 (sqrt.f32 -1) ux))))
(fma.f32 (sqrt.f32 -1) ux (*.f32 (/.f32 1 (sqrt.f32 -1)) (+.f32 (/.f32 1/2 ux) 1)))
(-.f32 (+.f32 (/.f32 1 (sqrt.f32 -1)) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2)))) (*.f32 (sqrt.f32 -1) ux))) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux))))
(-.f32 (+.f32 (/.f32 1 (sqrt.f32 -1)) (+.f32 (*.f32 (sqrt.f32 -1) ux) (/.f32 1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))))) (/.f32 1/2 (*.f32 ux (pow.f32 (sqrt.f32 -1) 3))))
(+.f32 (fma.f32 (sqrt.f32 -1) ux (/.f32 1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux)))) (+.f32 (/.f32 1 (sqrt.f32 -1)) (/.f32 -1/2 (*.f32 ux (neg.f32 (sqrt.f32 -1))))))
(+.f32 (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1))) (+.f32 (/.f32 1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))) (/.f32 1/2 (*.f32 (sqrt.f32 -1) ux))))
(+.f32 (/.f32 1 (sqrt.f32 -1)) (+.f32 (/.f32 (/.f32 1/2 ux) (*.f32 ux (pow.f32 (sqrt.f32 -1) 5))) (fma.f32 (sqrt.f32 -1) ux (/.f32 1/2 (*.f32 (sqrt.f32 -1) ux)))))
(fma.f32 (sqrt.f32 -1) ux (-.f32 (/.f32 (/.f32 1/2 ux) (*.f32 ux (pow.f32 (sqrt.f32 -1) 5))) (*.f32 (/.f32 -1 (sqrt.f32 -1)) (-.f32 (/.f32 1/2 ux) -1))))
(*.f32 -1 (*.f32 (sqrt.f32 -1) ux))
(neg.f32 (*.f32 (sqrt.f32 -1) ux))
(*.f32 ux (neg.f32 (sqrt.f32 -1)))
(*.f32 (sqrt.f32 -1) (neg.f32 ux))
(-.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (/.f32 1 (sqrt.f32 -1)))
(-.f32 (neg.f32 (*.f32 (sqrt.f32 -1) ux)) (/.f32 1 (sqrt.f32 -1)))
(neg.f32 (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1))))
(-.f32 (/.f32 -1 (sqrt.f32 -1)) (*.f32 (sqrt.f32 -1) ux))
(-.f32 (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (/.f32 1 (sqrt.f32 -1)))
(-.f32 (fma.f32 -1 (*.f32 (sqrt.f32 -1) ux) (/.f32 1/2 (*.f32 ux (pow.f32 (sqrt.f32 -1) 3)))) (/.f32 1 (sqrt.f32 -1)))
(fma.f32 (neg.f32 (sqrt.f32 -1)) ux (fma.f32 1/2 (/.f32 (/.f32 -1 (sqrt.f32 -1)) ux) (/.f32 -1 (sqrt.f32 -1))))
(-.f32 (/.f32 -1/2 (*.f32 (sqrt.f32 -1) ux)) (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1))))
(-.f32 (/.f32 -1 (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) ux (/.f32 1/2 (*.f32 (sqrt.f32 -1) ux))))
(-.f32 (+.f32 (*.f32 -1 (*.f32 (sqrt.f32 -1) ux)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 3) ux)))) (+.f32 (/.f32 1 (sqrt.f32 -1)) (*.f32 1/2 (/.f32 1 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (pow.f32 ux 2))))))
(-.f32 (fma.f32 -1 (*.f32 (sqrt.f32 -1) ux) (/.f32 1/2 (*.f32 ux (pow.f32 (sqrt.f32 -1) 3)))) (+.f32 (/.f32 1 (sqrt.f32 -1)) (/.f32 1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux)))))
(-.f32 (fma.f32 (neg.f32 (sqrt.f32 -1)) ux (fma.f32 1/2 (/.f32 (/.f32 -1 (sqrt.f32 -1)) ux) (/.f32 -1 (sqrt.f32 -1)))) (/.f32 1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))))
(+.f32 (-.f32 (/.f32 -1/2 (*.f32 (sqrt.f32 -1) ux)) (fma.f32 (sqrt.f32 -1) ux (/.f32 1 (sqrt.f32 -1)))) (/.f32 -1/2 (*.f32 (pow.f32 (sqrt.f32 -1) 5) (*.f32 ux ux))))
(+.f32 (/.f32 -1/2 (*.f32 (sqrt.f32 -1) ux)) (-.f32 (/.f32 -1 (sqrt.f32 -1)) (fma.f32 (sqrt.f32 -1) ux (/.f32 (/.f32 1/2 ux) (*.f32 ux (pow.f32 (sqrt.f32 -1) 5))))))
(-.f32 (*.f32 (/.f32 -1 (sqrt.f32 -1)) (-.f32 (/.f32 1/2 ux) -1)) (fma.f32 (sqrt.f32 -1) ux (/.f32 (/.f32 1/2 ux) (*.f32 ux (pow.f32 (sqrt.f32 -1) 5)))))
(*.f32 2 ux)
(*.f32 ux 2)
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(*.f32 -1 (pow.f32 ux 2))
(neg.f32 (*.f32 ux ux))
(*.f32 ux (neg.f32 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))
(+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))
(fma.f32 -1 (*.f32 ux ux) (*.f32 ux 2))
(-.f32 (*.f32 ux 2) (*.f32 ux ux))
(*.f32 ux (-.f32 2 ux))

localize122.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f32 ux (*.f32 2 (-.f32 1 maxCos)))
0.1b
(cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))
0.2b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
0.3b
(*.f32 uy (*.f32 2 (PI.f32)))
Compiler

Compiled 61 to 43 computations (29.5% saved)

series14.0ms (0.1%)

Counts
2 → 40
Calls

15 calls:

TimeVariablePointExpression
2.0ms
ux
@0
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
1.0ms
maxCos
@inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
1.0ms
uy
@0
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
1.0ms
ux
@-inf
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
1.0ms
maxCos
@0
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
772×log-prod_binary32
616×prod-diff_binary32
381×pow2_binary32
270×pow1/3_binary32
264×expm1-udef_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01534
130534
2369134
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 ux (*.f32 2 (-.f32 1 maxCos)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3) (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3) (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux 2) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux 2) 1) (*.f32 (*.f32 ux 2) (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 ux) (*.f32 2 (-.f32 1 maxCos)))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 ux) (*.f32 2 (-.f32 1 maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 ux) (*.f32 2 (-.f32 1 maxCos))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 ux) (*.f32 2 (-.f32 1 maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (pow.f32 maxCos 3))) (+.f32 1 (fma.f32 maxCos maxCos maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3) (pow.f32 ux 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 ux) (*.f32 2 (-.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 2 (-.f32 1 maxCos)) 3) (pow.f32 ux 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux 2 (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 2 ux (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux 2) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 ux ux)) (*.f32 (cbrt.f32 ux) 2) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 ux) 2) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux 2) 1 (*.f32 (*.f32 ux 2) (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux 2)) 2) (cbrt.f32 (*.f32 ux 2)) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux 2)) (sqrt.f32 (*.f32 ux 2)) (*.f32 (neg.f32 maxCos) (*.f32 ux 2)))))))

simplify161.0ms (1%)

Algorithm
egg-herbie
Rules
573×associate-*r*_binary32
555×associate-*l*_binary32
513×distribute-lft-in_binary32
505×distribute-rgt-in_binary32
425×distribute-rgt-out_binary32
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
074917
1212873
2659769
33121706
44769700
55794691
67011691
77536682
Stop Event
node limit
Counts
93 → 77
Calls
Call 1
Inputs
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/8 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2))) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/8 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2))) (sqrt.f32 ux))) (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)) (*.f32 -1/16 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3))) (sqrt.f32 ux))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2)))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 ux)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 maxCos ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 -2 (*.f32 maxCos ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
Outputs
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)))
(fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) maxCos)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) maxCos)))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (+.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 -1/2 maxCos) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(*.f32 (*.f32 (sqrt.f32 2) (sqrt.f32 ux)) (*.f32 (+.f32 (*.f32 -1/2 maxCos) 1) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (*.f32 (sqrt.f32 2) (sqrt.f32 ux)) (*.f32 (+.f32 1 (*.f32 -1/2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (*.f32 (sqrt.f32 2) (sqrt.f32 ux)) (*.f32 (+.f32 1 (*.f32 -1/2 maxCos)) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/8 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2))) (sqrt.f32 ux))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux))))
(fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) maxCos)) (fma.f32 -1/8 (*.f32 (sqrt.f32 ux) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (*.f32 maxCos maxCos))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))))
(fma.f32 -1/2 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 ux)))) (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (*.f32 -1/8 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (*.f32 maxCos maxCos)))))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (sqrt.f32 2) maxCos) -1/2)) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 (*.f32 -1/8 (*.f32 maxCos maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (+.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (+.f32 -1/2 (*.f32 -1/8 maxCos))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1/2 maxCos) (+.f32 1 (*.f32 -1/8 (*.f32 maxCos maxCos)))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (+.f32 (*.f32 -1/2 maxCos) (+.f32 1 (*.f32 -1/8 (*.f32 maxCos maxCos)))))))
(+.f32 (*.f32 -1/2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos)) (sqrt.f32 ux))) (+.f32 (*.f32 -1/8 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 2))) (sqrt.f32 ux))) (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux)) (*.f32 -1/16 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3))) (sqrt.f32 ux))))))
(fma.f32 -1/2 (*.f32 (sqrt.f32 ux) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) maxCos)) (fma.f32 -1/8 (*.f32 (sqrt.f32 ux) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (*.f32 maxCos maxCos))) (fma.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 ux) (*.f32 (*.f32 -1/16 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (pow.f32 maxCos 3))) (sqrt.f32 ux)))))
(+.f32 (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (*.f32 -1/16 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (pow.f32 maxCos 3)))))) (*.f32 (sqrt.f32 ux) (+.f32 (*.f32 -1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) maxCos))) (*.f32 -1/8 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (*.f32 maxCos maxCos)))))))
(*.f32 (sqrt.f32 ux) (+.f32 (*.f32 (sqrt.f32 2) (+.f32 (*.f32 -1/16 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 maxCos 3))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 (*.f32 -1/2 maxCos) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (*.f32 -1/8 (*.f32 maxCos maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (+.f32 -1/2 (*.f32 -1/8 maxCos))) (*.f32 (+.f32 (*.f32 -1/16 (pow.f32 maxCos 3)) 1) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 (+.f32 1 (*.f32 -1/16 (pow.f32 maxCos 3))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (+.f32 -1/2 (*.f32 -1/8 maxCos))))))
(*.f32 (sqrt.f32 ux) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 (+.f32 1 (*.f32 -1/16 (pow.f32 maxCos 3))) (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy)))) (*.f32 (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) maxCos) (+.f32 -1/2 (*.f32 -1/8 maxCos))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2)))
(fma.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (sqrt.f32 2) (*.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (*.f32 (+.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (+.f32 1 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (fma.f32 (*.f32 (sqrt.f32 2) -2) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (sqrt.f32 2)))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (fma.f32 (*.f32 (sqrt.f32 2) -2) (pow.f32 (*.f32 uy (PI.f32)) 2) (sqrt.f32 2)))
(+.f32 (*.f32 2/3 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (fma.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))))
(fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (sqrt.f32 2) (*.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))))))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (sqrt.f32 2) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (sqrt.f32 2) (+.f32 (+.f32 1 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(*.f32 (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (+.f32 1 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (*.f32 (sqrt.f32 2) (+.f32 1 (+.f32 (*.f32 2/3 (pow.f32 (*.f32 uy (PI.f32)) 4)) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))))
(*.f32 (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))) (+.f32 1 (+.f32 (*.f32 2/3 (pow.f32 (*.f32 uy (PI.f32)) 4)) (*.f32 -2 (pow.f32 (*.f32 uy (PI.f32)) 2)))))
(+.f32 (*.f32 -4/45 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 2/3 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (+.f32 (*.f32 -2 (*.f32 (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)))) (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2)))))
(fma.f32 -4/45 (*.f32 (sqrt.f32 2) (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))) (fma.f32 2/3 (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (*.f32 (sqrt.f32 2) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (fma.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))))
(+.f32 (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (sqrt.f32 2) (*.f32 -2 (*.f32 (sqrt.f32 2) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))))))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (*.f32 (*.f32 -4/45 (sqrt.f32 2)) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 2)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (*.f32 (+.f32 (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) 1) (sqrt.f32 2)) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (+.f32 (sqrt.f32 2) (*.f32 (sqrt.f32 2) (+.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (+.f32 (sqrt.f32 2) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)))))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (+.f32 (sqrt.f32 2) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 -4/45 (pow.f32 (*.f32 uy (PI.f32)) 6)) (+.f32 (*.f32 2/3 (pow.f32 (*.f32 uy (PI.f32)) 4)) (*.f32 (*.f32 -2 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)))))))
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (+.f32 (sqrt.f32 2) (*.f32 (sqrt.f32 2) (+.f32 (*.f32 2/3 (pow.f32 (*.f32 uy (PI.f32)) 4)) (+.f32 (*.f32 -4/45 (pow.f32 (*.f32 uy (PI.f32)) 6)) (*.f32 -2 (pow.f32 (*.f32 uy (PI.f32)) 2)))))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)))
(*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 2)) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 2 ux)
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 -2 (*.f32 maxCos ux))
(*.f32 -2 (*.f32 ux maxCos))
(*.f32 (*.f32 -2 ux) maxCos)
(*.f32 ux (*.f32 maxCos -2))
(*.f32 maxCos (*.f32 ux -2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(*.f32 -2 (*.f32 maxCos ux))
(*.f32 -2 (*.f32 ux maxCos))
(*.f32 (*.f32 -2 ux) maxCos)
(*.f32 ux (*.f32 maxCos -2))
(*.f32 maxCos (*.f32 ux -2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux))
(*.f32 2 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (fma.f32 maxCos -2 2))

localize148.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 uy (PI.f32))
0.4b
(*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1))
0.5b
(pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)
12.6b
(+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))
Compiler

Compiled 104 to 70 computations (32.7% saved)

series7.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
2.0ms
uy
@-inf
(pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)
2.0ms
uy
@0
(pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)
2.0ms
uy
@inf
(pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
518×pow1_binary32
498×add-sqr-sqrt_binary32
479×add-log-exp_binary32
479×log1p-expm1-u_binary32
479×expm1-log1p-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075
11445
213665
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 uy (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 uy (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) uy)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 uy (PI.f32))) (sqrt.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 uy (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 uy) 2) (*.f32 (cbrt.f32 uy) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 uy (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 uy (PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2) (cbrt.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 uy (PI.f32)) 1/4) (*.f32 (pow.f32 (*.f32 uy (PI.f32)) 1/4) (sqrt.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 uy) (*.f32 (sqrt.f32 uy) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 uy) (*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 uy (PI.f32))) (pow.f32 (*.f32 uy (PI.f32)) 1/4)) (pow.f32 (*.f32 uy (PI.f32)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 uy) 2)) (cbrt.f32 uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 uy)) (sqrt.f32 uy))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 uy (PI.f32))) (cbrt.f32 (*.f32 uy (PI.f32)))) (cbrt.f32 (sqrt.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 uy (PI.f32))) (sqrt.f32 uy)) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 uy (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 uy) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (PI.f32))))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
28 → 28
Calls
Call 1
Inputs
Outputs

eval563.0ms (3.4%)

Compiler

Compiled 15853 to 11130 computations (29.8% saved)

prune158.0ms (1%)

Pruning

65 alts after pruning (58 fresh and 7 done)

PrunedKeptTotal
New56130591
Fresh122840
Picked011
Done268
Total57565640
Error
0.0b
Counts
640 → 65
Alt Table
Click to see full alt table
StatusErrorProgram
8.3b
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 3)
27.2b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
7.9b
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
6.4b
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
19.7b
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
19.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
14.1b
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
0.3b
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
6.4b
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))
8.5b
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
16.0b
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
29.9b
(sqrt.f32 (+.f32 -1 1))
7.4b
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
8.1b
(*.f32 (*.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
0.3b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
16.7b
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
7.3b
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
7.6b
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
11.8b
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))
10.4b
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
8.1b
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
6.4b
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
12.1b
(sqrt.f32 (*.f32 ux 2))
8.1b
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
9.2b
(pow.f32 (*.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)) 1/3)
11.6b
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
1.1b
(*.f32 (exp.f32 (*.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1/2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
9.1b
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
1.0b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
16.3b
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
11.7b
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
6.4b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
8.1b
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
16.3b
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
11.5b
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
0.8b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
16.6b
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
0.4b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.8b
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))
13.5b
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
8.7b
(sqrt.f32 (*.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))
7.4b
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
16.0b
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
13.5b
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
1.2b
(sqrt.f32 (*.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)))
8.1b
(*.f32 (sqrt.f32 (/.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
14.2b
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
15.5b
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
8.1b
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
16.5b
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
11.5b
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
1.3b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (pow.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2))
9.1b
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
8.1b
(*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
1.8b
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.6b
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
16.3b
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
0.8b
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
11.5b
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
1.4b
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2) 1/3) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
15.1b
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
3.3b
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
Compiler

Compiled 1321 to 1059 computations (19.8% saved)

regimes1.5s (9.3%)

Counts
116 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux)))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 (/.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(sqrt.f32 (+.f32 (fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1)) 1))
(*.f32 (*.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 ux) (+.f32 (-.f32 1 ux) (*.f32 2 (*.f32 maxCos ux)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(sqrt.f32 (*.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))
(*.f32 (sqrt.f32 (exp.f32 (log.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
(*.f32 (sqrt.f32 ux) (*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (-.f32 (sqrt.f32 2) (/.f32 maxCos (sqrt.f32 2)))))
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) 3)
(pow.f32 (*.f32 (pow.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) 3/2) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 3)) 1/3)
(*.f32 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (sqrt.f32 ux)))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (pow.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))
(sqrt.f32 (*.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (cbrt.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2)))
(sqrt.f32 (*.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (-.f32 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) 1))))
(*.f32 (exp.f32 (*.f32 (log.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) 1/2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 1/4) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (pow.f32 (pow.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1))) 3/2) 1/3) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 1/4) 2))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2))) 3/2) 1/3))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (pow.f32 (sqrt.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 2))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(*.f32 (cos.f32 (expm1.f32 (log1p.f32 (*.f32 uy (*.f32 2 (PI.f32)))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 3)) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(+.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 -2 (*.f32 (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) ux)) (*.f32 2 (-.f32 maxCos 1))))))
(sqrt.f32 (*.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)) (pow.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) 2)))
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(exp.f32 (log.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (exp.f32 (log.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux (-.f32 maxCos 1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
(pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 2)
(pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (*.f32 (fma.f32 ux (-.f32 1 maxCos) -2) (*.f32 ux (-.f32 maxCos 1)))) (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) 3)
(pow.f32 (sqrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 2)
(pow.f32 (cbrt.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) (sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) (fma.f32 ux (-.f32 1 maxCos) -2)))))) 3)
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (log.f32 (+.f32 1 (expm1.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (pow.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) 3))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (pow.f32 (pow.f32 (fma.f32 (fma.f32 ux (+.f32 maxCos -1) 1) (-.f32 ux (fma.f32 ux maxCos 1)) 1) 1/4) 2))
(*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) uy)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) uy)) 2)) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
Calls

19 calls:

218.0ms
(*.f32 uy 2)
181.0ms
ux
102.0ms
(*.f32 uy 2)
84.0ms
uy
79.0ms
maxCos
Results
ErrorSegmentsBranch
0.3b1ux
0.3b1uy
0.3b1maxCos
0.3b1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 uy 2)
0.3b1(*.f32 uy 2)
0.3b1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
0.3b1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
0.3b1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
0.3b1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
0.3b1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.3b1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.3b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
0.3b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 2461 to 1747 computations (29% saved)

regimes1.5s (9%)

Counts
73 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux)))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 (/.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(sqrt.f32 (+.f32 (fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1)) 1))
(*.f32 (*.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 ux) (+.f32 (-.f32 1 ux) (*.f32 2 (*.f32 maxCos ux)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 -1 ux) 2) ux) (*.f32 maxCos (*.f32 (-.f32 (*.f32 2 ux) 2) ux)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux) (*.f32 (+.f32 -1 maxCos) 2)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (*.f32 (sqrt.f32 2) (sqrt.f32 ux)))
(*.f32 (sqrt.f32 2) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 uy))) (sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 ux -1) (-.f32 1 ux) 1)))
(sqrt.f32 (*.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 2)) (pow.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) uy))) 2)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 -1 (pow.f32 ux 2)) (*.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (-.f32 1 maxCos) -2)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
Outputs
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
Calls

19 calls:

231.0ms
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
135.0ms
(*.f32 uy 2)
126.0ms
uy
115.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
90.0ms
maxCos
Results
ErrorSegmentsBranch
0.3b1ux
0.3b1uy
0.3b1maxCos
0.3b1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 uy 2)
0.3b1(*.f32 uy 2)
0.3b1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
0.3b1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
0.3b1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
0.3b1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
0.3b1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.3b1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.3b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
0.3b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 1436 to 1020 computations (29% saved)

regimes627.0ms (3.8%)

Counts
60 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux)))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 (/.f32 (*.f32 (*.f32 ux 2) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux))))
(sqrt.f32 (+.f32 (fma.f32 (+.f32 -1 maxCos) (*.f32 ux (-.f32 ux (*.f32 ux maxCos))) (fma.f32 ux (*.f32 (+.f32 -1 maxCos) -2) -1)) 1))
(*.f32 (*.f32 1/3 (*.f32 3 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
Calls

9 calls:

162.0ms
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
106.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
67.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
51.0ms
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
46.0ms
(*.f32 uy 2)
Results
ErrorSegmentsBranch
0.3b1ux
0.3b1uy
0.3b1maxCos
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 (*.f32 uy 2) (PI.f32))
0.3b1(*.f32 uy 2)
0.3b1(*.f32 uy 2)
Compiler

Compiled 999 to 724 computations (27.5% saved)

regimes442.0ms (2.7%)

Counts
55 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(*.f32 (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (*.f32 2 (-.f32 1 maxCos)))) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 -2 (-.f32 (*.f32 maxCos ux) ux))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 (-.f32 (*.f32 2 maxCos) 2) ux)))))
(*.f32 (sqrt.f32 (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
Outputs
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
Calls

9 calls:

94.0ms
maxCos
66.0ms
uy
47.0ms
ux
39.0ms
(*.f32 uy 2)
36.0ms
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
Results
ErrorSegmentsBranch
1.8b1ux
1.8b1uy
1.8b1maxCos
1.8b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
1.8b1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
1.8b1(*.f32 (*.f32 uy 2) (PI.f32))
1.8b1(*.f32 (*.f32 uy 2) (PI.f32))
1.8b1(*.f32 uy 2)
1.8b1(*.f32 uy 2)
Compiler

Compiled 891 to 648 computations (27.3% saved)

regimes626.0ms (3.8%)

Counts
45 → 2
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 ux 2)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 1)))
Outputs
(*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
Calls

9 calls:

149.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
96.0ms
ux
84.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
58.0ms
uy
51.0ms
(*.f32 uy 2)
Results
ErrorSegmentsBranch
4.9b2ux
3.9b2uy
6.4b1maxCos
3.9b2(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
3.9b2(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
3.9b2(*.f32 (*.f32 uy 2) (PI.f32))
3.9b2(*.f32 (*.f32 uy 2) (PI.f32))
3.9b2(*.f32 uy 2)
3.9b2(*.f32 uy 2)
Compiler

Compiled 731 to 540 computations (26.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996970295906067
0.9997095465660095
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes232.0ms (1.4%)

Counts
42 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (-.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (fma.f32 (+.f32 ux -1) (+.f32 1 ux) 1)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (fma.f32 ux (-.f32 2 ux) -1))))
(sqrt.f32 (+.f32 (-.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))) 1) 1))
(cbrt.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2))
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 3/2) 1/3)
(pow.f32 (pow.f32 (fma.f32 ux (-.f32 1 ux) ux) 1/4) 2)
(sqrt.f32 (exp.f32 (log.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(log.f32 (exp.f32 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))))
(sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 3))
Outputs
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
Calls

3 calls:

91.0ms
uy
40.0ms
ux
28.0ms
maxCos
Results
ErrorSegmentsBranch
6.4b1ux
6.4b1uy
6.4b1maxCos
Compiler

Compiled 652 to 476 computations (27% saved)

regimes73.0ms (0.4%)

Counts
31 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (+.f32 (*.f32 ux (*.f32 -2 maxCos)) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (*.f32 ux (+.f32 (*.f32 (+.f32 -1 maxCos) -2) (*.f32 (*.f32 (+.f32 -1 maxCos) (-.f32 1 maxCos)) ux))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux (+.f32 1 (*.f32 maxCos ux))) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (+.f32 ux -1) (*.f32 (neg.f32 ux) maxCos)) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 ux ux)))
(sqrt.f32 (/.f32 (-.f32 (*.f32 (*.f32 ux (-.f32 1 ux)) (*.f32 ux (-.f32 1 ux))) (*.f32 ux ux)) (-.f32 (*.f32 ux (-.f32 1 ux)) ux)))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (*.f32 ux (-.f32 2 ux))))
(sqrt.f32 (+.f32 (-.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos (+.f32 (*.f32 (*.f32 ux ux) maxCos) (*.f32 ux (*.f32 2 (-.f32 1 ux)))))) 1))
(sqrt.f32 (+.f32 (*.f32 (+.f32 (*.f32 (-.f32 ux 1) ux) (*.f32 -1 (*.f32 ux (+.f32 (*.f32 -1 ux) 1)))) maxCos) (+.f32 1 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 ux) 1)))))
(sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))
(*.f32 (sqrt.f32 (*.f32 (-.f32 1 maxCos) ux)) (sqrt.f32 2))
(sqrt.f32 (fma.f32 (-.f32 ux 1) (-.f32 1 ux) 1))
(pow.f32 (pow.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))) 3/2) 1/3)
(-.f32 (+.f32 1 (sqrt.f32 (fma.f32 ux (-.f32 1 ux) ux))) 1)
(sqrt.f32 (-.f32 (+.f32 1 (fma.f32 ux (-.f32 1 ux) ux)) 1))
(sqrt.f32 (+.f32 (-.f32 (+.f32 ux -1) (-.f32 (*.f32 ux maxCos) (*.f32 (-.f32 ux (fma.f32 ux maxCos 1)) (*.f32 ux (+.f32 maxCos -1))))) 1))
Outputs
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
Calls

3 calls:

21.0ms
maxCos
21.0ms
ux
19.0ms
uy
Results
ErrorSegmentsBranch
6.4b1ux
6.4b1uy
6.4b1maxCos
Compiler

Compiled 461 to 336 computations (27.1% saved)

regimes31.0ms (0.2%)

Counts
13 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (+.f32 1 (*.f32 (-.f32 maxCos 1) ux))) 1))
(sqrt.f32 (+.f32 (-.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)) 1) 1))
Outputs
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
Calls

3 calls:

9.0ms
uy
8.0ms
ux
8.0ms
maxCos
Results
ErrorSegmentsBranch
6.4b1ux
6.4b1uy
6.4b1maxCos
Compiler

Compiled 145 to 112 computations (22.8% saved)

regimes27.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (*.f32 (+.f32 -1 maxCos) -2)))
(sqrt.f32 (+.f32 (*.f32 -2 (*.f32 maxCos ux)) (*.f32 2 ux)))
(sqrt.f32 (+.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) 1))
(sqrt.f32 (-.f32 (+.f32 1 (*.f32 ux (+.f32 2 (*.f32 maxCos -2)))) 1))
(-.f32 (+.f32 1 (sqrt.f32 (*.f32 ux (+.f32 2 (*.f32 maxCos -2))))) 1)
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))
Outputs
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
Calls

3 calls:

9.0ms
maxCos
7.0ms
ux
7.0ms
uy
Results
ErrorSegmentsBranch
7.3b1ux
7.3b1uy
7.3b1maxCos
Compiler

Compiled 101 to 78 computations (22.8% saved)

regimes15.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
Outputs
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
Calls

3 calls:

5.0ms
uy
4.0ms
ux
4.0ms
maxCos
Results
ErrorSegmentsBranch
7.4b1ux
7.4b1uy
7.4b1maxCos
Compiler

Compiled 29 to 23 computations (20.7% saved)

regimes13.0ms (0.1%)

Accuracy

Total -17.8b remaining (-147.1%)

Threshold costs -17.8b (-147.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (+.f32 -1 1))
Outputs
(sqrt.f32 (*.f32 ux 2))
Calls

3 calls:

5.0ms
maxCos
4.0ms
ux
4.0ms
uy
Results
ErrorSegmentsBranch
12.1b1ux
12.1b1uy
12.1b1maxCos
Compiler

Compiled 23 to 19 computations (17.4% saved)

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
39×*-commutative_binary32
19×+-commutative_binary32
15×sub-neg_binary32
13×neg-sub0_binary32
12×neg-mul-1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
070312
1117306
2130306
3147306
4182306
5202306
6211306
7214306
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(if (<=.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) 16772183/16777216) (*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (*.f32 ux 2))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (-.f32 1 maxCos)) maxCos)))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 ux -2) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 (+.f32 -1 maxCos) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux))))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))
(if (<=.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) 16772183/16777216) (*.f32 (sqrt.f32 (+.f32 ux ux)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos)))))
(if (<=.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 16772183/16777216) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 ux ux))) (sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos)))))
(if (<=.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))) 16772183/16777216) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 ux ux))) (sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (-.f32 1 maxCos)) maxCos)))))
(sqrt.f32 (+.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (*.f32 -1 (-.f32 maxCos 1))) maxCos))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (neg.f32 (+.f32 maxCos -1))) maxCos))))
(sqrt.f32 (+.f32 (*.f32 (+.f32 maxCos -1) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 2))) (*.f32 ux (-.f32 (+.f32 1 (-.f32 1 maxCos)) maxCos))))
(*.f32 (sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 -2 ux) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux))))) 1)
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (+.f32 (*.f32 ux -2) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))))
(sqrt.f32 (*.f32 (-.f32 maxCos 1) (*.f32 (-.f32 (*.f32 (-.f32 1 maxCos) ux) 2) ux)))
(sqrt.f32 (*.f32 (+.f32 maxCos -1) (*.f32 ux (+.f32 -2 (*.f32 (-.f32 1 maxCos) ux)))))
(sqrt.f32 (+.f32 (*.f32 ux (-.f32 1 ux)) ux))
(sqrt.f32 (+.f32 ux (*.f32 ux (-.f32 1 ux))))
(sqrt.f32 (*.f32 ux (-.f32 2 ux)))
(sqrt.f32 (*.f32 ux 2))
(sqrt.f32 (*.f32 2 ux))
Compiler

Compiled 231 to 178 computations (22.9% saved)

soundness128.0ms (0.8%)

Algorithm
egg-herbie
Rules
674×fma-neg_binary32
576×associate-+l-_binary32
412×associate-+r-_binary32
387×associate--l-_binary32
303×distribute-rgt-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01739
14135
212835
357233
4317433
Stop Event
node limit
Compiler

Compiled 657 to 483 computations (26.5% saved)

end115.0ms (0.7%)

Compiler

Compiled 201 to 141 computations (29.9% saved)

Profiling

Loading profile data...