Details

Time bar (total: 9.4s)

analyze845.0ms (9%)

Algorithm
search
egg-herbie
Rules
1591×associate-+l+_binary64
952×associate-+r+_binary64
705×div-sub_binary64
693×unsub-neg_binary64
588×distribute-rgt-in_binary64
548×sub-neg_binary64
510×times-frac_binary64
358×distribute-neg-out_binary64
316×distribute-lft-in_binary64
276×cancel-sign-sub-inv_binary64
273×distribute-neg-in_binary64
236×associate-/l*_binary64
179×associate-/r*_binary64
176×+-commutative_binary64
167×distribute-lft-neg-in_binary64
154×distribute-rgt-neg-in_binary64 associate-+r-_binary64
141×associate--r+_binary64
125×distribute-neg-frac_binary64
121×associate--r-_binary64
115×associate-*r*_binary64
102×associate--l+_binary64
95×neg-sub0_binary64
89×neg-mul-1_binary64 cancel-sign-sub_binary64
83×*-commutative_binary64
82×associate-+l-_binary64
71×distribute-lft-neg-out_binary64
59×associate-*l*_binary64
58×distribute-frac-neg_binary64
46×associate--l-_binary64
44×associate-/r/_binary64
38×distribute-rgt-neg-out_binary64 associate-*l/_binary64
32×associate-/l/_binary64 associate-*r/_binary64
31×distribute-lft-out--_binary64
30×*-rgt-identity_binary64
23×remove-double-neg_binary64
22×sub0-neg_binary64
21×--rgt-identity_binary64 distribute-lft-out_binary64
20×mul0-rgt_binary64 mul0-lft_binary64
18×div0_binary64
16×log-prod_binary64 distribute-rgt-out--_binary64
14×*-lft-identity_binary64
13×+-rgt-identity_binary64
12×/-rgt-identity_binary64 distribute-rgt-out_binary64
11×distribute-rgt1-in_binary64
10×+-lft-identity_binary64
distribute-lft1-in_binary64
*-inverses_binary64 remove-double-div_binary64 count-2_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01636
13836
27136
314836
426836
555736
6121136
7202336
8161436
9177936
10198936
11214636
12246336
13322036
14279936
15280436
16280436
17282236
18282236
19282436
20282436
21477236
22485636
022
122
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
6.2%93.7%0.1%5
6.2%90.5%3.2%6
21.9%67.1%11%7
23.4%64.8%11.8%8
32%52.7%15.3%9
33.2%51.3%15.5%10
37.7%45.2%17.2%11
38.3%44.4%17.2%12
40.6%41.3%18%13
41%41%18%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample42.0ms (0.4%)

Algorithm
intervals
Results
9.0ms184×body128valid
7.0ms35×body1024valid
5.0ms37×body1024nan
3.0ms22×body512valid
2.0ms18×body512nan
1.0ms14×body256valid
1.0ms13×body256nan
1.0ms17×body128nan
0.0msbody2048valid
Compiler

Compiled 25 to 25 computations (0% saved)

simplify351.0ms (3.7%)

Algorithm
egg-herbie
Rules
3857×associate--r-_binary64
1008×unsub-neg_binary64
480×sub-neg_binary64
461×cancel-sign-sub-inv_binary64
388×div-sub_binary64
301×distribute-neg-in_binary64
286×times-frac_binary64 distribute-rgt-in_binary64
228×distribute-lft-in_binary64
186×+-commutative_binary64
160×distribute-rgt-neg-in_binary64
151×associate-*r*_binary64
147×associate-/l*_binary64
140×associate--l+_binary64
133×neg-sub0_binary64
125×associate--r+_binary64
123×distribute-lft-neg-in_binary64
120×associate-+l-_binary64
118×neg-mul-1_binary64
114×*-commutative_binary64
112×associate-/r*_binary64
95×cancel-sign-sub_binary64
89×distribute-neg-out_binary64
88×distribute-lft-neg-out_binary64
81×associate--l-_binary64
77×distribute-rgt-neg-out_binary64
71×associate-/r/_binary64
67×distribute-neg-frac_binary64
57×--rgt-identity_binary64
48×associate-/l/_binary64
45×associate-+r+_binary64
44×associate-+l+_binary64
43×associate-+r-_binary64
40×remove-double-neg_binary64
37×distribute-rgt-out_binary64
33×associate-*l*_binary64
30×*-lft-identity_binary64 distribute-frac-neg_binary64
27×distribute-rgt1-in_binary64
26×associate-*l/_binary64
22×*-rgt-identity_binary64
21×distribute-rgt-out--_binary64
17×distribute-lft1-in_binary64 associate-*r/_binary64
16×mul0-rgt_binary64
15×sub0-neg_binary64
13×div0_binary64 distribute-lft-out--_binary64
12×mul0-lft_binary64
10×+-lft-identity_binary64
log-prod_binary64 /-rgt-identity_binary64
+-rgt-identity_binary64
count-2_binary64
1-exp_binary64 mul-1-neg_binary64 *-inverses_binary64 remove-double-div_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-lft-out_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
12218
23918
38118
415118
529418
656918
7100818
8104518
9115518
10151218
11176818
12199018
13228318
14241218
15245518
16245518
17248318
18248718
19248718
20248718
21248718
22420218
23436818
24439218
25454618
26467118
27468418
28514418

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
19.4b
Counts
1 → 1
Compiler

Compiled 12 to 11 computations (8.3% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
0.0b
(/.f64 (-.f64 x y) (-.f64 1 y))
2.2b
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
6.3b
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))

rewrite348.0ms (3.7%)

Algorithm
rewrite-expression-head
Error
16.3b
Rules
118×add-sqr-sqrt_binary64
107×*-un-lft-identity_binary64
66×times-frac_binary64
49×difference-of-squares_binary64
40×cancel-sign-sub-inv_binary64
32×add-cube-cbrt_binary64
29×distribute-lft-out--_binary64
16×log-prod_binary64
associate--r+_binary64
pow1_binary64 flip3--_binary64 flip--_binary64 add-exp-log_binary64 add-log-exp_binary64
add-cbrt-cube_binary64 associate-/r*_binary64
associate-/l*_binary64
log-div_binary64 associate-/r/_binary64
log-pow_binary64 associate--r-_binary64
diff-log_binary64 sub-neg_binary64 div-inv_binary64 div-sub_binary64 associate-/l/_binary64
rem-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64
Counts
4 → 159
Calls

4 calls:

23.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
21.0ms
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
16.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
9.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 3129 to 1995 computations (36.2% saved)

series259.0ms (2.8%)

Error
0.0b
Counts
4 → 70
Calls

4 calls:

60.0ms
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
53.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
36.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
31.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 3744 to 3030 computations (19.1% saved)

simplify169.0ms (1.8%)

Algorithm
egg-herbie
Rules
268×+-commutative_binary64
233×neg-sub0_binary64
218×neg-mul-1_binary64
198×associate--l+_binary64
192×sub-neg_binary64
182×associate-+l+_binary64
180×associate-+r+_binary64
179×associate--r+_binary64
150×div-sub_binary64
121×*-commutative_binary64
117×associate-/r*_binary64
103×associate-/l*_binary64 associate-*l/_binary64
90×associate-*r/_binary64
81×distribute-neg-in_binary64
75×associate-*l*_binary64
72×distribute-rgt-in_binary64
71×times-frac_binary64 distribute-lft-in_binary64
70×associate-*r*_binary64
46×cancel-sign-sub-inv_binary64
45×distribute-lft-neg-out_binary64
40×distribute-rgt-neg-in_binary64
39×distribute-neg-frac_binary64
38×exp-prod_binary64
36×associate-/l/_binary64
26×sqr-pow_binary64
23×log-prod_binary64 distribute-rgt-neg-out_binary64
21×cube-prod_binary64
20×exp-sum_binary64 associate-+r-_binary64
17×log-div_binary64 distribute-lft-neg-in_binary64
15×associate-+l-_binary64
12×associate-/r/_binary64 associate--r-_binary64
10×cube-div_binary64
exp-diff_binary64
unpow3_binary64 distribute-rgt1-in_binary64
cube-unmult_binary64 cube-mult_binary64 unsub-neg_binary64 distribute-rgt-out_binary64
log-pow_binary64 /-rgt-identity_binary64 *-lft-identity_binary64 unswap-sqr_binary64 swap-sqr_binary64
log-rec_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 rem-sqrt-square_binary64 mul-1-neg_binary64
prod-exp_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 *-rgt-identity_binary64
exp-to-pow_binary64 remove-double-neg_binary64 distribute-lft1-in_binary64 distribute-lft-out_binary64
pow-plus_binary64 div-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-exp-log_binary64 distribute-neg-out_binary64 distribute-rgt-out--_binary64 count-2_binary64 associate--l-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow1/3_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 rec-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-lft-out--_binary64
Counts
229 → 155
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04306143
112365956
244075612
349795612

prune136.0ms (1.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1505155
Fresh000
Picked101
Done000
Total1515156
Error
0.0b
Counts
156 → 5
Compiler

Compiled 2602 to 1707 computations (34.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(log.f64 (/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
0.0b
(/.f64 (-.f64 x y) (-.f64 1 y))
0.1b
(/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
2.2b
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))

rewrite284.0ms (3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
177×add-sqr-sqrt_binary64
145×*-un-lft-identity_binary64
124×times-frac_binary64
67×difference-of-squares_binary64
54×add-cube-cbrt_binary64
36×cancel-sign-sub-inv_binary64
32×distribute-lft-out--_binary64
30×log-prod_binary64
14×associate-/r*_binary64
13×add-exp-log_binary64
add-cbrt-cube_binary64 associate-/r/_binary64 associate-/l*_binary64
add-log-exp_binary64 flip3--_binary64 flip--_binary64
pow1_binary64 div-exp_binary64
div-inv_binary64
rem-log-exp_binary64
div-sub_binary64 e-exp-1_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 associate-/l/_binary64
diff-log_binary64 sub-neg_binary64 associate--r-_binary64 log-pow_binary64 log-div_binary64
Counts
4 → 203
Calls

4 calls:

21.0ms
(/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
19.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
18.0ms
(log.f64 (/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
10.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 4217 to 2469 computations (41.5% saved)

series407.0ms (4.3%)

Error
0b
Counts
4 → 67
Calls

4 calls:

168.0ms
(log.f64 (/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
87.0ms
(/.f64 E.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
36.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
31.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 5301 to 4141 computations (21.9% saved)

simplify169.0ms (1.8%)

Algorithm
egg-herbie
Rules
381×associate-/r*_binary64
277×times-frac_binary64
269×associate-/l*_binary64
187×sub-neg_binary64
182×associate-*l/_binary64
155×associate-*r/_binary64
146×associate-*r*_binary64
129×+-commutative_binary64
126×associate-*l*_binary64
96×*-commutative_binary64
89×associate-/l/_binary64
88×neg-sub0_binary64
87×associate-+r+_binary64
84×neg-mul-1_binary64
76×distribute-rgt-in_binary64
75×distribute-lft-in_binary64
60×distribute-neg-in_binary64
49×log-div_binary64
47×div-sub_binary64
42×cancel-sign-sub-inv_binary64 distribute-lft-neg-out_binary64 associate-/r/_binary64
38×distribute-neg-frac_binary64
36×distribute-rgt-neg-in_binary64
33×sqr-pow_binary64
22×distribute-rgt-neg-out_binary64
21×associate--l+_binary64 associate--r+_binary64
20×unswap-sqr_binary64
14×distribute-lft-neg-in_binary64
13×log-prod_binary64
10×distribute-rgt-out_binary64
mul-1-neg_binary64 /-rgt-identity_binary64
swap-sqr_binary64
log-rec_binary64 unpow3_binary64
cube-mult_binary64 distribute-rgt1-in_binary64
unpow2_binary64 unpow1_binary64 *-lft-identity_binary64
prod-exp_binary64 cube-unmult_binary64 cube-div_binary64 cube-prod_binary64
exp-sum_binary64 *-rgt-identity_binary64 distribute-lft-out_binary64
exp-prod_binary64 exp-diff_binary64 unsub-neg_binary64 distribute-lft1-in_binary64
log-E_binary64 div-exp_binary64 rec-exp_binary64 e-exp-1_binary64 1-exp_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 remove-double-neg_binary64 distribute-rgt-out--_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-neg_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+l+_binary64
Counts
270 → 176
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05968659
117218469
250168469

prune155.0ms (1.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1733176
Fresh404
Picked101
Done000
Total1783181
Error
0b
Counts
181 → 3
Compiler

Compiled 3641 to 2263 computations (37.8% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (/.f64 E.f64 (-.f64 1 x)) (*.f64 (/.f64 E.f64 (-.f64 1 x)) y))
0.1b
(/.f64 E.f64 (-.f64 1 x))
0.1b
(/.f64 E.f64 (-.f64 1 x))
0.3b
(*.f64 (/.f64 E.f64 (-.f64 1 x)) y)

rewrite195.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×add-sqr-sqrt_binary64
70×*-un-lft-identity_binary64
55×times-frac_binary64
37×add-cube-cbrt_binary64
24×associate-*l*_binary64
22×difference-of-squares_binary64
17×add-exp-log_binary64
13×add-cbrt-cube_binary64
12×associate-/r*_binary64
11×distribute-lft-out--_binary64
pow1_binary64 div-exp_binary64 add-log-exp_binary64 associate-/r/_binary64 associate-/l*_binary64
flip3--_binary64 flip--_binary64
e-exp-1_binary64 prod-exp_binary64 cbrt-undiv_binary64 associate-*l/_binary64 div-inv_binary64 associate-*r*_binary64
cbrt-unprod_binary64 unswap-sqr_binary64 frac-2neg_binary64 clear-num_binary64
pow-prod-down_binary64 *-commutative_binary64 diff-log_binary64 frac-sub_binary64 sub-div_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64
Counts
4 → 142
Calls

4 calls:

13.0ms
(*.f64 (/.f64 E.f64 (-.f64 1 x)) y)
11.0ms
(-.f64 (/.f64 E.f64 (-.f64 1 x)) (*.f64 (/.f64 E.f64 (-.f64 1 x)) y))
6.0ms
(/.f64 E.f64 (-.f64 1 x))
6.0ms
(/.f64 E.f64 (-.f64 1 x))
Compiler

Compiled 2895 to 1855 computations (35.9% saved)

series108.0ms (1.1%)

Error
0b
Counts
4 → 41
Calls

4 calls:

34.0ms
(-.f64 (/.f64 E.f64 (-.f64 1 x)) (*.f64 (/.f64 E.f64 (-.f64 1 x)) y))
24.0ms
(*.f64 (/.f64 E.f64 (-.f64 1 x)) y)
11.0ms
(/.f64 E.f64 (-.f64 1 x))
11.0ms
(/.f64 E.f64 (-.f64 1 x))
Compiler

Compiled 1495 to 1005 computations (32.8% saved)

simplify194.0ms (2.1%)

Algorithm
egg-herbie
Rules
347×cancel-sign-sub-inv_binary64
335×associate-/l*_binary64 associate-*l/_binary64
235×times-frac_binary64
229×associate-*r/_binary64
181×div-sub_binary64
177×associate--r+_binary64
151×associate--l+_binary64
146×distribute-rgt-neg-in_binary64
133×neg-sub0_binary64
131×associate-/r*_binary64
128×neg-mul-1_binary64
123×distribute-lft-neg-in_binary64
119×distribute-rgt-out_binary64
117×sub-neg_binary64
101×distribute-rgt-in_binary64
97×distribute-lft-out_binary64
87×unsub-neg_binary64
82×associate-*l*_binary64
76×*-commutative_binary64
69×distribute-lft-in_binary64 associate-/l/_binary64
63×distribute-neg-frac_binary64 associate-*r*_binary64
62×+-commutative_binary64
59×associate-/r/_binary64
52×distribute-neg-in_binary64
37×log-div_binary64 associate-+l+_binary64
36×distribute-rgt-out--_binary64
35×exp-prod_binary64
31×cube-prod_binary64 associate-+r+_binary64
28×log-prod_binary64
27×sqr-pow_binary64
26×distribute-lft-neg-out_binary64 distribute-rgt1-in_binary64
24×cube-div_binary64
20×unpow3_binary64 distribute-lft-out--_binary64
17×unswap-sqr_binary64
16×*-rgt-identity_binary64
12×*-lft-identity_binary64
11×swap-sqr_binary64
10×distribute-lft1-in_binary64
exp-sum_binary64
log-rec_binary64 cube-mult_binary64 /-rgt-identity_binary64 distribute-rgt-neg-out_binary64
mul-1-neg_binary64
exp-diff_binary64 associate--l-_binary64
associate-+r-_binary64
+-rgt-identity_binary64 difference-of-squares_binary64
unpow1/2_binary64 pow-plus_binary64 rec-exp_binary64 prod-exp_binary64 cube-unmult_binary64 sqr-neg_binary64 div0_binary64 associate--r-_binary64 associate-+l-_binary64
log-E_binary64 unpow2_binary64 unpow1_binary64 div-exp_binary64 e-exp-1_binary64 1-exp_binary64 cube-neg_binary64 rem-sqrt-square_binary64 remove-double-neg_binary64 pow-sqr_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-neg_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 count-2_binary64
Counts
183 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01893065
14812824
214522739
344022739
449872739
549942739
649672739

prune108.0ms (1.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1241125
Fresh112
Picked011
Done000
Total1253128
Error
0b
Counts
128 → 3
Compiler

Compiled 1872 to 1150 computations (38.6% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (log.f64 (sqrt.f64 E.f64)) (log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))))
0.0b
(log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
0.1b
(/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
2.2b
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))

rewrite352.0ms (3.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
276×add-sqr-sqrt_binary64
214×times-frac_binary64
200×*-un-lft-identity_binary64
114×log-prod_binary64
96×difference-of-squares_binary64
89×add-cube-cbrt_binary64
78×sqrt-prod_binary64
54×associate-+r+_binary64
36×cancel-sign-sub-inv_binary64
31×distribute-lft-out--_binary64
pow1_binary64 add-exp-log_binary64
associate-/r/_binary64 associate-/r*_binary64
add-log-exp_binary64 add-cbrt-cube_binary64 associate-/l*_binary64 associate-+l+_binary64
flip3--_binary64 flip--_binary64 log-pow_binary64
div-inv_binary64 distribute-lft-out_binary64
div-exp_binary64 log-div_binary64 rem-log-exp_binary64
diff-log_binary64 sub-neg_binary64 div-sub_binary64 associate--r-_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 associate-+r-_binary64 +-commutative_binary64
Counts
4 → 270
Calls

4 calls:

29.0ms
(+.f64 (log.f64 (sqrt.f64 E.f64)) (log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))))
26.0ms
(log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
22.0ms
(/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
18.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
Compiler

Compiled 6933 to 3637 computations (47.5% saved)

series792.0ms (8.4%)

Error
0b
Counts
4 → 68
Calls

4 calls:

251.0ms
(/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
211.0ms
(+.f64 (log.f64 (sqrt.f64 E.f64)) (log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))))
187.0ms
(log.f64 (/.f64 (sqrt.f64 E.f64) (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
38.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
Compiler

Compiled 9721 to 7283 computations (25.1% saved)

simplify272.0ms (2.9%)

Algorithm
egg-herbie
Rules
437×associate-/r*_binary64
327×times-frac_binary64
263×associate-/l*_binary64
243×associate-*l/_binary64
211×+-commutative_binary64
200×sub-neg_binary64
138×associate-+r+_binary64
128×*-commutative_binary64
88×neg-sub0_binary64
85×neg-mul-1_binary64
76×distribute-rgt-in_binary64
72×distribute-lft-in_binary64
66×associate-/l/_binary64
61×log-div_binary64
60×cancel-sign-sub-inv_binary64
53×distribute-neg-in_binary64 associate-*r/_binary64
47×distribute-rgt-out_binary64
46×distribute-lft-neg-out_binary64
45×distribute-rgt-neg-in_binary64
39×sqr-pow_binary64
36×distribute-neg-frac_binary64
33×div-sub_binary64
26×associate--l+_binary64
25×associate--r+_binary64
22×unswap-sqr_binary64 distribute-rgt-neg-out_binary64
18×distribute-lft-neg-in_binary64
17×log-prod_binary64 associate-/r/_binary64
13×associate-*r*_binary64
10×log-rec_binary64
unpow3_binary64 cube-mult_binary64
unsub-neg_binary64 swap-sqr_binary64
mul-1-neg_binary64 /-rgt-identity_binary64
*-lft-identity_binary64 distribute-rgt1-in_binary64 distribute-lft-out_binary64
unpow2_binary64 unpow1_binary64 associate-*l*_binary64
exp-sum_binary64 cube-unmult_binary64 cube-prod_binary64 *-rgt-identity_binary64 distribute-rgt-out--_binary64
exp-prod_binary64 exp-diff_binary64 rem-exp-log_binary64 cube-div_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 distribute-lft1-in_binary64 count-2_binary64
div-exp_binary64 prod-exp_binary64 e-exp-1_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 remove-double-neg_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 associate-+r-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 pow-base-0_binary64 unpow1/3_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 rec-exp_binary64 exp-neg_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64 associate-+l+_binary64
Counts
338 → 236
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
074915054
1215114544
2517814544

prune184.0ms (2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2360236
Fresh011
Picked011
Done011
Total2363239
Error
0b
Counts
239 → 3
Compiler

Compiled 6139 to 3551 computations (42.2% saved)

regimes2.5s (27%)

Accuracy

Total 0.0b remaining (64.7%)

Threshold costs 0.0b (64.7%)

Compiler

Compiled 31979 to 26806 computations (16.2% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
sub-neg_binary64 +-commutative_binary64
*-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
e-exp-1_binary64 1-exp_binary64 distribute-neg-frac_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 unsub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub-inv_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
11923
22823
34023
44823
55323
65523
75423

end1.0ms (0%)

Compiler

Compiled 14 to 12 computations (14.3% saved)

sample1.4s (15.4%)

Algorithm
intervals
Results
313.0ms5828×body128valid
215.0ms1068×body1024valid
163.0ms1026×body1024nan
90.0ms660×body512valid
75.0ms655×body512nan
35.0ms384×body256valid
27.0ms366×body256nan
18.0ms60×body2048valid
17.0ms471×body128nan
1.0msbody2048nan
Compiler

Compiled 130 to 110 computations (15.4% saved)

Profiling

Loading profile data...