Details

Time bar (total: 2.4s)

analyze34.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 (44.7%)

Results
1.0s8256×body128valid
49.0ms372×body128invalid
Compiler

Compiled 52 to 30 computations (42.3% saved)

preprocess40.0ms (1.7%)

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)

simplify21.0ms (0.9%)

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)

localize7.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))

series48.0ms (2%)

Counts
3 → 72
Calls

18 calls:

7.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
5.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
a
-inf
4.0ms
(/.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

rewrite76.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
881×prod-diff_binary64
211×egg-rr
107×add-sqr-sqrt_binary64
105×log1p-expm1-u_binary64
105×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0946
121438
2328438
Stop Event
node limit
Counts
3 → 211

simplify38.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

prune164.0ms (6.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2203223
Fresh101
Picked101
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
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 a (+.f64 a b)) (/.f64 a (-.f64 a b)))))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
Compiler

Compiled 5437 to 2267 computations (58.3% saved)

localize7.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))

series45.0ms (1.9%)

Counts
2 → 48
Calls

12 calls:

10.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
4.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
b
-inf
3.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (*.f64 (/.f64 b a) (/.f64 b a)))))
b
inf

rewrite51.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
909×log1p-expm1-u_binary64
909×expm1-log1p-u_binary64
252×prod-diff_binary64
98×add-sqr-sqrt_binary64
93×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
120019
2276719
Stop Event
node limit
Counts
2 → 61

simplify36.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

prune53.0ms (2.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New63265
Fresh202
Picked101
Done000
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 (/.f64 a b) a)))))
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)

series74.0ms (3.1%)

Counts
3 → 72
Calls

18 calls:

8.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
5.0ms
(*.f64 (log1p.f64 (neg.f64 (pow.f64 (/.f64 b a) 2))) 1/2)
a
-inf
5.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
186×prod-diff_binary64
100×add-sqr-sqrt_binary64
93×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01032
120928
2248328
Stop Event
node limit
Counts
3 → 78

simplify45.0ms (1.9%)

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

prune87.0ms (3.7%)

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 (/.f64 a b) a)))))
Compiler

Compiled 2834 to 1937 computations (31.7% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series50.0ms (2.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite51.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
440×prod-diff_binary64
174×fma-def_binary64
173×expm1-udef_binary64
173×log1p-udef_binary64
155×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
122026
2313826
Stop Event
node limit
Counts
3 → 92

simplify41.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
164 → 98

prune54.0ms (2.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New98098
Fresh000
Picked011
Done011
Total982100
Error
0b
Counts
100 → 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 (/.f64 a b) a)))))
Compiler

Compiled 1381 to 857 computations (37.9% saved)

regimes182.0ms (7.6%)

Accuracy

Total 0.0b remaining (27.1%)

Threshold costs 0.0b (27.1%)

Counts
30 → 1
Compiler

Compiled 3009 to 2197 computations (27% 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

end45.0ms (1.9%)

Stop Event
done
Compiler

Compiled 49 to 39 computations (20.4% saved)

Profiling

Loading profile data...