Details

Time bar (total: 7.1s)

analyze414.0ms (5.9%)

Algorithm
search
egg-herbie
Rules
752×distribute-rgt-in_binary64_710
602×distribute-lft-in_binary64_709
406×unsub-neg_binary64_754
389×sub-neg_binary64_753
376×neg-sub0_binary64_755
373×distribute-rgt-out--_binary64_714
362×neg-mul-1_binary64_756
335×distribute-neg-in_binary64_721
244×*-commutative_binary64_691
218×div-sub_binary64_765
201×distribute-lft-neg-out_binary64_719
198×distribute-rgt-neg-out_binary64_720
172×associate--r+_binary64_696
158×+-commutative_binary64_690
156×times-frac_binary64_766
138×associate-/l/_binary64_707
137×associate--l+_binary64_697
136×associate-+l+_binary64_693
133×associate-+l-_binary64_695
132×cancel-sign-sub-inv_binary64_726
127×distribute-neg-out_binary64_722
123×associate-+r+_binary64_692
117×distribute-rgt-neg-in_binary64_718
116×associate-/r/_binary64_706
114×distribute-rgt-out_binary64_713
107×associate--r-_binary64_699
100×distribute-lft-neg-in_binary64_717
98×associate--l-_binary64_698
93×associate-/l*_binary64_705
91×associate-/r*_binary64_704
82×associate-+r-_binary64_694
75×log-div_binary64_847
55×log-prod_binary64_846 distribute-rgt1-in_binary64_716
51×count-2_binary64_708
45×associate-*l*_binary64_701
42×distribute-neg-frac_binary64_724
39×associate-*r*_binary64_700
38×cancel-sign-sub_binary64_725
23×+-lft-identity_binary64_744
22×*-rgt-identity_binary64_750 *-lft-identity_binary64_749
21×remove-double-neg_binary64_748
20×distribute-lft-out--_binary64_712 associate-*l/_binary64_703
18×sub0-neg_binary64_747
16×--rgt-identity_binary64_746 distribute-lft-out_binary64_711 associate-*r/_binary64_702
14×+-rgt-identity_binary64_745
13×log-rec_binary64_848
12×mul0-rgt_binary64_743 distribute-lft1-in_binary64_715
11×distribute-frac-neg_binary64_723
10×div0_binary64_741
mul-1-neg_binary64_752
mul0-lft_binary64_742
/-rgt-identity_binary64_751
+-inverses_binary64_739 remove-double-div_binary64_736
1-exp_binary64_804 *-inverses_binary64_740
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 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow3_binary64_826 unpow2_binary64_825 unpow1/2_binary64_824 pow-plus_binary64_823 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 cube-unmult_binary64_797 cube-mult_binary64_790 cube-div_binary64_789 cube-prod_binary64_788 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 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 pow-sqr_binary64_733 sqr-pow_binary64_732 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 unswap-sqr_binary64_728 swap-sqr_binary64_727
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample86.0ms (1.2%)

Algorithm
intervals
Results
48.0ms128×body1024valid
14.0ms65×body512valid
7.0ms14×body2048valid
4.0ms35×body256valid
1.0ms14×body128valid
Compiler

Compiled 25 to 24 computations (4% saved)

simplify269.0ms (3.8%)

Algorithm
egg-herbie
Rules
752×distribute-rgt-in_binary64_710
602×distribute-lft-in_binary64_709
406×unsub-neg_binary64_754
389×sub-neg_binary64_753
376×neg-sub0_binary64_755
373×distribute-rgt-out--_binary64_714
362×neg-mul-1_binary64_756
335×distribute-neg-in_binary64_721
244×*-commutative_binary64_691
218×div-sub_binary64_765
201×distribute-lft-neg-out_binary64_719
198×distribute-rgt-neg-out_binary64_720
172×associate--r+_binary64_696
158×+-commutative_binary64_690
156×times-frac_binary64_766
138×associate-/l/_binary64_707
137×associate--l+_binary64_697
136×associate-+l+_binary64_693
133×associate-+l-_binary64_695
132×cancel-sign-sub-inv_binary64_726
127×distribute-neg-out_binary64_722
123×associate-+r+_binary64_692
117×distribute-rgt-neg-in_binary64_718
116×associate-/r/_binary64_706
114×distribute-rgt-out_binary64_713
107×associate--r-_binary64_699
100×distribute-lft-neg-in_binary64_717
98×associate--l-_binary64_698
93×associate-/l*_binary64_705
91×associate-/r*_binary64_704
82×associate-+r-_binary64_694
75×log-div_binary64_847
55×log-prod_binary64_846 distribute-rgt1-in_binary64_716
51×count-2_binary64_708
45×associate-*l*_binary64_701
42×distribute-neg-frac_binary64_724
39×associate-*r*_binary64_700
38×cancel-sign-sub_binary64_725
23×+-lft-identity_binary64_744
22×*-rgt-identity_binary64_750 *-lft-identity_binary64_749
21×remove-double-neg_binary64_748
20×distribute-lft-out--_binary64_712 associate-*l/_binary64_703
18×sub0-neg_binary64_747
16×--rgt-identity_binary64_746 distribute-lft-out_binary64_711 associate-*r/_binary64_702
14×+-rgt-identity_binary64_745
13×log-rec_binary64_848
12×mul0-rgt_binary64_743 distribute-lft1-in_binary64_715
11×distribute-frac-neg_binary64_723
10×div0_binary64_741
mul-1-neg_binary64_752
mul0-lft_binary64_742
/-rgt-identity_binary64_751
+-inverses_binary64_739 remove-double-div_binary64_736
1-exp_binary64_804 *-inverses_binary64_740
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 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow3_binary64_826 unpow2_binary64_825 unpow1/2_binary64_824 pow-plus_binary64_823 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 cube-unmult_binary64_797 cube-mult_binary64_790 cube-div_binary64_789 cube-prod_binary64_788 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 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 pow-sqr_binary64_733 sqr-pow_binary64_732 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 unswap-sqr_binary64_728 swap-sqr_binary64_727
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315

prune7.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 20 to 18 computations (10% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (+.f64 1 x) (-.f64 1 x))
4.3b
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))

rewrite159.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
58.5b
Rules
78×*-un-lft-identity_binary64_760
52×add-sqr-sqrt_binary64_782
48×times-frac_binary64_766
30×log-prod_binary64_846
25×add-cube-cbrt_binary64_795
18×difference-of-squares_binary64_729
13×distribute-lft-out_binary64_711
distribute-lft-out--_binary64_712
add-exp-log_binary64_798
associate-/r*_binary64_704
associate-/r/_binary64_706 add-cbrt-cube_binary64_796 associate-/l*_binary64_705
pow1_binary64_821
div-inv_binary64_757 flip3--_binary64_764 flip--_binary64_735 div-exp_binary64_811 rem-log-exp_binary64_801 add-log-exp_binary64_799 associate-/l/_binary64_707
log-pow_binary64_849 log-div_binary64_847 cbrt-undiv_binary64_794 frac-2neg_binary64_771 clear-num_binary64_759 flip3-+_binary64_763 flip-+_binary64_734
Counts
2 → 91
Calls

2 calls:

9.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
9.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
Compiler

Compiled 1776 to 1426 computations (19.7% saved)

series115.0ms (1.6%)

Error
0.0b
Counts
2 → 14
Calls

2 calls:

67.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
34.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
Compiler

Compiled 338 to 315 computations (6.8% saved)

simplify123.0ms (1.7%)

Algorithm
egg-herbie
Rules
506×div-sub_binary64_765
437×distribute-rgt-in_binary64_710
365×distribute-lft-in_binary64_709
329×associate-/l*_binary64_705
229×sub-neg_binary64_753
189×associate-/l/_binary64_707
165×log-div_binary64_847
139×cancel-sign-sub-inv_binary64_726
132×distribute-rgt-out_binary64_713 associate-/r/_binary64_706
105×times-frac_binary64_766
103×div-exp_binary64_811 associate-*l*_binary64_701
95×prod-exp_binary64_809 associate-*r*_binary64_700
92×associate-+l+_binary64_693
84×+-commutative_binary64_690
82×log-prod_binary64_846
73×*-commutative_binary64_691
71×distribute-rgt-neg-out_binary64_720
70×unsub-neg_binary64_754
67×associate-/r*_binary64_704
62×associate-+r+_binary64_692
57×distribute-lft-neg-out_binary64_719 associate--l-_binary64_698
48×associate-+l-_binary64_695
43×distribute-lft-out_binary64_711
42×neg-sub0_binary64_755 distribute-rgt-neg-in_binary64_718
41×neg-mul-1_binary64_756
40×log-rec_binary64_848
38×associate-+r-_binary64_694
37×cube-prod_binary64_788
33×distribute-lft-neg-in_binary64_717
32×exp-sum_binary64_806
29×sqr-pow_binary64_732 associate--l+_binary64_697
26×exp-prod_binary64_812
25×distribute-rgt1-in_binary64_716 distribute-rgt-out--_binary64_714
24×cube-div_binary64_789
23×associate-*l/_binary64_703
22×rec-exp_binary64_810 unswap-sqr_binary64_728 distribute-neg-out_binary64_722
20×associate-*r/_binary64_702
19×*-rgt-identity_binary64_750
18×exp-diff_binary64_808 /-rgt-identity_binary64_751 distribute-neg-frac_binary64_724
16×cube-unmult_binary64_797 *-lft-identity_binary64_749
13×distribute-neg-in_binary64_721
11×swap-sqr_binary64_727
10×unpow3_binary64_826 distribute-lft1-in_binary64_715
+-rgt-identity_binary64_745 cancel-sign-sub_binary64_725 count-2_binary64_708
sqr-neg_binary64_774 distribute-frac-neg_binary64_723
rem-exp-log_binary64_800 sub0-neg_binary64_747 remove-double-div_binary64_736 distribute-lft-out--_binary64_712 associate--r+_binary64_696
pow-plus_binary64_823 cube-neg_binary64_787 mul-1-neg_binary64_752 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729
exp-to-pow_binary64_822 cube-mult_binary64_790 rem-sqrt-square_binary64_773 remove-double-neg_binary64_748 pow-sqr_binary64_733
log-pow_binary64_849 unpow2_binary64_825 unpow1/2_binary64_824 unpow1_binary64_818 1-exp_binary64_804 exp-1-e_binary64_803 rem-log-exp_binary64_801 +-inverses_binary64_739 difference-of-sqr--1_binary64_731 associate--r-_binary64_699
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 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 exp-neg_binary64_807 e-exp-1_binary64_805 exp-0_binary64_802 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-square-sqrt_binary64_772 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737
Counts
105 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01452071
13251979
27571931
319951927
442561927
556171927

prune116.0ms (1.6%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New90292
Fresh000
Picked101
Done000
Total91293
Error
0b
Counts
93 → 2
Compiler

Compiled 1656 to 1309 computations (21% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
0.1b
(*.f64 2/7 (pow.f64 x 7))
0.1b
(*.f64 2/5 (pow.f64 x 5))
0.1b
(*.f64 2/3 (pow.f64 x 3))

rewrite197.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-sqr-sqrt_binary64_782
26×associate-*r*_binary64_700
19×add-exp-log_binary64_798
14×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
12×unpow-prod-down_binary64_839
10×add-cbrt-cube_binary64_796 unswap-sqr_binary64_728
prod-exp_binary64_809 associate-*l*_binary64_701
add-log-exp_binary64_799 sqr-pow_binary64_732
pow1_binary64_821 cube-prod_binary64_788
pow-to-exp_binary64_829 pow-exp_binary64_828 cbrt-unprod_binary64_793 *-commutative_binary64_691
unpow3_binary64_826 cube-mult_binary64_790 sum-log_binary64_851 flip3-+_binary64_763 flip-+_binary64_734 +-commutative_binary64_690
Counts
4 → 92
Calls

4 calls:

8.0ms
(*.f64 2/3 (pow.f64 x 3))
6.0ms
(*.f64 2/7 (pow.f64 x 7))
6.0ms
(*.f64 2/5 (pow.f64 x 5))
6.0ms
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
Compiler

Compiled 2761 to 2097 computations (24% saved)

series362.0ms (5.1%)

Error
0b
Counts
4 → 15
Calls

4 calls:

154.0ms
(+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5)))
67.0ms
(*.f64 2/5 (pow.f64 x 5))
66.0ms
(*.f64 2/7 (pow.f64 x 7))
57.0ms
(*.f64 2/3 (pow.f64 x 3))
Compiler

Compiled 930 to 740 computations (20.4% saved)

simplify102.0ms (1.4%)

Algorithm
egg-herbie
Rules
662×unswap-sqr_binary64_728
383×log-prod_binary64_846
345×*-commutative_binary64_691
204×distribute-rgt-neg-in_binary64_718
190×distribute-lft-neg-in_binary64_717
189×distribute-rgt-in_binary64_710
172×distribute-lft-in_binary64_709
155×associate-+l+_binary64_693
151×associate-+r+_binary64_692
150×cancel-sign-sub-inv_binary64_726
133×associate-*l*_binary64_701
127×associate-*r*_binary64_700
125×sqr-pow_binary64_732
94×exp-prod_binary64_812
82×cube-prod_binary64_788
60×distribute-rgt-out_binary64_713
53×swap-sqr_binary64_727 associate-/l*_binary64_705
43×neg-mul-1_binary64_756 neg-sub0_binary64_755
38×log-pow_binary64_849
33×sub-neg_binary64_753
30×associate-/r*_binary64_704
23×unpow3_binary64_826 pow-sqr_binary64_733
22×distribute-rgt-out--_binary64_714
16×+-commutative_binary64_690
15×pow-plus_binary64_823 cube-mult_binary64_790 rem-sqrt-square_binary64_773 distribute-lft-neg-out_binary64_719 associate-+l-_binary64_695
14×cube-unmult_binary64_797 associate-/l/_binary64_707 associate-*r/_binary64_702
13×distribute-lft-out_binary64_711
11×distribute-neg-in_binary64_721 associate-/r/_binary64_706 associate-+r-_binary64_694
10×count-2_binary64_708
unsub-neg_binary64_754
+-rgt-identity_binary64_745
associate--r+_binary64_696
sub0-neg_binary64_747
difference-of-squares_binary64_729 distribute-lft-out--_binary64_712
unpow1/3_binary64_827 prod-exp_binary64_809 1-exp_binary64_804 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 rem-square-sqrt_binary64_772 distribute-rgt-neg-out_binary64_720 associate--l+_binary64_697
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 log-div_binary64_847 pow-base-0_binary64_844 unpow2_binary64_825 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 div-exp_binary64_811 rec-exp_binary64_810 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 cube-div_binary64_789 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 sqr-abs_binary64_775 sqr-neg_binary64_774 times-frac_binary64_766 div-sub_binary64_765 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 associate-*l/_binary64_703 associate--r-_binary64_699 associate--l-_binary64_698
Counts
107 → 46
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01631262
13451186
29051186
317031186
449411186
553621186

prune79.0ms (1.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New46046
Fresh011
Picked011
Done000
Total46248
Error
0b
Counts
48 → 2
Compiler

Compiled 1277 to 955 computations (25.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (-.f64 1 x) (+.f64 x 1))
0.0b
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
4.3b
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))

rewrite651.0ms (9.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
372×times-frac_binary64_766
351×*-un-lft-identity_binary64_760
253×add-sqr-sqrt_binary64_782
154×add-cube-cbrt_binary64_795
95×log-prod_binary64_846
66×difference-of-squares_binary64_729
49×distribute-lft-out_binary64_711
34×associate-/r*_binary64_704
33×distribute-lft-out--_binary64_712
28×add-exp-log_binary64_798
18×associate-/r/_binary64_706
15×div-exp_binary64_811
10×div-inv_binary64_757 add-cbrt-cube_binary64_796
associate-/l*_binary64_705
flip3-+_binary64_763 flip-+_binary64_734
rem-log-exp_binary64_801
pow1_binary64_821
1-exp_binary64_804 rec-exp_binary64_810 cbrt-undiv_binary64_794
log-pow_binary64_849 add-log-exp_binary64_799
inv-pow_binary64_845 pow-flip_binary64_834 frac-2neg_binary64_771 clear-num_binary64_759 associate-/l/_binary64_707
log-rec_binary64_848 log-div_binary64_847 div-sub_binary64_765 flip3--_binary64_764 flip--_binary64_735
Counts
3 → 309
Calls

3 calls:

18.0ms
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
17.0ms
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))
10.0ms
(/.f64 (-.f64 1 x) (+.f64 x 1))
Compiler

Compiled 7553 to 6340 computations (16.1% saved)

series137.0ms (1.9%)

Error
0b
Counts
3 → 22
Calls

3 calls:

55.0ms
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))
35.0ms
(/.f64 (-.f64 1 x) (+.f64 x 1))
30.0ms
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
Compiler

Compiled 558 to 525 computations (5.9% saved)

simplify307.0ms (4.3%)

Algorithm
egg-herbie
Rules
537×log-div_binary64_847
376×times-frac_binary64_766
374×log-prod_binary64_846
352×distribute-rgt-in_binary64_710
307×distribute-lft-in_binary64_709
293×associate-/l/_binary64_707
199×sub-neg_binary64_753
132×associate-/r/_binary64_706
93×cancel-sign-sub-inv_binary64_726
78×associate-*l/_binary64_703
69×*-commutative_binary64_691
62×log-rec_binary64_848 neg-sub0_binary64_755
61×neg-mul-1_binary64_756
60×associate-/l*_binary64_705
58×div-sub_binary64_765
53×exp-prod_binary64_812
46×+-commutative_binary64_690
44×associate-*r/_binary64_702
43×associate-*r*_binary64_700
42×exp-sum_binary64_806 distribute-rgt-neg-in_binary64_718
38×associate-/r*_binary64_704
36×distribute-lft-neg-in_binary64_717 distribute-rgt-out_binary64_713
33×*-rgt-identity_binary64_750
32×distribute-rgt-neg-out_binary64_720
31×unsub-neg_binary64_754 associate-*l*_binary64_701
28×distribute-lft-neg-out_binary64_719
27×distribute-neg-frac_binary64_724 associate-+r+_binary64_692
26×associate-+l+_binary64_693
20×*-lft-identity_binary64_749 sqr-pow_binary64_732
19×exp-diff_binary64_808 /-rgt-identity_binary64_751
17×associate--l-_binary64_698
14×distribute-neg-in_binary64_721 distribute-rgt-out--_binary64_714
13×prod-exp_binary64_809 distribute-rgt1-in_binary64_716
11×log-pow_binary64_849 cube-prod_binary64_788
10×associate--r+_binary64_696
count-2_binary64_708
swap-sqr_binary64_727
div-exp_binary64_811 unswap-sqr_binary64_728
cube-unmult_binary64_797 distribute-lft-out_binary64_711 associate--l+_binary64_697
unpow3_binary64_826 exp-to-pow_binary64_822 rem-exp-log_binary64_800 associate--r-_binary64_699 associate-+r-_binary64_694
cube-div_binary64_789 remove-double-div_binary64_736
rec-exp_binary64_810 mul-1-neg_binary64_752 mul0-rgt_binary64_743 mul0-lft_binary64_742 distribute-lft-out--_binary64_712
unpow2_binary64_825 unpow1/2_binary64_824 pow-plus_binary64_823 unpow1_binary64_818 exp-neg_binary64_807 1-exp_binary64_804 cube-mult_binary64_790 sqr-neg_binary64_774 rem-sqrt-square_binary64_773 remove-double-neg_binary64_748 sub0-neg_binary64_747 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 div0_binary64_741 pow-sqr_binary64_733 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 distribute-neg-out_binary64_722 distribute-lft1-in_binary64_715 associate-+l-_binary64_695
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 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 e-exp-1_binary64_805 exp-1-e_binary64_803 exp-0_binary64_802 rem-log-exp_binary64_801 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 rem-square-sqrt_binary64_772 --rgt-identity_binary64_746 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723
Counts
331 → 265
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02818172
16837577
220067316
343647316
449767316
549407316

prune399.0ms (5.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2650265
Fresh000
Picked011
Done011
Total2652267
Error
0b
Counts
267 → 2
Compiler

Compiled 5275 to 4289 computations (18.7% saved)

regimes253.0ms (3.6%)

Accuracy

Total 0.1b remaining (97.9%)

Threshold costs 0.1b (97.9%)

Compiler

Compiled 2669 to 2303 computations (13.7% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_691
+-commutative_binary64_690
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 1-exp_binary64_804 exp-1-e_binary64_803 exp-0_binary64_802 sqr-abs_binary64_775 sqr-neg_binary64_774 neg-mul-1_binary64_756 neg-sub0_binary64_755 unsub-neg_binary64_754 sub-neg_binary64_753 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
02034
12734
22734

end0.0ms (0%)

sample3.3s (46.1%)

Algorithm
intervals
Results
1.5s3993×body1024valid
451.0ms2021×body512valid
228.0ms418×body2048valid
126.0ms991×body256valid
37.0ms577×body128valid
Compiler

Compiled 641 to 554 computations (13.6% saved)

Profiling

Loading profile data...