Details

Time bar (total: 9.6s)

analyze49.0ms (0.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%14%86%0
0%14%86%1
0%14%86%2
0%14%86%3
0%14%86%4
0%14%86%5
0%14%86%6
8.1%5.9%86%7
10.3%3.7%86%8
12.6%1.5%86%9
13.9%0.1%86%10
14%0%86%11
14%0%86%12
14%0%86%13
14%0%86%14
Compiler

Compiled 67 to 35 computations (47.8% saved)

sample1.5s (15.3%)

Results
1.5s8256×body128valid
Compiler

Compiled 134 to 70 computations (47.8% saved)

preprocess35.0ms (0.4%)

Algorithm
egg-herbie
Rules
915×distribute-rgt-in_binary64
897×distribute-lft-in_binary64
304×fma-def_binary64
241×times-frac_binary64
202×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053300
1246268
21026268
033
133
Stop Event
unsound
node limit
Symmetry

(sort alpha beta)

Compiler

Compiled 56 to 27 computations (51.8% saved)

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Rules
684×associate-+l+_binary64
483×associate-*l*_binary64
418×associate-*r*_binary64
369×times-frac_binary64
337×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01875
16767
233267
3216967
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
47.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
47.4b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))))
52.5b
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 2 i)) (+.f64 (+.f64 alpha beta) (*.f64 2 i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 2 i)) (+.f64 (+.f64 alpha beta) (*.f64 2 i))) 1))
Compiler

Compiled 315 to 155 computations (50.8% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))
0.3b
(/.f64 i (+.f64 alpha (fma.f64 i 2 beta)))
4.2b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))))
45.7b
(/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1)))

series1.5s (15.4%)

Counts
4 → 144
Calls

36 calls:

337.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))))
alpha
0
331.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))))
beta
0
268.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1))))
i
0
134.0ms
(/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1)))
beta
0
119.0ms
(/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i 2 beta)) (fma.f64 (+.f64 alpha (fma.f64 i 2 beta)) (+.f64 alpha (fma.f64 i 2 beta)) -1)))
alpha
0

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
211×add-sqr-sqrt_binary64
200×add-cbrt-cube_binary64
200×log1p-expm1-u_binary64
200×expm1-log1p-u_binary64
195×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018152
1411137
Stop Event
node limit
Counts
4 → 98

simplify362.0ms (3.8%)

Algorithm
egg-herbie
Rules
860×fma-def_binary64
570×associate-/l*_binary64
511×times-frac_binary64
69×sub-neg_binary64
56×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0290651644
Stop Event
node limit
Counts
242 → 276

prune1.6s (16.8%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2706276
Fresh101
Picked101
Done000
Total2726278
Error
8.8b
Counts
278 → 6
Alt Table
StatusErrorProgram
38.4b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta))) 2) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1)) (/.f64 (cbrt.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta))) (+.f64 alpha (fma.f64 i 2 beta)))))
38.1b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
17.8b
1/16
54.2b
(/.f64 (+.f64 i alpha) (/.f64 (*.f64 beta beta) i))
54.7b
(/.f64 (*.f64 (+.f64 i alpha) i) (pow.f64 beta 2))
43.3b
(*.f64 (/.f64 (fma.f64 i alpha (*.f64 i i)) (+.f64 (fma.f64 4 (*.f64 i alpha) (+.f64 (*.f64 alpha alpha) (*.f64 4 (*.f64 i i)))) -1)) (/.f64 (*.f64 i (+.f64 i alpha)) (pow.f64 (fma.f64 2 i alpha) 2)))
Compiler

Compiled 75136 to 46190 computations (38.5% saved)

localize0.0ms (0%)

prune7.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New000
Fresh055
Picked011
Done000
Total066
Error
8.8b
Counts
6 → 6
Alt Table
StatusErrorProgram
38.4b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta))) 2) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1)) (/.f64 (cbrt.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta))) (+.f64 alpha (fma.f64 i 2 beta)))))
38.1b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
17.8b
1/16
54.2b
(/.f64 (+.f64 i alpha) (/.f64 (*.f64 beta beta) i))
54.7b
(/.f64 (*.f64 (+.f64 i alpha) i) (pow.f64 beta 2))
43.3b
(*.f64 (/.f64 (fma.f64 i alpha (*.f64 i i)) (+.f64 (fma.f64 4 (*.f64 i alpha) (+.f64 (*.f64 alpha alpha) (*.f64 4 (*.f64 i i)))) -1)) (/.f64 (*.f64 i (+.f64 i alpha)) (pow.f64 (fma.f64 2 i alpha) 2)))
Compiler

Compiled 348 to 200 computations (42.5% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (+.f64 alpha (fma.f64 i 2 beta)))
0.3b
(/.f64 i (+.f64 alpha (fma.f64 i 2 beta)))
4.2b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
38.5b
(/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))

series1.3s (13.7%)

Counts
3 → 108
Calls

27 calls:

374.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
alpha
0
362.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
beta
0
280.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
i
0
74.0ms
(/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))
alpha
0
42.0ms
(/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))
beta
0

rewrite39.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
251×log1p-expm1-u_binary64
251×expm1-log1p-u_binary64
250×add-cbrt-cube_binary64
242×add-log-exp_binary64
241×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023103
1543103
Stop Event
node limit
Counts
3 → 52

simplify276.0ms (2.9%)

Algorithm
egg-herbie
Rules
703×fma-def_binary64
447×associate-/l*_binary64
336×associate-/r*_binary64
333×times-frac_binary64
59×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0239640224
Stop Event
node limit
Counts
160 → 192

prune1.3s (13%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2583261
Fresh134
Picked011
Done011
Total2598267
Error
4.6b
Counts
267 → 8
Alt Table
StatusErrorProgram
17.8b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
17.8b
1/16
38.4b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (+.f64 (*.f64 i i) (*.f64 beta i)) (+.f64 (+.f64 (*.f64 beta beta) (*.f64 4 (+.f64 (*.f64 i i) (*.f64 beta i)))) -1))))
38.1b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
54.2b
(/.f64 (+.f64 i alpha) (/.f64 (*.f64 beta beta) i))
54.7b
(/.f64 (*.f64 (+.f64 i alpha) i) (pow.f64 beta 2))
43.3b
(*.f64 (/.f64 (fma.f64 i alpha (*.f64 i i)) (+.f64 (fma.f64 4 (*.f64 i alpha) (+.f64 (*.f64 alpha alpha) (*.f64 4 (*.f64 i i)))) -1)) (/.f64 (*.f64 i (+.f64 i alpha)) (pow.f64 (fma.f64 2 i alpha) 2)))
49.0b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (+.f64 i alpha) beta)))
Compiler

Compiled 62142 to 38316 computations (38.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta)))
0.2b
(/.f64 1 (+.f64 alpha (fma.f64 i 2 beta)))
0.2b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
0.3b
(/.f64 i (+.f64 alpha (fma.f64 i 2 beta)))

series133.0ms (1.4%)

Counts
2 → 72
Calls

18 calls:

25.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
beta
0
21.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
alpha
0
13.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
i
0
10.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
beta
inf
10.0ms
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
i
inf

rewrite42.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
182×add-sqr-sqrt_binary64
177×log1p-expm1-u_binary64
177×expm1-log1p-u_binary64
176×add-cbrt-cube_binary64
171×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01653
136946
Stop Event
node limit
Counts
2 → 78

simplify78.0ms (0.8%)

Algorithm
egg-herbie
Rules
656×times-frac_binary64
613×associate-/l*_binary64
522×fma-def_binary64
420×associate-/r*_binary64
190×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05896080
119945928
Stop Event
node limit
Counts
150 → 167

prune360.0ms (3.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2953298
Fresh055
Picked101
Done112
Total2979306
Error
4.6b
Counts
306 → 9
Alt Table
StatusErrorProgram
54.7b
(/.f64 (*.f64 (+.f64 i alpha) i) (pow.f64 beta 2))
18.5b
(-.f64 1/16 (fma.f64 1/32 (*.f64 (/.f64 alpha i) (/.f64 beta i)) (*.f64 1/64 (+.f64 (*.f64 (/.f64 beta i) (/.f64 beta i)) (*.f64 (/.f64 alpha i) (/.f64 alpha i))))))
49.0b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (+.f64 i alpha) beta)))
17.8b
(*.f64 (*.f64 1/2 i) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
38.4b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (+.f64 (*.f64 i i) (*.f64 beta i)) (+.f64 (+.f64 (*.f64 beta beta) (*.f64 4 (+.f64 (*.f64 i i) (*.f64 beta i)))) -1))))
38.1b
(*.f64 (*.f64 (/.f64 i (+.f64 alpha (fma.f64 i 2 beta))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) (/.f64 (fma.f64 i (+.f64 (+.f64 i alpha) beta) (*.f64 alpha beta)) (+.f64 (pow.f64 (+.f64 alpha (fma.f64 i 2 beta)) 2) -1))))
54.2b
(/.f64 (+.f64 i alpha) (/.f64 (*.f64 beta beta) i))
18.8b
(*.f64 (*.f64 (-.f64 1/2 (*.f64 1/4 (+.f64 (/.f64 beta i) (/.f64 alpha i)))) (+.f64 i (+.f64 alpha beta))) (*.f64 (/.f64 1 (+.f64 alpha (fma.f64 i 2 beta))) 1/4))
43.3b
(*.f64 (/.f64 (fma.f64 i alpha (*.f64 i i)) (+.f64 (fma.f64 4 (*.f64 i alpha) (+.f64 (*.f64 alpha alpha) (*.f64 4 (*.f64 i i)))) -1)) (/.f64 (*.f64 i (+.f64 i alpha)) (pow.f64 (fma.f64 2 i alpha) 2)))
Compiler

Compiled 15641 to 9226 computations (41% saved)

regimes641.0ms (6.6%)

Accuracy

Total 7.7b remaining (59.6%)

Threshold costs 0b (0%)

Counts
86 → 3
Compiler

Compiled 13108 to 7981 computations (39.1% saved)

bsearch27.0ms (0.3%)

Algorithm
binary-search
Calls

2 calls:

10.0ms
i
10.0ms
i
Steps
ItersPointRange
1.5892825401447096e+139
∈ [
2.0525073019388938e+138
,
2.0921160253234758e+139
]
5.9527315014016644e+60
∈ [
5.1721186770306776e+60
,
6.004772356359731e+60
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03798
15198
Stop Event
saturated

end312.0ms (3.2%)

Stop Event
fuel
Compiler

Compiled 556 to 342 computations (38.5% saved)

Profiling

Loading profile data...