Details

Time bar (total: 5.7s)

analyze76.0ms (1.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
50%50%0.1%6
62.4%31.2%6.3%7
71.8%21.9%6.3%8
76.5%14%9.5%9
80.4%10.1%9.5%10
82.3%6.6%11%11
84.1%4.9%11%12
85%3.2%11.8%13
85.8%2.4%11.8%14
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample785.0ms (13.7%)

Results
749.0ms8256×body128valid
6.0ms66×body128invalid
Compiler

Compiled 35 to 29 computations (17.1% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
18×fma-def_binary64
13×distribute-lft-in_binary64
13×distribute-rgt-in_binary64
10×*-commutative_binary64
associate-*l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01110
11810
2328
3568
4688
5748
6668

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (fma.f64 x 3 -12/29) y)
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
Compiler

Compiled 55 to 43 computations (21.8% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 x (/.f64 16 116)) 3)
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)

series7.0ms (0.1%)

Counts
2 → 36
Calls

2 calls:

5.0ms
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
2.0ms
(*.f64 (-.f64 x (/.f64 16 116)) 3)

rewrite17.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*l*_binary64
Counts
2 → 47
Calls

2 calls:

8.0ms
(*.f64 (-.f64 x (/.f64 16 116)) 3)
7.0ms
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)

simplify102.0ms (1.8%)

Algorithm
egg-herbie
Rules
888×fma-def_binary64
495×associate-*r*_binary64
206×sqr-pow_binary64
195×distribute-rgt-in_binary64
194×distribute-lft-in_binary64
Counts
83 → 85
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
099921
1206672
2611666
31677666
42385666
53622666
64778666
74997666
84869666

prune71.0ms (1.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New77885
Fresh101
Picked011
Done000
Total78987
Error
0b
Counts
87 → 9
Alt Table
StatusErrorProgram
30.9b
(*.f64 (*.f64 (+.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 16) (sqrt.f64 116))) (fma.f64 3 (sqrt.f64 x) (/.f64 -12 (sqrt.f64 116)))) y)
34.3b
(*.f64 (*.f64 (fma.f64 3 x -12/29) (sqrt.f64 y)) (sqrt.f64 y))
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
18.3b
(/.f64 (*.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 (/.f64 16 116) 3)) 3) y) (+.f64 (*.f64 x x) (+.f64 (*.f64 (/.f64 16 116) (/.f64 16 116)) (*.f64 x (/.f64 16 116)))))
17.0b
(*.f64 (/.f64 (fma.f64 3 (pow.f64 x 3) -192/24389) (+.f64 (*.f64 x x) (+.f64 (*.f64 (/.f64 16 116) (/.f64 16 116)) (*.f64 x (/.f64 16 116))))) y)
0.3b
(*.f64 (-.f64 x (/.f64 16 116)) (*.f64 3 y))
13.4b
(/.f64 (*.f64 y (*.f64 3 (fma.f64 x x -16/841))) (+.f64 x (/.f64 16 116)))
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
29.6b
(*.f64 (sqrt.f64 (*.f64 y (fma.f64 3 x -12/29))) (sqrt.f64 (*.f64 y (fma.f64 3 x -12/29))))
Compiler

Compiled 1505 to 1177 computations (21.8% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (-.f64 x 4/29))
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))

series10.0ms (0.2%)

Counts
2 → 28
Calls

2 calls:

6.0ms
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
4.0ms
(*.f64 y (-.f64 x 4/29))

rewrite23.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
65×distribute-lft-in_binary64
65×distribute-rgt-in_binary64
54×prod-diff_binary64
51×add-sqr-sqrt_binary64
49×*-un-lft-identity_binary64
Counts
2 → 124
Calls

2 calls:

8.0ms
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
5.0ms
(*.f64 y (-.f64 x 4/29))

simplify102.0ms (1.8%)

Algorithm
egg-herbie
Rules
738×fma-def_binary64
474×*-commutative_binary64
412×unsub-neg_binary64
391×neg-mul-1_binary64
389×neg-sub0_binary64
Counts
152 → 166
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02131710
12931349
27211349
317301347
431941347
549891347
649001347

prune148.0ms (2.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1633166
Fresh437
Picked011
Done011
Total1678175
Error
0b
Counts
175 → 8
Alt Table
StatusErrorProgram
30.9b
(*.f64 (*.f64 (+.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 16) (sqrt.f64 116))) (fma.f64 3 (sqrt.f64 x) (/.f64 -12 (sqrt.f64 116)))) y)
34.3b
(*.f64 (*.f64 (fma.f64 3 x -12/29) (sqrt.f64 y)) (sqrt.f64 y))
0.5b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29))))
18.1b
(/.f64 (*.f64 3 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 4/29 3)))) (+.f64 (*.f64 x x) (+.f64 (*.f64 4/29 4/29) (*.f64 x 4/29))))
18.1b
(*.f64 3 (/.f64 (*.f64 y (-.f64 (pow.f64 x 3) 64/24389)) (+.f64 (*.f64 x x) (+.f64 (*.f64 4/29 4/29) (*.f64 x 4/29)))))
13.4b
(/.f64 (*.f64 y (*.f64 3 (fma.f64 x x -16/841))) (+.f64 x (/.f64 16 116)))
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
Compiler

Compiled 3348 to 2589 computations (22.7% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (-.f64 x 4/29))
0.3b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29))))
0.4b
(*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29)))

series42.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

28.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29))))
14.0ms
(*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29)))

rewrite50.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
208×distribute-lft-in_binary64
208×distribute-rgt-in_binary64
108×prod-diff_binary64
88×*-un-lft-identity_binary64
88×add-sqr-sqrt_binary64
Counts
2 → 213
Calls

2 calls:

13.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29))))
10.0ms
(*.f64 (cbrt.f64 3) (*.f64 y (-.f64 x 4/29)))

simplify138.0ms (2.4%)

Algorithm
egg-herbie
Rules
805×fma-def_binary64
698×*-commutative_binary64
673×distribute-rgt-neg-out_binary64
425×associate-*l*_binary64
422×associate-*r*_binary64
Counts
261 → 251
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03674314
14312873
210922873
330942871
458022871

prune307.0ms (5.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3222324
Fresh325
Picked101
Done022
Total3266332
Error
0b
Counts
332 → 6
Alt Table
StatusErrorProgram
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
0.4b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
18.1b
(*.f64 3 (/.f64 (*.f64 y (-.f64 (pow.f64 x 3) 64/24389)) (+.f64 (*.f64 x x) (+.f64 (*.f64 4/29 4/29) (*.f64 x 4/29)))))
13.4b
(/.f64 (*.f64 y (*.f64 3 (fma.f64 x x -16/841))) (+.f64 x (/.f64 16 116)))
0.5b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (cbrt.f64 (cbrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
Compiler

Compiled 9758 to 8295 computations (15% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (-.f64 x 4/29))
0.2b
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29))))
0.3b
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))
0.3b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))

series949.0ms (16.5%)

Counts
3 → 72
Calls

3 calls:

393.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
331.0ms
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29))))
224.0ms
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))

rewrite132.0ms (2.3%)

Algorithm
rewrite-expression-head
Rules
624×distribute-lft-in_binary64
624×distribute-rgt-in_binary64
252×prod-diff_binary64
205×*-un-lft-identity_binary64
205×add-sqr-sqrt_binary64
Counts
3 → 461
Calls

3 calls:

23.0ms
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
17.0ms
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29))))
8.0ms
(*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))

simplify356.0ms (6.2%)

Algorithm
egg-herbie
Rules
869×associate-*r*_binary64
835×associate-*l*_binary64
638×*-commutative_binary64
482×distribute-rgt-in_binary64
450×distribute-lft-in_binary64
Counts
533 → 529
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
067922702
162313466
2195310844
3492810844

prune1.1s (18.6%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New6011602
Fresh123
Picked011
Done022
Total6026608
Error
0b
Counts
608 → 6
Alt Table
StatusErrorProgram
0.3b
(*.f64 3 (*.f64 y (-.f64 x 4/29)))
0.4b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
0.4b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (sqrt.f64 3)) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 3)) y) (-.f64 x 4/29))))
13.4b
(/.f64 (*.f64 y (*.f64 3 (fma.f64 x x -16/841))) (+.f64 x (/.f64 16 116)))
0.5b
(*.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (cbrt.f64 (cbrt.f64 3)) (*.f64 y (-.f64 x 4/29)))))
0.2b
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y)
Compiler

Compiled 23722 to 20962 computations (11.6% saved)

regimes1.2s (21.3%)

Accuracy

Total 0.2b remaining (89%)

Threshold costs 0.2b (89%)

Counts
199 → 1
Compiler

Compiled 18028 to 15262 computations (15.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11313
21313

end95.0ms (1.7%)

Compiler

Compiled 124 to 104 computations (16.1% saved)

Profiling

Loading profile data...