Details

Time bar (total: 5.8s)

analyze962.0ms (16.7%)

Algorithm
search
egg-herbie
Rules
932×div-sub_binary64
642×unsub-neg_binary64
471×neg-mul-1_binary64
374×sub-neg_binary64
302×distribute-rgt-in_binary64
293×neg-sub0_binary64
262×times-frac_binary64
247×cancel-sign-sub-inv_binary64
244×distribute-frac-neg_binary64
223×distribute-lft-in_binary64
156×+-commutative_binary64
155×associate-+r+_binary64
143×associate-+l+_binary64
127×distribute-rgt-neg-out_binary64
120×associate-/l*_binary64
91×associate--r+_binary64
81×*-commutative_binary64
65×distribute-neg-in_binary64
63×mul0-rgt_binary64 mul0-lft_binary64
57×associate-+l-_binary64
54×associate-/r/_binary64
51×associate-*l/_binary64
46×associate-*r*_binary64
45×distribute-neg-frac_binary64 associate-+r-_binary64
39×associate-*r/_binary64
38×distribute-lft-neg-out_binary64
34×sub0-neg_binary64
30×associate-*l*_binary64
27×div0_binary64
25×associate--r-_binary64
24×+-rgt-identity_binary64
21×distribute-neg-out_binary64
20×distribute-lft-neg-in_binary64
16×remove-double-neg_binary64
15×distribute-rgt-neg-in_binary64
mul-1-neg_binary64
associate--l+_binary64
*-lft-identity_binary64 +-lft-identity_binary64
distribute-rgt-out_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 sqr-neg_binary64 rem-sqrt-square_binary64 rem-square-sqrt_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 --rgt-identity_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 swap-sqr_binary64 cancel-sign-sub_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate-/l/_binary64 associate-/r*_binary64 associate--l-_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050176
1109176
2250176
3511176
41114176
52425176
64285176
74865176
055
155
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
2.3%97.4%0.2%9
4.7%95.1%0.2%10
12.7%87.1%0.2%11
15.9%83.9%0.2%12
24.9%74.9%0.2%13
33.2%66.5%0.2%14
Compiler

Compiled 12 to 11 computations (8.3% saved)

sample24.0ms (0.4%)

Algorithm
intervals
Results
9.0ms256×body128valid
1.0ms20×body128invalid
Compiler

Compiled 23 to 26 computations (-13% saved)

simplify390.0ms (6.8%)

Algorithm
egg-herbie
Rules
1389×associate-/l*_binary64
1315×div-sub_binary64
1026×distribute-rgt-in_binary64
988×sub-neg_binary64
917×associate-/l/_binary64
672×associate-/r/_binary64
641×distribute-lft-in_binary64
615×unsub-neg_binary64
504×times-frac_binary64
357×associate-/r*_binary64
332×distribute-rgt-neg-in_binary64
331×distribute-neg-frac_binary64
299×*-commutative_binary64
282×distribute-rgt-neg-out_binary64
271×distribute-lft-neg-in_binary64
248×neg-mul-1_binary64
230×distribute-lft-neg-out_binary64
220×neg-sub0_binary64
206×cancel-sign-sub-inv_binary64
178×distribute-frac-neg_binary64
168×associate--r+_binary64
157×associate-*l/_binary64
141×associate--r-_binary64
138×associate-*r*_binary64
132×+-commutative_binary64
119×associate-*r/_binary64
105×cancel-sign-sub_binary64
102×associate--l-_binary64 associate-+l-_binary64
95×distribute-neg-in_binary64 associate--l+_binary64
87×associate-*l*_binary64
86×associate-+r-_binary64
85×mul0-rgt_binary64
80×mul0-lft_binary64
77×div0_binary64
47×remove-double-neg_binary64
35×/-rgt-identity_binary64
34×remove-double-div_binary64 distribute-rgt-out--_binary64
30×distribute-rgt-out_binary64
28×*-lft-identity_binary64
24×sub0-neg_binary64 associate-+l+_binary64
23×*-rgt-identity_binary64
22×associate-+r+_binary64
21×distribute-neg-out_binary64
17×--rgt-identity_binary64 +-lft-identity_binary64
12×distribute-lft-out_binary64
11×+-rgt-identity_binary64
distribute-lft-out--_binary64
mul-1-neg_binary64
1-exp_binary64 *-inverses_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 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-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
11916
24016
37716
414916
524516
654416
7132716
8275416
9258516
10266116
11268616
12273616
13276516
14412716
15327516
16341716
17354116
18354116
19403716
20378916
21378916
22333716
23335616
24321816
25321816
26321816
27497716

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 11 to 10 computations (9.1% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)))
0.0b
(*.f64 y (-.f64 z t))
15.8b
(/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a))

rewrite89.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×add-sqr-sqrt_binary64 *-un-lft-identity_binary64
10×add-exp-log_binary64 add-cbrt-cube_binary64
add-cube-cbrt_binary64
cancel-sign-sub-inv_binary64
pow1_binary64 add-log-exp_binary64 times-frac_binary64 associate-/r*_binary64 associate-*r*_binary64
associate-*r/_binary64 distribute-rgt-in_binary64 distribute-lft-in_binary64
difference-of-squares_binary64 distribute-lft-out--_binary64 flip3--_binary64 flip--_binary64 associate-*l*_binary64
prod-exp_binary64 div-exp_binary64 cbrt-undiv_binary64 cbrt-unprod_binary64 associate-/l/_binary64 associate-/r/_binary64 sub-neg_binary64
frac-2neg_binary64 clear-num_binary64 div-inv_binary64 associate-/l*_binary64 pow-prod-down_binary64 unswap-sqr_binary64 *-commutative_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 distribute-lft-out_binary64 +-commutative_binary64
Counts
3 → 71
Calls

3 calls:

10.0ms
(/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a))
7.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)))
7.0ms
(*.f64 y (-.f64 z t))
Compiler

Compiled 1259 to 314 computations (75.1% saved)

series237.0ms (4.1%)

Error
0.0b
Counts
3 → 78
Calls

3 calls:

110.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)))
69.0ms
(/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a))
26.0ms
(*.f64 y (-.f64 z t))
Compiler

Compiled 2823 to 1893 computations (32.9% saved)

simplify124.0ms (2.1%)

Algorithm
egg-herbie
Rules
603×cancel-sign-sub-inv_binary64
484×distribute-rgt-in_binary64
459×distribute-lft-in_binary64
230×sub-neg_binary64
159×exp-prod_binary64
137×associate-/l*_binary64
106×div-sub_binary64 associate-*l*_binary64
99×+-commutative_binary64
98×times-frac_binary64 associate-*r*_binary64
95×distribute-rgt-neg-in_binary64
88×associate--l+_binary64
83×*-commutative_binary64
79×distribute-neg-frac_binary64 distribute-lft-neg-in_binary64
67×associate--r+_binary64
59×associate-*l/_binary64
54×neg-sub0_binary64
52×distribute-lft-neg-out_binary64 associate-/r*_binary64
50×neg-mul-1_binary64
46×distribute-rgt-neg-out_binary64
45×associate-+l+_binary64
44×associate-*r/_binary64
39×associate-/r/_binary64
38×sqr-pow_binary64
36×associate-+r+_binary64
35×*-rgt-identity_binary64
34×distribute-neg-in_binary64
33×log-div_binary64
32×log-prod_binary64
31×associate-/l/_binary64
27×distribute-rgt-out_binary64
26×unsub-neg_binary64
24×*-lft-identity_binary64
23×cube-div_binary64
20×unpow3_binary64 /-rgt-identity_binary64
18×cube-prod_binary64
16×unswap-sqr_binary64
12×exp-sum_binary64 distribute-rgt-out--_binary64
11×swap-sqr_binary64
difference-of-squares_binary64
cube-mult_binary64
exp-diff_binary64 distribute-lft-out_binary64
log-rec_binary64 remove-double-neg_binary64 distribute-rgt1-in_binary64
cube-unmult_binary64 mul-1-neg_binary64
unpow1/2_binary64 rem-sqrt-square_binary64 cancel-sign-sub_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 exp-neg_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate-+r-_binary64
prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 rem-square-sqrt_binary64 +-rgt-identity_binary64 div0_binary64 pow-sqr_binary64 distribute-frac-neg_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 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 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 *-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 distribute-neg-out_binary64 count-2_binary64 associate--l-_binary64
Counts
149 → 109
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02252830
16102677
222672479
349102479
450402479

prune58.0ms (1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1054109
Fresh000
Picked011
Done000
Total1055110
Error
0.0b
Counts
110 → 5
Compiler

Compiled 1183 to 309 computations (73.9% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 x (*.f64 y (/.f64 (-.f64 z t) (-.f64 z a))))
0.0b
(/.f64 (-.f64 z t) (-.f64 z a))
2.0b
(*.f64 y (/.f64 (-.f64 z t) (-.f64 z a)))

rewrite140.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
76×add-sqr-sqrt_binary64
71×*-un-lft-identity_binary64
51×times-frac_binary64
31×associate-*r*_binary64
27×add-cube-cbrt_binary64
22×difference-of-squares_binary64 distribute-lft-out--_binary64
10×add-exp-log_binary64 add-cbrt-cube_binary64
pow1_binary64 add-log-exp_binary64 associate-/l*_binary64 associate-/r*_binary64
associate-/r/_binary64
associate-*l*_binary64 flip3--_binary64 flip--_binary64
div-exp_binary64 prod-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 unswap-sqr_binary64 div-inv_binary64 associate-/l/_binary64
pow-prod-down_binary64 associate-*r/_binary64 *-commutative_binary64 frac-2neg_binary64 div-sub_binary64 clear-num_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64
Counts
3 → 113
Calls

3 calls:

15.0ms
(*.f64 y (/.f64 (-.f64 z t) (-.f64 z a)))
11.0ms
(/.f64 (-.f64 z t) (-.f64 z a))
3.0ms
(+.f64 x (*.f64 y (/.f64 (-.f64 z t) (-.f64 z a))))
Compiler

Compiled 1958 to 420 computations (78.5% saved)

series286.0ms (5%)

Error
0.0b
Counts
3 → 90
Calls

3 calls:

113.0ms
(+.f64 x (*.f64 y (/.f64 (-.f64 z t) (-.f64 z a))))
68.0ms
(*.f64 y (/.f64 (-.f64 z t) (-.f64 z a)))
59.0ms
(/.f64 (-.f64 z t) (-.f64 z a))
Compiler

Compiled 3761 to 2512 computations (33.2% saved)

simplify163.0ms (2.8%)

Algorithm
egg-herbie
Rules
788×cancel-sign-sub-inv_binary64
769×times-frac_binary64
339×sub-neg_binary64
206×div-sub_binary64
146×+-commutative_binary64
143×associate-/l*_binary64 associate--l+_binary64
127×associate-*l*_binary64
123×associate-*r*_binary64
115×associate--r+_binary64
96×*-commutative_binary64
81×associate-+l+_binary64
75×associate-*r/_binary64
74×neg-sub0_binary64
73×associate-/r*_binary64
67×neg-mul-1_binary64
59×associate-+r+_binary64
55×distribute-rgt-in_binary64
51×distribute-lft-in_binary64
50×unsub-neg_binary64
49×associate-*l/_binary64
43×*-rgt-identity_binary64
41×associate-/l/_binary64
35×sqr-pow_binary64
34×associate-/r/_binary64
32×*-lft-identity_binary64
31×cube-prod_binary64
24×distribute-neg-in_binary64
21×log-prod_binary64 exp-prod_binary64
20×unswap-sqr_binary64
18×exp-sum_binary64
17×distribute-rgt-neg-in_binary64
15×/-rgt-identity_binary64
13×log-div_binary64 cube-div_binary64 distribute-neg-frac_binary64
12×distribute-lft-neg-in_binary64
11×unpow3_binary64
exp-diff_binary64
cube-unmult_binary64 mul-1-neg_binary64
cube-mult_binary64
difference-of-squares_binary64
swap-sqr_binary64 distribute-lft-neg-out_binary64
unpow1/2_binary64 associate-+r-_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 sqr-neg_binary64 rem-sqrt-square_binary64 remove-double-neg_binary64 distribute-rgt-out--_binary64 associate--r-_binary64 associate-+l-_binary64
prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 cube-neg_binary64 div0_binary64 *-inverses_binary64 pow-sqr_binary64 distribute-rgt-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 log-pow_binary64 log-rec_binary64 pow-base-0_binary64 unpow1/3_binary64 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 div-exp_binary64 rec-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-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_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-neg-out_binary64 distribute-rgt-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 distribute-lft-out_binary64 count-2_binary64 associate--l-_binary64
Counts
203 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02984461
18134305
228604278
348804278
452004278

prune57.0ms (1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1251126
Fresh033
Picked011
Done011
Total1256131
Error
0.0b
Counts
131 → 6
Compiler

Compiled 1571 to 393 computations (75% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 x (/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))))
0.0b
(*.f64 (-.f64 z t) y)
0.3b
(/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y)))
15.8b
(/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))

rewrite175.0ms (3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
58×times-frac_binary64
45×*-un-lft-identity_binary64
44×add-sqr-sqrt_binary64
32×add-exp-log_binary64
28×add-cube-cbrt_binary64
20×add-cbrt-cube_binary64
14×div-exp_binary64
12×associate-*l/_binary64 associate-/r*_binary64
11×associate-/r/_binary64
associate-/l*_binary64
pow1_binary64 cbrt-undiv_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 div-inv_binary64 flip3--_binary64 flip--_binary64
add-log-exp_binary64
prod-exp_binary64 associate-*l*_binary64
cbrt-unprod_binary64 1-exp_binary64 rec-exp_binary64 associate-*r*_binary64
frac-2neg_binary64 clear-num_binary64 associate-/l/_binary64 distribute-lft-out_binary64
div-sub_binary64 inv-pow_binary64 pow-flip_binary64 pow-prod-down_binary64 unswap-sqr_binary64 *-commutative_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64
Counts
4 → 137
Calls

4 calls:

15.0ms
(+.f64 x (/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))))
12.0ms
(/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y)))
11.0ms
(/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))
6.0ms
(*.f64 (-.f64 z t) y)
Compiler

Compiled 2799 to 904 computations (67.7% saved)

series325.0ms (5.6%)

Error
0.0b
Counts
4 → 103
Calls

4 calls:

109.0ms
(+.f64 x (/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))))
77.0ms
(/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y))
66.0ms
(/.f64 1 (/.f64 (-.f64 z a) (*.f64 (-.f64 z t) y)))
28.0ms
(*.f64 (-.f64 z t) y)
Compiler

Compiled 4221 to 2871 computations (32% saved)

simplify183.0ms (3.2%)

Algorithm
egg-herbie
Rules
706×cancel-sign-sub-inv_binary64
352×div-sub_binary64
306×sub-neg_binary64
161×associate-/l*_binary64
156×associate-/r*_binary64
136×+-commutative_binary64
135×times-frac_binary64
128×associate-*r*_binary64
116×associate--l+_binary64
115×*-commutative_binary64
109×distribute-neg-frac_binary64
108×associate-/r/_binary64
102×associate-*l*_binary64
93×associate--r+_binary64
86×exp-prod_binary64
80×associate-*l/_binary64
73×distribute-rgt-in_binary64
70×neg-sub0_binary64
67×neg-mul-1_binary64
66×distribute-lft-in_binary64
61×associate-+l+_binary64
55×associate-/l/_binary64 associate-+r+_binary64
54×associate-*r/_binary64
46×unsub-neg_binary64
45×*-rgt-identity_binary64
44×cube-prod_binary64
43×sqr-pow_binary64
41×exp-sum_binary64
38×log-div_binary64
36×cube-div_binary64
34×unswap-sqr_binary64
33×log-prod_binary64
26×*-lft-identity_binary64
24×distribute-neg-in_binary64
21×exp-diff_binary64 /-rgt-identity_binary64
19×unpow3_binary64
17×distribute-rgt-neg-in_binary64
15×cube-mult_binary64
14×swap-sqr_binary64
11×log-rec_binary64 distribute-lft-neg-in_binary64
cube-unmult_binary64
associate--r-_binary64
mul-1-neg_binary64 difference-of-squares_binary64
unpow1/2_binary64 remove-double-neg_binary64 distribute-lft-neg-out_binary64 distribute-rgt-out_binary64 associate-+r-_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 rem-sqrt-square_binary64 div0_binary64
cube-neg_binary64 sqr-neg_binary64 sub0-neg_binary64 +-lft-identity_binary64 remove-double-div_binary64 distribute-rgt-out--_binary64 distribute-lft-out_binary64
prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 +-rgt-identity_binary64 *-inverses_binary64 pow-sqr_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 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 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-square-sqrt_binary64 --rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_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 count-2_binary64 associate--l-_binary64
Counts
240 → 205
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03175328
18554816
231994750
346964750
452934750

prune105.0ms (1.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2041205
Fresh303
Picked011
Done022
Total2074211
Error
0.0b
Counts
211 → 4
Compiler

Compiled 2436 to 644 computations (73.6% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 x (*.f64 (-.f64 z t) (/.f64 y (-.f64 z a))))
0.0b
(/.f64 y (-.f64 z a))
10.0b
(*.f64 (-.f64 z t) (/.f64 y (-.f64 z a)))

rewrite105.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
44×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
31×times-frac_binary64
23×add-cube-cbrt_binary64
21×associate-*r*_binary64
10×add-exp-log_binary64 add-cbrt-cube_binary64
difference-of-squares_binary64 distribute-lft-out--_binary64
pow1_binary64 add-log-exp_binary64 associate-*l*_binary64 associate-/r*_binary64
flip3--_binary64 flip--_binary64 associate-/r/_binary64
associate-/l*_binary64
div-exp_binary64 prod-exp_binary64 cbrt-unprod_binary64 cbrt-undiv_binary64 frac-times_binary64 unswap-sqr_binary64 associate-*l/_binary64 div-inv_binary64
pow-prod-down_binary64 associate-*r/_binary64 *-commutative_binary64 frac-2neg_binary64 clear-num_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64
Counts
3 → 94
Calls

3 calls:

13.0ms
(*.f64 (-.f64 z t) (/.f64 y (-.f64 z a)))
5.0ms
(/.f64 y (-.f64 z a))
3.0ms
(+.f64 x (*.f64 (-.f64 z t) (/.f64 y (-.f64 z a))))
Compiler

Compiled 1715 to 390 computations (77.3% saved)

series449.0ms (7.8%)

Error
0.0b
Counts
3 → 81
Calls

3 calls:

269.0ms
(*.f64 (-.f64 z t) (/.f64 y (-.f64 z a)))
111.0ms
(+.f64 x (*.f64 (-.f64 z t) (/.f64 y (-.f64 z a))))
38.0ms
(/.f64 y (-.f64 z a))
Compiler

Compiled 3117 to 2091 computations (32.9% saved)

simplify145.0ms (2.5%)

Algorithm
egg-herbie
Rules
604×cancel-sign-sub-inv_binary64
539×times-frac_binary64
474×distribute-rgt-in_binary64
218×sub-neg_binary64
201×div-sub_binary64
123×associate-/l*_binary64
111×+-commutative_binary64
107×associate-*l*_binary64
101×associate-*r*_binary64
88×*-commutative_binary64
87×distribute-rgt-neg-in_binary64
85×associate--l+_binary64
75×distribute-lft-neg-in_binary64
74×associate-*r/_binary64
69×distribute-neg-frac_binary64
67×associate--r+_binary64
60×distribute-lft-in_binary64
57×associate-*l/_binary64
52×neg-sub0_binary64
51×distribute-lft-neg-out_binary64
48×associate-+l+_binary64
46×neg-mul-1_binary64
40×distribute-rgt-neg-out_binary64 associate-/r*_binary64
39×distribute-rgt-out_binary64 associate-+r+_binary64
38×sqr-pow_binary64 distribute-neg-in_binary64
37×cube-prod_binary64
35×exp-prod_binary64 associate-/r/_binary64
31×*-rgt-identity_binary64 associate-/l/_binary64
26×exp-sum_binary64 unsub-neg_binary64
25×log-prod_binary64 unswap-sqr_binary64
23×*-lft-identity_binary64
16×distribute-rgt-out--_binary64
15×log-div_binary64
14×unpow3_binary64 cube-div_binary64
10×cube-mult_binary64 /-rgt-identity_binary64 distribute-lft-out_binary64
exp-diff_binary64 difference-of-squares_binary64
distribute-rgt1-in_binary64
cube-unmult_binary64
mul-1-neg_binary64
swap-sqr_binary64
distribute-lft-out--_binary64
unpow1/2_binary64 exp-neg_binary64 sqr-neg_binary64
unpow2_binary64 pow-plus_binary64 unpow1_binary64 cube-neg_binary64 rem-sqrt-square_binary64 remove-double-neg_binary64 pow-sqr_binary64 distribute-lft1-in_binary64 associate-+l-_binary64 associate-+r-_binary64
log-rec_binary64 prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 div0_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 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 e-exp-1_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 count-2_binary64 associate--l-_binary64
Counts
175 → 116
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02463589
16333346
222733115
346263103
450513103

prune47.0ms (0.8%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1160116
Fresh000
Picked011
Done033
Total1164120
Error
0.0b
Counts
120 → 4
Compiler

Compiled 1223 to 289 computations (76.4% saved)

regimes807.0ms (14%)

Accuracy

Total 0.5b remaining (96.8%)

Threshold costs 0.5b (96.8%)

Compiler

Compiled 8848 to 7178 computations (18.9% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64 *-commutative_binary64
neg-mul-1_binary64 neg-sub0_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-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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01752
12452
23252
33652
43852
53852

end1.0ms (0%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

sample846.0ms (14.7%)

Algorithm
intervals
Results
310.0ms8000×body128valid
25.0ms726×body128invalid
Compiler

Compiled 105 to 102 computations (2.9% saved)

Profiling

Loading profile data...