Details

Time bar (total: 5.3s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 21 to 16 computations (23.8% saved)

sample30.0ms (0.6%)

Algorithm
intervals
Results
11.0ms256×pre128true
6.0ms256×body128valid
Compiler

Compiled 30 to 30 computations (0% saved)

simplify106.0ms (2%)

Algorithm
egg-herbie
Rules
128×associate-+l+_binary64_2739
99×associate-+r+_binary64_2738
56×+-commutative_binary64_2736
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_3069 erf-erfc_binary64_3068 erf-odd_binary64_3067 if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 not-gte_binary64_3058 not-lte_binary64_3057 not-gt_binary64_3056 not-lt_binary64_3055 gte-same_binary64_3054 lte-same_binary64_3053 gt-same_binary64_3052 lt-same_binary64_3051 sinh---cosh_binary64_2998 sinh-+-cosh_binary64_2997 sinh-cosh_binary64_2996 tanh-def-c_binary64_2995 tanh-def-b_binary64_2994 tanh-def-a_binary64_2993 cosh-def_binary64_2992 sinh-def_binary64_2991 tan-neg_binary64_2938 cos-neg_binary64_2937 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-pow_binary64_2895 log-rec_binary64_2894 log-div_binary64_2893 log-prod_binary64_2892 pow-base-0_binary64_2890 unpow1/3_binary64_2873 unpow3_binary64_2872 unpow2_binary64_2871 unpow1/2_binary64_2870 pow-plus_binary64_2869 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 exp-prod_binary64_2858 div-exp_binary64_2857 rec-exp_binary64_2856 prod-exp_binary64_2855 exp-diff_binary64_2854 exp-neg_binary64_2853 exp-sum_binary64_2852 e-exp-1_binary64_2851 1-exp_binary64_2850 exp-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-unmult_binary64_2843 cube-mult_binary64_2836 cube-div_binary64_2835 cube-prod_binary64_2834 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 neg-mul-1_binary64_2802 neg-sub0_binary64_2801 unsub-neg_binary64_2800 sub-neg_binary64_2799 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 remove-double-neg_binary64_2794 sub0-neg_binary64_2793 --rgt-identity_binary64_2792 +-rgt-identity_binary64_2791 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 sqr-pow_binary64_2778 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774 swap-sqr_binary64_2773 cancel-sign-sub-inv_binary64_2772 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 distribute-neg-in_binary64_2767 distribute-rgt-neg-out_binary64_2766 distribute-lft-neg-out_binary64_2765 distribute-rgt-neg-in_binary64_2764 distribute-lft-neg-in_binary64_2763 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-rgt-out_binary64_2759 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757 distribute-rgt-in_binary64_2756 distribute-lft-in_binary64_2755 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate-*l*_binary64_2747 associate-*r*_binary64_2746 associate--r-_binary64_2745 associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742 associate-+l-_binary64_2741 associate-+r-_binary64_2740 *-commutative_binary64_2737
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
12013
25613
314313
418813
518613
618613

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.4b
Counts
1 → 1
Compiler

Compiled 9 to 9 computations (0% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.2b
(+.f64 (+.f64 (+.f64 (+.f64 e d) c) b) a)
0.2b
(+.f64 (+.f64 e d) c)
0.2b
(+.f64 (+.f64 (+.f64 e d) c) b)

rewrite86.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-log-exp_binary64_2845 *-un-lft-identity_binary64_2806
19×sum-log_binary64_2897 distribute-lft-out_binary64_2757
pow1_binary64_2867 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 add-cube-cbrt_binary64_2841 add-sqr-sqrt_binary64_2828 flip3-+_binary64_2809 flip-+_binary64_2780 associate-+l+_binary64_2739 +-commutative_binary64_2736
Counts
3 → 51
Calls

3 calls:

13.0ms
(+.f64 (+.f64 (+.f64 (+.f64 e d) c) b) a)
9.0ms
(+.f64 (+.f64 (+.f64 e d) c) b)
7.0ms
(+.f64 (+.f64 e d) c)
Compiler

Compiled 808 to 196 computations (75.7% saved)

series316.0ms (6%)

Error
0.1b
Counts
3 → 72
Calls

3 calls:

133.0ms
(+.f64 (+.f64 (+.f64 (+.f64 e d) c) b) a)
94.0ms
(+.f64 (+.f64 (+.f64 e d) c) b)
57.0ms
(+.f64 (+.f64 e d) c)
Compiler

Compiled 1268 to 939 computations (25.9% saved)

simplify88.0ms (1.7%)

Algorithm
egg-herbie
Rules
672×associate--r+_binary64_2742
506×associate-+r+_binary64_2738
458×associate--l+_binary64_2743
323×sub-neg_binary64_2799
232×cancel-sign-sub-inv_binary64_2772
180×+-commutative_binary64_2736
164×distribute-neg-in_binary64_2767
151×unsub-neg_binary64_2800
148×associate-*l*_binary64_2747
144×neg-mul-1_binary64_2802
134×associate-*r*_binary64_2746
133×neg-sub0_binary64_2801
128×*-commutative_binary64_2737
122×distribute-rgt-in_binary64_2756
110×exp-sum_binary64_2852 distribute-lft-in_binary64_2755
98×distribute-rgt-out_binary64_2759
97×associate-+l+_binary64_2739
77×associate--r-_binary64_2745
72×unswap-sqr_binary64_2774
50×prod-exp_binary64_2855
45×sub0-neg_binary64_2793
43×distribute-rgt-neg-in_binary64_2764 associate-+r-_binary64_2740
39×sqr-pow_binary64_2778
35×distribute-lft-neg-in_binary64_2763
33×distribute-rgt-out--_binary64_2760
28×+-rgt-identity_binary64_2791
26×associate-+l-_binary64_2741
17×associate--l-_binary64_2744
13×cube-unmult_binary64_2843 difference-of-squares_binary64_2775
12×distribute-lft-neg-out_binary64_2765
10×remove-double-neg_binary64_2794
unpow3_binary64_2872 pow-plus_binary64_2869 cube-mult_binary64_2836
*-lft-identity_binary64_2795
--rgt-identity_binary64_2792
distribute-neg-out_binary64_2768 distribute-rgt-neg-out_binary64_2766
1-exp_binary64_2850
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_3069 erf-erfc_binary64_3068 erf-odd_binary64_3067 if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 not-gte_binary64_3058 not-lte_binary64_3057 not-gt_binary64_3056 not-lt_binary64_3055 gte-same_binary64_3054 lte-same_binary64_3053 gt-same_binary64_3052 lt-same_binary64_3051 sinh---cosh_binary64_2998 sinh-+-cosh_binary64_2997 sinh-cosh_binary64_2996 tanh-def-c_binary64_2995 tanh-def-b_binary64_2994 tanh-def-a_binary64_2993 cosh-def_binary64_2992 sinh-def_binary64_2991 tan-neg_binary64_2938 cos-neg_binary64_2937 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-pow_binary64_2895 log-rec_binary64_2894 log-div_binary64_2893 log-prod_binary64_2892 pow-base-0_binary64_2890 unpow1/3_binary64_2873 unpow2_binary64_2871 unpow1/2_binary64_2870 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 exp-prod_binary64_2858 div-exp_binary64_2857 rec-exp_binary64_2856 exp-diff_binary64_2854 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-div_binary64_2835 cube-prod_binary64_2834 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 swap-sqr_binary64_2773 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748
Counts
123 → 151
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061275
12831248
210171230
323491230
445871230
548531230

prune106.0ms (2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1456151
Fresh000
Picked101
Done000
Total1466152
Error
0b
Counts
152 → 6
Compiler

Compiled 2461 to 410 computations (83.3% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.2b
(+.f64 e (+.f64 (+.f64 b c) a))
0.2b
(+.f64 d (+.f64 e (+.f64 (+.f64 b c) a)))
0.3b
(+.f64 (+.f64 b c) a)

rewrite68.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-log-exp_binary64_2845 *-un-lft-identity_binary64_2806
19×sum-log_binary64_2897 distribute-lft-out_binary64_2757
pow1_binary64_2867 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 add-cube-cbrt_binary64_2841 add-sqr-sqrt_binary64_2828 flip3-+_binary64_2809 flip-+_binary64_2780 +-commutative_binary64_2736
associate-+r+_binary64_2738
associate-+l+_binary64_2739
Counts
3 → 51
Calls

3 calls:

11.0ms
(+.f64 d (+.f64 e (+.f64 (+.f64 b c) a)))
8.0ms
(+.f64 e (+.f64 (+.f64 b c) a))
6.0ms
(+.f64 (+.f64 b c) a)
Compiler

Compiled 808 to 196 computations (75.7% saved)

series302.0ms (5.7%)

Error
0b
Counts
3 → 72
Calls

3 calls:

118.0ms
(+.f64 d (+.f64 e (+.f64 (+.f64 b c) a)))
95.0ms
(+.f64 e (+.f64 (+.f64 b c) a))
63.0ms
(+.f64 (+.f64 b c) a)
Compiler

Compiled 1268 to 923 computations (27.2% saved)

simplify92.0ms (1.7%)

Algorithm
egg-herbie
Rules
663×associate-+l+_binary64_2739
617×associate-+r+_binary64_2738
412×sub-neg_binary64_2799
382×distribute-neg-in_binary64_2767
293×neg-mul-1_binary64_2802
272×associate--r+_binary64_2742
271×cancel-sign-sub-inv_binary64_2772
239×unsub-neg_binary64_2800
180×+-commutative_binary64_2736
172×associate--l+_binary64_2743
169×distribute-rgt-in_binary64_2756
157×distribute-lft-in_binary64_2755
152×*-commutative_binary64_2737
130×associate-*r*_binary64_2746
128×associate-*l*_binary64_2747
108×exp-sum_binary64_2852
77×neg-sub0_binary64_2801
55×prod-exp_binary64_2855
37×distribute-lft-neg-out_binary64_2765
34×associate-+r-_binary64_2740
31×distribute-rgt-neg-out_binary64_2766
28×+-rgt-identity_binary64_2791 associate-+l-_binary64_2741
26×sqr-pow_binary64_2778
15×distribute-rgt-neg-in_binary64_2764
14×sub0-neg_binary64_2793
13×cube-unmult_binary64_2843
12×unpow3_binary64_2872 unswap-sqr_binary64_2774
difference-of-squares_binary64_2775 distribute-lft-neg-in_binary64_2763
distribute-rgt-out--_binary64_2760
cube-mult_binary64_2836 distribute-neg-out_binary64_2768 distribute-rgt-out_binary64_2759 associate--l-_binary64_2744
1-exp_binary64_2850
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_3069 erf-erfc_binary64_3068 erf-odd_binary64_3067 if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 not-gte_binary64_3058 not-lte_binary64_3057 not-gt_binary64_3056 not-lt_binary64_3055 gte-same_binary64_3054 lte-same_binary64_3053 gt-same_binary64_3052 lt-same_binary64_3051 sinh---cosh_binary64_2998 sinh-+-cosh_binary64_2997 sinh-cosh_binary64_2996 tanh-def-c_binary64_2995 tanh-def-b_binary64_2994 tanh-def-a_binary64_2993 cosh-def_binary64_2992 sinh-def_binary64_2991 tan-neg_binary64_2938 cos-neg_binary64_2937 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-pow_binary64_2895 log-rec_binary64_2894 log-div_binary64_2893 log-prod_binary64_2892 pow-base-0_binary64_2890 unpow1/3_binary64_2873 unpow2_binary64_2871 unpow1/2_binary64_2870 pow-plus_binary64_2869 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 exp-prod_binary64_2858 div-exp_binary64_2857 rec-exp_binary64_2856 exp-diff_binary64_2854 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-div_binary64_2835 cube-prod_binary64_2834 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 swap-sqr_binary64_2773 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate--r-_binary64_2745
Counts
123 → 115
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01011263
12811236
211631233
337881233
448541233
547111233

prune71.0ms (1.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1150115
Fresh055
Picked011
Done000
Total1156121
Error
0b
Counts
121 → 6
Compiler

Compiled 1815 to 343 computations (81.1% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.2b
(+.f64 (+.f64 e d) (+.f64 b c))
0.2b
(+.f64 (+.f64 (+.f64 e d) (+.f64 b c)) a)

rewrite61.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
32×add-log-exp_binary64_2845 *-un-lft-identity_binary64_2806
21×sum-log_binary64_2897 distribute-lft-out_binary64_2757
flip3-+_binary64_2809 flip-+_binary64_2780
frac-add_binary64_2814
pow1_binary64_2867 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 add-cube-cbrt_binary64_2841 add-sqr-sqrt_binary64_2828 associate-+l+_binary64_2739 +-commutative_binary64_2736
associate-+r+_binary64_2738
Counts
2 → 45
Calls

2 calls:

13.0ms
(+.f64 (+.f64 (+.f64 e d) (+.f64 b c)) a)
8.0ms
(+.f64 (+.f64 e d) (+.f64 b c))
Compiler

Compiled 838 to 199 computations (76.3% saved)

series230.0ms (4.3%)

Error
0b
Counts
2 → 54
Calls

2 calls:

124.0ms
(+.f64 (+.f64 (+.f64 e d) (+.f64 b c)) a)
85.0ms
(+.f64 (+.f64 e d) (+.f64 b c))
Compiler

Compiled 923 to 696 computations (24.6% saved)

simplify93.0ms (1.8%)

Algorithm
egg-herbie
Rules
568×associate-+r+_binary64_2738
372×sub-neg_binary64_2799
322×associate-*l*_binary64_2747
318×associate-*r*_binary64_2746
273×*-commutative_binary64_2737
248×neg-sub0_binary64_2801
243×neg-mul-1_binary64_2802
238×cancel-sign-sub-inv_binary64_2772
220×+-commutative_binary64_2736
191×distribute-rgt-out_binary64_2759
178×distribute-rgt-in_binary64_2756
174×distribute-neg-in_binary64_2767
173×unsub-neg_binary64_2800
165×associate--r+_binary64_2742
162×distribute-lft-in_binary64_2755
119×exp-sum_binary64_2852
113×associate--l+_binary64_2743
91×associate-+l+_binary64_2739
75×distribute-rgt-neg-out_binary64_2766
73×distribute-lft-neg-out_binary64_2765
69×distribute-rgt-neg-in_binary64_2764
61×distribute-lft-neg-in_binary64_2763
48×associate-+r-_binary64_2740
38×unswap-sqr_binary64_2774 distribute-rgt-out--_binary64_2760
37×associate-+l-_binary64_2741
35×prod-exp_binary64_2855
34×+-rgt-identity_binary64_2791 sqr-pow_binary64_2778
20×sub0-neg_binary64_2793
17×cube-unmult_binary64_2843
16×unpow3_binary64_2872
11×difference-of-squares_binary64_2775
cube-mult_binary64_2836
1-exp_binary64_2850 distribute-neg-out_binary64_2768
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_3069 erf-erfc_binary64_3068 erf-odd_binary64_3067 if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 not-gte_binary64_3058 not-lte_binary64_3057 not-gt_binary64_3056 not-lt_binary64_3055 gte-same_binary64_3054 lte-same_binary64_3053 gt-same_binary64_3052 lt-same_binary64_3051 sinh---cosh_binary64_2998 sinh-+-cosh_binary64_2997 sinh-cosh_binary64_2996 tanh-def-c_binary64_2995 tanh-def-b_binary64_2994 tanh-def-a_binary64_2993 cosh-def_binary64_2992 sinh-def_binary64_2991 tan-neg_binary64_2938 cos-neg_binary64_2937 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-pow_binary64_2895 log-rec_binary64_2894 log-div_binary64_2893 log-prod_binary64_2892 pow-base-0_binary64_2890 unpow1/3_binary64_2873 unpow2_binary64_2871 unpow1/2_binary64_2870 pow-plus_binary64_2869 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 exp-prod_binary64_2858 div-exp_binary64_2857 rec-exp_binary64_2856 exp-diff_binary64_2854 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-div_binary64_2835 cube-prod_binary64_2834 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 swap-sqr_binary64_2773 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate--r-_binary64_2745 associate--l-_binary64_2744
Counts
99 → 123
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251333
13821306
214371273
335811273
447811273
549651273

prune85.0ms (1.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1230123
Fresh044
Picked011
Done011
Total1236129
Error
0b
Counts
129 → 6
Compiler

Compiled 2577 to 446 computations (82.7% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(+.f64 (+.f64 e d) c)
0.3b
(+.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b) a)
0.3b
(+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b)
0.4b
(*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e))))

rewrite139.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×*-un-lft-identity_binary64_2806
16×add-log-exp_binary64_2845 add-sqr-sqrt_binary64_2828
14×sqrt-prod_binary64_2822
12×sqrt-div_binary64_2823
10×distribute-lft-out_binary64_2757
flip3-+_binary64_2809 flip-+_binary64_2780
pow1_binary64_2867 add-cube-cbrt_binary64_2841 associate-*l*_binary64_2747 associate-*r*_binary64_2746
sum-log_binary64_2897
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
frac-times_binary64_2816 unswap-sqr_binary64_2774
pow-prod-down_binary64_2877 +-commutative_binary64_2736
pow1/2_binary64_2886 sqrt-pow1_binary64_2824 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate-+l+_binary64_2739
prod-exp_binary64_2855 cbrt-unprod_binary64_2839 sqrt-unprod_binary64_2826 *-commutative_binary64_2737
Counts
4 → 82
Calls

4 calls:

20.0ms
(*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e))))
17.0ms
(+.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b) a)
15.0ms
(+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b)
6.0ms
(+.f64 (+.f64 e d) c)
Compiler

Compiled 2402 to 433 computations (82% saved)

series387.0ms (7.3%)

Error
0b
Counts
4 → 90
Calls

4 calls:

123.0ms
(+.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b) a)
101.0ms
(+.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e)))) b)
68.0ms
(*.f64 (sqrt.f64 (+.f64 (+.f64 e d) c)) (sqrt.f64 (+.f64 d (+.f64 c e))))
61.0ms
(+.f64 (+.f64 e d) c)
Compiler

Compiled 1973 to 1333 computations (32.4% saved)

simplify121.0ms (2.3%)

Algorithm
egg-herbie
Rules
567×associate-+r+_binary64_2738
428×cancel-sign-sub-inv_binary64_2772
383×associate-*l*_binary64_2747
357×sub-neg_binary64_2799
336×associate-*r*_binary64_2746
232×unsub-neg_binary64_2800
212×neg-mul-1_binary64_2802
204×neg-sub0_binary64_2801 distribute-neg-in_binary64_2767
201×+-commutative_binary64_2736
184×*-commutative_binary64_2737
156×distribute-rgt-in_binary64_2756
153×associate--r+_binary64_2742
143×exp-sum_binary64_2852
140×distribute-lft-in_binary64_2755
123×associate--l+_binary64_2743
106×associate-+l+_binary64_2739
94×distribute-rgt-neg-in_binary64_2764
73×distribute-lft-neg-in_binary64_2763
67×distribute-rgt-out--_binary64_2760
60×unswap-sqr_binary64_2774
57×associate-+r-_binary64_2740
50×sqr-pow_binary64_2778
49×prod-exp_binary64_2855
36×associate-+l-_binary64_2741
35×exp-prod_binary64_2858
34×+-rgt-identity_binary64_2791
31×*-rgt-identity_binary64_2796
29×*-lft-identity_binary64_2795
28×cube-prod_binary64_2834
25×distribute-lft-neg-out_binary64_2765
20×cube-unmult_binary64_2843 sub0-neg_binary64_2793
19×log-prod_binary64_2892 unpow3_binary64_2872
16×difference-of-squares_binary64_2775
13×swap-sqr_binary64_2773
12×distribute-rgt-neg-out_binary64_2766
10×distribute-rgt-out_binary64_2759
cube-mult_binary64_2836
pow-plus_binary64_2869 exp-diff_binary64_2854
rem-sqrt-square_binary64_2819 distribute-neg-out_binary64_2768
pow-sqr_binary64_2779
div-sub_binary64_2811
rem-square-sqrt_binary64_2818
log-pow_binary64_2895 unpow1/2_binary64_2870 distribute-lft-out_binary64_2757 associate-/l*_binary64_2751
unpow2_binary64_2871 1-exp_binary64_2850 exp-1-e_binary64_2849 sqr-neg_binary64_2820 distribute-lft-out--_binary64_2758 count-2_binary64_2754
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_3069 erf-erfc_binary64_3068 erf-odd_binary64_3067 if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 not-gte_binary64_3058 not-lte_binary64_3057 not-gt_binary64_3056 not-lt_binary64_3055 gte-same_binary64_3054 lte-same_binary64_3053 gt-same_binary64_3052 lt-same_binary64_3051 sinh---cosh_binary64_2998 sinh-+-cosh_binary64_2997 sinh-cosh_binary64_2996 tanh-def-c_binary64_2995 tanh-def-b_binary64_2994 tanh-def-a_binary64_2993 cosh-def_binary64_2992 sinh-def_binary64_2991 tan-neg_binary64_2938 cos-neg_binary64_2937 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-rec_binary64_2894 log-div_binary64_2893 pow-base-0_binary64_2890 unpow1/3_binary64_2873 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 div-exp_binary64_2857 rec-exp_binary64_2856 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-div_binary64_2835 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 times-frac_binary64_2812 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate--r-_binary64_2745 associate--l-_binary64_2744
Counts
172 → 242
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01702087
14122060
213531988
334061988
444161988
548681988

prune166.0ms (3.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2420242
Fresh033
Picked011
Done022
Total2426248
Error
0b
Counts
248 → 6
Compiler

Compiled 5608 to 825 computations (85.3% saved)

regimes903.0ms (17.1%)

Accuracy

Total 0.0b remaining (100%)

Threshold costs 0.0b (100%)

Compiler

Compiled 9261 to 7524 computations (18.8% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2737
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_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 unpow1_binary64_2864 e-exp-1_binary64_2851 1-exp_binary64_2850 exp-1-e_binary64_2849 exp-0_binary64_2848 sqr-abs_binary64_2821 sqr-neg_binary64_2820 neg-mul-1_binary64_2802 neg-sub0_binary64_2801 unsub-neg_binary64_2800 sub-neg_binary64_2799 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 remove-double-neg_binary64_2794 sub0-neg_binary64_2793 --rgt-identity_binary64_2792 +-rgt-identity_binary64_2791 +-lft-identity_binary64_2790 cancel-sign-sub-inv_binary64_2772 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 distribute-neg-in_binary64_2767 distribute-rgt-neg-out_binary64_2766 distribute-lft-neg-out_binary64_2765 distribute-rgt-neg-in_binary64_2764 distribute-lft-neg-in_binary64_2763 +-commutative_binary64_2736
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01625
12025
22025

end0.0ms (0%)

sample1.8s (34%)

Algorithm
intervals
Results
358.0ms8000×pre128true
207.0ms8000×body128valid
Compiler

Compiled 976 to 801 computations (17.9% saved)

Profiling

Loading profile data...