Details

Time bar (total: 4.7s)

analyze1.1s (24.6%)

Algorithm
search
egg-herbie
Rules
1746×div-sub_binary64
834×associate-/l*_binary64
656×sub-neg_binary64
642×distribute-rgt-in_binary64
630×associate-/l/_binary64
512×distribute-lft-in_binary64
446×associate-/r/_binary64
344×unsub-neg_binary64
336×associate-/r*_binary64
274×cancel-sign-sub-inv_binary64
248×remove-double-div_binary64
240×times-frac_binary64
218×*-commutative_binary64
212×associate-*l/_binary64
160×distribute-frac-neg_binary64
135×distribute-rgt-neg-out_binary64
131×associate--r+_binary64
112×distribute-rgt-neg-in_binary64
109×neg-mul-1_binary64
100×distribute-lft-neg-in_binary64
86×neg-sub0_binary64
84×mul0-rgt_binary64
78×div0_binary64
66×mul0-lft_binary64
62×distribute-lft-neg-out_binary64
60×associate--l+_binary64
54×distribute-neg-in_binary64
53×+-commutative_binary64
48×distribute-neg-frac_binary64 associate--r-_binary64 associate--l-_binary64
33×associate-+l-_binary64
30×associate-*r/_binary64
25×associate-*l*_binary64 associate-*r*_binary64
20×/-rgt-identity_binary64
12×mul-1-neg_binary64 *-lft-identity_binary64 sub0-neg_binary64 associate-+r+_binary64
*-rgt-identity_binary64 +-lft-identity_binary64 distribute-rgt-out--_binary64 associate-+r-_binary64 associate-+l+_binary64
remove-double-neg_binary64 +-rgt-identity_binary64
1-exp_binary64 swap-z-t
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 log-prod_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 --rgt-identity_binary64 *-inverses_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 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02570
15570
28870
312870
418270
529970
630570
762770
8113770
9202170
10193970
11187170
12191570
13195170
14195970
15240370
16244770
17246970
18248570
19244770
20245570
21246370
22246370
23306370
24295970
25289970
26292370
27293570
28293570
29293570
30293570
31346370
32340570
33321370
34321370
35321370
36321370
37321370
38294070
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
25%74.9%0.2%7
25%74.9%0.2%8
34.3%65.5%0.2%9
39%60.8%0.2%10
48.3%51.5%0.2%11
53.7%46.1%0.2%12
63.1%36.7%0.2%13
64%35.6%0.4%14
Symmetry

(sort z t)

Compiler

Compiled 8 to 8 computations (0% saved)

sample28.0ms (0.6%)

Algorithm
intervals
Results
7.0ms256×body128valid
0.0ms13×body128invalid
Compiler

Compiled 15 to 19 computations (-26.7% saved)

simplify14.0ms (0.3%)

Algorithm
egg-herbie
Rules
28×cancel-sign-sub-inv_binary64
21×sub-neg_binary64
13×neg-mul-1_binary64 distribute-rgt-neg-in_binary64
12×distribute-rgt-in_binary64
11×unsub-neg_binary64
10×neg-sub0_binary64 associate-/r*_binary64 associate--r+_binary64
distribute-lft-neg-out_binary64 +-commutative_binary64
+-lft-identity_binary64 distribute-lft-in_binary64
sub0-neg_binary64 distribute-lft-neg-in_binary64 associate-+l-_binary64 *-commutative_binary64
distribute-rgt-neg-out_binary64
*-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64
remove-double-neg_binary64 --rgt-identity_binary64 distribute-neg-in_binary64 associate-+l+_binary64
/-rgt-identity_binary64 *-rgt-identity_binary64 associate-/l/_binary64 associate--r-_binary64
1-exp_binary64 +-rgt-identity_binary64 cancel-sign-sub_binary64 associate-*l*_binary64 associate-*r*_binary64 associate--l+_binary64 associate-+r-_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 log-rec_binary64 log-div_binary64 log-prod_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 mul-1-neg_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-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-*l/_binary64 associate-*r/_binary64 associate--l-_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11410
22410
33610
44710
56710
69210
711310
814410
915410
1014910
1112610

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 7 to 7 computations (0% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

3.9b
(/.f64 x (-.f64 y (*.f64 z t)))

rewrite38.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
3.8b
Rules
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 times-frac_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-/l*_binary64 associate-/r*_binary64
associate-/r/_binary64
pow1_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 flip3--_binary64 flip--_binary64
Counts
1 → 29
Calls

1 calls:

5.0ms
(/.f64 x (-.f64 y (*.f64 z t)))
Compiler

Compiled 460 to 105 computations (77.2% saved)

series46.0ms (1%)

Error
3.9b
Counts
1 → 17
Calls

1 calls:

42.0ms
(/.f64 x (-.f64 y (*.f64 z t)))
Compiler

Compiled 426 to 366 computations (14.1% saved)

simplify75.0ms (1.6%)

Algorithm
egg-herbie
Rules
688×associate-/l*_binary64
434×associate-/l/_binary64
403×div-sub_binary64
244×cancel-sign-sub-inv_binary64
206×associate-/r/_binary64
188×distribute-rgt-neg-in_binary64
174×distribute-lft-neg-in_binary64
166×distribute-rgt-in_binary64
163×distribute-lft-in_binary64
162×unswap-sqr_binary64
153×distribute-neg-frac_binary64
140×associate-*l*_binary64
132×associate-/r*_binary64
118×associate-*r*_binary64
99×cube-prod_binary64
75×times-frac_binary64
72×distribute-lft-neg-out_binary64
71×distribute-rgt-neg-out_binary64
69×sub-neg_binary64
63×neg-sub0_binary64
62×associate-*l/_binary64
59×neg-mul-1_binary64
51×*-commutative_binary64
42×associate-*r/_binary64
30×sqr-pow_binary64
21×*-rgt-identity_binary64
19×unpow3_binary64
16×swap-sqr_binary64
14×distribute-frac-neg_binary64
13×cube-unmult_binary64 unsub-neg_binary64 +-commutative_binary64
12×sqr-neg_binary64
10×cube-mult_binary64 difference-of-squares_binary64 distribute-rgt-out--_binary64
distribute-neg-in_binary64
associate-+l-_binary64 associate-+r-_binary64
pow-plus_binary64 sub0-neg_binary64 +-rgt-identity_binary64 distribute-lft-out_binary64
cube-neg_binary64 rem-sqrt-square_binary64 /-rgt-identity_binary64 *-lft-identity_binary64 div0_binary64
log-div_binary64 remove-double-neg_binary64 distribute-rgt-out_binary64 associate--r+_binary64
log-prod_binary64 unpow2_binary64 unpow1/2_binary64 unpow1_binary64 pow-sqr_binary64 cancel-sign-sub_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64
1-exp_binary64 cube-div_binary64 mul-1-neg_binary64 --rgt-identity_binary64 distribute-rgt1-in_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 log-E_binary64 log-pow_binary64 log-rec_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-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 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_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 distribute-neg-out_binary64 distribute-lft1-in_binary64 associate--l+_binary64 associate-+l+_binary64
Counts
46 → 37
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
078778
1181736
2519694
31640694
44671694
55327694

prune30.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New30737
Fresh000
Picked011
Done000
Total30838
Error
3.8b
Counts
38 → 8
Compiler

Compiled 523 to 176 computations (66.3% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.4b
(/.f64 1 (-.f64 y (*.f64 t z)))
3.8b
(*.f64 x (/.f64 1 (-.f64 y (*.f64 t z))))

rewrite90.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
3.8b
Rules
25×add-sqr-sqrt_binary64
20×times-frac_binary64
19×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
15×add-exp-log_binary64 associate-*r*_binary64
add-cbrt-cube_binary64
pow1_binary64
div-exp_binary64 prod-exp_binary64 associate-/r/_binary64
unswap-sqr_binary64 associate-*l*_binary64 associate-/l*_binary64 associate-/r*_binary64
1-exp_binary64 rec-exp_binary64 add-log-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 div-inv_binary64 flip3--_binary64 flip--_binary64
pow-prod-down_binary64 un-div-inv_binary64 associate-*r/_binary64 *-commutative_binary64 inv-pow_binary64 pow-flip_binary64 frac-2neg_binary64 clear-num_binary64
Counts
2 → 71
Calls

2 calls:

9.0ms
(*.f64 x (/.f64 1 (-.f64 y (*.f64 t z))))
4.0ms
(/.f64 1 (-.f64 y (*.f64 t z)))
Compiler

Compiled 1210 to 478 computations (60.5% saved)

series87.0ms (1.9%)

Error
3.8b
Counts
2 → 35
Calls

2 calls:

44.0ms
(*.f64 x (/.f64 1 (-.f64 y (*.f64 t z))))
36.0ms
(/.f64 1 (-.f64 y (*.f64 t z)))
Compiler

Compiled 916 to 795 computations (13.2% saved)

simplify106.0ms (2.3%)

Algorithm
egg-herbie
Rules
588×div-sub_binary64
387×cancel-sign-sub-inv_binary64
302×distribute-rgt-neg-in_binary64
296×times-frac_binary64
286×distribute-lft-neg-in_binary64
256×associate-*l*_binary64
228×distribute-neg-frac_binary64
226×associate-/l*_binary64
210×associate-*r*_binary64
198×unswap-sqr_binary64
175×associate-/r*_binary64
163×associate-*l/_binary64
138×associate-*r/_binary64
116×cube-prod_binary64
85×associate-/l/_binary64 associate-/r/_binary64
81×*-commutative_binary64
79×sub-neg_binary64
74×distribute-lft-neg-out_binary64
71×distribute-rgt-neg-out_binary64
66×neg-sub0_binary64
62×neg-mul-1_binary64
54×sqr-pow_binary64
47×*-rgt-identity_binary64
36×distribute-rgt-out--_binary64
35×*-lft-identity_binary64
33×cube-div_binary64
31×unpow3_binary64
28×distribute-rgt-in_binary64
25×distribute-frac-neg_binary64
24×/-rgt-identity_binary64
23×distribute-lft-in_binary64
22×swap-sqr_binary64
20×cube-mult_binary64
19×distribute-neg-in_binary64 +-commutative_binary64
18×associate-+r-_binary64
16×cube-unmult_binary64
15×unsub-neg_binary64
14×sqr-neg_binary64 difference-of-squares_binary64
13×associate-+l-_binary64 associate-+r+_binary64
10×+-rgt-identity_binary64
pow-plus_binary64 sub0-neg_binary64
exp-prod_binary64
rem-sqrt-square_binary64 pow-sqr_binary64 associate--r+_binary64
log-prod_binary64 unpow1/2_binary64
log-div_binary64 cube-neg_binary64 associate-+l+_binary64
cancel-sign-sub_binary64
unpow2_binary64 unpow1_binary64 remove-double-neg_binary64
log-rec_binary64 mul-1-neg_binary64 --rgt-identity_binary64 +-lft-identity_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out_binary64 distribute-lft-out_binary64 associate--r-_binary64
1-exp_binary64 exp-1-e_binary64 remove-double-div_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 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 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_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 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 distribute-neg-out_binary64 distribute-lft-out--_binary64 associate--l+_binary64
Counts
106 → 64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01101617
12701484
28261442
326561442
444481442
553281442

prune32.0ms (0.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New63164
Fresh156
Picked011
Done011
Total64872
Error
3.8b
Counts
72 → 8
Compiler

Compiled 588 to 219 computations (62.8% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.8b
(/.f64 1 (/.f64 (-.f64 y (*.f64 t z)) x))
3.9b
(/.f64 (-.f64 y (*.f64 t z)) x)

rewrite128.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
3.8b
Rules
84×times-frac_binary64
52×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
16×associate-/r*_binary64
15×add-exp-log_binary64
add-cbrt-cube_binary64
div-exp_binary64
div-inv_binary64 associate-/l*_binary64
cbrt-undiv_binary64
pow1_binary64
add-log-exp_binary64 frac-2neg_binary64 clear-num_binary64 associate-/l/_binary64 1-exp_binary64 rec-exp_binary64
div-sub_binary64 flip3--_binary64 flip--_binary64 inv-pow_binary64 pow-flip_binary64 associate-/r/_binary64
Counts
2 → 106
Calls

2 calls:

7.0ms
(/.f64 1 (/.f64 (-.f64 y (*.f64 t z)) x))
5.0ms
(/.f64 (-.f64 y (*.f64 t z)) x)
Compiler

Compiled 2087 to 653 computations (68.7% saved)

series101.0ms (2.2%)

Error
3.8b
Counts
2 → 38
Calls

2 calls:

50.0ms
(/.f64 (-.f64 y (*.f64 t z)) x)
43.0ms
(/.f64 1 (/.f64 (-.f64 y (*.f64 t z)) x))
Compiler

Compiled 792 to 702 computations (11.4% saved)

simplify151.0ms (3.2%)

Algorithm
egg-herbie
Rules
440×times-frac_binary64
318×associate-/l*_binary64
314×associate-/r/_binary64
308×associate-*l/_binary64
293×cancel-sign-sub-inv_binary64
290×associate-/r*_binary64
282×associate-/l/_binary64 associate-*l*_binary64
259×div-sub_binary64
225×associate-*r*_binary64
217×associate-*r/_binary64
184×*-commutative_binary64
173×exp-prod_binary64
116×distribute-rgt-in_binary64
115×exp-sum_binary64
103×distribute-lft-in_binary64
84×sub-neg_binary64
78×neg-sub0_binary64
75×unswap-sqr_binary64
69×neg-mul-1_binary64
64×*-rgt-identity_binary64
54×distribute-neg-frac_binary64
53×swap-sqr_binary64
49×exp-diff_binary64
45×distribute-rgt-neg-in_binary64
41×distribute-lft-neg-in_binary64
38×log-prod_binary64
34×log-div_binary64 associate-+r+_binary64
33×unsub-neg_binary64 sqr-pow_binary64
32×/-rgt-identity_binary64
30×*-lft-identity_binary64
24×+-commutative_binary64
23×cube-prod_binary64
21×associate-+r-_binary64
13×distribute-neg-in_binary64 distribute-rgt-out_binary64
12×unpow3_binary64 distribute-lft-neg-out_binary64
11×cube-div_binary64 associate--r+_binary64 associate-+l+_binary64
10×associate--r-_binary64 associate-+l-_binary64
+-rgt-identity_binary64
mul-1-neg_binary64
log-rec_binary64 remove-double-neg_binary64 distribute-rgt-neg-out_binary64
cube-unmult_binary64 div0_binary64 distribute-rgt-out--_binary64
sqr-neg_binary64
unpow1/2_binary64 sub0-neg_binary64 --rgt-identity_binary64 remove-double-div_binary64 distribute-lft-out_binary64
+-lft-identity_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 cube-mult_binary64 cube-neg_binary64 rem-sqrt-square_binary64 associate--l-_binary64
exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 pow-sqr_binary64 distribute-frac-neg_binary64 distribute-rgt1-in_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 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 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 e-exp-1_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 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64
Counts
144 → 96
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01512827
13562602
211552544
336442544
447762544
550342544

prune48.0ms (1%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New95196
Fresh145
Picked011
Done022
Total968104
Error
3.8b
Counts
104 → 8
Compiler

Compiled 924 to 289 computations (68.7% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.6b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (-.f64 y (*.f64 t z))) (cbrt.f64 (-.f64 y (*.f64 t z))))) (/.f64 x (cbrt.f64 (-.f64 y (*.f64 t z)))))
8.4b
(cbrt.f64 (-.f64 y (*.f64 t z)))
8.4b
(cbrt.f64 (-.f64 y (*.f64 t z)))
8.4b
(cbrt.f64 (-.f64 y (*.f64 t z)))

rewrite166.0ms (3.6%)

Algorithm
rewrite-expression-head
Error
3.8b
Rules
49×add-exp-log_binary64
43×add-sqr-sqrt_binary64
33×times-frac_binary64
25×*-un-lft-identity_binary64
24×associate-*r*_binary64
22×add-cube-cbrt_binary64
21×cbrt-prod_binary64
20×cbrt-div_binary64 prod-exp_binary64
18×add-cbrt-cube_binary64
15×div-exp_binary64 associate-*l*_binary64
10×flip3--_binary64 flip--_binary64 associate-/r/_binary64
unswap-sqr_binary64
cbrt-unprod_binary64
cbrt-undiv_binary64
pow1_binary64
frac-times_binary64
add-log-exp_binary64 1-exp_binary64 rec-exp_binary64
pow1/3_binary64 associate-*l/_binary64 associate-*r/_binary64
div-inv_binary64
pow-prod-down_binary64 *-commutative_binary64
Counts
4 → 119
Calls

4 calls:

31.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (-.f64 y (*.f64 t z))) (cbrt.f64 (-.f64 y (*.f64 t z))))) (/.f64 x (cbrt.f64 (-.f64 y (*.f64 t z)))))
2.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
2.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
2.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
Compiler

Compiled 4304 to 782 computations (81.8% saved)

series267.0ms (5.7%)

Error
3.8b
Counts
4 → 65
Calls

4 calls:

61.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
60.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
60.0ms
(cbrt.f64 (-.f64 y (*.f64 t z)))
47.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (-.f64 y (*.f64 t z))) (cbrt.f64 (-.f64 y (*.f64 t z))))) (/.f64 x (cbrt.f64 (-.f64 y (*.f64 t z)))))
Compiler

Compiled 4771 to 3146 computations (34.1% saved)

simplify278.0ms (6%)

Algorithm
egg-herbie
Rules
460×associate-/l/_binary64
443×associate-/r*_binary64
218×associate-/r/_binary64
196×associate-*r*_binary64
171×distribute-rgt-neg-in_binary64
166×distribute-lft-neg-in_binary64
164×associate-*l/_binary64 associate-*r/_binary64
158×cancel-sign-sub-inv_binary64
153×associate-/l*_binary64
150×*-commutative_binary64
147×associate-*l*_binary64
95×times-frac_binary64 div-sub_binary64
86×exp-sum_binary64
75×log-prod_binary64
71×log-div_binary64
68×sub-neg_binary64
63×sqr-pow_binary64
59×distribute-neg-frac_binary64
58×exp-prod_binary64
56×associate-+l-_binary64
50×neg-sub0_binary64
47×neg-mul-1_binary64
46×distribute-rgt-in_binary64
45×*-lft-identity_binary64
44×distribute-lft-in_binary64
42×unswap-sqr_binary64
40×exp-diff_binary64
39×cube-prod_binary64
36×cube-div_binary64
29×associate--r+_binary64
25×unpow3_binary64 +-commutative_binary64
23×log-pow_binary64
22×associate--r-_binary64
21×unpow1/3_binary64
19×/-rgt-identity_binary64
18×*-rgt-identity_binary64
14×distribute-rgt-out_binary64
13×exp-to-pow_binary64 associate-+r-_binary64
12×log-rec_binary64 unsub-neg_binary64 swap-sqr_binary64 distribute-neg-in_binary64
11×distribute-lft-out_binary64
10×exp-neg_binary64 cube-unmult_binary64 distribute-lft-neg-out_binary64
cube-mult_binary64 associate-+l+_binary64
pow-plus_binary64 rem-exp-log_binary64 associate--l+_binary64
distribute-rgt-neg-out_binary64 associate-+r+_binary64
mul-1-neg_binary64 pow-sqr_binary64 associate--l-_binary64
distribute-neg-out_binary64
unpow1/2_binary64 rem-sqrt-square_binary64
unpow2_binary64 unpow1_binary64 difference-of-squares_binary64 distribute-frac-neg_binary64 count-2_binary64
remove-double-neg_binary64 sub0-neg_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 distribute-rgt1-in_binary64 distribute-rgt-out--_binary64
log-E_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 rem-cube-cbrt_binary64 sqr-neg_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 pow-base-0_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 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 --rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64
Counts
184 → 142
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02455327
16524142
222334084
345243976
448963976
549983976
649983976
749433976

prune86.0ms (1.8%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1402142
Fresh044
Picked101
Done033
Total1419150
Error
3.8b
Counts
150 → 9
Compiler

Compiled 2792 to 607 computations (78.3% saved)

regimes943.0ms (20.2%)

Accuracy

Total 0.1b remaining (2.8%)

Threshold costs 0.1b (2.8%)

Compiler

Compiled 14906 to 9196 computations (38.3% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64 *-commutative_binary64 +-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
cancel-sign-sub-inv_binary64 distribute-rgt-neg-in_binary64
distribute-lft-neg-out_binary64 distribute-lft-neg-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 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 1-exp_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_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11410
22410
33010
43410
53510
63510

end6.0ms (0.1%)

Remove

(sort z t)

Compiler

Compiled 21 to 21 computations (0% saved)

sample765.0ms (16.4%)

Algorithm
intervals
Results
231.0ms8000×body128valid
14.0ms346×body128invalid
Compiler

Compiled 241 to 174 computations (27.8% saved)

Profiling

Loading profile data...