Details

Time bar (total: 3.6s)

analyze27.0ms (0.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 30 to 22 computations (26.7% saved)

sample48.0ms (1.3%)

Algorithm
intervals
Results
11.0ms256×pre128true
7.0ms256×body128valid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify10.0ms (0.3%)

Algorithm
egg-herbie
Rules
49×distribute-rgt-in_binary64
46×distribute-lft-in_binary64
40×associate-+l+_binary64
32×associate-+r+_binary64
17×+-commutative_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11813
25213
311813
415713
514913
613613

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
3.8b
Counts
1 → 1
Alt Table
StatusErrorProgram
3.8b
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) 2)
Compiler

Compiled 26 to 18 computations (30.8% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.5b
(+.f64 b (+.f64 c d))
2.8b
(+.f64 a (+.f64 b (+.f64 c d)))

rewrite40.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
1.0b
Rules
16×add-log-exp_binary64 *-un-lft-identity_binary64
sum-log_binary64 distribute-lft-out_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64 flip3-+_binary64 flip-+_binary64 associate-+r+_binary64 +-commutative_binary64
Counts
2 → 32
Calls

2 calls:

8.0ms
(+.f64 a (+.f64 b (+.f64 c d)))
6.0ms
(+.f64 b (+.f64 c d))
Compiler

Compiled 442 to 155 computations (64.9% saved)

series67.0ms (1.8%)

Error
2.8b
Counts
2 → 42
Calls

2 calls:

33.0ms
(+.f64 a (+.f64 b (+.f64 c d)))
25.0ms
(+.f64 b (+.f64 c d))
Compiler

Compiled 824 to 572 computations (30.6% saved)

simplify72.0ms (2%)

Algorithm
egg-herbie
Rules
791×associate--l+_binary64
706×distribute-rgt-in_binary64
651×distribute-lft-in_binary64
390×associate-*l*_binary64
248×associate-+r+_binary64
Counts
74 → 40
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063666
1188645
2650645
33157645
44887645
54960645

prune31.0ms (0.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New33740
Fresh000
Picked101
Done000
Total34741
Error
2.1b
Counts
41 → 7
Alt Table
StatusErrorProgram
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))) (-.f64 a (+.f64 d (+.f64 b c)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3)) 2)
3.3b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 d (+.f64 b c)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (-.f64 (+.f64 d (+.f64 b c)) a)))) 2)
23.4b
(*.f64 (*.f64 (sqrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) (sqrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
3.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
2.8b
(*.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 2)
Compiler

Compiled 651 to 293 computations (55% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

2.8b
(+.f64 d (+.f64 (+.f64 b c) a))

rewrite21.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
10×add-log-exp_binary64 *-un-lft-identity_binary64
sum-log_binary64 distribute-lft-out_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64 flip3-+_binary64 flip-+_binary64 associate-+r+_binary64 +-commutative_binary64
Counts
1 → 17
Calls

1 calls:

8.0ms
(+.f64 d (+.f64 (+.f64 b c) a))
Compiler

Compiled 240 to 83 computations (65.4% saved)

series39.0ms (1.1%)

Error
2.1b
Counts
1 → 24
Calls

1 calls:

36.0ms
(+.f64 d (+.f64 (+.f64 b c) a))
Compiler

Compiled 465 to 326 computations (29.9% saved)

simplify59.0ms (1.6%)

Algorithm
egg-herbie
Rules
638×distribute-rgt-in_binary64
608×distribute-lft-in_binary64
456×associate--l+_binary64
444×distribute-neg-in_binary64
431×associate--r+_binary64
Counts
41 → 27
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045422
1121401
2483401
32631401
44567401
55023401

prune21.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New25227
Fresh156
Picked011
Done000
Total26834
Error
1.8b
Counts
34 → 8
Alt Table
StatusErrorProgram
3.2b
(*.f64 (/.f64 (+.f64 (pow.f64 d 3) (pow.f64 (+.f64 a (+.f64 b c)) 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (-.f64 (+.f64 a (+.f64 b c)) d)))) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (+.f64 a (+.f64 b c)))) (-.f64 d (+.f64 a (+.f64 b c)))) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))) (-.f64 a (+.f64 d (+.f64 b c)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3)) 2)
3.3b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 d (+.f64 b c)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (-.f64 (+.f64 d (+.f64 b c)) a)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
3.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
2.8b
(*.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 2)
Compiler

Compiled 572 to 262 computations (54.2% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.6b
(cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3))
2.8b
(+.f64 d (+.f64 (+.f64 b c) a))

rewrite57.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
32×*-un-lft-identity_binary64
18×distribute-lft-out_binary64 cbrt-prod_binary64
11×add-log-exp_binary64
sum-log_binary64 unpow-prod-down_binary64 cube-prod_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64
Counts
2 → 46
Calls

2 calls:

9.0ms
(cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3))
9.0ms
(+.f64 d (+.f64 (+.f64 b c) a))
Compiler

Compiled 764 to 307 computations (59.8% saved)

series83.0ms (2.3%)

Error
1.8b
Counts
2 → 48
Calls

2 calls:

41.0ms
(+.f64 d (+.f64 (+.f64 b c) a))
33.0ms
(cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3))
Compiler

Compiled 1061 to 775 computations (27% saved)

simplify96.0ms (2.7%)

Algorithm
egg-herbie
Rules
916×distribute-rgt-in_binary64
883×distribute-lft-in_binary64
442×associate-*l*_binary64
359×associate-*r*_binary64
50×distribute-neg-in_binary64
Counts
94 → 65
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0801100
11841051
27431051
348771051
449641051
549781051

prune38.0ms (1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New59665
Fresh156
Picked101
Done011
Total611273
Error
1.8b
Counts
73 → 12
Alt Table
StatusErrorProgram
3.2b
(*.f64 (/.f64 (+.f64 (pow.f64 d 3) (pow.f64 (+.f64 a (+.f64 b c)) 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (-.f64 (+.f64 a (+.f64 b c)) d)))) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (+.f64 a (+.f64 b c)))) (-.f64 d (+.f64 a (+.f64 b c)))) 2)
3.1b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d)) 6)) (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d))) 3)) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))) (-.f64 a (+.f64 d (+.f64 b c)))) 2)
3.4b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (+.f64 a (+.f64 b c)))) (-.f64 d (+.f64 a (+.f64 b c)))) 3)) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3)) 3)) 2)
3.3b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 d (+.f64 b c)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (-.f64 (+.f64 d (+.f64 b c)) a)))) 2)
3.2b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 d 3) (pow.f64 (+.f64 a (+.f64 b c)) 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (-.f64 (+.f64 a (+.f64 b c)) d)))) 3)) 2)
3.0b
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (exp.f64 (+.f64 (+.f64 a (+.f64 b c)) d))) 3)) 2)
3.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
2.8b
(*.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 2)
3.1b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d)) 6)) (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d))) 2)
Compiler

Compiled 1029 to 481 computations (53.3% saved)

localize11.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.6b
(cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3)) 3))
0.6b
(cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3))
2.8b
(+.f64 (+.f64 a (+.f64 b c)) d)

rewrite119.0ms (3.3%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
102×cbrt-prod_binary64
78×*-un-lft-identity_binary64
42×distribute-lft-out_binary64
39×unpow-prod-down_binary64 cube-prod_binary64
15×add-cube-cbrt_binary64 add-sqr-sqrt_binary64
Counts
3 → 105
Calls

3 calls:

16.0ms
(cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3)) 3))
10.0ms
(cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3))
9.0ms
(+.f64 (+.f64 a (+.f64 b c)) d)
Compiler

Compiled 1737 to 846 computations (51.3% saved)

series132.0ms (3.6%)

Error
1.8b
Counts
3 → 72
Calls

3 calls:

44.0ms
(+.f64 (+.f64 a (+.f64 b c)) d)
40.0ms
(cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3))
32.0ms
(cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 (+.f64 a (+.f64 b c)) d) 3)) 3))
Compiler

Compiled 1792 to 1359 computations (24.2% saved)

simplify144.0ms (4%)

Algorithm
egg-herbie
Rules
824×distribute-rgt-in_binary64
806×distribute-lft-in_binary64
454×associate-*l*_binary64
357×associate-*r*_binary64
111×fabs-mul_binary64 sub-neg_binary64
Counts
177 → 139
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01222503
12052342
27032324
347192324
448702324
549842324

prune41.0ms (1.1%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1354139
Fresh1910
Picked101
Done011
Total13714151
Error
1.7b
Counts
151 → 14
Alt Table
StatusErrorProgram
3.2b
(*.f64 (/.f64 (+.f64 (pow.f64 d 3) (pow.f64 (+.f64 a (+.f64 b c)) 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (-.f64 (+.f64 a (+.f64 b c)) d)))) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (+.f64 a (+.f64 b c)))) (-.f64 d (+.f64 a (+.f64 b c)))) 2)
3.4b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))) (-.f64 a (+.f64 d (+.f64 b c)))) 2)
3.4b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (+.f64 a (+.f64 b c)))) (-.f64 d (+.f64 a (+.f64 b c)))) 3)) 2)
3.3b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 d (+.f64 b c)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 d (+.f64 b c)) (-.f64 (+.f64 d (+.f64 b c)) a)))) 2)
3.4b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 (+.f64 (+.f64 b c) a) (+.f64 (+.f64 b c) a)) (*.f64 d d)) (-.f64 (+.f64 (+.f64 b c) a) d)) 3)) 3)) 2)
3.2b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 d 3) (pow.f64 (+.f64 a (+.f64 b c)) 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 a (+.f64 b c)) (-.f64 (+.f64 a (+.f64 b c)) d)))) 3)) 2)
3.0b
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (exp.f64 (+.f64 (+.f64 a (+.f64 b c)) d))) 3)) 2)
3.2b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (+.f64 b c) a) 3) (pow.f64 d 3)) (+.f64 (*.f64 d d) (*.f64 (+.f64 (+.f64 b c) a) (-.f64 (+.f64 (+.f64 b c) a) d)))) 3)) 3)) 2)
3.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 2)
2.8b
(*.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 2)
3.1b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a))) 6)) (cbrt.f64 (+.f64 d (+.f64 (+.f64 b c) a)))) 3)) 3)) 2)
3.0b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 d (+.f64 (+.f64 b c) a)) 3)) 3)) 3)) 2)
3.1b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d)) 6)) (cbrt.f64 (+.f64 (+.f64 a (+.f64 b c)) d))) 2)
Compiler

Compiled 1080 to 491 computations (54.5% saved)

regimes1.2s (33.9%)

Accuracy

Total -0.2b remaining (-12.8%)

Threshold costs -0.2b (-12.8%)

Compiler

Compiled 19943 to 12603 computations (36.8% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01523
11923
21923

end13.0ms (0.4%)

Remove

(sort a b c d)

Compiler

Compiled 54 to 42 computations (22.2% saved)

sample1.2s (33.2%)

Algorithm
intervals
Results
311.0ms8000×pre128true
227.0ms8000×body128valid
Compiler

Compiled 469 to 269 computations (42.6% saved)

Profiling

Loading profile data...