Details

Time bar (total: 3.0s)

analyze23.0ms (0.8%)

Algorithm
search
egg-herbie
Rules
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 1-exp_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 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-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 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 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-inv_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 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_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 distribute-rgt-in_binary64 distribute-lft-in_binary64 count-2_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64 associate-*l*_binary64 associate-*r*_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+l+_binary64 associate-+r+_binary64 *-commutative_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
1918
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
50%50%0.1%2
74.9%25%0.1%3
87.4%12.5%0.1%4
93.7%6.2%0.1%5
96.8%3.1%0.1%6
98.3%1.6%0.1%7
99.1%0.8%0.1%8
99.5%0.4%0.1%9
99.7%0.2%0.1%10
99.8%0.1%0.1%11
99.9%0%0.1%12
99.9%0%0.1%13
99.9%0%0.1%14
Compiler

Compiled 7 to 7 computations (0% saved)

sample18.0ms (0.6%)

Algorithm
intervals
Results
9.0ms256×body128valid
Compiler

Compiled 13 to 15 computations (-15.4% saved)

simplify9.0ms (0.3%)

Algorithm
egg-herbie
Rules
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 1-exp_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 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-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 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 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-inv_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 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_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 distribute-rgt-in_binary64 distribute-lft-in_binary64 count-2_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64 associate-*l*_binary64 associate-*r*_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+l+_binary64 associate-+r+_binary64 *-commutative_binary64 +-commutative_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
179

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 6 computations (0% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.8b
(/.f64 (atan2.f64 im re) (log.f64 10))

rewrite34.0ms (1.1%)

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

1 calls:

3.0ms
(/.f64 (atan2.f64 im re) (log.f64 10))
Compiler

Compiled 367 to 214 computations (41.7% saved)

series29.0ms (1%)

Error
0.8b
Counts
1 → 6
Calls

1 calls:

28.0ms
(/.f64 (atan2.f64 im re) (log.f64 10))
Compiler

Compiled 78 to 78 computations (0% saved)

simplify152.0ms (5.1%)

Algorithm
egg-herbie
Rules
1288×associate-/l/_binary64
350×times-frac_binary64 distribute-rgt-in_binary64
329×unsub-neg_binary64
311×unswap-sqr_binary64
282×cancel-sign-sub-inv_binary64
275×div-sub_binary64
267×*-commutative_binary64
265×associate-/l*_binary64
259×sub-neg_binary64
222×sqr-pow_binary64
192×distribute-neg-in_binary64
167×associate-/r*_binary64
145×associate--l-_binary64
137×distribute-lft-in_binary64
131×associate-/r/_binary64
114×+-commutative_binary64
103×distribute-rgt-neg-in_binary64
99×associate-*l/_binary64
98×distribute-lft-neg-out_binary64
90×distribute-neg-out_binary64
80×associate-*l*_binary64
77×distribute-lft-neg-in_binary64 associate-*r/_binary64 associate-*r*_binary64
73×neg-sub0_binary64
68×neg-mul-1_binary64
51×distribute-rgt-neg-out_binary64
49×distribute-rgt-out_binary64
48×div0_binary64
47×*-lft-identity_binary64 pow-sqr_binary64 distribute-lft-out_binary64
46×*-rgt-identity_binary64 associate--r+_binary64
44×associate--r-_binary64
41×associate--l+_binary64
38×mul0-rgt_binary64 mul0-lft_binary64
31×cube-prod_binary64
29×pow-plus_binary64 associate-+l-_binary64
26×cube-div_binary64
23×associate-+r+_binary64
22×unpow3_binary64 associate-+l+_binary64
21×cube-unmult_binary64
15×cube-mult_binary64 distribute-rgt-out--_binary64
14×/-rgt-identity_binary64 remove-double-neg_binary64
13×distribute-lft-out--_binary64 associate-+r-_binary64
12×cancel-sign-sub_binary64
11×unpow2_binary64 unpow1_binary64
distribute-rgt1-in_binary64
unpow1/2_binary64 +-rgt-identity_binary64
rem-sqrt-square_binary64 --rgt-identity_binary64 swap-sqr_binary64
distribute-lft1-in_binary64
sub0-neg_binary64
log-div_binary64
log-prod_binary64 exp-sum_binary64
exp-diff_binary64 1-exp_binary64 mul-1-neg_binary64 distribute-neg-frac_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 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-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_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-square-sqrt_binary64 +-lft-identity_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 distribute-frac-neg_binary64
Counts
37 → 11
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053583
190545
2175545
3295545
4500545
5868545
62166545
72771545
83718545
94026545
104125545
114266545
125096545

prune8.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New8311
Fresh000
Picked011
Done000
Total8412
Error
0.1b
Counts
12 → 4
Compiler

Compiled 98 to 59 computations (39.8% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.8b
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
4.3b
(cbrt.f64 (atan2.f64 im re))
4.3b
(cbrt.f64 (atan2.f64 im re))
4.3b
(cbrt.f64 (atan2.f64 im re))

rewrite61.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
25×cbrt-prod_binary64
23×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64 *-un-lft-identity_binary64
11×pow1_binary64
pow1/3_binary64
add-exp-log_binary64 swap-sqr_binary64 associate-*l*_binary64 associate-*r*_binary64
add-log-exp_binary64 add-cbrt-cube_binary64 unswap-sqr_binary64
pow-prod-down_binary64 pow-prod-up_binary64 pow-sqr_binary64
pow2_binary64 pow-plus_binary64 prod-exp_binary64 cbrt-unprod_binary64 *-commutative_binary64
Counts
4 → 73
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1601 to 425 computations (73.5% saved)

series134.0ms (4.5%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

37.0ms
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
32.0ms
(cbrt.f64 (atan2.f64 im re))
31.0ms
(cbrt.f64 (atan2.f64 im re))
30.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 897 to 573 computations (36.1% saved)

simplify115.0ms (3.9%)

Algorithm
egg-herbie
Rules
584×log-prod_binary64
394×sqr-pow_binary64
327×*-commutative_binary64
311×distribute-lft-out_binary64
278×associate-*l*_binary64
266×associate-/r/_binary64
258×associate-/l/_binary64
188×exp-prod_binary64
172×associate-*r*_binary64
157×log-pow_binary64
151×distribute-rgt-out_binary64
145×cube-prod_binary64
126×pow-sqr_binary64
119×log-div_binary64
112×unswap-sqr_binary64
111×swap-sqr_binary64
104×associate-/l*_binary64
75×associate-+l+_binary64
69×associate-+r+_binary64
61×distribute-rgt-in_binary64
57×distribute-lft-in_binary64
54×times-frac_binary64
42×rem-sqrt-square_binary64
40×pow-plus_binary64 +-commutative_binary64
36×count-2_binary64
35×associate-*r/_binary64
31×*-rgt-identity_binary64 *-lft-identity_binary64
30×unpow3_binary64
25×cube-mult_binary64
24×associate-/r*_binary64
22×distribute-rgt1-in_binary64
12×cube-div_binary64
11×cube-unmult_binary64
10×distribute-lft1-in_binary64
unpow1/2_binary64
associate-*l/_binary64
unpow2_binary64
unpow1_binary64
unpow1/3_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64
log-rec_binary64 exp-lft-sqr_binary64 exp-sqrt_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-rft_binary64 rem-square-sqrt_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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_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 cube-neg_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_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 difference-of-squares_binary64 cancel-sign-sub-inv_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 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Counts
97 → 64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0511160
1821069
22591037
38701017
41628891
52483891
64799891
74826891

prune27.0ms (0.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New58664
Fresh022
Picked011
Done011
Total581068
Error
0.1b
Counts
68 → 10
Compiler

Compiled 617 to 277 computations (55.1% saved)

localize15.0ms (0.5%)

Local error

Found 4 expressions with local error:

4.3b
(cbrt.f64 (atan2.f64 im re))
4.3b
(cbrt.f64 (atan2.f64 im re))
4.3b
(cbrt.f64 (atan2.f64 im re))
4.3b
(cbrt.f64 (atan2.f64 im re))

rewrite48.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
12×cbrt-prod_binary64
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 → 44
Calls

4 calls:

1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1392 to 420 computations (69.8% saved)

series141.0ms (4.8%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

35.0ms
(cbrt.f64 (atan2.f64 im re))
35.0ms
(cbrt.f64 (atan2.f64 im re))
35.0ms
(cbrt.f64 (atan2.f64 im re))
33.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1404 to 816 computations (41.9% saved)

simplify96.0ms (3.2%)

Algorithm
egg-herbie
Rules
813×associate-/r/_binary64
551×log-prod_binary64
409×associate-*l*_binary64
350×distribute-rgt-out_binary64
267×sqr-pow_binary64
254×associate-*r*_binary64
241×times-frac_binary64
222×distribute-lft-out_binary64
217×*-commutative_binary64
205×distribute-rgt-in_binary64
201×distribute-lft-in_binary64
166×unswap-sqr_binary64
162×associate-/l*_binary64
122×associate-/l/_binary64
118×distribute-rgt1-in_binary64
107×pow-sqr_binary64
106×+-commutative_binary64
91×associate-+l+_binary64
89×associate-+r+_binary64
80×exp-prod_binary64
69×log-pow_binary64
61×cube-prod_binary64
56×count-2_binary64
52×associate-/r*_binary64
49×associate-*r/_binary64
42×distribute-lft1-in_binary64
28×pow-plus_binary64
27×associate-*l/_binary64
19×unpow3_binary64
15×cube-mult_binary64 *-lft-identity_binary64
11×*-rgt-identity_binary64
cube-unmult_binary64
rem-sqrt-square_binary64
unpow2_binary64
/-rgt-identity_binary64
unpow1_binary64
unpow1/3_binary64 unpow1/2_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 swap-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-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-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 div-sub_binary64 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_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 difference-of-squares_binary64 cancel-sign-sub-inv_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 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Counts
68 → 32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019588
127560
254560
3110560
4336560
51522560
62771560
73674560
85131560

prune12.0ms (0.4%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New32032
Fresh077
Picked011
Done022
Total321042
Error
0.1b
Counts
42 → 10
Compiler

Compiled 298 to 142 computations (52.3% saved)

localize10.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
0.2b
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10))
4.3b
(cbrt.f64 (atan2.f64 im re))
8.1b
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))

rewrite170.0ms (5.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
76×add-sqr-sqrt_binary64
63×cbrt-prod_binary64
58×times-frac_binary64
42×add-cube-cbrt_binary64 *-un-lft-identity_binary64
28×associate-*r*_binary64
19×pow1_binary64
15×unswap-sqr_binary64
13×log-pow_binary64
11×add-exp-log_binary64 associate-*l*_binary64
unpow-prod-down_binary64
add-cbrt-cube_binary64
associate-/l*_binary64
unpow2_binary64 sqr-pow_binary64
add-log-exp_binary64 associate-/r*_binary64
pow1/3_binary64 div-exp_binary64 cbrt-undiv_binary64 div-inv_binary64 prod-exp_binary64 cbrt-unprod_binary64
frac-2neg_binary64 clear-num_binary64 pow-prod-down_binary64 associate-*r/_binary64 *-commutative_binary64
Counts
4 → 141
Calls

4 calls:

14.0ms
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
4.0ms
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10))
2.0ms
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 3054 to 1601 computations (47.6% saved)

series155.0ms (5.2%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

53.0ms
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10))
39.0ms
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))
31.0ms
(cbrt.f64 (atan2.f64 im re))
28.0ms
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
Compiler

Compiled 689 to 563 computations (18.3% saved)

simplify196.0ms (6.6%)

Algorithm
egg-herbie
Rules
554×associate-/l*_binary64
359×log-prod_binary64
343×associate-*l/_binary64
309×associate-*r/_binary64
301×times-frac_binary64
268×*-commutative_binary64
214×log-div_binary64
175×unswap-sqr_binary64
166×associate-/l/_binary64
159×cube-div_binary64
143×cube-prod_binary64
132×associate-+l+_binary64
128×associate-*l*_binary64
124×associate-/r*_binary64
122×associate-*r*_binary64
108×unpow3_binary64
87×associate-/r/_binary64
85×distribute-rgt-in_binary64
79×sqr-pow_binary64 distribute-lft-in_binary64
77×log-pow_binary64
69×associate--l+_binary64
67×exp-prod_binary64
63×*-lft-identity_binary64
58×cube-mult_binary64
56×*-rgt-identity_binary64 associate-+l-_binary64
45×swap-sqr_binary64
39×/-rgt-identity_binary64
34×sub-neg_binary64
33×log-rec_binary64
32×associate--l-_binary64
28×associate--r+_binary64
26×rem-sqrt-square_binary64
25×pow-plus_binary64
24×associate-+r-_binary64
22×pow-sqr_binary64 cancel-sign-sub-inv_binary64
14×cube-unmult_binary64
13×distribute-rgt-neg-in_binary64
12×distribute-lft-neg-in_binary64
11×associate--r-_binary64 associate-+r+_binary64
10×neg-mul-1_binary64 neg-sub0_binary64
remove-double-div_binary64 count-2_binary64
distribute-lft-out_binary64 +-commutative_binary64
unpow1/2_binary64 distribute-neg-in_binary64
distribute-neg-frac_binary64
unpow2_binary64 unpow1_binary64 distribute-rgt-out_binary64
unpow1/3_binary64 rem-3cbrt-lft_binary64 +-rgt-identity_binary64
1-exp_binary64 exp-1-e_binary64 rem-cbrt-cube_binary64 rem-square-sqrt_binary64 div-sub_binary64 unsub-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-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 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 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-neg_binary64 remove-double-neg_binary64 sub0-neg_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 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-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64
Counts
165 → 116
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01543640
13103249
210673245
334292954
444162954
548142954
649222954

prune58.0ms (2%)

Pruning

11 alts after pruning (7 fresh and 4 done)

PrunedKeptTotal
New1124116
Fresh336
Picked011
Done033
Total11511126
Error
0.1b
Counts
126 → 11
Compiler

Compiled 1505 to 754 computations (49.9% saved)

regimes637.0ms (21.5%)

Accuracy

Total 0.8b remaining (91.2%)

Threshold costs 0.8b (91.2%)

Compiler

Compiled 9479 to 6402 computations (32.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64 *-commutative_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 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-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-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 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
11421
21321

end1.0ms (0%)

Compiler

Compiled 13 to 13 computations (0% saved)

sample798.0ms (26.9%)

Algorithm
intervals
Results
317.0ms8000×body128valid
Compiler

Compiled 224 to 161 computations (28.1% saved)

Profiling

Loading profile data...