Details

Time bar (total: 10.8s)

analyze677.0ms (6.3%)

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%74.9%0.1%6
25%68.6%6.4%7
31.2%62.4%6.4%8
36.7%54.6%8.7%9
38.2%48.4%13.4%10
42.7%42.3%15%11
47.8%34.1%18.1%12
49.1%30.3%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.4s (22.7%)

Results
758.0ms5369×body128valid
682.0ms1196×body2048valid
311.0ms718×body1024valid
275.0ms393×body4096valid
142.0ms1069×body128invalid
134.0ms379×body512valid
49.0ms201×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify349.0ms (3.2%)

Algorithm
egg-herbie
Rules
1968×fma-neg_binary64
1363×fma-def_binary64
898×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26422
313522
420122
533522
655422
792922
8147722
9211522
10259922
11255422
12260222
13267122
14311722
15232722
16237522
17238322
18238922
19239522
20239722
21239722
22258522
23268522
24261922
25263122
26266122
27267722
28270722
29270722
30275122
31285122
32282722
33282722
34263822

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
28.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
28.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
28.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
18.2b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series206.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

95.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
54.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
43.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
13.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

rewrite30.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
8.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
4.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

simplify127.0ms (1.2%)

Algorithm
egg-herbie
Rules
683×fma-neg_binary64
319×cancel-sign-sub-inv_binary64
242×distribute-rgt-neg-in_binary64
156×associate-*r*_binary64
151×distribute-rgt-neg-out_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02594256
17163931
225283797
347003771
450263771

prune182.0ms (1.7%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New19413207
Fresh011
Picked101
Done000
Total19514209
Error
4.7b
Counts
209 → 14
Alt Table
StatusErrorProgram
32.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
43.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
50.3b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
43.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (/.f64 (fma.f64 (*.f64 (*.f64 c a) (*.f64 c a)) -9 (pow.f64 b 4)) (fma.f64 3 (*.f64 c a) (*.f64 b b))))) (*.f64 3 a))
27.9b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
35.9b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
43.5b
(*.f64 -2/3 (/.f64 b a))
28.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
44.1b
(-.f64 (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)))) (*.f64 1/3 (/.f64 b a)))
27.8b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
28.4b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
43.7b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
27.7b
(/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (*.f64 a -3))
44.5b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 5887 to 3492 computations (40.7% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (*.f64 a -3))
0.5b
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))
11.7b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series516.0ms (4.8%)

Counts
4 → 48
Calls

4 calls:

305.0ms
(/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (*.f64 a -3))
186.0ms
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))
21.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
5.0ms
(*.f64 c (*.f64 a -3))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
21×*-un-lft-identity_binary64
21×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
15×pow1_binary64
14×add-cbrt-cube_binary64
Counts
4 → 94
Calls

4 calls:

7.0ms
(/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (*.f64 a -3))
4.0ms
(*.f64 c (*.f64 a -3))
3.0ms
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))

simplify104.0ms (1%)

Algorithm
egg-herbie
Rules
514×fma-def_binary64
342×associate-*l/_binary64
283×fma-neg_binary64
230×cancel-sign-sub-inv_binary64
163×associate-*r*_binary64
Counts
142 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02453322
16102818
222192647
349672641
449682641

prune172.0ms (1.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1826188
Fresh7613
Picked101
Done000
Total19012202
Error
2.6b
Counts
202 → 12
Alt Table
StatusErrorProgram
28.4b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
44.1b
(-.f64 (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) a)) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) a)))) (*.f64 1/3 (/.f64 b a)))
27.9b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
27.8b
(/.f64 (/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b)) a) -3)
34.4b
(/.f64 (-.f64 b (hypot.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) (sqrt.f64 (*.f64 c (*.f64 a -3)))) (sqrt.f64 (*.f64 c (*.f64 a -3))))) b)) (*.f64 a -3))
44.6b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
43.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
43.7b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
50.6b
(/.f64 (/.f64 3/2 (/.f64 b (*.f64 c a))) (*.f64 a -3))
28.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
44.5b
(*.f64 -1/2 (/.f64 c b))
42.7b
(/.f64 (-.f64 b (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b)) (*.f64 a -3))
Compiler

Compiled 5392 to 3510 computations (34.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b)) a) -3)
0.2b
(*.f64 -3 (*.f64 c a))
0.5b
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b))
11.7b
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

series512.0ms (4.7%)

Counts
4 → 24
Calls

4 calls:

299.0ms
(/.f64 (/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b)) a) -3)
186.0ms
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b))
21.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
5.0ms
(*.f64 -3 (*.f64 c a))

rewrite37.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
117×times-frac_binary64
95×*-un-lft-identity_binary64
95×add-sqr-sqrt_binary64
69×add-cube-cbrt_binary64
19×associate-/l*_binary64
Counts
4 → 161
Calls

4 calls:

8.0ms
(/.f64 (/.f64 (-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b)) a) -3)
4.0ms
(*.f64 -3 (*.f64 c a))
3.0ms
(-.f64 b (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b))
3.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

simplify167.0ms (1.5%)

Algorithm
egg-herbie
Rules
853×fma-def_binary64
256×fma-neg_binary64
221×cancel-sign-sub-inv_binary64
198×associate-/l/_binary64
173×div-sub_binary64
Counts
185 → 227
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03706070
18765536
227185395
345135392
448885392

prune321.0ms (3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2252227
Fresh11011
Picked101
Done000
Total22712239
Error
2.6b
Counts
239 → 12
Alt Table
StatusErrorProgram
43.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
28.7b
(-.f64 (/.f64 (/.f64 b a) -3) (/.f64 (/.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) a) -3))
43.4b
(/.f64 (/.f64 (*.f64 2 b) a) -3)
34.4b
(/.f64 (-.f64 b (hypot.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) (sqrt.f64 (*.f64 c (*.f64 a -3)))) (sqrt.f64 (*.f64 c (*.f64 a -3))))) b)) (*.f64 a -3))
44.6b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
28.4b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
27.9b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
43.7b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
50.6b
(/.f64 (/.f64 3/2 (/.f64 b (*.f64 c a))) (*.f64 a -3))
28.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
44.5b
(*.f64 -1/2 (/.f64 c b))
42.7b
(/.f64 (-.f64 b (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b)) (*.f64 a -3))
Compiler

Compiled 7177 to 4388 computations (38.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
0.2b
(*.f64 c (*.f64 a -3))
0.5b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
11.7b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series563.0ms (5.2%)

Counts
2 → 24
Calls

2 calls:

375.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
188.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)

rewrite45.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
84×add-sqr-sqrt_binary64
60×times-frac_binary64
54×*-un-lft-identity_binary64
40×add-cube-cbrt_binary64
36×sqrt-prod_binary64
Counts
2 → 117
Calls

2 calls:

22.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)

simplify233.0ms (2.2%)

Algorithm
egg-herbie
Rules
512×fma-def_binary64
319×associate-/l/_binary64
315×fma-neg_binary64
269×cancel-sign-sub-inv_binary64
171×associate-*r/_binary64
Counts
141 → 209
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02985715
17864990
225804741
346344543
449474543
549994543
650004543
748684543

prune370.0ms (3.4%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New3691370
Fresh01111
Picked011
Done000
Total36913382
Error
2.6b
Counts
382 → 13
Alt Table
StatusErrorProgram
43.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
28.7b
(-.f64 (/.f64 (/.f64 b a) -3) (/.f64 (/.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) a) -3))
28.4b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
49.0b
(exp.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3)) (-.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (log.f64 a))))
43.4b
(/.f64 (/.f64 (*.f64 2 b) a) -3)
34.4b
(/.f64 (-.f64 b (hypot.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) (sqrt.f64 (*.f64 c (*.f64 a -3)))) (sqrt.f64 (*.f64 c (*.f64 a -3))))) b)) (*.f64 a -3))
44.6b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
27.9b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) 3) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
43.7b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
50.6b
(/.f64 (/.f64 3/2 (/.f64 b (*.f64 c a))) (*.f64 a -3))
28.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
44.5b
(*.f64 -1/2 (/.f64 c b))
42.7b
(/.f64 (-.f64 b (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b)) (*.f64 a -3))
Compiler

Compiled 14503 to 9447 computations (34.9% saved)

regimes3.4s (31.5%)

Accuracy

Total 7.4b remaining (71.9%)

Threshold costs 0b (0%)

Counts
202 → 3
Compiler

Compiled 23160 to 16391 computations (29.2% saved)

bsearch74.0ms (0.7%)

Steps
ItersRangePoint
8
2.7066532878017773e-99
1.714177121312501e-96
7.694942576818603e-97
8
-5.465224382117127e+111
-3.579510183851847e+107
-4.899534402647273e+110
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
unsub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02753
13751
24051
34151
44151

end178.0ms (1.7%)

Compiler

Compiled 314 to 224 computations (28.7% saved)

Profiling

Loading profile data...