Details

Time bar (total: 658.0ms)

analyze2.0ms (0.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 24 to 15 computations (37.5% saved)

sample42.0ms (6.3%)

Algorithm
intervals
Symmetry

(sort a b)

Results
7.0ms256×pre128true
5.0ms256×body128valid
Compiler

Compiled 35 to 21 computations (40% saved)

simplify9.0ms (1.3%)

Algorithm
egg-herbie
Rules
70×fma-def_binary64
24×associate-+l+_binary64
18×associate-+r+_binary64
10×distribute-rgt-in_binary64
*-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0510
11210
22610
34610
48110
510110
611710
713010
813210
913210

prune1.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (+.f64 a b) (+.f64 a b))
Compiler

Compiled 27 to 12 computations (55.6% saved)

localize3.0ms (0.5%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 a b) (+.f64 a b))

series7.0ms (1%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(*.f64 (+.f64 a b) (+.f64 a b))

rewrite8.0ms (1.3%)

Algorithm
rewrite-expression-head
Rules
19×*-un-lft-identity_binary64
pow1_binary64
add-sqr-sqrt_binary64
distribute-lft-out_binary64
swap-sqr_binary64
Counts
1 → 42
Calls

1 calls:

6.0ms
(*.f64 (+.f64 a b) (+.f64 a b))

simplify48.0ms (7.3%)

Algorithm
egg-herbie
Rules
728×associate-+l+_binary64
594×unswap-sqr_binary64
430×distribute-rgt-in_binary64
422×distribute-lft-in_binary64
327×fma-def_binary64
Counts
66 → 64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
067994
1200853
2739757
32462692
45240692

prune36.0ms (5.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New62264
Fresh000
Picked011
Done000
Total62365
Error
0.0b
Counts
65 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (+.f64 a b) (+.f64 a b))
0.0b
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))
0.2b
(*.f64 b (fma.f64 2 a b))
Compiler

Compiled 938 to 292 computations (68.9% saved)

localize8.0ms (1.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 a b))
0.0b
(+.f64 (pow.f64 a 2) (pow.f64 b 2))
0.0b
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))

series20.0ms (3%)

Counts
3 → 18
Calls

3 calls:

7.0ms
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))
6.0ms
(+.f64 (pow.f64 a 2) (pow.f64 b 2))
6.0ms
(*.f64 2 (*.f64 a b))

rewrite21.0ms (3.2%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-log-exp_binary64
fma-def_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
3 → 59
Calls

3 calls:

8.0ms
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))
5.0ms
(+.f64 (pow.f64 a 2) (pow.f64 b 2))
4.0ms
(*.f64 2 (*.f64 a b))

simplify58.0ms (8.9%)

Algorithm
egg-herbie
Rules
662×fma-neg_binary64
654×associate-*l*_binary64
513×associate-*r*_binary64
471×fma-def_binary64
319×distribute-rgt-neg-in_binary64
Counts
77 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
088905
1248787
2837728
33406728
45028728

prune78.0ms (11.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New94195
Fresh101
Picked011
Done011
Total95398
Error
0b
Counts
98 → 3
Alt Table
StatusErrorProgram
0.0b
(log1p.f64 (expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a))))
0.0b
(*.f64 (+.f64 a b) (+.f64 a b))
0.0b
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))
Compiler

Compiled 1796 to 1090 computations (39.3% saved)

localize11.0ms (1.7%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a))))
0.0b
(fma.f64 b (fma.f64 2 a b) (*.f64 a a))
3.3b
(expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a)))

series27.0ms (4.1%)

Counts
3 → 72
Calls

3 calls:

10.0ms
(fma.f64 b (fma.f64 2 a b) (*.f64 a a))
10.0ms
(expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a)))
7.0ms
(log1p.f64 (expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a))))

rewrite2.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
3 → 32
Calls

3 calls:

0.0ms
(expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a)))
0.0ms
(fma.f64 b (fma.f64 2 a b) (*.f64 a a))
0.0ms
(log1p.f64 (expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a))))

simplify110.0ms (16.7%)

Algorithm
egg-herbie
Rules
757×fma-def_binary64
581×associate-*l*_binary64
478×associate-*r*_binary64
432×fma-neg_binary64
348×associate-+l+_binary64
Counts
104 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001743
12481485
28401419
338721412
449761412
549991412
649661412

prune58.0ms (8.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New75075
Fresh000
Picked011
Done022
Total75378
Error
0b
Counts
78 → 3
Alt Table
StatusErrorProgram
0.0b
(log1p.f64 (expm1.f64 (fma.f64 b (fma.f64 2 a b) (*.f64 a a))))
0.0b
(*.f64 (+.f64 a b) (+.f64 a b))
0.0b
(+.f64 (*.f64 2 (*.f64 a b)) (+.f64 (pow.f64 a 2) (pow.f64 b 2)))
Compiler

Compiled 1443 to 811 computations (43.8% saved)

regimes93.0ms (14.2%)

Counts
25 → 1
Compiler

Compiled 1098 to 761 computations (30.7% saved)

simplify2.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
1712

end6.0ms (0.9%)

Compiler

Compiled 33 to 18 computations (45.5% saved)

sample8.0ms (1.2%)

Algorithm
intervals
Results
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
0.0mspre128false
Compiler

Compiled 26 to 17 computations (34.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...