Details

Time bar (total: 2.5s)

analyze35.0ms (1.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%37.5%62.5%0
0%37.5%62.5%1
0%18.7%81.3%2
0%9.4%90.6%3
0%9.4%90.6%4
0%7%93%5
1.2%4.7%94.1%6
1.2%3.5%95.3%7
1.8%2.6%95.6%8
2%1.9%96%9
2.4%1.3%96.3%10
2.6%1%96.5%11
2.7%0.7%96.6%12
2.8%0.5%96.7%13
2.9%0.3%96.7%14
Compiler

Compiled 26 to 15 computations (42.3% saved)

sample1.1s (45%)

Results
1.1s8256×body128valid
46.0ms372×body128invalid
Compiler

Compiled 52 to 30 computations (42.3% saved)

preprocess27.0ms (1.1%)

Algorithm
egg-herbie
Rules
303×associate-/l*_binary64
282×associate-/r/_binary64
258×times-frac_binary64
232×fma-def_binary64
190×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
14734
213730
339430
4128230
022
Stop Event
saturated
node limit
Compiler

Compiled 15 to 8 computations (46.7% saved)

simplify19.0ms (0.8%)

Algorithm
egg-herbie
Rules
704×fma-def_binary64
600×associate-/r*_binary64
362×distribute-rgt-in_binary64
331×distribute-lft-in_binary64
206×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0920
12617
27215
320115
454915
5197915
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.3b
(sqrt.f64 (fabs.f64 (fma.f64 b (/.f64 b (*.f64 a a)) -1)))
13.3b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 79 to 45 computations (43% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
0.0b
(-.f64 (*.f64 a a) (*.f64 b b))
12.9b
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))

series47.0ms (1.9%)

Counts
3 → 72
Calls

18 calls:

6.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
b
inf
5.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
b
-inf
4.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
b
0
4.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
b
0
3.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
a
-inf

rewrite72.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
881×prod-diff_binary64
132×egg-rr
113×add-sqr-sqrt_binary64
110×*-un-lft-identity_binary64
110×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0946
121438
2332638
0946
Stop Event
saturated
node limit
Counts
3 → 211

simplify40.0ms (1.6%)

Algorithm
egg-herbie
Rules
727×associate-/r*_binary64
691×associate-/l/_binary64
497×associate-/r/_binary64
166×times-frac_binary64
127×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
016963
137891
292843
3296843
41352843
Stop Event
node limit
Counts
283 → 223

prune141.0ms (5.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2212223
Fresh101
Picked011
Done000
Total2223225
Error
0.0b
Counts
225 → 3
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
13.3b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 5420 to 2266 computations (58.2% saved)

localize6.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
0.3b
(*.f64 (/.f64 b a) (/.f64 b a))

series42.0ms (1.7%)

Counts
2 → 48
Calls

12 calls:

7.0ms
(*.f64 (/.f64 b a) (/.f64 b a))
b
inf
6.0ms
(*.f64 (/.f64 b a) (/.f64 b a))
b
-inf
6.0ms
(*.f64 (/.f64 b a) (/.f64 b a))
b
0
3.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
a
inf
3.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
a
-inf

rewrite46.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
909×log1p-expm1-u_binary64
909×expm1-log1p-u_binary64
101×add-sqr-sqrt_binary64
97×*-un-lft-identity_binary64
97×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
119919
2277219
0927
Stop Event
saturated
node limit
Counts
2 → 61

simplify39.0ms (1.5%)

Algorithm
egg-herbie
Rules
361×distribute-neg-frac_binary64
351×associate-/l*_binary64
286×unswap-sqr_binary64
259×associate-/r*_binary64
251×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
011648
124648
245600
3119600
4528600
53048600
Stop Event
node limit
Counts
109 → 65

prune54.0ms (2.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New63265
Fresh101
Picked101
Done101
Total66268
Error
0b
Counts
68 → 2
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
Compiler

Compiled 862 to 560 computations (35% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2)
0.0b
(log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2)))
0.3b
(pow.f64 (/.f64 b a) 2)

series98.0ms (3.9%)

Counts
3 → 72
Calls

18 calls:

31.0ms
(log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2)))
a
-inf
7.0ms
(*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2)
b
-inf
6.0ms
(*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2)
b
inf
6.0ms
(*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2)
a
-inf
6.0ms
(log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2)))
b
inf

rewrite44.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
800×expm1-log1p-u_binary64
799×log1p-expm1-u_binary64
101×add-sqr-sqrt_binary64
97×pow1_binary64
96×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01032
121028
2246128
01032
Stop Event
saturated
node limit
Counts
3 → 78

simplify44.0ms (1.7%)

Algorithm
egg-herbie
Rules
466×fma-def_binary64
305×associate--r+_binary64
252×times-frac_binary64
229×distribute-neg-in_binary64
195×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01271952
14221924
213631863
Stop Event
node limit
Counts
150 → 142

prune102.0ms (4.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1420142
Fresh011
Picked011
Done000
Total1422144
Error
0b
Counts
144 → 2
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
Compiler

Compiled 2834 to 1937 computations (31.7% saved)

localize9.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
0.2b
(/.f64 b (*.f64 a (/.f64 a b)))
0.3b
(*.f64 a (/.f64 a b))

series55.0ms (2.2%)

Counts
3 → 72
Calls

18 calls:

9.0ms
(/.f64 b (*.f64 a (/.f64 a b)))
b
inf
6.0ms
(/.f64 b (*.f64 a (/.f64 a b)))
b
-inf
6.0ms
(/.f64 b (*.f64 a (/.f64 a b)))
b
0
6.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
b
0
3.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
b
-inf

rewrite56.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
441×prod-diff_binary64
176×fma-def_binary64
171×expm1-udef_binary64
171×log1p-udef_binary64
145×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
121826
2307326
01034
Stop Event
saturated
node limit
Counts
3 → 93

simplify43.0ms (1.7%)

Algorithm
egg-herbie
Rules
366×distribute-neg-frac_binary64
354×associate-/l*_binary64
312×unswap-sqr_binary64
272×associate-/r*_binary64
265×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
012816
125816
246768
3122768
4550768
53220768
Stop Event
node limit
Counts
165 → 99

prune66.0ms (2.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New99099
Fresh000
Picked011
Done011
Total992101
Error
0b
Counts
101 → 2
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 b (*.f64 a (/.f64 a b))))))
Compiler

Compiled 1394 to 862 computations (38.2% saved)

regimes221.0ms (8.8%)

Accuracy

Total 0.0b remaining (27.1%)

Threshold costs 0.0b (27.1%)

Counts
28 → 1
Compiler

Compiled 2757 to 2057 computations (25.4% saved)

simplify2.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
01116
11616
21816
31916
Stop Event
saturated

end50.0ms (2%)

Stop Event
done
Compiler

Compiled 49 to 39 computations (20.4% saved)

Profiling

Loading profile data...