Details

Time bar (total: 1.2min)

analyze244.0ms (0.3%)

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

Results
2.1s8256×body128valid
Compiler

Compiled 147 to 112 computations (23.8% saved)

simplify72.0ms (0.1%)

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)

localize74.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.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.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)))
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)

series740.0ms (1%)

Counts
4 → 60
Calls

4 calls:

633.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)))
100.0ms
(+.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
(/.f32 (PI.f32) s)
3.0ms
(/.f32 (neg.f32 (PI.f32)) s)

rewrite76.0ms (0.1%)

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 → 86
Calls

4 calls:

74.0ms
(+.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)
74.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)))
74.0ms
(/.f32 (PI.f32) s)
74.0ms
(/.f32 (neg.f32 (PI.f32)) s)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02297
149697
2496997
3523197

simplify181.0ms (0.2%)

Algorithm
egg-herbie
Rules
809×fma-def_binary32
636×associate-/l*_binary32
627×associate-/r*_binary32
186×+-commutative_binary32
159×*-commutative_binary32
Counts
146 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05618298
120578190
249868095
353358095

prune283.0ms (0.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1418149
Fresh000
Picked101
Done000
Total1428150
Error
0.1b
Counts
150 → 8
Alt Table
StatusErrorProgram
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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))))))
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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
17.6b
(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)))
24.2b
(log.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)))
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.5b
(*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3)))
0.3b
(*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 12558 to 7119 computations (43.3% saved)

localize82.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
0.3b
(/.f32 s (PI.f32))
0.3b
(pow.f32 (/.f32 s (PI.f32)) -1)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)

series816.0ms (1.1%)

Counts
3 → 36
Calls

3 calls:

799.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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
11.0ms
(pow.f32 (/.f32 s (PI.f32)) -1)
6.0ms
(/.f32 s (PI.f32))

rewrite38.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
264×add-sqr-sqrt_binary32
251×log1p-expm1-u_binary32
251×expm1-log1p-u_binary32
247×add-log-exp_binary32
244×add-exp-log_binary32
Counts
3 → 56
Calls

3 calls:

37.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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
37.0ms
(/.f32 s (PI.f32))
37.0ms
(pow.f32 (/.f32 s (PI.f32)) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02362
152462
2517162

simplify83.0ms (0.1%)

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
92 → 90
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03804992
113854894
253214894

prune234.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1140114
Fresh077
Picked011
Done000
Total1148122
Error
0.1b
Counts
122 → 8
Alt Table
StatusErrorProgram
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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))))))
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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
17.6b
(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)))
24.2b
(log.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)))
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.5b
(*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3)))
0.3b
(*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 8615 to 5105 computations (40.7% saved)

localize92.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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.5b
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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))

series22.5s (30.2%)

Counts
2 → 48
Calls

2 calls:

21.8s
(*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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))))
723.0ms
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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))

rewrite45.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
285×log1p-expm1-u_binary32
285×expm1-log1p-u_binary32
280×add-log-exp_binary32
277×add-exp-log_binary32
275×add-cbrt-cube_binary32
Counts
2 → 36
Calls

2 calls:

44.0ms
(*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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))))
43.0ms
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026167
1598167
25151167

simplify812.0ms (1.1%)

Algorithm
egg-herbie
Rules
1116×fma-def_binary32
836×times-frac_binary32
11×unpow2_binary32
10×cube-mult_binary32
10×unpow3_binary32
Counts
84 → 89
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0353787059
1581087059

prune1.9s (2.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1812183
Fresh066
Picked101
Done011
Total1829191
Error
0.1b
Counts
191 → 9
Alt Table
StatusErrorProgram
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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))))))
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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
17.6b
(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)))
24.2b
(log.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)))
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.5b
(*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3)))
31.2b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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)))
Compiler

Compiled 114441 to 62868 computations (45.1% saved)

localize92.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (PI.f32) s)
0.4b
(/.f32 (neg.f32 (PI.f32)) s)
0.5b
(pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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.5b
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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))

series37.8s (50.8%)

Counts
2 → 48
Calls

2 calls:

37.1s
(pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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)
726.0ms
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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))

rewrite76.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
273×log1p-expm1-u_binary32
273×expm1-log1p-u_binary32
266×add-log-exp_binary32
263×add-exp-log_binary32
260×add-cbrt-cube_binary32
Counts
2 → 40
Calls

2 calls:

74.0ms
(pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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)
74.0ms
(/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025160
1568160
24970160
35060160

simplify1.9s (2.6%)

Algorithm
egg-herbie
Rules
1430×fma-def_binary32
Counts
88 → 57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04332131734
15762131734

prune3.3s (4.4%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1501151
Fresh077
Picked011
Done011
Total15010160
Error
0.1b
Counts
160 → 10
Alt Table
StatusErrorProgram
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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))))))
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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1)))
17.6b
(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)))
24.2b
(log.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)))
0.5b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.f32 1 (/.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)))))))))) 2) 2) (pow.f32 (cbrt.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.f32 1 (/.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)))))))))) 2))) 2)))
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.5b
(*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3)))
31.2b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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)))
Compiler

Compiled 165877 to 90105 computations (45.7% saved)

regimes477.0ms (0.6%)

Accuracy

Total 0.2b remaining (61.2%)

Threshold costs 0.2b (61.2%)

Counts
82 → 1
Compiler

Compiled 13062 to 9395 computations (28.1% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02690
14590
26090
37190
47690
57790
67590

end296.0ms (0.4%)

Compiler

Compiled 653 to 471 computations (27.9% saved)

Profiling

Loading profile data...