Details

Time bar (total: 6.5s)

analyze259.0ms (4%)

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%50%25.1%6
25%31.2%43.8%7
25%21.9%53.2%8
25%14%61%9
28.1%10.9%61%10
31.6%7.4%61%11
33.4%5.7%61%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample42.0ms (0.6%)

Algorithm
intervals
Results
28.0ms256×body128valid
Compiler

Compiled 41 to 27 computations (34.1% saved)

simplify51.0ms (0.8%)

Algorithm
egg-herbie
Rules
785×distribute-rgt-neg-in_binary64
770×unswap-sqr_binary64
631×associate-*l*_binary64
289×sub-neg_binary64
232×associate-+l+_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01325
12925
25025
313825
437425
5111725
6283925
7514025

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 57 to 36 computations (36.8% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 4 (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

rewrite178.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
10×add-exp-log_binary64
10×pow1_binary64
add-cbrt-cube_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
Counts
4 → 59
Calls

4 calls:

13.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
9.0ms
(*.f64 4 (*.f64 b b))
7.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
6.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
Compiler

Compiled 1430 to 623 computations (56.4% saved)

series283.0ms (4.4%)

Error
0.0b
Counts
4 → 51
Calls

4 calls:

124.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
74.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
40.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
11.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 1724 to 1354 computations (21.5% saved)

simplify222.0ms (3.4%)

Algorithm
egg-herbie
Rules
685×associate-*l*_binary64
585×associate-*r*_binary64
408×distribute-rgt-neg-in_binary64
301×exp-prod_binary64
242×distribute-rgt-in_binary64
Counts
110 → 73
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01131770
12991632
28581626
335681626
447051626
549561626
648811626

prune75.0ms (1.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New70373
Fresh000
Picked011
Done000
Total70474
Error
0b
Counts
74 → 4
Alt Table
StatusErrorProgram
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 3)) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)) (*.f64 4 (*.f64 b b))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 950 to 484 computations (49.1% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 4 (*.f64 b b))
0.0b
(+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4))
0.0b
(+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b)))
2.1b
(*.f64 (*.f64 a a) (*.f64 b b))

rewrite238.0ms (3.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
37×pow1_binary64
21×add-cbrt-cube_binary64
21×add-exp-log_binary64
18×add-log-exp_binary64
17×pow-prod-down_binary64
Counts
4 → 76
Calls

4 calls:

24.0ms
(+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b)))
15.0ms
(+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4))
15.0ms
(*.f64 (*.f64 a a) (*.f64 b b))
9.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 2330 to 1238 computations (46.9% saved)

series336.0ms (5.2%)

Error
0b
Counts
4 → 45
Calls

4 calls:

146.0ms
(+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4))
122.0ms
(+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b)))
33.0ms
(*.f64 (*.f64 a a) (*.f64 b b))
14.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 1768 to 1384 computations (21.7% saved)

simplify136.0ms (2.1%)

Algorithm
egg-herbie
Rules
787×distribute-rgt-in_binary64
759×distribute-lft-in_binary64
312×associate-+l+_binary64
162×associate-*l*_binary64
161×cancel-sign-sub-inv_binary64
Counts
121 → 84
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01272453
13252196
212322090
349772090

prune114.0ms (1.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New83184
Fresh112
Picked011
Done011
Total84488
Error
0b
Counts
88 → 4
Alt Table
StatusErrorProgram
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)) 1)
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)) (*.f64 4 (*.f64 b b))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 1477 to 856 computations (42% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.4b
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)
0.6b
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4)
10.6b
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))
10.6b
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))

rewrite180.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
12×unpow-prod-down_binary64
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
12×cbrt-prod_binary64
12×add-cube-cbrt_binary64
Counts
4 → 69
Calls

4 calls:

9.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)
9.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4)
7.0ms
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))
6.0ms
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 2534 to 860 computations (66.1% saved)

series478.0ms (7.4%)

Error
0b
Counts
4 → 51
Calls

4 calls:

177.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4)
102.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)
80.0ms
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))
79.0ms
(cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 3686 to 2704 computations (26.6% saved)

simplify248.0ms (3.9%)

Algorithm
egg-herbie
Rules
457×associate-*l*_binary64
419×associate-*r*_binary64
297×distribute-rgt-in_binary64
271×log-prod_binary64
262×distribute-lft-in_binary64
Counts
120 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01292194
12982130
27152127
323102122
444552122
549732122
649942122

prune127.0ms (2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1090109
Fresh011
Picked011
Done022
Total1094113
Error
0b
Counts
113 → 4
Alt Table
StatusErrorProgram
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)) 1)
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)) (*.f64 4 (*.f64 b b))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 2083 to 868 computations (58.3% saved)

localize33.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))
0.2b
(pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)
1.3b
(*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4))
30.7b
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3))

rewrite319.0ms (4.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
19×*-un-lft-identity_binary64
14×cbrt-prod_binary64
12×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
10×add-cbrt-cube_binary64
Counts
4 → 88
Calls

4 calls:

29.0ms
(pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)
26.0ms
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3))
25.0ms
(+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))
24.0ms
(*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4))
Compiler

Compiled 3038 to 1999 computations (34.2% saved)

series534.0ms (8.3%)

Error
0b
Counts
4 → 63
Calls

4 calls:

181.0ms
(pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)
120.0ms
(cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3))
91.0ms
(+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))
59.0ms
(*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4))
Compiler

Compiled 3383 to 2783 computations (17.7% saved)

simplify291.0ms (4.5%)

Algorithm
egg-herbie
Rules
462×unswap-sqr_binary64
288×associate-+r+_binary64
280×cancel-sign-sub-inv_binary64
269×associate-*r*_binary64
266×exp-prod_binary64
Counts
151 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02585313
17254914
229594886
346714886
449704886

prune192.0ms (3%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1250125
Fresh000
Picked011
Done033
Total1254129
Error
0b
Counts
129 → 4
Alt Table
StatusErrorProgram
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 2 (*.f64 a a)) 4)) (pow.f64 b 4))) 3)) 1)
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 a a) (*.f64 b b))) 2)) (*.f64 4 (*.f64 b b))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))) (pow.f64 a 4)) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 2549 to 1766 computations (30.7% saved)

regimes1.1s (16.4%)

Accuracy

Total 0.0b remaining (46.9%)

Threshold costs 0.0b (46.9%)

Compiler

Compiled 11961 to 8145 computations (31.9% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01631
12631
22731
32531

end1.0ms (0%)

Compiler

Compiled 23 to 17 computations (26.1% saved)

sample961.0ms (14.9%)

Algorithm
intervals
Results
592.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 148 to 98 computations (33.8% saved)

Profiling

Loading profile data...