Details

Time bar (total: 14.5s)

analyze645.0ms (4.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.3s (15.8%)

Results
715.0ms5328×body128valid
588.0ms1145×body2048valid
336.0ms786×body1024valid
265.0ms431×body4096valid
120.0ms1015×body128invalid
112.0ms377×body512valid
42.0ms189×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify386.0ms (2.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
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)

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

series106.0ms (0.7%)

Counts
4 → 100
Calls

4 calls:

49.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)))
9.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
6.0ms
(*.f64 (*.f64 3 a) c)

rewrite329.0ms (2.3%)

Algorithm
egg-rewrite
Rules
240×egg
57×egg
56×egg
27×egg
Counts
4 → 380
Calls

4 calls:

118.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
93.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
64.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
43.0ms
(*.f64 (*.f64 3 a) c)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
121713
2262613
3508813
01220
127016
2324516
3497616
4495016
0913
119811
2243311
3499411
4498811
067
11217
213617
350267

simplify92.0ms (0.6%)

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
480 → 428
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891820
12721752
28301726
341671726
449761726

prune372.0ms (2.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New41414428
Fresh011
Picked101
Done000
Total41515430
Error
11.1b
Counts
430 → 15
Alt Table
StatusErrorProgram
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))
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
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.8b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.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))
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.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.9b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
34.9b
(/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1/4) 2)) (*.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))
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))
57.5b
(/.f64 (+.f64 (neg.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))
Compiler

Compiled 14133 to 8205 computations (41.9% saved)

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

series173.0ms (1.2%)

Counts
4 → 60
Calls

4 calls:

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

rewrite326.0ms (2.2%)

Algorithm
egg-rewrite
Rules
105×egg
61×egg
49×egg
23×egg
Counts
4 → 238
Calls

4 calls:

126.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
83.0ms
(/.f64 1/3 a)
67.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
44.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
117813
2191313
3506713
01016
121016
2248415
3466915
4474715
5523315
044
1874
210014
348574
460004
01322
128022
2340622
3511822

simplify87.0ms (0.6%)

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
298 → 304
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01341923
14201901
213721860
349651854
451721854

prune226.0ms (1.6%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New29410304
Fresh11314
Picked011
Done000
Total30514319
Error
4.4b
Counts
319 → 14
Alt Table
StatusErrorProgram
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/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 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.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 1/3 a)))) (sqrt.f64 (log.f64 (/.f64 1/3 a)))))
43.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
34.1b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
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))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 (pow.f64 (cbrt.f64 1/3) 3) (/.f64 1 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))
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))
Compiler

Compiled 7845 to 4768 computations (39.2% 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)))

series96.0ms (0.7%)

Counts
2 → 56
Calls

2 calls:

87.0ms
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
9.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

rewrite162.0ms (1.1%)

Algorithm
egg-rewrite
Rules
84×egg
50×egg
Counts
2 → 134
Calls

2 calls:

109.0ms
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 a 3))
50.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01322
128022
2361121
3498321
4489921
0811
115911
2172311
3531411

simplify66.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
190 → 162
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0761075
12401013
2754998
33783991
45266991

prune241.0ms (1.7%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New3294333
Fresh3912
Picked101
Done011
Total33314347
Error
4.4b
Counts
347 → 14
Alt Table
StatusErrorProgram
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
44.8b
(/.f64 (/.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))))) (*.f64 a 3))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
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))))
45.7b
(*.f64 -2/3 (/.f64 b a))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 (pow.f64 (cbrt.f64 1/3) 3) (/.f64 1 a)))
34.0b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) b) (*.f64 a 3))
57.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 1/3 a)))) (sqrt.f64 (log.f64 (/.f64 1/3 a)))))
43.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
33.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3) 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))
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))
Compiler

Compiled 8533 to 5371 computations (37.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series451.0ms (3.1%)

Counts
4 → 48
Calls

4 calls:

261.0ms
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3) a)
165.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b)
20.0ms
(sqrt.f64 (*.f64 a (*.f64 c -3)))
4.0ms
(*.f64 a (*.f64 c -3))

rewrite291.0ms (2%)

Algorithm
egg-rewrite
Rules
89×egg
67×egg
56×egg
30×egg
Counts
4 → 242
Calls

4 calls:

124.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b)
72.0ms
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3) a)
45.0ms
(sqrt.f64 (*.f64 a (*.f64 c -3)))
45.0ms
(*.f64 a (*.f64 c -3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11419
215719
350009
01015
121315
2255715
3482115
4485315
5499215
067
11217
213637
350447
01321
129021
2369921
3493121

simplify77.0ms (0.5%)

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
290 → 288
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061172
13261086
210131029
349481029
453991029

prune239.0ms (1.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2835288
Fresh5712
Picked101
Done101
Total29012302
Error
2.7b
Counts
302 → 12
Alt Table
StatusErrorProgram
48.0b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -3)))) b) 3) a)
45.7b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
45.7b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
42.6b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
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))
44.8b
(/.f64 (/.f64 (*.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))) (*.f64 b b)) (/.f64 1 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3))))))) 3) a)
33.2b
(/.f64 (/.f64 1 a) (/.f64 3 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) 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.0b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) b) (*.f64 a 3))
38.9b
(*.f64 -1/2 (/.f64 c b))
33.6b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3)) 2) (*.f64 (cbrt.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3)) (/.f64 1 a)))
Compiler

Compiled 6933 to 4493 computations (35.2% saved)

regimes7.5s (52%)

Accuracy

Total 7.1b remaining (70.8%)

Threshold costs 0b (0%)

Counts
322 → 3
Compiler

Compiled 36816 to 25856 computations (29.8% saved)

bsearch77.0ms (0.5%)

Steps
ItersRangePoint
7
4.3912144638503513e-72
8.26668635655845e-71
9.11384425434159e-72
7
-2.466549732279246e+89
-1.560531518700791e+87
-2.4299048034323493e+89
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0%)

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
02955
14053
25553
36853
47453
57853
67953
77753

end178.0ms (1.2%)

Compiler

Compiled 303 to 215 computations (29% saved)

Profiling

Loading profile data...