Details

Time bar (total: 16.9s)

analyze652.0ms (3.9%)

Algorithm
search
egg-herbie
Rules
756×neg-mul-1_binary64_2802
741×neg-sub0_binary64_2801
638×associate-/l*_binary64_2751
470×distribute-frac-neg_binary64_2769
468×div-sub_binary64_2811
448×unsub-neg_binary64_2800
352×sub-neg_binary64_2799
260×distribute-rgt-in_binary64_2756
256×times-frac_binary64_2812
236×distribute-lft-neg-out_binary64_2765
234×distribute-rgt-neg-out_binary64_2766
198×distribute-lft-in_binary64_2755 associate-*l/_binary64_2749
187×associate-*l*_binary64_2747
177×cancel-sign-sub-inv_binary64_2772
173×associate-*r/_binary64_2748
172×distribute-neg-frac_binary64_2770
170×associate-*r*_binary64_2746
155×associate-/r/_binary64_2752
149×associate-/r*_binary64_2750
122×*-lft-identity_binary64_2795
117×associate-/l/_binary64_2753
103×*-rgt-identity_binary64_2796
97×*-commutative_binary64_2737
90×remove-double-neg_binary64_2794
82×distribute-rgt-neg-in_binary64_2764
78×cancel-sign-sub_binary64_2771
77×/-rgt-identity_binary64_2797
53×div0_binary64_2787
44×distribute-rgt-out_binary64_2759 associate--r+_binary64_2742 +-commutative_binary64_2736
42×distribute-lft-neg-in_binary64_2763
40×distribute-rgt-out--_binary64_2760
34×+-lft-identity_binary64_2790
32×associate-+l-_binary64_2741 associate-+r+_binary64_2738
29×distribute-neg-in_binary64_2767
28×sub0-neg_binary64_2793 distribute-neg-out_binary64_2768
24×associate-+r-_binary64_2740
22×associate-+l+_binary64_2739
19×+-rgt-identity_binary64_2791
17×remove-double-div_binary64_2782
16×difference-of-squares_binary64_2775
15×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
12×distribute-lft-out_binary64_2757
10×associate--r-_binary64_2745
associate--l+_binary64_2743
swap-sqr_binary64_2773
associate--l-_binary64_2744
sqr-neg_binary64_2820 --rgt-identity_binary64_2792
mul-1-neg_binary64_2798
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 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 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 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 pow-sqr_binary64_2779 sqr-pow_binary64_2778 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 unswap-sqr_binary64_2774 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-lft-out--_binary64_2758 count-2_binary64_2754
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054208
1161200
2483200
31371192
42735192
53995192
64316192
74707192
85013192
033
133
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%68.6%18.9%6
18.7%62.4%18.9%7
18.7%59.3%22%8
28.1%39%32.9%9
32.8%34.3%32.9%10
32.8%32%35.3%11
38.2%20.7%41.1%12
41%17.9%41.1%13
41%16.6%42.5%14
Compiler

Compiled 38 to 24 computations (36.8% saved)

sample60.0ms (0.4%)

Algorithm
intervals
Results
42.0ms246×body256valid
2.0ms30×body128nan
1.0ms10×body128valid
Compiler

Compiled 75 to 50 computations (33.3% saved)

simplify231.0ms (1.4%)

Algorithm
egg-herbie
Rules
637×associate-/l*_binary64_2751
634×div-sub_binary64_2811
582×unsub-neg_binary64_2800
519×sub-neg_binary64_2799
502×times-frac_binary64_2812
356×distribute-rgt-out--_binary64_2760
307×neg-mul-1_binary64_2802
295×distribute-rgt-neg-in_binary64_2764
286×associate-/l/_binary64_2753
280×neg-sub0_binary64_2801
252×associate-/r/_binary64_2752
250×distribute-lft-neg-out_binary64_2765
246×distribute-neg-out_binary64_2768
212×associate-/r*_binary64_2750 *-commutative_binary64_2737
210×+-commutative_binary64_2736
208×distribute-rgt-out_binary64_2759
203×distribute-rgt-in_binary64_2756
199×distribute-rgt-neg-out_binary64_2766
186×distribute-neg-frac_binary64_2770
160×associate-*r/_binary64_2748
145×cancel-sign-sub-inv_binary64_2772
137×associate-*l/_binary64_2749
133×distribute-neg-in_binary64_2767
123×distribute-lft-in_binary64_2755
113×associate-+l+_binary64_2739
106×distribute-lft-out--_binary64_2758
100×distribute-frac-neg_binary64_2769
98×associate-+l-_binary64_2741
90×associate-*l*_binary64_2747
81×associate-+r+_binary64_2738
78×associate-*r*_binary64_2746 associate--r-_binary64_2745
63×associate--r+_binary64_2742
59×distribute-lft-neg-in_binary64_2763
46×*-lft-identity_binary64_2795
44×associate-+r-_binary64_2740
43×*-rgt-identity_binary64_2796 distribute-lft-out_binary64_2757
35×remove-double-neg_binary64_2794 sub0-neg_binary64_2793
34×associate--l+_binary64_2743
27×mul0-rgt_binary64_2789 swap-sqr_binary64_2773
25×mul0-lft_binary64_2788
24×distribute-rgt1-in_binary64_2762
23×associate--l-_binary64_2744
20×mul-1-neg_binary64_2798
18×div0_binary64_2787
14×cancel-sign-sub_binary64_2771
+-lft-identity_binary64_2790
+-rgt-identity_binary64_2791
sqr-neg_binary64_2820
/-rgt-identity_binary64_2797 --rgt-identity_binary64_2792 +-inverses_binary64_2785
difference-of-squares_binary64_2775 distribute-lft1-in_binary64_2761
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 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 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 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 *-inverses_binary64_2786 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 unswap-sqr_binary64_2774 count-2_binary64_2754
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15350
213950
338148
473548
5118948
6140948
7189348
8185348
9223548
10288948
11345748
12363948
13374948
14379748
15382148
16387148
17485848
18479948
19498048
20483448

prune7.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
37.2b
Counts
2 → 2
Compiler

Compiled 99 to 59 computations (40.4% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.0b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
9.7b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite220.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
32.8b
Rules
14×add-sqr-sqrt_binary64_2828
11×cbrt-prod_binary64_2837
10×*-un-lft-identity_binary64_2806
sqrt-prod_binary64_2822
add-cube-cbrt_binary64_2841
pow1_binary64_2867 times-frac_binary64_2812
add-log-exp_binary64_2845 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 sqrt-div_binary64_2823 difference-of-squares_binary64_2775
pow1/2_binary64_2886 sqrt-pow1_binary64_2824 flip3--_binary64_2810 flip--_binary64_2781 rem-sqrt-square_binary64_2819 pow1/3_binary64_2888 cbrt-div_binary64_2838
distribute-lft-out--_binary64_2758 div-inv_binary64_2803 associate-*l/_binary64_2749
Counts
4 → 61
Calls

4 calls:

9.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
9.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
5.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2345 to 702 computations (70.1% saved)

series1.8s (10.9%)

Error
33.1b
Counts
4 → 42
Calls

4 calls:

900.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
622.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
107.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
107.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 4372 to 3208 computations (26.6% saved)

simplify76.0ms (0.5%)

Algorithm
egg-herbie
Rules
855×times-frac_binary64_2812
428×associate-/l*_binary64_2751
338×associate-*l*_binary64_2747
321×associate-/r*_binary64_2750
98×associate-*l/_binary64_2749
90×associate-*r/_binary64_2748
86×sub-neg_binary64_2799
82×*-commutative_binary64_2737
80×distribute-rgt-in_binary64_2756
77×distribute-lft-in_binary64_2755
76×associate-/r/_binary64_2752
65×associate-*r*_binary64_2746
62×sqr-pow_binary64_2778
61×exp-sum_binary64_2852
59×cancel-sign-sub-inv_binary64_2772
46×exp-prod_binary64_2858 unswap-sqr_binary64_2774
41×distribute-rgt-neg-in_binary64_2764
37×distribute-lft-neg-in_binary64_2763 +-commutative_binary64_2736
33×div-sub_binary64_2811
31×neg-sub0_binary64_2801
29×exp-diff_binary64_2854
28×neg-mul-1_binary64_2802
21×distribute-neg-frac_binary64_2770
17×log-div_binary64_2893 unsub-neg_binary64_2800
15×distribute-lft-neg-out_binary64_2765
13×unpow1/3_binary64_2873 pow-sqr_binary64_2779
11×difference-of-squares_binary64_2775 distribute-rgt-neg-out_binary64_2766 distribute-rgt-out_binary64_2759 associate-+l-_binary64_2741
10×log-prod_binary64_2892
exp-to-pow_binary64_2868 associate-+l+_binary64_2739
distribute-neg-in_binary64_2767 associate-+r-_binary64_2740 associate-+r+_binary64_2738
cube-unmult_binary64_2843
unpow3_binary64_2872 exp-neg_binary64_2853 cube-prod_binary64_2834 associate--r-_binary64_2745 associate--l-_binary64_2744
log-pow_binary64_2895 log-rec_binary64_2894 pow-plus_binary64_2869 cube-mult_binary64_2836 rem-sqrt-square_binary64_2819 mul-1-neg_binary64_2798
unpow2_binary64_2871 unpow1/2_binary64_2870 unpow1_binary64_2864 rem-3cbrt-lft_binary64_2831 remove-double-neg_binary64_2794 distribute-lft-out_binary64_2757 associate--r+_binary64_2742
exp-lft-sqr_binary64_2861 1-exp_binary64_2850 rem-square-sqrt_binary64_2818 +-rgt-identity_binary64_2791
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 pow-base-0_binary64_2890 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 div-exp_binary64_2857 rec-exp_binary64_2856 prod-exp_binary64_2855 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-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 sub0-neg_binary64_2793 --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 swap-sqr_binary64_2773 cancel-sign-sub_binary64_2771 distribute-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-lft-out--_binary64_2758 count-2_binary64_2754 associate-/l/_binary64_2753 associate--l+_binary64_2743
Counts
103 → 62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02382515
15062467
212622406
350282406

prune187.0ms (1.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New481462
Fresh011
Picked101
Done000
Total491564
Error
32.8b
Counts
64 → 15
Compiler

Compiled 2522 to 1170 computations (53.6% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.8b
(-.f64 (*.f64 g g) (*.f64 h h))
8.0b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite574.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
32.8b
Rules
add-sqr-sqrt_binary64_2828 sqrt-prod_binary64_2822
pow1_binary64_2867 add-log-exp_binary64_2845 add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 sqrt-div_binary64_2823
flip3--_binary64_2810 flip--_binary64_2781 difference-of-squares_binary64_2775
pow1/2_binary64_2886 sqrt-pow1_binary64_2824 rem-sqrt-square_binary64_2819
pow1/3_binary64_2888 associate-*l/_binary64_2749 cbrt-div_binary64_2838 cbrt-prod_binary64_2837 diff-log_binary64_2898 sub-neg_binary64_2799 cancel-sign-sub-inv_binary64_2772
Counts
4 → 55
Calls

4 calls:

9.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2164 to 675 computations (68.8% saved)

series1.1s (6.3%)

Error
31.9b
Counts
4 → 41
Calls

4 calls:

592.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
149.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
112.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
108.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3291 to 2398 computations (27.1% saved)

simplify169.0ms (1%)

Algorithm
egg-herbie
Rules
302×exp-sum_binary64_2852
300×cancel-sign-sub-inv_binary64_2772
250×unswap-sqr_binary64_2774
219×exp-prod_binary64_2858
203×associate-*r*_binary64_2746
202×associate-*l*_binary64_2747
180×exp-diff_binary64_2854
162×sub-neg_binary64_2799
131×distribute-neg-frac_binary64_2770
120×log-prod_binary64_2892
115×distribute-rgt-in_binary64_2756
114×*-commutative_binary64_2737
112×distribute-lft-in_binary64_2755
110×sqr-pow_binary64_2778
97×unsub-neg_binary64_2800
96×times-frac_binary64_2812
94×div-sub_binary64_2811
85×associate-/l*_binary64_2751
73×neg-sub0_binary64_2801
66×log-div_binary64_2893
63×neg-mul-1_binary64_2802
51×log-pow_binary64_2895 +-commutative_binary64_2736
50×associate-/r*_binary64_2750
43×associate-+r-_binary64_2740
42×exp-to-pow_binary64_2868
40×distribute-rgt-neg-in_binary64_2764
39×difference-of-squares_binary64_2775
36×unpow1/3_binary64_2873
35×distribute-lft-neg-in_binary64_2763
31×pow-plus_binary64_2869
26×associate-*l/_binary64_2749
24×associate-*r/_binary64_2748
23×pow-sqr_binary64_2779 associate-+l-_binary64_2741
22×associate-+r+_binary64_2738
20×associate-+l+_binary64_2739
19×rem-exp-log_binary64_2846
18×unpow3_binary64_2872
17×associate--r-_binary64_2745
15×swap-sqr_binary64_2773
14×distribute-lft-neg-out_binary64_2765
13×cube-unmult_binary64_2843
12×+-rgt-identity_binary64_2791
11×sub0-neg_binary64_2793 distribute-rgt-out_binary64_2759 associate-/r/_binary64_2752
10×exp-neg_binary64_2853 cube-prod_binary64_2834 mul0-rgt_binary64_2789 mul0-lft_binary64_2788
distribute-rgt-neg-out_binary64_2766
mul-1-neg_binary64_2798
associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742
log-rec_binary64_2894 div-exp_binary64_2857 prod-exp_binary64_2855 --rgt-identity_binary64_2792
cube-mult_binary64_2836 distribute-neg-in_binary64_2767
rem-sqrt-square_binary64_2819
unpow2_binary64_2871 remove-double-neg_binary64_2794
unpow1/2_binary64_2870 unpow1_binary64_2864 distribute-lft-out_binary64_2757
pow-base-1_binary64_2866 unpow-1_binary64_2863 1-exp_binary64_2850 rem-3cbrt-lft_binary64_2831 sqr-neg_binary64_2820 rem-square-sqrt_binary64_2818 *-lft-identity_binary64_2795 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 pow-base-0_binary64_2890 unpow0_binary64_2865 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 rec-exp_binary64_2856 e-exp-1_binary64_2851 exp-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 cube-div_binary64_2835 cube-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 +-lft-identity_binary64_2790 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-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-lft-out--_binary64_2758 associate-/l/_binary64_2753
Counts
96 → 63
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01521568
13211487
27651475
326881431
445831427
549111427
649261427
749821427
848971427

prune235.0ms (1.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New60363
Fresh21214
Picked101
Done000
Total631578
Error
31.8b
Counts
78 → 15
Compiler

Compiled 2166 to 971 computations (55.2% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.7b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite278.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
31.7b
Rules
14×add-sqr-sqrt_binary64_2828
10×*-un-lft-identity_binary64_2806 cbrt-prod_binary64_2837
sqrt-prod_binary64_2822
add-cube-cbrt_binary64_2841
pow1_binary64_2867 add-log-exp_binary64_2845 times-frac_binary64_2812
difference-of-squares_binary64_2775
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 sqrt-div_binary64_2823
flip3--_binary64_2810 flip--_binary64_2781
pow1/2_binary64_2886 sqrt-pow1_binary64_2824 rem-sqrt-square_binary64_2819
pow1/3_binary64_2888 cbrt-div_binary64_2838 distribute-lft-out--_binary64_2758 div-inv_binary64_2803 diff-log_binary64_2898 sub-neg_binary64_2799 cancel-sign-sub-inv_binary64_2772
Counts
4 → 64
Calls

4 calls:

9.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
5.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2504 to 788 computations (68.5% saved)

series1.4s (8.3%)

Error
31.8b
Counts
4 → 45
Calls

4 calls:

892.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
154.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
113.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
107.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 4065 to 2980 computations (26.7% saved)

simplify77.0ms (0.5%)

Algorithm
egg-herbie
Rules
856×times-frac_binary64_2812
425×associate-/l*_binary64_2751
381×associate-*l*_binary64_2747
321×associate-/r*_binary64_2750
116×distribute-rgt-in_binary64_2756
113×distribute-lft-in_binary64_2755
97×associate-*l/_binary64_2749
90×associate-*r/_binary64_2748
75×sub-neg_binary64_2799
73×associate-/r/_binary64_2752
68×associate-*r*_binary64_2746
66×*-commutative_binary64_2737
53×sqr-pow_binary64_2778
51×unswap-sqr_binary64_2774
50×cancel-sign-sub-inv_binary64_2772
46×exp-sum_binary64_2852
44×exp-prod_binary64_2858
41×distribute-rgt-neg-in_binary64_2764
35×distribute-lft-neg-in_binary64_2763
31×+-commutative_binary64_2736
30×neg-sub0_binary64_2801
28×neg-mul-1_binary64_2802
23×div-sub_binary64_2811
22×exp-diff_binary64_2854
21×distribute-neg-frac_binary64_2770
17×log-div_binary64_2893 distribute-lft-neg-out_binary64_2765
13×log-prod_binary64_2892
12×pow-sqr_binary64_2779 distribute-rgt-neg-out_binary64_2766
11×unsub-neg_binary64_2800 difference-of-squares_binary64_2775 distribute-rgt-out_binary64_2759
unpow1/3_binary64_2873 associate-+l+_binary64_2739
exp-to-pow_binary64_2868 distribute-neg-in_binary64_2767 associate-+l-_binary64_2741 associate-+r+_binary64_2738
cube-prod_binary64_2834 associate-+r-_binary64_2740
cube-unmult_binary64_2843
unpow3_binary64_2872 pow-plus_binary64_2869 exp-neg_binary64_2853 swap-sqr_binary64_2773
log-pow_binary64_2895 log-rec_binary64_2894 cube-mult_binary64_2836 rem-sqrt-square_binary64_2819 mul-1-neg_binary64_2798 associate--r-_binary64_2745 associate--l-_binary64_2744
unpow2_binary64_2871 unpow1/2_binary64_2870 unpow1_binary64_2864 +-rgt-identity_binary64_2791 distribute-lft-out_binary64_2757 associate--r+_binary64_2742
exp-lft-sqr_binary64_2861 div-exp_binary64_2857 1-exp_binary64_2850 rem-3cbrt-lft_binary64_2831 rem-square-sqrt_binary64_2818 remove-double-neg_binary64_2794 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 pow-base-0_binary64_2890 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 rec-exp_binary64_2856 prod-exp_binary64_2855 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-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 sqr-neg_binary64_2820 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 sub0-neg_binary64_2793 --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-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-lft-out--_binary64_2758 associate-/l/_binary64_2753 associate--l+_binary64_2743
Counts
109 → 65
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02052336
14392265
211652215
351422215

prune229.0ms (1.4%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New61465
Fresh21214
Picked101
Done000
Total641680
Error
31.7b
Counts
80 → 16
Compiler

Compiled 2364 to 1141 computations (51.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.0b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
9.7b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
30.7b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite346.0ms (2%)

Algorithm
rewrite-expression-head
Error
31.7b
Rules
10×cbrt-div_binary64_2838
add-sqr-sqrt_binary64_2828 sqrt-prod_binary64_2822
pow1_binary64_2867 add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
add-log-exp_binary64_2845 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 flip3--_binary64_2810 sqrt-div_binary64_2823 flip--_binary64_2781 frac-times_binary64_2816 associate-*r/_binary64_2748
pow1/2_binary64_2886 sqrt-pow1_binary64_2824 difference-of-squares_binary64_2775 rem-sqrt-square_binary64_2819 pow1/3_binary64_2888 flip3-+_binary64_2809 flip-+_binary64_2780 associate-*l/_binary64_2749 cbrt-prod_binary64_2837
Counts
4 → 60
Calls

4 calls:

17.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
15.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2902 to 1013 computations (65.1% saved)

series1.9s (11.1%)

Error
31.7b
Counts
4 → 42
Calls

4 calls:

879.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
602.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
117.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
112.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 4834 to 3608 computations (25.4% saved)

simplify86.0ms (0.5%)

Algorithm
egg-herbie
Rules
729×associate-/l*_binary64_2751
274×distribute-rgt-in_binary64_2756
269×distribute-lft-in_binary64_2755
129×associate-*r*_binary64_2746
123×cancel-sign-sub-inv_binary64_2772 distribute-rgt-neg-out_binary64_2766
118×distribute-lft-neg-out_binary64_2765
114×sub-neg_binary64_2799 *-commutative_binary64_2737
104×associate-*l*_binary64_2747
103×div-sub_binary64_2811
94×times-frac_binary64_2812
90×associate-/r/_binary64_2752
78×distribute-rgt-neg-in_binary64_2764
75×unsub-neg_binary64_2800
68×distribute-frac-neg_binary64_2769 distribute-lft-neg-in_binary64_2763
67×sqr-pow_binary64_2778
63×exp-sum_binary64_2852
62×neg-sub0_binary64_2801
56×unswap-sqr_binary64_2774
55×neg-mul-1_binary64_2802
50×exp-prod_binary64_2858
48×associate-/r*_binary64_2750
44×distribute-neg-out_binary64_2768 +-commutative_binary64_2736
39×distribute-rgt-out_binary64_2759
30×associate-*l/_binary64_2749
28×exp-diff_binary64_2854
26×associate-*r/_binary64_2748
24×difference-of-squares_binary64_2775
23×log-prod_binary64_2892
20×distribute-neg-in_binary64_2767
19×log-div_binary64_2893 cube-prod_binary64_2834 distribute-lft-out_binary64_2757
17×*-lft-identity_binary64_2795
16×distribute-neg-frac_binary64_2770 associate-+l-_binary64_2741
14×pow-sqr_binary64_2779 associate-+l+_binary64_2739
13×unpow1/3_binary64_2873 *-rgt-identity_binary64_2796
12×distribute-rgt-out--_binary64_2760 associate-+r+_binary64_2738
11×associate-+r-_binary64_2740
10×exp-to-pow_binary64_2868
unpow3_binary64_2872
remove-double-neg_binary64_2794 swap-sqr_binary64_2773 associate--r-_binary64_2745 associate--l-_binary64_2744
cube-unmult_binary64_2843 cube-mult_binary64_2836
pow-plus_binary64_2869 exp-neg_binary64_2853 cube-neg_binary64_2833 mul-1-neg_binary64_2798
log-pow_binary64_2895 log-rec_binary64_2894 sqr-neg_binary64_2820 associate--r+_binary64_2742
unpow2_binary64_2871 unpow1/2_binary64_2870 unpow1_binary64_2864 rem-3cbrt-lft_binary64_2831 rem-sqrt-square_binary64_2819 sub0-neg_binary64_2793 cancel-sign-sub_binary64_2771
exp-lft-sqr_binary64_2861 1-exp_binary64_2850 rem-square-sqrt_binary64_2818 /-rgt-identity_binary64_2797 --rgt-identity_binary64_2792 +-rgt-identity_binary64_2791 +-inverses_binary64_2785 distribute-rgt1-in_binary64_2762 distribute-lft-out--_binary64_2758 associate-/l/_binary64_2753 associate--l+_binary64_2743
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 pow-base-0_binary64_2890 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-cbrt_binary64_2860 exp-sqrt_binary64_2859 div-exp_binary64_2857 rec-exp_binary64_2856 prod-exp_binary64_2855 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 rem-3cbrt-rft_binary64_2832 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 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 distribute-lft1-in_binary64_2761 count-2_binary64_2754
Counts
102 → 74
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02512553
16122515
218932394
351512394

prune317.0ms (1.9%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New68674
Fresh51015
Picked101
Done000
Total741690
Error
31.5b
Counts
90 → 16
Compiler

Compiled 2883 to 1243 computations (56.9% saved)

regimes4.6s (27.2%)

Accuracy

Total 1.7b remaining (5.5%)

Threshold costs 0b (0%)

Compiler

Compiled 57585 to 36181 computations (37.2% saved)

bsearch20.0ms (0.1%)

Compiler

Compiled 37 to 23 computations (37.8% saved)

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
15×+-commutative_binary64_2736
14×*-commutative_binary64_2737
10×sub-neg_binary64_2799
neg-mul-1_binary64_2802 neg-sub0_binary64_2801
distribute-lft-neg-out_binary64_2765 distribute-rgt-neg-in_binary64_2764
1-exp_binary64_2850 unsub-neg_binary64_2800 cancel-sign-sub-inv_binary64_2772 distribute-neg-frac_binary64_2770 distribute-neg-out_binary64_2768 distribute-rgt-neg-out_binary64_2766 distribute-lft-neg-in_binary64_2763
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 exp-1-e_binary64_2849 exp-0_binary64_2848 sqr-abs_binary64_2821 sqr-neg_binary64_2820 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_binary64_2771 distribute-frac-neg_binary64_2769 distribute-neg-in_binary64_2767
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
056327
176327
287327
3101327
4110321
5117321
6120321
7121321
8119321

end8.0ms (0%)

Compiler

Compiled 206 to 88 computations (57.3% saved)

sample2.2s (13.2%)

Algorithm
intervals
Results
1.2s7589×body256valid
93.0ms1212×body128nan
34.0ms411×body128valid
Compiler

Compiled 829 to 486 computations (41.4% saved)

Profiling

Loading profile data...