Details

Time bar (total: 5.2s)

analyze202.0ms (3.9%)

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.2s (41.8%)

Results
2.2s8256×body64valid

preprocess48.0ms (0.9%)

Algorithm
egg-herbie
Rules
739×unsub-neg_binary32
723×distribute-neg-in_binary32
536×associate-+r+_binary32
470×associate--r+_binary32
363×distribute-rgt-neg-out_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043156
1127140
2449140
32073132
46304132
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 uy (*.f32 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 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (+.f32 -1 (-.f32 ux (*.f32 ux maxCos))) 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 (PI.f32) (*.f32 2 ux))) (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 2 (*.f32 (PI.f32) ux))) (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 1 maxCos) (*.f32 ux maxCos)) (+.f32 (-.f32 1 maxCos) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 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 uy (*.f32 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 (fma.f32 ux maxCos (-.f32 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 2 (*.f32 maxCos (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 (fma.f32 (-.f32 (fma.f32 uy ux 1) ux) (-.f32 -1 (*.f32 ux (+.f32 -1 uy))) 1)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) maxCos))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 uy ux 1) ux) (-.f32 ux (fma.f32 uy ux 1)) 1)))
Compiler

Compiled 28 to 20 computations (28.6% saved)

simplify27.0ms (0.5%)

Algorithm
egg-herbie
Rules
674×fma-neg_binary32
568×associate-+l-_binary32
411×associate-+r-_binary32
383×associate--l-_binary32
316×distribute-rgt-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01739
14135
212835
356433
4296833
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)))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.0b
(*.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)))
12.9b
(*.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))))))
Compiler

Compiled 156 to 110 computations (29.5% saved)

localize50.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
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))))

series34.0ms (0.6%)

Counts
4 → 72
Calls

18 calls:

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

rewrite86.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
813×log-prod_binary32
619×fma-def_binary32
292×expm1-udef_binary32
290×log1p-udef_binary32
254×fma-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01547
133143
2466943
Stop Event
node limit
Counts
4 → 154
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))
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
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 0 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(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 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (cbrt.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (log.f32 (cbrt.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))) (log.f32 (sqrt.f32 (exp.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))))) (#(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 (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 (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 (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 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 6)) (/.f32 1 (+.f32 1 (+.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) (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) 4)) (/.f32 1 (+.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 1 (+.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4))) (-.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 1 (+.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) (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) 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 1 (+.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2) (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 4)))))))) (#(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 (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 pow.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 (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 log1p.f32 (expm1.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))) (#(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 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 expm1.f32 (log1p.f32 (-.f32 1 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.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 +.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 maxCos (-.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 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))) (cbrt.f32 (exp.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))) (log.f32 (sqrt.f32 (exp.f32 (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 (*.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 (-.f32 1 ux) (*.f32 ux maxCos)) (-.f32 (-.f32 1 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) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (pow.f32 (-.f32 1 ux) 2)) (fma.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.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 (-.f32 1 ux) (*.f32 ux maxCos)) (fma.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.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) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (-.f32 1 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 ux (*.f32 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 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux)))) (*.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 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 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))) (*.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))))) (-.f32 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 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) (-.f32 (*.f32 ux maxCos) (-.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 (-.f32 1 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) (-.f32 (*.f32 ux maxCos) (-.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 (-.f32 1 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 ux (*.f32 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 log1p.f32 (expm1.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2)))))) (#(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 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 1 (*.f32 (-.f32 1 ux) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 maxCos (-.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 ux (*.f32 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 ux (*.f32 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 1 ux)) (*.f32 ux (*.f32 maxCos (-.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 1 ux)) 2) (*.f32 (cbrt.f32 (-.f32 1 ux)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 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 1 ux)) (*.f32 ux (*.f32 maxCos (-.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 1 ux)) (*.f32 (sqrt.f32 (-.f32 1 ux)) (-.f32 (fma.f32 ux maxCos 1) ux)) (*.f32 ux (*.f32 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 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (*.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux)))) (cbrt.f32 (*.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))))) (cbrt.f32 (*.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 (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 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux (*.f32 maxCos (-.f32 (fma.f32 ux maxCos 1) ux)))) (sqrt.f32 (*.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 (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 ux (*.f32 maxCos (-.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 ux (*.f32 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 ux (*.f32 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 (-.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 ux (*.f32 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 ux (*.f32 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 ux (*.f32 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 ux (*.f32 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 exp.f32 (*.f32 2 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux))) 1))))) (#(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 +.f32 0 (*.f32 2 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32))))) (log.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 2) uy) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 2 (*.f32 uy (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 2 (*.f32 uy (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 2 (*.f32 uy (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 2 (*.f32 uy (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 2 (*.f32 uy (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 uy uy) 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 uy) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (log.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))) (log.f32 (sqrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))))) (#(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 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(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 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 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 expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))))

simplify50.0ms (1%)

Algorithm
egg-herbie
Rules
469×fma-neg_binary32
442×unswap-sqr_binary32
386×fma-def_binary32
347×associate-+l+_binary32
326×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791355
12321325
26961222
330031189
Stop Event
node limit
Counts
226 → 201
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)))
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
(*.f32 (-.f32 2 (*.f32 2 maxCos)) ux)
(*.f32 ux (fma.f32 -2 maxCos 2))
(*.f32 ux (fma.f32 maxCos -2 2))
(+.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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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) (neg.f32 (*.f32 ux ux)))
(*.f32 ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (neg.f32 ux)))
(*.f32 ux (*.f32 ux (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))
(+.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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) ux))))
(*.f32 -1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))
(neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))
(*.f32 (pow.f32 (+.f32 maxCos -1) 2) (neg.f32 (*.f32 ux ux)))
(*.f32 ux (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (neg.f32 ux)))
(*.f32 ux (*.f32 ux (neg.f32 (pow.f32 (+.f32 maxCos -1) 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 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) 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 (fma.f32 -2 maxCos 2) ux (neg.f32 (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(-.f32 (*.f32 ux (fma.f32 maxCos -2 2)) (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (-.f32 (fma.f32 maxCos -2 2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) ux))))
(-.f32 1 (pow.f32 (-.f32 1 ux) 2))
(-.f32 ux (*.f32 ux (-.f32 ux 1)))
(-.f32 (+.f32 1 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 -2 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (fma.f32 -2 (*.f32 maxCos (*.f32 ux (-.f32 1 ux))) 1) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (*.f32 (-.f32 1 ux) (-.f32 (*.f32 ux (*.f32 maxCos -2)) (-.f32 1 ux))))
(+.f32 1 (*.f32 (-.f32 1 ux) (fma.f32 maxCos (*.f32 ux -2) (-.f32 ux 1))))
(-.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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
(-.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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
(*.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 ux (*.f32 ux (*.f32 maxCos (neg.f32 maxCos))))
(*.f32 ux (*.f32 (neg.f32 maxCos) (*.f32 maxCos 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 maxCos (*.f32 ux (-.f32 1 ux))) (neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux)))
(*.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
(-.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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
(*.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 ux (*.f32 ux (*.f32 maxCos (neg.f32 maxCos))))
(*.f32 ux (*.f32 (neg.f32 maxCos) (*.f32 maxCos 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 maxCos (*.f32 ux (-.f32 1 ux))) (neg.f32 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux)))
(*.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
(-.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 maxCos (*.f32 ux (-.f32 1 ux))) 1) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))) (pow.f32 (-.f32 1 ux) 2))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) (-.f32 (+.f32 -2 (*.f32 2 ux)) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))
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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.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 (fma.f32 2 maxCos -2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (fma.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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.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 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))
(*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 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 (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 (fma.f32 2 maxCos -2) (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2))))
(*.f32 ux (fma.f32 ux (pow.f32 (+.f32 maxCos -1) 2) (fma.f32 2 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 (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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.f32 ux (pow.f32 (+.f32 maxCos -1) 2) (fma.f32 2 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 (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)))))
(fma.f32 ux (fma.f32 2 maxCos -2) (fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux) 1))
(+.f32 1 (*.f32 ux (fma.f32 ux (pow.f32 (+.f32 maxCos -1) 2) (fma.f32 2 maxCos -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 maxCos (*.f32 ux (-.f32 1 ux))) (pow.f32 (-.f32 1 ux) 2))
(*.f32 (-.f32 1 ux) (+.f32 (*.f32 2 (*.f32 maxCos ux)) (-.f32 1 ux)))
(*.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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -2)) (*.f32 maxCos ux))))
(*.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 ux (*.f32 maxCos 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 maxCos (*.f32 ux (-.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 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -2)) (*.f32 maxCos ux))))
(*.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 ux (*.f32 maxCos 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 maxCos (*.f32 ux (-.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 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -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 maxCos (*.f32 ux (-.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 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (+.f32 (+.f32 2 (*.f32 ux -2)) (*.f32 maxCos ux))))
(*.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)))
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 -2 (*.f32 uy (*.f32 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 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))))
(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 (*.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 2/3 (*.f32 (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))
(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)))
(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))))

prune277.0ms (5.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1947201
Fresh101
Picked101
Done000
Total1967203
Error
0.2b
Counts
203 → 7
Alt Table
StatusErrorProgram
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) ux))))))
12.9b
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))))
13.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (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)))
12.0b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 ux (fma.f32 ux (pow.f32 (+.f32 maxCos -1) 2) (fma.f32 2 maxCos -2)))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
7.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 ux (fma.f32 maxCos -2 2))))
Compiler

Compiled 6531 to 4431 computations (32.2% saved)

localize72.0ms (1.4%)

Local error

Found 4 expressions with local error:

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

series19.0ms (0.4%)

Counts
2 → 44
Calls

12 calls:

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

rewrite71.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
459×fma-def_binary32
371×expm1-udef_binary32
371×log1p-udef_binary32
322×fma-neg_binary32
235×add-sqr-sqrt_binary32
Iterations

Useful iterations: 2 (0.0ms)

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

simplify65.0ms (1.2%)

Algorithm
egg-herbie
Rules
731×associate-/l*_binary32
624×associate-/r*_binary32
624×distribute-rgt-in_binary32
622×distribute-lft-in_binary32
197×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01792832
16082792
224782484
Stop Event
node limit
Counts
89 → 104
Calls
Call 1
Inputs
1
(+.f32 (*.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 -4/45 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.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 (*.f32 -1 (pow.f32 ux 2))) maxCos))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 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)))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (*.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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 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)))) (sqrt.f32 (*.f32 -1 (pow.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)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 3) (pow.f32 maxCos 2)))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (+.f32 (*.f32 -1/2 (/.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (+.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 3) (pow.f32 maxCos 2)))) (+.f32 (*.f32 -1/2 (/.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2)))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (*.f32 1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 3)) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 5) (pow.f32 ux 2)))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)))))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) 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 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 5) (pow.f32 ux 2)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))))))
Outputs
1
(+.f32 (*.f32 -2 maxCos) 1)
(fma.f32 -2 maxCos 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux))))
(sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))
(sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))))
(fma.f32 -2 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))))
(*.f32 (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) 1) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))))
(+.f32 (*.f32 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (fma.f32 2/3 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux))))))
(+.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (+.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 -2 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 2/3 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)))) (+.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 -4/45 (*.f32 (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) (+.f32 (fma.f32 2/3 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux))))) (*.f32 -4/45 (*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 -2 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))) (fma.f32 2/3 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (fma.f32 -4/45 (*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))))))
(+.f32 (*.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) 1) (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux))))) (*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (+.f32 (*.f32 -4/45 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))) (*.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 2 (*.f32 -2 maxCos)) ux (*.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (-.f32 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) ux) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(*.f32 (sqrt.f32 (*.f32 ux (-.f32 (+.f32 (*.f32 -2 maxCos) 2) (*.f32 (pow.f32 (+.f32 maxCos -1) 2) ux)))) (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 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 2 ux) (*.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 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) 1/2)))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 (*.f32 maxCos (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))) 1/2) (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 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 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))) 2))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) 2))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (*.f32 maxCos (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) 1/2))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (-.f32 2 ux)))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 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 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 (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))) 2))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux))) (fma.f32 -1/4 (*.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.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 2 ux)))))) 2))) (*.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 2 ux)) 3)))) (*.f32 1/2 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (sqrt.f32 (/.f32 1 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)))))))))
(fma.f32 1/2 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))) (*.f32 (*.f32 maxCos maxCos) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) 2))))) (fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) (*.f32 (*.f32 -1/4 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 1/2 (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (/.f32 1 (-.f32 (*.f32 2 ux) (*.f32 ux ux)))))) 2)) (*.f32 (*.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) 3)))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))))
(*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2)))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))) (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (*.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 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)))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (*.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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))) (*.f32 1/2 (+.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux))))))))
(fma.f32 1/2 (+.f32 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) (sqrt.f32 (*.f32 ux (neg.f32 ux)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux))))))
(fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) maxCos) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 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)))) (sqrt.f32 (*.f32 -1 (pow.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)) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (+.f32 (*.f32 -2 ux) (*.f32 2 (pow.f32 ux 2))))) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 3) (pow.f32 maxCos 2)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))) (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))))) (fma.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux))))) (*.f32 -1/4 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) 3)) (/.f32 (*.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 ux (*.f32 2 (*.f32 ux ux))) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2))) (*.f32 maxCos maxCos)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (fma.f32 1/2 (+.f32 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) (sqrt.f32 (*.f32 ux (neg.f32 ux)))))) (*.f32 (/.f32 -1/4 (*.f32 maxCos maxCos)) (/.f32 (*.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux))) (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 (*.f32 ux ux) (*.f32 -2 ux)) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2))) (pow.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) 3)))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (+.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) maxCos) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (/.f32 -1/4 (*.f32 maxCos maxCos)) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) (/.f32 (/.f32 (pow.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) 3) (*.f32 ux (+.f32 -2 (*.f32 2 ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux))))))
(*.f32 (*.f32 (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) maxCos) (sqrt.f32 (*.f32 ux (neg.f32 ux))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (neg.f32 maxCos)))
(+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))))))
(-.f32 (*.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux)))))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux))))))
(-.f32 (/.f32 1/2 (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 2 (*.f32 -2 ux)))))) (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (+.f32 (*.f32 -1/2 (/.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos)))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)))) (fma.f32 -1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2)) (/.f32 (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux))))))))
(-.f32 (fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (/.f32 (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux))))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 1/2 (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) 2)) maxCos)))) (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 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))) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) (+.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -2 (pow.f32 ux 2)) (*.f32 2 ux)))) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) 3) (pow.f32 maxCos 2)))) (+.f32 (*.f32 -1/2 (/.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)) (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))))) 2)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 ux 2))) maxCos))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)))) (fma.f32 -1/4 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2)) (/.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 (sqrt.f32 (neg.f32 (*.f32 ux ux))) 3)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux))))) (fma.f32 -1/2 (/.f32 (-.f32 (fma.f32 -1 (*.f32 ux ux) (*.f32 2 ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 -2 (*.f32 ux ux) (*.f32 2 ux)) (sqrt.f32 (neg.f32 (*.f32 ux ux))))) 2)) (/.f32 (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (neg.f32 (*.f32 ux ux)))))))))
(fma.f32 1/2 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))))) (-.f32 (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) (pow.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) 3)) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))) maxCos))) (*.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (/.f32 (-.f32 (-.f32 (*.f32 2 ux) (*.f32 ux ux)) (pow.f32 (*.f32 1/2 (/.f32 (fma.f32 2 ux (*.f32 ux (*.f32 -2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux))))) 2)) maxCos)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 maxCos (sqrt.f32 (*.f32 ux (neg.f32 ux)))))))
(fma.f32 1/2 (*.f32 (/.f32 (*.f32 ux (+.f32 2 (*.f32 -2 ux))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (fma.f32 -1/4 (*.f32 (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 1/2 (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) 2)) (pow.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) 3)) (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) maxCos) (/.f32 (*.f32 ux (+.f32 2 (*.f32 -2 ux))) maxCos))) (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) (/.f32 (-.f32 (*.f32 ux (-.f32 2 ux)) (pow.f32 (/.f32 (*.f32 1/2 (*.f32 ux (+.f32 2 (*.f32 -2 ux)))) (sqrt.f32 (*.f32 ux (neg.f32 ux)))) 2)) maxCos)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 ux (neg.f32 ux))) (neg.f32 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))))
(*.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 (+.f32 (*.f32 -2 maxCos) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 ux (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (*.f32 1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (*.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 (+.f32 (*.f32 -2 maxCos) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (+.f32 (*.f32 1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (*.f32 1/16 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (-.f32 2 (*.f32 2 maxCos)) 3)) (*.f32 (pow.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 5) (pow.f32 ux 2)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 -1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 ux (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (fma.f32 1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 1/16 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5)) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 3)))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (fma.f32 1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 1/16 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 3) (*.f32 ux ux))))))))
(fma.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 -1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (fma.f32 1/16 (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 3) (/.f32 (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)))) (*.f32 (/.f32 1/2 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 (+.f32 (*.f32 -2 maxCos) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))))
(*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)))
(neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))))
(*.f32 (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) (neg.f32 ux)))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 2 (*.f32 2 maxCos))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))))
(fma.f32 -1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))
(-.f32 (/.f32 (*.f32 -1/2 (*.f32 (+.f32 (*.f32 -2 maxCos) 2) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))))
(-.f32 (*.f32 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) -1/2) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) (*.f32 ux (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))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) ux))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux)))))
(fma.f32 -1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 ux (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) 1/8)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))))))
(-.f32 (fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (*.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) 1/8)) (*.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) (*.f32 ux (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))) (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))))) (+.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 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 3) 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 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) 5) (pow.f32 ux 2)))) (*.f32 -1 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 (sqrt.f32 (*.f32 -1 (pow.f32 (-.f32 maxCos 1) 2))) ux))))))
(fma.f32 -1/2 (/.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (fma.f32 1/8 (/.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 2)) (*.f32 ux (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) (fma.f32 -1/16 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5)) (pow.f32 (+.f32 2 (*.f32 -2 maxCos)) 3))) (neg.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (-.f32 (fma.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) 1/8 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (/.f32 (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 3) (*.f32 ux ux)))) -1/16)) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))
(fma.f32 -1/2 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (+.f32 (*.f32 -2 maxCos) 2)) (-.f32 (fma.f32 (*.f32 (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) ux) (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 2) (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 3))) 1/8 (*.f32 (/.f32 (pow.f32 (+.f32 (*.f32 -2 maxCos) 2) 3) (/.f32 (pow.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) 5) (/.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux ux)))) -1/16)) (*.f32 (sqrt.f32 (neg.f32 (pow.f32 (+.f32 maxCos -1) 2))) (*.f32 ux (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))))

prune503.0ms (9.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New14013153
Fresh516
Picked101
Done000
Total14614160
Error
0.1b
Counts
160 → 14
Alt Table
StatusErrorProgram
0.8b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (cos.f32 (pow.f32 (cbrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
8.2b
(expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux)))))
9.2b
(pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux))) 3) 1/3)
0.7b
(*.f32 (+.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sin.f32 1))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
1.2b
(*.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (log.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))))
0.3b
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
0.6b
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)))))))
0.3b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (-.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
Compiler

Compiled 7495 to 5607 computations (25.2% saved)

localize76.0ms (1.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f32 (+.f32 maxCos -1) 2)
0.1b
(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
0.3b
(*.f32 (*.f32 uy 2) (PI.f32))
0.9b
(log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
maxCos
@0
(log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))
0.0ms
maxCos
@inf
(log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))
0.0ms
maxCos
@-inf
(log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))
0.0ms
maxCos
@inf
(pow.f32 (+.f32 maxCos -1) 2)
0.0ms
maxCos
@-inf
(pow.f32 (+.f32 maxCos -1) 2)

rewrite47.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
649×pow1_binary32
603×add-log-exp_binary32
602×log1p-expm1-u_binary32
602×expm1-log1p-u_binary32
591×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
115214
2164814
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))
(pow.f32 (+.f32 maxCos -1) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) 2)) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (+.f32 maxCos -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 maxCos (+.f32 maxCos -1)) (*.f32 -1 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -1 (+.f32 maxCos -1)) (*.f32 maxCos (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 maxCos -1) maxCos) (*.f32 (+.f32 maxCos -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 maxCos -1) -1) (*.f32 (+.f32 maxCos -1) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (pow.f32 (+.f32 maxCos -1) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 maxCos -1) (+.f32 maxCos -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (+.f32 maxCos -1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (+.f32 maxCos -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2) (cbrt.f32 (pow.f32 (+.f32 maxCos -1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2) (*.f32 (cbrt.f32 (+.f32 maxCos -1)) (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (+.f32 maxCos -1) 4)) (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 maxCos -1)) (*.f32 (sqrt.f32 (+.f32 maxCos -1)) (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 maxCos -1) (sqrt.f32 (+.f32 maxCos -1))) (sqrt.f32 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 maxCos -1) (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2)) (cbrt.f32 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (fma.f32 maxCos maxCos -1)) (*.f32 (+.f32 maxCos 1) (+.f32 maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (+.f32 -1 (pow.f32 maxCos 3))) (*.f32 (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (+.f32 -1 (pow.f32 maxCos 3))) (*.f32 (+.f32 maxCos 1) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (fma.f32 maxCos maxCos -1)) (*.f32 (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))) (+.f32 maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (+.f32 maxCos -1)) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (+.f32 maxCos -1)) (+.f32 maxCos 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 maxCos -1) (+.f32 -1 (pow.f32 maxCos 3))) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 maxCos maxCos -1)) (+.f32 maxCos 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 maxCos -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 maxCos -1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (+.f32 maxCos -1) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 maxCos -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (+.f32 maxCos -1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (+.f32 maxCos -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) 2)) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (+.f32 maxCos -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))) (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 maxCos (+.f32 maxCos -1)) (*.f32 -1 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -1 (+.f32 maxCos -1)) (*.f32 maxCos (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 maxCos -1) maxCos) (*.f32 (+.f32 maxCos -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 maxCos -1) -1) (*.f32 (+.f32 maxCos -1) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (pow.f32 (+.f32 maxCos -1) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 maxCos -1) (+.f32 maxCos -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (+.f32 maxCos -1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (+.f32 maxCos -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2) (cbrt.f32 (pow.f32 (+.f32 maxCos -1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2) (*.f32 (cbrt.f32 (+.f32 maxCos -1)) (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (+.f32 maxCos -1) 4)) (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 maxCos -1)) (*.f32 (sqrt.f32 (+.f32 maxCos -1)) (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 maxCos -1) (sqrt.f32 (+.f32 maxCos -1))) (sqrt.f32 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 maxCos -1) (pow.f32 (cbrt.f32 (+.f32 maxCos -1)) 2)) (cbrt.f32 (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (fma.f32 maxCos maxCos -1)) (*.f32 (+.f32 maxCos 1) (+.f32 maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (+.f32 -1 (pow.f32 maxCos 3))) (*.f32 (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (+.f32 -1 (pow.f32 maxCos 3))) (*.f32 (+.f32 maxCos 1) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (fma.f32 maxCos maxCos -1)) (*.f32 (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))) (+.f32 maxCos 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (pow.f32 maxCos 3)) (+.f32 maxCos -1)) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 maxCos maxCos -1) (+.f32 maxCos -1)) (+.f32 maxCos 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 maxCos -1) (+.f32 -1 (pow.f32 maxCos 3))) (fma.f32 maxCos maxCos (-.f32 1 (*.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 maxCos -1) (fma.f32 maxCos maxCos -1)) (+.f32 maxCos 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 maxCos -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (+.f32 maxCos -1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (+.f32 maxCos -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (+.f32 maxCos -1) 2)))))))

simplify132.0ms (2.5%)

Algorithm
egg-herbie
Rules
1107×sqr-pow_binary32
637×fma-def_binary32
561×cube-prod_binary32
557×fabs-mul_binary32
536×pow-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
010200
122164
244152
374152
4147152
5345152
61090152
72317152
82705152
92897152
103107152
113405152
123812152
134294152
144861152
155557152
166405152
176794152
187082152
197362152
207434152
217470152
Stop Event
node limit
Counts
89 → 44
Calls
Call 1
Inputs
1
(+.f32 (*.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
1
(+.f32 (*.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(pow.f32 maxCos 2)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
Outputs
1
(+.f32 (*.f32 -2 maxCos) 1)
(fma.f32 -2 maxCos 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
1
(+.f32 (*.f32 -2 maxCos) 1)
(fma.f32 -2 maxCos 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(pow.f32 maxCos 2)
(*.f32 maxCos maxCos)
(+.f32 (pow.f32 maxCos 2) (*.f32 -2 maxCos))
(+.f32 (*.f32 -2 maxCos) (*.f32 maxCos maxCos))
(*.f32 maxCos (+.f32 -2 maxCos))
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)
(+.f32 (pow.f32 maxCos 2) (+.f32 (*.f32 -2 maxCos) 1))
(+.f32 (fma.f32 -2 maxCos 1) (*.f32 maxCos maxCos))
(fma.f32 maxCos maxCos (fma.f32 -2 maxCos 1))
(fma.f32 maxCos (+.f32 -2 maxCos) 1)

prune347.0ms (6.6%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New92193
Fresh11213
Picked011
Done000
Total9314107
Error
0.1b
Counts
107 → 14
Alt Table
StatusErrorProgram
0.3b
(*.f32 (cos.f32 (expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (cos.f32 (pow.f32 (cbrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
8.2b
(expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux)))))
9.2b
(pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux))) 3) 1/3)
0.7b
(*.f32 (+.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sin.f32 1))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
1.2b
(*.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (log.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))))
0.3b
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.8b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
0.6b
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)))))))
0.3b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.4b
(*.f32 (-.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
Compiler

Compiled 4307 to 3351 computations (22.2% saved)

localize87.0ms (1.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cos.f32 (expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
0.2b
(log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))
0.2b
(expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
0.3b
(*.f32 uy (PI.f32))

series5.0ms (0.1%)

Counts
4 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
uy
@0
(log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))
1.0ms
uy
@inf
(log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))
1.0ms
uy
@-inf
(log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))
0.0ms
uy
@-inf
(*.f32 uy (PI.f32))
0.0ms
uy
@0
(*.f32 uy (PI.f32))

rewrite60.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
739×pow1_binary32
680×expm1-log1p-u_binary32
679×add-log-exp_binary32
679×log1p-expm1-u_binary32
665×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
116133
2183633
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(*.f32 uy (PI.f32))
(expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))
(log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))
(cos.f32 (expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.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 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 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 expm1.f32 (log1p.f32 (*.f32 uy (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 uy (*.f32 (PI.f32) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 uy 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (PI.f32)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 uy (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 uy (*.f32 (PI.f32) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2) (cbrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) (sqrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 uy (PI.f32))) (*.f32 (sqrt.f32 (*.f32 uy (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 uy 2) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (PI.f32)) uy)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2)) (cbrt.f32 (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (sqrt.f32 (*.f32 uy (PI.f32)))) (sqrt.f32 (*.f32 uy (PI.f32))))))) (#(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) (pow.f32 (cbrt.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 /.f32 (-.f32 (pow.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) 3) 1) (+.f32 (*.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (+.f32 1 (*.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) 1) (+.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 4 (pow.f32 (*.f32 uy (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 2) (*.f32 uy (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2) (cbrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (sqrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (cos.f32 1)) (*.f32 (sin.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (pow.f32 (cbrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2) (cbrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) (sqrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2)))))))))

simplify42.0ms (0.8%)

Algorithm
egg-herbie
Rules
759×associate-/r*_binary32
551×unswap-sqr_binary32
387×associate--l+_binary32
348×fma-def_binary32
324×associate-*l*_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079666
1238648
2724641
33284633
Stop Event
node limit
Counts
113 → 109
Calls
Call 1
Inputs
(*.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)))
(*.f32 2 (*.f32 uy (PI.f32)))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (+.f32 (*.f32 -4 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32))))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (+.f32 (log.f32 (*.f32 2 (PI.f32))) (*.f32 1/24 (/.f32 1 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (log.f32 (*.f32 -2 (PI.f32))))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (log.f32 (*.f32 -2 (PI.f32)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (log.f32 (*.f32 -2 (PI.f32))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 1/24 (/.f32 1 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))) (log.f32 (*.f32 -2 (PI.f32)))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
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
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(*.f32 2 (*.f32 uy (PI.f32)))
(*.f32 (*.f32 2 uy) (PI.f32))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(fma.f32 2 (*.f32 uy (PI.f32)) (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(*.f32 (PI.f32) (+.f32 (*.f32 -2 (*.f32 uy (*.f32 uy (PI.f32)))) (*.f32 2 uy)))
(*.f32 (*.f32 uy (PI.f32)) (+.f32 2 (*.f32 -2 (*.f32 uy (PI.f32)))))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (*.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 2 (*.f32 uy (PI.f32)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 8/3 (pow.f32 uy 3)) (pow.f32 (PI.f32) 3))))
(fma.f32 2 (*.f32 uy (PI.f32)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 2 (*.f32 uy (PI.f32)) (*.f32 (pow.f32 (PI.f32) 2) (+.f32 (*.f32 uy (*.f32 uy -2)) (*.f32 8/3 (*.f32 (PI.f32) (pow.f32 uy 3))))))
(fma.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)) (*.f32 (*.f32 uy (PI.f32)) (+.f32 2 (*.f32 -2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 2 (*.f32 uy (PI.f32))) (+.f32 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))) (+.f32 (*.f32 -4 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))) (*.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 2 (*.f32 uy (PI.f32)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 -4 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (*.f32 (*.f32 8/3 (pow.f32 uy 3)) (pow.f32 (PI.f32) 3)))))
(fma.f32 2 (*.f32 uy (PI.f32)) (fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (fma.f32 8/3 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)) (*.f32 -4 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4))))))
(fma.f32 2 (*.f32 uy (PI.f32)) (fma.f32 -4 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (+.f32 (*.f32 uy (*.f32 uy -2)) (*.f32 8/3 (*.f32 (PI.f32) (pow.f32 uy 3)))))))
(+.f32 (*.f32 (pow.f32 uy 3) (+.f32 (*.f32 (*.f32 -4 (pow.f32 (PI.f32) 4)) uy) (*.f32 8/3 (pow.f32 (PI.f32) 3)))) (*.f32 (*.f32 uy (PI.f32)) (+.f32 2 (*.f32 -2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32))))
(fma.f32 -1 (neg.f32 (log.f32 uy)) (log.f32 (*.f32 2 (PI.f32))))
(+.f32 (log.f32 uy) (log.f32 (*.f32 2 (PI.f32))))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32)))))
(+.f32 (fma.f32 -1 (neg.f32 (log.f32 uy)) (log.f32 (*.f32 2 (PI.f32)))) (/.f32 1/2 (*.f32 uy (PI.f32))))
(+.f32 (log.f32 (*.f32 2 (PI.f32))) (+.f32 (log.f32 uy) (/.f32 1/2 (*.f32 uy (PI.f32)))))
(+.f32 (+.f32 (log.f32 uy) (log.f32 (*.f32 2 (PI.f32)))) (/.f32 1/2 (*.f32 uy (PI.f32))))
(+.f32 (log.f32 uy) (+.f32 (log.f32 (*.f32 2 (PI.f32))) (/.f32 1/2 (*.f32 uy (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (log.f32 (*.f32 2 (PI.f32))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (fma.f32 -1 (neg.f32 (log.f32 uy)) (log.f32 (*.f32 2 (PI.f32)))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(+.f32 (+.f32 (log.f32 uy) (log.f32 (*.f32 2 (PI.f32)))) (-.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(+.f32 (log.f32 uy) (-.f32 (+.f32 (log.f32 (*.f32 2 (PI.f32))) (/.f32 1/2 (*.f32 uy (PI.f32)))) (/.f32 (/.f32 1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))
(+.f32 (log.f32 (*.f32 2 (PI.f32))) (+.f32 (+.f32 (log.f32 uy) (/.f32 (/.f32 -1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))) (/.f32 1/2 (*.f32 uy (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 uy))) (+.f32 (log.f32 (*.f32 2 (PI.f32))) (*.f32 1/24 (/.f32 1 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (+.f32 (fma.f32 -1 (neg.f32 (log.f32 uy)) (log.f32 (*.f32 2 (PI.f32)))) (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(+.f32 (+.f32 (log.f32 uy) (+.f32 (log.f32 (*.f32 2 (PI.f32))) (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))) (-.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)))))
(+.f32 (log.f32 uy) (-.f32 (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (+.f32 (log.f32 (*.f32 2 (PI.f32))) (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))))) (/.f32 (/.f32 1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))
(+.f32 (log.f32 uy) (-.f32 (+.f32 (log.f32 (*.f32 2 (PI.f32))) (/.f32 (/.f32 1/24 (pow.f32 uy 3)) (pow.f32 (PI.f32) 3))) (-.f32 (/.f32 (/.f32 1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2)) (/.f32 1/2 (*.f32 uy (PI.f32))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (log.f32 (*.f32 -2 (PI.f32))))
(fma.f32 -1 (log.f32 (/.f32 -1 uy)) (log.f32 (*.f32 (PI.f32) -2)))
(-.f32 (log.f32 (*.f32 (PI.f32) -2)) (log.f32 (/.f32 -1 uy)))
(+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (log.f32 (*.f32 -2 (PI.f32)))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (fma.f32 -1 (log.f32 (/.f32 -1 uy)) (log.f32 (*.f32 (PI.f32) -2))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (log.f32 (*.f32 (PI.f32) -2)) (log.f32 (/.f32 -1 uy))))
(+.f32 (log.f32 (*.f32 (PI.f32) -2)) (-.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (log.f32 (/.f32 -1 uy))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (log.f32 (*.f32 -2 (PI.f32))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 uy)) (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (log.f32 (*.f32 (PI.f32) -2)))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(+.f32 (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (log.f32 (*.f32 (PI.f32) -2)) (log.f32 (/.f32 -1 uy)))) (/.f32 -1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(+.f32 (log.f32 (*.f32 (PI.f32) -2)) (-.f32 (-.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (log.f32 (/.f32 -1 uy))) (/.f32 (/.f32 1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (+.f32 (log.f32 (*.f32 (PI.f32) -2)) (/.f32 (/.f32 -1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))) (log.f32 (/.f32 -1 uy))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 uy))) (+.f32 (*.f32 1/2 (/.f32 1 (*.f32 uy (PI.f32)))) (+.f32 (*.f32 1/24 (/.f32 1 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))) (log.f32 (*.f32 -2 (PI.f32)))))) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2)))))
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 uy)) (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (+.f32 (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))) (log.f32 (*.f32 (PI.f32) -2))))) (/.f32 1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(+.f32 (+.f32 (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (log.f32 (*.f32 (PI.f32) -2)) (log.f32 (/.f32 -1 uy)))) (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3)))) (/.f32 -1/8 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))))
(+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (+.f32 (/.f32 1/24 (*.f32 (pow.f32 uy 3) (pow.f32 (PI.f32) 3))) (-.f32 (log.f32 (*.f32 (PI.f32) -2)) (log.f32 (/.f32 -1 uy)))) (/.f32 (/.f32 1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))))
(+.f32 (/.f32 (/.f32 1/24 (pow.f32 uy 3)) (pow.f32 (PI.f32) 3)) (+.f32 (/.f32 1/2 (*.f32 uy (PI.f32))) (-.f32 (+.f32 (log.f32 (*.f32 (PI.f32) -2)) (/.f32 (/.f32 -1/8 (*.f32 uy uy)) (pow.f32 (PI.f32) 2))) (log.f32 (/.f32 -1 uy)))))
1
(+.f32 1 (*.f32 -2 (*.f32 (pow.f32 uy 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2))) 1)
(fma.f32 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -2 (*.f32 uy uy)) 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 (PI.f32) 4) (*.f32 (pow.f32 uy 4) 2/3))))
(fma.f32 -2 (*.f32 uy (*.f32 uy (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3) 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 -2 (*.f32 (*.f32 uy uy) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 uy 4) 2/3))) (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 (pow.f32 uy 4) (*.f32 (pow.f32 (PI.f32) 4) 2/3) 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)))

prune489.0ms (9.3%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1036109
Fresh5712
Picked101
Done011
Total10914123
Error
0.1b
Counts
123 → 14
Alt Table
StatusErrorProgram
0.8b
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
0.3b
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.7b
(*.f32 (+.f32 (*.f32 (cos.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (cos.f32 1)) (*.f32 (sin.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (sin.f32 1))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
8.2b
(expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux)))))
9.2b
(pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux))) 3) 1/3)
0.4b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))))
0.4b
(*.f32 (-.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.6b
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)))))))
1.2b
(*.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (log.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
0.3b
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 uy 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
Compiler

Compiled 4450 to 3467 computations (22.1% saved)

regimes221.0ms (4.2%)

Accuracy

Total -18.3b remaining (-6159%)

Threshold costs -18.3b (-6159%)

Counts
29 → 1
Calls
Call 1
Inputs
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 uy (*.f32 (PI.f32) 2))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 uy (*.f32 (PI.f32) 2))) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (+.f32 (*.f32 (cos.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (cos.f32 1)) (*.f32 (sin.f32 (+.f32 (*.f32 uy (*.f32 (PI.f32) 2)) 1)) (sin.f32 1))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (-.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2) (*.f32 (cbrt.f32 (*.f32 uy (PI.f32))) 2))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 (*.f32 uy 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
(*.f32 (log.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (expm1.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (pow.f32 (cbrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 3)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(expm1.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux)))))
(pow.f32 (pow.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (hypot.f32 (sqrt.f32 (*.f32 (fma.f32 maxCos -2 2) ux)) (*.f32 (+.f32 maxCos -1) ux))) 3) 1/3)
(*.f32 (+.f32 (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cos.f32 1)) (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sin.f32 1))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (log.f32 (cbrt.f32 (exp.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (expm1.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
(+.f32 (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (*.f32 (*.f32 (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)) (*.f32 (*.f32 (*.f32 ux (+.f32 -2 (*.f32 2 ux))) (pow.f32 maxCos 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))))) -1/4))) (*.f32 (*.f32 1/2 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (+.f32 (*.f32 maxCos (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) (*.f32 (*.f32 maxCos maxCos) (*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (-.f32 (*.f32 ux (neg.f32 ux)) (pow.f32 (*.f32 (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (*.f32 ux (+.f32 -2 (*.f32 2 ux))))) 2)))))))
(*.f32 (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))))) 1) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (-.f32 (*.f32 (cos.f32 (*.f32 uy (PI.f32))) (cos.f32 (*.f32 uy (PI.f32)))) (*.f32 (sin.f32 (*.f32 uy (PI.f32))) (sin.f32 (*.f32 uy (PI.f32))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 2 (-.f32 (*.f32 maxCos ux) ux))))))
(*.f32 (cos.f32 (pow.f32 (sqrt.f32 (*.f32 2 (*.f32 uy (PI.f32)))) 2)) (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 (fma.f32 maxCos (*.f32 ux (+.f32 -2 (-.f32 (*.f32 2 ux) (*.f32 maxCos ux)))) (-.f32 ux (*.f32 ux (-.f32 ux 1))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (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)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 1 (*.f32 ux (fma.f32 ux (pow.f32 (+.f32 maxCos -1) 2) (fma.f32 2 maxCos -2)))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (*.f32 ux (fma.f32 maxCos -2 2))))
(*.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 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 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
Results
15.0ms0.3bux
15.0ms0.3buy
15.0ms0.3bmaxCos
12.0ms0.3b(*.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))))))
12.0ms0.3b(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
13.0ms0.3b(*.f32 (*.f32 uy 2) (PI.f32))
14.0ms0.3b(*.f32 uy 2)
9.0ms0.3b(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
9.0ms0.3b(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
9.0ms0.3b(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
11.0ms0.3b(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
13.0ms0.3b(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
13.0ms0.3b(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
13.0ms0.3b(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
15.0ms0.3b(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 1185 to 843 computations (28.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
distribute-lft-neg-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02345
13943
25643
36543
47343
57643
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (-.f32 2 (*.f32 2 maxCos)) ux) (*.f32 -1 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (+.f32 (*.f32 (+.f32 2 (*.f32 -2 maxCos)) ux) (neg.f32 (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 (*.f32 (+.f32 2 (*.f32 maxCos -2)) ux) (*.f32 (log.f32 (exp.f32 (pow.f32 (+.f32 maxCos -1) 2))) (pow.f32 ux 2)))))

end28.0ms (0.5%)

Stop Event
fuel
Compiler

Compiled 60 to 50 computations (16.7% saved)

Profiling

Loading profile data...