Details

Time bar (total: 8.8s)

analyze650.0ms (7.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%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 (27.1%)

Results
702.0ms5315×body128valid
649.0ms1215×body2048valid
331.0ms772×body1024valid
255.0ms378×body4096valid
143.0ms1072×body128invalid
143.0ms390×body512valid
46.0ms186×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify348.0ms (4%)

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
33.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
33.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
33.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.8b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.1b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
21.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series188.0ms (2.1%)

Counts
4 → 96
Calls

4 calls:

84.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
51.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
41.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
13.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

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

simplify121.0ms (1.4%)

Algorithm
egg-herbie
Rules
683×fma-neg_binary64
340×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
02594286
17163943
225283797
347003771
450263771

prune189.0ms (2.2%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New19413207
Fresh011
Picked101
Done000
Total19514209
Error
6.8b
Counts
209 → 14
Alt Table
StatusErrorProgram
49.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
33.4b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) 3) (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
32.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
39.8b
(*.f64 -1/2 (/.f64 c b))
30.5b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
35.2b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
48.6b
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 c a) b) -3/2)) (*.f64 3 a))
33.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
49.3b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
30.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
49.0b
(*.f64 -2/3 (/.f64 b a))
33.1b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
33.2b
(/.f64 1 (/.f64 (*.f64 3 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
34.4b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))))) (*.f64 3 a))
Compiler

Compiled 5927 to 3512 computations (40.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
0.1b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
0.2b
(*.f64 c (*.f64 a -3))
15.1b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series494.0ms (5.6%)

Counts
4 → 48
Calls

4 calls:

271.0ms
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
197.0ms
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
22.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
5.0ms
(*.f64 c (*.f64 a -3))

rewrite35.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
132×times-frac_binary64
103×*-un-lft-identity_binary64
103×add-sqr-sqrt_binary64
71×add-cube-cbrt_binary64
24×associate-/l*_binary64
Counts
4 → 171
Calls

4 calls:

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

simplify170.0ms (1.9%)

Algorithm
egg-herbie
Rules
627×fma-def_binary64
478×associate-/l/_binary64
335×associate-*l/_binary64
253×fma-neg_binary64
177×cancel-sign-sub-inv_binary64
Counts
219 → 318
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03486461
18536169
225356103
348526099
451916099

prune271.0ms (3.1%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New3117318
Fresh6713
Picked011
Done000
Total31715332
Error
3.0b
Counts
332 → 15
Alt Table
StatusErrorProgram
49.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
33.4b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) 3) (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
32.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
48.6b
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 c a) b) -3/2)) (*.f64 3 a))
49.0b
(/.f64 (*.f64 -2/3 b) a)
49.0b
(*.f64 -2/3 (/.f64 b a))
30.5b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))
49.3b
(fma.f64 (/.f64 (*.f64 -3 c) b) -1/6 (*.f64 (/.f64 b a) -2/3))
30.5b
(/.f64 1 (/.f64 a (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)))
33.1b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
39.8b
(*.f64 -1/2 (/.f64 c b))
30.5b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
48.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
30.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
39.9b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
Compiler

Compiled 9390 to 6056 computations (35.5% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))
15.1b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series261.0ms (3%)

Counts
1 → 12
Calls

1 calls:

261.0ms
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
40×add-sqr-sqrt_binary64
31×times-frac_binary64
25×*-un-lft-identity_binary64
23×add-exp-log_binary64
19×associate-*l*_binary64
Counts
1 → 65
Calls

1 calls:

18.0ms
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))

simplify136.0ms (1.6%)

Algorithm
egg-herbie
Rules
584×times-frac_binary64
504×associate-/l*_binary64
362×associate-*l/_binary64
340×fma-neg_binary64
267×associate-/r*_binary64
Counts
77 → 124
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01822471
15002157
213992142
347762140
449802140

prune357.0ms (4.1%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New2611262
Fresh01313
Picked011
Done011
Total26116277
Error
3.0b
Counts
277 → 16
Alt Table
StatusErrorProgram
49.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
33.4b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) 3) (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
32.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
48.6b
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 c a) b) -3/2)) (*.f64 3 a))
49.0b
(/.f64 (*.f64 -2/3 b) a)
49.0b
(*.f64 -2/3 (/.f64 b a))
30.5b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))
49.3b
(fma.f64 (/.f64 (*.f64 -3 c) b) -1/6 (*.f64 (/.f64 b a) -2/3))
30.5b
(/.f64 1 (/.f64 a (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)))
33.1b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
39.8b
(*.f64 -1/2 (/.f64 c b))
30.5b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
48.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
48.2b
(*.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 -3 a))) b) b) 3) (/.f64 1 a))
30.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
39.9b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
Compiler

Compiled 7592 to 5127 computations (32.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
0.2b
(*.f64 -3 (*.f64 c a))
0.4b
(/.f64 1/3 a)
15.1b
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

series311.0ms (3.5%)

Counts
4 → 12
Calls

4 calls:

279.0ms
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
23.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
7.0ms
(*.f64 -3 (*.f64 c a))
2.0ms
(/.f64 1/3 a)

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
23×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
19×times-frac_binary64
17×pow1_binary64
Counts
4 → 103
Calls

4 calls:

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

simplify68.0ms (0.8%)

Algorithm
egg-herbie
Rules
731×associate-/l*_binary64
453×associate-/r*_binary64
240×fma-def_binary64
217×distribute-rgt-in_binary64
203×distribute-lft-in_binary64
Counts
115 → 157
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02212344
15232125
218022071
352312071

prune128.0ms (1.5%)

Pruning

16 alts after pruning (13 fresh and 3 done)

PrunedKeptTotal
New1561157
Fresh11213
Picked011
Done022
Total15716173
Error
3.0b
Counts
173 → 16
Alt Table
StatusErrorProgram
49.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
33.4b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) 3) (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
48.6b
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 c a) b) -3/2)) (*.f64 3 a))
49.0b
(/.f64 (*.f64 -2/3 b) a)
49.0b
(*.f64 -2/3 (/.f64 b a))
30.5b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) (/.f64 1 a))
49.3b
(fma.f64 (/.f64 (*.f64 -3 c) b) -1/6 (*.f64 (/.f64 b a) -2/3))
30.5b
(/.f64 1 (/.f64 a (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)))
33.1b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
39.8b
(*.f64 -1/2 (/.f64 c b))
30.5b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
48.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
48.2b
(*.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 -3 a))) b) b) 3) (/.f64 1 a))
30.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
39.9b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
44.9b
(exp.f64 (+.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)) (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 3982 to 2459 computations (38.2% saved)

regimes2.3s (25.9%)

Accuracy

Total 7.3b remaining (73%)

Threshold costs 0b (0%)

Counts
135 → 3
Compiler

Compiled 16158 to 11354 computations (29.7% saved)

bsearch78.0ms (0.9%)

Steps
ItersRangePoint
9
4.049770332097275e-53
5.716892748931477e-46
3.727748486505212e-51
6
-2.5493285277707463e+134
-2.0170402562964358e+133
-8.636658456821496e+133
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02852
14450
26250
37150
47750
57950
67750

end190.0ms (2.2%)

Compiler

Compiled 348 to 245 computations (29.6% saved)

Profiling

Loading profile data...