Details

Time bar (total: 27.6s)

analyze1.9s (6.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0.6%99.1%0.3%11
1.8%98%0.3%12
2.6%97.1%0.3%13
4%95.7%0.3%14
Compiler

Compiled 24 to 15 computations (37.5% saved)

sample1.7s (6.1%)

Results
1.4s8256×body128valid
59.0ms404×body128invalid
Compiler

Compiled 71 to 44 computations (38% saved)

simplify70.0ms (0.3%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
593×fma-def_binary64
507×div-sub_binary64
484×sub-neg_binary64
470×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01523
12521
25021
39321
415721
527021
642321
772421
8134121
9389821
10440021
11495221

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
21.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
21.9b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
21.9b
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
Compiler

Compiled 126 to 69 computations (45.2% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 z (-.f64 b y) y)
0.0b
(*.f64 z (-.f64 t a))
0.5b
(fma.f64 x y (*.f64 z (-.f64 t a)))
21.2b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))

series386.0ms (1.4%)

Counts
4 → 204
Calls

4 calls:

355.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
17.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))
7.0ms
(fma.f64 z (-.f64 b y) y)
7.0ms
(*.f64 z (-.f64 t a))

rewrite74.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
976×prod-diff_binary64
151×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
139×add-log-exp_binary64
Counts
4 → 104
Calls

4 calls:

71.0ms
(fma.f64 z (-.f64 b y) y)
71.0ms
(*.f64 z (-.f64 t a))
71.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))
71.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01347
128547
2383747
3580547
000
100

simplify204.0ms (0.7%)

Algorithm
egg-herbie
Rules
768×times-frac_binary64
647×associate-/l*_binary64
486×fma-def_binary64
258×+-commutative_binary64
206×associate-+r+_binary64
Counts
308 → 210
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06118236
120897560
251287560

prune275.0ms (1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2037210
Fresh101
Picked011
Done000
Total2048212
Error
0.0b
Counts
212 → 8
Alt Table
StatusErrorProgram
33.3b
(/.f64 (-.f64 t a) (-.f64 b y))
34.4b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
42.0b
(/.f64 x (-.f64 1 z))
21.9b
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
21.9b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
38.1b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (/.f64 1 (fma.f64 z (-.f64 b y) y))))
27.3b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
28.4b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
Compiler

Compiled 10314 to 4173 computations (59.5% saved)

localize13.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 t a))
0.4b
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
0.5b
(fma.f64 x y (*.f64 z (-.f64 t a)))
21.0b
(/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a))))

series9.3s (33.8%)

Counts
2 → 144
Calls

2 calls:

9.0s
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
277.0ms
(/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a))))

rewrite80.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
976×prod-diff_binary64
170×add-sqr-sqrt_binary64
161×log1p-expm1-u_binary64
161×expm1-log1p-u_binary64
156×add-cbrt-cube_binary64
Counts
2 → 77
Calls

2 calls:

78.0ms
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
78.0ms
(/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
132742
2422542
3615142
000
100

simplify855.0ms (3.1%)

Algorithm
egg-herbie
Counts
221 → 194
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09015157659

prune1.6s (5.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2522254
Fresh156
Picked011
Done011
Total2539262
Error
0.0b
Counts
262 → 9
Alt Table
StatusErrorProgram
34.4b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
42.0b
(/.f64 x (-.f64 1 z))
21.9b
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
21.9b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
33.6b
(pow.f64 (/.f64 (-.f64 b y) (-.f64 t a)) -1)
45.6b
(pow.f64 (*.f64 (sqrt.f64 (fma.f64 z (-.f64 b y) y)) (*.f64 (sqrt.f64 (fma.f64 z (-.f64 b y) y)) (/.f64 1 (fma.f64 x y (*.f64 z (-.f64 t a)))))) -1)
38.1b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (/.f64 1 (fma.f64 z (-.f64 b y) y))))
27.3b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
28.4b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
Compiler

Compiled 106252 to 48389 computations (54.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.0b
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
8.2b
(/.f64 a (pow.f64 (-.f64 y b) 2))
9.6b
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))
9.6b
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))

series422.0ms (1.5%)

Counts
4 → 188
Calls

4 calls:

138.0ms
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
112.0ms
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))
109.0ms
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))
63.0ms
(/.f64 a (pow.f64 (-.f64 y b) 2))

rewrite75.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
214×add-sqr-sqrt_binary64
210×prod-diff_binary64
201×log1p-expm1-u_binary64
201×expm1-log1p-u_binary64
198×add-log-exp_binary64
Counts
4 → 84
Calls

4 calls:

72.0ms
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
72.0ms
(/.f64 a (pow.f64 (-.f64 y b) 2))
72.0ms
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))
72.0ms
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01992
142092
2485892
3526292
000
100

simplify143.0ms (0.5%)

Algorithm
egg-herbie
Rules
494×associate-+r+_binary64
377×cancel-sign-sub-inv_binary64
367×fma-neg_binary64
330×+-commutative_binary64
305×associate-+l+_binary64
Counts
272 → 203
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03738039
110947556
242687512
353537512

prune228.0ms (0.8%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2021203
Fresh156
Picked011
Done022
Total2039212
Error
0.0b
Counts
212 → 9
Alt Table
StatusErrorProgram
43.3b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (/.f64 (+.f64 (/.f64 (*.f64 y x) (-.f64 y b)) (/.f64 (*.f64 y t) (pow.f64 (-.f64 y b) 2))) z))
27.3b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
34.4b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
42.0b
(/.f64 x (-.f64 1 z))
21.9b
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
21.9b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
33.6b
(pow.f64 (/.f64 (-.f64 b y) (-.f64 t a)) -1)
38.1b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (/.f64 1 (fma.f64 z (-.f64 b y) y))))
28.4b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
Compiler

Compiled 12070 to 4259 computations (64.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.3b
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
8.2b
(/.f64 a (pow.f64 (-.f64 b y) 2))
9.7b
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
14.4b
(/.f64 y (pow.f64 (-.f64 b y) 2))

series342.0ms (1.2%)

Counts
4 → 188
Calls

4 calls:

163.0ms
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
104.0ms
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
62.0ms
(/.f64 a (pow.f64 (-.f64 b y) 2))
11.0ms
(/.f64 y (pow.f64 (-.f64 b y) 2))

rewrite80.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
380×prod-diff_binary64
202×add-sqr-sqrt_binary64
190×log1p-expm1-u_binary64
190×expm1-log1p-u_binary64
187×add-log-exp_binary64
Counts
4 → 100
Calls

4 calls:

77.0ms
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
77.0ms
(/.f64 a (pow.f64 (-.f64 b y) 2))
77.0ms
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
77.0ms
(/.f64 y (pow.f64 (-.f64 b y) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01879
139879
2484579
3568779
000
100

simplify388.0ms (1.4%)

Algorithm
egg-herbie
Rules
396×associate-+r+_binary64
278×+-commutative_binary64
276×fma-neg_binary64
266×associate-+l+_binary64
261×cancel-sign-sub-inv_binary64
Counts
288 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03057266
19506757
237046281
347926281
450716281

prune236.0ms (0.9%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2091210
Fresh145
Picked101
Done033
Total2118219
Error
0.0b
Counts
219 → 8
Alt Table
StatusErrorProgram
38.7b
(-.f64 (/.f64 (*.f64 (/.f64 y (-.f64 b y)) (+.f64 (/.f64 a (-.f64 b y)) x)) z) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
34.4b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
42.0b
(/.f64 x (-.f64 1 z))
21.9b
(pow.f64 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))) -1)
21.9b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
33.6b
(pow.f64 (/.f64 (-.f64 b y) (-.f64 t a)) -1)
38.1b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (/.f64 1 (fma.f64 z (-.f64 b y) y))))
27.3b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
Compiler

Compiled 11437 to 3825 computations (66.6% saved)

regimes9.0s (32.5%)

Accuracy

Total 6.6b remaining (98.4%)

Threshold costs 0b (0%)

Counts
209 → 5
Compiler

Compiled 52998 to 29286 computations (44.7% saved)

bsearch92.0ms (0.3%)

Steps
ItersRangePoint
10
9.840717338813106e+36
6.727653674244091e+53
9.985855448544829e+36
7
-2.6490739868189934e-292
-8.74584075505663e-294
-2.6105144292203774e-292
6
-3.546418583660696e-258
-4.643792558695145e-259
-4.9404296087192797e-259
6
-351054.93321521126
-47339.18780538291
-345127.0157873039
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify10.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
059219
186217
2110217
3123217
4130217
5131217
6131217

end171.0ms (0.6%)

Compiler

Compiled 541 to 251 computations (53.6% saved)

Profiling

Loading profile data...