Details

Time bar (total: 7.0s)

analyze423.0ms (6%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 33 to 24 computations (27.3% saved)

sample49.0ms (0.7%)

Algorithm
intervals
Results
12.0ms89×body256valid
11.0ms167×body128valid
9.0ms301×pre128true
3.0ms45×body128nan
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify274.0ms (3.9%)

Algorithm
egg-herbie
Rules
1743×fma-neg_binary64
1393×fma-def_binary64
800×div-sub_binary64
619×times-frac_binary64
473×associate-/r/_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
26722
313822
420422
533822
655822
792422
8138822
9160422
10237522
11274222
12253322
13262122
14317122
15331322
16387322
17367922
18402922
19431722
20448522
21456122
22480522
23479322
24479722
25479722
26494822

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
43.2b
Counts
2 → 2
Alt Table
StatusErrorProgram
43.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
43.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
Compiler

Compiled 94 to 64 computations (31.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.1b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
37.5b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)

rewrite190.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
39.8b
Rules
32×add-cube-cbrt_binary64
24×add-sqr-sqrt_binary64
23×pow1_binary64
14×add-exp-log_binary64
14×add-cbrt-cube_binary64
Counts
4 → 162
Calls

4 calls:

15.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
15.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
11.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
11.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
Compiler

Compiled 3930 to 2088 computations (46.9% saved)

series163.0ms (2.3%)

Error
0.5b
Counts
4 → 72
Calls

4 calls:

46.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
40.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
30.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
28.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
Compiler

Compiled 2658 to 1932 computations (27.3% saved)

simplify119.0ms (1.7%)

Algorithm
egg-herbie
Rules
878×times-frac_binary64
332×fma-neg_binary64
247×unswap-sqr_binary64
163×associate-*r*_binary64
160×associate-*l*_binary64
Counts
234 → 120
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02464482
16564168
224994099
350364099

prune95.0ms (1.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1146120
Fresh101
Picked101
Done000
Total1166122
Error
0.1b
Counts
122 → 6
Alt Table
StatusErrorProgram
2.9b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))))) (/.f64 1/2 a))
43.6b
(-.f64 (/.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 a 1/2)) (*.f64 1/2 (/.f64 b a)))
43.2b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 2) (pow.f64 (/.f64 1/2 a) 2))) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))))
0.5b
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
2.6b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))))))
6.0b
(-.f64 (neg.f64 (/.f64 c b)) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))
Compiler

Compiled 2086 to 1199 computations (42.5% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
0.3b
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
0.4b
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))

rewrite224.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
32×add-cube-cbrt_binary64
23×pow1_binary64
20×add-exp-log_binary64
20×add-sqr-sqrt_binary64
18×add-cbrt-cube_binary64
Counts
4 → 170
Calls

4 calls:

20.0ms
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
18.0ms
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
12.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
12.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 5059 to 3135 computations (38% saved)

series185.0ms (2.6%)

Error
0.1b
Counts
4 → 72
Calls

4 calls:

59.0ms
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
48.0ms
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
32.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
30.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 3336 to 2402 computations (28% saved)

simplify143.0ms (2%)

Algorithm
egg-herbie
Rules
664×fma-neg_binary64
320×associate-*l*_binary64
311×associate-*r*_binary64
234×associate-/l*_binary64
221×times-frac_binary64
Counts
242 → 179
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02655614
17275029
238774979
349564979

prune125.0ms (1.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1736179
Fresh235
Picked101
Done000
Total1769185
Error
0b
Counts
185 → 9
Alt Table
StatusErrorProgram
0.5b
(*.f64 (*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) 1/2) (/.f64 1 (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))))
2.9b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))))) (/.f64 1/2 a))
43.2b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 2) (pow.f64 (/.f64 1/2 a) 2))) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))))
0.4b
(/.f64 1 (/.f64 (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b))))) (*.f64 -2 (*.f64 c a))))
0.8b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -2 (*.f64 c a)) (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))) 3))
0.5b
(*.f64 (/.f64 (*.f64 c (*.f64 a -4)) (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b))))) (/.f64 1/2 a))
0.2b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
1.4b
(*.f64 (*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
6.0b
(-.f64 (neg.f64 (/.f64 c b)) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))
Compiler

Compiled 3741 to 2125 computations (43.2% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(/.f64 (*.f64 -2 (*.f64 c a)) a)
0.1b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
0.1b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))

rewrite195.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
38×add-cube-cbrt_binary64
26×add-exp-log_binary64
20×add-cbrt-cube_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
Counts
4 → 168
Calls

4 calls:

15.0ms
(/.f64 (*.f64 -2 (*.f64 c a)) a)
15.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
14.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
11.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 4234 to 2186 computations (48.4% saved)

series132.0ms (1.9%)

Error
0b
Counts
4 → 60
Calls

4 calls:

49.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
31.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
30.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
9.0ms
(/.f64 (*.f64 -2 (*.f64 c a)) a)
Compiler

Compiled 2369 to 1590 computations (32.9% saved)

simplify151.0ms (2.2%)

Algorithm
egg-herbie
Rules
738×fma-def_binary64
420×fma-neg_binary64
230×associate-*r*_binary64
207×associate-*l*_binary64
188×times-frac_binary64
Counts
228 → 156
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02314279
16273961
230003605
349603605
449413605

prune106.0ms (1.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1533156
Fresh538
Picked101
Done000
Total1596165
Error
0b
Counts
165 → 6
Alt Table
StatusErrorProgram
2.6b
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -2) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
0.5b
(*.f64 (*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) 1/2) (/.f64 1 (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))))
0.8b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -2 (*.f64 c a)) (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))) 3))
0.3b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)))))
1.4b
(*.f64 (*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
0.4b
(*.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))))
Compiler

Compiled 2822 to 1632 computations (42.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)))))
0.1b
(+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))))
0.6b
(cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))
0.7b
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)

rewrite204.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
36×add-cube-cbrt_binary64
19×add-exp-log_binary64
16×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
13×pow1_binary64
Counts
4 → 165
Calls

4 calls:

16.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)))))
14.0ms
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)
12.0ms
(+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))))
11.0ms
(cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))
Compiler

Compiled 4513 to 2638 computations (41.5% saved)

series180.0ms (2.6%)

Error
0b
Counts
4 → 80
Calls

4 calls:

52.0ms
(pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)
49.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)))))
31.0ms
(+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))))
30.0ms
(cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3))
Compiler

Compiled 3432 to 2390 computations (30.4% saved)

simplify192.0ms (2.7%)

Algorithm
egg-herbie
Rules
676×fma-def_binary64
338×fma-neg_binary64
298×unswap-sqr_binary64
294×cancel-sign-sub-inv_binary64
193×log-prod_binary64
Counts
245 → 175
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02424942
16094562
224674296
346844296
449914296
549384296

prune107.0ms (1.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1750175
Fresh055
Picked011
Done000
Total1756181
Error
0b
Counts
181 → 6
Alt Table
StatusErrorProgram
2.6b
(-.f64 (*.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -2) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
0.5b
(*.f64 (*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) 1/2) (/.f64 1 (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))))
0.8b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -2 (*.f64 c a)) (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))) 3))
0.3b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)) 3)))))
1.4b
(*.f64 (*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
0.4b
(*.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))))
Compiler

Compiled 2766 to 1584 computations (42.7% saved)

regimes2.1s (30.3%)

Accuracy

Total 0.1b remaining (82%)

Threshold costs 0.1b (82%)

Compiler

Compiled 46816 to 30318 computations (35.2% saved)

simplify5.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
01627
12625
23925
34625
45025
55125
65025

end1.0ms (0%)

Compiler

Compiled 20 to 14 computations (30% saved)

sample1.6s (22.4%)

Algorithm
intervals
Results
377.0ms2918×body256valid
339.0ms5082×body128valid
282.0ms8908×pre128true
59.0ms908×body128nan
Compiler

Compiled 235 to 164 computations (30.2% saved)

Profiling

Loading profile data...