Details

Time bar (total: 7.9s)

analyze833.0ms (10.5%)

Algorithm
search
egg-herbie
Rules
591×neg-mul-1_binary64
519×neg-sub0_binary64
502×div-sub_binary64
497×associate-/l*_binary64
455×associate-/r*_binary64
378×sub-neg_binary64
326×distribute-lft-neg-out_binary64
325×distribute-neg-frac_binary64
240×distribute-rgt-neg-out_binary64
226×distribute-frac-neg_binary64
219×distribute-rgt-neg-in_binary64
175×cancel-sign-sub-inv_binary64
164×unsub-neg_binary64
155×distribute-rgt-in_binary64
151×associate-*r*_binary64
138×cancel-sign-sub_binary64
133×associate-*l*_binary64
118×remove-double-neg_binary64
101×*-commutative_binary64
88×associate-/r/_binary64
77×+-commutative_binary64
76×distribute-neg-in_binary64 associate-*l/_binary64
73×distribute-lft-in_binary64
57×associate--l-_binary64
56×times-frac_binary64 distribute-lft-neg-in_binary64
53×associate-*r/_binary64
52×associate-/l/_binary64
51×/-rgt-identity_binary64 distribute-neg-out_binary64 associate--r+_binary64
46×sub0-neg_binary64 associate-+r-_binary64
45×associate-+l-_binary64
36×*-lft-identity_binary64
35×associate--r-_binary64
32×associate-+r+_binary64
30×div0_binary64
24×associate-+l+_binary64
18×mul0-rgt_binary64
15×*-rgt-identity_binary64 mul0-lft_binary64
14×+-rgt-identity_binary64
13×distribute-lft-out_binary64
12×distribute-rgt-out--_binary64
associate--l+_binary64
mul-1-neg_binary64 +-lft-identity_binary64 swap-sqr_binary64
sqr-neg_binary64 --rgt-identity_binary64 remove-double-div_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 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 pow-sqr_binary64 sqr-pow_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 difference-of-squares_binary64 unswap-sqr_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out_binary64 distribute-lft-out--_binary64 count-2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055232
1127224
2250224
3535216
4880216
51586216
63577216
74244216
84751216
94877216
033
133
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%87.4%0.1%6
20.3%73.3%6.4%7
27.3%66.3%6.4%8
38.2%53%8.7%9
46%40.6%13.4%10
49.9%35.1%15%11
54.9%26.9%18.1%12
57.4%22%20.6%13
59.7%18%22.4%14
Compiler

Compiled 39 to 27 computations (30.8% saved)

sample41.0ms (0.5%)

Algorithm
intervals
Results
24.0ms256×body128valid
1.0ms15×body128nan
1.0msbody128invalid
Compiler

Compiled 77 to 56 computations (27.3% saved)

simplify605.0ms (7.6%)

Algorithm
egg-herbie
Rules
1534×div-sub_binary64
1283×associate-/l*_binary64
1224×distribute-rgt-in_binary64
767×associate-/r*_binary64
744×distribute-lft-in_binary64
638×sub-neg_binary64
529×unsub-neg_binary64
510×cancel-sign-sub-inv_binary64
488×times-frac_binary64
376×associate-/r/_binary64
308×associate-/l/_binary64
284×associate-*l/_binary64
249×*-commutative_binary64
241×distribute-neg-frac_binary64
237×distribute-rgt-neg-in_binary64
235×neg-mul-1_binary64
206×distribute-lft-neg-in_binary64
202×distribute-rgt-neg-out_binary64
183×distribute-lft-neg-out_binary64
151×distribute-frac-neg_binary64
138×neg-sub0_binary64 associate--r+_binary64
112×distribute-rgt-out_binary64
109×*-lft-identity_binary64
100×distribute-neg-in_binary64
86×+-rgt-identity_binary64
80×associate--l+_binary64
78×mul0-rgt_binary64
75×+-commutative_binary64
74×associate-*l*_binary64
73×div0_binary64 associate-+r-_binary64
72×/-rgt-identity_binary64 mul0-lft_binary64
70×distribute-rgt-out--_binary64
68×associate--l-_binary64
64×associate-*r*_binary64
58×+-lft-identity_binary64
57×remove-double-neg_binary64 associate-+l+_binary64 associate-+r+_binary64
55×associate-*r/_binary64
51×*-rgt-identity_binary64
50×associate--r-_binary64
48×remove-double-div_binary64
34×distribute-neg-out_binary64
30×associate-+l-_binary64
28×sub0-neg_binary64
15×--rgt-identity_binary64
distribute-lft-out_binary64
mul-1-neg_binary64 distribute-lft-out--_binary64
cancel-sign-sub_binary64
swap-sqr_binary64
sqr-neg_binary64
1-exp_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-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 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02258
14356
29156
319854
430954
551954
691854
7135654
8150554
9218154
10280654
11281254
12281454
13277654
14280054
15398254
16311854
17312654
18313454
19313454
20314254
21314254
22394454
23293454
24312054
25308654
26309054
27310254
28310654
29310654
30326854
31319654
32332454
33342854
34353254
35363654
36303654
37303654
38305654
39309254
40309454
41309454
42278554

prune8.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
17.2b
Counts
2 → 1
Compiler

Compiled 74 to 51 computations (31.1% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
1.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 765 to 1275 computations (-66.7% saved)

rewrite157.0ms (2%)

Algorithm
rewrite-expression-head
Error
17.2b
Rules
add-log-exp_binary64 add-sqr-sqrt_binary64
pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 flip3--_binary64 sqrt-div_binary64 flip--_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 diff-log_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64
Counts
4 → 54
Calls

4 calls:

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

Compiled 2536 to 1429 computations (43.7% saved)

series222.0ms (2.8%)

Error
4.9b
Counts
4 → 62
Calls

4 calls:

51.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
51.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
46.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
46.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 4412 to 3129 computations (29.1% saved)

simplify109.0ms (1.4%)

Algorithm
egg-herbie
Rules
627×associate-*l*_binary64
545×associate-*r*_binary64
385×distribute-rgt-neg-in_binary64
384×distribute-lft-neg-in_binary64
330×neg-mul-1_binary64
317×cancel-sign-sub-inv_binary64
315×unswap-sqr_binary64
150×exp-prod_binary64
132×times-frac_binary64
114×distribute-lft-neg-out_binary64
102×distribute-rgt-neg-out_binary64 *-commutative_binary64
96×associate-/l*_binary64
85×sqr-pow_binary64
64×associate-/r*_binary64
62×cube-prod_binary64
53×neg-sub0_binary64
48×sub-neg_binary64
42×distribute-lft-in_binary64
41×distribute-rgt-in_binary64
37×swap-sqr_binary64
31×unpow3_binary64
29×unsub-neg_binary64
26×associate-*l/_binary64
23×associate-/r/_binary64 associate-*r/_binary64
22×difference-of-squares_binary64 distribute-rgt-out_binary64
21×+-commutative_binary64
20×cube-mult_binary64 div-sub_binary64
19×pow-plus_binary64 exp-sum_binary64
18×cube-unmult_binary64
17×distribute-neg-frac_binary64
13×pow-sqr_binary64
11×sqr-neg_binary64 distribute-lft-out_binary64
10×exp-diff_binary64
unpow2_binary64 +-rgt-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 associate-+l-_binary64 associate-+r-_binary64
sub0-neg_binary64
unpow1_binary64 exp-neg_binary64 rem-sqrt-square_binary64 mul-1-neg_binary64 associate-/l/_binary64 associate-+r+_binary64
associate-+l+_binary64
unpow1/2_binary64
prod-exp_binary64 distribute-neg-in_binary64 associate--l+_binary64
log-prod_binary64 div-exp_binary64 1-exp_binary64 cube-neg_binary64 rem-square-sqrt_binary64 distribute-frac-neg_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_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 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 rem-exp-log_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-3cbrt-lft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 remove-double-neg_binary64 --rgt-identity_binary64 +-lft-identity_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 cancel-sign-sub_binary64 distribute-neg-out_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-rgt-out--_binary64 distribute-lft-out--_binary64 associate--r-_binary64 associate--l-_binary64 associate--r+_binary64
Counts
116 → 89
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0791758
11911632
26131632
327791632
446121632
549781632

prune128.0ms (1.6%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New791089
Fresh000
Picked101
Done000
Total801090
Error
10.2b
Counts
90 → 10
Compiler

Compiled 2600 to 1481 computations (43% saved)

localize32.0ms (0.4%)

Local error

Found 4 expressions with local error:

14.5b
(+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 765 to 1275 computations (-66.7% saved)

rewrite208.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
10.2b
Rules
10×add-sqr-sqrt_binary64
sqrt-prod_binary64
add-log-exp_binary64
pow1_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
sqrt-div_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
pow1/2_binary64 sqrt-pow1_binary64 flip3--_binary64 flip--_binary64 rem-sqrt-square_binary64
sum-log_binary64
neg-log_binary64 flip3-+_binary64 flip-+_binary64 neg-sub0_binary64 associate-+l-_binary64 +-commutative_binary64
Counts
4 → 58
Calls

4 calls:

5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
4.0ms
(+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 3572 to 1910 computations (46.5% saved)

series244.0ms (3.1%)

Error
4.9b
Counts
4 → 52
Calls

4 calls:

56.0ms
(+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
51.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
39.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
39.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 5541 to 3729 computations (32.7% saved)

simplify113.0ms (1.4%)

Algorithm
egg-herbie
Rules
485×div-sub_binary64
444×times-frac_binary64
388×unsub-neg_binary64
247×neg-sub0_binary64
239×neg-mul-1_binary64
237×*-commutative_binary64
200×cancel-sign-sub-inv_binary64
196×sub-neg_binary64
189×distribute-rgt-neg-in_binary64
167×associate-/r*_binary64
166×associate-/l*_binary64
164×distribute-lft-neg-in_binary64
123×cube-prod_binary64
95×distribute-lft-neg-out_binary64
94×associate-*r*_binary64
90×distribute-rgt-in_binary64
87×distribute-rgt-neg-out_binary64
83×associate-*l*_binary64
78×distribute-lft-in_binary64
76×difference-of-squares_binary64
72×sqr-pow_binary64
55×+-commutative_binary64
54×unswap-sqr_binary64
52×remove-double-neg_binary64
50×distribute-rgt-out_binary64
43×associate-*l/_binary64
40×associate-+r-_binary64
37×distribute-neg-out_binary64 associate-+l-_binary64
36×associate-+l+_binary64
35×unpow3_binary64
34×associate-*r/_binary64
31×associate-+r+_binary64
29×cube-mult_binary64
28×exp-prod_binary64
26×associate-/r/_binary64
22×/-rgt-identity_binary64
20×distribute-neg-frac_binary64
19×cube-neg_binary64 mul0-lft_binary64
18×sub0-neg_binary64 associate--r-_binary64
17×+-rgt-identity_binary64 mul0-rgt_binary64 swap-sqr_binary64
16×distribute-frac-neg_binary64
15×associate--l+_binary64
14×distribute-rgt-out--_binary64
13×pow-plus_binary64 exp-diff_binary64 exp-sum_binary64 associate--l-_binary64
12×sqr-neg_binary64
11×distribute-lft-out_binary64
10×pow-sqr_binary64
--rgt-identity_binary64
cube-unmult_binary64 rem-sqrt-square_binary64 div0_binary64 distribute-neg-in_binary64
log-prod_binary64 associate--r+_binary64
unpow2_binary64 associate-/l/_binary64
unpow1/2_binary64 cube-div_binary64 mul-1-neg_binary64 +-inverses_binary64
unpow1_binary64 rem-square-sqrt_binary64 distribute-lft-out--_binary64
*-lft-identity_binary64 cancel-sign-sub_binary64
div-exp_binary64 rec-exp_binary64 prod-exp_binary64 1-exp_binary64 exp-1-e_binary64 distribute-rgt1-in_binary64 count-2_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 log-pow_binary64 log-rec_binary64 log-div_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 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 *-rgt-identity_binary64 +-lft-identity_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-lft1-in_binary64
Counts
110 → 62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281860
13071764
210031749
336271749
444551749
550311749

prune143.0ms (1.8%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New61162
Fresh279
Picked101
Done000
Total64872
Error
10.2b
Counts
72 → 8
Compiler

Compiled 2836 to 1598 computations (43.7% saved)

localize33.0ms (0.4%)

Local error

Found 4 expressions with local error:

6.4b
(-.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
20.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
21.3b
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
21.3b
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 765 to 1275 computations (-66.7% saved)

rewrite180.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
10.2b
Rules
add-log-exp_binary64 add-sqr-sqrt_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64
cbrt-prod_binary64
pow1_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 flip3--_binary64 cbrt-div_binary64 flip--_binary64
sqrt-prod_binary64
pow1/3_binary64 sqrt-div_binary64 diff-log_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 neg-log_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64 neg-sub0_binary64 associate--l-_binary64
Counts
4 → 55
Calls

4 calls:

4.0ms
(-.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
4.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 3541 to 1891 computations (46.6% saved)

series403.0ms (5.1%)

Error
9.7b
Counts
4 → 58
Calls

4 calls:

114.0ms
(-.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
83.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
77.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
40.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 8081 to 5734 computations (29% saved)

simplify150.0ms (1.9%)

Algorithm
egg-herbie
Rules
457×times-frac_binary64
273×distribute-rgt-neg-in_binary64
253×distribute-lft-neg-in_binary64
248×cancel-sign-sub-inv_binary64
176×associate-*r*_binary64
162×distribute-rgt-neg-out_binary64
161×distribute-rgt-in_binary64
145×log-prod_binary64
144×associate-*l*_binary64
137×distribute-lft-neg-out_binary64
135×exp-sum_binary64
107×*-commutative_binary64
101×neg-sub0_binary64
97×sub-neg_binary64
96×sqr-pow_binary64
93×unswap-sqr_binary64
88×exp-prod_binary64
87×neg-mul-1_binary64
60×unsub-neg_binary64
50×distribute-frac-neg_binary64
46×distribute-rgt-out_binary64
44×cube-prod_binary64 associate-/l*_binary64
39×+-commutative_binary64
35×exp-diff_binary64
33×distribute-neg-out_binary64
32×distribute-neg-frac_binary64
27×associate-/r*_binary64
25×associate-*r/_binary64
24×log-pow_binary64
19×unpow3_binary64 associate-*l/_binary64
18×exp-neg_binary64 difference-of-squares_binary64 distribute-lft-in_binary64
17×div-sub_binary64 swap-sqr_binary64
15×distribute-neg-in_binary64 distribute-lft-out_binary64
14×associate-+r-_binary64
13×cube-mult_binary64 mul-1-neg_binary64
12×log-div_binary64 exp-to-pow_binary64 pow-sqr_binary64
11×unpow1/3_binary64 rem-exp-log_binary64 associate-+r+_binary64
10×cube-unmult_binary64 +-rgt-identity_binary64
rem-sqrt-square_binary64 remove-double-neg_binary64 associate--r+_binary64
pow-plus_binary64 cancel-sign-sub_binary64 associate-+l+_binary64
prod-exp_binary64 cube-neg_binary64 associate-/r/_binary64
sqr-neg_binary64 associate--r-_binary64 associate-+l-_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 sub0-neg_binary64
log-rec_binary64 rec-exp_binary64 rem-square-sqrt_binary64 distribute-rgt-out--_binary64 associate--l+_binary64
div-exp_binary64 1-exp_binary64 rem-3cbrt-lft_binary64 sqr-abs_binary64 associate-/l/_binary64 associate--l-_binary64
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64 erf-erfc_binary64 erf-odd_binary64 if-if-and-not_binary64 if-if-and_binary64 if-if-or-not_binary64 if-if-or_binary64 if-not_binary64 if-same_binary64 if-false_binary64 if-true_binary64 not-gte_binary64 not-lte_binary64 not-gt_binary64 not-lt_binary64 gte-same_binary64 lte-same_binary64 gt-same_binary64 lt-same_binary64 sinh---cosh_binary64 sinh-+-cosh_binary64 sinh-cosh_binary64 tanh-def-c_binary64 tanh-def-b_binary64 tanh-def-a_binary64 cosh-def_binary64 sinh-def_binary64 tan-neg_binary64 cos-neg_binary64 sin-neg_binary64 tan-0_binary64 cos-0_binary64 sin-0_binary64 hang-m-tan_binary64 hang-p-tan_binary64 hang-m0-tan_binary64 hang-p0-tan_binary64 hang-0m-tan_binary64 hang-0p-tan_binary64 tan-+PI/2_binary64 tan-+PI_binary64 tan-PI_binary64 tan-PI/3_binary64 tan-PI/4_binary64 tan-PI/6_binary64 cos-+PI/2_binary64 cos-+PI_binary64 cos-PI_binary64 cos-PI/2_binary64 cos-PI/3_binary64 cos-PI/4_binary64 cos-PI/6_binary64 sin-+PI/2_binary64 sin-+PI_binary64 sin-PI_binary64 sin-PI/2_binary64 sin-PI/3_binary64 sin-PI/4_binary64 sin-PI/6_binary64 sub-1-sin_binary64 sub-1-cos_binary64 -1-add-sin_binary64 -1-add-cos_binary64 1-sub-sin_binary64 1-sub-cos_binary64 cos-sin-sum_binary64 log-E_binary64 pow-base-0_binary64 pow-base-1_binary64 unpow0_binary64 unpow-1_binary64 exp-lft-cube_binary64 exp-lft-sqr_binary64 exp-cbrt_binary64 exp-sqrt_binary64 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 --rgt-identity_binary64 +-lft-identity_binary64 mul0-rgt_binary64 mul0-lft_binary64 div0_binary64 *-inverses_binary64 +-inverses_binary64 lft-mult-inverse_binary64 rgt-mult-inverse_binary64 remove-double-div_binary64 difference-of-sqr--1_binary64 difference-of-sqr-1_binary64 distribute-rgt1-in_binary64 distribute-lft1-in_binary64 distribute-lft-out--_binary64 count-2_binary64
Counts
113 → 95
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02253257
15943021
218933006
346332898
449022898
549582898

prune178.0ms (2.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New93295
Fresh257
Picked011
Done000
Total958103
Error
9.7b
Counts
103 → 8
Compiler

Compiled 4224 to 2356 computations (44.2% saved)

localize46.0ms (0.6%)

Local error

Found 4 expressions with local error:

21.3b
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
21.3b
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
21.3b
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
21.3b
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 765 to 1275 computations (-66.7% saved)

rewrite196.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
9.7b
Rules
12×cbrt-prod_binary64
add-cube-cbrt_binary64 cbrt-div_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64
pow1/3_binary64 pow1_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
flip3-+_binary64 flip-+_binary64
flip3--_binary64 flip--_binary64
Counts
4 → 52
Calls

4 calls:

6.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
5.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
5.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
4.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 4616 to 2431 computations (47.3% saved)

series472.0ms (6%)

Error
9.7b
Counts
4 → 63
Calls

4 calls:

94.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
92.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
91.0ms
(cbrt.f64 (+.f64 (*.f64 -4 (*.f64 a c)) (*.f64 b b)))
85.0ms
(cbrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
Compiler

Compiled 12312 to 8071 computations (34.4% saved)

simplify161.0ms (2%)

Algorithm
egg-herbie
Rules
572×distribute-rgt-neg-in_binary64
513×prod-exp_binary64
284×*-commutative_binary64
247×unswap-sqr_binary64
189×cancel-sign-sub-inv_binary64
175×distribute-neg-frac_binary64
171×sub-neg_binary64
168×exp-sum_binary64
167×distribute-lft-neg-in_binary64
162×neg-sub0_binary64
159×neg-mul-1_binary64
145×unsub-neg_binary64
114×log-prod_binary64
112×times-frac_binary64
99×associate-/r*_binary64
94×associate-/l*_binary64
91×associate-*r*_binary64
89×distribute-rgt-neg-out_binary64
87×sqr-pow_binary64
86×cube-prod_binary64
81×associate-*l*_binary64
80×distribute-lft-neg-out_binary64
77×exp-prod_binary64
68×associate-*r/_binary64
66×exp-diff_binary64
58×div-sub_binary64 distribute-rgt-in_binary64
52×associate-*l/_binary64
50×distribute-lft-in_binary64
38×associate-+r-_binary64
37×exp-to-pow_binary64
36×log-div_binary64 swap-sqr_binary64 +-commutative_binary64
31×distribute-neg-in_binary64 associate-/r/_binary64
28×unpow1/3_binary64
24×unpow3_binary64 associate-+l-_binary64
23×log-pow_binary64 distribute-rgt-out_binary64
21×sub0-neg_binary64
20×div-exp_binary64 +-rgt-identity_binary64 difference-of-squares_binary64 associate--l+_binary64 associate-+r+_binary64
19×distribute-neg-out_binary64
18×associate--r-_binary64
15×cube-mult_binary64 associate-+l+_binary64
14×remove-double-neg_binary64
13×cancel-sign-sub_binary64 associate-/l/_binary64
11×rem-exp-log_binary64 pow-sqr_binary64
10×distribute-rgt-out--_binary64
pow-plus_binary64 exp-neg_binary64
mul0-rgt_binary64 mul0-lft_binary64 distribute-lft-out_binary64
log-rec_binary64 cube-neg_binary64 associate--r+_binary64
sqr-neg_binary64 --rgt-identity_binary64
rem-sqrt-square_binary64 associate--l-_binary64
unpow2_binary64 unpow1/2_binary64 unpow1_binary64 cube-unmult_binary64
rem-3cbrt-lft_binary64 distribute-frac-neg_binary64 distribute-lft-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 pow-base-0_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 e-exp-1_binary64 exp-1-e_binary64 exp-0_binary64 rem-log-exp_binary64 cube-div_binary64 rem-3cbrt-rft_binary64 rem-cbrt-cube_binary64 rem-cube-cbrt_binary64 sqr-abs_binary64 rem-square-sqrt_binary64 mul-1-neg_binary64 /-rgt-identity_binary64 *-rgt-identity_binary64 *-lft-identity_binary64 +-lft-identity_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-rgt1-in_binary64 distribute-lft1-in_binary64 count-2_binary64
Counts
115 → 82
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01212517
13282473
29712457
328162361
447662361
544662361
650502361

prune104.0ms (1.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New82082
Fresh066
Picked011
Done011
Total82890
Error
9.7b
Counts
90 → 8
Compiler

Compiled 3049 to 1635 computations (46.4% saved)

regimes1.6s (20.3%)

Accuracy

Total -4.6b remaining (-66.8%)

Threshold costs -4.6b (-66.8%)

Compiler

Compiled 24063 to 16028 computations (33.4% saved)

bsearch64.0ms (0.8%)

Steps
ItersRangePoint
9
3.9568327501444714e+63
1.421877822894735e+69
2.778748242798635e+68
7
-1.2750732572857475e+158
-2.2165783423480447e+149
-2.681333306749349e+149
Compiler

Compiled 1 to 3 computations (-200% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
044198
170194
2102194
3129194
4144194
5149194
6148194

end3.0ms (0%)

Compiler

Compiled 127 to 77 computations (39.4% saved)

sample1.4s (18.2%)

Algorithm
intervals
Results
694.0ms8000×body128valid
49.0ms628×body128nan
30.0ms375×body128invalid
Compiler

Compiled 531 to 360 computations (32.2% saved)

Profiling

Loading profile data...