Details

Time bar (total: 7.0s)

analyze40.0ms (0.6%)

Algorithm
search
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
50%50%0.1%6
68.7%31.2%0.1%7
81.2%18.7%0.1%8
89%10.9%0.1%9
92.1%7.8%0.1%10
95.6%4.3%0.1%11
96.4%3.5%0.1%12
98%1.9%0.1%13
98.2%1.7%0.1%14
Compiler

Compiled 10 to 8 computations (20% saved)

sample16.0ms (0.2%)

Algorithm
intervals
Results
7.0ms256×body128valid
Compiler

Compiled 19 to 17 computations (10.5% saved)

simplify623.0ms (8.9%)

Algorithm
egg-herbie
Rules
776×exp-prod_binary64_9678
559×div-sub_binary64_9631
363×associate-/r/_binary64_9572
290×associate-*r*_binary64_9566
289×associate-*l/_binary64_9569
248×associate-/r*_binary64_9570
238×associate-*l*_binary64_9567
236×distribute-rgt-out_binary64_9579
198×distribute-rgt-out--_binary64_9580
148×cancel-sign-sub-inv_binary64_9592
119×distribute-rgt-in_binary64_9576
90×distribute-lft-in_binary64_9575
71×*-commutative_binary64_9557
59×sub-neg_binary64_9619
40×associate-/l*_binary64_9571
39×distribute-lft-neg-out_binary64_9585 associate-/l/_binary64_9573
37×distribute-neg-frac_binary64_9590
33×times-frac_binary64_9632 distribute-frac-neg_binary64_9589
28×+-commutative_binary64_9556
26×neg-mul-1_binary64_9622
25×neg-sub0_binary64_9621 unsub-neg_binary64_9620
20×distribute-rgt-neg-out_binary64_9586
18×associate-+r-_binary64_9560
17×distribute-lft-neg-in_binary64_9583
14×distribute-rgt1-in_binary64_9582 distribute-lft-out--_binary64_9578
13×distribute-lft-out_binary64_9577
11×exp-sum_binary64_9672 associate-+r+_binary64_9558
10×distribute-neg-in_binary64_9587 distribute-rgt-neg-in_binary64_9584 associate--r+_binary64_9562 associate-+l+_binary64_9559
pow-plus_binary64_9689
exp-lft-sqr_binary64_9681 cube-div_binary64_9655 mul0-lft_binary64_9608 swap-sqr_binary64_9593
exp-diff_binary64_9674 *-lft-identity_binary64_9615 +-rgt-identity_binary64_9611 div0_binary64_9607 associate--r-_binary64_9565 associate-+l-_binary64_9561
sqr-neg_binary64_9640 *-rgt-identity_binary64_9616 +-lft-identity_binary64_9610 mul0-rgt_binary64_9609
cube-prod_binary64_9654 /-rgt-identity_binary64_9617 associate-*r/_binary64_9568
cube-unmult_binary64_9663 sub0-neg_binary64_9613 *-inverses_binary64_9606 cancel-sign-sub_binary64_9591
exp-sqrt_binary64_9679 rem-sqrt-square_binary64_9639 remove-double-neg_binary64_9614 --rgt-identity_binary64_9612 distribute-lft1-in_binary64_9581 count-2_binary64_9574
div-exp_binary64_9677 1-exp_binary64_9670 exp-1-e_binary64_9669 associate--l-_binary64_9564 associate--l+_binary64_9563
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_9889 erf-erfc_binary64_9888 erf-odd_binary64_9887 if-if-and-not_binary64_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 not-gte_binary64_9878 not-lte_binary64_9877 not-gt_binary64_9876 not-lt_binary64_9875 gte-same_binary64_9874 lte-same_binary64_9873 gt-same_binary64_9872 lt-same_binary64_9871 sinh---cosh_binary64_9818 sinh-+-cosh_binary64_9817 sinh-cosh_binary64_9816 tanh-def-c_binary64_9815 tanh-def-b_binary64_9814 tanh-def-a_binary64_9813 cosh-def_binary64_9812 sinh-def_binary64_9811 tan-neg_binary64_9758 cos-neg_binary64_9757 sin-neg_binary64_9756 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 hang-m-tan_binary64_9752 hang-p-tan_binary64_9751 hang-m0-tan_binary64_9750 hang-p0-tan_binary64_9749 hang-0m-tan_binary64_9748 hang-0p-tan_binary64_9747 tan-+PI/2_binary64_9746 tan-+PI_binary64_9745 tan-PI_binary64_9744 tan-PI/3_binary64_9743 tan-PI/4_binary64_9742 tan-PI/6_binary64_9741 cos-+PI/2_binary64_9740 cos-+PI_binary64_9739 cos-PI_binary64_9738 cos-PI/2_binary64_9737 cos-PI/3_binary64_9736 cos-PI/4_binary64_9735 cos-PI/6_binary64_9734 sin-+PI/2_binary64_9733 sin-+PI_binary64_9732 sin-PI_binary64_9731 sin-PI/2_binary64_9730 sin-PI/3_binary64_9729 sin-PI/4_binary64_9728 sin-PI/6_binary64_9727 sub-1-sin_binary64_9726 sub-1-cos_binary64_9725 -1-add-sin_binary64_9724 -1-add-cos_binary64_9723 1-sub-sin_binary64_9722 1-sub-cos_binary64_9721 cos-sin-sum_binary64_9720 log-E_binary64_9716 log-pow_binary64_9715 log-rec_binary64_9714 log-div_binary64_9713 log-prod_binary64_9712 pow-base-0_binary64_9710 unpow1/3_binary64_9693 unpow3_binary64_9692 unpow2_binary64_9691 unpow1/2_binary64_9690 exp-to-pow_binary64_9688 pow-base-1_binary64_9686 unpow0_binary64_9685 unpow1_binary64_9684 unpow-1_binary64_9683 exp-lft-cube_binary64_9682 exp-cbrt_binary64_9680 rec-exp_binary64_9676 prod-exp_binary64_9675 exp-neg_binary64_9673 e-exp-1_binary64_9671 exp-0_binary64_9668 rem-log-exp_binary64_9667 rem-exp-log_binary64_9666 cube-mult_binary64_9656 cube-neg_binary64_9653 rem-3cbrt-rft_binary64_9652 rem-3cbrt-lft_binary64_9651 rem-cbrt-cube_binary64_9650 rem-cube-cbrt_binary64_9649 sqr-abs_binary64_9641 rem-square-sqrt_binary64_9638 mul-1-neg_binary64_9618 +-inverses_binary64_9605 lft-mult-inverse_binary64_9604 rgt-mult-inverse_binary64_9603 remove-double-div_binary64_9602 pow-sqr_binary64_9599 sqr-pow_binary64_9598 difference-of-sqr--1_binary64_9597 difference-of-sqr-1_binary64_9596 difference-of-squares_binary64_9595 unswap-sqr_binary64_9594 distribute-neg-out_binary64_9588
Counts
1 → 6
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11613
24013
37913
415313
526213
661313
7363613

prune10.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New336
Fresh101
Picked000
Done000
Total437
Error
0.0b
Counts
7 → 3
Compiler

Compiled 81 to 51 computations (37% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (*.f64 2 y) (-.f64 x y))
5.4b
(*.f64 x (/.f64 (*.f64 2 y) (-.f64 x y)))

rewrite72.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
16×add-exp-log_binary64_9664 add-cbrt-cube_binary64_9662
15×add-sqr-sqrt_binary64_9648
13×*-un-lft-identity_binary64_9626
11×associate-*r*_binary64_9566
10×times-frac_binary64_9632
add-cube-cbrt_binary64_9661
prod-exp_binary64_9675 cbrt-unprod_binary64_9659 associate-/r*_binary64_9570
pow1_binary64_9687 div-exp_binary64_9677 cbrt-undiv_binary64_9660 associate-/r/_binary64_9572
associate-*l*_binary64_9567 difference-of-squares_binary64_9595 distribute-lft-out--_binary64_9578
add-log-exp_binary64_9665 div-inv_binary64_9623 flip3--_binary64_9630 flip--_binary64_9601
pow-prod-down_binary64_9697 unswap-sqr_binary64_9594 associate-*r/_binary64_9568 *-commutative_binary64_9557 frac-2neg_binary64_9637 clear-num_binary64_9625 associate-/l*_binary64_9571
Counts
2 → 58
Calls

2 calls:

10.0ms
(*.f64 x (/.f64 (*.f64 2 y) (-.f64 x y)))
6.0ms
(/.f64 (*.f64 2 y) (-.f64 x y))
Compiler

Compiled 959 to 443 computations (53.8% saved)

series334.0ms (4.8%)

Error
0.0b
Counts
2 → 48
Calls

2 calls:

146.0ms
(*.f64 x (/.f64 (*.f64 2 y) (-.f64 x y)))
135.0ms
(/.f64 (*.f64 2 y) (-.f64 x y))
Compiler

Compiled 1716 to 1363 computations (20.6% saved)

simplify377.0ms (5.4%)

Algorithm
egg-herbie
Rules
410×associate-/r*_binary64_9570
329×associate-/r/_binary64_9572
320×associate-/l/_binary64_9573
302×*-commutative_binary64_9557
243×div-sub_binary64_9631
137×associate-+l+_binary64_9559
127×times-frac_binary64_9632
116×associate-/l*_binary64_9571
105×associate-*l*_binary64_9567
101×+-commutative_binary64_9556
99×associate-+r+_binary64_9558
92×associate-*r*_binary64_9566
91×neg-mul-1_binary64_9622
89×neg-sub0_binary64_9621
86×distribute-rgt-in_binary64_9576
83×distribute-lft-out_binary64_9577
78×associate-*l/_binary64_9569
72×log-prod_binary64_9712
70×associate-*r/_binary64_9568
68×cube-prod_binary64_9654 distribute-neg-in_binary64_9587
58×log-div_binary64_9713 cube-div_binary64_9655
56×distribute-rgt-out_binary64_9579 associate--r+_binary64_9562
53×distribute-rgt-neg-in_binary64_9584 distribute-lft-neg-in_binary64_9583
45×distribute-lft-in_binary64_9575
43×sub-neg_binary64_9619
41×distribute-neg-frac_binary64_9590
40×cancel-sign-sub-inv_binary64_9592
35×sqr-pow_binary64_9598
34×associate-+l-_binary64_9561
30×associate-+r-_binary64_9560
28×*-rgt-identity_binary64_9616
22×exp-prod_binary64_9678
17×unsub-neg_binary64_9620 unswap-sqr_binary64_9594
15×*-lft-identity_binary64_9615
14×associate--l+_binary64_9563
13×unpow3_binary64_9692 pow-sqr_binary64_9599
12×cube-mult_binary64_9656
11×pow-plus_binary64_9689
distribute-rgt1-in_binary64_9582 associate--l-_binary64_9564
cube-unmult_binary64_9663 difference-of-squares_binary64_9595 swap-sqr_binary64_9593 distribute-rgt-out--_binary64_9580
log-pow_binary64_9715 distribute-lft-neg-out_binary64_9585 distribute-lft-out--_binary64_9578
/-rgt-identity_binary64_9617
log-rec_binary64_9714 exp-lft-sqr_binary64_9681 distribute-rgt-neg-out_binary64_9586
unpow2_binary64_9691 unpow1_binary64_9684 exp-diff_binary64_9674 rem-sqrt-square_binary64_9639 *-inverses_binary64_9606 associate--r-_binary64_9565
pow-base-1_binary64_9686 exp-sqrt_binary64_9679 prod-exp_binary64_9675 1-exp_binary64_9670 exp-1-e_binary64_9669 rem-log-exp_binary64_9667 cube-neg_binary64_9653 sqr-neg_binary64_9640 remove-double-neg_binary64_9614
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_9889 erf-erfc_binary64_9888 erf-odd_binary64_9887 if-if-and-not_binary64_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 not-gte_binary64_9878 not-lte_binary64_9877 not-gt_binary64_9876 not-lt_binary64_9875 gte-same_binary64_9874 lte-same_binary64_9873 gt-same_binary64_9872 lt-same_binary64_9871 sinh---cosh_binary64_9818 sinh-+-cosh_binary64_9817 sinh-cosh_binary64_9816 tanh-def-c_binary64_9815 tanh-def-b_binary64_9814 tanh-def-a_binary64_9813 cosh-def_binary64_9812 sinh-def_binary64_9811 tan-neg_binary64_9758 cos-neg_binary64_9757 sin-neg_binary64_9756 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 hang-m-tan_binary64_9752 hang-p-tan_binary64_9751 hang-m0-tan_binary64_9750 hang-p0-tan_binary64_9749 hang-0m-tan_binary64_9748 hang-0p-tan_binary64_9747 tan-+PI/2_binary64_9746 tan-+PI_binary64_9745 tan-PI_binary64_9744 tan-PI/3_binary64_9743 tan-PI/4_binary64_9742 tan-PI/6_binary64_9741 cos-+PI/2_binary64_9740 cos-+PI_binary64_9739 cos-PI_binary64_9738 cos-PI/2_binary64_9737 cos-PI/3_binary64_9736 cos-PI/4_binary64_9735 cos-PI/6_binary64_9734 sin-+PI/2_binary64_9733 sin-+PI_binary64_9732 sin-PI_binary64_9731 sin-PI/2_binary64_9730 sin-PI/3_binary64_9729 sin-PI/4_binary64_9728 sin-PI/6_binary64_9727 sub-1-sin_binary64_9726 sub-1-cos_binary64_9725 -1-add-sin_binary64_9724 -1-add-cos_binary64_9723 1-sub-sin_binary64_9722 1-sub-cos_binary64_9721 cos-sin-sum_binary64_9720 log-E_binary64_9716 pow-base-0_binary64_9710 unpow1/3_binary64_9693 unpow1/2_binary64_9690 exp-to-pow_binary64_9688 unpow0_binary64_9685 unpow-1_binary64_9683 exp-lft-cube_binary64_9682 exp-cbrt_binary64_9680 div-exp_binary64_9677 rec-exp_binary64_9676 exp-neg_binary64_9673 exp-sum_binary64_9672 e-exp-1_binary64_9671 exp-0_binary64_9668 rem-exp-log_binary64_9666 rem-3cbrt-rft_binary64_9652 rem-3cbrt-lft_binary64_9651 rem-cbrt-cube_binary64_9650 rem-cube-cbrt_binary64_9649 sqr-abs_binary64_9641 rem-square-sqrt_binary64_9638 mul-1-neg_binary64_9618 sub0-neg_binary64_9613 --rgt-identity_binary64_9612 +-rgt-identity_binary64_9611 +-lft-identity_binary64_9610 mul0-rgt_binary64_9609 mul0-lft_binary64_9608 div0_binary64_9607 +-inverses_binary64_9605 lft-mult-inverse_binary64_9604 rgt-mult-inverse_binary64_9603 remove-double-div_binary64_9602 difference-of-sqr--1_binary64_9597 difference-of-sqr-1_binary64_9596 cancel-sign-sub_binary64_9591 distribute-frac-neg_binary64_9589 distribute-neg-out_binary64_9588 distribute-lft1-in_binary64_9581 count-2_binary64_9574
Counts
106 → 219
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01582091
14291848
217641723
341881723

prune219.0ms (3.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2172219
Fresh112
Picked101
Done000
Total2193222
Error
0b
Counts
222 → 3
Compiler

Compiled 3965 to 2042 computations (48.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 (/.f64 x y) 1)
5.7b
(/.f64 (*.f64 x 2) (-.f64 (/.f64 x y) 1))

rewrite80.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
38×add-sqr-sqrt_binary64_9648
19×times-frac_binary64_9632
17×*-un-lft-identity_binary64_9626
12×difference-of-squares_binary64_9595
10×associate-/r*_binary64_9570
add-exp-log_binary64_9664 add-cbrt-cube_binary64_9662
difference-of-sqr-1_binary64_9596
add-cube-cbrt_binary64_9661
add-log-exp_binary64_9665
distribute-lft-out--_binary64_9578 cancel-sign-sub-inv_binary64_9592
pow1_binary64_9687 div-exp_binary64_9677 cbrt-undiv_binary64_9660 flip3--_binary64_9630 associate-/r/_binary64_9572 flip--_binary64_9601
prod-exp_binary64_9675 cbrt-unprod_binary64_9659 frac-2neg_binary64_9637 clear-num_binary64_9625 div-inv_binary64_9623 associate-/l*_binary64_9571 diff-log_binary64_9718 sub-neg_binary64_9619
Counts
2 → 58
Calls

2 calls:

10.0ms
(/.f64 (*.f64 x 2) (-.f64 (/.f64 x y) 1))
10.0ms
(-.f64 (/.f64 x y) 1)
Compiler

Compiled 1119 to 684 computations (38.9% saved)

series274.0ms (3.9%)

Error
0b
Counts
2 → 36
Calls

2 calls:

142.0ms
(/.f64 (*.f64 x 2) (-.f64 (/.f64 x y) 1))
94.0ms
(-.f64 (/.f64 x y) 1)
Compiler

Compiled 1200 to 1008 computations (16% saved)

simplify352.0ms (5%)

Algorithm
egg-herbie
Rules
659×associate-/l*_binary64_9571
455×div-sub_binary64_9631
301×associate-/r*_binary64_9570
299×associate-*l*_binary64_9567
242×associate-*r*_binary64_9566
240×associate-/l/_binary64_9573
227×associate-*l/_binary64_9569
183×associate-/r/_binary64_9572
177×associate-*r/_binary64_9568
135×*-commutative_binary64_9557
84×times-frac_binary64_9632
74×associate-+l+_binary64_9559 +-commutative_binary64_9556
69×distribute-rgt-in_binary64_9576
61×cube-div_binary64_9655
53×log-div_binary64_9713 log-prod_binary64_9712
51×distribute-lft-out_binary64_9577
49×cube-prod_binary64_9654 associate-+r+_binary64_9558
45×exp-prod_binary64_9678
43×distribute-lft-in_binary64_9575
42×sub-neg_binary64_9619 distribute-rgt-neg-in_binary64_9584
41×sqr-pow_binary64_9598
38×distribute-lft-neg-in_binary64_9583
37×distribute-neg-in_binary64_9587
33×distribute-rgt-out_binary64_9579
31×associate--r+_binary64_9562
27×*-rgt-identity_binary64_9616
26×pow-plus_binary64_9689 neg-mul-1_binary64_9622 neg-sub0_binary64_9621
25×distribute-neg-frac_binary64_9590
23×cancel-sign-sub-inv_binary64_9592
22×associate-+l-_binary64_9561 associate-+r-_binary64_9560
20×pow-sqr_binary64_9599
19×exp-sum_binary64_9672
18×unswap-sqr_binary64_9594
16×log-pow_binary64_9715
14×cube-unmult_binary64_9663 distribute-lft-neg-out_binary64_9585
13×unsub-neg_binary64_9620 distribute-rgt-neg-out_binary64_9586
10×log-rec_binary64_9714 unpow3_binary64_9692 swap-sqr_binary64_9593
cube-mult_binary64_9656
distribute-rgt-out--_binary64_9580
exp-sqrt_binary64_9679 exp-diff_binary64_9674 rem-sqrt-square_binary64_9639 associate--l+_binary64_9563
pow-base-1_binary64_9686 +-rgt-identity_binary64_9611
prod-exp_binary64_9675 /-rgt-identity_binary64_9617 difference-of-squares_binary64_9595 distribute-rgt1-in_binary64_9582
distribute-lft-out--_binary64_9578 associate--l-_binary64_9564
exp-lft-sqr_binary64_9681
unpow2_binary64_9691 unpow1_binary64_9684 div-exp_binary64_9677 exp-neg_binary64_9673 mul-1-neg_binary64_9618 difference-of-sqr-1_binary64_9596 associate--r-_binary64_9565
rec-exp_binary64_9676 1-exp_binary64_9670 exp-1-e_binary64_9669 rem-log-exp_binary64_9667 rem-3cbrt-lft_binary64_9651 rem-cbrt-cube_binary64_9650 sqr-neg_binary64_9640 rem-square-sqrt_binary64_9638 *-lft-identity_binary64_9615 *-inverses_binary64_9606 difference-of-sqr--1_binary64_9597 distribute-lft1-in_binary64_9581 count-2_binary64_9574
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_9889 erf-erfc_binary64_9888 erf-odd_binary64_9887 if-if-and-not_binary64_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 not-gte_binary64_9878 not-lte_binary64_9877 not-gt_binary64_9876 not-lt_binary64_9875 gte-same_binary64_9874 lte-same_binary64_9873 gt-same_binary64_9872 lt-same_binary64_9871 sinh---cosh_binary64_9818 sinh-+-cosh_binary64_9817 sinh-cosh_binary64_9816 tanh-def-c_binary64_9815 tanh-def-b_binary64_9814 tanh-def-a_binary64_9813 cosh-def_binary64_9812 sinh-def_binary64_9811 tan-neg_binary64_9758 cos-neg_binary64_9757 sin-neg_binary64_9756 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 hang-m-tan_binary64_9752 hang-p-tan_binary64_9751 hang-m0-tan_binary64_9750 hang-p0-tan_binary64_9749 hang-0m-tan_binary64_9748 hang-0p-tan_binary64_9747 tan-+PI/2_binary64_9746 tan-+PI_binary64_9745 tan-PI_binary64_9744 tan-PI/3_binary64_9743 tan-PI/4_binary64_9742 tan-PI/6_binary64_9741 cos-+PI/2_binary64_9740 cos-+PI_binary64_9739 cos-PI_binary64_9738 cos-PI/2_binary64_9737 cos-PI/3_binary64_9736 cos-PI/4_binary64_9735 cos-PI/6_binary64_9734 sin-+PI/2_binary64_9733 sin-+PI_binary64_9732 sin-PI_binary64_9731 sin-PI/2_binary64_9730 sin-PI/3_binary64_9729 sin-PI/4_binary64_9728 sin-PI/6_binary64_9727 sub-1-sin_binary64_9726 sub-1-cos_binary64_9725 -1-add-sin_binary64_9724 -1-add-cos_binary64_9723 1-sub-sin_binary64_9722 1-sub-cos_binary64_9721 cos-sin-sum_binary64_9720 log-E_binary64_9716 pow-base-0_binary64_9710 unpow1/3_binary64_9693 unpow1/2_binary64_9690 exp-to-pow_binary64_9688 unpow0_binary64_9685 unpow-1_binary64_9683 exp-lft-cube_binary64_9682 exp-cbrt_binary64_9680 e-exp-1_binary64_9671 exp-0_binary64_9668 rem-exp-log_binary64_9666 cube-neg_binary64_9653 rem-3cbrt-rft_binary64_9652 rem-cube-cbrt_binary64_9649 sqr-abs_binary64_9641 remove-double-neg_binary64_9614 sub0-neg_binary64_9613 --rgt-identity_binary64_9612 +-lft-identity_binary64_9610 mul0-rgt_binary64_9609 mul0-lft_binary64_9608 div0_binary64_9607 +-inverses_binary64_9605 lft-mult-inverse_binary64_9604 rgt-mult-inverse_binary64_9603 remove-double-div_binary64_9602 cancel-sign-sub_binary64_9591 distribute-frac-neg_binary64_9589 distribute-neg-out_binary64_9588
Counts
94 → 214
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01391633
13471501
211711460
344511460

prune246.0ms (3.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2140214
Fresh022
Picked011
Done000
Total2143217
Error
0b
Counts
217 → 3
Compiler

Compiled 4312 to 2462 computations (42.9% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

9.6b
(/.f64 y (/.f64 (-.f64 1 (/.f64 y x)) 2))

rewrite202.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
204×times-frac_binary64_9632
174×add-sqr-sqrt_binary64_9648
126×*-un-lft-identity_binary64_9626
78×add-cube-cbrt_binary64_9661
48×difference-of-squares_binary64_9595
28×associate-/r*_binary64_9570
12×distribute-lft-out--_binary64_9578
add-exp-log_binary64_9664 add-cbrt-cube_binary64_9662
div-inv_binary64_9623
div-exp_binary64_9677 cbrt-undiv_binary64_9660 associate-/l*_binary64_9571
pow1_binary64_9687 add-log-exp_binary64_9665 frac-2neg_binary64_9637 clear-num_binary64_9625 associate-/r/_binary64_9572
Counts
1 → 130
Calls

1 calls:

13.0ms
(/.f64 y (/.f64 (-.f64 1 (/.f64 y x)) 2))
Compiler

Compiled 3018 to 1775 computations (41.2% saved)

series169.0ms (2.4%)

Error
0b
Counts
1 → 24
Calls

1 calls:

144.0ms
(/.f64 y (/.f64 (-.f64 1 (/.f64 y x)) 2))
Compiler

Compiled 810 to 668 computations (17.5% saved)

simplify562.0ms (8%)

Algorithm
egg-herbie
Rules
512×*-commutative_binary64_9557
304×associate-*r*_binary64_9566
270×cancel-sign-sub-inv_binary64_9592
262×associate-/r/_binary64_9572
250×associate-/l/_binary64_9573
238×div-sub_binary64_9631
215×associate-/l*_binary64_9571
161×sub-neg_binary64_9619 associate-*l/_binary64_9569
150×distribute-lft-out_binary64_9577
127×distribute-rgt-neg-in_binary64_9584
122×distribute-lft-neg-in_binary64_9583
109×associate-*r/_binary64_9568
86×/-rgt-identity_binary64_9617
85×neg-mul-1_binary64_9622
83×neg-sub0_binary64_9621 *-rgt-identity_binary64_9616
82×times-frac_binary64_9632
79×distribute-neg-frac_binary64_9590
72×distribute-rgt-out_binary64_9579 +-commutative_binary64_9556
70×distribute-neg-in_binary64_9587
68×distribute-rgt-in_binary64_9576
67×associate-/r*_binary64_9570
65×unswap-sqr_binary64_9594 associate-+l+_binary64_9559
59×sqr-pow_binary64_9598
53×unsub-neg_binary64_9620
48×distribute-rgt-out--_binary64_9580
44×associate-+r+_binary64_9558
43×distribute-lft-in_binary64_9575
42×distribute-rgt-neg-out_binary64_9586
40×distribute-lft-out--_binary64_9578
36×pow-sqr_binary64_9599
35×distribute-lft-neg-out_binary64_9585
32×associate--r+_binary64_9562
30×distribute-neg-out_binary64_9588
22×*-lft-identity_binary64_9615 associate-*l*_binary64_9567
21×cube-prod_binary64_9654
20×log-prod_binary64_9712
17×log-div_binary64_9713 prod-exp_binary64_9675 sub0-neg_binary64_9613 associate-+l-_binary64_9561
16×div-exp_binary64_9677 associate-+r-_binary64_9560
14×distribute-frac-neg_binary64_9589
13×pow-plus_binary64_9689 cube-div_binary64_9655
12×swap-sqr_binary64_9593
11×distribute-rgt1-in_binary64_9582
10×exp-prod_binary64_9678
+-rgt-identity_binary64_9611 cancel-sign-sub_binary64_9591
log-pow_binary64_9715 cube-unmult_binary64_9663
unpow3_binary64_9692 rec-exp_binary64_9676 cube-mult_binary64_9656 remove-double-neg_binary64_9614 associate--l+_binary64_9563
unpow1_binary64_9684 rem-sqrt-square_binary64_9639 remove-double-div_binary64_9602 associate--r-_binary64_9565
unpow2_binary64_9691 exp-lft-sqr_binary64_9681 div0_binary64_9607 associate--l-_binary64_9564
log-rec_binary64_9714 pow-base-1_binary64_9686 exp-diff_binary64_9674 1-exp_binary64_9670 rem-log-exp_binary64_9667 sqr-neg_binary64_9640 *-inverses_binary64_9606 rgt-mult-inverse_binary64_9603 distribute-lft1-in_binary64_9581 count-2_binary64_9574
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_9889 erf-erfc_binary64_9888 erf-odd_binary64_9887 if-if-and-not_binary64_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 not-gte_binary64_9878 not-lte_binary64_9877 not-gt_binary64_9876 not-lt_binary64_9875 gte-same_binary64_9874 lte-same_binary64_9873 gt-same_binary64_9872 lt-same_binary64_9871 sinh---cosh_binary64_9818 sinh-+-cosh_binary64_9817 sinh-cosh_binary64_9816 tanh-def-c_binary64_9815 tanh-def-b_binary64_9814 tanh-def-a_binary64_9813 cosh-def_binary64_9812 sinh-def_binary64_9811 tan-neg_binary64_9758 cos-neg_binary64_9757 sin-neg_binary64_9756 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 hang-m-tan_binary64_9752 hang-p-tan_binary64_9751 hang-m0-tan_binary64_9750 hang-p0-tan_binary64_9749 hang-0m-tan_binary64_9748 hang-0p-tan_binary64_9747 tan-+PI/2_binary64_9746 tan-+PI_binary64_9745 tan-PI_binary64_9744 tan-PI/3_binary64_9743 tan-PI/4_binary64_9742 tan-PI/6_binary64_9741 cos-+PI/2_binary64_9740 cos-+PI_binary64_9739 cos-PI_binary64_9738 cos-PI/2_binary64_9737 cos-PI/3_binary64_9736 cos-PI/4_binary64_9735 cos-PI/6_binary64_9734 sin-+PI/2_binary64_9733 sin-+PI_binary64_9732 sin-PI_binary64_9731 sin-PI/2_binary64_9730 sin-PI/3_binary64_9729 sin-PI/4_binary64_9728 sin-PI/6_binary64_9727 sub-1-sin_binary64_9726 sub-1-cos_binary64_9725 -1-add-sin_binary64_9724 -1-add-cos_binary64_9723 1-sub-sin_binary64_9722 1-sub-cos_binary64_9721 cos-sin-sum_binary64_9720 log-E_binary64_9716 pow-base-0_binary64_9710 unpow1/3_binary64_9693 unpow1/2_binary64_9690 exp-to-pow_binary64_9688 unpow0_binary64_9685 unpow-1_binary64_9683 exp-lft-cube_binary64_9682 exp-cbrt_binary64_9680 exp-sqrt_binary64_9679 exp-neg_binary64_9673 exp-sum_binary64_9672 e-exp-1_binary64_9671 exp-1-e_binary64_9669 exp-0_binary64_9668 rem-exp-log_binary64_9666 cube-neg_binary64_9653 rem-3cbrt-rft_binary64_9652 rem-3cbrt-lft_binary64_9651 rem-cbrt-cube_binary64_9650 rem-cube-cbrt_binary64_9649 sqr-abs_binary64_9641 rem-square-sqrt_binary64_9638 mul-1-neg_binary64_9618 --rgt-identity_binary64_9612 +-lft-identity_binary64_9610 mul0-rgt_binary64_9609 mul0-lft_binary64_9608 +-inverses_binary64_9605 lft-mult-inverse_binary64_9604 difference-of-sqr--1_binary64_9597 difference-of-sqr-1_binary64_9596 difference-of-squares_binary64_9595
Counts
154 → 603
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03094430
17184274
224814233
335674197

prune1.0s (14.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New6030603
Fresh011
Picked011
Done011
Total6033606
Error
0b
Counts
606 → 3
Compiler

Compiled 14335 to 8037 computations (43.9% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (/.f64 x (/.f64 y x)))
0.1b
(/.f64 x (/.f64 y x))

rewrite99.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×times-frac_binary64_9632
47×*-un-lft-identity_binary64_9626
44×add-cube-cbrt_binary64_9661 add-sqr-sqrt_binary64_9648
13×associate-/r*_binary64_9570
add-exp-log_binary64_9664 add-cbrt-cube_binary64_9662
div-inv_binary64_9623
add-log-exp_binary64_9665
div-exp_binary64_9677 cbrt-undiv_binary64_9660 associate-/r/_binary64_9572 associate-/l*_binary64_9571
pow1_binary64_9687
frac-2neg_binary64_9637 clear-num_binary64_9625 sum-log_binary64_9717 flip3-+_binary64_9629 flip-+_binary64_9600 distribute-rgt1-in_binary64_9582 distribute-rgt-out_binary64_9579 distribute-lft-out_binary64_9577 +-commutative_binary64_9556
Counts
2 → 84
Calls

2 calls:

13.0ms
(+.f64 x (/.f64 x (/.f64 y x)))
6.0ms
(/.f64 x (/.f64 y x))
Compiler

Compiled 1604 to 642 computations (60% saved)

series238.0ms (3.4%)

Error
0b
Counts
2 → 18
Calls

2 calls:

125.0ms
(+.f64 x (/.f64 x (/.f64 y x)))
103.0ms
(/.f64 x (/.f64 y x))
Compiler

Compiled 432 to 368 computations (14.8% saved)

simplify571.0ms (8.2%)

Algorithm
egg-herbie
Rules
563×associate-/r/_binary64_9572
429×div-sub_binary64_9631
310×associate-/r*_binary64_9570
251×distribute-rgt-out_binary64_9579
245×*-commutative_binary64_9557
158×unswap-sqr_binary64_9594
147×distribute-rgt-in_binary64_9576 associate-/l*_binary64_9571
139×associate-/l/_binary64_9573
132×cancel-sign-sub-inv_binary64_9592
110×distribute-lft-in_binary64_9575
108×log-prod_binary64_9712
99×associate-+l+_binary64_9559
98×distribute-rgt-neg-in_binary64_9584
95×cube-prod_binary64_9654
94×associate-+r+_binary64_9558
84×distribute-lft-neg-in_binary64_9583
78×associate-*r/_binary64_9568
75×exp-prod_binary64_9678
71×associate-*l/_binary64_9569
68×log-div_binary64_9713
66×times-frac_binary64_9632
65×swap-sqr_binary64_9593
64×distribute-rgt-out--_binary64_9580
62×sqr-pow_binary64_9598 distribute-neg-frac_binary64_9590
60×cube-div_binary64_9655
57×associate-*r*_binary64_9566
46×associate-+l-_binary64_9561
45×associate--l-_binary64_9564
44×sub-neg_binary64_9619
34×associate-+r-_binary64_9560
33×+-commutative_binary64_9556
32×distribute-rgt1-in_binary64_9582
31×unpow3_binary64_9692 pow-sqr_binary64_9599 distribute-lft-out_binary64_9577
27×pow-plus_binary64_9689
26×associate-*l*_binary64_9567
25×neg-mul-1_binary64_9622
24×cube-mult_binary64_9656 neg-sub0_binary64_9621 unsub-neg_binary64_9620 /-rgt-identity_binary64_9617
22×log-pow_binary64_9715 prod-exp_binary64_9675
21×exp-to-pow_binary64_9688
17×*-rgt-identity_binary64_9616
16×log-rec_binary64_9714 div-exp_binary64_9677
14×associate--r+_binary64_9562
13×exp-diff_binary64_9674 exp-sum_binary64_9672
12×distribute-lft1-in_binary64_9581
11×associate--r-_binary64_9565
10×associate--l+_binary64_9563
exp-lft-sqr_binary64_9681 cube-unmult_binary64_9663 *-lft-identity_binary64_9615 distribute-neg-out_binary64_9588
exp-sqrt_binary64_9679 difference-of-squares_binary64_9595 distribute-lft-neg-out_binary64_9585
sub0-neg_binary64_9613
rem-sqrt-square_binary64_9639 +-rgt-identity_binary64_9611 remove-double-div_binary64_9602
pow-base-1_binary64_9686 rec-exp_binary64_9676 distribute-lft-out--_binary64_9578
mul0-lft_binary64_9608 distribute-frac-neg_binary64_9589 distribute-neg-in_binary64_9587 count-2_binary64_9574
mul0-rgt_binary64_9609 div0_binary64_9607 distribute-rgt-neg-out_binary64_9586
unpow2_binary64_9691 unpow1_binary64_9684 1-exp_binary64_9670 exp-1-e_binary64_9669 rem-log-exp_binary64_9667 rem-exp-log_binary64_9666 rem-3cbrt-rft_binary64_9652 rem-3cbrt-lft_binary64_9651 sqr-neg_binary64_9640 rem-square-sqrt_binary64_9638 remove-double-neg_binary64_9614 *-inverses_binary64_9606 rgt-mult-inverse_binary64_9603
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_9889 erf-erfc_binary64_9888 erf-odd_binary64_9887 if-if-and-not_binary64_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 not-gte_binary64_9878 not-lte_binary64_9877 not-gt_binary64_9876 not-lt_binary64_9875 gte-same_binary64_9874 lte-same_binary64_9873 gt-same_binary64_9872 lt-same_binary64_9871 sinh---cosh_binary64_9818 sinh-+-cosh_binary64_9817 sinh-cosh_binary64_9816 tanh-def-c_binary64_9815 tanh-def-b_binary64_9814 tanh-def-a_binary64_9813 cosh-def_binary64_9812 sinh-def_binary64_9811 tan-neg_binary64_9758 cos-neg_binary64_9757 sin-neg_binary64_9756 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 hang-m-tan_binary64_9752 hang-p-tan_binary64_9751 hang-m0-tan_binary64_9750 hang-p0-tan_binary64_9749 hang-0m-tan_binary64_9748 hang-0p-tan_binary64_9747 tan-+PI/2_binary64_9746 tan-+PI_binary64_9745 tan-PI_binary64_9744 tan-PI/3_binary64_9743 tan-PI/4_binary64_9742 tan-PI/6_binary64_9741 cos-+PI/2_binary64_9740 cos-+PI_binary64_9739 cos-PI_binary64_9738 cos-PI/2_binary64_9737 cos-PI/3_binary64_9736 cos-PI/4_binary64_9735 cos-PI/6_binary64_9734 sin-+PI/2_binary64_9733 sin-+PI_binary64_9732 sin-PI_binary64_9731 sin-PI/2_binary64_9730 sin-PI/3_binary64_9729 sin-PI/4_binary64_9728 sin-PI/6_binary64_9727 sub-1-sin_binary64_9726 sub-1-cos_binary64_9725 -1-add-sin_binary64_9724 -1-add-cos_binary64_9723 1-sub-sin_binary64_9722 1-sub-cos_binary64_9721 cos-sin-sum_binary64_9720 log-E_binary64_9716 pow-base-0_binary64_9710 unpow1/3_binary64_9693 unpow1/2_binary64_9690 unpow0_binary64_9685 unpow-1_binary64_9683 exp-lft-cube_binary64_9682 exp-cbrt_binary64_9680 exp-neg_binary64_9673 e-exp-1_binary64_9671 exp-0_binary64_9668 cube-neg_binary64_9653 rem-cbrt-cube_binary64_9650 rem-cube-cbrt_binary64_9649 sqr-abs_binary64_9641 mul-1-neg_binary64_9618 --rgt-identity_binary64_9612 +-lft-identity_binary64_9610 +-inverses_binary64_9605 lft-mult-inverse_binary64_9604 difference-of-sqr--1_binary64_9597 difference-of-sqr-1_binary64_9596 cancel-sign-sub_binary64_9591
Counts
102 → 458
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671600
13611506
212621428
324281428
445551428

prune427.0ms (6.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4580458
Fresh000
Picked011
Done022
Total4583461
Error
0b
Counts
461 → 3
Compiler

Compiled 9452 to 2548 computations (73% saved)

regimes194.0ms (2.8%)

Accuracy

Total 0.1b remaining (99.2%)

Threshold costs 0.1b (99.2%)

Compiler

Compiled 871 to 703 computations (19.3% saved)

bsearch34.0ms (0.5%)

Steps
ItersRangePoint
9
5.80909447607949e-14
1.334585143266181e-06
1.0804958672835222e-12
7
-6419152.574136486
-58391.54824712341
-128989.54692959297
Compiler

Compiled 1 to 2 computations (-100% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9557
neg-mul-1_binary64_9622 neg-sub0_binary64_9621
sub-neg_binary64_9619 +-commutative_binary64_9556
unsub-neg_binary64_9620 *-rgt-identity_binary64_9616
distribute-rgt-neg-out_binary64_9586
unpow1_binary64_9684 1-exp_binary64_9670 *-lft-identity_binary64_9615 distribute-lft-neg-out_binary64_9585 distribute-rgt-neg-in_binary64_9584 distribute-lft-neg-in_binary64_9583
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_9886 if-if-and_binary64_9885 if-if-or-not_binary64_9884 if-if-or_binary64_9883 if-not_binary64_9882 if-same_binary64_9881 if-false_binary64_9880 if-true_binary64_9879 tan-0_binary64_9755 cos-0_binary64_9754 sin-0_binary64_9753 e-exp-1_binary64_9671 exp-1-e_binary64_9669 exp-0_binary64_9668 sqr-abs_binary64_9641 sqr-neg_binary64_9640 mul-1-neg_binary64_9618 /-rgt-identity_binary64_9617 remove-double-neg_binary64_9614 sub0-neg_binary64_9613 --rgt-identity_binary64_9612 +-rgt-identity_binary64_9611 +-lft-identity_binary64_9610 cancel-sign-sub-inv_binary64_9592 cancel-sign-sub_binary64_9591 distribute-neg-frac_binary64_9590 distribute-frac-neg_binary64_9589 distribute-neg-out_binary64_9588 distribute-neg-in_binary64_9587
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02351
13351
24051
34451
45251
55151
Proof
(if real (<= f64 h0 -554005885588459/4294967296) (=> (pow f64 (/ f64 (* f64 h1 2) (- f64 (/ f64 h1 h0) 1)) 1)) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 (/ f64 (* f64 h1 2) (- f64 h1 h0)) h0) (* f64 h1 (/ f64 (* f64 2 h0) (- f64 h1 h0))))) unpow1_binary64_9684 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (=> (- f64 (/ f64 h1 h0) 1))) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 (/ f64 (* f64 h1 2) (- f64 h1 h0)) h0) (* f64 h1 (/ f64 (* f64 2 h0) (- f64 h1 h0))))) sub-neg_binary64_9619 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (+ f64 (/ f64 h1 h0) (neg f64 1))) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 (/ f64 (* f64 h1 2) (- f64 h1 h0)) h0) (* f64 h1 (/ f64 (=> (* f64 2 h0)) (- f64 h1 h0))))) *-commutative_binary64_9557 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (+ f64 (/ f64 h1 h0) (neg f64 1))) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (=> (* f64 (/ f64 (* f64 h1 2) (- f64 h1 h0)) h0)) (* f64 h1 (/ f64 (* f64 h0 2) (- f64 h1 h0))))) *-commutative_binary64_9557 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (+ f64 (/ f64 h1 h0) (=> (neg f64 1)))) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 h0 (/ f64 (* f64 h1 2) (- f64 h1 h0))) (* f64 h1 (/ f64 (* f64 h0 2) (- f64 h1 h0))))) neg-mul-1_binary64_9622 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (+ f64 (/ f64 h1 h0) (=> (* f64 -1 1)))) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 h0 (/ f64 (* f64 h1 2) (- f64 h1 h0))) (* f64 h1 (/ f64 (* f64 h0 2) (- f64 h1 h0))))) *-rgt-identity_binary64_9616 => (if real (<= f64 h0 -554005885588459/4294967296) (/ f64 (* f64 h1 2) (+ f64 (/ f64 h1 h0) -1)) (if real (<= f64 h0 2675178192785309/2475880078570760549798248448) (* f64 h0 (/ f64 (* f64 h1 2) (- f64 h1 h0))) (* f64 h1 (/ f64 (* f64 h0 2) (- f64 h1 h0)))))

end0.0ms (0%)

sample796.0ms (11.4%)

Algorithm
intervals
Results
223.0ms8000×body128valid
Compiler

Compiled 363 to 281 computations (22.6% saved)

Profiling

Loading profile data...