Details

Time bar (total: 5.2s)

analyze267.0ms (5.2%)

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%56.2%18.8%7
25%48.4%26.6%8
25%35.1%39.9%9
28.1%18.3%53.6%10
31.6%12.3%56.1%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 34 to 22 computations (35.3% saved)

sample34.0ms (0.7%)

Algorithm
intervals
Results
22.0ms256×body128valid
Compiler

Compiled 69 to 45 computations (34.8% saved)

simplify60.0ms (1.2%)

Algorithm
egg-herbie
Rules
669×unsub-neg_binary64
596×cancel-sign-sub-inv_binary64
373×neg-sub0_binary64
373×neg-mul-1_binary64
340×+-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02046
16146
215246
343846
4129746
5251046
6460946
7503346

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

Compiled 99 to 63 computations (36.4% saved)

localize16.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 1 (*.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.5b
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))

rewrite191.0ms (3.7%)

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

4 calls:

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

Compiled 3111 to 1674 computations (46.2% saved)

series190.0ms (3.7%)

Error
0.0b
Counts
4 → 54
Calls

4 calls:

75.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 1 (*.f64 3 a))))))
45.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
22.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
11.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
Compiler

Compiled 3049 to 2260 computations (25.9% saved)

simplify83.0ms (1.6%)

Algorithm
egg-herbie
Rules
853×distribute-rgt-in_binary64
794×distribute-lft-in_binary64
271×cancel-sign-sub-inv_binary64
246×associate-*l*_binary64
204×associate-*r*_binary64
Counts
134 → 106
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01903017
15322697
217692612
354652612

prune156.0ms (3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1015106
Fresh000
Picked011
Done000
Total1016107
Error
0b
Counts
107 → 6
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3)))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))) 1)
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))) 3)) 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 1 (*.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 1 (*.f64 3 a)))))) 1)
8.7b
(-.f64 (+.f64 (*.f64 (pow.f64 a 3) (+.f64 a 4)) (*.f64 (*.f64 a a) (+.f64 (*.f64 2 (*.f64 b b)) 4))) 1)
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 1 (*.f64 3 a)))))) 1)
Compiler

Compiled 2641 to 1475 computations (44.1% saved)

localize27.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite206.0ms (4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
28×add-cbrt-cube_binary64
28×add-exp-log_binary64
28×pow1_binary64
15×cbrt-unprod_binary64
15×prod-exp_binary64
Counts
4 → 89
Calls

4 calls:

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

Compiled 3577 to 2031 computations (43.2% saved)

series96.0ms (1.9%)

Error
0b
Counts
4 → 27
Calls

4 calls:

26.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
21.0ms
(*.f64 a (*.f64 a (*.f64 b b)))
19.0ms
(*.f64 a (*.f64 b b))
13.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
Compiler

Compiled 2297 to 1646 computations (28.3% saved)

simplify94.0ms (1.8%)

Algorithm
egg-herbie
Rules
471×*-commutative_binary64
355×distribute-rgt-in_binary64
316×distribute-lft-in_binary64
300×associate-*l*_binary64
299×sqr-pow_binary64
Counts
116 → 95
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01381588
13601317
212661278
326991252
438671241
551171241

prune119.0ms (2.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New95095
Fresh044
Picked011
Done011
Total956101
Error
0b
Counts
101 → 6
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3)))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))) 1)
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))) 3)) 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 1 (*.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 1 (*.f64 3 a)))))) 1)
8.7b
(-.f64 (+.f64 (*.f64 (pow.f64 a 3) (+.f64 a 4)) (*.f64 (*.f64 a a) (+.f64 (*.f64 2 (*.f64 b b)) 4))) 1)
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 1 (*.f64 3 a)))))) 1)
Compiler

Compiled 2471 to 1474 computations (40.3% saved)

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
0.5b
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
9.9b
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))
9.9b
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))

rewrite226.0ms (4.4%)

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

4 calls:

7.0ms
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
7.0ms
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
6.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))
6.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))
Compiler

Compiled 5184 to 2814 computations (45.7% saved)

series328.0ms (6.4%)

Error
0b
Counts
4 → 60
Calls

4 calls:

94.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))
93.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))
31.0ms
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
30.0ms
(*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b))
Compiler

Compiled 8086 to 5553 computations (31.3% saved)

simplify108.0ms (2.1%)

Algorithm
egg-herbie
Rules
588×distribute-rgt-in_binary64
566×distribute-lft-in_binary64
247×times-frac_binary64
237×cancel-sign-sub-inv_binary64
153×distribute-rgt-neg-in_binary64
Counts
132 → 118
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01914812
15314378
218504312
351474312

prune190.0ms (3.7%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1180118
Fresh033
Picked011
Done022
Total1186124
Error
0b
Counts
124 → 6
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3)))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))) 1)
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))) 3)) 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 1 (*.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 1 (*.f64 3 a)))))) 1)
8.7b
(-.f64 (+.f64 (*.f64 (pow.f64 a 3) (+.f64 a 4)) (*.f64 (*.f64 a a) (+.f64 (*.f64 2 (*.f64 b b)) 4))) 1)
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 1 (*.f64 3 a)))))) 1)
Compiler

Compiled 5959 to 3357 computations (43.7% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (*.f64 b b) (-.f64 1 (*.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)))

rewrite192.0ms (3.7%)

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

4 calls:

7.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 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)))
3.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
Compiler

Compiled 3586 to 1575 computations (56.1% saved)

series236.0ms (4.6%)

Error
0b
Counts
4 → 48
Calls

4 calls:

88.0ms
(pow.f64 (cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a))) 4)
45.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
45.0ms
(cbrt.f64 (+.f64 (*.f64 b b) (*.f64 a a)))
25.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
Compiler

Compiled 4665 to 3202 computations (31.4% saved)

simplify156.0ms (3%)

Algorithm
egg-herbie
Rules
479×associate-+l+_binary64
452×unswap-sqr_binary64
313×*-commutative_binary64
210×exp-prod_binary64
162×associate-*l*_binary64
Counts
120 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01472187
13632045
210672042
320932037
448982037
549562037
649832037
750762037

prune120.0ms (2.3%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1090109
Fresh022
Picked011
Done033
Total1096115
Error
0b
Counts
115 → 6
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3)))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))))) 1)
16.6b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (+.f64 (*.f64 (-.f64 1 (*.f64 3 a)) (*.f64 b b)) (+.f64 (*.f64 a a) (pow.f64 a 3))))) 3)) 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 1 (*.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 1 (*.f64 3 a)))))) 1)
8.7b
(-.f64 (+.f64 (*.f64 (pow.f64 a 3) (+.f64 a 4)) (*.f64 (*.f64 a a) (+.f64 (*.f64 2 (*.f64 b b)) 4))) 1)
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 1 (*.f64 3 a)))))) 1)
Compiler

Compiled 3296 to 1593 computations (51.7% saved)

regimes779.0ms (15.1%)

Accuracy

Total 0.0b remaining (60.2%)

Threshold costs 0.0b (60.2%)

Compiler

Compiled 19924 to 12761 computations (36% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-lft-neg-in_binary64
distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02558
14858
25558
35958
46258
56358
66058

end1.0ms (0%)

Compiler

Compiled 41 to 28 computations (31.7% saved)

sample1.2s (23.9%)

Algorithm
intervals
Results
762.0ms8000×body128valid
1.0msbody128invalid
Compiler

Compiled 320 to 205 computations (35.9% saved)

Profiling

Loading profile data...