Details

Time bar (total: 10.5s)

analyze630.0ms (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.3s (21.5%)

Results
699.0ms5328×body128valid
591.0ms1145×body2048valid
320.0ms786×body1024valid
270.0ms431×body4096valid
125.0ms1015×body128invalid
118.0ms377×body512valid
40.0ms189×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify350.0ms (3.3%)

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.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b 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))
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)
0.4b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.2b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
20.7b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series119.0ms (1.1%)

Counts
4 → 100
Calls

4 calls:

59.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
44.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
11.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)

rewrite119.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
270×egg-rr
Counts
4 → 270
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01255
127047
2324547
3497647
4495047
000
100

simplify76.0ms (0.7%)

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
370 → 321
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891820
12721752
28301726
341671726
449761726

prune262.0ms (2.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New30714321
Fresh011
Picked101
Done000
Total30815323
Error
11.1b
Counts
323 → 15
Alt Table
StatusErrorProgram
35.0b
(/.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))
45.9b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
43.8b
(/.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.5b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
46.3b
(/.f64 (/.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (+.f64 (fma.f64 b b (*.f64 b b)) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
54.0b
(/.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))
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
48.3b
(/.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))
34.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 3))) (*.f64 3 a))
34.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))
45.8b
(/.f64 (fma.f64 b 1 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
46.9b
(/.f64 (exp.f64 (log.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (*.f64 3 a))
46.0b
(/.f64 (*.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 2)) (*.f64 3 a))
55.3b
(/.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))
Compiler

Compiled 10187 to 5590 computations (45.1% saved)

localize13.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.2b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.7b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series188.0ms (1.8%)

Counts
4 → 60
Calls

4 calls:

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

rewrite84.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
159×egg-rr
Counts
4 → 159
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01355
128055
2340655
3511855
000
100

simplify79.0ms (0.7%)

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
219 → 226
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01341923
14201901
213721860
349651854
451721854

prune177.0ms (1.7%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New21511226
Fresh11314
Picked011
Done000
Total22615241
Error
4.4b
Counts
241 → 15
Alt Table
StatusErrorProgram
45.3b
(*.f64 (+.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (fma.f64 (neg.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2))) (sqrt.f64 (cbrt.f64 (pow.f64 b 4))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (/.f64 1/3 a))
42.6b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
35.0b
(/.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))
38.9b
(*.f64 -1/2 (/.f64 c b))
34.1b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
43.8b
(/.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))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
58.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
45.7b
(*.f64 -2/3 (/.f64 b a))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 1/3 (/.f64 1 a)))
43.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
Compiler

Compiled 6476 to 3831 computations (40.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
1.2b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.7b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series100.0ms (1%)

Counts
2 → 56
Calls

2 calls:

89.0ms
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
11.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

rewrite101.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
88×egg-rr
Counts
2 → 88
Calls

2 calls:

99.0ms
((/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3)) (fma.f64 a (*.f64 c -3) (*.f64 b b)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
128033
2361132
3498332
4489932
000
100

simplify56.0ms (0.5%)

Algorithm
egg-herbie
Rules
834×fma-neg_binary64
432×times-frac_binary64
355×unswap-sqr_binary64
261×associate-/l*_binary64
249×associate-*r*_binary64
Counts
144 → 117
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0761075
12401013
2754998
33783991
45266991

prune196.0ms (1.9%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2542256
Fresh31013
Picked101
Done011
Total25813271
Error
4.4b
Counts
271 → 13
Alt Table
StatusErrorProgram
43.8b
(/.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))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
33.2b
(*.f64 (/.f64 1 a) (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3))
58.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
45.7b
(*.f64 -2/3 (/.f64 b a))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 1/3 (/.f64 1 a)))
43.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
42.6b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
38.9b
(*.f64 -1/2 (/.f64 c b))
35.8b
(fma.f64 1/3 (/.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) a) (neg.f64 (/.f64 b (*.f64 a 3))))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
Compiler

Compiled 7037 to 4335 computations (38.4% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series474.0ms (4.5%)

Counts
4 → 48
Calls

4 calls:

281.0ms
(*.f64 (/.f64 1 a) (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3))
166.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b)
21.0ms
(sqrt.f64 (*.f64 a (*.f64 c -3)))
5.0ms
(*.f64 a (*.f64 c -3))

rewrite84.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
144×egg-rr
Counts
4 → 144
Calls

2 calls:

81.0ms
((sqrt.f64 (*.f64 a (*.f64 c -3))) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (*.f64 (/.f64 1 a) (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3)) (*.f64 a (*.f64 c -3)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01552
132652
2398352
3516452
000
100

simplify65.0ms (0.6%)

Algorithm
egg-herbie
Rules
720×times-frac_binary64
647×fma-neg_binary64
388×associate-/l*_binary64
338×associate-/r*_binary64
286×associate-*r*_binary64
Counts
192 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061172
13261086
210131029
349481029
453991029

prune151.0ms (1.4%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New1873190
Fresh3811
Picked011
Done011
Total19013203
Error
2.8b
Counts
203 → 13
Alt Table
StatusErrorProgram
35.8b
(fma.f64 1/3 (/.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) a) (neg.f64 (/.f64 b (*.f64 a 3))))
33.6b
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3)) 2) (/.f64 a (cbrt.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3))))
43.8b
(/.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))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
33.2b
(*.f64 (/.f64 1 a) (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3))
42.6b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
38.9b
(*.f64 -1/2 (/.f64 c b))
43.6b
(*.f64 (/.f64 1 a) (/.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
45.7b
(*.f64 -2/3 (/.f64 b a))
48.0b
(*.f64 (/.f64 1 a) (/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -3)))) b) 3))
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
Compiler

Compiled 4733 to 3159 computations (33.3% saved)

regimes4.6s (44.2%)

Accuracy

Total 7.0b remaining (70.6%)

Threshold costs 0b (0%)

Counts
244 → 3
Compiler

Compiled 27042 to 18878 computations (30.2% saved)

bsearch66.0ms (0.6%)

Steps
ItersRangePoint
7
4.3912144638503513e-72
8.26668635655845e-71
2.865150196435242e-71
6
-3.999369888062522e+98
-4.985389729246998e+97
-3.9352038855422006e+98
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
02757
14155
25755
37555
48555
59055
69155
78955

end167.0ms (1.6%)

Compiler

Compiled 317 to 220 computations (30.6% saved)

Profiling

Loading profile data...