Details

Time bar (total: 3.2s)

analyze35.0ms (1.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%6.2%93.8%0
0%6.2%93.8%1
0%6.2%93.8%2
1.6%3.1%95.3%3
1.6%3.1%95.3%4
2.3%1.6%96.1%5
2.3%1.6%96.1%6
2.7%0.8%96.5%7
2.7%0.8%96.5%8
2.9%0.4%96.7%9
2.9%0.4%96.7%10
3%0.2%96.8%11
3%0.2%96.8%12
3.1%0.1%96.8%13
3.1%0.1%96.8%14
Compiler

Compiled 18 to 11 computations (38.9% saved)

sample26.0ms (0.8%)

Algorithm
intervals
Results
9.0ms256×body128valid
5.0ms256×pre128true
0.0mspre128false
Compiler

Compiled 31 to 21 computations (32.3% saved)

simplify166.0ms (5.1%)

Algorithm
egg-herbie
Rules
624×neg-mul-1_binary64_756
414×sub-neg_binary64_753
381×distribute-frac-neg_binary64_723
364×div-sub_binary64_765
297×unsub-neg_binary64_754
254×*-commutative_binary64_691
253×times-frac_binary64_766
204×neg-sub0_binary64_755
190×cancel-sign-sub-inv_binary64_726 distribute-rgt-in_binary64_710
178×associate-/l*_binary64_705
174×associate-/r/_binary64_706
173×associate-*l/_binary64_703
171×distribute-lft-in_binary64_709
143×distribute-neg-frac_binary64_724
137×cube-prod_binary64_788
134×distribute-neg-out_binary64_722
131×associate-/l/_binary64_707
114×associate-*l*_binary64_701
103×associate-*r/_binary64_702
97×distribute-lft-neg-out_binary64_719
96×distribute-rgt-neg-out_binary64_720
91×distribute-rgt-neg-in_binary64_718 associate-+l-_binary64_695
89×distribute-rgt-out_binary64_713
83×associate--r+_binary64_696
79×associate-/r*_binary64_704
78×associate-+l+_binary64_693
70×associate-*r*_binary64_700
66×distribute-lft-neg-in_binary64_717
63×cube-div_binary64_789
62×div0_binary64_741
60×swap-sqr_binary64_727
57×associate-+r+_binary64_692
55×associate--l+_binary64_697
50×remove-double-neg_binary64_748
48×distribute-rgt-out--_binary64_714
45×sqr-neg_binary64_774 +-commutative_binary64_690
43×sub0-neg_binary64_747
38×associate-+r-_binary64_694
34×mul0-rgt_binary64_743
33×mul0-lft_binary64_742
31×cube-neg_binary64_787
29×unpow3_binary64_826 cube-mult_binary64_790
27×distribute-neg-in_binary64_721
24×/-rgt-identity_binary64_751
21×associate--r-_binary64_699
19×associate--l-_binary64_698
16×distribute-lft-out_binary64_711
13×*-rgt-identity_binary64_750
11×+-lft-identity_binary64_744 cancel-sign-sub_binary64_725
10×--rgt-identity_binary64_746 unswap-sqr_binary64_728
mul-1-neg_binary64_752
*-lft-identity_binary64_749 +-rgt-identity_binary64_745 sqr-pow_binary64_732
distribute-lft-out--_binary64_712
distribute-rgt1-in_binary64_716
remove-double-div_binary64_736
+-inverses_binary64_739
cube-unmult_binary64_797 *-inverses_binary64_740 lft-mult-inverse_binary64_738 difference-of-sqr--1_binary64_731 difference-of-squares_binary64_729 distribute-lft1-in_binary64_715
unpow2_binary64_825 pow-plus_binary64_823 1-exp_binary64_804 difference-of-sqr-1_binary64_730
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 log-rec_binary64_848 log-div_binary64_847 log-prod_binary64_846 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow1/2_binary64_824 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow1_binary64_818 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 exp-prod_binary64_812 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-1-e_binary64_803 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 rgt-mult-inverse_binary64_737 pow-sqr_binary64_733 count-2_binary64_708
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0920
12217
25417
311517
424517
564617
6194417
7322917
8434617
9483617

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 24 to 17 computations (29.2% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (*.f64 a a) (*.f64 b b))
0.0b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
12.9b
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))

rewrite63.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-exp-log_binary64_798 add-cbrt-cube_binary64_796
add-sqr-sqrt_binary64_782
add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
add-log-exp_binary64_799
pow1_binary64_821 times-frac_binary64_766 associate-/l*_binary64_705
difference-of-squares_binary64_729 sqrt-prod_binary64_776
div-exp_binary64_811 cbrt-undiv_binary64_794 flip3--_binary64_764 associate-/l/_binary64_707 flip--_binary64_735
prod-exp_binary64_809 cbrt-unprod_binary64_793 frac-2neg_binary64_771 div-sub_binary64_765 clear-num_binary64_759 div-inv_binary64_757 associate-/r*_binary64_704 pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773 diff-log_binary64_852 sub-neg_binary64_753 cancel-sign-sub-inv_binary64_726
Counts
3 → 52
Calls

3 calls:

8.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
4.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
1.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 1164 to 244 computations (79% saved)

series365.0ms (11.3%)

Error
0.5b
Counts
3 → 30
Calls

3 calls:

179.0ms
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
92.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
73.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 870 to 747 computations (14.1% saved)

simplify81.0ms (2.5%)

Algorithm
egg-herbie
Rules
390×times-frac_binary64_766
377×unswap-sqr_binary64_728
279×div-sub_binary64_765
260×associate-*l*_binary64_701
249×associate-/l*_binary64_705
225×associate-*r*_binary64_700
214×distribute-rgt-in_binary64_710
206×distribute-lft-in_binary64_709
145×associate-/r*_binary64_704
143×associate-*l/_binary64_703
106×associate-*r/_binary64_702
92×exp-prod_binary64_812
74×sub-neg_binary64_753
73×*-commutative_binary64_691
72×unsub-neg_binary64_754
62×sqr-pow_binary64_732
49×exp-sum_binary64_806
48×associate-/l/_binary64_707
46×difference-of-squares_binary64_729
44×neg-sub0_binary64_755
40×cube-prod_binary64_788
38×cancel-sign-sub-inv_binary64_726
37×associate-/r/_binary64_706
34×neg-mul-1_binary64_756
29×log-prod_binary64_846
28×distribute-rgt-neg-in_binary64_718
27×log-div_binary64_847 +-commutative_binary64_690
23×cube-div_binary64_789 distribute-lft-neg-in_binary64_717
20×*-rgt-identity_binary64_750
19×*-lft-identity_binary64_749
15×exp-diff_binary64_808
14×distribute-lft-neg-out_binary64_719
12×unpow3_binary64_826
11×cube-unmult_binary64_797 pow-sqr_binary64_733 associate-+l+_binary64_693
10×mul0-rgt_binary64_743 mul0-lft_binary64_742 distribute-neg-in_binary64_721
distribute-rgt-neg-out_binary64_720
cube-mult_binary64_790 distribute-neg-frac_binary64_724 distribute-rgt-out_binary64_713 associate-+l-_binary64_695
pow-plus_binary64_823 mul-1-neg_binary64_752 sub0-neg_binary64_747 associate--r+_binary64_696
rem-sqrt-square_binary64_773 +-rgt-identity_binary64_745 associate-+r-_binary64_694 associate-+r+_binary64_692
remove-double-neg_binary64_748 swap-sqr_binary64_727
div0_binary64_741 distribute-lft-out_binary64_711
log-pow_binary64_849 unpow2_binary64_825 unpow1/2_binary64_824 unpow1_binary64_818 exp-neg_binary64_807 sqr-neg_binary64_774 *-inverses_binary64_740 associate--r-_binary64_699 associate--l+_binary64_697
div-exp_binary64_811 1-exp_binary64_804 exp-1-e_binary64_803 cube-neg_binary64_787 rem-square-sqrt_binary64_772 /-rgt-identity_binary64_751 difference-of-sqr-1_binary64_730 count-2_binary64_708
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-rec_binary64_848 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 rec-exp_binary64_810 prod-exp_binary64_809 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 --rgt-identity_binary64_746 +-lft-identity_binary64_744 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 distribute-rgt-out--_binary64_714 distribute-lft-out--_binary64_712 associate--l-_binary64_698
Counts
82 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0971346
12251203
26601189
333651189
449371189

prune79.0ms (2.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New88391
Fresh000
Picked101
Done000
Total89392
Error
0b
Counts
92 → 3
Compiler

Compiled 1806 to 588 computations (67.4% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.0b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)))
0.0b
(/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)
0.1b
(*.f64 b (/.f64 b a))

rewrite74.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
26×add-sqr-sqrt_binary64_782
20×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
19×times-frac_binary64_766
13×associate-*r*_binary64_700
10×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
pow1_binary64_821
add-log-exp_binary64_799 associate-*l*_binary64_701 associate-/l*_binary64_705 associate-/r*_binary64_704 sqrt-prod_binary64_776
div-exp_binary64_811 prod-exp_binary64_809 cbrt-unprod_binary64_793 cbrt-undiv_binary64_794 unswap-sqr_binary64_728 div-inv_binary64_757 associate-/l/_binary64_707
pow-prod-down_binary64_831 associate-*r/_binary64_702 *-commutative_binary64_691 frac-2neg_binary64_771 div-sub_binary64_765 clear-num_binary64_759 flip3--_binary64_764 flip--_binary64_735 pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773
Counts
3 → 75
Calls

3 calls:

9.0ms
(*.f64 b (/.f64 b a))
5.0ms
(/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)
1.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)))
Compiler

Compiled 1476 to 430 computations (70.9% saved)

series304.0ms (9.4%)

Error
0b
Counts
3 → 24
Calls

3 calls:

149.0ms
(/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)
70.0ms
(*.f64 b (/.f64 b a))
66.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 a (*.f64 b (/.f64 b a))) a)))
Compiler

Compiled 678 to 572 computations (15.6% saved)

simplify112.0ms (3.5%)

Algorithm
egg-herbie
Rules
344×distribute-rgt-in_binary64_710
310×times-frac_binary64_766
309×associate-/l*_binary64_705
275×associate-*l*_binary64_701
246×associate-*l/_binary64_703
239×log-prod_binary64_846
235×unswap-sqr_binary64_728
219×associate-*r*_binary64_700
212×exp-prod_binary64_812
199×associate-*r/_binary64_702
163×associate-/l/_binary64_707
153×div-sub_binary64_765
138×associate-/r*_binary64_704
119×cancel-sign-sub-inv_binary64_726
116×log-div_binary64_847
97×associate-/r/_binary64_706
94×distribute-rgt-neg-in_binary64_718
90×*-commutative_binary64_691
83×distribute-rgt-neg-out_binary64_720
81×distribute-neg-frac_binary64_724
77×distribute-lft-neg-out_binary64_719
72×distribute-lft-neg-in_binary64_717
62×swap-sqr_binary64_727 distribute-lft-in_binary64_709
60×cube-prod_binary64_788
57×distribute-rgt-out_binary64_713
51×sub-neg_binary64_753
44×*-lft-identity_binary64_749
42×sqr-pow_binary64_732
37×*-rgt-identity_binary64_750
36×cube-div_binary64_789
33×distribute-lft-out_binary64_711
31×unpow3_binary64_826
29×neg-sub0_binary64_755 distribute-frac-neg_binary64_723
28×/-rgt-identity_binary64_751
25×neg-mul-1_binary64_756
20×+-commutative_binary64_690
18×log-rec_binary64_848
14×pow-plus_binary64_823 unsub-neg_binary64_754
13×associate-+l+_binary64_693
12×associate-+r+_binary64_692
10×log-pow_binary64_849 distribute-neg-in_binary64_721
remove-double-div_binary64_736 pow-sqr_binary64_733
cube-unmult_binary64_797
rem-sqrt-square_binary64_773 associate-+l-_binary64_695 associate-+r-_binary64_694
exp-diff_binary64_808
unpow1/2_binary64_824 exp-sum_binary64_806 remove-double-neg_binary64_748 +-rgt-identity_binary64_745
sub0-neg_binary64_747 associate--l+_binary64_697 associate--r+_binary64_696
unpow2_binary64_825 unpow1_binary64_818 rem-square-sqrt_binary64_772 mul-1-neg_binary64_752 *-inverses_binary64_740 difference-of-squares_binary64_729 distribute-rgt1-in_binary64_716 distribute-lft-out--_binary64_712 associate--r-_binary64_699 associate--l-_binary64_698
1-exp_binary64_804 exp-1-e_binary64_803 cube-mult_binary64_790 cube-neg_binary64_787 sqr-neg_binary64_774 div0_binary64_741 difference-of-sqr-1_binary64_730 distribute-rgt-out--_binary64_714 count-2_binary64_708
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-neg_binary64_807 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-neg-out_binary64_722 distribute-lft1-in_binary64_715
Counts
99 → 178
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01351587
12961453
28431442
326231432
445891432
550791432

prune126.0ms (3.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1771178
Fresh202
Picked011
Done000
Total1792181
Error
0b
Counts
181 → 2
Compiler

Compiled 3662 to 865 computations (76.4% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b (/.f64 b a)) a))))
0.1b
(*.f64 b (/.f64 b a))
14.0b
(/.f64 (*.f64 b (/.f64 b a)) a)

rewrite73.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×add-sqr-sqrt_binary64_782
17×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
14×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
13×times-frac_binary64_766 associate-*r*_binary64_700
pow1_binary64_821
div-exp_binary64_811 cbrt-undiv_binary64_794
prod-exp_binary64_809 cbrt-unprod_binary64_793
add-log-exp_binary64_799 associate-/r*_binary64_704 associate-*l*_binary64_701 sqrt-prod_binary64_776
div-inv_binary64_757 associate-*r/_binary64_702 unswap-sqr_binary64_728
frac-2neg_binary64_771 clear-num_binary64_759 associate-/l/_binary64_707 associate-/l*_binary64_705 pow-prod-down_binary64_831 *-commutative_binary64_691 pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773
Counts
3 → 69
Calls

3 calls:

7.0ms
(*.f64 b (/.f64 b a))
6.0ms
(/.f64 (*.f64 b (/.f64 b a)) a)
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b (/.f64 b a)) a))))
Compiler

Compiled 1243 to 543 computations (56.3% saved)

series224.0ms (6.9%)

Error
0b
Counts
3 → 18
Calls

3 calls:

82.0ms
(/.f64 (*.f64 b (/.f64 b a)) a)
66.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b (/.f64 b a)) a))))
62.0ms
(*.f64 b (/.f64 b a))
Compiler

Compiled 594 to 542 computations (8.8% saved)

simplify129.0ms (4%)

Algorithm
egg-herbie
Rules
489×associate-/l/_binary64_707
393×associate-*l/_binary64_703
299×associate-*l*_binary64_701
285×unswap-sqr_binary64_728
266×associate-*r/_binary64_702
258×associate-/r/_binary64_706
240×associate-/r*_binary64_704
229×log-prod_binary64_846
224×associate-*r*_binary64_700
197×sub-neg_binary64_753
166×cancel-sign-sub-inv_binary64_726
139×log-div_binary64_847
129×cube-div_binary64_789
116×unsub-neg_binary64_754 sqr-pow_binary64_732
110×cube-prod_binary64_788
108×associate-/l*_binary64_705
101×swap-sqr_binary64_727
84×*-commutative_binary64_691
81×associate--l+_binary64_697
79×distribute-neg-in_binary64_721
74×times-frac_binary64_766
71×associate-+l+_binary64_693
65×distribute-neg-frac_binary64_724
62×associate-+l-_binary64_695
58×unpow3_binary64_826 associate--l-_binary64_698
55×*-lft-identity_binary64_749
51×cube-mult_binary64_790
46×neg-mul-1_binary64_756
45×*-rgt-identity_binary64_750
44×exp-prod_binary64_812
43×neg-sub0_binary64_755
38×associate-+r+_binary64_692
37×log-pow_binary64_849
35×div-sub_binary64_765
31×distribute-rgt-neg-in_binary64_718 associate--r+_binary64_696
28×pow-plus_binary64_823 distribute-neg-out_binary64_722 associate-+r-_binary64_694
26×pow-sqr_binary64_733 distribute-rgt-in_binary64_710
24×distribute-lft-neg-in_binary64_717 distribute-lft-in_binary64_709
23×log-rec_binary64_848
22×associate--r-_binary64_699
18×/-rgt-identity_binary64_751 +-commutative_binary64_690
12×cube-unmult_binary64_797
--rgt-identity_binary64_746
rem-sqrt-square_binary64_773
unpow1/2_binary64_824
div0_binary64_741 count-2_binary64_708
+-rgt-identity_binary64_745
unpow2_binary64_825 remove-double-div_binary64_736 distribute-frac-neg_binary64_723 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719
unpow1_binary64_818 remove-double-neg_binary64_748 sub0-neg_binary64_747 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742
rem-square-sqrt_binary64_772 +-inverses_binary64_739 distribute-rgt-out--_binary64_714 distribute-lft-out--_binary64_712 distribute-lft-out_binary64_711
exp-diff_binary64_808 exp-sum_binary64_806 1-exp_binary64_804 exp-1-e_binary64_803 difference-of-sqr-1_binary64_730
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-neg_binary64_807 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 mul-1-neg_binary64_752 *-inverses_binary64_740 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 difference-of-sqr--1_binary64_731 difference-of-squares_binary64_729 cancel-sign-sub_binary64_725 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 distribute-rgt-out_binary64_713
Counts
87 → 202
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01141200
12591045
28921009
32504997
43404910
54749910
64982910
74951910

prune174.0ms (5.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2020202
Fresh000
Picked011
Done011
Total2022204
Error
0b
Counts
204 → 2
Compiler

Compiled 3893 to 1744 computations (55.2% saved)

regimes192.0ms (5.9%)

Accuracy

Total 0.0b remaining (85.4%)

Threshold costs 0.0b (85.4%)

Compiler

Compiled 1507 to 1171 computations (22.3% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_753 +-commutative_binary64_690
1-exp_binary64_804 neg-mul-1_binary64_756 neg-sub0_binary64_755 *-commutative_binary64_691
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_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 unpow1_binary64_818 e-exp-1_binary64_805 exp-1-e_binary64_803 exp-0_binary64_802 sqr-abs_binary64_775 sqr-neg_binary64_774 unsub-neg_binary64_754 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 cancel-sign-sub-inv_binary64_726 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-neg-in_binary64_721 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719 distribute-rgt-neg-in_binary64_718 distribute-lft-neg-in_binary64_717
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
11414
21814
32014
42114
52014

end0.0ms (0%)

sample985.0ms (30.4%)

Algorithm
intervals
Results
281.0ms8000×body128valid
158.0ms8000×pre128true
2.0ms133×pre128false
Compiler

Compiled 191 to 150 computations (21.5% saved)

Profiling

Loading profile data...