Details

Time bar (total: 19.9s)

analyze1.3s (6.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%75%25%3
0%62.5%37.5%4
0%56.2%43.8%5
3.1%46.9%50%6
3.1%45.3%51.6%7
3.1%44.5%52.4%8
3.5%44.1%52.4%9
3.7%43.9%52.4%10
3.8%43.8%52.4%11
3.8%43.8%52.4%12
3.8%43.8%52.4%13
3.8%43.7%52.4%14
Compiler

Compiled 39 to 31 computations (20.5% saved)

sample11.5s (57.9%)

Results
3.5s3961×body1024valid
3.4s4008×body1024invalid
1.4s2077×body512invalid
1.3s2077×body512valid
811.0ms502×body2048valid
447.0ms1040×body256valid
429.0ms955×body256invalid
166.0ms676×body128valid
2.0msbody2048invalid
0.0msbody128invalid
Compiler

Compiled 116 to 92 computations (20.7% saved)

simplify48.0ms (0.2%)

Algorithm
egg-herbie
Rules
738×fma-neg_binary64
569×fma-def_binary64
365×div-sub_binary64
240×associate-/r*_binary64
202×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01764
14961
211759
329555
473655
5162555
6400355
7505355

prune8.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
62.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
62.2b
(*.f64 (log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))) (/.f64 -4 (PI.f64)))
Compiler

Compiled 136 to 100 computations (26.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (PI.f64) 4) f)
0.3b
(log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))))
1.0b
(/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))
5.1b
(-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))

series590.0ms (3%)

Counts
4 → 48
Calls

4 calls:

547.0ms
(log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))))
31.0ms
(/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))
8.0ms
(-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))
3.0ms
(*.f64 (/.f64 (PI.f64) 4) f)

rewrite53.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
108×add-sqr-sqrt_binary64
103×*-un-lft-identity_binary64
66×times-frac_binary64
53×add-cube-cbrt_binary64
34×log-prod_binary64
Counts
4 → 186
Calls

4 calls:

9.0ms
(/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))
8.0ms
(log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))))
7.0ms
(-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))
4.0ms
(*.f64 (/.f64 (PI.f64) 4) f)

simplify361.0ms (1.8%)

Algorithm
egg-herbie
Rules
849×fma-def_binary64
491×times-frac_binary64
415×fma-neg_binary64
279×cancel-sign-sub-inv_binary64
197×unswap-sqr_binary64
Counts
234 → 298
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037313558
180411600
2232410673
3409110644
4486910644
5484210644

prune397.0ms (2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3515356
Fresh000
Picked101
Done000
Total3525357
Error
1.7b
Counts
357 → 5
Alt Table
StatusErrorProgram
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (+.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (-.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f)))))) (/.f64 -4 (PI.f64)))
2.5b
(*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 -4 (PI.f64)))
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (*.f64 (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
62.2b
(*.f64 (exp.f64 (log.f64 (log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
2.6b
(*.f64 (log.f64 (+.f64 (*.f64 4 (/.f64 1 (*.f64 f (PI.f64)))) (*.f64 1/12 (*.f64 f (PI.f64))))) (/.f64 -4 (PI.f64)))
Compiler

Compiled 17802 to 11928 computations (33% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2))
0.4b
(*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 -4 (PI.f64)))
1.6b
(pow.f64 (PI.f64) 4)
2.0b
(log.f64 (/.f64 4 (PI.f64)))

series42.0ms (0.2%)

Counts
4 → 24
Calls

4 calls:

35.0ms
(*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 -4 (PI.f64)))
7.0ms
(*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2))
0.0ms
(log.f64 (/.f64 4 (PI.f64)))
0.0ms
(pow.f64 (PI.f64) 4)

rewrite24.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt_binary64
26×add-exp-log_binary64
25×*-un-lft-identity_binary64
23×add-cube-cbrt_binary64
21×associate-*r*_binary64
Counts
4 → 117
Calls

4 calls:

7.0ms
(*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 -4 (PI.f64)))
5.0ms
(*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2))
2.0ms
(log.f64 (/.f64 4 (PI.f64)))
1.0ms
(pow.f64 (PI.f64) 4)

simplify95.0ms (0.5%)

Algorithm
egg-herbie
Rules
449×distribute-rgt-in_binary64
423×distribute-lft-in_binary64
353×fma-def_binary64
347×times-frac_binary64
182×associate-*l*_binary64
Counts
141 → 180
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02604144
15713732
219153677
352383677

prune298.0ms (1.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1728180
Fresh044
Picked101
Done000
Total17312185
Error
1.5b
Counts
185 → 12
Alt Table
StatusErrorProgram
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (*.f64 (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
2.7b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) 3) (pow.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) 3)) -4) (*.f64 (+.f64 (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64))))) (+.f64 (*.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (PI.f64)))
2.6b
(*.f64 (/.f64 (-.f64 (fma.f64 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) 1/48 (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (sqrt.f64 (PI.f64))) (/.f64 -4 (sqrt.f64 (PI.f64))))
62.2b
(*.f64 (exp.f64 (log.f64 (log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (+.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (-.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f)))))) (/.f64 -4 (PI.f64)))
2.6b
(*.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 1 (sqrt.f64 (PI.f64)))) (/.f64 -4 (sqrt.f64 (PI.f64))))
2.5b
(-.f64 (+.f64 (*.f64 4 (/.f64 (log.f64 f) (PI.f64))) (*.f64 7/5760 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 f 2) (PI.f64))) (*.f64 4 (/.f64 (log.f64 (/.f64 4 (PI.f64))) (PI.f64)))))
2.6b
(*.f64 (log.f64 (+.f64 (*.f64 4 (/.f64 1 (*.f64 f (PI.f64)))) (*.f64 1/12 (*.f64 f (PI.f64))))) (/.f64 -4 (PI.f64)))
2.8b
(*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
3.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
2.4b
(/.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4) (PI.f64))
2.7b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) 3) (pow.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) 3)) (/.f64 -4 (PI.f64))) (+.f64 (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64))))) (+.f64 (*.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))))
Compiler

Compiled 8571 to 5808 computations (32.2% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2))
0.3b
(/.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4) (PI.f64))
1.6b
(pow.f64 (PI.f64) 4)
2.0b
(log.f64 (/.f64 4 (PI.f64)))

series37.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

37.0ms
(/.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4) (PI.f64))

rewrite7.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/r*_binary64
*-un-lft-identity_binary64
times-frac_binary64
Counts
1 → 25
Calls

1 calls:

5.0ms
(/.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4) (PI.f64))

simplify75.0ms (0.4%)

Algorithm
egg-herbie
Rules
422×fma-neg_binary64
415×times-frac_binary64
363×associate-/l*_binary64
309×associate-*l*_binary64
287×associate-*r*_binary64
Counts
37 → 50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01152005
13081716
210241685
346761681
449531681

prune272.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1501151
Fresh01111
Picked101
Done000
Total15112163
Error
1.4b
Counts
163 → 12
Alt Table
StatusErrorProgram
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (*.f64 (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
2.7b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) 3) (pow.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) 3)) -4) (*.f64 (+.f64 (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64))))) (+.f64 (*.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (PI.f64)))
2.6b
(*.f64 (/.f64 (-.f64 (fma.f64 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) 1/48 (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (sqrt.f64 (PI.f64))) (/.f64 -4 (sqrt.f64 (PI.f64))))
62.2b
(*.f64 (exp.f64 (log.f64 (log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (+.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (-.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f)))))) (/.f64 -4 (PI.f64)))
2.5b
(/.f64 1 (/.f64 (PI.f64) (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4)))
2.6b
(*.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 1 (sqrt.f64 (PI.f64)))) (/.f64 -4 (sqrt.f64 (PI.f64))))
2.5b
(-.f64 (+.f64 (*.f64 4 (/.f64 (log.f64 f) (PI.f64))) (*.f64 7/5760 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 f 2) (PI.f64))) (*.f64 4 (/.f64 (log.f64 (/.f64 4 (PI.f64))) (PI.f64)))))
2.6b
(*.f64 (log.f64 (+.f64 (*.f64 4 (/.f64 1 (*.f64 f (PI.f64)))) (*.f64 1/12 (*.f64 f (PI.f64))))) (/.f64 -4 (PI.f64)))
2.8b
(*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
3.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
2.7b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) 3) (pow.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) 3)) (/.f64 -4 (PI.f64))) (+.f64 (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64))))) (+.f64 (*.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))))
Compiler

Compiled 6908 to 4680 computations (32.3% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2))
0.3b
(/.f64 (PI.f64) (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4))
1.6b
(pow.f64 (PI.f64) 4)
2.0b
(log.f64 (/.f64 4 (PI.f64)))

series44.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

44.0ms
(/.f64 (PI.f64) (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4))

rewrite10.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/l*_binary64
*-un-lft-identity_binary64
times-frac_binary64
Counts
1 → 25
Calls

1 calls:

5.0ms
(/.f64 (PI.f64) (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) -4))

simplify69.0ms (0.3%)

Algorithm
egg-herbie
Rules
699×associate-/l*_binary64
511×fma-def_binary64
229×distribute-rgt-in_binary64
213×distribute-lft-in_binary64
164×associate-/l/_binary64
Counts
37 → 51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01942606
15452310
220332268
354702268

prune342.0ms (1.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1502152
Fresh11011
Picked101
Done000
Total15212164
Error
1.4b
Counts
164 → 12
Alt Table
StatusErrorProgram
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (+.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (-.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f))) (pow.f64 (sqrt.f64 (exp.f64 -1/4)) (*.f64 (PI.f64) f)))))) (/.f64 -4 (PI.f64)))
2.4b
(/.f64 1 (-.f64 (+.f64 (*.f64 7/2211840 (/.f64 (*.f64 (pow.f64 f 6) (pow.f64 (PI.f64) 7)) (pow.f64 (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f)) 3))) (+.f64 (*.f64 1/192 (/.f64 (*.f64 (pow.f64 f 2) (pow.f64 (PI.f64) 3)) (pow.f64 (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f)) 2))) (*.f64 1/442368 (/.f64 (*.f64 (pow.f64 f 6) (pow.f64 (PI.f64) 7)) (pow.f64 (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f)) 4))))) (+.f64 (*.f64 1/9216 (/.f64 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 5)) (pow.f64 (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f)) 3))) (+.f64 (*.f64 7/92160 (/.f64 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 5)) (pow.f64 (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f)) 2))) (*.f64 1/4 (/.f64 (PI.f64) (-.f64 (log.f64 (/.f64 4 (PI.f64))) (log.f64 f))))))))
62.2b
(*.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (*.f64 (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (log.f64 (/.f64 (sqrt.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))) (cbrt.f64 (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
2.7b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) 3) (pow.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) 3)) -4) (*.f64 (+.f64 (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64))))) (+.f64 (*.f64 (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (*.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (PI.f64)))
2.6b
(*.f64 (/.f64 (-.f64 (fma.f64 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) 1/48 (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (sqrt.f64 (PI.f64))) (/.f64 -4 (sqrt.f64 (PI.f64))))
62.2b
(*.f64 (exp.f64 (log.f64 (log.f64 (/.f64 (+.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))) (-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f))))))) (/.f64 -4 (PI.f64)))
2.6b
(*.f64 (*.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))) (/.f64 1 (sqrt.f64 (PI.f64)))) (/.f64 -4 (sqrt.f64 (PI.f64))))
2.5b
(-.f64 (+.f64 (*.f64 4 (/.f64 (log.f64 f) (PI.f64))) (*.f64 7/5760 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 f 2) (PI.f64))) (*.f64 4 (/.f64 (log.f64 (/.f64 4 (PI.f64))) (PI.f64)))))
2.6b
(*.f64 (log.f64 (+.f64 (*.f64 4 (/.f64 1 (*.f64 f (PI.f64)))) (*.f64 1/12 (*.f64 f (PI.f64))))) (/.f64 -4 (PI.f64)))
2.8b
(*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (*.f64 (sqrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
3.3b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))) (*.f64 (cbrt.f64 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f)))) (/.f64 -4 (PI.f64))))
2.5b
(/.f64 1 (*.f64 (PI.f64) (/.f64 -1/4 (-.f64 (fma.f64 1/48 (*.f64 (*.f64 f f) (pow.f64 (PI.f64) 2)) (log.f64 (/.f64 4 (PI.f64)))) (fma.f64 7/23040 (*.f64 (pow.f64 f 4) (pow.f64 (PI.f64) 4)) (log.f64 f))))))
Compiler

Compiled 7182 to 5040 computations (29.8% saved)

regimes3.7s (18.7%)

Accuracy

Total 0.7b remaining (31.7%)

Threshold costs 0.7b (31.7%)

Counts
376 → 1
Compiler

Compiled 90300 to 68228 computations (24.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02250
12550
22550

end468.0ms (2.3%)

Compiler

Compiled 772 to 561 computations (27.3% saved)

Profiling

Loading profile data...