Details

Time bar (total: 33.8s)

analyze235.0ms (0.7%)

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.4s (7.1%)

Results
2.3s8256×body128valid
Compiler

Compiled 147 to 112 computations (23.8% saved)

simplify75.0ms (0.2%)

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)

localize78.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f32 (/.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.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)

series712.0ms (2.1%)

Counts
4 → 44
Calls

4 calls:

704.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 (PI.f32) s))
3.0ms
(/.f32 (neg.f32 (PI.f32)) s)
2.0ms
(/.f32 (PI.f32) s)

rewrite63.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
58×add-sqr-sqrt_binary32
56×*-un-lft-identity_binary32
52×times-frac_binary32
48×add-cube-cbrt_binary32
16×log-prod_binary32
Counts
4 → 156
Calls

4 calls:

43.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
(/.f32 (neg.f32 (PI.f32)) s)
3.0ms
(/.f32 (PI.f32) s)
2.0ms
(exp.f32 (/.f32 (PI.f32) s))

simplify196.0ms (0.6%)

Algorithm
egg-herbie
Rules
717×times-frac_binary32
490×associate-/l*_binary32
475×associate-/r*_binary32
286×fma-def_binary32
146×*-commutative_binary32
Counts
200 → 237
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05939374
117718936
252378936

prune392.0ms (1.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2316237
Fresh000
Picked101
Done000
Total2326238
Error
0.0b
Counts
238 → 6
Alt Table
StatusErrorProgram
0.5b
(+.f32 (*.f32 (neg.f32 s) (*.f32 2 (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))))) (*.f32 (neg.f32 s) (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))))))
0.6b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (sqrt.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.3b
(*.f32 (*.f32 (neg.f32 s) (sqrt.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)))) (sqrt.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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
0.4b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
0.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (cbrt.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 13453 to 7480 computations (44.4% saved)

localize80.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series673.0ms (2%)

Counts
2 → 36
Calls

2 calls:

668.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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
4.0ms
(pow.f32 (E.f32) (/.f32 (PI.f32) s))

rewrite53.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt_binary32
24×*-un-lft-identity_binary32
16×log-prod_binary32
16×add-cube-cbrt_binary32
13×pow-unpow_binary32
Counts
2 → 75
Calls

2 calls:

44.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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
2.0ms
(pow.f32 (E.f32) (/.f32 (PI.f32) s))

simplify172.0ms (0.5%)

Algorithm
egg-herbie
Rules
683×times-frac_binary32
454×associate-/r*_binary32
436×associate-/l*_binary32
288×fma-def_binary32
143×*-commutative_binary32
Counts
111 → 146
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05268556
117047887
249907887
349627887

prune422.0ms (1.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2520252
Fresh055
Picked011
Done000
Total2526258
Error
0.0b
Counts
258 → 6
Alt Table
StatusErrorProgram
0.5b
(+.f32 (*.f32 (neg.f32 s) (*.f32 2 (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))))) (*.f32 (neg.f32 s) (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))))))
0.6b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (sqrt.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.3b
(*.f32 (*.f32 (neg.f32 s) (sqrt.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)))) (sqrt.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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
0.4b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
0.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (cbrt.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 14097 to 7716 computations (45.3% saved)

localize91.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))
0.3b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.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 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
0.3b
(/.f32 (PI.f32) s)

series11.1s (32.8%)

Counts
3 → 52
Calls

3 calls:

8.2s
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
2.5s
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
292.0ms
(/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))

rewrite157.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
239×*-un-lft-identity_binary32
125×times-frac_binary32
77×distribute-lft-out_binary32
65×add-sqr-sqrt_binary32
56×sqrt-prod_binary32
Counts
3 → 172
Calls

3 calls:

45.0ms
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
45.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
33.0ms
(/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))

simplify769.0ms (2.3%)

Algorithm
egg-herbie
Rules
1036×fma-def_binary32
380×associate-/l*_binary32
308×times-frac_binary32
36×sqr-pow_binary32
32×sub-neg_binary32
Counts
224 → 211
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0282879205
1546379205

prune2.4s (7.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New4074411
Fresh134
Picked101
Done011
Total4098417
Error
0.0b
Counts
417 → 8
Alt Table
StatusErrorProgram
0.4b
(+.f32 (fma.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) (*.f32 (log.f32 (+.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) 1)) (neg.f32 s))) (*.f32 (log.f32 (-.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) 1)) (neg.f32 s)))
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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
0.4b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (sqrt.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
0.5b
(+.f32 (*.f32 (neg.f32 s) (*.f32 2 (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))))) (*.f32 (neg.f32 s) (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))))))
0.6b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (sqrt.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.5b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (+.f32 (*.f32 (log.f32 (*.f32 (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)) (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))) (neg.f32 s)) (*.f32 (log.f32 (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))) (neg.f32 s))))
0.6b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (*.f32 (neg.f32 s) (*.f32 (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))) (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))) (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))))
0.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (cbrt.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 114821 to 67477 computations (41.2% saved)

localize113.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))
0.3b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (sqrt.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.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 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
0.3b
(/.f32 (PI.f32) s)

series7.9s (23.4%)

Counts
1 → 18
Calls

1 calls:

7.9s
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (sqrt.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))

rewrite52.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
20×associate-+r+_binary32
20×log-prod_binary32
17×add-sqr-sqrt_binary32
13×*-un-lft-identity_binary32
10×distribute-lft-in_binary32
Counts
1 → 37
Calls

1 calls:

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

simplify436.0ms (1.3%)

Algorithm
egg-herbie
Rules
596×fma-def_binary32
338×associate-/l*_binary32
314×associate-/r*_binary32
306×associate-*r*_binary32
294×times-frac_binary32
Counts
55 → 75
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0197844441
1553944441

prune3.3s (9.8%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3730373
Fresh066
Picked011
Done011
Total3738381
Error
0.0b
Counts
381 → 8
Alt Table
StatusErrorProgram
0.4b
(+.f32 (fma.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) (*.f32 (log.f32 (+.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) 1)) (neg.f32 s))) (*.f32 (log.f32 (-.f32 (sqrt.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))) 1)) (neg.f32 s)))
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 (pow.f32 (E.f32) (/.f32 (PI.f32) s)))))) -1)))
0.4b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (sqrt.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))
0.5b
(+.f32 (*.f32 (neg.f32 s) (*.f32 2 (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))))) (*.f32 (neg.f32 s) (log.f32 (cbrt.f32 (+.f32 -1 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))))))))
0.6b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (sqrt.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.5b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (+.f32 (*.f32 (log.f32 (*.f32 (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)) (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))) (neg.f32 s)) (*.f32 (log.f32 (cbrt.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))) (neg.f32 s))))
0.6b
(+.f32 (*.f32 (neg.f32 s) (log1p.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))))) (*.f32 (*.f32 (neg.f32 s) (*.f32 (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))) (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1))))) (cbrt.f32 (log.f32 (+.f32 (/.f32 1 (sqrt.f32 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))))
0.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (cbrt.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 105067 to 61294 computations (41.7% saved)

regimes1.6s (4.8%)

Accuracy

Total 0.3b remaining (84.5%)

Threshold costs 0.3b (84.5%)

Counts
294 → 1
Compiler

Compiled 46704 to 32780 computations (29.8% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02348
14048
25448
36548
47048
57148
67048

end278.0ms (0.8%)

Compiler

Compiled 617 to 418 computations (32.3% saved)

Profiling

Loading profile data...