Details

Time bar (total: 3.1s)

analyze213.0ms (7%)

Algorithm
search
egg-herbie
Rules
5114×associate--r-_binary64
794×unsub-neg_binary64
347×distribute-neg-in_binary64
329×sub-neg_binary64
313×distribute-rgt-in_binary64
236×+-commutative_binary64
229×distribute-lft-in_binary64
144×associate-+r-_binary64
126×distribute-neg-out_binary64
113×neg-sub0_binary64
104×cancel-sign-sub-inv_binary64 associate--l+_binary64
96×distribute-lft-neg-out_binary64
88×neg-mul-1_binary64
79×*-rgt-identity_binary64
78×*-lft-identity_binary64
69×associate-+l-_binary64 *-commutative_binary64
65×distribute-rgt-neg-in_binary64
61×distribute-rgt-out--_binary64
56×associate-+r+_binary64
54×distribute-lft-neg-in_binary64
52×associate--l-_binary64
47×associate--r+_binary64
36×distribute-lft-out_binary64
25×distribute-rgt-neg-out_binary64
24×associate-+l+_binary64
22×cancel-sign-sub_binary64 distribute-rgt-out_binary64
18×associate-*l*_binary64
16×--rgt-identity_binary64
15×remove-double-neg_binary64 +-rgt-identity_binary64 associate-*r*_binary64
14×sub0-neg_binary64
13×mul-1-neg_binary64
12×distribute-lft-out--_binary64
log-prod_binary64
+-lft-identity_binary64
distribute-lft1-in_binary64
distribute-rgt1-in_binary64 count-2_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 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0510
1710
21210
31810
42410
53910
66210
78010
814310
941510
10114010
11180010
12196110
13225610
14236510
15240010
16240710
17242310
18242910
19243110
20243110
21243110
22243110
23496510
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%50%50%2
25%25%50%3
25%12.5%62.5%4
25%6.2%68.8%5
25%3.1%71.9%6
25%1.6%73.5%7
25%0.8%74.2%8
25%0.4%74.6%9
25%0.2%74.8%10
25%0.1%74.9%11
25%0%75%12
25%0%75%13
25%0%75%14
Compiler

Compiled 7 to 5 computations (28.6% saved)

sample17.0ms (0.5%)

Algorithm
intervals
Results
10.0ms256×body128valid
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify195.0ms (6.4%)

Algorithm
egg-herbie
Rules
5114×associate--r-_binary64
794×unsub-neg_binary64
347×distribute-neg-in_binary64
329×sub-neg_binary64
313×distribute-rgt-in_binary64
236×+-commutative_binary64
229×distribute-lft-in_binary64
144×associate-+r-_binary64
126×distribute-neg-out_binary64
113×neg-sub0_binary64
104×cancel-sign-sub-inv_binary64 associate--l+_binary64
96×distribute-lft-neg-out_binary64
88×neg-mul-1_binary64
79×*-rgt-identity_binary64
78×*-lft-identity_binary64
69×associate-+l-_binary64 *-commutative_binary64
65×distribute-rgt-neg-in_binary64
61×distribute-rgt-out--_binary64
56×associate-+r+_binary64
54×distribute-lft-neg-in_binary64
52×associate--l-_binary64
47×associate--r+_binary64
36×distribute-lft-out_binary64
25×distribute-rgt-neg-out_binary64
24×associate-+l+_binary64
22×cancel-sign-sub_binary64 distribute-rgt-out_binary64
18×associate-*l*_binary64
16×--rgt-identity_binary64
15×remove-double-neg_binary64 +-rgt-identity_binary64 associate-*r*_binary64
14×sub0-neg_binary64
13×mul-1-neg_binary64
12×distribute-lft-out--_binary64
log-prod_binary64
+-lft-identity_binary64
distribute-lft1-in_binary64
distribute-rgt1-in_binary64 count-2_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 pow-base-0_binary64 unpow1/3_binary64 unpow3_binary64 unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 exp-prod_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-unmult_binary64 cube-mult_binary64 cube-div_binary64 cube-prod_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 times-frac_binary64 div-sub_binary64 /-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 associate-/l/_binary64 associate-/r/_binary64 associate-/l*_binary64 associate-/r*_binary64 associate-*l/_binary64 associate-*r/_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0510
1710
21210
31810
42410
53910
66210
78010
814310
941510
10114010
11180010
12196110
13225610
14236510
15240010
16240710
17242310
18242910
19243110
20243110
21243110
22243110
23496510

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 4 computations (33.3% saved)

localize10.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.0b
(log.f64 (log.f64 x))
0.3b
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))

rewrite26.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
11×log-prod_binary64
10×pow1_binary64 *-un-lft-identity_binary64
add-sqr-sqrt_binary64 log-pow_binary64
add-cube-cbrt_binary64
cancel-sign-sub-inv_binary64 distribute-lft-out--_binary64 associate--r+_binary64
add-exp-log_binary64 associate--l+_binary64
add-log-exp_binary64 add-cbrt-cube_binary64
diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 rem-log-exp_binary64
Counts
2 → 40
Calls

2 calls:

6.0ms
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
1.0ms
(log.f64 (log.f64 x))
Compiler

Compiled 401 to 108 computations (73.1% saved)

series53.0ms (1.7%)

Error
0.3b
Counts
2 → 6
Calls

2 calls:

27.0ms
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
21.0ms
(log.f64 (log.f64 x))
Compiler

Compiled 177 to 149 computations (15.8% saved)

simplify81.0ms (2.7%)

Algorithm
egg-herbie
Rules
886×div-sub_binary64
540×unsub-neg_binary64
476×sub-neg_binary64
291×associate-+l+_binary64
273×exp-diff_binary64
271×exp-sum_binary64
219×neg-sub0_binary64
192×neg-mul-1_binary64
186×*-commutative_binary64
162×associate--r+_binary64
152×distribute-rgt-neg-out_binary64
151×associate--l+_binary64
148×associate--r-_binary64
137×times-frac_binary64
127×distribute-lft-neg-out_binary64
114×cancel-sign-sub-inv_binary64
110×associate-+l-_binary64
107×associate-+r-_binary64
106×associate--l-_binary64
103×log-prod_binary64 exp-prod_binary64
98×+-commutative_binary64
92×associate-*r*_binary64
90×associate-*l*_binary64
76×distribute-neg-out_binary64
75×sqr-pow_binary64
61×distribute-rgt-in_binary64
59×remove-double-neg_binary64
57×distribute-lft-in_binary64
49×log-div_binary64
46×cube-prod_binary64 distribute-neg-in_binary64
36×distribute-rgt-out_binary64
33×difference-of-squares_binary64
31×distribute-lft-out_binary64
29×sub0-neg_binary64
26×distribute-lft-neg-in_binary64
24×log-pow_binary64 distribute-rgt-neg-in_binary64 associate-+r+_binary64
21×+-rgt-identity_binary64
18×pow-sqr_binary64 unswap-sqr_binary64
17×exp-to-pow_binary64
15×--rgt-identity_binary64
14×swap-sqr_binary64
13×cube-unmult_binary64 mul-1-neg_binary64 mul0-rgt_binary64 mul0-lft_binary64 associate-/r*_binary64
12×unpow3_binary64
11×sqr-neg_binary64
10×prod-exp_binary64 rem-sqrt-square_binary64 count-2_binary64
pow-plus_binary64
*-lft-identity_binary64
cube-mult_binary64 cube-neg_binary64 cancel-sign-sub_binary64
rem-exp-log_binary64
div-exp_binary64 rem-log-exp_binary64 cube-div_binary64 associate-/r/_binary64 associate-/l*_binary64
rec-exp_binary64 associate-/l/_binary64
log-rec_binary64 unpow1/2_binary64 *-rgt-identity_binary64 +-lft-identity_binary64 distribute-rgt-out--_binary64
log-E_binary64 unpow2_binary64 exp-neg_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 +-inverses_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 pow-base-0_binary64 unpow1/3_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 e-exp-1_binary64 exp-0_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 /-rgt-identity_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 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft-out--_binary64 associate-*l/_binary64 associate-*r/_binary64
Counts
46 → 19
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
070540
1146496
2267496
31141494
42781490
54063484
65070484

prune16.0ms (0.5%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New14519
Fresh000
Picked101
Done000
Total15520
Error
0.1b
Counts
20 → 5
Compiler

Compiled 198 to 95 computations (52% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(log.f64 (log.f64 x))
0.3b
(-.f64 (log.f64 x) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3)))
0.6b
(cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3))
0.6b
(pow.f64 (log.f64 (log.f64 x)) 3)

rewrite124.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
32×cbrt-prod_binary64
25×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
17×cancel-sign-sub-inv_binary64
16×add-cube-cbrt_binary64
14×pow1_binary64
13×unpow-prod-down_binary64 cube-prod_binary64
log-pow_binary64
log-prod_binary64
add-exp-log_binary64
add-log-exp_binary64 add-cbrt-cube_binary64 difference-of-squares_binary64
sqr-pow_binary64
pow-unpow_binary64 unpow3_binary64 cube-mult_binary64 associate--l+_binary64
distribute-lft-out--_binary64
pow-pow_binary64 pow-to-exp_binary64 pow-exp_binary64 rem-cube-cbrt_binary64 pow1/3_binary64 rem-cbrt-cube_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 rem-log-exp_binary64
Counts
4 → 99
Calls

4 calls:

10.0ms
(-.f64 (log.f64 x) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3)))
2.0ms
(pow.f64 (log.f64 (log.f64 x)) 3)
2.0ms
(cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3))
1.0ms
(log.f64 (log.f64 x))
Compiler

Compiled 1262 to 622 computations (50.7% saved)

series97.0ms (3.2%)

Error
0.1b
Counts
4 → 12
Calls

4 calls:

27.0ms
(-.f64 (log.f64 x) (cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3)))
24.0ms
(pow.f64 (log.f64 (log.f64 x)) 3)
20.0ms
(cbrt.f64 (pow.f64 (log.f64 (log.f64 x)) 3))
20.0ms
(log.f64 (log.f64 x))
Compiler

Compiled 352 to 297 computations (15.6% saved)

simplify154.0ms (5%)

Algorithm
egg-herbie
Rules
570×associate-*l*_binary64
492×associate-*r*_binary64
447×log-prod_binary64
321×exp-prod_binary64
238×cube-prod_binary64
231×unswap-sqr_binary64
215×unsub-neg_binary64
138×sqr-pow_binary64
136×unpow3_binary64
127×sub-neg_binary64
106×log-pow_binary64
102×distribute-rgt-in_binary64 *-commutative_binary64
98×distribute-lft-in_binary64
91×cancel-sign-sub-inv_binary64
88×exp-sum_binary64
83×neg-sub0_binary64
60×neg-mul-1_binary64
54×distribute-rgt-neg-in_binary64
46×exp-diff_binary64
43×distribute-lft-neg-in_binary64
42×pow-sqr_binary64
40×distribute-lft-neg-out_binary64 +-commutative_binary64
28×pow-plus_binary64
26×swap-sqr_binary64
24×cube-unmult_binary64 associate-+l+_binary64
23×times-frac_binary64 distribute-rgt-neg-out_binary64 associate-+r-_binary64
21×associate--r+_binary64
20×associate--r-_binary64 associate-+r+_binary64
19×associate-+l-_binary64
17×distribute-rgt-out_binary64
16×exp-to-pow_binary64
15×sub0-neg_binary64
14×cube-mult_binary64 mul0-rgt_binary64 mul0-lft_binary64
13×rem-sqrt-square_binary64
12×difference-of-squares_binary64
10×+-rgt-identity_binary64 distribute-lft-out_binary64
log-div_binary64
mul-1-neg_binary64 distribute-neg-in_binary64 associate--l+_binary64
*-lft-identity_binary64 --rgt-identity_binary64 count-2_binary64
rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-cbrt-cube_binary64 sqr-neg_binary64 *-rgt-identity_binary64
log-rec_binary64 prod-exp_binary64 remove-double-neg_binary64 associate-/l/_binary64 associate-*r/_binary64 associate--l-_binary64
associate-/r*_binary64
unpow1/2_binary64 unpow1_binary64 rec-exp_binary64 exp-neg_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 rem-cube-cbrt_binary64 rem-square-sqrt_binary64 +-inverses_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 unpow1/3_binary64 unpow2_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 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 sqr-abs_binary64 div-sub_binary64 /-rgt-identity_binary64 +-lft-identity_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-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate-*l/_binary64
Counts
111 → 84
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01301308
12421224
25941210
330181210
446181210
549831210
648631210

prune47.0ms (1.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New78684
Fresh224
Picked101
Done000
Total81889
Error
0.0b
Counts
89 → 8
Compiler

Compiled 545 to 229 computations (58% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (log.f64 (log.f64 x)))
0.1b
(sqrt.f64 (log.f64 (log.f64 x)))
0.3b
(-.f64 (log.f64 x) (*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x)))))
0.5b
(*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x))))

rewrite103.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
34×sqrt-prod_binary64
32×add-sqr-sqrt_binary64
29×pow1_binary64
17×*-un-lft-identity_binary64
15×add-cube-cbrt_binary64
11×swap-sqr_binary64
10×pow1/2_binary64 sqrt-pow1_binary64
log-pow_binary64
associate-*l*_binary64 associate-*r*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow-prod-up_binary64 add-log-exp_binary64
rem-sqrt-square_binary64 unswap-sqr_binary64
pow-prod-down_binary64 pow-sqr_binary64 log-prod_binary64 associate--l+_binary64
pow2_binary64 pow-plus_binary64 prod-exp_binary64 cbrt-unprod_binary64 sqrt-unprod_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 *-commutative_binary64 diff-log_binary64 flip3--_binary64 sub-neg_binary64 flip--_binary64 difference-of-squares_binary64 cancel-sign-sub-inv_binary64
Counts
4 → 99
Calls

4 calls:

10.0ms
(*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x))))
4.0ms
(-.f64 (log.f64 x) (*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x)))))
1.0ms
(sqrt.f64 (log.f64 (log.f64 x)))
1.0ms
(sqrt.f64 (log.f64 (log.f64 x)))
Compiler

Compiled 1436 to 296 computations (79.4% saved)

series99.0ms (3.2%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

26.0ms
(-.f64 (log.f64 x) (*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x)))))
24.0ms
(sqrt.f64 (log.f64 (log.f64 x)))
22.0ms
(sqrt.f64 (log.f64 (log.f64 x)))
20.0ms
(*.f64 (sqrt.f64 (log.f64 (log.f64 x))) (sqrt.f64 (log.f64 (log.f64 x))))
Compiler

Compiled 429 to 316 computations (26.3% saved)

simplify174.0ms (5.7%)

Algorithm
egg-herbie
Rules
408×times-frac_binary64
296×log-prod_binary64
278×*-commutative_binary64
261×cancel-sign-sub-inv_binary64
255×exp-prod_binary64 associate-*l*_binary64
224×exp-sum_binary64
203×associate-+l+_binary64
188×associate-*r*_binary64
185×log-pow_binary64
181×distribute-rgt-neg-out_binary64
178×exp-diff_binary64
169×unsub-neg_binary64
167×distribute-lft-neg-out_binary64
157×unswap-sqr_binary64
155×associate--r+_binary64
131×distribute-rgt-neg-in_binary64
120×distribute-lft-neg-in_binary64
111×associate--r-_binary64
109×sub-neg_binary64
100×log-div_binary64
98×cube-prod_binary64
75×associate-+r-_binary64
72×associate--l+_binary64
65×distribute-rgt-in_binary64
63×distribute-lft-in_binary64
61×distribute-rgt-out_binary64
57×neg-sub0_binary64 distribute-neg-out_binary64
56×sqr-pow_binary64
52×unpow3_binary64
46×distribute-neg-in_binary64
40×neg-mul-1_binary64 difference-of-squares_binary64 swap-sqr_binary64
38×associate-+l-_binary64
36×prod-exp_binary64
35×associate-/r*_binary64
32×exp-to-pow_binary64
30×+-commutative_binary64
25×pow-plus_binary64
24×rem-sqrt-square_binary64
23×div-exp_binary64
20×associate-/l*_binary64
19×*-rgt-identity_binary64 associate--l-_binary64
18×cube-unmult_binary64 associate-+r+_binary64
16×log-rec_binary64 *-lft-identity_binary64 pow-sqr_binary64
15×distribute-lft-out_binary64
12×sub0-neg_binary64
11×rec-exp_binary64 mul0-rgt_binary64 mul0-lft_binary64
10×cube-mult_binary64 +-rgt-identity_binary64
sqr-neg_binary64
associate-/l/_binary64
mul-1-neg_binary64 count-2_binary64 associate-/r/_binary64 associate-*r/_binary64
rem-exp-log_binary64 cube-neg_binary64 --rgt-identity_binary64
exp-neg_binary64 rem-log-exp_binary64 rem-square-sqrt_binary64 cancel-sign-sub_binary64
unpow2_binary64 unpow1/2_binary64 remove-double-neg_binary64 distribute-rgt-out--_binary64
exp-lft-sqr_binary64 exp-sqrt_binary64
log-E_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 +-inverses_binary64 distribute-rgt1-in_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 pow-base-0_binary64 unpow1/3_binary64 pow-base-1_binary64 unpow0_binary64 unpow1_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 e-exp-1_binary64 exp-0_binary64 cube-div_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 div-sub_binary64 /-rgt-identity_binary64 +-lft-identity_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 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 associate-*l/_binary64
Counts
111 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0951105
11741040
24241026
31613995
43526995
54577995
64851995
74960995
84861995

prune46.0ms (1.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New83083
Fresh077
Picked011
Done000
Total83891
Error
0.0b
Counts
91 → 8
Compiler

Compiled 669 to 220 computations (67.1% saved)

localize14.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.5b
(cbrt.f64 x)
0.5b
(cbrt.f64 x)
0.5b
(cbrt.f64 x)
0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))

rewrite98.0ms (3.2%)

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

4 calls:

6.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1283 to 300 computations (76.6% saved)

series81.0ms (2.6%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

24.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
16.0ms
(cbrt.f64 x)
16.0ms
(cbrt.f64 x)
16.0ms
(cbrt.f64 x)
Compiler

Compiled 532 to 380 computations (28.6% saved)

simplify110.0ms (3.6%)

Algorithm
egg-herbie
Rules
586×log-prod_binary64
419×sqr-pow_binary64
335×associate-*l*_binary64
309×*-commutative_binary64
283×distribute-rgt-neg-in_binary64
262×distribute-lft-neg-in_binary64
227×associate-*r*_binary64
188×exp-prod_binary64
161×log-pow_binary64
153×cube-prod_binary64
131×swap-sqr_binary64
129×pow-sqr_binary64
124×unswap-sqr_binary64
106×associate-/l*_binary64
86×cancel-sign-sub-inv_binary64
75×associate-+l+_binary64
69×associate-+r+_binary64
61×distribute-rgt-in_binary64
60×distribute-lft-out_binary64
57×distribute-lft-in_binary64
55×neg-sub0_binary64
54×neg-mul-1_binary64
48×distribute-rgt-out_binary64
45×+-commutative_binary64
43×pow-plus_binary64 rem-sqrt-square_binary64
42×times-frac_binary64
41×sub-neg_binary64
40×associate-/r/_binary64
37×associate-*r/_binary64
35×associate-/l/_binary64
32×unpow3_binary64
31×*-rgt-identity_binary64 *-lft-identity_binary64
29×count-2_binary64
27×cube-mult_binary64
24×associate-/r*_binary64
17×log-div_binary64 cube-div_binary64 distribute-neg-frac_binary64 distribute-rgt-neg-out_binary64
13×cube-unmult_binary64 distribute-rgt1-in_binary64
10×unpow1/2_binary64
distribute-lft-neg-out_binary64 distribute-lft1-in_binary64 associate-*l/_binary64
unpow2_binary64
unpow1_binary64
unpow1/3_binary64 mul-1-neg_binary64
exp-sqrt_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64
exp-lft-sqr_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-rft_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-cbrt_binary64 div-exp_binary64 rec-exp_binary64 prod-exp_binary64 exp-diff_binary64 exp-neg_binary64 exp-sum_binary64 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-neg_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 unsub-neg_binary64 /-rgt-identity_binary64 remove-double-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-neg-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate--l+_binary64 associate--r+_binary64 associate-+r-_binary64
Counts
85 → 50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
056700
197612
2308592
31135578
42034548
53259548
64941548
74873548

prune40.0ms (1.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New49150
Fresh156
Picked011
Done011
Total50858
Error
0.0b
Counts
58 → 8
Compiler

Compiled 447 to 162 computations (63.8% saved)

regimes544.0ms (17.8%)

Accuracy

Total -0.0b remaining (-509.4%)

Threshold costs -0.0b (-509.4%)

Compiler

Compiled 5328 to 3813 computations (28.4% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same 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 neg-mul-1_binary64 neg-sub0_binary64 unsub-neg_binary64 sub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub-inv_binary64 cancel-sign-sub_binary64 distribute-neg-frac_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 *-commutative_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
158

end1.0ms (0%)

Compiler

Compiled 5 to 4 computations (20% saved)

sample694.0ms (22.7%)

Algorithm
intervals
Results
334.0ms8000×body128valid
0.0msbody128nan
Compiler

Compiled 149 to 85 computations (43% saved)

Profiling

Loading profile data...