Details

Time bar (total: 2.9s)

analyze468.0ms (16.2%)

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.6s (56.3%)

Symmetry

(sort x y)

Results
1.4s8255×body128valid
52.0ms582×body128invalid
0.0msbody1024valid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify50.0ms (1.7%)

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

prune2.0ms (0.1%)

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)

localize5.0ms (0.2%)

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

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

simplify89.0ms (3.1%)

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

prune50.0ms (1.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

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

Compiled 1722 to 752 computations (56.3% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

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

rewrite14.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
17×*-un-lft-identity_binary64
12×add-log-exp_binary64
add-sqr-sqrt_binary64
flip-+_binary64
associate-*r/_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))

simplify91.0ms (3.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01241487
13731274
215481229
339171229
448121229
552041229

prune60.0ms (2.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1071108
Fresh101
Picked011
Done011
Total1083111
Error
0b
Counts
111 → 3
Alt Table
StatusErrorProgram
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
21.2b
(+.f64 (+.f64 y x) (neg.f64 (expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))))
Compiler

Compiled 1754 to 501 computations (71.4% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series17.0ms (0.6%)

Counts
2 → 72
Calls

2 calls:

10.0ms
(+.f64 (+.f64 y x) (neg.f64 (expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))))
7.0ms
(expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))

rewrite8.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity_binary64
12×add-log-exp_binary64
distribute-lft-out_binary64
sum-log_binary64
fma-def_binary64
Counts
2 → 38
Calls

2 calls:

6.0ms
(+.f64 (+.f64 y x) (neg.f64 (expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))))
0.0ms
(expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))

simplify119.0ms (4.1%)

Algorithm
egg-herbie
Rules
680×distribute-rgt-in_binary64
609×distribute-lft-in_binary64
406×fma-def_binary64
401×associate-*l*_binary64
334×unsub-neg_binary64
Counts
110 → 67
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0701174
1181990
2696976
34191976
44837976
54985976
64972976
74936976

prune50.0ms (1.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1110111
Fresh000
Picked011
Done022
Total1113114
Error
0b
Counts
114 → 3
Alt Table
StatusErrorProgram
0.0b
(+.f64 (+.f64 y x) (neg.f64 (*.f64 z (+.f64 y x))))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
21.2b
(+.f64 (+.f64 y x) (neg.f64 (expm1.f64 (log1p.f64 (*.f64 z (+.f64 y x))))))
Compiler

Compiled 1787 to 534 computations (70.1% saved)

regimes138.0ms (4.8%)

Accuracy

Total 0.0b remaining (58.3%)

Threshold costs 0.0b (58.3%)

Counts
28 → 1
Compiler

Compiled 2024 to 1310 computations (35.3% 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
0810
11410
21810
32010
42110
52010

end49.0ms (1.7%)

Remove

(sort x y)

Compiler

Compiled 78 to 51 computations (34.6% saved)

Profiling

Loading profile data...