Details

Time bar (total: 3.1s)

analyze449.0ms (14.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
18.7%81.1%0.1%8
31.2%68.6%0.1%9
35.9%55.4%8.7%10
42.9%47.6%9.5%11
51.5%38.4%10.1%12
55%30.3%14.7%13
59.5%25.4%15.1%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample1.0s (32.8%)

Symmetry

(sort x y)

Results
792.0ms8254×body128valid
57.0ms597×body128invalid
0.0msbody512valid
0.0msbody256valid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify47.0ms (1.5%)

Algorithm
egg-herbie
Rules
673×fma-neg_binary64
461×fma-def_binary64
143×distribute-rgt-in_binary64
135×cancel-sign-sub-inv_binary64
117×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11410
23210
37310
419010
542310
667610
7113610
8112410
9135910
10139410
11139410
12135110

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
Compiler

Compiled 30 to 21 computations (30% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))

series7.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

7.0ms
(*.f64 (+.f64 x y) (-.f64 1 z))

rewrite13.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
18×prod-diff_binary64
17×add-cube-cbrt_binary64
13×distribute-lft-in_binary64
Counts
1 → 58
Calls

1 calls:

7.0ms
(*.f64 (+.f64 x y) (-.f64 1 z))

simplify82.0ms (2.7%)

Algorithm
egg-herbie
Rules
725×distribute-rgt-in_binary64
670×distribute-lft-in_binary64
623×fma-def_binary64
470×fma-neg_binary64
304×*-commutative_binary64
Counts
94 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281510
12951288
211421234
339201126
445521126
547521126

prune59.0ms (1.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New87390
Fresh000
Picked101
Done000
Total88391
Error
0b
Counts
91 → 3
Alt Table
StatusErrorProgram
34.0b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
31.4b
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
Compiler

Compiled 1744 to 763 computations (56.3% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
0.0b
(*.f64 z (+.f64 y x))

series14.0ms (0.5%)

Counts
2 → 60
Calls

2 calls:

8.0ms
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
6.0ms
(*.f64 z (+.f64 y x))

rewrite13.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
17×*-un-lft-identity_binary64
12×add-log-exp_binary64
add-sqr-sqrt_binary64
sum-log_binary64
distribute-lft-out_binary64
Counts
2 → 59
Calls

2 calls:

6.0ms
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
4.0ms
(*.f64 z (+.f64 y x))

simplify99.0ms (3.2%)

Algorithm
egg-herbie
Rules
560×unsub-neg_binary64
416×times-frac_binary64
382×associate-+l+_binary64
349×*-commutative_binary64
320×associate-+r+_binary64
Counts
119 → 105
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241487
13731274
215481229
339171229
448121229
552041229

prune55.0ms (1.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1050105
Fresh022
Picked011
Done000
Total1053108
Error
0b
Counts
108 → 3
Alt Table
StatusErrorProgram
34.0b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
31.4b
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
Compiler

Compiled 1753 to 513 computations (70.7% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (sqrt.f64 z))
0.1b
(*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z)))
0.1b
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))

series69.0ms (2.2%)

Counts
3 → 51
Calls

3 calls:

46.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
18.0ms
(*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z)))
4.0ms
(+.f64 1 (sqrt.f64 z))

rewrite51.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
48×*-un-lft-identity_binary64
46×add-sqr-sqrt_binary64
36×prod-diff_binary64
35×add-cube-cbrt_binary64
32×frac-times_binary64
Counts
3 → 153
Calls

3 calls:

15.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
7.0ms
(*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z)))
3.0ms
(+.f64 1 (sqrt.f64 z))

simplify161.0ms (5.3%)

Algorithm
egg-herbie
Rules
463×fma-neg_binary64
449×associate-*l*_binary64
411×distribute-rgt-in_binary64
397×associate-+r+_binary64
395×distribute-lft-in_binary64
Counts
204 → 224
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02345251
17004675
230684438
347434438
450564438

prune151.0ms (4.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2240224
Fresh011
Picked011
Done011
Total2243227
Error
0b
Counts
227 → 3
Alt Table
StatusErrorProgram
34.0b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
31.4b
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
Compiler

Compiled 6341 to 2906 computations (54.2% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z))
0.2b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))

series60.0ms (1.9%)

Counts
2 → 56
Calls

2 calls:

48.0ms
(*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z))
11.0ms
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))

rewrite46.0ms (1.5%)

Algorithm
rewrite-expression-head
Rules
65×distribute-lft-in_binary64
65×distribute-rgt-in_binary64
56×*-un-lft-identity_binary64
56×add-sqr-sqrt_binary64
54×prod-diff_binary64
Counts
2 → 164
Calls

2 calls:

17.0ms
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))
9.0ms
(*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z))

simplify182.0ms (5.9%)

Algorithm
egg-herbie
Rules
606×cancel-sign-sub-inv_binary64
401×associate-*l*_binary64
393×associate-*r*_binary64
327×exp-prod_binary64
316×associate--r+_binary64
Counts
220 → 249
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03185036
17044346
225864158
344834158
448984158
549764158

prune120.0ms (3.9%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2490249
Fresh000
Picked011
Done022
Total2493252
Error
0b
Counts
252 → 3
Alt Table
StatusErrorProgram
34.0b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 z)))
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
31.4b
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 (sqrt.f64 z))) (-.f64 1 (sqrt.f64 z)))
Compiler

Compiled 7425 to 2694 computations (63.7% saved)

regimes302.0ms (9.9%)

Accuracy

Total 0.0b remaining (20%)

Threshold costs 0.0b (20%)

Counts
48 → 1
Compiler

Compiled 3944 to 2707 computations (31.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
0813
11413
21613
31713
41713

end51.0ms (1.7%)

Remove

(sort x y)

Compiler

Compiled 93 to 55 computations (40.9% saved)

Profiling

Loading profile data...