Details

Time bar (total: 10.0s)

analyze684.0ms (6.8%)

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.4s (24%)

Results
750.0ms5366×body128valid
606.0ms1162×body2048valid
317.0ms759×body1024valid
276.0ms417×body4096valid
133.0ms1074×body128invalid
119.0ms383×body512valid
38.0ms169×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify140.0ms (1.4%)

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

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
34.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
34.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
Compiler

Compiled 71 to 46 computations (35.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
0.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
20.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series173.0ms (1.7%)

Counts
4 → 96
Calls

4 calls:

70.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
50.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
42.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
10.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
963×prod-diff_binary64
209×log1p-udef_binary64
119×egg-rr
118×add-sqr-sqrt_binary64
113×log1p-expm1-u_binary64
Counts
4 → 119
Calls

4 calls:

65.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
65.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
65.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
65.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01159
123559
2294459
3502159
000
100

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
780×times-frac_binary64
480×associate-/l*_binary64
434×associate-/r*_binary64
344×fma-def_binary64
209×fma-neg_binary64
Counts
215 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01072081
13511997
211691913
348961913
449931913

prune143.0ms (1.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1819190
Fresh000
Picked011
Done000
Total18110191
Error
4.5b
Counts
191 → 10
Alt Table
StatusErrorProgram
34.4b
(*.f64 -1/2 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 1 a)))
38.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
46.2b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) a))
34.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
34.3b
(*.f64 -1/2 (pow.f64 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1))
58.3b
(*.f64 -1/2 (/.f64 (+.f64 b (neg.f64 b)) a))
34.5b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1 a))))
34.8b
(*.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 2)))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
Compiler

Compiled 4917 to 2954 computations (39.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
0.1b
(pow.f64 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1)
0.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
20.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series1.5s (15.4%)

Counts
2 → 40
Calls

2 calls:

1.3s
(pow.f64 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1)
226.0ms
(/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
963×prod-diff_binary64
136×add-sqr-sqrt_binary64
130×log1p-expm1-u_binary64
130×expm1-log1p-u_binary64
127×add-cbrt-cube_binary64
Counts
2 → 80
Calls

2 calls:

60.0ms
(/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
60.0ms
(pow.f64 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01341
127638
2330538
3498138
000
100

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
860×times-frac_binary64
520×associate-/l*_binary64
485×associate-/r*_binary64
256×fma-def_binary64
233×fma-neg_binary64
Counts
120 → 124
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0951240
13181192
211131138
349051138
450471138

prune180.0ms (1.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2214225
Fresh538
Picked101
Done011
Total2278235
Error
4.5b
Counts
235 → 8
Alt Table
StatusErrorProgram
34.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
49.2b
(*.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 a (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
34.3b
(*.f64 -1/2 (pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
34.4b
(*.f64 -1/2 (/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
38.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
Compiler

Compiled 6110 to 3783 computations (38.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1)
0.2b
(*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
0.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
20.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series1.5s (15.3%)

Counts
2 → 40
Calls

2 calls:

1.3s
(pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1)
202.0ms
(*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))

rewrite64.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
954×prod-diff_binary64
150×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
140×add-cbrt-cube_binary64
Counts
2 → 51
Calls

2 calls:

62.0ms
(pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1)
62.0ms
(*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
131438
2356238
3519838
000
100

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
860×times-frac_binary64
520×associate-/l*_binary64
485×associate-/r*_binary64
256×fma-def_binary64
233×fma-neg_binary64
Counts
91 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0951240
13181192
211131138
349051138
450471138

prune143.0ms (1.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1960196
Fresh066
Picked011
Done011
Total1968204
Error
4.5b
Counts
204 → 8
Alt Table
StatusErrorProgram
34.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
49.2b
(*.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 a (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
34.3b
(*.f64 -1/2 (pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
34.4b
(*.f64 -1/2 (/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
38.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
Compiler

Compiled 5442 to 3492 computations (35.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
0.2b
(/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
0.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
20.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series249.0ms (2.5%)

Counts
2 → 40
Calls

2 calls:

183.0ms
(/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
67.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))

rewrite74.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
977×prod-diff_binary64
148×add-sqr-sqrt_binary64
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
138×add-cbrt-cube_binary64
Counts
2 → 65
Calls

2 calls:

72.0ms
(/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
72.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01444
130238
2361938
3532738
000
100

simplify41.0ms (0.4%)

Algorithm
egg-herbie
Rules
642×times-frac_binary64
414×associate-/r*_binary64
398×associate-/l*_binary64
341×associate-*r*_binary64
283×associate-*l*_binary64
Counts
105 → 110
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911163
12971130
210071088
351211088

prune151.0ms (1.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2101211
Fresh055
Picked011
Done022
Total2109219
Error
4.5b
Counts
219 → 9
Alt Table
StatusErrorProgram
34.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
49.2b
(*.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 a (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
34.3b
(*.f64 -1/2 (pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
34.4b
(*.f64 -1/2 (/.f64 (/.f64 1 a) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
45.3b
(*.f64 -1/2 (/.f64 (/.f64 1 a) (fma.f64 1/2 (/.f64 b (*.f64 a c)) (/.f64 -1/2 b))))
38.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
Compiler

Compiled 5845 to 3771 computations (35.5% saved)

regimes1.9s (19%)

Accuracy

Total 4.3b remaining (43.1%)

Threshold costs 0b (0%)

Counts
128 → 3
Compiler

Compiled 10924 to 7782 computations (28.8% saved)

bsearch65.0ms (0.6%)

Steps
ItersRangePoint
3
1.1930040529625274e+118
3.063545414621053e+119
2.112249961483768e+119
10
-3.3175280852393708e-115
-4.5028412856082614e-128
-8.184097496269323e-116
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: 0 (0.0ms)

IterNodesCost
02860
13760
24460
34860
45160
55260
65260

end137.0ms (1.4%)

Compiler

Compiled 250 to 170 computations (32% saved)

Profiling

Loading profile data...