Details

Time bar (total: 5.6s)

analyze117.0ms (2.1%)

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
25%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 30 to 20 computations (33.3% saved)

sample26.0ms (0.5%)

Algorithm
intervals
Results
15.0ms256×body128valid
Compiler

Compiled 59 to 41 computations (30.5% saved)

simplify165.0ms (3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (70.0ms)

IterNodesCost
0491543
1491543

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 0.2b

Counts
2 → 1
Compiler

Compiled 58 to 38 computations (34.5% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a)))))
0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.2b
(*.f64 (*.f64 b b) (+.f64 3 a))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

rewrite44.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64_1805 add-exp-log_binary64_1821 *-un-lft-identity_binary64_1783 pow1_binary64_1844
14×add-cbrt-cube_binary64_1819
10×add-cube-cbrt_binary64_1818 associate-*r*_binary64_1723
distribute-lft-in_binary64_1732 cbrt-unprod_binary64_1816 prod-exp_binary64_1832 cancel-sign-sub-inv_binary64_1749 distribute-rgt-in_binary64_1733 pow-prod-down_binary64_1854 add-log-exp_binary64_1822
associate-*r/_binary64_1725
pow-unpow_binary64_1860 unpow-prod-down_binary64_1862
associate-+r+_binary64_1715 difference-of-squares_binary64_1752 flip-+_binary64_1757 associate-*l*_binary64_1724 *-commutative_binary64_1714 flip3-+_binary64_1786 unswap-sqr_binary64_1751 sub-neg_binary64_1776
flip3--_binary64_1787 +-commutative_binary64_1713 sqr-pow_binary64_1755 distribute-lft-out_binary64_1734 unpow2_binary64_1848 distribute-lft-out--_binary64_1735 sum-log_binary64_1874 pow-pow_binary64_1855 flip--_binary64_1758 pow-to-exp_binary64_1852 pow-exp_binary64_1851
Counts
4 → 87
Calls

4 calls:

10.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
9.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a)))))
8.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
7.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series161.0ms (2.9%)

Counts
4 → 12
Calls

4 calls:

79.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a)))))
31.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
28.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
23.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

simplify56.0ms (1%)

Algorithm
egg-herbie
Counts
99 → 99
Iterations

Useful iterations: 0 (35.0ms)

IterNodesCost
052391789

prune148.0ms (2.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New96399
Fresh000
Picked101
Done000
Total973100

Merged error: 0.0b

Counts
100 → 3
Compiler

Compiled 3517 to 1797 computations (48.9% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.1b
(*.f64 a (*.f64 b b))
0.2b
(*.f64 (*.f64 b b) (+.f64 3 a))
1.0b
(*.f64 a (*.f64 a (*.f64 b b)))

rewrite44.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
28×add-cbrt-cube_binary64_1819 add-exp-log_binary64_1821 pow1_binary64_1844
16×add-sqr-sqrt_binary64_1805
15×cbrt-unprod_binary64_1816 prod-exp_binary64_1832 *-un-lft-identity_binary64_1783 pow-prod-down_binary64_1854
12×associate-*r*_binary64_1723
10×add-cube-cbrt_binary64_1818
associate-*l*_binary64_1724
cancel-sign-sub-inv_binary64_1749
distribute-lft-in_binary64_1732 distribute-rgt-in_binary64_1733
associate-*r/_binary64_1725 *-commutative_binary64_1714 add-log-exp_binary64_1822
unswap-sqr_binary64_1751
difference-of-squares_binary64_1752 sub-neg_binary64_1776
flip3--_binary64_1787 distribute-lft-out_binary64_1734 flip-+_binary64_1757 distribute-lft-out--_binary64_1735 flip3-+_binary64_1786 flip--_binary64_1758
Counts
4 → 96
Calls

4 calls:

10.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
8.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
8.0ms
(*.f64 a (*.f64 a (*.f64 b b)))
6.0ms
(*.f64 a (*.f64 b b))

series107.0ms (1.9%)

Counts
4 → 12
Calls

4 calls:

32.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
29.0ms
(*.f64 a (*.f64 a (*.f64 b b)))
23.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
23.0ms
(*.f64 a (*.f64 b b))

simplify88.0ms (1.6%)

Algorithm
egg-herbie
Counts
108 → 108
Iterations

Useful iterations: 0 (70.0ms)

IterNodesCost
049291111
149291111

prune186.0ms (3.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1080108
Fresh022
Picked011
Done000
Total1083111

Merged error: 0.0b

Counts
111 → 3
Compiler

Compiled 4422 to 2497 computations (43.5% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (*.f64 b b) (+.f64 a 3))
0.3b
(pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3)
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
30.0b
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3))

rewrite46.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity_binary64_1783
14×add-sqr-sqrt_binary64_1805
13×add-cube-cbrt_binary64_1818
12×cbrt-prod_binary64_1814
11×add-exp-log_binary64_1821 pow1_binary64_1844
10×add-cbrt-cube_binary64_1819
unpow-prod-down_binary64_1862
pow-unpow_binary64_1860 cube-prod_binary64_1811
cube-div_binary64_1812 add-log-exp_binary64_1822 associate-*r*_binary64_1723
sqr-pow_binary64_1755 cbrt-unprod_binary64_1816 prod-exp_binary64_1832 flip-+_binary64_1757 flip3-+_binary64_1786 pow-prod-down_binary64_1854
associate-*r/_binary64_1725 cube-mult_binary64_1813 unpow3_binary64_1849 cbrt-div_binary64_1815 pow-pow_binary64_1855 pow-to-exp_binary64_1852 pow-exp_binary64_1851
rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 distribute-lft-in_binary64_1732 distribute-lft-out_binary64_1734 unpow2_binary64_1848 associate-*l*_binary64_1724 *-commutative_binary64_1714 distribute-rgt-in_binary64_1733 pow1/3_binary64_1865 unswap-sqr_binary64_1751
Counts
4 → 90
Calls

4 calls:

11.0ms
(pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3)
9.0ms
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3))
9.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series753.0ms (13.5%)

Counts
4 → 12
Calls

4 calls:

626.0ms
(pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3)
78.0ms
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))) 3))
26.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
22.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))

simplify98.0ms (1.8%)

Algorithm
egg-herbie
Counts
102 → 102
Iterations

Useful iterations: 0 (61.0ms)

IterNodesCost
049863655
149863655

prune182.0ms (3.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1020102
Fresh011
Picked011
Done011
Total1023105

Merged error: 0.0b

Counts
105 → 3
Compiler

Compiled 4359 to 2320 computations (46.8% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
3.4b
(-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16)))
31.3b
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))

rewrite110.0ms (2%)

Algorithm
rewrite-expression-head
Rules
62×associate-*r/_binary64_1725
56×frac-add_binary64_1791
48×associate-*l/_binary64_1726
42×flip-+_binary64_1757 flip3-+_binary64_1786
36×frac-times_binary64_1793
31×flip3--_binary64_1787 flip--_binary64_1758
15×add-sqr-sqrt_binary64_1805 add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
12×add-exp-log_binary64_1821
11×add-cbrt-cube_binary64_1819
10×pow1_binary64_1844
times-frac_binary64_1789
add-log-exp_binary64_1822
associate-/l*_binary64_1728 cbrt-unprod_binary64_1816 prod-exp_binary64_1832 pow-unpow_binary64_1860 unpow-prod-down_binary64_1862 associate-/r*_binary64_1727 associate-*l*_binary64_1724 pow-prod-down_binary64_1854
associate-/l/_binary64_1730 associate-/r/_binary64_1729
div-sub_binary64_1788 sqr-pow_binary64_1755 unpow2_binary64_1848 div-inv_binary64_1780 cancel-sign-sub-inv_binary64_1749 diff-log_binary64_1875 cbrt-undiv_binary64_1817 *-commutative_binary64_1714 frac-2neg_binary64_1794 div-exp_binary64_1834 pow-pow_binary64_1855 clear-num_binary64_1782 pow-to-exp_binary64_1852 sub-neg_binary64_1776 pow-exp_binary64_1851 associate-*r*_binary64_1723
Counts
4 → 128
Calls

4 calls:

35.0ms
(*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))
16.0ms
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))
9.0ms
(-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16)))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series799.0ms (14.3%)

Counts
4 → 12
Calls

4 calls:

359.0ms
(-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16)))
318.0ms
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 4) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))))))
93.0ms
(*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) (*.f64 (+.f64 (*.f64 (*.f64 b b) (+.f64 a 3)) (-.f64 (*.f64 a a) (pow.f64 a 3))) 16))
29.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

simplify140.0ms (2.5%)

Algorithm
egg-herbie
Counts
140 → 140
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
0500013790

prune758.0ms (13.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1391140
Fresh000
Picked101
Done022
Total1403143

Merged error: 0b

Counts
143 → 3
Compiler

Compiled 15244 to 7989 computations (47.6% saved)

regimes269.0ms (4.8%)

Compiler

Compiled 5028 to 2969 computations (41% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
05755
15755

end0.0ms (0%)

sample1.2s (21.3%)

Algorithm
intervals
Results
485.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 899 to 539 computations (40% saved)

Profiling

Loading profile data...