Details

Time bar (total: 2.5s)

analyze30.0ms (1.2%)

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

Compiled 30 to 22 computations (26.7% saved)

sample107.0ms (4.3%)

Algorithm
intervals
Results
73.0ms256×pre128true
9.0ms256×body128valid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify11.0ms (0.4%)

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

prune1.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)

localize8.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

rewrite31.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
1.1b
Rules
16×*-un-lft-identity_binary64
16×add-log-exp_binary64
distribute-lft-out_binary64
sum-log_binary64
+-commutative_binary64
Counts
2 → 32
Calls

2 calls:

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

Compiled 442 to 155 computations (64.9% saved)

series45.0ms (1.8%)

Error
2.1b
Counts
2 → 42
Calls

2 calls:

23.0ms
(+.f64 a (+.f64 b (+.f64 c d)))
16.0ms
(+.f64 b (+.f64 c d))
Compiler

Compiled 824 to 572 computations (30.6% saved)

simplify72.0ms (2.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
063666
1188645
2652645
33188645
44920645
54896645

prune26.0ms (1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New31940
Fresh000
Picked101
Done000
Total32941
Error
1.5b
Counts
41 → 9
Alt Table
StatusErrorProgram
2.7b
(*.f64 (+.f64 c (+.f64 (+.f64 d b) a)) 2)
2.8b
(*.f64 (+.f64 a (+.f64 (+.f64 c b) d)) 2)
3.6b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (+.f64 c (+.f64 d b)))) (-.f64 a (+.f64 c (+.f64 d b)))) 2)
3.7b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 c (+.f64 d b)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (-.f64 (+.f64 c (+.f64 d b)) a)))) 2)
20.3b
(*.f64 (*.f64 (sqrt.f64 (+.f64 c (+.f64 (+.f64 d b) a))) (sqrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
3.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 c (+.f64 (+.f64 d b) a)) 3)) 2)
20.2b
(*.f64 (exp.f64 (log.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
Compiler

Compiled 695 to 330 computations (52.5% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 c (+.f64 (+.f64 d b) a))
0.9b
(+.f64 (+.f64 d b) a)

rewrite26.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×*-un-lft-identity_binary64
16×add-log-exp_binary64
distribute-lft-out_binary64
sum-log_binary64
+-commutative_binary64
Counts
2 → 32
Calls

2 calls:

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

Compiled 442 to 155 computations (64.9% saved)

series80.0ms (3.2%)

Error
1.5b
Counts
2 → 42
Calls

2 calls:

61.0ms
(+.f64 c (+.f64 (+.f64 d b) a))
16.0ms
(+.f64 (+.f64 d b) a)
Compiler

Compiled 801 to 563 computations (29.7% saved)

simplify69.0ms (2.7%)

Algorithm
egg-herbie
Rules
723×distribute-rgt-in_binary64
681×distribute-lft-in_binary64
548×associate--l+_binary64
546×sub-neg_binary64
446×associate-*l*_binary64
Counts
74 → 52
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
061672
1176651
2625648
33120648
44566648
55138648

prune28.0ms (1.1%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New45752
Fresh268
Picked101
Done000
Total481361
Error
0.7b
Counts
61 → 13
Alt Table
StatusErrorProgram
2.8b
(*.f64 (+.f64 a (+.f64 (+.f64 c b) d)) 2)
3.0b
(*.f64 (+.f64 c (cbrt.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3))) 2)
3.6b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (+.f64 c (+.f64 d b)))) (-.f64 a (+.f64 c (+.f64 d b)))) 2)
3.1b
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (-.f64 (+.f64 a (+.f64 b d)) c)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.8b
(*.f64 (+.f64 c (/.f64 (-.f64 (*.f64 (+.f64 b d) (+.f64 b d)) (*.f64 a a)) (-.f64 (+.f64 b d) a))) 2)
3.0b
(*.f64 (+.f64 c (/.f64 (+.f64 (pow.f64 (+.f64 b d) 3) (pow.f64 a 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 b d) (-.f64 (+.f64 b d) a))))) 2)
4.1b
(*.f64 (+.f64 c (*.f64 (*.f64 (cbrt.f64 (+.f64 a (+.f64 b d))) (cbrt.f64 (+.f64 a (+.f64 b d)))) (cbrt.f64 (+.f64 a (+.f64 b d))))) 2)
3.2b
(*.f64 (/.f64 (-.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (+.f64 a (+.f64 b d)))) (-.f64 c (+.f64 a (+.f64 b d)))) 2)
3.7b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 c (+.f64 d b)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (-.f64 (+.f64 c (+.f64 d b)) a)))) 2)
3.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 c (+.f64 (+.f64 d b) a)) 3)) 2)
2.7b
(*.f64 (+.f64 c (*.f64 1 (+.f64 a (+.f64 b d)))) 2)
Compiler

Compiled 995 to 474 computations (52.4% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 c (*.f64 1 (+.f64 a (+.f64 b d))))
0.9b
(+.f64 a (+.f64 b d))

rewrite23.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64
*-un-lft-identity_binary64
distribute-lft-out_binary64
sum-log_binary64
associate-+r+_binary64
Counts
2 → 29
Calls

2 calls:

5.0ms
(+.f64 a (+.f64 b d))
2.0ms
(+.f64 c (*.f64 1 (+.f64 a (+.f64 b d))))
Compiler

Compiled 511 to 249 computations (51.3% saved)

series50.0ms (2%)

Error
0.7b
Counts
2 → 42
Calls

2 calls:

24.0ms
(+.f64 c (*.f64 1 (+.f64 a (+.f64 b d))))
22.0ms
(+.f64 a (+.f64 b d))
Compiler

Compiled 899 to 643 computations (28.5% saved)

simplify114.0ms (4.5%)

Algorithm
egg-herbie
Rules
520×associate--l+_binary64
512×+-commutative_binary64
402×associate--r+_binary64
231×associate-+l+_binary64
230×associate-+r+_binary64
Counts
71 → 50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068626
1197605
2723605
31931605
44557605
54897605
64939605
74948605
84956605

prune27.0ms (1.1%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New50050
Fresh01212
Picked011
Done000
Total501363
Error
0.7b
Counts
63 → 13
Alt Table
StatusErrorProgram
2.8b
(*.f64 (+.f64 a (+.f64 (+.f64 c b) d)) 2)
3.0b
(*.f64 (+.f64 c (cbrt.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3))) 2)
3.6b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (+.f64 c (+.f64 d b)))) (-.f64 a (+.f64 c (+.f64 d b)))) 2)
3.1b
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (-.f64 (+.f64 a (+.f64 b d)) c)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.8b
(*.f64 (+.f64 c (/.f64 (-.f64 (*.f64 (+.f64 b d) (+.f64 b d)) (*.f64 a a)) (-.f64 (+.f64 b d) a))) 2)
3.0b
(*.f64 (+.f64 c (/.f64 (+.f64 (pow.f64 (+.f64 b d) 3) (pow.f64 a 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 b d) (-.f64 (+.f64 b d) a))))) 2)
4.1b
(*.f64 (+.f64 c (*.f64 (*.f64 (cbrt.f64 (+.f64 a (+.f64 b d))) (cbrt.f64 (+.f64 a (+.f64 b d)))) (cbrt.f64 (+.f64 a (+.f64 b d))))) 2)
3.2b
(*.f64 (/.f64 (-.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (+.f64 a (+.f64 b d)))) (-.f64 c (+.f64 a (+.f64 b d)))) 2)
3.7b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 c (+.f64 d b)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (-.f64 (+.f64 c (+.f64 d b)) a)))) 2)
3.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 c (+.f64 (+.f64 d b) a)) 3)) 2)
2.7b
(*.f64 (+.f64 c (*.f64 1 (+.f64 a (+.f64 b d)))) 2)
Compiler

Compiled 1024 to 500 computations (51.2% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

rewrite16.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
10×*-un-lft-identity_binary64
10×add-log-exp_binary64
distribute-lft-out_binary64
sum-log_binary64
+-commutative_binary64
Counts
1 → 17
Calls

1 calls:

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

Compiled 240 to 83 computations (65.4% saved)

series26.0ms (1%)

Error
0.7b
Counts
1 → 24
Calls

1 calls:

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

Compiled 465 to 326 computations (29.9% saved)

simplify59.0ms (2.3%)

Algorithm
egg-herbie
Rules
628×distribute-rgt-in_binary64
602×distribute-lft-in_binary64
595×associate--l+_binary64
535×associate--r+_binary64
484×distribute-neg-in_binary64
Counts
41 → 29
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047422
1130401
2489401
32673401
44685401
55147401

prune13.0ms (0.5%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New29029
Fresh01111
Picked011
Done011
Total291342
Error
0.7b
Counts
42 → 13
Alt Table
StatusErrorProgram
2.8b
(*.f64 (+.f64 a (+.f64 (+.f64 c b) d)) 2)
3.0b
(*.f64 (+.f64 c (cbrt.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3))) 2)
3.6b
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (+.f64 c (+.f64 d b)))) (-.f64 a (+.f64 c (+.f64 d b)))) 2)
3.1b
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 a (+.f64 b d)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (-.f64 (+.f64 a (+.f64 b d)) c)))) 2)
3.0b
(*.f64 (log.f64 (exp.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.8b
(*.f64 (+.f64 c (/.f64 (-.f64 (*.f64 (+.f64 b d) (+.f64 b d)) (*.f64 a a)) (-.f64 (+.f64 b d) a))) 2)
3.0b
(*.f64 (+.f64 c (/.f64 (+.f64 (pow.f64 (+.f64 b d) 3) (pow.f64 a 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 b d) (-.f64 (+.f64 b d) a))))) 2)
4.1b
(*.f64 (+.f64 c (*.f64 (*.f64 (cbrt.f64 (+.f64 a (+.f64 b d))) (cbrt.f64 (+.f64 a (+.f64 b d)))) (cbrt.f64 (+.f64 a (+.f64 b d))))) 2)
3.2b
(*.f64 (/.f64 (-.f64 (*.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) (+.f64 a (+.f64 b d)))) (-.f64 c (+.f64 a (+.f64 b d)))) 2)
3.7b
(*.f64 (/.f64 (+.f64 (pow.f64 a 3) (pow.f64 (+.f64 c (+.f64 d b)) 3)) (+.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 d b)) (-.f64 (+.f64 c (+.f64 d b)) a)))) 2)
3.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) (cbrt.f64 (+.f64 c (+.f64 (+.f64 d b) a)))) 2)
2.9b
(*.f64 (cbrt.f64 (pow.f64 (+.f64 c (+.f64 (+.f64 d b) a)) 3)) 2)
2.7b
(*.f64 (+.f64 c (*.f64 1 (+.f64 a (+.f64 b d)))) 2)
Compiler

Compiled 510 to 239 computations (53.1% saved)

regimes523.0ms (20.8%)

Accuracy

Total -0.7b remaining (-507.4%)

Threshold costs -0.7b (-507.4%)

Compiler

Compiled 9281 to 5549 computations (40.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
*-lft-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01621
12321
22221

end14.0ms (0.6%)

Remove

(sort a b c d)

Compiler

Compiled 51 to 39 computations (23.5% saved)

sample1.1s (43.4%)

Algorithm
intervals
Results
328.0ms8000×pre128true
280.0ms8000×body128valid
Compiler

Compiled 370 to 211 computations (43% saved)

Profiling

Loading profile data...