Details

Time bar (total: 13.6s)

analyze1.9s (13.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
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)

sample117.0ms (0.9%)

Algorithm
intervals
Results
34.0ms42×body2048valid
20.0ms151×body128valid
17.0ms33×body1024valid
6.0ms15×body512valid
6.0msbody4096valid
3.0ms23×body128nan
2.0msbody256valid
1.0ms10×body128invalid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify163.0ms (1.2%)

Algorithm
egg-herbie
Rules
2079×fma-neg_binary64
1006×fma-def_binary64
919×div-sub_binary64
626×distribute-rgt-in_binary64
435×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
29524
322722
435722
561422
6110322
7137322
8163622
9233022
10318722
11288022
12282722
13289622
14292222
15379722
16482422
17524022

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize26.0ms (0.2%)

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.5b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
0.6b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
20.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series462.0ms (3.4%)

Counts
4 → 96
Calls

4 calls:

208.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
124.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
100.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
29.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite103.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
63×add-sqr-sqrt_binary64
62×*-un-lft-identity_binary64
61×prod-diff_binary64
50×add-cube-cbrt_binary64
39×sqrt-prod_binary64
Counts
4 → 162
Calls

4 calls:

30.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
17.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
14.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
6.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

simplify386.0ms (2.8%)

Algorithm
egg-herbie
Rules
855×fma-neg_binary64
335×cancel-sign-sub-inv_binary64
185×associate-*r*_binary64
176×unswap-sqr_binary64
170×sub-neg_binary64
Counts
258 → 277
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03157755
18105940
229855417
348245409
451965409

prune558.0ms (4.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2689277
Fresh101
Picked101
Done000
Total2709279
Error
3.3b
Counts
279 → 9
Alt Table
StatusErrorProgram
38.5b
(/.f64 (-.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
32.5b
(/.f64 (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a -2))
44.9b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a 2)) 3))
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
47.0b
(/.f64 (neg.f64 b) a)
32.0b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
43.1b
(/.f64 (/.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 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
34.2b
(/.f64 1 (/.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
36.6b
(neg.f64 (/.f64 c b))
Compiler

Compiled 10090 to 5373 computations (46.7% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
1.7b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
5.2b
(/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
10.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series2.6s (19%)

Counts
4 → 36
Calls

4 calls:

1.2s
(/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
1.0s
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
307.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
41.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite46.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
45×add-cbrt-cube_binary64
45×add-exp-log_binary64
28×*-un-lft-identity_binary64
28×add-sqr-sqrt_binary64
26×times-frac_binary64
Counts
4 → 127
Calls

4 calls:

12.0ms
(/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
9.0ms
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
4.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify204.0ms (1.5%)

Algorithm
egg-herbie
Rules
479×times-frac_binary64
323×fma-neg_binary64
303×associate-/r*_binary64
300×associate-/l*_binary64
237×associate-*r*_binary64
Counts
163 → 260
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03446012
19104721
242224697
348654696
449284696

prune256.0ms (1.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2591260
Fresh178
Picked011
Done000
Total2609269
Error
3.3b
Counts
269 → 9
Alt Table
StatusErrorProgram
38.5b
(/.f64 (-.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
32.5b
(/.f64 (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a -2))
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
47.0b
(/.f64 (neg.f64 b) a)
32.0b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
43.1b
(/.f64 (/.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 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
45.1b
(*.f64 2 (/.f64 c (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
34.2b
(/.f64 1 (/.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
36.6b
(neg.f64 (/.f64 c b))
Compiler

Compiled 9015 to 5371 computations (40.4% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
0.1b
(/.f64 (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a -2))
0.3b
(+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
10.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series602.0ms (4.4%)

Counts
3 → 42
Calls

3 calls:

290.0ms
(/.f64 (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a -2))
173.0ms
(+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
138.0ms
(hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
3 → 54
Calls

3 calls:

6.0ms
(+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
5.0ms
(/.f64 (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (*.f64 a -2))
0.0ms
(hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)

simplify104.0ms (0.8%)

Algorithm
egg-herbie
Rules
913×associate-/l*_binary64
462×fma-def_binary64
257×fma-neg_binary64
204×cancel-sign-sub-inv_binary64
170×neg-sub0_binary64
Counts
96 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01982632
15692413
218252336
347352328
450332328

prune154.0ms (1.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1693172
Fresh257
Picked101
Done011
Total1729181
Error
1.5b
Counts
181 → 9
Alt Table
StatusErrorProgram
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
32.6b
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))
38.5b
(/.f64 (+.f64 b (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 a -2))
47.0b
(/.f64 (neg.f64 b) a)
32.0b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
43.1b
(/.f64 (/.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 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
45.1b
(*.f64 2 (/.f64 c (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
44.1b
(/.f64 (+.f64 b (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b)) (*.f64 a -2))
36.6b
(neg.f64 (/.f64 c b))
Compiler

Compiled 4678 to 3012 computations (35.6% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))
0.1b
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))
0.3b
(+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
10.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series689.0ms (5.1%)

Counts
2 → 28
Calls

2 calls:

423.0ms
(/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))
266.0ms
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))

rewrite21.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
50×times-frac_binary64
35×*-un-lft-identity_binary64
28×add-exp-log_binary64
23×add-sqr-sqrt_binary64
23×add-cube-cbrt_binary64
Counts
2 → 97
Calls

2 calls:

7.0ms
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))
5.0ms
(/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))

simplify97.0ms (0.7%)

Algorithm
egg-herbie
Rules
730×associate-/r*_binary64
430×associate-/r/_binary64
377×fma-def_binary64
313×associate-/l/_binary64
202×distribute-rgt-in_binary64
Counts
125 → 186
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02194393
15973857
219993800
351493800

prune204.0ms (1.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2522254
Fresh257
Picked011
Done011
Total2549263
Error
1.4b
Counts
263 → 9
Alt Table
StatusErrorProgram
47.1b
(-.f64 (/.f64 c b) (/.f64 b a))
32.6b
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))
43.1b
(/.f64 (/.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 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
44.1b
(/.f64 1 (/.f64 (*.f64 a -2) (+.f64 b (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b))))
38.5b
(/.f64 (+.f64 b (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 a -2))
32.0b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (*.f64 2 a))
45.1b
(*.f64 2 (/.f64 c (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
47.1b
(/.f64 1 (neg.f64 (/.f64 a b)))
36.6b
(neg.f64 (/.f64 c b))
Compiler

Compiled 7367 to 4916 computations (33.3% saved)

regimes2.0s (14.5%)

Accuracy

Total 9.3b remaining (76%)

Threshold costs 0b (0%)

Counts
157 → 3
Compiler

Compiled 14193 to 10038 computations (29.3% saved)

bsearch56.0ms (0.4%)

Steps
ItersRangePoint
9
2.1844419739613067e+26
5.3939849710379854e+32
9.052048006936924e+27
5
-4.927297779920754e-140
-2.0643786561246256e-140
-4.848123900391362e-140
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: 0 (0.0ms)

IterNodesCost
02751
13751
25251
36651
47651
58051
68051

end1.0ms (0%)

Compiler

Compiled 37 to 23 computations (37.8% saved)

sample2.9s (21.1%)

Algorithm
intervals
Results
678.0ms1124×body2048valid
576.0ms5202×body128valid
367.0ms762×body1024valid
260.0ms372×body4096valid
111.0ms344×body512valid
70.0ms642×body128nan
44.0ms396×body128invalid
40.0ms196×body256valid
Compiler

Compiled 229 to 154 computations (32.8% saved)

Profiling

Loading profile data...