Details

Time bar (total: 2.0s)

analyze6.0ms (0.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50.1%13
49.9%0%50.1%14
Compiler

Compiled 22 to 17 computations (22.7% saved)

sample1.3s (61.3%)

Results
1.1s8256×body128valid
0.0msbody128invalid
Compiler

Compiled 65 to 50 computations (23.1% saved)

simplify116.0ms (5.7%)

Algorithm
egg-herbie
Rules
1332×fma-def_binary64
889×associate-/r*_binary64
605×neg-sub0_binary64
599×neg-mul-1_binary64
576×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01731
14228
210226
326126
468426
5108824
6180124
7354124
8391424
9400224
10441624
11440924
12441524
13515924

prune5.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
1.0b
(/.f64 4 (*.f64 (*.f64 (*.f64 3 (PI.f64)) (-.f64 1 (*.f64 v v))) (sqrt.f64 (-.f64 2 (*.f64 6 (*.f64 v v))))))
0.0b
(/.f64 (/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1))) (sqrt.f64 (fma.f64 v (*.f64 v -6) 2)))
Compiler

Compiled 113 to 85 computations (24.8% saved)

localize10.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (PI.f64) (fma.f64 v v -1))
1.0b
(/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1)))

series10.0ms (0.5%)

Counts
2 → 24
Calls

2 calls:

6.0ms
(/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1)))
4.0ms
(*.f64 (PI.f64) (fma.f64 v v -1))

rewrite46.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
721×log1p-expm1-u_binary64
721×expm1-log1p-u_binary64
142×expm1-udef_binary64
142×log1p-udef_binary64
80×add-sqr-sqrt_binary64
Counts
2 → 42
Calls

2 calls:

45.0ms
(*.f64 (PI.f64) (fma.f64 v v -1))
45.0ms
(/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
116321
2188121
3490021

simplify53.0ms (2.6%)

Algorithm
egg-herbie
Rules
705×distribute-neg-frac_binary64
659×fma-def_binary64
564×associate-/r*_binary64
377×times-frac_binary64
288×fma-neg_binary64
Counts
66 → 63
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053470
1159449
2445429
31252415
44111415
55036415

prune84.0ms (4.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New62163
Fresh101
Picked011
Done000
Total63265
Error
0b
Counts
65 → 2
Alt Table
StatusErrorProgram
0.2b
(/.f64 (+.f64 (*.f64 4/3 (/.f64 (pow.f64 v 2) (PI.f64))) (+.f64 (*.f64 4/3 (/.f64 (pow.f64 v 4) (PI.f64))) (*.f64 4/3 (/.f64 1 (PI.f64))))) (sqrt.f64 (fma.f64 v (*.f64 v -6) 2)))
0.0b
(/.f64 (/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1))) (sqrt.f64 (fma.f64 v (*.f64 v -6) 2)))
Compiler

Compiled 1391 to 1003 computations (27.9% saved)

localize17.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 4/3 (/.f64 (pow.f64 v 4) (PI.f64)))
0.1b
(/.f64 (pow.f64 v 4) (PI.f64))
0.2b
(/.f64 (pow.f64 v 2) (PI.f64))
0.2b
(*.f64 4/3 (/.f64 (pow.f64 v 2) (PI.f64)))

series79.0ms (3.8%)

Counts
4 → 0
Calls

4 calls:

56.0ms
(/.f64 (pow.f64 v 4) (PI.f64))
8.0ms
(*.f64 4/3 (/.f64 (pow.f64 v 4) (PI.f64)))
8.0ms
(*.f64 4/3 (/.f64 (pow.f64 v 2) (PI.f64)))
7.0ms
(/.f64 (pow.f64 v 2) (PI.f64))

rewrite60.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
207×expm1-udef_binary64
207×log1p-udef_binary64
184×log-pow_binary64
122×egg-rr
Counts
4 → 122
Calls

4 calls:

58.0ms
(*.f64 4/3 (/.f64 (pow.f64 v 4) (PI.f64)))
58.0ms
(/.f64 (pow.f64 v 4) (PI.f64))
57.0ms
(/.f64 (pow.f64 v 2) (PI.f64))
57.0ms
(*.f64 4/3 (/.f64 (pow.f64 v 2) (PI.f64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01238
125738
2285738
3492138

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Counts
122 → 122
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune142.0ms (6.9%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1220122
Fresh000
Picked011
Done011
Total1222124
Error
0b
Counts
124 → 2
Alt Table
StatusErrorProgram
0.2b
(/.f64 (+.f64 (*.f64 4/3 (/.f64 (pow.f64 v 2) (PI.f64))) (+.f64 (*.f64 4/3 (/.f64 (pow.f64 v 4) (PI.f64))) (*.f64 4/3 (/.f64 1 (PI.f64))))) (sqrt.f64 (fma.f64 v (*.f64 v -6) 2)))
0.0b
(/.f64 (/.f64 -4/3 (*.f64 (PI.f64) (fma.f64 v v -1))) (sqrt.f64 (fma.f64 v (*.f64 v -6) 2)))
Compiler

Compiled 4147 to 2978 computations (28.2% saved)

regimes91.0ms (4.5%)

Accuracy

Total 0.0b remaining (29.8%)

Threshold costs 0.0b (29.8%)

Counts
27 → 1
Compiler

Compiled 2220 to 1738 computations (21.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01628
11728
21728

end64.0ms (3.1%)

Compiler

Compiled 85 to 67 computations (21.2% saved)

Profiling

Loading profile data...