Details

Time bar (total: 3.4s)

analyze33.0ms (1%)

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

Results
934.0ms8256×body128valid
50.0ms421×body128invalid
Compiler

Compiled 67 to 38 computations (43.3% saved)

simplify46.0ms (1.3%)

Algorithm
egg-herbie
Rules
704×fma-def_binary64
643×fma-neg_binary64
603×associate-/r*_binary64
566×associate-*l*_binary64
362×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0920
12617
26915
319415
446415
5152115
6478115
7516015

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
13.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
13.8b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 55 to 29 computations (47.3% saved)

localize7.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))))
13.3b
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))

series53.0ms (1.5%)

Counts
3 → 72
Calls

3 calls:

23.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
23.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
6.0ms
(-.f64 (*.f64 a a) (*.f64 b b))

rewrite17.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
13×sqrt-prod_binary64
11×times-frac_binary64
10×fabs-mul_binary64
*-un-lft-identity_binary64
Counts
3 → 75
Calls

3 calls:

5.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
5.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
3.0ms
(-.f64 (*.f64 a a) (*.f64 b b))

simplify104.0ms (3.1%)

Algorithm
egg-herbie
Rules
653×times-frac_binary64
330×associate-*l*_binary64
306×associate-/l*_binary64
296×fma-neg_binary64
282×associate-*r*_binary64
Counts
147 → 125
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01342391
12852222
28792113
338712101
448882101
549812101

prune70.0ms (2.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1232125
Fresh000
Picked101
Done000
Total1242126
Error
0b
Counts
126 → 2
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
13.8b
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))
Compiler

Compiled 2462 to 692 computations (71.9% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series53.0ms (1.6%)

Counts
4 → 96
Calls

4 calls:

23.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
15.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)

rewrite227.0ms (6.7%)

Algorithm
rewrite-expression-head
Rules
1564×times-frac_binary64
1064×*-un-lft-identity_binary64
845×add-sqr-sqrt_binary64
620×add-cube-cbrt_binary64
260×sqrt-prod_binary64
Counts
4 → 752
Calls

4 calls:

38.0ms
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
17.0ms
(/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))
6.0ms
(/.f64 a (/.f64 (-.f64 a b) a))
4.0ms
(/.f64 (-.f64 a b) a)

simplify629.0ms (18.5%)

Algorithm
egg-herbie
Rules
749×associate-/r/_binary64
667×associate-/l/_binary64
471×fabs-div_binary64
360×fabs-mul_binary64
298×fma-def_binary64
Counts
848 → 1026
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0121229087
1234828371
2483828331
3507728331

prune498.0ms (14.7%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New102601026
Fresh011
Picked011
Done000
Total102621028
Error
0b
Counts
1028 → 2
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
13.8b
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))
Compiler

Compiled 29948 to 6880 computations (77% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a))))
0.0b
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))
0.0b
(expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))
32.5b
(/.f64 (*.f64 b b) (*.f64 a a))

series99.0ms (2.9%)

Counts
4 → 96
Calls

4 calls:

31.0ms
(/.f64 (*.f64 b b) (*.f64 a a))
27.0ms
(log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a))))
21.0ms
(expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))
19.0ms
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))

rewrite10.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
16×add-cbrt-cube_binary64
16×add-exp-log_binary64
10×add-sqr-sqrt_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
Counts
4 → 66
Calls

4 calls:

5.0ms
(/.f64 (*.f64 b b) (*.f64 a a))
1.0ms
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))
0.0ms
(log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a))))
0.0ms
(expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))

simplify170.0ms (5%)

Algorithm
egg-herbie
Rules
867×times-frac_binary64
439×associate-/l*_binary64
402×fma-def_binary64
346×associate-/r*_binary64
306×associate-*l/_binary64
Counts
162 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01652889
13872565
212232527
346852527
449612527

prune79.0ms (2.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1300130
Fresh000
Picked011
Done011
Total1302132
Error
0b
Counts
132 → 2
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) (/.f64 a (/.f64 (-.f64 a b) a)))))
13.8b
(sqrt.f64 (fabs.f64 (expm1.f64 (log1p.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))))
Compiler

Compiled 2721 to 1530 computations (43.8% saved)

regimes181.0ms (5.3%)

Accuracy

Total 0.0b remaining (40.2%)

Threshold costs 0.0b (40.2%)

Counts
30 → 1
Compiler

Compiled 3252 to 2150 computations (33.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
fabs-div_binary64
*-commutative_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11620
22420
32820
43120
53320
63620
73820
83920
93920

end46.0ms (1.4%)

Compiler

Compiled 60 to 38 computations (36.7% saved)

Profiling

Loading profile data...