Details

Time bar (total: 8.3s)

analyze629.0ms (7.6%)

Algorithm
search
egg-herbie
Rules
715×div-sub_binary64
690×sub-neg_binary64
581×neg-mul-1_binary64
491×neg-sub0_binary64
476×associate-/r*_binary64
402×distribute-neg-frac_binary64
321×distribute-rgt-neg-in_binary64
280×distribute-rgt-neg-out_binary64
252×distribute-lft-neg-out_binary64
251×distribute-lft-neg-in_binary64
232×+-commutative_binary64
226×associate-/r/_binary64
220×associate-/l*_binary64
217×associate-*l/_binary64
201×associate-+l-_binary64
198×remove-double-neg_binary64
195×distribute-rgt-in_binary64
184×cancel-sign-sub-inv_binary64
144×times-frac_binary64
141×unsub-neg_binary64
131×associate-/l/_binary64
119×associate-*r/_binary64
117×associate--r+_binary64
106×distribute-lft-in_binary64
93×distribute-frac-neg_binary64
88×sub0-neg_binary64
76×cancel-sign-sub_binary64
72×*-lft-identity_binary64
71×associate--l-_binary64
68×distribute-neg-in_binary64
63×*-commutative_binary64
61×+-lft-identity_binary64
57×associate--r-_binary64
54×/-rgt-identity_binary64
53×+-rgt-identity_binary64
45×associate-*r*_binary64
41×associate-+r-_binary64
40×associate-+l+_binary64
36×div0_binary64
26×associate-*l*_binary64
24×--rgt-identity_binary64
18×mul0-rgt_binary64 mul0-lft_binary64 associate--l+_binary64
17×associate-+r+_binary64
*-rgt-identity_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
038104
19596
217196
332396
448096
578696
6138496
7244896
8354696
9433996
10461496
11487196
12496196
13513296
033
133
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 18 to 15 computations (16.7% saved)

sample44.0ms (0.5%)

Algorithm
intervals
Results
11.0ms171×body128valid
10.0ms41×body2048valid
4.0ms19×body1024valid
3.0ms11×body4096valid
2.0ms12×body512valid
1.0ms24×body128nan
1.0ms13×body128invalid
0.0msbody256valid
Compiler

Compiled 35 to 32 computations (8.6% saved)

simplify341.0ms (4.1%)

Algorithm
egg-herbie
Rules
1261×associate-/l*_binary64
1150×div-sub_binary64
772×distribute-rgt-in_binary64
702×distribute-lft-in_binary64
619×times-frac_binary64
576×associate-/r*_binary64
479×associate-/r/_binary64
467×cancel-sign-sub-inv_binary64
429×*-commutative_binary64
426×sub-neg_binary64
423×unsub-neg_binary64
407×associate-/l/_binary64
225×distribute-rgt-neg-in_binary64
208×distribute-rgt-out--_binary64
201×neg-mul-1_binary64
197×distribute-lft-neg-in_binary64
192×distribute-neg-frac_binary64
188×associate-*l/_binary64
163×neg-sub0_binary64
156×distribute-rgt-out_binary64
136×distribute-rgt-neg-out_binary64
121×associate--r+_binary64
112×+-commutative_binary64
99×distribute-lft-neg-out_binary64
80×distribute-lft-out_binary64
77×associate--r-_binary64
73×distribute-frac-neg_binary64
72×distribute-lft-out--_binary64
68×*-lft-identity_binary64 distribute-neg-out_binary64
66×associate-*r/_binary64
62×mul0-rgt_binary64
60×associate-*r*_binary64
59×associate--l-_binary64
55×div0_binary64
54×mul0-lft_binary64
51×associate-*l*_binary64
33×remove-double-neg_binary64
32×associate-+r-_binary64
30×+-lft-identity_binary64
28×/-rgt-identity_binary64 associate--l+_binary64
27×remove-double-div_binary64
22×distribute-neg-in_binary64
19×sub0-neg_binary64 --rgt-identity_binary64
17×*-rgt-identity_binary64
14×mul-1-neg_binary64 associate-+l+_binary64
13×associate-+l-_binary64
associate-+r+_binary64
+-rgt-identity_binary64
swap-sqr_binary64
1-exp_binary64 sqr-neg_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same 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 *-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 cancel-sign-sub_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13224
26524
312824
417824
528724
646024
775424
8112024
9114224
10179924
11216224
12195324
13204124
14210524
15213124
16284324
17260324
18284124
19295124
20307124
21311324
22318324
23317124
24317124
25219124
26214124
27210524
28210724
29210724
30210724
31210724
32183424

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 32 to 26 computations (18.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b) (*.f64 a 2))
0.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
0.8b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b)
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

rewrite181.0ms (2.2%)

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

4 calls:

13.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b) (*.f64 a 2))
7.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b)
4.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 1900 to 1105 computations (41.8% saved)

series242.0ms (2.9%)

Error
6.2b
Counts
4 → 74
Calls

4 calls:

62.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b) (*.f64 a 2))
53.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
49.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) b)
43.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
Compiler

Compiled 2754 to 2189 computations (20.5% saved)

simplify126.0ms (1.5%)

Algorithm
egg-herbie
Rules
701×associate-/l*_binary64
315×div-sub_binary64
222×cancel-sign-sub-inv_binary64
188×distribute-rgt-in_binary64
180×distribute-lft-in_binary64
179×distribute-rgt-neg-in_binary64
163×distribute-lft-neg-in_binary64
129×sub-neg_binary64
126×associate-/r/_binary64
119×associate-*r*_binary64
115×associate-/l/_binary64
111×exp-prod_binary64
107×associate-*l*_binary64
96×*-commutative_binary64
90×times-frac_binary64
87×unswap-sqr_binary64
67×associate-/r*_binary64
66×+-commutative_binary64
62×neg-sub0_binary64 distribute-neg-frac_binary64
60×neg-mul-1_binary64
51×sqr-pow_binary64
44×cube-prod_binary64
37×associate--l+_binary64
35×distribute-rgt-out_binary64
32×associate-*l/_binary64
31×distribute-lft-neg-out_binary64 associate-*r/_binary64
26×exp-sum_binary64
18×unpow3_binary64 distribute-lft-out_binary64
17×unsub-neg_binary64 distribute-neg-in_binary64
16×exp-diff_binary64 associate--r+_binary64 associate-+l+_binary64
15×distribute-rgt-neg-out_binary64
14×swap-sqr_binary64
13×cube-mult_binary64
12×associate-+r-_binary64
11×+-rgt-identity_binary64
10×cube-unmult_binary64
difference-of-squares_binary64 associate-+r+_binary64
pow-plus_binary64 rem-sqrt-square_binary64
log-div_binary64 unpow2_binary64 mul-1-neg_binary64 distribute-lft-out--_binary64
log-prod_binary64 exp-sqrt_binary64 cube-div_binary64 pow-sqr_binary64
unpow1/2_binary64 unpow1_binary64 exp-lft-sqr_binary64 rem-square-sqrt_binary64 distribute-rgt-out--_binary64 associate-+l-_binary64
log-pow_binary64 div-exp_binary64 sqr-neg_binary64
prod-exp_binary64 1-exp_binary64 cube-neg_binary64 rem-3cbrt-lft_binary64 remove-double-neg_binary64 div0_binary64 *-inverses_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 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-cbrt_binary64 rec-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 sub0-neg_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 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64
Counts
148 → 123
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02243330
16103080
219493068
348103068
456153068

prune87.0ms (1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1149123
Fresh000
Picked101
Done000
Total1159124
Error
6.1b
Counts
124 → 9
Compiler

Compiled 2074 to 1158 computations (44.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 1 (/.f64 a (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) 2)))
0.6b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.8b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite413.0ms (5%)

Algorithm
rewrite-expression-head
Error
6.1b
Rules
693×times-frac_binary64
439×add-sqr-sqrt_binary64
364×*-un-lft-identity_binary64
290×add-cube-cbrt_binary64
74×difference-of-squares_binary64
71×associate-/r*_binary64
40×sqrt-prod_binary64
37×distribute-lft-out--_binary64
25×add-exp-log_binary64
17×div-inv_binary64
15×div-exp_binary64
13×add-cbrt-cube_binary64
add-log-exp_binary64
pow1_binary64 cbrt-undiv_binary64
associate-/r/_binary64
cancel-sign-sub-inv_binary64
flip3--_binary64 flip--_binary64 1-exp_binary64 rec-exp_binary64 associate-/l*_binary64
sqrt-div_binary64 diff-log_binary64 sub-neg_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 inv-pow_binary64 pow-flip_binary64 frac-2neg_binary64 clear-num_binary64
Counts
4 → 356
Calls

4 calls:

24.0ms
(/.f64 1 (/.f64 a (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) 2)))
8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
4.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 11057 to 6512 computations (41.1% saved)

series240.0ms (2.9%)

Error
6.1b
Counts
4 → 74
Calls

4 calls:

63.0ms
(/.f64 1 (/.f64 a (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) 2)))
52.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
50.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
44.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
Compiler

Compiled 2956 to 2391 computations (19.1% saved)

simplify489.0ms (5.9%)

Algorithm
egg-herbie
Rules
478×associate-/r/_binary64
331×*-commutative_binary64
330×associate-*l/_binary64
279×associate-/l/_binary64
271×associate-*r/_binary64
216×associate-/r*_binary64
213×associate-/l*_binary64
170×associate-*r*_binary64
140×sub-neg_binary64
133×times-frac_binary64
103×associate-*l*_binary64
71×+-commutative_binary64
66×neg-mul-1_binary64 neg-sub0_binary64
57×div-sub_binary64
55×cancel-sign-sub-inv_binary64
46×exp-prod_binary64
37×distribute-rgt-in_binary64 associate--l+_binary64
35×distribute-rgt-neg-in_binary64 distribute-lft-in_binary64
31×distribute-lft-neg-in_binary64
26×sqr-pow_binary64
25×cube-prod_binary64
21×unsub-neg_binary64
19×log-div_binary64
18×associate--r+_binary64 associate-+r+_binary64
17×remove-double-div_binary64 associate-+r-_binary64
16×log-prod_binary64 associate-+l+_binary64
11×unswap-sqr_binary64 distribute-neg-in_binary64
unpow3_binary64 cube-mult_binary64
exp-sum_binary64 cube-div_binary64 /-rgt-identity_binary64 swap-sqr_binary64 distribute-neg-frac_binary64
cube-unmult_binary64
log-rec_binary64
exp-diff_binary64 rem-sqrt-square_binary64 mul-1-neg_binary64 difference-of-squares_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64
distribute-lft-neg-out_binary64
unpow2_binary64 unpow1/2_binary64 pow-plus_binary64 unpow1_binary64 rem-square-sqrt_binary64 associate--r-_binary64 associate-+l-_binary64
log-pow_binary64 div-exp_binary64 *-rgt-identity_binary64
exp-sqrt_binary64 1-exp_binary64 exp-1-e_binary64 rem-3cbrt-lft_binary64 *-lft-identity_binary64 sub0-neg_binary64 pow-sqr_binary64 distribute-rgt-neg-out_binary64 distribute-rgt-out--_binary64 distribute-lft-out_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 exp-to-pow_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_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 remove-double-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 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
430 → 368
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
053618434
1131917568
2462817567
3500017567
4495717567

prune410.0ms (4.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New3644368
Fresh268
Picked011
Done000
Total36611377
Error
6.1b
Counts
377 → 11
Compiler

Compiled 6616 to 3746 computations (43.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) a)
0.6b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.8b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite109.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
6.1b
Rules
38×add-sqr-sqrt_binary64
27×*-un-lft-identity_binary64
18×times-frac_binary64
17×add-cube-cbrt_binary64
10×difference-of-squares_binary64
add-log-exp_binary64 sqrt-prod_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 associate-/l*_binary64
pow1_binary64 distribute-lft-out--_binary64
flip3--_binary64 flip--_binary64 cancel-sign-sub-inv_binary64
associate-/r*_binary64
sqrt-div_binary64 diff-log_binary64 sub-neg_binary64 associate-/l/_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 div-exp_binary64 cbrt-undiv_binary64 frac-2neg_binary64 div-sub_binary64 clear-num_binary64 div-inv_binary64
Counts
4 → 86
Calls

4 calls:

10.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) a)
7.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
4.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
Compiler

Compiled 2164 to 1099 computations (49.2% saved)

series233.0ms (2.8%)

Error
6.1b
Counts
4 → 74
Calls

4 calls:

58.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b) a)
52.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
49.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
43.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
Compiler

Compiled 2801 to 2240 computations (20% saved)

simplify137.0ms (1.7%)

Algorithm
egg-herbie
Rules
572×associate-/l*_binary64
486×associate-/r*_binary64
255×div-sub_binary64
180×cancel-sign-sub-inv_binary64
177×distribute-rgt-neg-in_binary64
157×distribute-lft-neg-in_binary64
142×associate-/r/_binary64
124×sub-neg_binary64 distribute-rgt-in_binary64
120×distribute-lft-in_binary64
98×associate-/l/_binary64
88×exp-prod_binary64
79×*-commutative_binary64
78×associate-*r*_binary64
75×unswap-sqr_binary64
73×distribute-neg-frac_binary64
65×+-commutative_binary64
64×times-frac_binary64 associate-*l*_binary64
60×neg-mul-1_binary64 neg-sub0_binary64
48×sqr-pow_binary64
41×cube-prod_binary64
37×associate--l+_binary64
35×distribute-rgt-out_binary64
31×associate-*l/_binary64 associate-*r/_binary64
24×distribute-lft-neg-out_binary64
23×exp-sum_binary64
17×distribute-neg-in_binary64
16×unpow3_binary64 associate-+l+_binary64
15×exp-diff_binary64 associate--r+_binary64
13×distribute-rgt-neg-out_binary64
12×unsub-neg_binary64 associate-+r-_binary64
11×cube-mult_binary64 +-rgt-identity_binary64 swap-sqr_binary64 distribute-lft-out_binary64
cube-unmult_binary64 difference-of-squares_binary64 associate-+r+_binary64
pow-plus_binary64 cube-div_binary64 rem-sqrt-square_binary64 /-rgt-identity_binary64
log-div_binary64 distribute-rgt-out--_binary64
log-prod_binary64
unpow2_binary64 *-rgt-identity_binary64 pow-sqr_binary64 distribute-lft-out--_binary64
unpow1/2_binary64 unpow1_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 associate-+l-_binary64
log-pow_binary64 div-exp_binary64 sqr-neg_binary64
1-exp_binary64 cube-neg_binary64 rem-3cbrt-lft_binary64 *-lft-identity_binary64 remove-double-neg_binary64 *-inverses_binary64 cancel-sign-sub_binary64 distribute-neg-out_binary64 count-2_binary64 associate--r-_binary64 associate--l-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 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 rec-exp_binary64 prod-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 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 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64
Counts
160 → 88
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02203777
15823591
216723585
347233585
452853585

prune59.0ms (0.7%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New86288
Fresh279
Picked011
Done011
Total881199
Error
6.1b
Counts
99 → 11
Compiler

Compiled 1424 to 819 computations (42.5% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.8b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
0.8b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite96.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
6.1b
Rules
18×add-sqr-sqrt_binary64
12×*-un-lft-identity_binary64
add-log-exp_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64
pow1_binary64 cancel-sign-sub-inv_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 flip3--_binary64 sqrt-div_binary64 flip--_binary64 difference-of-squares_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 diff-log_binary64 sub-neg_binary64 distribute-lft-out--_binary64
Counts
4 → 64
Calls

4 calls:

8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 2482 to 1287 computations (48.1% saved)

series277.0ms (3.3%)

Error
6.1b
Counts
4 → 76
Calls

4 calls:

61.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
59.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
57.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
57.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) b)
Compiler

Compiled 5414 to 3848 computations (28.9% saved)

simplify88.0ms (1.1%)

Algorithm
egg-herbie
Rules
650×associate-*l*_binary64
636×associate-*r*_binary64
634×times-frac_binary64
283×associate-/l*_binary64
259×associate-/r*_binary64
136×distribute-rgt-neg-in_binary64
130×cancel-sign-sub-inv_binary64
126×distribute-lft-neg-in_binary64
83×associate-*l/_binary64
77×sub-neg_binary64
67×associate-*r/_binary64
48×distribute-rgt-in_binary64 distribute-lft-in_binary64 associate-/r/_binary64
47×+-commutative_binary64
44×unswap-sqr_binary64 *-commutative_binary64
38×sqr-pow_binary64
34×neg-mul-1_binary64
32×neg-sub0_binary64 distribute-neg-frac_binary64
31×distribute-rgt-out_binary64
24×associate--l+_binary64
20×associate-/l/_binary64
15×cube-prod_binary64
14×distribute-lft-neg-out_binary64
12×exp-prod_binary64 associate-+r-_binary64
11×+-rgt-identity_binary64 swap-sqr_binary64 associate-+l+_binary64
unpow3_binary64 cube-mult_binary64 difference-of-squares_binary64
distribute-lft-out_binary64 associate--r+_binary64
distribute-rgt-neg-out_binary64 associate-+r+_binary64
unsub-neg_binary64 distribute-neg-in_binary64
rem-sqrt-square_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 exp-sum_binary64 cube-unmult_binary64 rem-square-sqrt_binary64 distribute-rgt-out--_binary64 associate-+l-_binary64
pow-plus_binary64 exp-diff_binary64 distribute-lft-out--_binary64
div-exp_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 pow-sqr_binary64 cancel-sign-sub_binary64 distribute-neg-out_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 log-rec_binary64 log-div_binary64 log-prod_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 rec-exp_binary64 prod-exp_binary64 exp-neg_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 cube-neg_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 sqr-neg_binary64 div-sub_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-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 distribute-frac-neg_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64 associate--r-_binary64
Counts
140 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01232924
13362802
29972796
353392796

prune65.0ms (0.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New79180
Fresh268
Picked101
Done112
Total83891
Error
6.1b
Counts
91 → 8
Compiler

Compiled 2112 to 1143 computations (45.9% saved)

regimes2.4s (29%)

Accuracy

Total 4.6b remaining (46.6%)

Threshold costs 0b (0%)

Compiler

Compiled 15682 to 12340 computations (21.3% saved)

bsearch52.0ms (0.6%)

Steps
ItersRangePoint
9
1.8517388146306486e-91
4.500469571067408e-83
3.1356574979833072e-83
3
-6.230750768366333e+162
-4.168919260503259e+149
-1.941647724720173e+151
Compiler

Compiled 1 to 3 computations (-200% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×*-commutative_binary64
11×sub-neg_binary64 +-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
cancel-sign-sub-inv_binary64
distribute-neg-frac_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 unpow1_binary64 e-exp-1_binary64 1-exp_binary64 exp-1-e_binary64 exp-0_binary64 sqr-abs_binary64 sqr-neg_binary64 unsub-neg_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 sub0-neg_binary64 --rgt-identity_binary64 +-rgt-identity_binary64 +-lft-identity_binary64 cancel-sign-sub_binary64 distribute-frac-neg_binary64 distribute-neg-out_binary64 distribute-neg-in_binary64 distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02961
15561
27461
39361
410361
510761
610861
710661

end1.0ms (0%)

Compiler

Compiled 41 to 29 computations (29.3% saved)

sample1.5s (18.2%)

Algorithm
intervals
Results
290.0ms1165×body2048valid
280.0ms5213×body128valid
134.0ms668×body1024valid
115.0ms385×body4096valid
58.0ms367×body512valid
36.0ms671×body128nan
20.0ms388×body128invalid
20.0ms202×body256valid
Compiler

Compiled 212 to 170 computations (19.8% saved)

Profiling

Loading profile data...