Details

Time bar (total: 3.0s)

analyze46.0ms (1.5%)

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 (35.5%)

Alt Table
StatusErrorProgram
11.3b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Results
962.0ms8256×body128valid
46.0ms395×body128invalid
Compiler

Compiled 97 to 54 computations (44.3% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series54.0ms (1.8%)

Counts
3 → 72
Calls

3 calls:

24.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
24.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
7.0ms
(-.f64 (*.f64 a a) (*.f64 b b))

rewrite137.0ms (4.5%)

Algorithm
batch-egg-rewrite
Rules
881×prod-diff_binary64
644×fma-udef_binary64
290×fma-neg_binary64
177×egg-rr
168×expm1-udef_binary64
Counts
3 → 177
Calls

3 calls:

132.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
132.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
132.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0946
121238
2270338
3470738
4464137
5515237
000
100

prune140.0ms (4.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2463249
Fresh000
Picked101
Done000
Total2473250
Error
0.0b
Counts
250 → 3
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
1.3b
(sqrt.f64 (fabs.f64 1))
11.3b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (/.f64 (*.f64 b b) (*.f64 a a)))) 1/2))
Compiler

Compiled 4414 to 1906 computations (56.8% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series159.0ms (5.2%)

Counts
4 → 96
Calls

4 calls:

123.0ms
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
26.0ms
(*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))
5.0ms
(/.f64 (-.f64 a b) a)
5.0ms
(/.f64 (+.f64 a b) a)

rewrite85.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
588×prod-diff_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
158×egg-rr
121×add-sqr-sqrt_binary64
Counts
4 → 158
Calls

4 calls:

79.0ms
(/.f64 (+.f64 a b) a)
79.0ms
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
79.0ms
(/.f64 (-.f64 a b) a)
79.0ms
(*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
123645
2331145
3505645
000
100

prune259.0ms (8.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2522254
Fresh112
Picked011
Done000
Total2534257
Error
0b
Counts
257 → 4
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
0.2b
(sqrt.f64 (fabs.f64 (/.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) (sqrt.f64 a)) (sqrt.f64 a))))
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
11.3b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (/.f64 (*.f64 b b) (*.f64 a a)))) 1/2))
Compiler

Compiled 3890 to 1430 computations (63.2% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series93.0ms (3.1%)

Counts
4 → 96
Calls

4 calls:

58.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
19.0ms
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
11.0ms
(/.f64 a (/.f64 (-.f64 a b) a))
5.0ms
(/.f64 (-.f64 a b) a)

rewrite82.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
615×prod-diff_binary64
203×log1p-udef_binary64
166×egg-rr
124×add-sqr-sqrt_binary64
119×log1p-expm1-u_binary64
Counts
4 → 166
Calls

4 calls:

78.0ms
(/.f64 a (/.f64 (-.f64 a b) a))
78.0ms
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
78.0ms
(/.f64 (-.f64 a b) a)
78.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01053
124051
2345251
3501751
000
100

prune184.0ms (6.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2611262
Fresh112
Picked101
Done011
Total2633266
Error
0b
Counts
266 → 3
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (log.f64 (exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))))
0.0b
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
11.3b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (/.f64 (*.f64 b b) (*.f64 a a)))) 1/2))
Compiler

Compiled 4478 to 1697 computations (62.1% saved)

localize12.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a))))
0.0b
(/.f64 (-.f64 a b) a)
0.0b
(log.f64 (exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
0.0b
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))

series69.0ms (2.3%)

Counts
4 → 96
Calls

4 calls:

25.0ms
(log.f64 (exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
25.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
13.0ms
(exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a))))
5.0ms
(/.f64 (-.f64 a b) a)

rewrite84.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
615×prod-diff_binary64
200×expm1-udef_binary64
200×log1p-udef_binary64
177×egg-rr
111×add-sqr-sqrt_binary64
Counts
4 → 177
Calls

4 calls:

78.0ms
(exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a))))
78.0ms
(/.f64 (-.f64 a b) a)
78.0ms
(log.f64 (exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
78.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01057
121357
2333057
3520257
000
100

prune186.0ms (6.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2730273
Fresh011
Picked011
Done011
Total2733276
Error
0b
Counts
276 → 3
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (log.f64 (exp.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))))
0.0b
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
11.3b
(exp.f64 (*.f64 (log1p.f64 (neg.f64 (/.f64 (*.f64 b b) (*.f64 a a)))) 1/2))
Compiler

Compiled 4923 to 2124 computations (56.9% saved)

regimes285.0ms (9.4%)

Accuracy

Total 0.0b remaining (73.5%)

Threshold costs 0.0b (73.5%)

Counts
49 → 1
Compiler

Compiled 5715 to 3740 computations (34.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
11524
22024
32224
42324
52324

end59.0ms (2%)

Compiler

Compiled 80 to 52 computations (35% saved)

Profiling

Loading profile data...