Details

Time bar (total: 3.0s)

analyze103.0ms (3.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%6.2%93.8%0
0%6.2%93.8%1
0%6.2%93.8%2
1.6%3.1%95.3%3
1.6%3.1%95.3%4
2.3%1.6%96.1%5
2.3%1.6%96.1%6
2.7%0.8%96.5%7
2.7%0.8%96.5%8
2.9%0.4%96.7%9
2.9%0.4%96.7%10
3%0.2%96.8%11
3%0.2%96.8%12
3.1%0.1%96.8%13
3.1%0.1%96.8%14
Compiler

Compiled 20 to 11 computations (45% saved)

sample29.0ms (1%)

Algorithm
intervals
Results
13.0ms256×body128valid
5.0ms256×pre128true
0.0mspre128false
Compiler

Compiled 37 to 21 computations (43.2% saved)

simplify71.0ms (2.4%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.8b
(sqrt.f64 (fabs.f64 (fma.f64 b (/.f64 b (*.f64 a a)) -1)))
13.8b
(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.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.4b
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))

rewrite26.0ms (0.9%)

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:

11.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
6.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))))

series82.0ms (2.7%)

Counts
3 → 72
Calls

3 calls:

42.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
21.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
19.0ms
(-.f64 (*.f64 a a) (*.f64 b b))

simplify130.0ms (4.3%)

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 → 266
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01342391
12852222
28792113
338712101
448882101
549812101

prune89.0ms (3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2633266
Fresh101
Picked011
Done000
Total2644268
Error
0b
Counts
268 → 4
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 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1))))
0.1b
(*.f64 (sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) a))) (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a))))
13.8b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 2509 to 718 computations (71.4% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
sqrt-prod_binary64
add-sqr-sqrt_binary64
fabs-mul_binary64
rem-sqrt-square_binary64
*-un-lft-identity_binary64
Counts
1 → 21
Calls

1 calls:

2.0ms
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1)))

series16.0ms (0.5%)

Counts
1 → 0
Calls

1 calls:

16.0ms
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1)))

simplify119.0ms (4%)

Algorithm
egg-herbie
Rules
623×div-sub_binary64
521×fma-def_binary64
500×unsub-neg_binary64
476×distribute-neg-in_binary64
362×unswap-sqr_binary64
Counts
21 → 27
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037397
144370
256370
372370
4105370
5160370
6263370
7535370
81105370
92806370
103741370
114491370
124947370
134784370

prune26.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New27027
Fresh022
Picked011
Done011
Total27431
Error
0b
Counts
31 → 4
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 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1))))
0.1b
(*.f64 (sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) a))) (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a))))
13.8b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 556 to 305 computations (45.1% saved)

localize9.0ms (0.3%)

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

rewrite36.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
69×*-un-lft-identity_binary64
68×add-sqr-sqrt_binary64
58×times-frac_binary64
41×add-cube-cbrt_binary64
20×add-cbrt-cube_binary64
Counts
4 → 155
Calls

4 calls:

15.0ms
(*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))
5.0ms
(/.f64 (-.f64 a b) a)
4.0ms
(/.f64 (+.f64 a b) a)
1.0ms
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))

series95.0ms (3.2%)

Counts
4 → 96
Calls

4 calls:

43.0ms
(*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))
21.0ms
(sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a))))
15.0ms
(/.f64 (-.f64 a b) a)
15.0ms
(/.f64 (+.f64 a b) a)

simplify181.0ms (6%)

Algorithm
egg-herbie
Rules
581×times-frac_binary64
553×distribute-rgt-in_binary64
530×distribute-lft-in_binary64
264×fma-def_binary64
146×associate-*l/_binary64
Counts
251 → 423
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02143891
15403637
217573631
346593617
449923617
549043617

prune175.0ms (5.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New4230423
Fresh011
Picked011
Done022
Total4234427
Error
0b
Counts
427 → 4
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 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1))))
0.1b
(*.f64 (sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) a))) (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a))))
13.8b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 5104 to 1342 computations (73.7% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

rewrite47.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
227×add-sqr-sqrt_binary64
129×sqrt-prod_binary64
100×fabs-mul_binary64
91×times-frac_binary64
55×rem-sqrt-square_binary64
Counts
2 → 172
Calls

2 calls:

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

series54.0ms (1.8%)

Counts
2 → 28
Calls

2 calls:

39.0ms
(*.f64 (sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) a))) (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a))))
14.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a)))

simplify311.0ms (10.3%)

Algorithm
egg-herbie
Rules
707×times-frac_binary64
637×fma-def_binary64
514×associate-/l*_binary64
421×fma-neg_binary64
410×associate-*l/_binary64
Counts
200 → 328
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02755778
14955676
29405610
314065603
436185562
537355562
643465562
749585562
848865562

prune271.0ms (9%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New5050505
Fresh000
Picked011
Done033
Total5054509
Error
0b
Counts
509 → 4
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 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) -1))))
0.1b
(*.f64 (sqrt.f64 (fabs.f64 (/.f64 (+.f64 a b) a))) (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) a))))
13.8b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 8494 to 1492 computations (82.4% saved)

regimes205.0ms (6.8%)

Accuracy

Total 0.0b remaining (72.8%)

Threshold costs 0.0b (72.8%)

Compiler

Compiled 3774 to 2453 computations (35% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
1815

end0.0ms (0%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

sample900.0ms (29.9%)

Algorithm
intervals
Results
369.0ms8000×body128valid
175.0ms8000×pre128true
3.0ms127×pre128false
Compiler

Compiled 95 to 57 computations (40% saved)

Profiling

Loading profile data...