Details

Time bar (total: 19.0s)

analyze1.3s (6.8%)

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

Results
3.5s3961×body1024valid
3.4s4008×body1024invalid
1.3s2077×body512valid
1.2s2077×body512invalid
741.0ms502×body2048valid
522.0ms955×body256invalid
506.0ms1040×body256valid
187.0ms676×body128valid
2.0msbody2048invalid
0.0msbody128invalid
Compiler

Compiled 116 to 92 computations (20.7% saved)

simplify49.0ms (0.3%)

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

prune4.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)

localize13.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)))

series614.0ms (3.2%)

Counts
4 → 48
Calls

4 calls:

570.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)))))
32.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)

rewrite56.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
(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)))))
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))))
9.0ms
(-.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) 4) f)) (pow.f64 (exp.f64 -1/4) (*.f64 (PI.f64) f)))
5.0ms
(*.f64 (/.f64 (PI.f64) 4) f)

simplify380.0ms (2%)

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

prune362.0ms (1.9%)

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 (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)))
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)))
Compiler

Compiled 17802 to 11928 computations (33% saved)

localize17.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)))

series41.0ms (0.2%)

Counts
4 → 24
Calls

4 calls:

34.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)

rewrite25.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)))
6.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)

simplify91.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

prune286.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 (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 (*.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 (+.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.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))))))
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))
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)))
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)))

series35.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

35.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))

rewrite9.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:

7.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

prune260.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 (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 (*.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 (+.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.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))))))
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.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 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))))
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)))
Compiler

Compiled 6908 to 4680 computations (32.3% 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.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)))

series47.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

47.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))

rewrite7.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))

simplify68.0ms (0.4%)

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

prune326.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 (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 (*.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))))
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 (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.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))))))
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)))
Compiler

Compiled 7182 to 5040 computations (29.8% saved)

regimes3.0s (15.8%)

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)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-lft-neg-in_binary64
distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02962
14762
25462
36462
47162
57662
67862
77662

end463.0ms (2.4%)

Compiler

Compiled 786 to 577 computations (26.6% saved)

Profiling

Loading profile data...