Details

Time bar (total: 4.1s)

analyze262.0ms (6.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%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 32 to 20 computations (37.5% saved)

sample30.0ms (0.7%)

Algorithm
intervals
Results
21.0ms256×body128valid
Compiler

Compiled 65 to 41 computations (36.9% saved)

simplify77.0ms (1.9%)

Algorithm
egg-herbie
Rules
705×unsub-neg_binary64
556×cancel-sign-sub-inv_binary64
344×+-commutative_binary64
342×distribute-rgt-in_binary64
317×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01943
15543
215043
338943
4108343
5223343
6433643
7472443
8493043

prune2.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 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 93 to 57 computations (38.7% saved)

localize14.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.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.6b
(*.f64 (*.f64 b b) (+.f64 3 a))

rewrite143.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
15×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
15×add-exp-log_binary64
15×pow1_binary64
14×add-cbrt-cube_binary64
Counts
4 → 87
Calls

4 calls:

8.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
7.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
6.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)))))
4.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
Compiler

Compiled 3141 to 1575 computations (49.9% saved)

series207.0ms (5%)

Error
0.0b
Counts
4 → 54
Calls

4 calls:

69.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)))))
49.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
22.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
12.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
Compiler

Compiled 2957 to 2168 computations (26.7% saved)

simplify112.0ms (2.7%)

Algorithm
egg-herbie
Rules
482×associate-+l+_binary64
417×unsub-neg_binary64
292×associate-+r+_binary64
267×associate-*l*_binary64
226×exp-prod_binary64
Counts
141 → 114
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02072929
15662620
218452518
341412512
450642512

prune83.0ms (2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1113114
Fresh000
Picked101
Done000
Total1123115
Error
0b
Counts
115 → 3
Alt Table
StatusErrorProgram
2.9b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a)))) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 a (*.f64 a (*.f64 b b))))) (pow.f64 a 4)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 2)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 2428 to 1286 computations (47% saved)

localize20.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.5b
(*.f64 a (*.f64 b b))
0.6b
(*.f64 (*.f64 b b) (+.f64 3 a))
0.9b
(*.f64 a (*.f64 a (*.f64 b b)))

rewrite159.0ms (3.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
28×add-cbrt-cube_binary64
28×add-exp-log_binary64
28×pow1_binary64
16×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
Counts
4 → 96
Calls

4 calls:

10.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
7.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
6.0ms
(*.f64 a (*.f64 a (*.f64 b b)))
4.0ms
(*.f64 a (*.f64 b b))
Compiler

Compiled 3669 to 1977 computations (46.1% saved)

series91.0ms (2.2%)

Error
0b
Counts
4 → 27
Calls

4 calls:

24.0ms
(*.f64 a (*.f64 a (*.f64 b b)))
23.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
18.0ms
(*.f64 a (*.f64 b b))
12.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
Compiler

Compiled 2211 to 1560 computations (29.4% saved)

simplify103.0ms (2.5%)

Algorithm
egg-herbie
Rules
415×distribute-rgt-in_binary64
398×distribute-lft-in_binary64
319×associate-*l*_binary64
272×exp-prod_binary64
267×associate-*r*_binary64
Counts
123 → 102
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01521545
13911294
213251253
333091225
445721225
549401225

prune78.0ms (1.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1020102
Fresh022
Picked011
Done000
Total1023105
Error
0b
Counts
105 → 3
Alt Table
StatusErrorProgram
2.9b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a)))) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 a (*.f64 a (*.f64 b b))))) (pow.f64 a 4)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 2)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 2270 to 1290 computations (43.2% saved)

localize19.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite115.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
12×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
10×add-exp-log_binary64
10×pow1_binary64
Counts
4 → 71
Calls

4 calls:

7.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
6.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
4.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4)
3.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
Compiler

Compiled 3320 to 1361 computations (59% saved)

series212.0ms (5.1%)

Error
0b
Counts
4 → 45
Calls

4 calls:

86.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4)
46.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
36.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
21.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
Compiler

Compiled 4253 to 2860 computations (32.8% saved)

simplify136.0ms (3.3%)

Algorithm
egg-herbie
Rules
588×unswap-sqr_binary64
322×distribute-rgt-in_binary64
318×*-commutative_binary64
317×distribute-lft-in_binary64
200×associate-+l+_binary64
Counts
116 → 105
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01411980
13481856
210551853
323741848
447071848
549381848
649291848

prune88.0ms (2.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1050105
Fresh011
Picked011
Done011
Total1053108
Error
0b
Counts
108 → 3
Alt Table
StatusErrorProgram
2.9b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a)))) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 a (*.f64 a (*.f64 b b))))) (pow.f64 a 4)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 2)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 3031 to 1377 computations (54.6% saved)

localize22.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 a (-.f64 a (pow.f64 a 4)))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.6b
(*.f64 (*.f64 b b) (+.f64 3 a))
2.7b
(/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a))))

rewrite193.0ms (4.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
23×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
17×add-exp-log_binary64
16×add-cbrt-cube_binary64
15×add-cube-cbrt_binary64
Counts
4 → 109
Calls

4 calls:

14.0ms
(/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a))))
10.0ms
(*.f64 a (-.f64 a (pow.f64 a 4)))
7.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
4.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
Compiler

Compiled 5195 to 2993 computations (42.4% saved)

series119.0ms (2.9%)

Error
0b
Counts
4 → 39
Calls

4 calls:

46.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
22.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
16.0ms
(/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a))))
16.0ms
(*.f64 a (-.f64 a (pow.f64 a 4)))
Compiler

Compiled 3002 to 2090 computations (30.4% saved)

simplify81.0ms (2%)

Algorithm
egg-herbie
Rules
812×distribute-rgt-in_binary64
753×distribute-lft-in_binary64
244×associate-*l*_binary64
204×associate-*r*_binary64
138×*-commutative_binary64
Counts
148 → 122
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02232479
15822198
220412176
349972176

prune93.0ms (2.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1220122
Fresh000
Picked011
Done022
Total1223125
Error
0b
Counts
125 → 3
Alt Table
StatusErrorProgram
2.9b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (/.f64 (*.f64 a (-.f64 a (pow.f64 a 4))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 a a) (*.f64 1 a)))) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 a (*.f64 a (*.f64 b b))))) (pow.f64 a 4)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.6b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4) (pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 2)) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
Compiler

Compiled 3099 to 1688 computations (45.5% saved)

regimes648.0ms (15.7%)

Accuracy

Total 0.0b remaining (37.6%)

Threshold costs 0.0b (37.6%)

Compiler

Compiled 20811 to 13446 computations (35.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02455
14255
24655
34855
44955
54755

end1.0ms (0%)

Compiler

Compiled 39 to 26 computations (33.3% saved)

sample1.0s (24.4%)

Algorithm
intervals
Results
648.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 198 to 125 computations (36.9% saved)

Profiling

Loading profile data...