Details

Time bar (total: 8.8s)

analyze2.0s (23.2%)

Algorithm
search
egg-herbie
Rules
1136×div-sub_binary64
800×distribute-rgt-in_binary64
780×distribute-lft-in_binary64
561×distribute-rgt-neg-in_binary64
525×cancel-sign-sub-inv_binary64
466×sub-neg_binary64
368×neg-mul-1_binary64
364×associate-/r/_binary64
354×times-frac_binary64
334×distribute-lft-neg-in_binary64 associate-/l/_binary64
321×*-commutative_binary64
298×neg-sub0_binary64
262×distribute-lft-neg-out_binary64
248×distribute-rgt-neg-out_binary64
201×associate-/l*_binary64
168×unsub-neg_binary64
163×distribute-neg-frac_binary64
160×associate-*r*_binary64
157×associate-/r*_binary64
151×distribute-frac-neg_binary64
141×remove-double-neg_binary64
140×+-lft-identity_binary64
138×+-commutative_binary64
133×associate--r+_binary64
95×mul0-rgt_binary64
92×mul0-lft_binary64
85×*-lft-identity_binary64
82×cancel-sign-sub_binary64 distribute-neg-in_binary64
69×div0_binary64
64×associate-*l*_binary64
57×associate-+l-_binary64
50×*-rgt-identity_binary64
49×sub0-neg_binary64
45×/-rgt-identity_binary64
33×--rgt-identity_binary64
31×remove-double-div_binary64
16×associate--l-_binary64
12×associate-+l+_binary64
10×mul-1-neg_binary64
associate--r-_binary64
tan-neg_binary64 sin-neg_binary64
+-rgt-identity_binary64 associate--l+_binary64 associate-+r-_binary64 associate-+r+_binary64
cos-neg_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-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 *-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 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-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060200
1140200
2331200
3634200
4880200
51111200
61602200
71775200
82900200
93316200
103194200
113147200
123153200
133159200
143600200
153902200
163920200
173958200
184022200
194052200
204060200
214060200
225205200
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%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
12.5%87.4%0.1%8
31.2%68.6%0.1%9
31.2%68.6%0.1%10
31.2%68.6%0.1%11
40.6%59.3%0.1%12
40.6%59.3%0.1%13
40.6%59.3%0.1%14
Compiler

Compiled 31 to 19 computations (38.7% saved)

sample125.0ms (1.4%)

Algorithm
intervals
Results
72.0ms79×body1024valid
22.0ms142×body128valid
13.0ms22×body512valid
5.0ms13×body256valid
Compiler

Compiled 61 to 40 computations (34.4% saved)

simplify251.0ms (2.9%)

Algorithm
egg-herbie
Rules
867×div-sub_binary64
788×associate-/r/_binary64
582×associate-/l*_binary64
551×associate-/l/_binary64
395×associate-/r*_binary64
394×sub-neg_binary64
326×distribute-neg-frac_binary64
320×distribute-rgt-in_binary64
308×distribute-lft-in_binary64
300×unsub-neg_binary64
279×times-frac_binary64
203×distribute-rgt-neg-in_binary64
189×cancel-sign-sub-inv_binary64
166×*-commutative_binary64
159×distribute-lft-neg-in_binary64
127×neg-mul-1_binary64
112×neg-sub0_binary64
101×associate-*l/_binary64
83×associate--r+_binary64
80×+-commutative_binary64
75×mul0-rgt_binary64
72×distribute-frac-neg_binary64
69×mul0-lft_binary64
62×div0_binary64
58×distribute-rgt-neg-out_binary64
54×associate-*r*_binary64
51×distribute-lft-neg-out_binary64
41×associate-*l*_binary64
36×remove-double-div_binary64
33×/-rgt-identity_binary64
22×distribute-neg-in_binary64
17×*-lft-identity_binary64
16×associate-*r/_binary64
15×+-lft-identity_binary64
13×*-rgt-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 associate-+l-_binary64
--rgt-identity_binary64
mul-1-neg_binary64
associate--r-_binary64 associate-+l+_binary64
1-exp_binary64 +-rgt-identity_binary64 cancel-sign-sub_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 *-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 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--l-_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
14150
29050
317050
423450
529650
638550
750450
873550
989750
10120350
11106950
12107150
13110350
14108750
15108750
16152150
17197750
18194550
19200150
20216950
21226550
22231350
23235350
24232150
25232150
26180950
27210550
28181750
29181750
30181750
31160450

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 ew (cos.f64 t))
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
24.0b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite94.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
16×add-exp-log_binary64 add-cbrt-cube_binary64
12×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64 *-un-lft-identity_binary64
pow1_binary64 times-frac_binary64 associate-/r*_binary64
add-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64
distribute-lft-neg-out_binary64 distribute-frac-neg_binary64 prod-exp_binary64 cbrt-unprod_binary64 associate-*l*_binary64 associate-*r*_binary64
frac-2neg_binary64 clear-num_binary64 div-inv_binary64 tan-quot_binary64 associate-*r/_binary64 associate-/l/_binary64 associate-/l*_binary64
cos-atan_binary64 atan-neg_binary64 cos-neg_binary64 pow-prod-down_binary64 unswap-sqr_binary64 *-commutative_binary64
Counts
4 → 73
Calls

4 calls:

6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
4.0ms
(*.f64 ew (cos.f64 t))
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 2553 to 456 computations (82.1% saved)

series218.0ms (2.5%)

Error
0.2b
Counts
4 → 36
Calls

4 calls:

70.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
69.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
43.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
25.0ms
(*.f64 ew (cos.f64 t))
Compiler

Compiled 2585 to 1675 computations (35.2% saved)

simplify86.0ms (1%)

Algorithm
egg-herbie
Rules
714×associate-/l*_binary64
645×div-sub_binary64
272×associate-/r*_binary64
246×associate-/l/_binary64
238×associate-*l/_binary64
222×*-commutative_binary64
171×associate-/r/_binary64
163×associate-*r/_binary64
139×distribute-frac-neg_binary64
109×log-div_binary64
107×distribute-lft-neg-out_binary64
104×cube-div_binary64
103×distribute-rgt-neg-out_binary64
97×cancel-sign-sub-inv_binary64
94×associate-*l*_binary64
84×associate-*r*_binary64
79×log-prod_binary64
74×times-frac_binary64
73×distribute-rgt-neg-in_binary64
69×cube-prod_binary64
63×distribute-lft-neg-in_binary64
58×neg-sub0_binary64
50×neg-mul-1_binary64
41×sub-neg_binary64
34×exp-prod_binary64
29×distribute-rgt-in_binary64 distribute-lft-in_binary64
24×+-commutative_binary64
23×distribute-neg-frac_binary64
22×swap-sqr_binary64
20×sqr-pow_binary64
18×*-rgt-identity_binary64 associate--l+_binary64
15×associate-+l-_binary64 associate-+l+_binary64
14×unpow3_binary64
13×cube-unmult_binary64
12×cube-mult_binary64 associate-+r+_binary64
11×distribute-lft-out--_binary64 associate--r+_binary64 associate-+r-_binary64
10×log-rec_binary64 /-rgt-identity_binary64 *-lft-identity_binary64 distribute-rgt-out_binary64
distribute-rgt-out--_binary64
exp-diff_binary64
sqr-neg_binary64 div0_binary64
exp-sum_binary64 mul-1-neg_binary64 associate--l-_binary64
cube-neg_binary64 unsub-neg_binary64
unswap-sqr_binary64 distribute-neg-in_binary64
remove-double-neg_binary64
unpow1/2_binary64 distribute-rgt1-in_binary64 distribute-lft-out_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 rem-sqrt-square_binary64 pow-sqr_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-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 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-lft1-in_binary64 count-2_binary64 associate--r-_binary64
Counts
109 → 77
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191624
12901414
210621408
337751408
453071408

prune43.0ms (0.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New75277
Fresh000
Picked011
Done000
Total75378
Error
0.1b
Counts
78 → 3
Compiler

Compiled 1502 to 323 computations (78.5% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 ew)
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
24.0b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite97.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
14×add-exp-log_binary64 add-cbrt-cube_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
times-frac_binary64 associate-/r*_binary64
pow1_binary64 add-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64
distribute-lft-neg-out_binary64 distribute-frac-neg_binary64 cbrt-prod_binary64
prod-exp_binary64 cbrt-unprod_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 tan-quot_binary64 associate-*r/_binary64 associate-/l/_binary64 associate-/l*_binary64
cos-atan_binary64 atan-neg_binary64 cos-neg_binary64 pow1/3_binary64
Counts
4 → 66
Calls

4 calls:

6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
1.0ms
(cbrt.f64 ew)
Compiler

Compiled 2822 to 449 computations (84.1% saved)

series219.0ms (2.5%)

Error
0.1b
Counts
4 → 30
Calls

4 calls:

74.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
70.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
45.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
21.0ms
(cbrt.f64 ew)
Compiler

Compiled 2675 to 1676 computations (37.3% saved)

simplify85.0ms (1%)

Algorithm
egg-herbie
Rules
624×associate-/r*_binary64
532×associate-*l*_binary64
367×associate-*l/_binary64
317×associate-/l/_binary64
269×associate-*r/_binary64
214×log-div_binary64
206×associate-/r/_binary64
203×cube-div_binary64
160×log-prod_binary64
153×distribute-frac-neg_binary64
105×distribute-lft-neg-out_binary64
104×distribute-rgt-neg-out_binary64
101×div-sub_binary64
79×times-frac_binary64
75×associate-/l*_binary64
53×neg-sub0_binary64
47×distribute-rgt-neg-in_binary64
45×neg-mul-1_binary64
44×exp-prod_binary64
42×distribute-lft-neg-in_binary64 associate-*r*_binary64
32×*-commutative_binary64
28×sub-neg_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64
27×cancel-sign-sub-inv_binary64 distribute-neg-frac_binary64
23×unpow3_binary64 unswap-sqr_binary64
22×swap-sqr_binary64
21×cube-mult_binary64
19×cube-prod_binary64
15×cube-unmult_binary64
14×sqr-pow_binary64
10×pow-plus_binary64
exp-diff_binary64
*-rgt-identity_binary64
div0_binary64
log-pow_binary64 log-rec_binary64
mul-1-neg_binary64
sqr-neg_binary64 +-commutative_binary64
exp-sum_binary64 rem-sqrt-square_binary64 /-rgt-identity_binary64 remove-double-neg_binary64 pow-sqr_binary64
unpow1/3_binary64 distribute-neg-in_binary64 associate--l+_binary64
1-exp_binary64 cube-neg_binary64 rem-3cbrt-lft_binary64 unsub-neg_binary64 *-lft-identity_binary64 count-2_binary64 associate-+l+_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow2_binary64 unpow1/2_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 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 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_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 associate--r-_binary64 associate--l-_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Counts
96 → 70
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0931421
12111220
28761220
342901220
450791220

prune45.0ms (0.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New70070
Fresh011
Picked011
Done011
Total70373
Error
0.1b
Counts
73 → 3
Compiler

Compiled 1608 to 290 computations (82% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
24.0b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
39.2b
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))

rewrite112.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
14×add-exp-log_binary64 add-cbrt-cube_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
cbrt-prod_binary64
times-frac_binary64 associate-/r*_binary64
pow1_binary64 add-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64
distribute-lft-neg-out_binary64 distribute-frac-neg_binary64
prod-exp_binary64 cbrt-unprod_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 tan-quot_binary64 associate-*r/_binary64 associate-/l/_binary64 associate-/l*_binary64
pow1/3_binary64 unpow-prod-down_binary64 unpow3_binary64 cube-mult_binary64 cube-prod_binary64 sqr-pow_binary64 rem-cbrt-cube_binary64 cos-atan_binary64 atan-neg_binary64 cos-neg_binary64
Counts
4 → 72
Calls

4 calls:

6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0ms
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 2793 to 713 computations (74.5% saved)

series238.0ms (2.7%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

73.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
73.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
48.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
29.0ms
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))
Compiler

Compiled 2807 to 1872 computations (33.3% saved)

simplify97.0ms (1.1%)

Algorithm
egg-herbie
Rules
783×times-frac_binary64
773×div-sub_binary64
698×associate-/l*_binary64
238×associate-*l/_binary64
223×associate-/r*_binary64
217×associate-/l/_binary64
152×distribute-frac-neg_binary64
144×associate-/r/_binary64
105×distribute-lft-neg-out_binary64
98×distribute-rgt-neg-out_binary64
93×log-div_binary64
83×cube-div_binary64
80×cancel-sign-sub-inv_binary64
70×distribute-rgt-neg-in_binary64
69×associate-*l*_binary64
67×log-prod_binary64
66×associate-*r*_binary64
62×cube-prod_binary64 neg-sub0_binary64
59×distribute-lft-neg-in_binary64
52×neg-mul-1_binary64 *-commutative_binary64
41×sub-neg_binary64
28×distribute-rgt-in_binary64 associate-*r/_binary64
26×distribute-lft-in_binary64
24×sqr-pow_binary64
21×distribute-neg-frac_binary64
20×exp-prod_binary64
18×unpow3_binary64
16×swap-sqr_binary64
13×unswap-sqr_binary64
12×cube-mult_binary64
11×cube-unmult_binary64 +-commutative_binary64
exp-diff_binary64 *-rgt-identity_binary64 associate--l+_binary64
log-rec_binary64 mul-1-neg_binary64 div0_binary64
sqr-neg_binary64 unsub-neg_binary64 distribute-rgt-out_binary64
rem-sqrt-square_binary64 distribute-rgt-out--_binary64 associate--r+_binary64
cube-neg_binary64 rem-cbrt-cube_binary64 /-rgt-identity_binary64 remove-double-neg_binary64 associate-+l+_binary64
distribute-neg-in_binary64 distribute-rgt1-in_binary64 distribute-lft-out--_binary64
unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 unpow1_binary64 exp-sum_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 *-lft-identity_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-neg_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-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_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 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Counts
108 → 82
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01271653
12961469
29951463
345321463
462241463

prune72.0ms (0.8%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New80282
Fresh000
Picked011
Done022
Total80585
Error
0.1b
Counts
85 → 5
Compiler

Compiled 1963 to 509 computations (74.1% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (*.f64 (cos.f64 t) ew))
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
3.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
24.0b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite112.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
14×add-exp-log_binary64 add-cbrt-cube_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
times-frac_binary64 associate-/r*_binary64
pow1_binary64 add-log-exp_binary64 div-exp_binary64 cbrt-undiv_binary64
distribute-lft-neg-out_binary64 distribute-frac-neg_binary64
prod-exp_binary64 cbrt-unprod_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64 tan-quot_binary64 associate-*r/_binary64 associate-/l/_binary64 associate-/l*_binary64
cos-atan_binary64 atan-neg_binary64 cos-neg_binary64 pow1/3_binary64 cbrt-prod_binary64
Counts
4 → 64
Calls

4 calls:

6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0ms
(cbrt.f64 (*.f64 (cos.f64 t) ew))
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 3132 to 426 computations (86.4% saved)

series250.0ms (2.8%)

Error
0.1b
Counts
4 → 33
Calls

4 calls:

71.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
71.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
48.0ms
(cbrt.f64 (*.f64 (cos.f64 t) ew))
45.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 3507 to 1845 computations (47.4% saved)

simplify85.0ms (1%)

Algorithm
egg-herbie
Rules
733×times-frac_binary64
706×div-sub_binary64
672×associate-/l*_binary64
279×associate-/r*_binary64
242×associate-*l/_binary64
218×associate-/l/_binary64
167×associate-*r/_binary64
146×distribute-frac-neg_binary64 associate-/r/_binary64
103×distribute-lft-neg-out_binary64
100×distribute-rgt-neg-out_binary64
91×log-div_binary64
87×log-prod_binary64
79×cube-div_binary64
58×cube-prod_binary64
53×neg-sub0_binary64
45×neg-mul-1_binary64 associate-*l*_binary64
43×exp-sum_binary64
39×exp-prod_binary64
38×*-commutative_binary64
37×sub-neg_binary64
35×distribute-rgt-neg-in_binary64
34×associate-*r*_binary64
33×distribute-rgt-in_binary64
32×distribute-lft-in_binary64
31×distribute-lft-neg-in_binary64
28×cancel-sign-sub-inv_binary64
23×distribute-neg-frac_binary64
21×sqr-pow_binary64
18×exp-diff_binary64
13×unpow3_binary64 cube-unmult_binary64
12×swap-sqr_binary64
log-rec_binary64 *-rgt-identity_binary64 unswap-sqr_binary64
unpow1/3_binary64 cube-mult_binary64 div0_binary64 +-commutative_binary64
log-pow_binary64
rem-exp-log_binary64 sqr-neg_binary64 mul-1-neg_binary64
exp-neg_binary64 remove-double-neg_binary64 pow-sqr_binary64
exp-to-pow_binary64 cube-neg_binary64 unsub-neg_binary64 /-rgt-identity_binary64
distribute-neg-in_binary64 associate--r-_binary64 associate--l+_binary64
rec-exp_binary64 prod-exp_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 rem-sqrt-square_binary64 *-lft-identity_binary64 count-2_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 pow-base-0_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_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 div-exp_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 cancel-sign-sub_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 associate--l-_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r+_binary64
Counts
97 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01051480
12441283
28241282
343181276
458601276

prune58.0ms (0.7%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New75176
Fresh011
Picked011
Done033
Total75681
Error
0.1b
Counts
81 → 6
Compiler

Compiled 1994 to 294 computations (85.3% saved)

regimes388.0ms (4.4%)

Accuracy

Total 0.0b remaining (23.2%)

Threshold costs 0.0b (23.2%)

Compiler

Compiled 6228 to 3788 computations (39.2% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02248
13848
25948
37448
48548
58948
68948

end1.0ms (0%)

Compiler

Compiled 29 to 21 computations (27.6% saved)

sample4.0s (45.1%)

Algorithm
intervals
Results
1.8s1966×body1024valid
734.0ms4498×body128valid
627.0ms1014×body512valid
196.0ms513×body256valid
13.0msbody2048valid
Compiler

Compiled 305 to 187 computations (38.7% saved)

Profiling

Loading profile data...