Details

Time bar (total: 8.1s)

analyze56.0ms (0.7%)

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

Symmetry

(sort alpha beta)

Results
1.6s8256×body128valid
Compiler

Compiled 190 to 97 computations (48.9% saved)

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
705×associate-+l+_binary64
492×associate-*l*_binary64
422×associate-*r*_binary64
369×times-frac_binary64
336×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01875
16767
229367
3161267
4497967
5503567

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
52.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
52.5b
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
Compiler

Compiled 203 to 89 computations (56.2% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))
0.1b
(*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))
35.4b
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
44.8b
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))))

series3.0s (36.7%)

Counts
4 → 144
Calls

4 calls:

2.6s
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
269.0ms
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))))
51.0ms
(*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))
17.0ms
(*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))

rewrite52.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
61×add-cbrt-cube_binary64
61×add-exp-log_binary64
22×cbrt-unprod_binary64
22×prod-exp_binary64
21×add-sqr-sqrt_binary64
Counts
4 → 132
Calls

4 calls:

10.0ms
(*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))
10.0ms
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
9.0ms
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))))
3.0ms
(*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))

simplify432.0ms (5.3%)

Algorithm
egg-herbie
Rules
740×fma-def_binary64
507×associate-/l*_binary64
344×times-frac_binary64
54×sqr-pow_binary64
54×sub-neg_binary64
Counts
276 → 296
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0256648816
1515848816

prune1.0s (12.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2897296
Fresh000
Picked101
Done000
Total2907297
Error
7.9b
Counts
297 → 7
Alt Table
StatusErrorProgram
39.6b
(*.f64 (/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (*.f64 (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)))) (/.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))))
53.4b
(/.f64 (*.f64 i (+.f64 i alpha)) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
21.0b
(-.f64 (+.f64 1/16 (*.f64 1/64 (/.f64 1 (*.f64 i i)))) (*.f64 1/32 (+.f64 (/.f64 (*.f64 beta beta) (*.f64 i i)) (/.f64 (*.f64 alpha alpha) (*.f64 i i)))))
15.0b
1/16
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (/.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))))
60.2b
(/.f64 (/.f64 (*.f64 i (*.f64 (pow.f64 alpha 2) (+.f64 beta i))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (/.f64 (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
Compiler

Compiled 63391 to 36609 computations (42.2% saved)

localize0.0ms (0%)

prune9.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New000
Fresh066
Picked011
Done000
Total077
Error
7.9b
Counts
7 → 7
Alt Table
StatusErrorProgram
39.6b
(*.f64 (/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (*.f64 (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)))) (/.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))))
53.4b
(/.f64 (*.f64 i (+.f64 i alpha)) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
21.0b
(-.f64 (+.f64 1/16 (*.f64 1/64 (/.f64 1 (*.f64 i i)))) (*.f64 1/32 (+.f64 (/.f64 (*.f64 beta beta) (*.f64 i i)) (/.f64 (*.f64 alpha alpha) (*.f64 i i)))))
15.0b
1/16
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (/.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))))
60.2b
(/.f64 (/.f64 (*.f64 i (*.f64 (pow.f64 alpha 2) (+.f64 beta i))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (/.f64 (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
Compiler

Compiled 558 to 276 computations (50.5% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1/32 (+.f64 (/.f64 (*.f64 beta beta) (*.f64 i i)) (/.f64 (*.f64 alpha alpha) (*.f64 i i))))
0.6b
(/.f64 1 (*.f64 i i))
2.3b
(/.f64 (*.f64 alpha alpha) (*.f64 i i))
16.5b
(/.f64 (*.f64 beta beta) (*.f64 i i))

series155.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

91.0ms
(*.f64 1/32 (+.f64 (/.f64 (*.f64 beta beta) (*.f64 i i)) (/.f64 (*.f64 alpha alpha) (*.f64 i i))))
32.0ms
(/.f64 (*.f64 alpha alpha) (*.f64 i i))
29.0ms
(/.f64 (*.f64 beta beta) (*.f64 i i))
2.0ms
(/.f64 1 (*.f64 i i))

rewrite28.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
41×add-exp-log_binary64
35×add-cbrt-cube_binary64
14×pow1_binary64
12×div-exp_binary64
12×prod-exp_binary64
Counts
4 → 107
Calls

4 calls:

9.0ms
(*.f64 1/32 (+.f64 (/.f64 (*.f64 beta beta) (*.f64 i i)) (/.f64 (*.f64 alpha alpha) (*.f64 i i))))
5.0ms
(/.f64 (*.f64 beta beta) (*.f64 i i))
5.0ms
(/.f64 (*.f64 alpha alpha) (*.f64 i i))
3.0ms
(/.f64 1 (*.f64 i i))

simplify116.0ms (1.4%)

Algorithm
egg-herbie
Rules
527×associate-/r*_binary64
443×associate-/r/_binary64
351×*-commutative_binary64
301×associate-/l/_binary64
290×fma-def_binary64
Counts
203 → 151
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01673034
14092653
215742493
340842453
449072453
549432453

prune427.0ms (5.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1501151
Fresh055
Picked101
Done011
Total1517158
Error
7.8b
Counts
158 → 7
Alt Table
StatusErrorProgram
39.6b
(*.f64 (/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (*.f64 (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)))) (/.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))))
53.4b
(/.f64 (*.f64 i (+.f64 i alpha)) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (/.f64 (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
15.4b
(-.f64 (+.f64 1/16 (*.f64 1/64 (/.f64 1 (*.f64 i i)))) (*.f64 (/.f64 1/32 i) (+.f64 (*.f64 alpha (/.f64 alpha i)) (*.f64 beta (/.f64 beta i)))))
15.0b
1/16
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (/.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))))
60.2b
(/.f64 (/.f64 (*.f64 i (*.f64 (pow.f64 alpha 2) (+.f64 beta i))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
Compiler

Compiled 5510 to 2173 computations (60.6% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 alpha (/.f64 alpha i))
0.2b
(*.f64 beta (/.f64 beta i))
0.6b
(/.f64 1 (*.f64 i i))
4.2b
(*.f64 (/.f64 1/32 i) (+.f64 (*.f64 alpha (/.f64 alpha i)) (*.f64 beta (/.f64 beta i))))

series84.0ms (1%)

Counts
3 → 84
Calls

3 calls:

62.0ms
(*.f64 (/.f64 1/32 i) (+.f64 (*.f64 alpha (/.f64 alpha i)) (*.f64 beta (/.f64 beta i))))
11.0ms
(*.f64 beta (/.f64 beta i))
10.0ms
(*.f64 alpha (/.f64 alpha i))

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
30×times-frac_binary64
29×associate-*r*_binary64
27×*-un-lft-identity_binary64
27×add-cube-cbrt_binary64
Counts
3 → 110
Calls

3 calls:

8.0ms
(*.f64 (/.f64 1/32 i) (+.f64 (*.f64 alpha (/.f64 alpha i)) (*.f64 beta (/.f64 beta i))))
6.0ms
(*.f64 beta (/.f64 beta i))
5.0ms
(*.f64 alpha (/.f64 alpha i))

simplify102.0ms (1.3%)

Algorithm
egg-herbie
Rules
808×times-frac_binary64
589×fma-def_binary64
350×distribute-rgt-in_binary64
310×associate-*l*_binary64
277×associate-*r*_binary64
Counts
194 → 180
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02203020
16632706
224912706
348792696
449822696

prune201.0ms (2.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2200220
Fresh055
Picked011
Done011
Total2207227
Error
7.8b
Counts
227 → 7
Alt Table
StatusErrorProgram
39.6b
(*.f64 (/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (*.f64 (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1)))) (/.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (cbrt.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))))
53.4b
(/.f64 (*.f64 i (+.f64 i alpha)) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (/.f64 (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta))) (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
15.4b
(-.f64 (+.f64 1/16 (*.f64 1/64 (/.f64 1 (*.f64 i i)))) (*.f64 (/.f64 1/32 i) (+.f64 (*.f64 alpha (/.f64 alpha i)) (*.f64 beta (/.f64 beta i)))))
15.0b
1/16
39.1b
(/.f64 (/.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 i 2 (+.f64 alpha beta))) (/.f64 (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))))
60.2b
(/.f64 (/.f64 (*.f64 i (*.f64 (pow.f64 alpha 2) (+.f64 beta i))) (*.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)))) (fma.f64 (fma.f64 i 2 (+.f64 alpha beta)) (fma.f64 i 2 (+.f64 alpha beta)) -1))
Compiler

Compiled 7270 to 3196 computations (56% saved)

regimes485.0ms (6%)

Accuracy

Total 1.8b remaining (14.6%)

Threshold costs 0b (0%)

Counts
74 → 2
Compiler

Compiled 13632 to 7753 computations (43.1% saved)

bsearch20.0ms (0.2%)

Steps
ItersRangePoint
4
1.4256388108441406e+125
2.3536885556922584e+125
2.167014459738037e+125
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02274
12774
22774

end153.0ms (1.9%)

Remove

(sort alpha beta)

Compiler

Compiled 499 to 245 computations (50.9% saved)

Profiling

Loading profile data...