Details

Time bar (total: 8.1s)

analyze434.0ms (5.4%)

Algorithm
search
egg-herbie
Rules
760×div-sub_binary64
692×sub-neg_binary64
595×neg-mul-1_binary64
552×associate-/r*_binary64
505×neg-sub0_binary64
447×distribute-neg-frac_binary64
324×distribute-frac-neg_binary64
315×distribute-rgt-neg-in_binary64
302×distribute-lft-neg-out_binary64
238×distribute-rgt-neg-out_binary64
227×remove-double-neg_binary64
226×associate-/r/_binary64
220×associate-/l*_binary64
219×unsub-neg_binary64
209×associate-*l/_binary64
189×distribute-rgt-in_binary64
184×cancel-sign-sub-inv_binary64
144×times-frac_binary64
143×cancel-sign-sub_binary64
119×associate-/l/_binary64
111×distribute-lft-neg-in_binary64
109×distribute-neg-in_binary64
106×distribute-lft-in_binary64
89×associate--r-_binary64
84×associate--r+_binary64
66×sub0-neg_binary64
61×+-lft-identity_binary64
60×*-commutative_binary64
56×--rgt-identity_binary64 +-commutative_binary64
54×/-rgt-identity_binary64
45×associate-*r*_binary64 associate-+l-_binary64
44×associate-*r/_binary64
43×*-lft-identity_binary64
40×associate-+l+_binary64
36×div0_binary64
31×+-rgt-identity_binary64
29×associate--l-_binary64 associate-+r-_binary64
26×associate-*l*_binary64
18×*-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64
17×associate-+r+_binary64
associate--l+_binary64
sqr-neg_binary64 swap-sqr_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-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 rem-sqrt-square_binary64 rem-square-sqrt_binary64 mul-1-neg_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 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034104
18896
216496
331696
447396
577996
6137196
7244896
8362796
9440696
10469796
11488296
12493096
13496396
14493796
033
133
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 30 to 24 computations (20% saved)

sample39.0ms (0.5%)

Algorithm
intervals
Results
12.0ms247×body128valid
11.0ms286×pre128true
1.0ms30×body128nan
1.0msbody256valid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify336.0ms (4.2%)

Algorithm
egg-herbie
Rules
904×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
521×associate-/l/_binary64
427×associate-/r/_binary64
390×sub-neg_binary64
318×distribute-rgt-in_binary64
273×cancel-sign-sub-inv_binary64
256×distribute-neg-frac_binary64
247×distribute-lft-in_binary64
214×distribute-rgt-neg-in_binary64
199×unsub-neg_binary64
187×associate-/r*_binary64
179×distribute-lft-neg-in_binary64
116×neg-mul-1_binary64
113×associate-*l/_binary64
98×*-commutative_binary64
82×distribute-lft-neg-out_binary64
74×neg-sub0_binary64 distribute-frac-neg_binary64
67×distribute-rgt-neg-out_binary64
58×associate-*r*_binary64
55×+-commutative_binary64
54×associate--r+_binary64
49×div0_binary64 associate-*l*_binary64
48×mul0-rgt_binary64
45×associate-*r/_binary64
44×mul0-lft_binary64
42×remove-double-div_binary64
38×associate--r-_binary64
30×+-lft-identity_binary64
26×distribute-neg-in_binary64 associate--l-_binary64
23×cancel-sign-sub_binary64
22×/-rgt-identity_binary64 remove-double-neg_binary64
19×sub0-neg_binary64
17×*-lft-identity_binary64
14×associate-+l-_binary64 associate-+r-_binary64 associate-+l+_binary64
10×*-rgt-identity_binary64 distribute-rgt-out--_binary64 distribute-rgt-out_binary64 associate--l+_binary64
distribute-neg-out_binary64
--rgt-identity_binary64 associate-+r+_binary64
mul-1-neg_binary64
+-rgt-identity_binary64
distribute-lft-out_binary64
distribute-lft-out--_binary64
1-exp_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-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 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
12924
26224
312524
417524
528424
645624
775924
8118624
9163524
10191324
11186824
12191624
13198524
14202924
15159724
16158924
17158124
18158524
19158724
20158724
21180124
22190124
23183524
24184324
25186524
26187724
27188324
28188324
29192724
30198324
31193524
32193524
33174624

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
26.7b
Counts
2 → 1
Compiler

Compiled 32 to 26 computations (18.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.3b
(*.f64 (*.f64 3 a) c)
0.4b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
26.6b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)

rewrite119.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
24.8b
Rules
20×add-sqr-sqrt_binary64
14×add-exp-log_binary64 add-cbrt-cube_binary64 *-un-lft-identity_binary64
pow1_binary64
add-log-exp_binary64 add-cube-cbrt_binary64
difference-of-squares_binary64 times-frac_binary64 associate-/l*_binary64
cancel-sign-sub-inv_binary64 prod-exp_binary64 cbrt-unprod_binary64
flip3--_binary64 flip--_binary64 sqrt-prod_binary64 distribute-lft-out--_binary64 pow-prod-down_binary64 associate-*r*_binary64
diff-log_binary64 sub-neg_binary64 div-exp_binary64 cbrt-undiv_binary64 associate-/l/_binary64
frac-2neg_binary64 div-sub_binary64 clear-num_binary64 div-inv_binary64 associate-/r*_binary64 associate-*l*_binary64 *-commutative_binary64
Counts
4 → 77
Calls

4 calls:

11.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
5.0ms
(*.f64 (*.f64 3 a) c)
4.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
Compiler

Compiled 1865 to 1088 computations (41.7% saved)

series191.0ms (2.4%)

Error
1.2b
Counts
4 → 60
Calls

4 calls:

64.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
49.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
42.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
16.0ms
(*.f64 (*.f64 3 a) c)
Compiler

Compiled 2012 to 1674 computations (16.8% saved)

simplify95.0ms (1.2%)

Algorithm
egg-herbie
Rules
701×associate-/l*_binary64
244×distribute-rgt-in_binary64
224×distribute-rgt-neg-in_binary64
216×distribute-lft-in_binary64
205×distribute-lft-neg-in_binary64
181×cancel-sign-sub-inv_binary64
170×associate-*l*_binary64
166×associate-*r*_binary64
162×associate-/r/_binary64
152×associate-/l/_binary64
112×*-commutative_binary64
99×unswap-sqr_binary64
79×sub-neg_binary64
77×distribute-neg-frac_binary64
76×times-frac_binary64
75×associate-/r*_binary64
73×neg-mul-1_binary64 neg-sub0_binary64
63×distribute-neg-in_binary64
59×div-sub_binary64
54×sqr-pow_binary64
52×exp-prod_binary64
45×+-commutative_binary64
34×associate-*l/_binary64
32×associate-*r/_binary64
29×distribute-rgt-out_binary64
25×cube-prod_binary64 unsub-neg_binary64 distribute-lft-neg-out_binary64
24×associate-+r+_binary64
22×associate-+l+_binary64
21×log-prod_binary64
18×swap-sqr_binary64 associate--r+_binary64
17×distribute-lft-out_binary64
13×*-rgt-identity_binary64 *-lft-identity_binary64
12×distribute-rgt-neg-out_binary64
10×unpow3_binary64
cube-mult_binary64
/-rgt-identity_binary64 difference-of-squares_binary64
exp-sum_binary64 associate-+r-_binary64
log-div_binary64 exp-diff_binary64 +-rgt-identity_binary64
cube-unmult_binary64
pow-plus_binary64 pow-sqr_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 cube-div_binary64 rem-sqrt-square_binary64 mul-1-neg_binary64 associate-+l-_binary64
log-pow_binary64 div-exp_binary64 rem-square-sqrt_binary64 distribute-neg-out_binary64 distribute-lft-out--_binary64
1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 remove-double-neg_binary64 *-inverses_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-rec_binary64 pow-base-0_binary64 unpow1/3_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-sqr_binary64 exp-sqrt_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 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64
Counts
137 → 107
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02203206
15752948
220752923
352682923

prune77.0ms (1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New9215107
Fresh000
Picked101
Done000
Total9315108
Error
0.8b
Counts
108 → 15
Compiler

Compiled 1953 to 1147 computations (41.3% saved)

localize31.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
0.3b
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
0.3b
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
0.4b
(/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))

rewrite413.0ms (5.1%)

Algorithm
rewrite-expression-head
Error
0.8b
Rules
155×add-exp-log_binary64
72×prod-exp_binary64
60×div-exp_binary64
50×pow-to-exp_binary64 pow-exp_binary64
40×add-sqr-sqrt_binary64
31×unpow-prod-down_binary64
29×add-cbrt-cube_binary64
26×times-frac_binary64 associate-/r*_binary64
23×add-cube-cbrt_binary64 *-un-lft-identity_binary64
15×sqr-pow_binary64
12×cube-prod_binary64 unswap-sqr_binary64 associate-*l*_binary64
cbrt-undiv_binary64 cbrt-unprod_binary64
associate-*r*_binary64
pow1_binary64 add-log-exp_binary64
frac-2neg_binary64 unpow3_binary64 cube-mult_binary64 clear-num_binary64 div-inv_binary64 associate-/l*_binary64
*-commutative_binary64
Counts
4 → 202
Calls

4 calls:

11.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
10.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
9.0ms
(/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))
8.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
Compiler

Compiled 7853 to 4975 computations (36.6% saved)

series246.0ms (3%)

Error
0.8b
Counts
4 → 33
Calls

4 calls:

77.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
70.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
59.0ms
(/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))
35.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
Compiler

Compiled 3105 to 2442 computations (21.4% saved)

simplify168.0ms (2.1%)

Algorithm
egg-herbie
Rules
434×associate-/l*_binary64
413×times-frac_binary64
354×associate-*l*_binary64
338×log-div_binary64
299×associate-*r*_binary64
247×associate-/r*_binary64
190×log-prod_binary64
120×cube-prod_binary64
106×associate-/l/_binary64
94×associate-*l/_binary64
91×sqr-pow_binary64 *-commutative_binary64
83×exp-prod_binary64
69×cube-div_binary64
64×associate-*r/_binary64
62×unswap-sqr_binary64
58×sub-neg_binary64 associate-/r/_binary64
55×*-rgt-identity_binary64
48×log-pow_binary64
35×distribute-rgt-neg-in_binary64
31×distribute-lft-neg-in_binary64
29×neg-mul-1_binary64 neg-sub0_binary64 cancel-sign-sub-inv_binary64
26×cube-unmult_binary64 associate--l+_binary64
22×/-rgt-identity_binary64
20×*-lft-identity_binary64 +-commutative_binary64
18×log-rec_binary64 pow-plus_binary64
17×swap-sqr_binary64
16×rem-sqrt-square_binary64 pow-sqr_binary64
11×unpow3_binary64
10×distribute-neg-frac_binary64
associate-+l+_binary64
cube-mult_binary64
unsub-neg_binary64
unpow2_binary64 unpow1_binary64 div-sub_binary64
rem-square-sqrt_binary64 distribute-lft-neg-out_binary64
unpow1/2_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 count-2_binary64 associate-+r+_binary64
1-exp_binary64 exp-1-e_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow1/3_binary64 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-3cbrt-lft_binary64 sqr-abs_binary64 sqr-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_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-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 distribute-rgt-in_binary64 distribute-lft-in_binary64 associate--r-_binary64 associate--l-_binary64 associate--r+_binary64 associate-+l-_binary64 associate-+r-_binary64
Counts
235 → 164
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03004201
16363844
239303808
347793808
450893808

prune111.0ms (1.4%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1640164
Fresh01414
Picked011
Done000
Total16415179
Error
0.8b
Counts
179 → 15
Compiler

Compiled 2835 to 1796 computations (36.6% saved)

localize32.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (pow.f64 a 4) (pow.f64 c 4))
0.4b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 a c) b)) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 a c) (*.f64 a c)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 a c) 3) (pow.f64 b 5)))) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 c 4)) (pow.f64 b 7))))) (*.f64 3 a))
0.5b
(*.f64 (*.f64 a c) (*.f64 a c))
0.7b
(pow.f64 (*.f64 a c) 3)

rewrite347.0ms (4.3%)

Algorithm
rewrite-expression-head
Error
0.7b
Rules
46×pow1_binary64
36×add-exp-log_binary64
26×add-cbrt-cube_binary64
23×add-sqr-sqrt_binary64
19×pow-prod-down_binary64 prod-exp_binary64
13×unpow-prod-down_binary64
11×add-cube-cbrt_binary64 *-un-lft-identity_binary64 cbrt-unprod_binary64
10×associate-*r/_binary64
sqr-pow_binary64 unswap-sqr_binary64
pow-exp_binary64 associate-*l*_binary64 associate-*r*_binary64
pow-to-exp_binary64 associate-/l/_binary64
frac-sub_binary64
add-log-exp_binary64 pow-prod-up_binary64 pow-sqr_binary64 frac-add_binary64
pow-unpow_binary64 times-frac_binary64 associate-/l*_binary64
pow-pow_binary64 rem-cube-cbrt_binary64 pow-plus_binary64 *-commutative_binary64 div-exp_binary64 cbrt-undiv_binary64 flip3-+_binary64 flip-+_binary64
unpow3_binary64 cube-mult_binary64 cube-prod_binary64 pow2_binary64 swap-sqr_binary64 frac-2neg_binary64 div-sub_binary64 clear-num_binary64 div-inv_binary64 flip3--_binary64 flip--_binary64 associate-/r*_binary64
Counts
4 → 127
Calls

4 calls:

32.0ms
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 a c) b)) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 a c) (*.f64 a c)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 a c) 3) (pow.f64 b 5)))) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 c 4)) (pow.f64 b 7))))) (*.f64 3 a))
7.0ms
(*.f64 (pow.f64 a 4) (pow.f64 c 4))
6.0ms
(*.f64 (*.f64 a c) (*.f64 a c))
4.0ms
(pow.f64 (*.f64 a c) 3)
Compiler

Compiled 7634 to 4549 computations (40.4% saved)

series202.0ms (2.5%)

Error
0.8b
Counts
4 → 39
Calls

4 calls:

93.0ms
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 a c) b)) (+.f64 (+.f64 (*.f64 9/8 (/.f64 (*.f64 (*.f64 a c) (*.f64 a c)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (pow.f64 (*.f64 a c) 3) (pow.f64 b 5)))) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 a 4) (pow.f64 c 4)) (pow.f64 b 7))))) (*.f64 3 a))
35.0ms
(*.f64 (pow.f64 a 4) (pow.f64 c 4))
32.0ms
(pow.f64 (*.f64 a c) 3)
31.0ms
(*.f64 (*.f64 a c) (*.f64 a c))
Compiler

Compiled 2738 to 2104 computations (23.2% saved)

simplify163.0ms (2%)

Algorithm
egg-herbie
Rules
475×unswap-sqr_binary64
340×associate-*r*_binary64
327×associate-*l*_binary64
302×log-prod_binary64
171×*-commutative_binary64
119×exp-prod_binary64
116×swap-sqr_binary64
112×cancel-sign-sub-inv_binary64
110×div-sub_binary64
96×times-frac_binary64
89×associate-/l*_binary64
83×sqr-pow_binary64 distribute-rgt-in_binary64
75×distribute-lft-in_binary64
74×cube-prod_binary64
70×associate-*r/_binary64
69×associate-*l/_binary64
65×sub-neg_binary64 associate-/r*_binary64
43×neg-mul-1_binary64 neg-sub0_binary64
36×+-commutative_binary64
32×associate-+r+_binary64
29×associate-+l+_binary64
28×log-pow_binary64
21×distribute-rgt-neg-in_binary64
18×unsub-neg_binary64 distribute-neg-in_binary64 associate--r+_binary64
17×distribute-lft-neg-in_binary64
15×cube-unmult_binary64 pow-sqr_binary64 associate-/r/_binary64
12×rem-sqrt-square_binary64
10×*-lft-identity_binary64
pow-plus_binary64 *-rgt-identity_binary64
unpow1_binary64
unpow2_binary64 distribute-neg-frac_binary64
log-div_binary64 unpow3_binary64 associate-/l/_binary64
cube-mult_binary64 distribute-rgt-out--_binary64
unpow1/2_binary64 exp-cbrt_binary64 associate-+r-_binary64
exp-diff_binary64 cube-div_binary64 rem-square-sqrt_binary64 distribute-lft-neg-out_binary64 distribute-rgt-out_binary64 count-2_binary64 associate--r-_binary64 associate--l+_binary64 associate-+l-_binary64
exp-sum_binary64 1-exp_binary64 exp-1-e_binary64 rem-cbrt-cube_binary64 /-rgt-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 +-rgt-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-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-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 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 mul-1-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 remove-double-div_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-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 associate--l-_binary64
Counts
166 → 138
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02484878
16794044
230334010
347184010
449334010

prune189.0ms (2.3%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New1317138
Fresh11213
Picked011
Done011
Total13221153
Error
0.7b
Counts
153 → 21
Compiler

Compiled 5726 to 3545 computations (38.1% saved)

localize32.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(/.f64 (pow.f64 (*.f64 a c) 4) (pow.f64 b 7))
0.5b
(pow.f64 (*.f64 a c) 2)
0.7b
(pow.f64 (*.f64 a c) 3)
0.8b
(pow.f64 (*.f64 a c) 4)

rewrite353.0ms (4.4%)

Algorithm
rewrite-expression-head
Error
0.7b
Rules
35×times-frac_binary64
33×add-exp-log_binary64
29×unpow-prod-down_binary64
27×add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
17×sqr-pow_binary64
16×pow-exp_binary64
13×pow1_binary64
12×div-exp_binary64
10×pow-to-exp_binary64
pow-unpow_binary64 add-cbrt-cube_binary64
associate-/r*_binary64
pow-pow_binary64 prod-exp_binary64
associate-/l*_binary64
add-log-exp_binary64
pow-prod-down_binary64
rem-cube-cbrt_binary64
unpow3_binary64 cube-mult_binary64 cube-prod_binary64 cbrt-unprod_binary64 unpow2_binary64 cbrt-undiv_binary64 frac-2neg_binary64 clear-num_binary64 div-inv_binary64
Counts
4 → 127
Calls

4 calls:

6.0ms
(/.f64 (pow.f64 (*.f64 a c) 4) (pow.f64 b 7))
4.0ms
(pow.f64 (*.f64 a c) 3)
4.0ms
(pow.f64 (*.f64 a c) 4)
4.0ms
(pow.f64 (*.f64 a c) 2)
Compiler

Compiled 6193 to 3907 computations (36.9% saved)

series181.0ms (2.2%)

Error
0.7b
Counts
4 → 27
Calls

4 calls:

79.0ms
(/.f64 (pow.f64 (*.f64 a c) 4) (pow.f64 b 7))
32.0ms
(pow.f64 (*.f64 a c) 4)
30.0ms
(pow.f64 (*.f64 a c) 3)
29.0ms
(pow.f64 (*.f64 a c) 2)
Compiler

Compiled 2793 to 2099 computations (24.8% saved)

simplify107.0ms (1.3%)

Algorithm
egg-herbie
Rules
597×associate-/r*_binary64
309×associate-/l/_binary64
299×log-prod_binary64
276×associate-*l/_binary64
269×log-div_binary64
240×associate-*r/_binary64
236×exp-prod_binary64
209×associate-/r/_binary64
185×*-commutative_binary64
145×unswap-sqr_binary64
101×associate-/l*_binary64
71×sqr-pow_binary64
69×cube-prod_binary64 times-frac_binary64
67×swap-sqr_binary64
59×associate-*l*_binary64
55×associate-*r*_binary64
52×unpow3_binary64
32×distribute-rgt-neg-in_binary64
31×distribute-lft-neg-in_binary64
27×log-pow_binary64
22×cancel-sign-sub-inv_binary64
20×pow-plus_binary64 associate-+l+_binary64 associate-+r+_binary64
19×pow-sqr_binary64
16×associate--l+_binary64
14×cube-div_binary64
13×distribute-rgt-in_binary64
12×sub-neg_binary64
11×distribute-lft-in_binary64
10×cube-unmult_binary64
*-rgt-identity_binary64
rem-sqrt-square_binary64 distribute-neg-frac_binary64
log-rec_binary64 neg-mul-1_binary64 neg-sub0_binary64 /-rgt-identity_binary64
associate-+l-_binary64 +-commutative_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-mult_binary64 count-2_binary64 associate--l-_binary64
associate--r+_binary64 associate-+r-_binary64
1-exp_binary64 rem-cbrt-cube_binary64 *-lft-identity_binary64 distribute-neg-in_binary64 distribute-lft-neg-out_binary64 distribute-rgt-out_binary64 distribute-lft-out_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 unpow1/3_binary64 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-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-square-sqrt_binary64 div-sub_binary64 unsub-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_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64
Counts
154 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01762391
12952253
210962247
342342247
450912247

prune94.0ms (1.2%)

Pruning

21 alts after pruning (18 fresh and 3 done)

PrunedKeptTotal
New97097
Fresh01818
Picked011
Done022
Total9721118
Error
0.7b
Counts
118 → 21
Compiler

Compiled 1754 to 1092 computations (37.7% saved)

regimes1.8s (22.8%)

Accuracy

Total 4.7b remaining (88.1%)

Threshold costs 0b (0%)

Compiler

Compiled 34535 to 23929 computations (30.7% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 17 to 14 computations (17.6% saved)

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Rules
38×*-commutative_binary64
35×+-commutative_binary64
30×sub-neg_binary64
27×neg-mul-1_binary64 neg-sub0_binary64
23×distribute-rgt-neg-in_binary64
21×distribute-lft-neg-in_binary64
unsub-neg_binary64
distribute-neg-in_binary64
cancel-sign-sub-inv_binary64
distribute-neg-frac_binary64
distribute-lft-neg-out_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 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-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
056145
196141
2140141
3186141
4235141
5261141
6288141
7302141
8310141
9313141
10308141

end2.0ms (0%)

Compiler

Compiled 94 to 64 computations (31.9% saved)

sample2.2s (27.7%)

Algorithm
intervals
Results
400.0ms7657×body128valid
268.0ms8939×pre128true
48.0ms939×body128nan
34.0ms343×body256valid
Compiler

Compiled 1566 to 1053 computations (32.8% saved)

Profiling

Loading profile data...