Details

Time bar (total: 16.5s)

analyze1.3s (7.7%)

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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample99.0ms (0.6%)

Algorithm
intervals
Results
24.0ms175×body128valid
21.0ms35×body2048valid
10.0ms14×body4096valid
7.0ms14×body1024valid
4.0ms11×body512valid
2.0ms19×body128nan
2.0msbody256valid
1.0msbody128invalid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify412.0ms (2.5%)

Algorithm
egg-herbie
Rules
2009×fma-neg_binary64
1508×div-sub_binary64
1334×associate-/l*_binary64
1156×fma-def_binary64
685×associate-/l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13422
26422
313222
419822
532522
655222
791822
8135222
9155422
10235922
11315822
12256522
13265322
14321922
15336122
16346122
17398522
18417122
19443922
20465922
21470122
22475722
23494122
24494122
25336522
26305922
27298322
28298522
29299722
30299722
31299722
32299722
33273622

prune7.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
32.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
33.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
33.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
23.0b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite53.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

17.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
15.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
6.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
5.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

series355.0ms (2.2%)

Counts
4 → 96
Calls

4 calls:

140.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
88.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
71.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
55.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

simplify265.0ms (1.6%)

Algorithm
egg-herbie
Rules
697×fma-neg_binary64
327×cancel-sign-sub-inv_binary64
226×distribute-rgt-neg-in_binary64
150×distribute-rgt-neg-out_binary64
146×associate-*r*_binary64
Counts
186 → 346
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02434202
16933825
224883724
346523704
449853704

prune319.0ms (1.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3379346
Fresh101
Picked011
Done000
Total33810348
Error
6.9b
Counts
348 → 10
Alt Table
StatusErrorProgram
44.0b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (*.f64 (*.f64 2 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))))
33.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
35.6b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
32.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.0b
(neg.f64 (/.f64 c b))
33.0b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
46.8b
(/.f64 (neg.f64 b) a)
56.3b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
45.3b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
Compiler

Compiled 5741 to 3198 computations (44.3% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
2.8b
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
14.6b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite42.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
26×*-un-lft-identity_binary64
26×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
15×exp-sum_binary64
15×log-prod_binary64
Counts
4 → 100
Calls

4 calls:

14.0ms
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
6.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
6.0ms
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
5.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series1.8s (10.9%)

Counts
4 → 36
Calls

4 calls:

959.0ms
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
545.0ms
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
259.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
28.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify263.0ms (1.6%)

Algorithm
egg-herbie
Rules
768×fma-def_binary64
423×cancel-sign-sub-inv_binary64
338×fma-neg_binary64
223×times-frac_binary64
170×associate-/r*_binary64
Counts
136 → 257
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03244496
17753894
230843576
349673576
449743576

prune468.0ms (2.8%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2534257
Fresh088
Picked101
Done011
Total25413267
Error
4.4b
Counts
267 → 13
Alt Table
StatusErrorProgram
44.0b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (*.f64 (*.f64 2 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))))
33.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
33.0b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
46.4b
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -2) b) (/.f64 b (/.f64 (*.f64 -4 (*.f64 c a)) b))) -1/4 (/.f64 (*.f64 (*.f64 c a) -2) b)) (*.f64 2 a))
35.6b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
42.0b
(neg.f64 (/.f64 c b))
33.5b
(/.f64 (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))) (*.f64 2 a))
49.0b
(/.f64 (exp.f64 (log.f64 (*.f64 -2 b))) (*.f64 2 a))
45.3b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
45.1b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b))) (*.f64 2 a))
46.8b
(/.f64 (neg.f64 b) a)
56.3b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
Compiler

Compiled 7612 to 5102 computations (33% saved)

localize665.0ms (4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
23.0b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite40.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
53×times-frac_binary64
37×*-un-lft-identity_binary64
22×add-exp-log_binary64
21×add-sqr-sqrt_binary64
21×add-cube-cbrt_binary64
Counts
1 → 74
Calls

1 calls:

21.0ms
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))

series142.0ms (0.9%)

Counts
1 → 20
Calls

1 calls:

142.0ms
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))

simplify207.0ms (1.3%)

Algorithm
egg-herbie
Rules
665×associate-/l*_binary64
599×div-sub_binary64
346×fma-def_binary64
296×fma-neg_binary64
265×associate-/r/_binary64
Counts
94 → 184
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01643247
14342847
215122670
345872670
461712670

prune457.0ms (2.8%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New4303433
Fresh2911
Picked011
Done101
Total43313446
Error
4.4b
Counts
446 → 13
Alt Table
StatusErrorProgram
33.0b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
46.4b
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -2) b) (/.f64 b (/.f64 (*.f64 -4 (*.f64 c a)) b))) -1/4 (/.f64 (*.f64 (*.f64 c a) -2) b)) (*.f64 2 a))
35.6b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
42.0b
(neg.f64 (/.f64 c b))
33.5b
(/.f64 (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))) (*.f64 2 a))
34.3b
(*.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (/.f64 1 (-.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
49.0b
(/.f64 (exp.f64 (log.f64 (*.f64 -2 b))) (*.f64 2 a))
45.1b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b))) (*.f64 2 a))
46.8b
(/.f64 (neg.f64 b) a)
33.0b
(*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
56.3b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
35.7b
(/.f64 1 (/.f64 (*.f64 2 a) (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))))
Compiler

Compiled 7970 to 4687 computations (41.2% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
23.0b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite29.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64
13×associate-*l*_binary64
13×*-un-lft-identity_binary64
10×times-frac_binary64
add-cube-cbrt_binary64
Counts
1 → 42
Calls

1 calls:

23.0ms
(*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))

series152.0ms (0.9%)

Counts
1 → 20
Calls

1 calls:

152.0ms
(*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))

simplify162.0ms (1%)

Algorithm
egg-herbie
Rules
660×times-frac_binary64
537×fma-def_binary64
412×distribute-rgt-in_binary64
331×fma-neg_binary64
154×distribute-rgt-neg-out_binary64
Counts
62 → 120
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01571930
15351695
217791607
349281607
450671607

prune333.0ms (2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New6162618
Fresh2911
Picked101
Done011
Total61912631
Error
4.4b
Counts
631 → 12
Alt Table
StatusErrorProgram
33.0b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
46.4b
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -2) b) (/.f64 b (/.f64 (*.f64 -4 (*.f64 c a)) b))) -1/4 (/.f64 (*.f64 (*.f64 c a) -2) b)) (*.f64 2 a))
42.0b
(neg.f64 (/.f64 c b))
33.5b
(/.f64 (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))))) (cbrt.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))) (*.f64 2 a))
34.3b
(*.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (/.f64 1 (-.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
49.0b
(/.f64 (exp.f64 (log.f64 (*.f64 -2 b))) (*.f64 2 a))
35.7b
(*.f64 (/.f64 1/2 a) (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))
45.1b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b))) (*.f64 2 a))
30.3b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) a)
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
46.8b
(/.f64 (neg.f64 b) a)
56.3b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
Compiler

Compiled 6222 to 3496 computations (43.8% saved)

regimes5.1s (30.9%)

Accuracy

Total 7.3b remaining (69.7%)

Threshold costs 0b (0%)

Compiler

Compiled 20019 to 14267 computations (28.7% saved)

bsearch115.0ms (0.7%)

Steps
ItersRangePoint
8
6.144593741441501e-98
1.4640050268977364e-94
4.7492894376772045e-95
9
-1.009631966683708e+100
-1.380297336827828e+95
-4.558931914031214e+98
Compiler

Compiled 4 to 3 computations (25% saved)

simplify11.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02654
14652
26352
37852
48552
58852
68952
78852

end1.0ms (0%)

Compiler

Compiled 38 to 23 computations (39.5% saved)

sample3.7s (22.3%)

Algorithm
intervals
Results
684.0ms5160×body128valid
683.0ms1114×body2048valid
547.0ms718×body1024valid
314.0ms407×body4096valid
200.0ms406×body512valid
86.0ms725×body128nan
46.0ms195×body256valid
44.0ms359×body128invalid
Compiler

Compiled 297 to 207 computations (30.3% saved)

Profiling

Loading profile data...