Details

Time bar (total: 10.1s)

analyze72.0ms (0.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.1%97.9%0%0%0%0
0%0%2.1%97.9%0%0%0%1
50%1%1%97.9%0%0%0%2
50%1%1%97.9%0%0%0%3
75%1.5%0.5%97.9%0%0%0%4
75%1.5%0.5%97.9%0%0%0%5
87.5%1.8%0.3%97.9%0%0%0%6
87.5%1.8%0.3%97.9%0%0%0%7
93.7%1.9%0.1%97.9%0%0%0%8
93.7%1.9%0.1%97.9%0%0%0%9
96.9%2%0.1%97.9%0%0%0%10
96.9%2%0.1%97.9%0%0%0%11
98.4%2%0%97.9%0%0%0%12
Compiler

Compiled 50 to 36 computations (28% saved)

sample2.8s (27.7%)

Results
2.8s8256×body256valid
Bogosity

preprocess72.0ms (0.7%)

Algorithm
egg-herbie
Rules
659×associate-/l*_binary32
637×associate-/l/_binary32
596×times-frac_binary32
563×associate-*r/_binary32
478×associate-/r/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041106
111786
244670
3187364
4524364
5621464
6715664
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 s) r))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) r) s)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 s) (*.f32 3 r)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) r) s)))
Outputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (*.f32 (/.f32 1/4 (*.f32 s (*.f32 2 (PI.f32)))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r)) (*.f32 (/.f32 3/4 (*.f32 s (*.f32 (PI.f32) 6))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) (*.f32 s 3))) r)))
(fma.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r) (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) r)))
(*.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) (+.f32 (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) r)))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 r) (PI.f32)) s) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 s) r))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) r) s)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 s) (*.f32 3 r)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) r) s)))
(+.f32 (*.f32 (/.f32 1/4 (*.f32 r (*.f32 2 (PI.f32)))) (/.f32 (exp.f32 (/.f32 (neg.f32 s) r)) s)) (*.f32 (/.f32 3/4 (*.f32 6 (*.f32 (PI.f32) r))) (/.f32 (exp.f32 (/.f32 (neg.f32 s) (*.f32 r 3))) s)))
(fma.f32 (/.f32 1/8 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (neg.f32 (/.f32 s r))) s) (*.f32 (/.f32 1/8 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 s r))) s)))
(*.f32 (/.f32 (/.f32 1/8 r) (PI.f32)) (+.f32 (/.f32 (exp.f32 (/.f32 (neg.f32 s) r)) s) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 s r)) s)))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 r) (PI.f32)) s) (+.f32 (exp.f32 (/.f32 (neg.f32 s) r)) (pow.f32 (exp.f32 -1/3) (/.f32 s r))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 s) r)) (pow.f32 (exp.f32 -1/3) (/.f32 s r))))
Compiler

Compiled 37 to 27 computations (27% saved)

simplify66.0ms (0.6%)

Algorithm
egg-herbie
Rules
676×fma-neg_binary32
617×associate-*l*_binary32
473×associate-*r*_binary32
434×*-commutative_binary32
410×associate-/r*_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02653
16643
224435
3102932
4341032
5540132
6585832
7750832
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Outputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (*.f32 (/.f32 1/4 (*.f32 s (*.f32 2 (PI.f32)))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r)) (*.f32 (/.f32 3/4 (*.f32 6 (*.f32 (PI.f32) s))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) (*.f32 s 3))) r)))
(fma.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) r) (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r)))
(*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (/.f32 (exp.f32 (/.f32 (neg.f32 r) s)) r) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) r)))
(*.f32 (/.f32 1/8 (*.f32 (PI.f32) (*.f32 r s))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))

eval1.0ms (0%)

Compiler

Compiled 55 to 35 computations (36.4% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Compiler

Compiled 57 to 41 computations (28.1% saved)

localize207.0ms (2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r)
0.4b
(/.f32 (/.f32 1/8 s) (PI.f32))
0.4b
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0b
(exp.f32 -1/3)
Compiler

Compiled 76 to 36 computations (52.6% saved)

series19.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
3.0ms
s
@inf
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
2.0ms
s
@inf
(/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r)
2.0ms
s
@-inf
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
2.0ms
s
@0
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
2.0ms
s
@0
(/.f32 (/.f32 1/8 s) (PI.f32))

rewrite96.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
856×prod-diff_binary32
312×log1p-udef_binary32
199×add-sqr-sqrt_binary32
191×pow1_binary32
190×*-un-lft-identity_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01754
138852
2603052
Stop Event
node limit
Counts
4 → 149
Calls
Call 1
Inputs
(exp.f32 -1/3)
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(/.f32 (/.f32 1/8 s) (PI.f32))
(/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (exp.f32 -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (exp.f32 -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (exp.f32 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (exp.f32 -1/3)) (cbrt.f32 (exp.f32 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (exp.f32 -2/3)) (cbrt.f32 (exp.f32 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (exp.f32 -1/3)) (sqrt.f32 (exp.f32 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (exp.f32 -1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (exp.f32 -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (exp.f32 -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (exp.f32 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (exp.f32 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (exp.f32 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (exp.f32 -1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (exp.f32 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (exp.f32 -1/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) 1) (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 r (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 r (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (*.f32 (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32))) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (*.f32 (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 (*.f32 (PI.f32) r) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 (*.f32 (PI.f32) r) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 r (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 r (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 r (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1/8 (*.f32 s (PI.f32))) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 r (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 1/8 s)) (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))) (*.f32 (PI.f32) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 1/8 s)) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (PI.f32) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 1/8 (*.f32 s (PI.f32)))) (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 1/8 (*.f32 s (PI.f32)))) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) 1) (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))) (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) 1) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 -1/8 (*.f32 s (PI.f32)))) (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 -1/8 (*.f32 s (PI.f32)))) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) 3) (pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3)) (+.f32 (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s)))) (-.f32 (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s)))) (*.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) (-.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (cbrt.f32 (*.f32 r r))) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 (PI.f32) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1/8 (*.f32 s (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (*.f32 (/.f32 r s) 3)) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (-.f32 (pow.f32 (exp.f32 -2/3) (/.f32 r s)) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (/.f32 1/8 s)) (*.f32 (PI.f32) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (/.f32 -1/8 (*.f32 s (PI.f32)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 3) (pow.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3) (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (exp.f32 (/.f32 r s)) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (exp.f32 (/.f32 r s)) (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (*.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1/8 (*.f32 s (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (/.f32 (/.f32 1 s) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (/.f32 1 (*.f32 s (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (*.f32 (/.f32 1 s) (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 s) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1/8 (*.f32 s (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 1/64 (*.f32 s s))) (*.f32 (cbrt.f32 (/.f32 1/8 s)) (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2) (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 1/8 s)) (*.f32 (sqrt.f32 (/.f32 1/8 s)) (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1/8 s) (/.f32 1 (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 1/8 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (/.f32 1/64 (*.f32 s s))) 1) (/.f32 (cbrt.f32 (/.f32 1/8 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (/.f32 1/8 s)) 1) (/.f32 (sqrt.f32 (/.f32 1/8 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 (/.f32 1 s) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 (/.f32 1/8 s) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (/.f32 1/64 (*.f32 s s))) (cbrt.f32 (pow.f32 (PI.f32) 2))) (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (/.f32 1/8 s)) (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 (sqrt.f32 (/.f32 1/8 s)) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (sqrt.f32 (PI.f32))) (/.f32 (/.f32 1 s) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (/.f32 1/8 s) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (/.f32 1/64 (*.f32 s s))) (sqrt.f32 (PI.f32))) (/.f32 (cbrt.f32 (/.f32 1/8 s)) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) (*.f32 s 8)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (/.f32 1/8 s) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1/8 (*.f32 s (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 1/8 s) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 1/8 (*.f32 s (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 s) (/.f32 1 (*.f32 (PI.f32) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 s) (*.f32 (/.f32 1 (PI.f32)) (/.f32 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (/.f32 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2) (*.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (/.f32 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) (cbrt.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 2)) (cbrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (*.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (/.f32 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) (sqrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1/8 (*.f32 s (PI.f32))) (/.f32 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 r) (/.f32 1/8 (*.f32 s (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (*.f32 r r))) (/.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (cbrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 r)) (/.f32 (/.f32 1/8 (*.f32 s (PI.f32))) (sqrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 r) (/.f32 (/.f32 1 s) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (/.f32 1/64 (*.f32 s s))) r) (/.f32 (cbrt.f32 (/.f32 1/8 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (/.f32 1/8 s)) r) (/.f32 (sqrt.f32 (/.f32 1/8 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/8 s) 1) (/.f32 (/.f32 1 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2) 1) (/.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 1) (/.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/8 s) (cbrt.f32 (*.f32 r r))) (/.f32 (/.f32 1 (PI.f32)) (cbrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2) (cbrt.f32 (*.f32 r r))) (cbrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (cbrt.f32 (*.f32 r r))) (/.f32 (sqrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (cbrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/8 s) (sqrt.f32 r)) (/.f32 (/.f32 1 (PI.f32)) (sqrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) 2) (sqrt.f32 r)) (/.f32 (cbrt.f32 (/.f32 1/8 (*.f32 s (PI.f32)))) (sqrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (/.f32 r 1/8) (*.f32 s (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 1/8 (*.f32 s (PI.f32))) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 1/8 (*.f32 (*.f32 s (PI.f32)) r))) 1))))))

simplify94.0ms (0.9%)

Algorithm
egg-herbie
Rules
847×fma-def_binary32
711×fma-neg_binary32
700×associate-*l/_binary32
507×associate-*r/_binary32
492×associate-/l/_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0811161
12331155
26671116
323681107
477851101
Stop Event
node limit
Counts
209 → 166
Calls
Call 1
Inputs
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/8 (/.f32 (+.f32 (*.f32 -1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 -1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -1/8 (/.f32 (+.f32 (*.f32 1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -7/324 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(-.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 1/6 s) (*.f32 s (PI.f32))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 r (/.f32 5/72 (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/8 (/.f32 (+.f32 (*.f32 -1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 -1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (*.f32 1/8 (/.f32 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81) (pow.f32 s 4)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 (*.f32 r r) (PI.f32)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -7/324 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(-.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 1/6 s) (*.f32 s (PI.f32))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 r (/.f32 5/72 (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -1/8 (/.f32 (+.f32 (*.f32 1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (*.f32 1/8 (/.f32 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81) (pow.f32 s 4)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 (*.f32 r r) (PI.f32)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -7/324 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(-.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 1/6 s) (*.f32 s (PI.f32))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 r (/.f32 5/72 (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -7/324 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) (*.f32 1/8 (/.f32 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81) (pow.f32 s 4)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 (*.f32 r r) (PI.f32)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 5/72 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -7/324 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 r (/.f32 -7/324 (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s r) (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (PI.f32)))
(/.f32 (/.f32 1/8 (PI.f32)) s)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/8 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 1/8 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/8 (PI.f32)) s) r)

localize282.0ms (2.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)
0.3b
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
0.3b
(/.f32 (neg.f32 r) (*.f32 3 s))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
Compiler

Compiled 148 to 83 computations (43.9% saved)

series17.0ms (0.2%)

Counts
4 → 84
Calls

21 calls:

TimeVariablePointExpression
5.0ms
r
@0
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
1.0ms
s
@inf
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
1.0ms
r
@inf
(/.f32 (neg.f32 r) (*.f32 3 s))
1.0ms
r
@inf
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
1.0ms
r
@0
(/.f32 (neg.f32 r) (*.f32 3 s))

rewrite110.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
881×log-prod_binary32
392×pow2_binary32
281×pow1/3_binary32
276×expm1-udef_binary32
276×log1p-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01639
133937
2444037
Stop Event
node limit
Counts
4 → 113
Calls
Call 1
Inputs
(*.f32 (*.f32 2 (PI.f32)) s)
(/.f32 (neg.f32 r) (*.f32 3 s))
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
(*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) (*.f32 2 s)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32)))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 2 s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 2 s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 2 s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 2 (PI.f32)) 3) (pow.f32 s 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 2 (PI.f32)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) (*.f32 2 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 2 (PI.f32)) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 2 (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 2 s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) (*.f32 2 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) (*.f32 2 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) (*.f32 2 s))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (/.f32 1/3 s))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (/.f32 1/3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (/.f32 1/3 s)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (/.f32 1/3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 r (/.f32 1/3 s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 0 (*.f32 s 3)) (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (/.f32 1/3 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (/.f32 1 (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (/.f32 1/3 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (/.f32 1/3 s))) (pow.f32 (cbrt.f32 (*.f32 r (/.f32 1/3 s))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 r (/.f32 1/3 s))) 2) (cbrt.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r r)) (*.f32 (cbrt.f32 r) (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 r (/.f32 1/3 s))) (sqrt.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 r) (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/3 s) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r 1/3) (pow.f32 s -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (/.f32 r s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 s -1) (*.f32 r 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 r) s) (/.f32 (sqrt.f32 r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 r) 3) (/.f32 (sqrt.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 r) 1) (/.f32 (sqrt.f32 r) (*.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 s 3)) 2)) (/.f32 r (cbrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 r) (pow.f32 (cbrt.f32 (*.f32 s 3)) 2)) (/.f32 (sqrt.f32 r) (cbrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 s 3))) (/.f32 r (sqrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (*.f32 r r)) s) (/.f32 (cbrt.f32 r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 s) (*.f32 r 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (*.f32 r r)) 3) (/.f32 (cbrt.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/3 (/.f32 r s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (*.f32 r r)) 1) (/.f32 (cbrt.f32 r) (*.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (*.f32 r r)) (pow.f32 (cbrt.f32 (*.f32 s 3)) 2)) (cbrt.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 (pow.f32 (cbrt.f32 (*.f32 s 3)) 2)) (/.f32 r (cbrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (*.f32 r r)) (sqrt.f32 (*.f32 s 3))) (/.f32 (cbrt.f32 r) (sqrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 (sqrt.f32 (*.f32 s 3))) (/.f32 r (sqrt.f32 (*.f32 s 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (/.f32 1/3 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (/.f32 1/3 s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (/.f32 1/3 s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (/.f32 1/3 s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (/.f32 s r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 r 3) (pow.f32 (*.f32 s 3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 3 (/.f32 s r)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 r (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (/.f32 1/3 s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 r) (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 r (/.f32 1/3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 1 (+.f32 1 (expm1.f32 (*.f32 r (/.f32 1/3 s))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (/.f32 1/3 s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 r 3) (pow.f32 (*.f32 s 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 r (/.f32 1/3 s))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))) r)) 2)) (log.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))) r))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))) r))) (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))) r))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3) (pow.f32 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 r 3) (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 2 (PI.f32))) r))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 r 3) (pow.f32 (*.f32 (PI.f32) (*.f32 2 s)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 6) s) r)) 2)) (log.f32 (cbrt.f32 (pow.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 6) s) r))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 6) s) r))) (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 6) s) r))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 r 3) (pow.f32 (*.f32 (PI.f32) (*.f32 6 s)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 6 s)) 3) (pow.f32 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) 6) s) r))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 r 3) (pow.f32 (*.f32 (PI.f32) (*.f32 6 s)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 6 s)) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))) 1))))))

simplify28.0ms (0.3%)

Algorithm
egg-herbie
Rules
49×associate-*l*_binary32
35×associate-*r*_binary32
31×*-commutative_binary32
associate-/l*_binary32
associate-*r/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015792
131792
274792
3134792
4154792
Stop Event
saturated
Counts
197 → 119
Calls
Call 1
Inputs
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 2 (*.f32 s (PI.f32)))
(*.f32 (*.f32 2 s) (PI.f32))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 -1/3 (/.f32 r s))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 2 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 2 s) (*.f32 (PI.f32) r))
(*.f32 2 (*.f32 s (*.f32 (PI.f32) r)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 (PI.f32) r))
(*.f32 s (*.f32 (*.f32 (PI.f32) r) 6))
(*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))

eval169.0ms (1.7%)

Compiler

Compiled 8955 to 4859 computations (45.7% saved)

prune70.0ms (0.7%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New26718285
Fresh000
Picked101
Done011
Total26819287
Error
0.1b
Counts
287 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (expm1.f32 (log1p.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (exp.f32 (log.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))))) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
29.4b
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (+.f32 0 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)))))
17.8b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (pow.f32 (pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 3) 1/3)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
0.7b
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
29.0b
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
17.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))
0.7b
(*.f32 (*.f32 (/.f32 1 r) (/.f32 1/8 (*.f32 s (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
29.4b
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
29.0b
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (cbrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))) 3)))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
0.7b
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
Compiler

Compiled 1078 to 792 computations (26.5% saved)

localize81.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(exp.f32 (*.f32 -1 (/.f32 r s)))
0.2b
(*.f32 s (*.f32 r (PI.f32)))
0.3b
(*.f32 r (PI.f32))
0.5b
(*.f32 -1/3 (/.f32 r s))
Compiler

Compiled 94 to 44 computations (53.2% saved)

series12.0ms (0.1%)

Counts
4 → 12
Calls

21 calls:

TimeVariablePointExpression
1.0ms
s
@-inf
(exp.f32 (*.f32 -1 (/.f32 r s)))
1.0ms
r
@-inf
(*.f32 s (*.f32 r (PI.f32)))
1.0ms
r
@-inf
(*.f32 r (PI.f32))
1.0ms
s
@-inf
(*.f32 s (*.f32 r (PI.f32)))
1.0ms
r
@inf
(*.f32 r (PI.f32))

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
592×log-prod_binary32
365×pow-prod-down_binary32
334×pow-unpow_binary32
285×pow2_binary32
203×pow1/3_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01228
124326
2305415
Stop Event
node limit
Counts
4 → 44
Calls
Call 1
Inputs
(*.f32 -1/3 (/.f32 r s))
(*.f32 r (PI.f32))
(*.f32 s (*.f32 r (PI.f32)))
(exp.f32 (*.f32 -1 (/.f32 r s)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 r (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (PI.f32)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 r (PI.f32))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 r (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 r (PI.f32))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s)) 2)) (log.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s))) (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 r (*.f32 (PI.f32) s)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x . 1)))))

simplify72.0ms (0.7%)

Algorithm
egg-herbie
Rules
541×distribute-neg-frac_binary32
514×associate-/l*_binary32
468×cancel-sign-sub-inv_binary32
464×fma-neg_binary32
348×fma-def_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024201
168189
2189174
3727168
44360165
57867165
Stop Event
node limit
Counts
56 → 50
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
Outputs
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 1 (neg.f32 (/.f32 r s)))
(-.f32 1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (neg.f32 (/.f32 r s))))
(fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s)))
(-.f32 (fma.f32 (/.f32 1/2 s) (/.f32 (*.f32 r r) s) 1) (/.f32 r s))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (fma.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3)) (neg.f32 (/.f32 r s)))))
(+.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s))) (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) 1)) (/.f32 r s))
(+.f32 1 (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6))))))
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 1 (neg.f32 (/.f32 r s)))
(-.f32 1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (neg.f32 (/.f32 r s))))
(fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s)))
(-.f32 (fma.f32 (/.f32 1/2 s) (/.f32 (*.f32 r r) s) 1) (/.f32 r s))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (fma.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3)) (neg.f32 (/.f32 r s)))))
(+.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s))) (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) 1)) (/.f32 r s))
(+.f32 1 (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6))))))
1
(+.f32 1 (*.f32 -1 (/.f32 r s)))
(+.f32 1 (neg.f32 (/.f32 r s)))
(-.f32 1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (*.f32 -1 (/.f32 r s))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (neg.f32 (/.f32 r s))))
(fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s)))
(-.f32 (fma.f32 (/.f32 1/2 s) (/.f32 (*.f32 r r) s) 1) (/.f32 r s))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (+.f32 1 (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))) (*.f32 -1 (/.f32 r s)))))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (+.f32 1 (fma.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3)) (neg.f32 (/.f32 r s)))))
(+.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (-.f32 1 (/.f32 r s))) (*.f32 -1/6 (/.f32 (pow.f32 r 3) (pow.f32 s 3))))
(-.f32 (fma.f32 1/2 (*.f32 (/.f32 r s) (/.f32 r s)) (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) 1)) (/.f32 r s))
(+.f32 1 (fma.f32 -1/6 (pow.f32 (/.f32 r s) 3) (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))))
(+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6))))))

localize43.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (*.f32 r (PI.f32)))
0.3b
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
0.3b
(*.f32 r (PI.f32))
Compiler

Compiled 21 to 8 computations (61.9% saved)

series5.0ms (0.1%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
s
@0
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
1.0ms
r
@0
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
1.0ms
r
@inf
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
1.0ms
s
@inf
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
1.0ms
r
@-inf
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
843×pow1_binary32
783×add-log-exp_binary32
783×log1p-expm1-u_binary32
783×expm1-log1p-u_binary32
767×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
117011
2212111
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) (pow.f32 (cbrt.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 2) (cbrt.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/4 (/.f32 1 (*.f32 s (neg.f32 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize169.0ms (1.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 r (PI.f32))
0.4b
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
0.4b
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0b
(exp.f32 -1/3)
Compiler

Compiled 76 to 29 computations (61.8% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
s
@-inf
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0ms
s
@0
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0ms
s
@inf
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0ms
r
@inf
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
1.0ms
r
@-inf
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))

rewrite97.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
820×prod-diff_binary32
302×expm1-udef_binary32
302×log1p-udef_binary32
194×add-sqr-sqrt_binary32
186×pow1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01743
137941
2555541
Stop Event
node limit
Counts
2 → 80
Calls
Call 1
Inputs
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(/.f32 1/8 (*.f32 s (*.f32 r (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) 1) (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/8 (/.f32 (*.f32 s (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 s (*.f32 r (PI.f32))) (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (*.f32 (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32)))) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (*.f32 (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32)))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) (*.f32 s (neg.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 (*.f32 s (*.f32 r (PI.f32))) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/8 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 (*.f32 s (neg.f32 (*.f32 r (PI.f32)))) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (*.f32 (*.f32 r (PI.f32)) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 (*.f32 s (*.f32 r (PI.f32))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/8 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 (*.f32 s (neg.f32 (*.f32 r (PI.f32)))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (*.f32 (*.f32 r (PI.f32)) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) 1/8) (*.f32 (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))) (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) 1/8) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) 1) (*.f32 (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))) (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) 1) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) -1/8) (*.f32 (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))) (*.f32 s (neg.f32 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) -1/8) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (neg.f32 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 1/8 s)) (*.f32 (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 1/8 s)) (*.f32 (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) 3) (pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3)) (+.f32 (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s)))) (-.f32 (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s)))) (*.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) (-.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) s) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 r (PI.f32))) s)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1) (*.f32 s (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (cbrt.f32 (pow.f32 (*.f32 s (*.f32 r (PI.f32))) 2))) (cbrt.f32 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))) (sqrt.f32 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 s r)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/8 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 s (neg.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/8 s) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3))) (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 3) (pow.f32 (exp.f32 -1/3) (*.f32 (/.f32 r s) 3)))) (-.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s))) (exp.f32 (+.f32 (/.f32 r s) (*.f32 -1/3 (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (-.f32 (pow.f32 (exp.f32 (/.f32 r s)) 2) (pow.f32 (exp.f32 -2/3) (/.f32 r s)))) (-.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) -1/8) (*.f32 s (neg.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (/.f32 1/8 s)) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 3) (pow.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) 3) (pow.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (+.f32 (exp.f32 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (exp.f32 (/.f32 r s)) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (exp.f32 (/.f32 r s)) (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (*.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (/.f32 (/.f32 1 s) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) (pow.f32 (cbrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) 2) (cbrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) (sqrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/8 (/.f32 1 (*.f32 s (neg.f32 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1 s) (*.f32 r (PI.f32))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 s) (/.f32 1 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 s (/.f32 1/8 (*.f32 r (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (/.f32 1/64 (pow.f32 (*.f32 s (*.f32 r (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (/.f32 1/8 s) (*.f32 r (PI.f32)))) 1))))))

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Rules
847×fma-def_binary32
711×fma-neg_binary32
689×associate-*l/_binary32
505×associate-*r/_binary32
478×associate-/l/_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
078801
1226795
2656756
32390747
47742741
Stop Event
node limit
Counts
104 → 93
Calls
Call 1
Inputs
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/8 (/.f32 (+.f32 (*.f32 -1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 -1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -1/8 (/.f32 (+.f32 (*.f32 1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -7/324 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
Outputs
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/8 (/.f32 (+.f32 (*.f32 -1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 -1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81)) (pow.f32 s 4))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 r (/.f32 (PI.f32) r)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 -7/324 (/.f32 r (*.f32 (pow.f32 s 4) (/.f32 (PI.f32) r))) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 (+.f32 (*.f32 1/18 (/.f32 r (PI.f32))) (*.f32 1/2 (/.f32 r (PI.f32)))) (pow.f32 s 3))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -1/8 (/.f32 (+.f32 (*.f32 1/162 (/.f32 (pow.f32 r 2) (PI.f32))) (*.f32 1/6 (/.f32 (pow.f32 r 2) (PI.f32)))) (pow.f32 s 4))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81)) (pow.f32 s 4))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 r (/.f32 (PI.f32) r)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 -7/324 (/.f32 r (*.f32 (pow.f32 s 4) (/.f32 (PI.f32) r))) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))
(/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32)))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (/.f32 5/72 (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(-.f32 (+.f32 (*.f32 5/72 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (+.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 -7/324 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (fma.f32 1/8 (/.f32 (*.f32 (/.f32 r (PI.f32)) 5/9) (pow.f32 s 3)) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 (*.f32 1/8 (*.f32 (/.f32 (*.f32 r r) (PI.f32)) -14/81)) (pow.f32 s 4))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/8 (/.f32 (/.f32 r (PI.f32)) (/.f32 (pow.f32 s 3) 5/9)) (fma.f32 1/8 (/.f32 (/.f32 r (/.f32 (PI.f32) r)) (/.f32 (pow.f32 s 4) -14/81)) (/.f32 1/4 (*.f32 (*.f32 s (PI.f32)) r)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 -7/324 (/.f32 r (*.f32 (pow.f32 s 4) (/.f32 (PI.f32) r))) (/.f32 1/4 (*.f32 r (*.f32 s (PI.f32))))) (fma.f32 5/72 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32))))))
(+.f32 (+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 5/72 (pow.f32 s 3)) (*.f32 -7/324 (/.f32 r (pow.f32 s 4)))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (neg.f32 (/.f32 r s))) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 (*.f32 s (PI.f32)) r)))
(/.f32 (fma.f32 1/8 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (/.f32 1/8 (exp.f32 (/.f32 r s)))) (*.f32 r (*.f32 s (PI.f32))))

localize137.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (neg.f32 r) (*.f32 3 s))
0.3b
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
0.3b
(*.f32 r (PI.f32))
Compiler

Compiled 148 to 74 computations (50% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
s
@0
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.0ms
r
@0
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.0ms
s
@inf
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.0ms
r
@-inf
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.0ms
s
@-inf
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))

rewrite51.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
774×pow1_binary32
712×add-log-exp_binary32
712×log1p-expm1-u_binary32
712×expm1-log1p-u_binary32
697×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
116211
2193411
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 36 (pow.f32 (*.f32 s (*.f32 r (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 6) (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))))))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize179.0ms (1.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (neg.f32 r) (*.f32 3 s))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
0.3b
(*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))
2.8b
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
Compiler

Compiled 167 to 91 computations (45.5% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
s
@0
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
0.0ms
s
@-inf
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
0.0ms
s
@inf
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
0.0ms
r
@-inf
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
0.0ms
r
@inf
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))

rewrite253.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
857×pow1_binary32
788×add-log-exp_binary32
788×log1p-expm1-u_binary32
788×expm1-log1p-u_binary32
771×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
118722
2214022
Stop Event
node limit
Counts
2 → 61
Calls
Call 1
Inputs
(exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))
(*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 6 (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 s (*.f32 r (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (*.f32 (PI.f32) (*.f32 6 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 s r) (*.f32 (PI.f32) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) (pow.f32 (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2) (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) (*.f32 6 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 s r)) 2) (*.f32 (cbrt.f32 (*.f32 s r)) (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) 6)) 2) (*.f32 (cbrt.f32 (*.f32 (PI.f32) 6)) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) (sqrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 6 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 s r)) (*.f32 (sqrt.f32 (*.f32 s r)) (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) 6)) (*.f32 (sqrt.f32 (*.f32 (PI.f32) 6)) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 6 (*.f32 s r)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) 6) (pow.f32 (cbrt.f32 (*.f32 s r)) 2)) (cbrt.f32 (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) 6) (sqrt.f32 (*.f32 s r))) (sqrt.f32 (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 s r) (PI.f32)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 s r) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) 6)) 2)) (cbrt.f32 (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 s r) (sqrt.f32 (*.f32 (PI.f32) 6))) (sqrt.f32 (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) (cbrt.f32 (*.f32 r r))) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))) (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 s) r) (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) 6) 3) (pow.f32 (*.f32 s r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 s r) 3) (pow.f32 (*.f32 (PI.f32) 6) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))) (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 s) r) (*.f32 (PI.f32) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) 6) 3) (pow.f32 (*.f32 s r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 s r) 3) (pow.f32 (*.f32 (PI.f32) 6) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))))

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
26×associate-*l*_binary32
20×associate-*r*_binary32
17×*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08528
115528
237528
372528
483528
Stop Event
saturated
Counts
109 → 47
Calls
Call 1
Inputs
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))

eval333.0ms (3.3%)

Compiler

Compiled 14169 to 7642 computations (46.1% saved)

prune172.0ms (1.7%)

Pruning

41 alts after pruning (37 fresh and 4 done)

PrunedKeptTotal
New43735472
Fresh11213
Picked011
Done235
Total45041491
Error
0.0b
Counts
491 → 41
Alt Table
Click to see full alt table
StatusErrorProgram
18.2b
(/.f32 1/4 (*.f32 s (log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
28.8b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.0b
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
0.7b
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3)))))
29.0b
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
17.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))))
29.0b
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.4b
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))
29.0b
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
29.0b
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3))))
0.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
18.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))
1.7b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
28.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))) (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
28.8b
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3))))))
29.0b
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
29.0b
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
29.0b
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 3))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1/3))))
29.3b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
1.5b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))))))
Compiler

Compiled 2103 to 1544 computations (26.6% saved)

localize112.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))
0.3b
(*.f32 r (PI.f32))
0.5b
(*.f32 -1/3 (/.f32 r s))
0.5b
(pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)
Compiler

Compiled 114 to 56 computations (50.9% saved)

series6.0ms (0.1%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
r
@0
(pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)
1.0ms
r
@-inf
(*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))
1.0ms
r
@-inf
(pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)
1.0ms
r
@inf
(pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)
0.0ms
s
@0
(*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))

rewrite55.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
712×pow1_binary32
655×add-log-exp_binary32
655×log1p-expm1-u_binary32
655×expm1-log1p-u_binary32
639×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
118413
2184913
Stop Event
node limit
Counts
2 → 43
Calls
Call 1
Inputs
(pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)
(*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 r (PI.f32))) (sqrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 r) 2) (*.f32 (cbrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (PI.f32))) (cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 r (PI.f32)))) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2)) (cbrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 r (PI.f32)) 1/4) (*.f32 (pow.f32 (*.f32 r (PI.f32)) 1/4) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 r (PI.f32))) (pow.f32 (*.f32 r (PI.f32)) 1/4)) (pow.f32 (*.f32 r (PI.f32)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 r) 2)) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 r (PI.f32))) (cbrt.f32 (*.f32 r (PI.f32)))) (cbrt.f32 (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 r (PI.f32))) (sqrt.f32 r)) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 r (*.f32 (PI.f32) s))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 s) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 r (PI.f32)) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 r (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))))

simplify82.0ms (0.8%)

Algorithm
egg-herbie
Rules
807×fma-def_binary32
374×cube-prod_binary32
333×fma-neg_binary32
319×neg-sub0_binary32
306×neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013192
132192
2104192
3301192
41131192
52479192
64011192
75337192
85992192
97298192
Stop Event
unsound
Counts
67 → 45
Calls
Call 1
Inputs
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
Outputs
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 -1 (*.f32 s (*.f32 (pow.f32 (sqrt.f32 -1) 2) (*.f32 r (PI.f32)))))
(*.f32 s (*.f32 r (PI.f32)))

localize23.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.3b
(*.f32 r (PI.f32))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
s
@0
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.0ms
s
@-inf
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.0ms
r
@-inf
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.0ms
s
@inf
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
0.0ms
r
@inf
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
479×log-prod_binary32
373×exp-prod_binary32
334×prod-exp_binary32
284×pow-prod-down_binary32
232×pow2_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
117611
2244711
Stop Event
node limit
Counts
1 → 62
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (/.f32 (/.f32 1 s) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (cbrt.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) -2)) (cbrt.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 1/4 s)) 2) (*.f32 (cbrt.f32 (/.f32 1/4 s)) (/.f32 1 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (sqrt.f32 s)) (*.f32 (/.f32 1/2 (sqrt.f32 s)) (/.f32 1 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1/4 s) (/.f32 1 (*.f32 r (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (*.f32 r s)) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 r) (/.f32 (/.f32 1 s) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/4 s)) 2) r) (/.f32 (cbrt.f32 (/.f32 1/4 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (sqrt.f32 s)) r) (/.f32 (/.f32 1/2 (sqrt.f32 s)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (sqrt.f32 s)) (PI.f32)) (/.f32 (/.f32 1/2 (sqrt.f32 s)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/4 s)) 2) (PI.f32)) (/.f32 (cbrt.f32 (/.f32 1/4 s)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/4 s)) 2) 1) (/.f32 (cbrt.f32 (/.f32 1/4 s)) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (sqrt.f32 s)) 1) (/.f32 (/.f32 1/2 (sqrt.f32 s)) (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2)) (/.f32 (/.f32 1 s) (cbrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) -2) (/.f32 (/.f32 1/4 s) (cbrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (sqrt.f32 s)) (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2)) (/.f32 (/.f32 1/2 (sqrt.f32 s)) (cbrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (sqrt.f32 (*.f32 r (PI.f32)))) (/.f32 (/.f32 1 s) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 r (PI.f32)) -1/2) (/.f32 (/.f32 1/4 s) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (/.f32 1/4 s)) 2) (sqrt.f32 (*.f32 r (PI.f32)))) (/.f32 (cbrt.f32 (/.f32 1/4 s)) (sqrt.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (/.f32 1/4 s) 3) (pow.f32 (*.f32 r (PI.f32)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 s 4) (*.f32 r (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 s (*.f32 r (PI.f32))) 1/4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) 2)) (cbrt.f32 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))) (sqrt.f32 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 1/4 s) 3) (pow.f32 (*.f32 r (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 -1/4 s) 3) (pow.f32 (*.f32 r (neg.f32 (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 1 (*.f32 r (PI.f32))) 3) (pow.f32 (*.f32 s 4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (/.f32 1/4 (*.f32 r s)) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (/.f32 (pow.f32 (/.f32 1/4 s) 3) (pow.f32 r 3)) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 1/2 (sqrt.f32 (*.f32 s (*.f32 r (PI.f32)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 s 4))) -1))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×associate-/r*_binary32
*-commutative_binary32
associate-*r*_binary32
associate-*l*_binary32
associate-/l/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08264
114264
229264
341264
442264
Stop Event
saturated
Counts
86 → 64
Calls
Call 1
Inputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))

localize97.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (*.f32 r (PI.f32)))
0.3b
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
0.3b
(*.f32 r (PI.f32))
0.5b
(*.f32 -1/3 (/.f32 r s))
Compiler

Compiled 142 to 71 computations (50% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
r
@0
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
1.0ms
s
@-inf
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
1.0ms
r
@inf
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
1.0ms
s
@0
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
1.0ms
s
@inf
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
515×log-prod_binary32
355×pow-prod-down_binary32
352×prod-diff_binary32
264×pow2_binary32
187×fma-def_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
120114
2287514
Stop Event
node limit
Counts
1 → 82
Calls
Call 1
Inputs
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (neg.f32 r) s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 (neg.f32 r) s) 1) (*.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (fma.f32 (/.f32 r s) 1/2 -1)) (/.f32 r s))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (fma.f32 (/.f32 r s) 1/2 -1)) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (fma.f32 (/.f32 r s) 1/2 -1)) (/.f32 r s)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (fma.f32 (/.f32 r s) 1/2 -1)) (/.f32 r s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 r (/.f32 s (fma.f32 (/.f32 r s) 1/2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (/.f32 r s) 1/2 -1) (/.f32 s r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 s (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1) (*.f32 (/.f32 s r) (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2))) (*.f32 (/.f32 s r) (-.f32 -1 (/.f32 r (/.f32 s 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1)) s)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1))) (neg.f32 s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 r (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1)) (*.f32 s (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 r) (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1)) (*.f32 (neg.f32 s) (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 r (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2)))) (*.f32 s (-.f32 -1 (/.f32 r (/.f32 s 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 r) (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2)))) (*.f32 (neg.f32 s) (-.f32 -1 (/.f32 r (/.f32 s 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1) r) (*.f32 (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1) s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2))) r) (*.f32 (-.f32 -1 (/.f32 r (/.f32 s 1/2))) s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1) 1) (*.f32 (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1) (/.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2))) 1) (*.f32 (-.f32 -1 (/.f32 r (/.f32 s 1/2))) (/.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1) (neg.f32 r)) (*.f32 (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1) (neg.f32 s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2))) (neg.f32 r)) (*.f32 (-.f32 -1 (/.f32 r (/.f32 s 1/2))) (neg.f32 s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (/.f32 (neg.f32 r) s) 3) (pow.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) 3)) (+.f32 (pow.f32 (/.f32 (neg.f32 r) s) 2) (-.f32 (pow.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) 2) (*.f32 (/.f32 (neg.f32 r) s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (/.f32 (neg.f32 r) s) 2) (pow.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) 2)) (-.f32 (/.f32 (neg.f32 r) s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1)) 1) s)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1)) (pow.f32 (cbrt.f32 s) 2)) (cbrt.f32 s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1)) (sqrt.f32 s)) (sqrt.f32 s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 r) (fma.f32 (/.f32 r s) 1/2 -1)) (neg.f32 s))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1) (/.f32 r s)) (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2))) (/.f32 r s)) (-.f32 -1 (/.f32 r (/.f32 s 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 r s) (fma.f32 1/8 (pow.f32 (/.f32 r s) 3) -1)) (fma.f32 (/.f32 r (/.f32 s 1/2)) (fma.f32 (/.f32 r s) 1/2 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 r s) (-.f32 1 (*.f32 1/4 (pow.f32 (/.f32 r s) 2)))) (-.f32 -1 (/.f32 r (/.f32 s 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 (/.f32 r s) 1/2 -1) (neg.f32 r)) (neg.f32 s))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 s (*.f32 r (fma.f32 (/.f32 r s) 1/2 -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (fma.f32 (/.f32 r s) 1/2 -1)) (/.f32 r s)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 r (*.f32 (/.f32 1 s) -1) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 r (*.f32 (/.f32 1 s) (/.f32 r (/.f32 s 1/2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 r s) -1 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 r s) (/.f32 r (/.f32 s 1/2)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (/.f32 r s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1/2 (pow.f32 (/.f32 r s) 2) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 r (/.f32 s 1/2)) (/.f32 r s) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (/.f32 (neg.f32 r) s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (/.f32 r s) 2) 1/2 (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (/.f32 r (/.f32 s 1/2))) 2) (*.f32 (cbrt.f32 (/.f32 r (/.f32 s 1/2))) (/.f32 r s)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (/.f32 r s)) 2) (*.f32 (cbrt.f32 (/.f32 r s)) -1) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (/.f32 r s)) 2) (*.f32 (cbrt.f32 (/.f32 r s)) (/.f32 r (/.f32 s 1/2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (/.f32 r (/.f32 s 1/2))) (*.f32 (sqrt.f32 (/.f32 r (/.f32 s 1/2))) (/.f32 r s)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (/.f32 r s)) (*.f32 (sqrt.f32 (/.f32 r s)) -1) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (/.f32 r s)) (*.f32 (sqrt.f32 (/.f32 r s)) (/.f32 r (/.f32 s 1/2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 r) (/.f32 1 s) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 (neg.f32 r) s) 1 (*.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2))) 2) (cbrt.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (/.f32 (neg.f32 r) s)) 2) (cbrt.f32 (/.f32 (neg.f32 r) s)) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2))) (sqrt.f32 (*.f32 1/2 (pow.f32 (/.f32 r s) 2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (/.f32 (neg.f32 r) s)) (sqrt.f32 (/.f32 (neg.f32 r) s)) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (/.f32 r (/.f32 s 1/2)) r) (/.f32 1 s) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (pow.f32 (cbrt.f32 (/.f32 r s)) 2)) (cbrt.f32 (/.f32 r s)) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -1 (sqrt.f32 (/.f32 r s))) (sqrt.f32 (/.f32 r s)) (*.f32 1/2 (pow.f32 (/.f32 r s) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (/.f32 r s) (pow.f32 (cbrt.f32 (/.f32 r (/.f32 s 1/2))) 2)) (cbrt.f32 (/.f32 r (/.f32 s 1/2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (/.f32 r s) (sqrt.f32 (/.f32 r (/.f32 s 1/2)))) (sqrt.f32 (/.f32 r (/.f32 s 1/2))) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (/.f32 r (/.f32 s 1/2)) (pow.f32 (cbrt.f32 (/.f32 r s)) 2)) (cbrt.f32 (/.f32 r s)) (/.f32 (neg.f32 r) s))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (/.f32 r (/.f32 s 1/2)) (sqrt.f32 (/.f32 r s))) (sqrt.f32 (/.f32 r s)) (/.f32 (neg.f32 r) s))))))

simplify46.0ms (0.5%)

Algorithm
egg-herbie
Rules
723×associate-/l*_binary32
473×fma-def_binary32
453×associate-/r*_binary32
381×cancel-sign-sub-inv_binary32
366×unswap-sqr_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
013399
130399
263399
3176345
4886309
55860309
Stop Event
node limit
Counts
106 → 88
Calls
Call 1
Inputs
(*.f32 -1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(*.f32 -1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(*.f32 -1 (/.f32 r s))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
Outputs
(*.f32 -1 (/.f32 r s))
(neg.f32 (/.f32 r s))
(/.f32 (neg.f32 r) s)
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(/.f32 (*.f32 1/2 (*.f32 r r)) (*.f32 s s))
(/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s))
(*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2))
(*.f32 r (/.f32 1/2 (/.f32 s (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(/.f32 (*.f32 1/2 (*.f32 r r)) (*.f32 s s))
(/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s))
(*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2))
(*.f32 r (/.f32 1/2 (/.f32 s (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2)))
(/.f32 (*.f32 1/2 (*.f32 r r)) (*.f32 s s))
(/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s))
(*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2))
(*.f32 r (/.f32 1/2 (/.f32 s (/.f32 r s))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(*.f32 -1 (/.f32 r s))
(neg.f32 (/.f32 r s))
(/.f32 (neg.f32 r) s)
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(*.f32 -1 (/.f32 r s))
(neg.f32 (/.f32 r s))
(/.f32 (neg.f32 r) s)
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 r 2) (pow.f32 s 2))) (*.f32 -1 (/.f32 r s)))
(fma.f32 1/2 (/.f32 (*.f32 r r) (*.f32 s s)) (neg.f32 (/.f32 r s)))
(-.f32 (/.f32 (*.f32 (*.f32 1/2 r) r) (*.f32 s s)) (/.f32 r s))
(-.f32 (*.f32 (/.f32 r s) (*.f32 (/.f32 r s) 1/2)) (/.f32 r s))
(*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))
(*.f32 (/.f32 r s) (fma.f32 (/.f32 r s) 1/2 -1))

localize122.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)
0.3b
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
0.3b
(/.f32 (neg.f32 r) (*.f32 3 s))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
Compiler

Compiled 148 to 83 computations (43.9% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
r
@0
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
0.0ms
r
@inf
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
0.0ms
r
@-inf
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
0.0ms
s
@inf
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
0.0ms
s
@-inf
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)

rewrite52.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
772×pow1_binary32
710×add-log-exp_binary32
710×log1p-expm1-u_binary32
710×expm1-log1p-u_binary32
695×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
116211
2193011
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 r) (*.f32 (PI.f32) 6)) s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 6 r)) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 (PI.f32) (*.f32 6 r)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 r s))))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
26×associate-*l*_binary32
20×associate-*r*_binary32
17×*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08264
115264
237264
372264
483264
Stop Event
saturated
Counts
37 → 15
Calls
Call 1
Inputs
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 6 (*.f32 s (PI.f32))))
(*.f32 r (*.f32 s (*.f32 6 (PI.f32))))

localize138.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
0.3b
(*.f32 r (PI.f32))
1.3b
(exp.f32 (log.f32 (*.f32 r (PI.f32))))
Compiler

Compiled 165 to 76 computations (53.9% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
r
@inf
(exp.f32 (log.f32 (*.f32 r (PI.f32))))
0.0ms
r
@0
(exp.f32 (log.f32 (*.f32 r (PI.f32))))
0.0ms
r
@-inf
(exp.f32 (log.f32 (*.f32 r (PI.f32))))
0.0ms
s
@inf
(*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))
0.0ms
s
@0
(*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))

rewrite64.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
836×pow1_binary32
768×add-log-exp_binary32
768×log1p-expm1-u_binary32
768×expm1-log1p-u_binary32
752×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
118516
2208816
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(exp.f32 (log.f32 (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (*.f32 r (PI.f32)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 r) 2) (*.f32 (cbrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2) (cbrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 r (PI.f32))) (sqrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 r) 2)) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 r (PI.f32))))) (sqrt.f32 (log.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 r (PI.f32)))) 2)) (cbrt.f32 (log.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 s) (*.f32 r (PI.f32))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))))))))

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
26×associate-*l*_binary32
20×associate-*r*_binary32
17×*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
237324
372324
483324
Stop Event
saturated
Counts
78 → 44
Calls
Call 1
Inputs
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
Outputs
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
(*.f32 (*.f32 6 s) (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) (*.f32 6 s))
(*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))

eval209.0ms (2.1%)

Compiler

Compiled 14582 to 8134 computations (44.2% saved)

prune138.0ms (1.4%)

Pruning

48 alts after pruning (40 fresh and 8 done)

PrunedKeptTotal
New46715482
Fresh72532
Picked011
Done178
Total47548523
Error
0.0b
Counts
523 → 48
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 3))))
14.8b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 r (PI.f32))))) (sqrt.f32 (log.f32 (*.f32 r (PI.f32)))))))))
29.0b
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
28.8b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
18.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))
0.9b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 1 (*.f32 r (PI.f32))) 1))))
29.8b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3)))))
29.0b
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
17.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))
1.5b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))))))
29.0b
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
29.0b
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
29.0b
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
1.7b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (+.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))))
29.4b
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
29.2b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))
29.0b
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
18.2b
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3))))
0.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
1.7b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
28.8b
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
28.8b
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
29.0b
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
29.0b
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
29.0b
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
0.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 1) (log.f32 (*.f32 r (PI.f32))))))))
29.0b
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1/3))))
29.3b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
Compiler

Compiled 2348 to 1722 computations (26.7% saved)

localize88.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))
0.3b
(*.f32 r (PI.f32))
0.5b
(*.f32 -1/3 (/.f32 r s))
0.7b
(expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))
Compiler

Compiled 109 to 46 computations (57.8% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
r
@0
(expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))
0.0ms
r
@inf
(expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))
0.0ms
r
@-inf
(expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))
0.0ms
s
@inf
(*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))
0.0ms
s
@-inf
(*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))

rewrite54.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
642×pow1_binary32
588×expm1-log1p-u_binary32
587×add-log-exp_binary32
587×log1p-expm1-u_binary32
573×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
113813
2161213
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))
(*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 r (PI.f32)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 r) 2) (*.f32 (cbrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2) (cbrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 r (PI.f32))) (sqrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 r) 2)) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 (*.f32 r (PI.f32)) 1) 3) 1) (+.f32 (*.f32 (+.f32 (*.f32 r (PI.f32)) 1) (+.f32 (*.f32 r (PI.f32)) 1)) (+.f32 1 (*.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 (*.f32 r (PI.f32)) 1) (+.f32 (*.f32 r (PI.f32)) 1)) 1) (+.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 r (*.f32 (PI.f32) s))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
associate-*r*_binary32
associate-*l*_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06252
110252
217252
319252
Stop Event
saturated
Counts
75 → 41
Calls
Call 1
Inputs
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 s (*.f32 r (PI.f32)))
Outputs
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))
(*.f32 s (*.f32 r (PI.f32)))
(*.f32 (*.f32 r (PI.f32)) s)
(*.f32 r (*.f32 (PI.f32) s))

localize31.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f32 (/.f32 1 s) r)
0.7b
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
Compiler

Compiled 27 to 18 computations (33.3% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
s
@-inf
(/.f32 (/.f32 1 s) r)
0.0ms
s
@0
(/.f32 (/.f32 1 s) r)
0.0ms
r
@-inf
(/.f32 (/.f32 1 s) r)
0.0ms
s
@inf
(/.f32 (/.f32 1 s) r)
0.0ms
s
@0
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))

rewrite88.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
533×log-prod_binary32
412×exp-prod_binary32
367×pow-prod-down_binary32
277×pow2_binary32
200×log-div_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01021
122018
2299018
Stop Event
node limit
Counts
2 → 115
Calls
Call 1
Inputs
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(/.f32 (/.f32 1 s) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/4 (*.f32 (PI.f32) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/4 (/.f32 (*.f32 (PI.f32) r) (/.f32 1 s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/4 (/.f32 (PI.f32) (/.f32 1 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (*.f32 (*.f32 (PI.f32) 4) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (*.f32 (*.f32 s r) (*.f32 (PI.f32) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 (PI.f32) r) (/.f32 1/4 s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 s) (*.f32 (*.f32 (PI.f32) 4) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 s) (*.f32 r (*.f32 (PI.f32) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 (*.f32 s r)) (*.f32 (PI.f32) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 -1 s) (*.f32 (*.f32 (PI.f32) 4) (neg.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1/4 (*.f32 (neg.f32 (PI.f32)) (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1/4 (*.f32 (*.f32 s r) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1/4 s) (*.f32 (PI.f32) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 1/4 s)) (neg.f32 (*.f32 (PI.f32) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 1/4 (*.f32 s r))) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 1/4 (*.f32 (PI.f32) s))) (neg.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 s) 1) (*.f32 (neg.f32 r) (*.f32 (PI.f32) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/4 (/.f32 1 s)) (*.f32 (neg.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/4 (/.f32 -1 s)) (*.f32 (PI.f32) (neg.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/4 (/.f32 -1 s)) (*.f32 (neg.f32 (PI.f32)) (neg.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 s) 1/4) (*.f32 (neg.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 s) -1/4) (*.f32 r (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 s) -1/4) (*.f32 (neg.f32 r) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 s r)) 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 s r)) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 s r)) (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) (cbrt.f32 (*.f32 r r))) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/4 (/.f32 1 (*.f32 s r))) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 s) (/.f32 1/4 (PI.f32))) (neg.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1/4 (PI.f32)) (/.f32 -1 s)) (neg.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 (*.f32 s r)) -1/4) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 (PI.f32) 4) (*.f32 s r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 s r) (*.f32 (PI.f32) 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (PI.f32) r) (/.f32 1/4 s)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))) 2)) (cbrt.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))) (sqrt.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1 (*.f32 s r)))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1 (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (*.f32 s r))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (*.f32 s r))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1 (*.f32 s r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (*.f32 s r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 s) (/.f32 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 s r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (*.f32 s r))) (cbrt.f32 (pow.f32 (*.f32 s r) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 s r) -2)) (/.f32 1 (cbrt.f32 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 s -2)) (*.f32 (/.f32 1 (cbrt.f32 s)) (/.f32 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 s r) -1/2) (pow.f32 (*.f32 s r) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 s -1/2) (*.f32 (pow.f32 s -1/2) (/.f32 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 s) (/.f32 1 (neg.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 r) (/.f32 1 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 s -2)) 1) (/.f32 (/.f32 1 (cbrt.f32 s)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 s -1/2) 1) (/.f32 (pow.f32 s -1/2) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 r) -2) (/.f32 (/.f32 1 s) (cbrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 s -2)) (cbrt.f32 (*.f32 r r))) (/.f32 1 (cbrt.f32 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 s -1/2) (cbrt.f32 (*.f32 r r))) (/.f32 (pow.f32 s -1/2) (cbrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 r -1/2) (/.f32 (/.f32 1 s) (sqrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 s -2)) (sqrt.f32 r)) (/.f32 (/.f32 1 (cbrt.f32 s)) (sqrt.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (*.f32 s r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (neg.f32 (log.f32 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s r) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s r) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (*.f32 s r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s r) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s r) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 s -3) (pow.f32 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 s r) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (neg.f32 (log.f32 (*.f32 s r)))) 2)) (cbrt.f32 (neg.f32 (log.f32 (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log.f32 (*.f32 s r))))) (sqrt.f32 (neg.f32 (log.f32 (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (/.f32 1 s) (neg.f32 r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 s r) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (*.f32 s r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s r) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 s -3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (neg.f32 (log.f32 (*.f32 s r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log.f32 (*.f32 s r))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (*.f32 s r) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log.f32 (cbrt.f32 (*.f32 s r)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (*.f32 s r) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 s r)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (neg.f32 (log.f32 (*.f32 s r))) 1) 1))))))

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
16×associate-/r*_binary32
*-commutative_binary32
associate-*r*_binary32
associate-*l*_binary32
associate-/l/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011432
121432
237432
349432
451432
Stop Event
saturated
Counts
163 → 119
Calls
Call 1
Inputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
(/.f32 1 (*.f32 s r))
Outputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)
(/.f32 1 (*.f32 s r))
(/.f32 (/.f32 1 s) r)

localize122.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (*.f32 r (PI.f32)))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
0.3b
(*.f32 r (PI.f32))
0.5b
(*.f32 -1/3 (/.f32 r s))
Compiler

Compiled 85 to 38 computations (55.3% saved)

series13.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.0ms
s
@0
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
2.0ms
r
@inf
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
2.0ms
r
@-inf
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
2.0ms
r
@0
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
1.0ms
s
@inf
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))

rewrite104.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
947×log-prod_binary32
456×fma-def_binary32
316×expm1-udef_binary32
315×log1p-udef_binary32
263×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01631
135231
2503131
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))) (cbrt.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1/8 (/.f32 s (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 r (*.f32 (PI.f32) s)) (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) (*.f32 (*.f32 r s) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1) (*.f32 r (*.f32 (PI.f32) s)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) s) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 r (PI.f32))) s)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (pow.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s))) 2)) (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) (sqrt.f32 (*.f32 r (*.f32 (PI.f32) s))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 1/8 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) (*.f32 r s)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s)))) 1/8) (*.f32 (*.f32 r s) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) s) 1/8) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (neg.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))) (*.f32 (*.f32 r s) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) s)) (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))) 2) 1/64))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 1/8) (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))) (*.f32 r (*.f32 (PI.f32) s))))) 1))))))

simplify86.0ms (0.8%)

Algorithm
egg-herbie
Rules
610×distribute-neg-frac_binary32
581×associate-/l*_binary32
477×fma-def_binary32
419×cancel-sign-sub-inv_binary32
382×fma-neg_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
056822
1160804
2398804
31301795
45139789
Stop Event
node limit
Counts
54 → 44
Calls
Call 1
Inputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
Outputs
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 1/144 (PI.f32)) (/.f32 r (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 1/144 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 -1/1296 (/.f32 (*.f32 r r) (*.f32 (PI.f32) (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (+.f32 (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s)))
(/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32))))
(/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s)
(/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s)))
(/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32))))
(/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s)
(/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 s (PI.f32))) (/.f32 1/8 (*.f32 s (PI.f32)))) r) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(/.f32 -1/8 (*.f32 (pow.f32 s 2) (PI.f32)))
(/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s)))
(/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32))))
(/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s)
(/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 r (PI.f32)))) s)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32))) (/.f32 1/8 (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (/.f32 1 (PI.f32)) r) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(fma.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) (/.f32 1/8 s) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 r (PI.f32)))) s)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32))) (/.f32 1/8 (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (/.f32 1 (PI.f32)) r) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(fma.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) (/.f32 1/8 s) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (*.f32 -1/3 (/.f32 r s))) (*.f32 r (PI.f32)))) s)) (*.f32 1/8 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (*.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (exp.f32 (/.f32 (*.f32 -1/3 r) s)) (*.f32 r (PI.f32)))) s)) (/.f32 1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (fma.f32 1/8 (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32))) (/.f32 1/8 (*.f32 r (PI.f32)))) s) (/.f32 -1/8 (*.f32 (PI.f32) (*.f32 s s))))
(fma.f32 1/8 (/.f32 (+.f32 (/.f32 (/.f32 1 (PI.f32)) r) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) s) (/.f32 (/.f32 (/.f32 -1/8 (PI.f32)) s) s))
(fma.f32 (+.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 (pow.f32 (exp.f32 -1/3) (/.f32 r s)) (*.f32 r (PI.f32)))) (/.f32 1/8 s) (/.f32 (/.f32 -1/8 (PI.f32)) (*.f32 s s)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 1/144 (PI.f32)) (/.f32 r (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 1/144 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 -1/1296 (/.f32 (*.f32 r r) (*.f32 (PI.f32) (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (+.f32 (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(-.f32 (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32)))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 1/144 (PI.f32)) (/.f32 r (pow.f32 s 3)) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 1/144 (/.f32 (/.f32 r (pow.f32 s 3)) (PI.f32)) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))
(-.f32 (+.f32 (*.f32 -1/1296 (/.f32 (pow.f32 r 2) (*.f32 (pow.f32 s 4) (PI.f32)))) (+.f32 (*.f32 1/144 (/.f32 r (*.f32 (pow.f32 s 3) (PI.f32)))) (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(-.f32 (fma.f32 -1/1296 (/.f32 (*.f32 r r) (*.f32 (PI.f32) (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32)))))) (/.f32 -1/6 (*.f32 s (*.f32 s (PI.f32)))))
(+.f32 (fma.f32 1/144 (/.f32 r (*.f32 (PI.f32) (pow.f32 s 3))) (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))) (fma.f32 -1/1296 (*.f32 (/.f32 r (PI.f32)) (/.f32 r (pow.f32 s 4))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s)))))
(+.f32 (/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s) (+.f32 (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))) (*.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (fma.f32 (/.f32 r (PI.f32)) (+.f32 (/.f32 1/144 (pow.f32 s 3)) (*.f32 -1/1296 (/.f32 r (pow.f32 s 4)))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s))))

localize178.0ms (1.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 6 (*.f32 s (*.f32 r (PI.f32))))
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
0.3b
(*.f32 r (PI.f32))
0.4b
(/.f32 1/3 s)
Compiler

Compiled 153 to 82 computations (46.4% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
s
@0
(/.f32 1/3 s)
0.0ms
s
@inf
(/.f32 1/3 s)
0.0ms
s
@-inf
(/.f32 1/3 s)

rewrite44.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
400×pow1_binary32
394×add-sqr-sqrt_binary32
382×*-un-lft-identity_binary32
375×add-log-exp_binary32
375×log1p-expm1-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1874
210234
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(/.f32 1/3 s)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1/3 s))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/3 s)))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1/3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1/3 s))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1/3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 1/3 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (/.f32 1 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/3 s) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1/3 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 1/3 s)) (pow.f32 (cbrt.f32 (/.f32 1/3 s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 1/3 s)) 2) (cbrt.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 1/3 s)) (sqrt.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/3 (/.f32 1 (neg.f32 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 s) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/3) (/.f32 1/3 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (pow.f32 (*.f32 s 3) -3)) 1/3) (pow.f32 (sqrt.f32 (pow.f32 (*.f32 s 3) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (pow.f32 (/.f32 1/3 s) 2) 1/3) 1/3) (cbrt.f32 (/.f32 1 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (pow.f32 (/.f32 1/3 s) 2) (pow.f32 (cbrt.f32 (/.f32 1/3 s)) 2)) 1/3) (cbrt.f32 (cbrt.f32 (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (pow.f32 (/.f32 1/3 s) 2) (sqrt.f32 (/.f32 1/3 s))) 1/3) (cbrt.f32 (sqrt.f32 (/.f32 1/3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 1/3) 3) (/.f32 1 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (/.f32 1/3 s))) 2) 3) (cbrt.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (/.f32 1/3 s))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (/.f32 1/3 s))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 1/3) 2) (/.f32 1 s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 s 3)) 2) -1) (cbrt.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/3 s) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1/3 s) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s 3) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 1/3 s)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 1/3 s)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 s 3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 1/3 s) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s 3) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1/3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 1/3 s)))))))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize296.0ms (2.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (*.f32 2 (PI.f32)) s)
0.3b
(*.f32 r (PI.f32))
0.4b
(expm1.f32 (*.f32 r (PI.f32)))
15.1b
(log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))
Compiler

Compiled 182 to 96 computations (47.3% saved)

series77.0ms (0.8%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
34.0ms
r
@inf
(log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))
31.0ms
r
@-inf
(log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))
10.0ms
r
@0
(log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))
0.0ms
r
@0
(expm1.f32 (*.f32 r (PI.f32)))
0.0ms
r
@inf
(expm1.f32 (*.f32 r (PI.f32)))

rewrite67.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
665×pow1_binary32
615×add-log-exp_binary32
615×log1p-expm1-u_binary32
615×expm1-log1p-u_binary32
603×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
115912
2168612
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))
(expm1.f32 (*.f32 r (PI.f32)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 1 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 3))) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 2) (expm1.f32 (*.f32 r (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 2))) (log.f32 (-.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 r (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 r (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 r (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 2) (cbrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 r) 2) (*.f32 (cbrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 r (PI.f32))) (sqrt.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 r) (*.f32 (sqrt.f32 r) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 r (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 r) 2)) (cbrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 r)) (sqrt.f32 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 r (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 r (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 r (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 r (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (expm1.f32 (*.f32 r (PI.f32))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (expm1.f32 (*.f32 r (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (exp.f32 r) (PI.f32)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (exp.f32 r) (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (expm1.f32 (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) (pow.f32 (cbrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) 2) (cbrt.f32 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) (sqrt.f32 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) 1) (-.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) 3) 1) (+.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) 2) (+.f32 1 (pow.f32 (exp.f32 r) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (exp.f32 r) (PI.f32)) 2) 1) (+.f32 (pow.f32 (exp.f32 r) (PI.f32)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (expm1.f32 (*.f32 r (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (expm1.f32 (*.f32 r (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (expm1.f32 (*.f32 r (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 (exp.f32 r) (PI.f32)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) 2) (cbrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32))) -1)))))

simplify42.0ms (0.4%)

Algorithm
egg-herbie
Rules
917×distribute-rgt-in_binary32
891×distribute-lft-in_binary32
675×distribute-rgt-out_binary32
492×associate-*l*_binary32
475×fma-def_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057220
1174220
2682217
34083217
Stop Event
node limit
Counts
80 → 67
Calls
Call 1
Inputs
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (*.f32 r (PI.f32)))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))))) (*.f32 r (PI.f32))))
(+.f32 (*.f32 1/24 (*.f32 (+.f32 (*.f32 12 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -3 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -4 (pow.f32 (PI.f32) 4)) (+.f32 (pow.f32 (PI.f32) 4) (*.f32 -6 (pow.f32 (PI.f32) 4)))))) (pow.f32 r 4))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))))) (*.f32 r (PI.f32)))))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32)))
(+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32))))
(+.f32 (*.f32 1/24 (*.f32 (pow.f32 r 4) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32)))))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
Outputs
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (*.f32 r (PI.f32)))
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))))) (*.f32 r (PI.f32))))
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/24 (*.f32 (+.f32 (*.f32 12 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -3 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -4 (pow.f32 (PI.f32) 4)) (+.f32 (pow.f32 (PI.f32) 4) (*.f32 -6 (pow.f32 (PI.f32) 4)))))) (pow.f32 r 4))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 r 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))))) (*.f32 r (PI.f32)))))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(*.f32 r (PI.f32))
(+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32)))
(fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r)) (*.f32 r (PI.f32)))
(fma.f32 r (PI.f32) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r))))
(*.f32 (PI.f32) (+.f32 r (*.f32 (*.f32 r 1/2) (*.f32 r (PI.f32)))))
(*.f32 (PI.f32) (+.f32 (*.f32 1/2 (*.f32 r (*.f32 r (PI.f32)))) r))
(+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32))))
(fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r)) (*.f32 r (PI.f32))))
(fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 r (PI.f32) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r)))))
(fma.f32 r (PI.f32) (*.f32 (pow.f32 (PI.f32) 2) (+.f32 (*.f32 r (*.f32 r 1/2)) (*.f32 (PI.f32) (*.f32 1/6 (pow.f32 r 3))))))
(+.f32 (*.f32 1/24 (*.f32 (pow.f32 r 4) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 r 2) (pow.f32 (PI.f32) 2))) (*.f32 r (PI.f32)))))
(fma.f32 1/24 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 r 4)) (fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r)) (*.f32 r (PI.f32)))))
(fma.f32 1/24 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 r 4)) (fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 r (PI.f32) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 r r))))))
(fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/24 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 r 4)) (*.f32 (PI.f32) (+.f32 r (*.f32 (*.f32 r 1/2) (*.f32 r (PI.f32)))))))
(fma.f32 1/6 (*.f32 (pow.f32 r 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/24 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 r 4)) (*.f32 (PI.f32) (+.f32 (*.f32 1/2 (*.f32 r (*.f32 r (PI.f32)))) r))))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))
(-.f32 (exp.f32 (*.f32 r (PI.f32))) 1)
(expm1.f32 (*.f32 r (PI.f32)))

eval305.0ms (3%)

Compiler

Compiled 13054 to 7422 computations (43.1% saved)

prune177.0ms (1.8%)

Pruning

57 alts after pruning (45 fresh and 12 done)

PrunedKeptTotal
New45315468
Fresh53035
Picked011
Done11112
Total45957516
Error
0.0b
Counts
516 → 57
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 3))))
14.8b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 r (PI.f32))))) (sqrt.f32 (log.f32 (*.f32 r (PI.f32)))))))))
29.0b
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1/3))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
29.0b
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
29.0b
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
28.8b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
29.4b
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
18.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))
29.0b
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
29.0b
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
29.3b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.0b
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
29.0b
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
17.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3)))))
29.0b
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
0.3b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3))))
29.4b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
1.5b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))))))
29.0b
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
1.7b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (+.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))))))
0.9b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))))
29.0b
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
29.4b
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))))
29.2b
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
18.2b
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
0.2b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))
29.0b
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
29.7b
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
0.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
1.7b
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
28.8b
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
28.8b
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
29.0b
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))
29.0b
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3))))))
0.2b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
29.0b
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
29.0b
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
29.0b
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
0.3b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 1) (log.f32 (*.f32 r (PI.f32))))))))
29.0b
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
Compiler

Compiled 1377 to 1012 computations (26.5% saved)

regimes245.0ms (2.4%)

Counts
85 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 1 (*.f32 r (PI.f32))) 1))))
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (*.f32 (/.f32 1 r) (/.f32 1/8 (*.f32 s (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (+.f32 0 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s))))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32)))))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (sqrt.f32 (*.f32 r (PI.f32))) 2))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (pow.f32 (pow.f32 (*.f32 r (*.f32 (PI.f32) s)) 3) 1/3)))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32))))))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))) 1/3))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 r (*.f32 (PI.f32) s)))) 3))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (expm1.f32 (log1p.f32 (*.f32 r (PI.f32))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (*.f32 r (PI.f32))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (expm1.f32 (log1p.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (exp.f32 (log.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r))))) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (cbrt.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r))) 3)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (pow.f32 (*.f32 r (PI.f32)) 3) 1/3)))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (log.f32 (+.f32 1 (expm1.f32 (*.f32 r (PI.f32)))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (pow.f32 (pow.f32 (*.f32 2 (*.f32 (*.f32 (PI.f32) s) r)) 3) 1/3)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) 6) (*.f32 s r)) 3) 1/3)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 r (PI.f32)))) 1/3))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 1) (log.f32 (*.f32 r (PI.f32))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 r (PI.f32))))) (sqrt.f32 (log.f32 (*.f32 r (PI.f32)))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))))) (sqrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r)))) 2))) (cbrt.f32 (log.f32 (*.f32 6 (*.f32 (PI.f32) (*.f32 s r))))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (exp.f32 (log.f32 (+.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 r) (PI.f32)))))))))))
Outputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Calls

3 calls:

91.0ms
r
51.0ms
s
7.0ms
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Results
ErrorSegmentsBranch
0.2b1s
0.2b1r
0.2b1(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Compiler

Compiled 2001 to 1109 computations (44.6% saved)

regimes88.0ms (0.9%)

Counts
53 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 1 (*.f32 r (PI.f32))) 1))))
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (*.f32 (/.f32 1 r) (/.f32 1/8 (*.f32 s (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (PI.f32) (*.f32 6 s)) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (neg.f32 (*.f32 r (/.f32 1/3 s))))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 s (*.f32 (PI.f32) (*.f32 r 6)))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 6 (*.f32 s (*.f32 r (PI.f32))))))
Outputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
Calls

2 calls:

34.0ms
r
32.0ms
s
Results
ErrorSegmentsBranch
0.2b1s
0.2b1r
Compiler

Compiled 924 to 502 computations (45.7% saved)

regimes121.0ms (1.2%)

Counts
47 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 (*.f32 r (PI.f32)) 1) 1))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (-.f32 (+.f32 1 (*.f32 r (PI.f32))) 1))))
(*.f32 (/.f32 1/8 (*.f32 s (*.f32 r (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (/.f32 (/.f32 (/.f32 1/8 s) (PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(*.f32 (*.f32 (/.f32 1 r) (/.f32 1/8 (*.f32 s (PI.f32)))) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 -1/3) (/.f32 r s))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
Outputs
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
Calls

2 calls:

50.0ms
s
49.0ms
r
Results
ErrorSegmentsBranch
0.2b1s
0.2b1r
Compiler

Compiled 726 to 390 computations (46.3% saved)

regimes78.0ms (0.8%)

Counts
37 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(/.f32 1/4 (*.f32 s (log1p.f32 (expm1.f32 (*.f32 r (PI.f32))))))
(/.f32 1/4 (exp.f32 (log.f32 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(-.f32 (*.f32 1/4 (/.f32 1 (*.f32 s (*.f32 r (PI.f32))))) (*.f32 1/6 (/.f32 1 (*.f32 (pow.f32 s 2) (PI.f32)))))
Outputs
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
Calls

2 calls:

34.0ms
s
24.0ms
r
Results
ErrorSegmentsBranch
18.2b1s
18.2b1r
Compiler

Compiled 485 to 262 computations (46% saved)

regimes129.0ms (1.3%)

Counts
32 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(-.f32 (+.f32 1 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32))) 1)
(pow.f32 (/.f32 (*.f32 s r) (/.f32 1/4 (PI.f32))) -1)
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 (/.f32 -1/6 (PI.f32)) (*.f32 s s)))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(+.f32 (/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32))) (/.f32 -1/6 (*.f32 (PI.f32) (*.f32 s s))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 1 (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (-.f32 1 (/.f32 r s)) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 0)) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) 1/2)))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (+.f32 0 (*.f32 r (*.f32 (PI.f32) s)))))
(*.f32 1/8 (/.f32 (+.f32 (+.f32 1 (*.f32 (/.f32 r s) (+.f32 -1 (*.f32 (/.f32 r s) (+.f32 1/2 (*.f32 (/.f32 r s) -1/6)))))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 s (*.f32 r (PI.f32)))))
Outputs
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
Calls

2 calls:

73.0ms
s
38.0ms
r
Results
ErrorSegmentsBranch
28.8b1s
28.8b1r
Compiler

Compiled 422 to 229 computations (45.7% saved)

regimes81.0ms (0.8%)

Counts
18 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 1 (/.f32 r (/.f32 1/4 (*.f32 (PI.f32) s))))
(/.f32 1 (/.f32 (PI.f32) (/.f32 1/4 (*.f32 s r))))
(*.f32 (/.f32 1 (*.f32 r (PI.f32))) (/.f32 1/4 s))
(*.f32 (/.f32 1 (PI.f32)) (/.f32 1/4 (*.f32 r s)))
(*.f32 (/.f32 1/4 (PI.f32)) (/.f32 (/.f32 1 s) r))
(*.f32 (/.f32 1 r) (/.f32 (/.f32 1/4 s) (PI.f32)))
(*.f32 (/.f32 1/4 s) (/.f32 1 (*.f32 r (PI.f32))))
(*.f32 (/.f32 (/.f32 (/.f32 1/4 s) r) (PI.f32)) 1)
(/.f32 1/4 (+.f32 0 (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 (/.f32 1/4 (PI.f32)) (*.f32 (/.f32 1 s) (/.f32 1 r)))
Outputs
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
Calls

2 calls:

50.0ms
s
21.0ms
r
Results
ErrorSegmentsBranch
29.0b1s
29.0b1r
Compiler

Compiled 156 to 92 computations (41% saved)

regimes23.0ms (0.2%)

Counts
5 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
Outputs
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
Calls

2 calls:

11.0ms
r
10.0ms
s
Results
ErrorSegmentsBranch
29.0b1s
29.0b1r
Compiler

Compiled 43 to 25 computations (41.9% saved)

regimes21.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
4 → 1
Calls
Call 1
Inputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (*.f32 (PI.f32) s)) r)
(/.f32 1/4 (*.f32 (*.f32 s r) (PI.f32)))
(/.f32 (/.f32 1/4 (*.f32 s r)) (PI.f32))
Outputs
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
Calls

2 calls:

10.0ms
r
9.0ms
s
Results
ErrorSegmentsBranch
29.0b1s
29.0b1r
Compiler

Compiled 36 to 21 computations (41.7% saved)

simplify50.0ms (0.5%)

Algorithm
egg-herbie
Rules
21×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
distribute-frac-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060203
194203
2100203
3104203
4106203
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
Outputs
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 r (*.f32 s (*.f32 2 (PI.f32))))) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 s 3)))) (*.f32 r (*.f32 s (*.f32 (PI.f32) 6)))))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 (PI.f32)) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 (PI.f32) 6) r) s)))
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 r (*.f32 s (*.f32 2 (PI.f32))))) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 s 3)))) (*.f32 s (*.f32 r (*.f32 (PI.f32) 6)))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (*.f32 -1 (/.f32 r s))) (exp.f32 (*.f32 -1/3 (/.f32 r s)))) (*.f32 r (*.f32 (PI.f32) s))))
(*.f32 1/8 (/.f32 (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (exp.f32 (*.f32 (/.f32 r s) -1/3))) (*.f32 r (*.f32 s (PI.f32)))))
(/.f32 (/.f32 1/4 s) (log1p.f32 (expm1.f32 (*.f32 r (PI.f32)))))
(-.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) 1)
(+.f32 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))) -1)
(+.f32 -1 (+.f32 1 (/.f32 1/4 (*.f32 s (*.f32 r (PI.f32))))))
(/.f32 (/.f32 1/4 s) (*.f32 r (PI.f32)))
(/.f32 (/.f32 (/.f32 1/4 (PI.f32)) r) s)
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 s r))
(/.f32 (/.f32 1/4 (PI.f32)) (*.f32 r s))
Compiler

Compiled 143 to 107 computations (25.2% saved)

soundness0.0ms (0%)

end174.0ms (1.7%)

Compiler

Compiled 129 to 78 computations (39.5% saved)

Profiling

Loading profile data...