Details

Time bar (total: 1.0min)

analyze250.0ms (0.4%)

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.5%)

Results
2.1s8256×body128valid
Compiler

Compiled 147 to 112 computations (23.8% saved)

simplify46.0ms (0.1%)

Algorithm
egg-herbie
Rules
745×fma-def_binary32
441×fma-neg_binary32
420×times-frac_binary32
347×associate-*l*_binary32
269×associate-*r*_binary32
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02259
14259
27359
313351
421348
536746
665246
7111546
8200146
9425446
Stop Event
node limit
Counts
1 → 2

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 (+.f32 u -1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) -1)))
Compiler

Compiled 127 to 93 computations (26.8% saved)

localize70.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.1s (1.7%)

Counts
4 → 60
Calls

4 calls:

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

rewrite42.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
252×add-sqr-sqrt_binary32
239×log1p-expm1-u_binary32
239×expm1-log1p-u_binary32
238×add-cbrt-cube_binary32
234×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02297
150097
Stop Event
node limit
Counts
4 → 83
Calls

4 calls:

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

simplify89.0ms (0.1%)

Algorithm
egg-herbie
Rules
636×associate-/l*_binary32
627×associate-/r*_binary32
438×fma-def_binary32
187×+-commutative_binary32
160×*-commutative_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05638314
120818190
Stop Event
node limit
Counts
143 → 148

prune241.0ms (0.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New13711148
Fresh000
Picked101
Done000
Total13811149
Error
0.1b
Counts
149 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f32 (neg.f32 s) (log.f32 (fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)))
25.5b
(log1p.f32 (-.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) (neg.f32 s)) 1))
25.3b
(*.f32 (neg.f32 s) (log.f32 (log.f32 (exp.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))))
26.0b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))) 1)
18.8b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
30.4b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 3)
2.3b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 2)) (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
0.5b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) 3) 1/3)))
Compiler

Compiled 12729 to 7310 computations (42.6% saved)

localize86.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series11.3s (18%)

Counts
2 → 48
Calls

2 calls:

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

rewrite37.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
259×log1p-expm1-u_binary32
259×expm1-log1p-u_binary32
257×add-cbrt-cube_binary32
252×add-log-exp_binary32
249×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02585
156285
Stop Event
node limit
Counts
2 → 37
Calls

2 calls:

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

simplify217.0ms (0.3%)

Algorithm
egg-herbie
Rules
543×*-commutative_binary32
370×+-commutative_binary32
334×associate-+r+_binary32
323×fma-def_binary32
259×associate-*r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0123420750
1488220276
Stop Event
node limit
Counts
85 → 102

prune596.0ms (0.9%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1471148
Fresh01010
Picked011
Done000
Total14712159
Error
0.1b
Counts
159 → 12
Alt Table
StatusErrorProgram
0.4b
(*.f32 (neg.f32 s) (log.f32 (fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)))
25.5b
(log1p.f32 (-.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) (neg.f32 s)) 1))
25.3b
(*.f32 (neg.f32 s) (log.f32 (log.f32 (exp.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))))
26.0b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))) 1)
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 2)) (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.5b
(*.f32 (neg.f32 s) (log.f32 (*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3))))
18.8b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
30.4b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 3)
2.3b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
0.5b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) 3) 1/3)))
Compiler

Compiled 27539 to 17686 computations (35.8% saved)

localize91.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)
0.4b
(fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)
0.5b
(pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)

series41.5s (66%)

Counts
2 → 42
Calls

2 calls:

41.4s
(fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)
145.0ms
(pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)

rewrite35.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
260×add-sqr-sqrt_binary32
251×log1p-expm1-u_binary32
251×expm1-log1p-u_binary32
250×add-cbrt-cube_binary32
243×add-cube-cbrt_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
024121
153678
Stop Event
node limit
Counts
2 → 30
Calls

2 calls:

34.0ms
(fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)
34.0ms
(pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)

simplify370.0ms (0.6%)

Algorithm
egg-herbie
Rules
943×fma-def_binary32
383×associate-/l*_binary32
193×times-frac_binary32
123×sqr-pow_binary32
23×unpow1/3_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0324458050
Stop Event
node limit
Counts
72 → 87

prune1.8s (2.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1790179
Fresh01010
Picked011
Done011
Total17912191
Error
0.1b
Counts
191 → 12
Alt Table
StatusErrorProgram
0.4b
(*.f32 (neg.f32 s) (log.f32 (fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)))
25.5b
(log1p.f32 (-.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) (neg.f32 s)) 1))
25.3b
(*.f32 (neg.f32 s) (log.f32 (log.f32 (exp.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))))
26.0b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))) 1)
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 2)) (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.5b
(*.f32 (neg.f32 s) (log.f32 (*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3))))
18.8b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
30.4b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 2)
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 3)
2.3b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) (sqrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
0.5b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) 3) 1/3)))
Compiler

Compiled 76099 to 51061 computations (32.9% saved)

localize91.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)
0.4b
(*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3))
0.8b
(pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3)

series1.4s (2.2%)

Counts
2 → 48
Calls

2 calls:

1.2s
(pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3)
158.0ms
(*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3))

rewrite39.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
256×log1p-expm1-u_binary32
256×expm1-log1p-u_binary32
252×add-cbrt-cube_binary32
244×add-log-exp_binary32
243×add-cube-cbrt_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02488
155080
Stop Event
node limit
Counts
2 → 45
Calls

2 calls:

38.0ms
(*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3))
38.0ms
(pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3)

simplify87.0ms (0.1%)

Algorithm
egg-herbie
Rules
612×fma-def_binary32
432×times-frac_binary32
404×associate-/r*_binary32
306×associate-/l*_binary32
236×associate-*l/_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05167806
118837655
Stop Event
node limit
Counts
93 → 102

prune604.0ms (1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2393242
Fresh279
Picked101
Done112
Total24311254
Error
0.1b
Counts
254 → 11
Alt Table
StatusErrorProgram
0.4b
(*.f32 (neg.f32 s) (log.f32 (fma.f32 (cbrt.f32 (pow.f32 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))) 2)) (/.f32 -1 (cbrt.f32 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) -1)))
25.5b
(log1p.f32 (-.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) (neg.f32 s)) 1))
30.4b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 2)
0.4b
(*.f32 (neg.f32 s) (log.f32 (*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (exp.f32 (*.f32 (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3/2)))))
25.3b
(*.f32 (neg.f32 s) (log.f32 (log.f32 (exp.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))))
26.0b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))) 1)
18.8b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))) 3)))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 3)
0.9b
(*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 2)) (cbrt.f32 (log.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (*.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))))) 3) (-.f32 (exp.f32 (log1p.f32 (sqrt.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))))))))) 1))))
0.6b
(*.f32 (neg.f32 s) (log.f32 (exp.f32 (*.f32 (log.f32 (pow.f32 (+.f32 -1 (/.f32 -1 (-.f32 (/.f32 (+.f32 -1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))))) 1/6)) 6))))
Compiler

Compiled 25775 to 15280 computations (40.7% saved)

regimes357.0ms (0.6%)

Accuracy

Total 0.2b remaining (58.4%)

Threshold costs 0.2b (58.4%)

Counts
80 → 1
Compiler

Compiled 10533 to 8006 computations (24% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02690
14590
26490
37890
48590
58790
Stop Event
saturated

end284.0ms (0.5%)

Compiler

Compiled 595 to 451 computations (24.2% saved)

Profiling

Loading profile data...