Details

Time bar (total: 9.6s)

analyze658.0ms (6.9%)

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 (24.9%)

Results
769.0ms5373×body128valid
617.0ms1141×body2048valid
334.0ms789×body1024valid
260.0ms412×body4096valid
143.0ms1072×body128invalid
127.0ms362×body512valid
41.0ms179×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify354.0ms (3.7%)

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
36.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
36.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
36.3b
(/.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)

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.2b
(*.f64 (*.f64 3 a) c)
1.4b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
24.5b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series90.0ms (0.9%)

Counts
4 → 100
Calls

4 calls:

40.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
30.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
16.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)

rewrite119.0ms (1.2%)

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:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01255
127047
2324547
3497647
4495047

simplify80.0ms (0.8%)

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

prune261.0ms (2.7%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New31113324
Fresh011
Picked101
Done000
Total31214326
Error
12.5b
Counts
326 → 14
Alt Table
StatusErrorProgram
45.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
36.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) 2) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
47.2b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
46.2b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
37.4b
(/.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))
36.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
55.7b
(/.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))
36.9b
(/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1/4) 2)) (*.f64 3 a))
48.5b
(/.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))
54.8b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
36.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
47.4b
(/.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 3) (*.f64 3 a))
45.4b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
57.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
Compiler

Compiled 10197 to 5591 computations (45.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (*.f64 a -3) c (*.f64 b b))
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
1.4b
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b))))
24.5b
(sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))

series139.0ms (1.5%)

Counts
4 → 96
Calls

4 calls:

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

rewrite83.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
354×fma-def_binary64
224×expm1-udef_binary64
224×log1p-udef_binary64
205×fma-neg_binary64
197×log-pow_binary64
Counts
4 → 170
Calls

4 calls:

79.0ms
(fma.f64 (*.f64 a -3) c (*.f64 b b))
79.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
79.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b))))
79.0ms
(sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01466
129962
2324859
3491859

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
780×times-frac_binary64
487×associate-/l*_binary64
417×associate-/r*_binary64
406×fma-def_binary64
142×cancel-sign-sub-inv_binary64
Counts
266 → 243
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01372325
14252249
213822208
349792208

prune180.0ms (1.9%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2385243
Fresh6713
Picked011
Done000
Total24413257
Error
2.9b
Counts
257 → 13
Alt Table
StatusErrorProgram
45.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
36.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) 2) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
55.7b
(/.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))
47.3b
(*.f64 (*.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a -3) c)))) 1/3) (/.f64 1 a))
36.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
48.2b
(/.f64 (exp.f64 (log.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a -3) c)))))) (*.f64 3 a))
49.7b
(/.f64 (+.f64 (neg.f64 b) (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 a -3)) (sqrt.f64 c)))) (*.f64 3 a))
36.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
48.5b
(/.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))
45.2b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
45.4b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
57.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
39.4b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 6068 to 3821 computations (37% 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.4b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
24.5b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series125.0ms (1.3%)

Counts
4 → 60
Calls

4 calls:

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

rewrite80.0ms (0.8%)

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

simplify75.0ms (0.8%)

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

prune177.0ms (1.9%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2246230
Fresh5611
Picked101
Done011
Total23013243
Error
2.9b
Counts
243 → 13
Alt Table
StatusErrorProgram
57.6b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
49.7b
(/.f64 (+.f64 (neg.f64 b) (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 a -3)) (sqrt.f64 c)))) (*.f64 3 a))
55.7b
(/.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))
45.4b
(*.f64 (/.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (/.f64 1/3 a))
36.4b
(/.f64 1 (/.f64 a (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)))
45.1b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
36.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
45.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
48.5b
(/.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))
45.4b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1/3 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))
48.2b
(/.f64 (exp.f64 (log.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a -3) c)))))) (*.f64 3 a))
36.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 1/3 (/.f64 1 a)))
39.4b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 6449 to 3788 computations (41.3% 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) (*.f64 1/3 (/.f64 1 a)))
0.4b
(*.f64 1/3 (/.f64 1 a))
1.4b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
24.5b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series61.0ms (0.6%)

Counts
2 → 32
Calls

2 calls:

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

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
781×prod-diff_binary64
152×add-sqr-sqrt_binary64
144×log1p-expm1-u_binary64
144×expm1-log1p-u_binary64
142×add-cbrt-cube_binary64
Counts
2 → 47
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01526
131426
2361526
3488126

simplify52.0ms (0.5%)

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
79 → 70
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074721
1236713
2745698
33723691
45192691

prune151.0ms (1.6%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New2101211
Fresh11011
Picked011
Done011
Total21113224
Error
2.9b
Counts
224 → 13
Alt Table
StatusErrorProgram
57.6b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
49.7b
(/.f64 (+.f64 (neg.f64 b) (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 a -3)) (sqrt.f64 c)))) (*.f64 3 a))
55.7b
(/.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))
37.0b
(*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) 2) b) (*.f64 1/3 (/.f64 1 a)))
36.4b
(/.f64 1 (/.f64 a (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)))
45.1b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
36.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a -3) c (*.f64 b b)))) (*.f64 3 a))
45.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
48.5b
(/.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))
45.4b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1/3 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))
48.2b
(/.f64 (exp.f64 (log.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 a -3) c)))))) (*.f64 3 a))
36.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 1/3 (/.f64 1 a)))
39.4b
(*.f64 -1/2 (/.f64 c b))
Compiler

Compiled 5993 to 3647 computations (39.1% saved)

regimes4.0s (42.2%)

Accuracy

Total 7.4b remaining (72.9%)

Threshold costs 0b (0%)

Counts
204 → 3
Compiler

Compiled 25694 to 17413 computations (32.2% saved)

bsearch108.0ms (1.1%)

Steps
ItersRangePoint
10
2.667500453775671e-58
4.8513091200548296e-48
1.426091370214896e-55
11
-1.506274431169199e+154
-5.777377851073373e+119
-1.798739493811502e+127
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
03059
14257
25457
36857
47557
57957
68057
77857

end183.0ms (1.9%)

Compiler

Compiled 340 to 228 computations (32.9% saved)

Profiling

Loading profile data...