Details

Time bar (total: 15.9s)

analyze251.0ms (1.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%1.6%98.4%0
0%1.6%98.4%1
0%1.6%98.4%2
0.4%1.2%98.4%3
0.6%1%98.4%4
0.9%0.7%98.4%5
1%0.5%98.4%6
1.2%0.4%98.4%7
1.3%0.3%98.4%8
1.4%0.2%98.4%9
1.4%0.1%98.4%10
1.5%0.1%98.4%11
1.5%0.1%98.4%12
1.5%0%98.4%13
1.5%0%98.4%14
Compiler

Compiled 54 to 41 computations (24.1% saved)

sample2.3s (14.4%)

Results
2.2s8256×body128valid
Compiler

Compiled 147 to 112 computations (23.8% saved)

simplify79.0ms (0.5%)

Algorithm
egg-herbie
Rules
1145×fma-def_binary32
518×unswap-sqr_binary32
445×fma-neg_binary32
420×times-frac_binary32
354×associate-*l*_binary32
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02259
14259
27259
312051
417948
531946
650546
778846
8124946
9258446
10441946
11483246
12482746

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 127 to 93 computations (26.8% saved)

localize72.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f32 (/.f32 (neg.f32 (PI.f32)) s))
0.2b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)

series779.0ms (4.9%)

Counts
4 → 48
Calls

4 calls:

771.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
3.0ms
(exp.f32 (/.f32 (neg.f32 (PI.f32)) s))
3.0ms
(/.f32 (neg.f32 (PI.f32)) s)
2.0ms
(/.f32 (PI.f32) s)

rewrite82.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
250×add-sqr-sqrt_binary32
237×log1p-expm1-u_binary32
237×expm1-log1p-u_binary32
234×add-log-exp_binary32
231×add-exp-log_binary32
Counts
4 → 77
Calls

4 calls:

81.0ms
(exp.f32 (/.f32 (neg.f32 (PI.f32)) s))
81.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
81.0ms
(/.f32 (PI.f32) s)
81.0ms
(/.f32 (neg.f32 (PI.f32)) s)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02267
149667
2496967
3523167

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
668×times-frac_binary32
443×associate-/r*_binary32
423×associate-/l*_binary32
277×fma-def_binary32
219×associate-*l*_binary32
Counts
125 → 119
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03875174
114085064
250045064

prune186.0ms (1.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1127119
Fresh000
Picked101
Done000
Total1137120
Error
0.2b
Counts
120 → 7
Alt Table
StatusErrorProgram
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1)))
23.9b
(log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1))
17.4b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
30.8b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2)
29.3b
(pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3)
24.7b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1)
Compiler

Compiled 8419 to 4868 computations (42.2% saved)

localize96.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1)))
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)
3.0b
(exp.f32 (log1p.f32 (/.f32 (PI.f32) s)))

series1.6s (9.9%)

Counts
2 → 36
Calls

2 calls:

1.4s
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1)))
194.0ms
(exp.f32 (log1p.f32 (/.f32 (PI.f32) s)))

rewrite62.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
261×expm1-log1p-u_binary32
260×log1p-expm1-u_binary32
255×add-log-exp_binary32
252×add-exp-log_binary32
250×add-cbrt-cube_binary32
Counts
2 → 32
Calls

2 calls:

61.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1)))
61.0ms
(exp.f32 (log1p.f32 (/.f32 (PI.f32) s)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02555
154254
2488054
3499354

simplify221.0ms (1.4%)

Algorithm
egg-herbie
Rules
652×associate-*l*_binary32
448×fma-def_binary32
258×associate-*r/_binary32
256×*-commutative_binary32
250×associate-*l/_binary32
Counts
68 → 77
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066316983
1242915284
2548415284

prune437.0ms (2.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1202122
Fresh066
Picked101
Done000
Total1218129
Error
0.2b
Counts
129 → 8
Alt Table
StatusErrorProgram
30.8b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2)
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
23.9b
(log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1))
17.4b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
29.3b
(pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3)
24.7b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1)
31.0b
(-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))))))))
Compiler

Compiled 25507 to 15401 computations (39.6% saved)

localize96.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)
0.5b
(pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2)

series668.0ms (4.2%)

Counts
2 → 32
Calls

2 calls:

635.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
33.0ms
(pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2)

rewrite33.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
287×log1p-expm1-u_binary32
287×expm1-log1p-u_binary32
274×add-log-exp_binary32
271×add-exp-log_binary32
269×add-cbrt-cube_binary32
Counts
2 → 33
Calls

2 calls:

32.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
32.0ms
(pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02760
160054
2500354

simplify88.0ms (0.6%)

Algorithm
egg-herbie
Rules
654×times-frac_binary32
435×associate-/r*_binary32
417×associate-/l*_binary32
310×associate-*r*_binary32
273×fma-def_binary32
Counts
65 → 67
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03764958
113764860
253074860

prune211.0ms (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1120112
Fresh077
Picked011
Done000
Total1128120
Error
0.2b
Counts
120 → 8
Alt Table
StatusErrorProgram
30.8b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2)
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
23.9b
(log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1))
17.4b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
29.3b
(pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3)
24.7b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1)
31.0b
(-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))))))))
Compiler

Compiled 11123 to 6778 computations (39.1% saved)

localize77.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)
0.7b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)

series6.2s (39.1%)

Counts
1 → 24
Calls

1 calls:

6.2s
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
257×log1p-expm1-u_binary32
257×expm1-log1p-u_binary32
252×add-log-exp_binary32
249×add-cbrt-cube_binary32
249×add-exp-log_binary32
Counts
1 → 19
Calls

1 calls:

62.0ms
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02546
154446
2483946
3488846

simplify349.0ms (2.2%)

Algorithm
egg-herbie
Rules
886×fma-def_binary32
372×*-commutative_binary32
266×+-commutative_binary32
240×associate-+r+_binary32
179×distribute-rgt-in_binary32
Counts
43 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096910964
1341210605
2497610271
3494310177
4499410177
5496610177

prune410.0ms (2.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1502152
Fresh156
Picked011
Done011
Total1519160
Error
0.2b
Counts
160 → 9
Alt Table
StatusErrorProgram
0.8b
(*.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2))
31.0b
(-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))))))))
23.9b
(log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1))
17.4b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1)))
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
29.3b
(pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3)
24.7b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1)
1.4b
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 2) 3) (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
Compiler

Compiled 22672 to 13377 computations (41% saved)

regimes637.0ms (4%)

Accuracy

Total 0.1b remaining (42.7%)

Threshold costs 0.1b (42.7%)

Counts
85 → 1
Compiler

Compiled 19242 to 13112 computations (31.9% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02656
14556
26056
37156
47656
57756
67556

end840.0ms (5.3%)

Compiler

Compiled 1695 to 1144 computations (32.5% saved)

Profiling

Loading profile data...