Details

Time bar (total: 8.3s)

analyze710.0ms (8.6%)

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.5s (29.8%)

Results
745.0ms5341×body128valid
630.0ms1182×body2048valid
350.0ms797×body1024valid
343.0ms397×body4096valid
135.0ms1057×body128invalid
113.0ms343×body512valid
43.0ms196×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify348.0ms (4.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
33.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
34.0b
(*.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)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 3 a) c)
1.0b
(-.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))))
20.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series87.0ms (1%)

Counts
4 → 100
Calls

4 calls:

39.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
32.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
9.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
6.0ms
(*.f64 (*.f64 3 a) c)

rewrite122.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
704×fma-def_binary64
453×fma-neg_binary64
273×egg-rr
224×expm1-udef_binary64
224×log1p-udef_binary64
Counts
4 → 273
Calls

4 calls:

112.0ms
(*.f64 (*.f64 3 a) c)
112.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
112.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
112.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01255
127047
2324547
3497647
4495047
000
100

simplify77.0ms (0.9%)

Algorithm
egg-herbie
Rules
458×times-frac_binary64
447×unswap-sqr_binary64
283×associate-*r*_binary64
278×associate-/l*_binary64
258×associate-/r*_binary64
Counts
373 → 324
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891820
12721752
28301726
341671726
449761726

prune255.0ms (3.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3177324
Fresh011
Picked011
Done000
Total3179326
Error
10.6b
Counts
326 → 9
Alt Table
StatusErrorProgram
35.3b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
47.7b
(/.f64 (fma.f64 (cbrt.f64 b) (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
34.7b
(/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1/4) 2)) (*.f64 3 a))
55.6b
(/.f64 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16))) (*.f64 3 a))
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
58.7b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
41.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.8b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
Compiler

Compiled 9885 to 5397 computations (45.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
1.1b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.8b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series121.0ms (1.5%)

Counts
4 → 60
Calls

4 calls:

58.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
34.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
28.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
1.0ms
(/.f64 1/3 a)

rewrite82.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
781×prod-diff_binary64
245×log1p-udef_binary64
163×egg-rr
139×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
Counts
4 → 163
Calls

4 calls:

77.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
77.0ms
(/.f64 1/3 a)
77.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
77.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01355
128055
2340655
3511855
000
100

simplify83.0ms (1%)

Algorithm
egg-herbie
Rules
766×times-frac_binary64
487×associate-/l*_binary64
405×associate-/r*_binary64
391×fma-def_binary64
368×fma-neg_binary64
Counts
223 → 230
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01341923
14201901
213721860
349651854
451721854

prune161.0ms (1.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2219230
Fresh617
Picked101
Done011
Total22811239
Error
3.6b
Counts
239 → 11
Alt Table
StatusErrorProgram
34.7b
(*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) 2) b) (/.f64 1/3 a))
58.7b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
46.8b
(*.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (/.f64 1/3 a))
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
41.9b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
41.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
41.7b
(*.f64 -2/3 (/.f64 b a))
46.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
34.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
39.6b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 6230 to 3661 computations (41.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)
1.1b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.8b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series101.0ms (1.2%)

Counts
2 → 40
Calls

2 calls:

57.0ms
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
43.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)

rewrite64.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
790×prod-diff_binary64
246×log1p-udef_binary64
139×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
133×expm1-log1p-u_binary64
Counts
2 → 65
Calls

2 calls:

62.0ms
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
62.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01341
127941
2347541
3523141
000
100

simplify64.0ms (0.8%)

Algorithm
egg-herbie
Rules
731×times-frac_binary64
467×associate-/l*_binary64
371×associate-/r*_binary64
336×fma-def_binary64
310×fma-neg_binary64
Counts
105 → 110
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01111382
13621368
212001336
349251330
450841330

prune180.0ms (2.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2501251
Fresh189
Picked011
Done011
Total25111262
Error
3.6b
Counts
262 → 11
Alt Table
StatusErrorProgram
34.7b
(*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) 2) b) (/.f64 1/3 a))
58.7b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
41.8b
(/.f64 (*.f64 -2/3 b) a)
41.9b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
46.8b
(*.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (/.f64 1/3 a))
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
41.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
34.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
39.6b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 6730 to 4000 computations (40.6% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
0.3b
(pow.f64 (*.f64 a 3) -1)
1.1b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.8b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series56.0ms (0.7%)

Counts
2 → 32
Calls

2 calls:

54.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
2.0ms
(pow.f64 (*.f64 a 3) -1)

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
772×prod-diff_binary64
263×log1p-udef_binary64
152×add-sqr-sqrt_binary64
145×log1p-expm1-u_binary64
145×expm1-log1p-u_binary64
Counts
2 → 51
Calls

2 calls:

61.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
61.0ms
(pow.f64 (*.f64 a 3) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
131426
2357026
3527526
000
100

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
820×fma-neg_binary64
424×times-frac_binary64
355×unswap-sqr_binary64
261×associate-/l*_binary64
244×associate-*r*_binary64
Counts
83 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074721
1236713
2745698
33723691
45192691

prune329.0ms (4%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New2150215
Fresh088
Picked011
Done022
Total21511226
Error
3.6b
Counts
226 → 11
Alt Table
StatusErrorProgram
34.7b
(*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) 2) b) (/.f64 1/3 a))
58.7b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
41.8b
(/.f64 (*.f64 -2/3 b) a)
41.9b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
46.8b
(*.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (/.f64 1/3 a))
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (*.f64 a 3) -1))
41.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
34.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
39.6b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 6005 to 3669 computations (38.9% saved)

regimes2.6s (31.6%)

Accuracy

Total 4.3b remaining (45.1%)

Threshold costs 0b (0%)

Counts
108 → 3
Compiler

Compiled 10267 to 7270 computations (29.2% saved)

bsearch64.0ms (0.8%)

Steps
ItersRangePoint
7
3.484937000327319e-109
3.875551767708658e-107
3.80332328141754e-107
8
-1.9341174226527096e+135
-1.7524282153453846e+131
-2.5129073409416693e+134
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
13651
23951
34051
44051

end133.0ms (1.6%)

Compiler

Compiled 231 to 163 computations (29.4% saved)

Profiling

Loading profile data...