Details

Time bar (total: 5.0s)

analyze508.0ms (10.1%)

Algorithm
search
egg-herbie
Rules
1057×distribute-rgt-in_binary64
847×unsub-neg_binary64
612×sub-neg_binary64
437×distribute-neg-in_binary64
432×neg-mul-1_binary64
425×neg-sub0_binary64
369×+-commutative_binary64
275×associate--r+_binary64
252×*-commutative_binary64
232×distribute-lft-neg-out_binary64
221×distribute-rgt-neg-out_binary64
196×remove-double-neg_binary64
192×distribute-rgt-neg-in_binary64
180×distribute-neg-out_binary64
162×associate-+l+_binary64
153×associate--l+_binary64
149×associate-+l-_binary64
142×associate-+r+_binary64
137×associate-+r-_binary64
135×cancel-sign-sub-inv_binary64
111×associate-*r*_binary64
101×associate-*l*_binary64
78×associate--r-_binary64
76×distribute-lft-in_binary64
74×distribute-rgt-out--_binary64
71×distribute-rgt-out_binary64
69×sub0-neg_binary64
63×associate--l-_binary64
62×distribute-lft-neg-in_binary64
58×*-rgt-identity_binary64
52×distribute-lft-out--_binary64
46×*-lft-identity_binary64
31×+-rgt-identity_binary64
24×log-prod_binary64
16×--rgt-identity_binary64
cancel-sign-sub_binary64
distribute-lft1-in_binary64
+-lft-identity_binary64
distribute-rgt1-in_binary64
mul-1-neg_binary64 mul0-rgt_binary64 mul0-lft_binary64
1-exp_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-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 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_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-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft-out_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02672
17872
216172
330772
468872
5129172
6223372
7284772
8339772
9346272
10350072
11349172
12349172
13398272
14406772
15409872
16411672
17412072
18412072
19412872
20415872
21415872
22415872
23415872
24527072
033
133
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%74.9%25.1%4
0%74.9%25.1%5
0%62.4%37.6%6
12.5%43.7%43.8%7
12.5%43.7%43.8%8
25%28.1%47%9
28.1%20.3%51.6%10
28.1%20.3%51.6%11
34.3%13.3%52.4%12
35.9%9.8%54.4%13
35.9%9.8%54.4%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample22.0ms (0.4%)

Algorithm
intervals
Results
12.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 25 to 26 computations (-4% saved)

simplify340.0ms (6.7%)

Algorithm
egg-herbie
Rules
1119×unsub-neg_binary64
746×distribute-rgt-in_binary64
570×+-commutative_binary64
521×sub-neg_binary64
510×associate--r+_binary64
426×associate--l+_binary64
393×*-commutative_binary64
357×neg-sub0_binary64
356×associate-+r+_binary64
346×neg-mul-1_binary64
336×distribute-lft-neg-in_binary64
332×distribute-neg-out_binary64
304×associate-+l+_binary64
217×distribute-rgt-neg-in_binary64
189×distribute-neg-in_binary64
157×distribute-lft-in_binary64
149×associate-*r*_binary64
125×associate-+l-_binary64
90×distribute-lft-neg-out_binary64 associate-*l*_binary64
89×cancel-sign-sub-inv_binary64
75×distribute-rgt-out--_binary64
70×cancel-sign-sub_binary64
65×distribute-rgt-neg-out_binary64
56×associate-+r-_binary64
42×associate--r-_binary64 associate--l-_binary64
40×distribute-rgt1-in_binary64
31×distribute-rgt-out_binary64
24×sub0-neg_binary64
22×remove-double-neg_binary64
20×*-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 distribute-lft1-in_binary64
18×*-lft-identity_binary64
13×+-rgt-identity_binary64
log-prod_binary64 --rgt-identity_binary64
mul-1-neg_binary64
distribute-lft-out--_binary64
+-lft-identity_binary64
distribute-lft-out_binary64
1-exp_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-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 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_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-neg-frac_binary64 distribute-frac-neg_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
12818
25318
39718
421818
534918
648618
782918
8116318
9123218
10133518
11141618
12145318
13327418
14327118
15392018
16448618
17449718
18449718
19498218
20421718
21437118
22437518
23437518
24440518
25440518
26435818
27435218
28435218
29488918

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 11 computations (8.3% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
0.0b
(+.f64 (-.f64 1 z) (log.f64 z))
0.2b
(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))

rewrite106.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×*-un-lft-identity_binary64
pow1_binary64 add-sqr-sqrt_binary64
add-log-exp_binary64 distribute-lft-out_binary64
add-cube-cbrt_binary64 associate-*r*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-+r+_binary64
log-pow_binary64 distribute-lft-out--_binary64 associate-+l+_binary64
flip3-+_binary64 flip-+_binary64 associate-*l*_binary64 sum-log_binary64 cancel-sign-sub-inv_binary64 log-prod_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64 associate-*r/_binary64 +-commutative_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64 diff-log_binary64 associate-+l-_binary64 sub-neg_binary64
Counts
3 → 63
Calls

3 calls:

11.0ms
(+.f64 (-.f64 1 z) (log.f64 z))
10.0ms
(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
6.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
Compiler

Compiled 1091 to 665 computations (39% saved)

series126.0ms (2.5%)

Error
0.1b
Counts
3 → 30
Calls

3 calls:

61.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 (-.f64 1 z) (log.f64 z))))
28.0ms
(*.f64 y (+.f64 (-.f64 1 z) (log.f64 z)))
12.0ms
(+.f64 (-.f64 1 z) (log.f64 z))
Compiler

Compiled 784 to 611 computations (22.1% saved)

simplify107.0ms (2.1%)

Algorithm
egg-herbie
Rules
450×times-frac_binary64
274×*-commutative_binary64
264×sub-neg_binary64
250×exp-sum_binary64
224×unsub-neg_binary64
217×exp-prod_binary64
213×distribute-rgt-neg-in_binary64
206×associate-+l+_binary64
200×distribute-neg-in_binary64
183×distribute-lft-neg-in_binary64
167×associate-+r+_binary64
147×distribute-rgt-neg-out_binary64
144×distribute-lft-neg-out_binary64
133×neg-mul-1_binary64 neg-sub0_binary64 +-commutative_binary64
127×exp-diff_binary64
125×associate--r-_binary64
104×cancel-sign-sub-inv_binary64 associate--r+_binary64
99×distribute-rgt-out_binary64 distribute-rgt-in_binary64
97×associate-*l*_binary64
92×log-prod_binary64
91×associate-*r*_binary64
90×distribute-lft-in_binary64
79×associate--l+_binary64
66×sqr-pow_binary64
53×distribute-rgt-out--_binary64
51×cube-prod_binary64
50×associate-+l-_binary64
46×associate-/l*_binary64
45×cancel-sign-sub_binary64
41×associate-+r-_binary64
34×unswap-sqr_binary64
33×associate-/r*_binary64
31×distribute-neg-out_binary64
29×div-sub_binary64
27×remove-double-neg_binary64
24×*-lft-identity_binary64
22×log-div_binary64
21×*-rgt-identity_binary64
18×+-rgt-identity_binary64
15×distribute-lft-out_binary64
12×exp-to-pow_binary64 sub0-neg_binary64 swap-sqr_binary64 associate-/r/_binary64
11×unpow3_binary64 associate-*r/_binary64
10×div-exp_binary64 cube-neg_binary64
sqr-neg_binary64 distribute-lft1-in_binary64 associate--l-_binary64
distribute-lft-out--_binary64
associate-*l/_binary64
cube-unmult_binary64 cube-mult_binary64
log-pow_binary64 unpow1/2_binary64 rem-exp-log_binary64 rem-sqrt-square_binary64 pow-sqr_binary64 distribute-frac-neg_binary64
log-rec_binary64 prod-exp_binary64 --rgt-identity_binary64 difference-of-squares_binary64 associate-/l/_binary64
count-2_binary64
rec-exp_binary64 mul-1-neg_binary64
exp-lft-sqr_binary64 1-exp_binary64 exp-1-e_binary64 rem-log-exp_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 distribute-rgt1-in_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 unpow2_binary64 pow-plus_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_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 distribute-neg-frac_binary64
Counts
93 → 69
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321365
13651271
212041270
325451270
443931270
553701270

prune57.0ms (1.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New60969
Fresh000
Picked101
Done000
Total61970
Error
0.0b
Counts
70 → 9
Compiler

Compiled 913 to 586 computations (35.8% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 1 (-.f64 (log.f64 z) z))
0.0b
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 1 (-.f64 (log.f64 z) z))))
0.0b
(-.f64 (log.f64 z) z)
0.2b
(*.f64 y (+.f64 1 (-.f64 (log.f64 z) z)))

rewrite144.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
27×*-un-lft-identity_binary64
14×add-sqr-sqrt_binary64
11×add-log-exp_binary64
10×add-cube-cbrt_binary64
pow1_binary64 associate-+r+_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-*r*_binary64 distribute-lft-out_binary64 distribute-lft-out--_binary64 cancel-sign-sub-inv_binary64 log-prod_binary64 associate--l+_binary64
flip3-+_binary64 flip-+_binary64 associate-*l*_binary64 log-pow_binary64 sum-log_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64 associate-*r/_binary64 diff-log_binary64 sub-neg_binary64 +-commutative_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 *-commutative_binary64 flip3--_binary64 flip--_binary64 difference-of-squares_binary64 associate-+r-_binary64
Counts
4 → 81
Calls

4 calls:

9.0ms
(*.f64 y (+.f64 1 (-.f64 (log.f64 z) z)))
7.0ms
(+.f64 1 (-.f64 (log.f64 z) z))
5.0ms
(-.f64 (log.f64 z) z)
4.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 1 (-.f64 (log.f64 z) z))))
Compiler

Compiled 1420 to 739 computations (48% saved)

series143.0ms (2.8%)

Error
0.0b
Counts
4 → 35
Calls

4 calls:

61.0ms
(+.f64 (*.f64 x 1/2) (*.f64 y (+.f64 1 (-.f64 (log.f64 z) z))))
31.0ms
(*.f64 y (+.f64 1 (-.f64 (log.f64 z) z)))
12.0ms
(+.f64 1 (-.f64 (log.f64 z) z))
12.0ms
(-.f64 (log.f64 z) z)
Compiler

Compiled 935 to 741 computations (20.7% saved)

simplify141.0ms (2.8%)

Algorithm
egg-herbie
Rules
385×unsub-neg_binary64
294×sub-neg_binary64
265×times-frac_binary64
251×*-commutative_binary64
246×associate-+l+_binary64
237×exp-sum_binary64
209×distribute-rgt-neg-out_binary64
206×distribute-neg-in_binary64
196×distribute-lft-neg-out_binary64
173×associate-+r+_binary64
162×exp-prod_binary64 neg-sub0_binary64
160×neg-mul-1_binary64
147×exp-diff_binary64
143×+-commutative_binary64
136×cancel-sign-sub-inv_binary64
128×distribute-neg-out_binary64
115×associate--r+_binary64
106×distribute-rgt-in_binary64
99×log-prod_binary64
95×distribute-lft-in_binary64
93×associate-*l*_binary64
92×cube-prod_binary64
88×distribute-rgt-neg-in_binary64 associate-*r*_binary64
78×associate--l+_binary64
77×sqr-pow_binary64
59×associate-+l-_binary64
58×distribute-lft-neg-in_binary64
49×associate-+r-_binary64
44×div-sub_binary64
42×unswap-sqr_binary64
36×remove-double-neg_binary64 associate--r-_binary64
34×cancel-sign-sub_binary64
27×distribute-rgt-out_binary64
23×*-lft-identity_binary64
20×unpow3_binary64 swap-sqr_binary64
19×*-rgt-identity_binary64 sub0-neg_binary64 +-rgt-identity_binary64
16×log-div_binary64 difference-of-squares_binary64
14×cube-neg_binary64 sqr-neg_binary64 distribute-rgt-out--_binary64
12×associate--l-_binary64
11×--rgt-identity_binary64
10×log-pow_binary64 exp-to-pow_binary64 cube-mult_binary64 rem-sqrt-square_binary64 distribute-lft-out_binary64
pow-sqr_binary64
cube-unmult_binary64 cube-div_binary64 distribute-frac-neg_binary64
unpow1/2_binary64 prod-exp_binary64 associate-/l*_binary64 associate-/r*_binary64
rem-exp-log_binary64
log-rec_binary64 pow-plus_binary64 distribute-lft-out--_binary64
difference-of-sqr-1_binary64 distribute-rgt1-in_binary64
div-exp_binary64 exp-neg_binary64 mul-1-neg_binary64 distribute-lft1-in_binary64 associate-*l/_binary64
log-E_binary64 exp-lft-sqr_binary64 rec-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-log-exp_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 difference-of-sqr--1_binary64 distribute-neg-frac_binary64 count-2_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 pow-base-0_binary64 unpow1/3_binary64 unpow2_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 exp-sqrt_binary64 e-exp-1_binary64 exp-0_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_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 associate-/l/_binary64 associate-/r/_binary64
Counts
116 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01501514
13971425
212001423
326971423
442831423
549851423
649431423

prune71.0ms (1.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New78381
Fresh538
Picked101
Done000
Total84690
Error
0.0b
Counts
90 → 6
Compiler

Compiled 1088 to 649 computations (40.3% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z)))
0.2b
(*.f64 y (+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z))))
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 z)

rewrite139.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
16×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
10×add-log-exp_binary64 add-cube-cbrt_binary64
cbrt-prod_binary64
pow1_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 log-prod_binary64 associate-+r+_binary64
associate-*r*_binary64 sum-log_binary64
distribute-lft-out_binary64
associate-*l*_binary64
pow1/3_binary64 flip3-+_binary64 associate-*r/_binary64 flip-+_binary64 log-pow_binary64 associate-+l-_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64 *-commutative_binary64 diff-log_binary64 associate-+l+_binary64 +-commutative_binary64
Counts
4 → 69
Calls

4 calls:

12.0ms
(*.f64 y (+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z))))
12.0ms
(+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z)))
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1779 to 952 computations (46.5% saved)

series129.0ms (2.6%)

Error
0.0b
Counts
4 → 19
Calls

4 calls:

56.0ms
(*.f64 y (+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z))))
23.0ms
(+.f64 (+.f64 (-.f64 1 z) (*.f64 (log.f64 (cbrt.f64 z)) 2)) (log.f64 (cbrt.f64 z)))
17.0ms
(cbrt.f64 z)
17.0ms
(cbrt.f64 z)
Compiler

Compiled 816 to 709 computations (13.1% saved)

simplify88.0ms (1.7%)

Algorithm
egg-herbie
Rules
888×distribute-rgt-in_binary64
875×distribute-lft-in_binary64
164×exp-prod_binary64
141×exp-sum_binary64
127×cancel-sign-sub-inv_binary64
110×associate-*l*_binary64
101×associate-*r*_binary64
75×sub-neg_binary64 *-commutative_binary64
43×+-commutative_binary64
42×log-prod_binary64
39×associate-+l+_binary64
37×distribute-rgt-neg-in_binary64
32×sqr-pow_binary64
31×distribute-lft-neg-in_binary64
22×exp-diff_binary64
20×associate-+r+_binary64
19×*-rgt-identity_binary64
18×log-pow_binary64 log-div_binary64 prod-exp_binary64 associate-+l-_binary64
17×exp-to-pow_binary64 *-lft-identity_binary64 distribute-rgt-out_binary64 associate-/r*_binary64
15×distribute-neg-in_binary64
14×distribute-lft-out_binary64 associate--l+_binary64
13×neg-sub0_binary64
12×distribute-rgt-out--_binary64
11×div-exp_binary64 neg-mul-1_binary64 swap-sqr_binary64 distribute-lft-neg-out_binary64
10×associate-+r-_binary64
unsub-neg_binary64
cube-prod_binary64
unswap-sqr_binary64 distribute-rgt-neg-out_binary64 associate-/l*_binary64
cube-unmult_binary64 distribute-lft-out--_binary64 associate-*l/_binary64
log-rec_binary64 unpow3_binary64 associate--r+_binary64
exp-lft-sqr_binary64 cube-mult_binary64 rem-sqrt-square_binary64 div-sub_binary64 mul-1-neg_binary64 pow-sqr_binary64 distribute-rgt1-in_binary64 count-2_binary64 associate--l-_binary64
unpow1/3_binary64 unpow1/2_binary64 rec-exp_binary64 associate-*r/_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 exp-lft-cube_binary64 1-exp_binary64 exp-1-e_binary64 rem-exp-log_binary64 rem-3cbrt-lft_binary64 difference-of-squares_binary64 distribute-neg-out_binary64 distribute-lft1-in_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 pow-base-0_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-neg_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 times-frac_binary64 /-rgt-identity_binary64 remove-double-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 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 associate-/l/_binary64 associate-/r/_binary64
Counts
88 → 64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01221688
13131172
211311012
346461012
450101012

prune65.0ms (1.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New62264
Fresh145
Picked011
Done000
Total63770
Error
0b
Counts
70 → 7
Compiler

Compiled 1034 to 634 computations (38.7% saved)

localize20.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 (cbrt.f64 z))
0.6b
(cbrt.f64 (cbrt.f64 z))

rewrite108.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
24×cbrt-prod_binary64
10×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
pow1/3_binary64 pow1_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
Counts
4 → 50
Calls

4 calls:

2.0ms
(cbrt.f64 (cbrt.f64 z))
2.0ms
(cbrt.f64 (cbrt.f64 z))
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1420 to 635 computations (55.3% saved)

series95.0ms (1.9%)

Error
0b
Counts
4 → 12
Calls

4 calls:

22.0ms
(cbrt.f64 (cbrt.f64 z))
22.0ms
(cbrt.f64 (cbrt.f64 z))
19.0ms
(cbrt.f64 z)
18.0ms
(cbrt.f64 z)
Compiler

Compiled 888 to 708 computations (20.3% saved)

simplify115.0ms (2.3%)

Algorithm
egg-herbie
Rules
513×log-prod_binary64
450×unswap-sqr_binary64
391×associate-+l+_binary64
359×associate-+r+_binary64
347×distribute-rgt-in_binary64
341×distribute-lft-in_binary64
328×distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
214×distribute-rgt-out_binary64
192×*-commutative_binary64
149×distribute-lft-out_binary64
137×cancel-sign-sub-inv_binary64
126×sqr-pow_binary64
123×associate-*l*_binary64
88×associate-*r*_binary64
84×log-pow_binary64
51×neg-sub0_binary64
50×neg-mul-1_binary64
38×pow-sqr_binary64
34×rem-sqrt-square_binary64
33×exp-prod_binary64
28×sub-neg_binary64
27×pow-plus_binary64
24×unpow3_binary64 unsub-neg_binary64
23×cube-prod_binary64
22×cube-unmult_binary64
19×distribute-rgt1-in_binary64
15×distribute-lft1-in_binary64
14×count-2_binary64
unpow2_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
mul0-rgt_binary64 mul0-lft_binary64
cube-mult_binary64
associate-/l/_binary64 associate-*r/_binary64
associate-/l*_binary64
unpow1/3_binary64 unpow1_binary64 +-commutative_binary64
rem-3cbrt-lft_binary64 swap-sqr_binary64 associate-/r/_binary64
unpow1/2_binary64 1-exp_binary64 rem-cbrt-cube_binary64 times-frac_binary64 mul-1-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 associate-/r*_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 log-rec_binary64 log-div_binary64 pow-base-0_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 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-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 div-sub_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 div0_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 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate-*l/_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+r-_binary64
Counts
62 → 20
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
038500
163500
2158500
3489452
4976452
53453452
64795452
74957452
84718452

prune16.0ms (0.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New20020
Fresh055
Picked011
Done011
Total20727
Error
0b
Counts
27 → 7
Compiler

Compiled 269 to 153 computations (43.1% saved)

regimes1.5s (30.6%)

Accuracy

Total 0.1b remaining (82.6%)

Threshold costs 0.1b (82.6%)

Compiler

Compiled 19233 to 15615 computations (18.8% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-mul-1_binary64 neg-sub0_binary64
cancel-sign-sub-inv_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
1-exp_binary64 unsub-neg_binary64 remove-double-neg_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 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub_binary64 distribute-neg-frac_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
01418
12718
23818
34618
44718
54318

end1.0ms (0%)

Compiler

Compiled 12 to 11 computations (8.3% saved)

sample916.0ms (18.2%)

Algorithm
intervals
Results
402.0ms8000×body128valid
13.0ms281×body128invalid
2.0ms63×body128nan
Compiler

Compiled 212 to 170 computations (19.8% saved)

Profiling

Loading profile data...