Details

Time bar (total: 8.1s)

analyze2.1s (25.5%)

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)

sample116.0ms (1.4%)

Algorithm
intervals
Results
54.0ms63×body1024valid
23.0ms145×body128valid
20.0ms34×body512valid
5.0ms14×body256valid
Compiler

Compiled 61 to 40 computations (34.4% saved)

simplify261.0ms (3.2%)

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.1b
Counts
1 → 1
Compiler

Compiled 30 to 18 computations (40% saved)

localize22.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
2.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
23.6b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite99.0ms (1.2%)

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

4 calls:

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

Compiled 2739 to 456 computations (83.4% saved)

series249.0ms (3.1%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

68.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
67.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
64.0ms
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
42.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Compiler

Compiled 2573 to 1780 computations (30.8% saved)

simplify97.0ms (1.2%)

Algorithm
egg-herbie
Rules
637×associate-/l*_binary64
636×times-frac_binary64
615×div-sub_binary64
283×*-commutative_binary64
222×associate-*l/_binary64
219×associate-/r*_binary64
197×associate-/l/_binary64
155×associate-*r/_binary64
143×associate-*l*_binary64
142×associate-/r/_binary64
138×distribute-frac-neg_binary64
102×associate-*r*_binary64
101×distribute-lft-neg-out_binary64
98×distribute-rgt-neg-out_binary64
89×log-prod_binary64
85×log-div_binary64
76×cube-div_binary64
74×cube-prod_binary64
51×neg-sub0_binary64
45×exp-prod_binary64
43×neg-mul-1_binary64
34×distribute-rgt-neg-in_binary64
28×sub-neg_binary64
27×distribute-lft-neg-in_binary64
25×swap-sqr_binary64
24×distribute-rgt-in_binary64 distribute-lft-in_binary64
19×distribute-neg-frac_binary64
17×sqr-pow_binary64 cancel-sign-sub-inv_binary64
14×*-rgt-identity_binary64
12×unpow3_binary64
11×cube-unmult_binary64 associate-+l+_binary64
10×associate-+r+_binary64
+-commutative_binary64
cube-mult_binary64 *-lft-identity_binary64 associate--l-_binary64
log-rec_binary64 exp-diff_binary64 div0_binary64
/-rgt-identity_binary64 associate--l+_binary64 associate-+l-_binary64
sqr-neg_binary64 mul-1-neg_binary64 associate-+r-_binary64
cube-neg_binary64 remove-double-neg_binary64
unpow1/2_binary64 exp-sum_binary64 1-exp_binary64 exp-1-e_binary64 unsub-neg_binary64 pow-sqr_binary64 unswap-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 unpow2_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 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-neg_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-sqrt-square_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-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 count-2_binary64 associate--r-_binary64 associate--r+_binary64
Counts
111 → 88
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01042131
12671809
210091809
339411809
452681809

prune49.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New86288
Fresh000
Picked011
Done000
Total86389
Error
0.1b
Counts
89 → 3
Compiler

Compiled 1743 to 323 computations (81.5% saved)

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

2.9b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
23.6b
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
23.6b
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
23.6b
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))

rewrite85.0ms (1.1%)

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

4 calls:

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

Compiled 3502 to 379 computations (89.2% saved)

series214.0ms (2.6%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

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

Compiled 5006 to 1985 computations (60.3% saved)

simplify85.0ms (1.1%)

Algorithm
egg-herbie
Rules
657×div-sub_binary64
625×associate-/l*_binary64
579×times-frac_binary64
375×associate-*l*_binary64
295×associate-*l/_binary64
289×associate-*r*_binary64
200×associate-/l/_binary64 associate-/r*_binary64 associate-*r/_binary64
143×associate-/r/_binary64
133×distribute-frac-neg_binary64
118×distribute-rgt-neg-out_binary64
113×distribute-lft-neg-out_binary64
97×log-div_binary64
88×log-prod_binary64
80×cube-div_binary64
69×cube-prod_binary64
60×neg-sub0_binary64
51×neg-mul-1_binary64
41×distribute-neg-frac_binary64
39×distribute-rgt-neg-in_binary64
37×distribute-rgt-in_binary64 distribute-lft-in_binary64
29×sub-neg_binary64
28×distribute-lft-neg-in_binary64
25×exp-prod_binary64
24×*-commutative_binary64
15×cancel-sign-sub-inv_binary64
12×swap-sqr_binary64
10×unpow3_binary64
cube-unmult_binary64
log-rec_binary64 exp-diff_binary64 *-rgt-identity_binary64 sqr-pow_binary64
cube-mult_binary64 div0_binary64
sqr-neg_binary64
mul-1-neg_binary64 remove-double-neg_binary64 +-commutative_binary64
unsub-neg_binary64 /-rgt-identity_binary64
exp-sum_binary64 cube-neg_binary64 associate--l+_binary64
exp-neg_binary64 1-exp_binary64 *-lft-identity_binary64 distribute-neg-in_binary64 distribute-rgt1-in_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 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 div-exp_binary64 rec-exp_binary64 prod-exp_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-sqrt-square_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 unswap-sqr_binary64 cancel-sign-sub_binary64 distribute-neg-out_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--r+_binary64 associate-+l-_binary64 associate-+r-_binary64 associate-+r+_binary64
Counts
86 → 36
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0801479
11921325
27421325
339751325
454131325

prune30.0ms (0.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New36036
Fresh011
Picked011
Done011
Total36339
Error
0.1b
Counts
39 → 3
Compiler

Compiled 1394 to 208 computations (85.1% saved)

localize33.0ms (0.4%)

Local error

Found 4 expressions with local error:

2.9b
(/.f64 (*.f64 eh (tan.f64 t)) ew)
2.9b
(/.f64 (*.f64 eh (tan.f64 t)) ew)
23.6b
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
23.6b
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))

rewrite86.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
cos-atan_binary64 atan-neg_binary64 cos-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
Counts
4 → 62
Calls

4 calls:

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

Compiled 3304 to 489 computations (85.2% saved)

series238.0ms (2.9%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

69.0ms
(/.f64 (*.f64 eh (tan.f64 t)) ew)
68.0ms
(/.f64 (*.f64 eh (tan.f64 t)) ew)
45.0ms
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
45.0ms
(cos.f64 (atan.f64 (neg.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
Compiler

Compiled 3839 to 2143 computations (44.2% saved)

simplify109.0ms (1.4%)

Algorithm
egg-herbie
Rules
429×div-sub_binary64
389×associate-/l*_binary64
345×*-commutative_binary64
316×times-frac_binary64
307×distribute-neg-frac_binary64
234×associate-*l/_binary64
227×neg-mul-1_binary64 unsub-neg_binary64
221×neg-sub0_binary64
209×distribute-rgt-neg-in_binary64
180×distribute-lft-neg-in_binary64
172×associate-*r/_binary64
163×associate-*l*_binary64
161×associate-/l/_binary64
101×associate-/r*_binary64 associate-*r*_binary64
100×associate-/r/_binary64
90×log-prod_binary64
86×log-div_binary64
84×distribute-rgt-in_binary64
75×distribute-rgt-neg-out_binary64
73×distribute-lft-neg-out_binary64
66×cube-prod_binary64
61×distribute-lft-in_binary64
59×cube-div_binary64
51×cancel-sign-sub-inv_binary64
43×sub-neg_binary64
40×exp-prod_binary64
35×associate--l-_binary64
33×associate-+l-_binary64
32×*-rgt-identity_binary64
28×unpow3_binary64
25×swap-sqr_binary64 associate--l+_binary64
23×distribute-frac-neg_binary64
20×*-lft-identity_binary64
19×+-commutative_binary64
18×sqr-pow_binary64 associate-+l+_binary64
10×log-rec_binary64
distribute-neg-in_binary64 associate--r+_binary64
/-rgt-identity_binary64 associate--r-_binary64 associate-+r-_binary64
cube-unmult_binary64 cube-mult_binary64
exp-sum_binary64 remove-double-neg_binary64 mul0-rgt_binary64 mul0-lft_binary64 unswap-sqr_binary64
exp-diff_binary64 sqr-neg_binary64
div0_binary64
cube-neg_binary64 +-rgt-identity_binary64 associate-+r+_binary64
sub0-neg_binary64 remove-double-div_binary64
1-exp_binary64 exp-1-e_binary64 distribute-rgt1-in_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 pow-base-0_binary64 unpow1/3_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 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-neg_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-sqrt-square_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 --rgt-identity_binary64 +-lft-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_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-rgt-out--_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64
Counts
98 → 44
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0751504
11571328
25181328
321451328
435051328
549491328
649741328

prune22.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New44044
Fresh000
Picked011
Done022
Total44347
Error
0.1b
Counts
47 → 3
Compiler

Compiled 953 to 165 computations (82.7% saved)

regimes276.0ms (3.4%)

Accuracy

Total 0.0b remaining (12.7%)

Threshold costs 0.0b (12.7%)

Compiler

Compiled 5063 to 2658 computations (47.5% 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)

sample3.9s (48.3%)

Algorithm
intervals
Results
1.9s2063×body1024valid
758.0ms4519×body128valid
561.0ms938×body512valid
178.0ms473×body256valid
9.0msbody2048valid
Compiler

Compiled 203 to 122 computations (39.9% saved)

Profiling

Loading profile data...