Details

Time bar (total: 9.1s)

analyze680.0ms (7.5%)

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)

sample2.5s (27.4%)

Results
738.0ms5296×body128valid
671.0ms1206×body2048valid
342.0ms743×body1024valid
312.0ms439×body4096valid
147.0ms1043×body128invalid
125.0ms380×body512valid
51.0ms192×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify382.0ms (4.2%)

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

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.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
33.9b
(/.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)

localize13.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.2b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
1.1b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series197.0ms (2.2%)

Counts
4 → 96
Calls

4 calls:

83.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
59.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
44.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
10.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite29.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:

9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
8.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
3.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

simplify135.0ms (1.5%)

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 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02434202
16933825
224883724
346523704
449853704

prune159.0ms (1.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1998207
Fresh011
Picked101
Done000
Total2009209
Error
3.3b
Counts
209 → 9
Alt Table
StatusErrorProgram
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
44.2b
(/.f64 (neg.f64 b) a)
38.4b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (/.f64 a (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2)))
53.2b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))
29.7b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
37.6b
(neg.f64 (/.f64 c b))
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))
55.2b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
30.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) 2) (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
Compiler

Compiled 5667 to 3178 computations (43.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a))
0.1b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
0.7b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
12.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series834.0ms (9.2%)

Counts
4 → 36
Calls

4 calls:

425.0ms
(/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a))
240.0ms
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
149.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
19.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite111.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
711×times-frac_binary64
417×*-un-lft-identity_binary64
417×add-sqr-sqrt_binary64
319×add-cube-cbrt_binary64
81×associate-/r*_binary64
Counts
4 → 418
Calls

4 calls:

14.0ms
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
11.0ms
(/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a))
7.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)

simplify540.0ms (5.9%)

Algorithm
egg-herbie
Rules
760×fma-def_binary64
357×associate-/r/_binary64
258×*-commutative_binary64
233×associate-/r*_binary64
233×fma-neg_binary64
Counts
454 → 637
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
049118215
1113516821
2408616796
3495016796
4494516796

prune665.0ms (7.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New6316637
Fresh358
Picked011
Done000
Total63412646
Error
1.4b
Counts
646 → 12
Alt Table
StatusErrorProgram
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
29.9b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)))
44.6b
(/.f64 1 (fma.f64 -1 (/.f64 (*.f64 a b) (*.f64 c a)) (/.f64 a b)))
53.2b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))
29.6b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) a)
29.9b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b) (sqrt.f64 2)) (/.f64 1 (*.f64 a (sqrt.f64 2))))
37.6b
(neg.f64 (/.f64 c b))
30.2b
(/.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 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))
46.2b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b) a)))
44.2b
(/.f64 (neg.f64 b) a)
29.7b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
Compiler

Compiled 22051 to 14748 computations (33.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -4 (*.f64 c a))
0.1b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) a)
0.7b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)
12.9b
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

series411.0ms (4.5%)

Counts
4 → 24
Calls

4 calls:

238.0ms
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) a)
148.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)
20.0ms
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
5.0ms
(*.f64 -4 (*.f64 c a))

rewrite21.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×*-un-lft-identity_binary64
17×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
15×pow1_binary64
14×add-cbrt-cube_binary64
Counts
4 → 89
Calls

4 calls:

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

simplify93.0ms (1%)

Algorithm
egg-herbie
Rules
569×fma-def_binary64
312×fma-neg_binary64
270×cancel-sign-sub-inv_binary64
260×neg-mul-1_binary64
180×distribute-rgt-neg-in_binary64
Counts
113 → 146
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02462916
16162297
222762195
345332195
449432195

prune120.0ms (1.3%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1460146
Fresh01010
Picked011
Done011
Total14612158
Error
1.4b
Counts
158 → 12
Alt Table
StatusErrorProgram
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
29.9b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)))
44.6b
(/.f64 1 (fma.f64 -1 (/.f64 (*.f64 a b) (*.f64 c a)) (/.f64 a b)))
53.2b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))
29.6b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) a)
29.9b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b) (sqrt.f64 2)) (/.f64 1 (*.f64 a (sqrt.f64 2))))
37.6b
(neg.f64 (/.f64 c b))
30.2b
(/.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 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))
46.2b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b) a)))
44.2b
(/.f64 (neg.f64 b) a)
29.7b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
Compiler

Compiled 4196 to 2505 computations (40.3% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
0.7b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)
12.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))
12.9b
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

prune161.0ms (1.8%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1521153
Fresh189
Picked011
Done022
Total15312165
Error
1.4b
Counts
165 → 12
Alt Table
StatusErrorProgram
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
29.9b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)))
44.6b
(/.f64 1 (fma.f64 -1 (/.f64 (*.f64 a b) (*.f64 c a)) (/.f64 a b)))
53.2b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))
29.6b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) a)
29.7b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a)))
30.7b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)) (/.f64 2 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))) b) b)) a)))
29.9b
(*.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b) (sqrt.f64 2)) (/.f64 1 (*.f64 a (sqrt.f64 2))))
37.6b
(neg.f64 (/.f64 c b))
46.2b
(/.f64 1 (/.f64 2 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b) a)))
44.2b
(/.f64 (neg.f64 b) 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))
Compiler

Compiled 6319 to 3909 computations (38.1% saved)

regimes1.7s (19.1%)

Accuracy

Total 7.8b remaining (74.5%)

Threshold costs 0b (0%)

Counts
142 → 3
Compiler

Compiled 13636 to 9677 computations (29% saved)

bsearch98.0ms (1.1%)

Steps
ItersRangePoint
10
6.262670302237526e-14
6.277611502153688
2.0271929275340676e-10
9
-2.721120816297128e+161
-2.6206363159408652e+153
-3.274807826339219e+153
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.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
02652
13950
24650
35050
45150
55150

end178.0ms (2%)

Compiler

Compiled 318 to 223 computations (29.9% saved)

Profiling

Loading profile data...