Details

Time bar (total: 11.6s)

analyze607.0ms (5.2%)

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)

sample3.1s (26.6%)

Results
1.1s1162×body2048valid
940.0ms5366×body128valid
304.0ms759×body1024valid
255.0ms417×body4096valid
185.0ms1074×body128invalid
117.0ms383×body512valid
38.0ms169×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify146.0ms (1.3%)

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)))

series160.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

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

rewrite68.0ms (0.6%)

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:

64.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
64.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
64.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
64.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.6%)

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

prune148.0ms (1.3%)

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)

localize11.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.8s (15.3%)

Counts
2 → 40
Calls

2 calls:

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

rewrite64.0ms (0.5%)

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:

62.0ms
(/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
61.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

simplify61.0ms (0.5%)

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

prune168.0ms (1.4%)

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
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)))))))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
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 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
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 (*.f64 2 (/.f64 c b)))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
Compiler

Compiled 6110 to 3783 computations (38.1% saved)

localize12.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.6s (13.8%)

Counts
2 → 40
Calls

2 calls:

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

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

63.0ms
(pow.f64 (*.f64 a (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1)
63.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

simplify71.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

prune138.0ms (1.2%)

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
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)))))))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
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 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
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 (*.f64 2 (/.f64 c b)))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
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)))

series259.0ms (2.2%)

Counts
2 → 40
Calls

2 calls:

192.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))))))

rewrite65.0ms (0.6%)

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:

64.0ms
(/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
64.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

simplify95.0ms (0.8%)

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

prune208.0ms (1.8%)

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
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)))))))
43.7b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
38.9b
(*.f64 -1/2 (pow.f64 (*.f64 1/2 (-.f64 (/.f64 b c) (/.f64 a b))) -1))
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 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1))
45.3b
(*.f64 -1/2 (/.f64 (/.f64 1 a) (fma.f64 1/2 (/.f64 b (*.f64 a c)) (/.f64 -1/2 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 (*.f64 2 (/.f64 c b)))
43.8b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
Compiler

Compiled 5845 to 3771 computations (35.5% saved)

regimes2.4s (21%)

Accuracy

Total 4.3b remaining (43.1%)

Threshold costs 0b (0%)

Counts
128 → 3
Compiler

Compiled 10924 to 7782 computations (28.8% saved)

bsearch59.0ms (0.5%)

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)

simplify7.0ms (0.1%)

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

end207.0ms (1.8%)

Compiler

Compiled 250 to 170 computations (32% saved)

Profiling

Loading profile data...