Details

Time bar (total: 10.3s)

analyze219.0ms (2.1%)

Algorithm
search
egg-herbie
Rules
755×unswap-sqr_binary64_2774
691×distribute-rgt-out_binary64_2759
576×+-commutative_binary64_2736
488×*-commutative_binary64_2737
435×distribute-rgt-in_binary64_2756
404×distribute-lft-in_binary64_2755
375×associate-*l*_binary64_2747
295×associate-*r*_binary64_2746
280×associate-+l+_binary64_2739
231×associate-+r+_binary64_2738
53×associate-*l/_binary64_2749 associate-*r/_binary64_2748
51×distribute-lft-out_binary64_2757
41×sqr-pow_binary64_2778
17×pow-plus_binary64_2869
14×distribute-rgt1-in_binary64_2762
cube-prod_binary64_2834 pow-sqr_binary64_2779
cube-unmult_binary64_2843
associate-/l*_binary64_2751
unpow2_binary64_2871
unpow3_binary64_2872 unpow1/2_binary64_2870 unpow1_binary64_2864 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 swap-sqr_binary64_2773 associate-/r*_binary64_2750
1-exp_binary64_2850 associate-/r/_binary64_2752
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 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 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-mult_binary64_2836 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 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 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 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 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-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-lft-out--_binary64_2758 count-2_binary64_2754 associate-/l/_binary64_2753 associate--r-_binary64_2745 associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742 associate-+l-_binary64_2741 associate-+r-_binary64_2740
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046256
1133160
2489115
31780106
43058106
53882106
64227106
75240106
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
81.2%18.7%0%6
100%0%0%7
Compiler

Compiled 174 to 47 computations (73% saved)

sample47.0ms (0.5%)

Algorithm
intervals
Results
30.0ms256×body128valid
Compiler

Compiled 347 to 94 computations (72.9% saved)

simplify68.0ms (0.7%)

Algorithm
egg-herbie
Rules
755×unswap-sqr_binary64_2774
691×distribute-rgt-out_binary64_2759
576×+-commutative_binary64_2736
488×*-commutative_binary64_2737
435×distribute-rgt-in_binary64_2756
404×distribute-lft-in_binary64_2755
375×associate-*l*_binary64_2747
295×associate-*r*_binary64_2746
280×associate-+l+_binary64_2739
231×associate-+r+_binary64_2738
53×associate-*l/_binary64_2749 associate-*r/_binary64_2748
51×distribute-lft-out_binary64_2757
41×sqr-pow_binary64_2778
17×pow-plus_binary64_2869
14×distribute-rgt1-in_binary64_2762
cube-prod_binary64_2834 pow-sqr_binary64_2779
cube-unmult_binary64_2843
associate-/l*_binary64_2751
unpow2_binary64_2871
unpow3_binary64_2872 unpow1/2_binary64_2870 unpow1_binary64_2864 /-rgt-identity_binary64_2797 *-rgt-identity_binary64_2796 *-lft-identity_binary64_2795 swap-sqr_binary64_2773 associate-/r*_binary64_2750
1-exp_binary64_2850 associate-/r/_binary64_2752
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 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 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-mult_binary64_2836 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 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 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 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 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-lft1-in_binary64_2761 distribute-rgt-out--_binary64_2760 distribute-lft-out--_binary64_2758 count-2_binary64_2754 associate-/l/_binary64_2753 associate--r-_binary64_2745 associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742 associate-+l-_binary64_2741 associate-+r-_binary64_2740
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046256
1133160
2489115
31780106
43058106
53882106
64227106
75240106

prune13.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 244 to 103 computations (57.8% saved)

localize44.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 1737369620307813/2251799813685248 (*.f64 x x))
0.1b
(*.f64 3782789308857969/36028797018963968 (*.f64 x x))
14.9b
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
29.3b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))

rewrite1.2s (11.6%)

Algorithm
rewrite-expression-head
Error
29.8b
Rules
29×add-sqr-sqrt_binary64_2828
22×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
21×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 associate-*l*_binary64_2747
19×times-frac_binary64_2812
16×pow1_binary64_2867
prod-exp_binary64_2855 cbrt-unprod_binary64_2839
pow-prod-down_binary64_2877
associate-*r*_binary64_2746
add-log-exp_binary64_2845 associate-/r/_binary64_2752 unswap-sqr_binary64_2774
flip3-+_binary64_2809 flip-+_binary64_2780 associate-/l*_binary64_2751 associate-/r*_binary64_2750 *-commutative_binary64_2737
div-exp_binary64_2857 cbrt-undiv_binary64_2840 div-inv_binary64_2803 associate-/l/_binary64_2753
frac-2neg_binary64_2817 clear-num_binary64_2805 associate-*l/_binary64_2749
Counts
4 → 103
Calls

4 calls:

100.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
88.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
7.0ms
(*.f64 1737369620307813/2251799813685248 (*.f64 x x))
7.0ms
(*.f64 3782789308857969/36028797018963968 (*.f64 x x))
Compiler

Compiled 26812 to 6290 computations (76.5% saved)

series559.0ms (5.4%)

Error
0.0b
Counts
4 → 22
Calls

4 calls:

213.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
175.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
63.0ms
(*.f64 1737369620307813/2251799813685248 (*.f64 x x))
61.0ms
(*.f64 3782789308857969/36028797018963968 (*.f64 x x))
Compiler

Compiled 3542 to 1191 computations (66.4% saved)

simplify318.0ms (3.1%)

Algorithm
egg-herbie
Rules
504×times-frac_binary64_2812
402×cancel-sign-sub-inv_binary64_2772
284×associate-*r*_binary64_2746
261×associate-*l*_binary64_2747
221×distribute-rgt-out_binary64_2759
189×distribute-rgt-neg-in_binary64_2764
174×distribute-lft-neg-in_binary64_2763
161×*-commutative_binary64_2737
160×cube-prod_binary64_2834
123×distribute-rgt-in_binary64_2756
111×distribute-lft-in_binary64_2755
106×distribute-neg-in_binary64_2767
101×swap-sqr_binary64_2773
84×unswap-sqr_binary64_2774
74×sub-neg_binary64_2799
72×distribute-rgt-out--_binary64_2760 associate-+l+_binary64_2739
68×+-commutative_binary64_2736
66×distribute-lft-out_binary64_2757
58×associate-/l/_binary64_2753
52×associate-*l/_binary64_2749
48×sqr-pow_binary64_2778
41×neg-mul-1_binary64_2802 neg-sub0_binary64_2801
34×associate-/l*_binary64_2751 associate-*r/_binary64_2748
32×log-prod_binary64_2892 unpow3_binary64_2872 associate-+r+_binary64_2738
30×exp-prod_binary64_2858
28×cube-mult_binary64_2836
25×associate-/r*_binary64_2750
22×unsub-neg_binary64_2800
20×associate--l+_binary64_2743
18×distribute-lft-neg-out_binary64_2765 associate--r+_binary64_2742
17×distribute-lft-out--_binary64_2758
15×pow-plus_binary64_2869
13×log-div_binary64_2893
11×cube-unmult_binary64_2843 *-rgt-identity_binary64_2796
10×cube-div_binary64_2835
pow-sqr_binary64_2779
associate-/r/_binary64_2752
*-lft-identity_binary64_2795
/-rgt-identity_binary64_2797
distribute-rgt-neg-out_binary64_2766
div-sub_binary64_2811 associate-+l-_binary64_2741 associate-+r-_binary64_2740
log-pow_binary64_2895 unpow1/2_binary64_2870
unpow2_binary64_2871 unpow1_binary64_2864 1-exp_binary64_2850 exp-1-e_binary64_2849 rem-sqrt-square_binary64_2819 difference-of-squares_binary64_2775 distribute-neg-frac_binary64_2770 distribute-rgt1-in_binary64_2762 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 pow-base-0_binary64_2890 unpow1/3_binary64_2873 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 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 prod-exp_binary64_2855 exp-diff_binary64_2854 exp-neg_binary64_2853 exp-sum_binary64_2852 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 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-square-sqrt_binary64_2818 mul-1-neg_binary64_2798 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 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-lft1-in_binary64_2761 associate--r-_binary64_2745 associate--l-_binary64_2744
Counts
125 → 109
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023913037
165210183
225478704
345518704
452048704

prune743.0ms (7.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1063109
Fresh000
Picked101
Done000
Total1073110
Error
0b
Counts
110 → 3
Compiler

Compiled 16377 to 7009 computations (57.2% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (/.f64 1/2 x) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)))
0.3b
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))

rewrite138.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
38×times-frac_binary64_2812
33×*-un-lft-identity_binary64_2806
27×add-cube-cbrt_binary64_2841 add-sqr-sqrt_binary64_2828
12×unpow-prod-down_binary64_2885 cube-prod_binary64_2834 associate-/r*_binary64_2750
add-exp-log_binary64_2844
add-log-exp_binary64_2845 add-cbrt-cube_binary64_2842 unpow3_binary64_2872 cube-mult_binary64_2836 sqr-pow_binary64_2778
div-exp_binary64_2857 associate-/l*_binary64_2751
pow1_binary64_2867 distribute-lft-out_binary64_2757
pow-to-exp_binary64_2875 pow-exp_binary64_2874 cbrt-undiv_binary64_2840 frac-2neg_binary64_2817 clear-num_binary64_2805 div-inv_binary64_2803 sum-log_binary64_2897 frac-add_binary64_2814 flip3-+_binary64_2809 flip-+_binary64_2780 +-commutative_binary64_2736
Counts
2 → 79
Calls

2 calls:

30.0ms
(+.f64 (/.f64 1/2 x) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)))
6.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))
Compiler

Compiled 1361 to 1066 computations (21.7% saved)

series147.0ms (1.4%)

Error
0b
Counts
2 → 9
Calls

2 calls:

96.0ms
(+.f64 (/.f64 1/2 x) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)))
45.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))
Compiler

Compiled 220 to 194 computations (11.8% saved)

simplify86.0ms (0.8%)

Algorithm
egg-herbie
Rules
697×associate-*l*_binary64_2747
363×associate-/l*_binary64_2751
342×associate-*l/_binary64_2749 associate-*r/_binary64_2748
285×associate-/l/_binary64_2753
184×log-prod_binary64_2892
139×unswap-sqr_binary64_2774
118×associate-/r*_binary64_2750
111×cancel-sign-sub-inv_binary64_2772
83×distribute-rgt-neg-in_binary64_2764
81×cube-div_binary64_2835
78×associate-/r/_binary64_2752
76×distribute-lft-neg-in_binary64_2763
68×distribute-rgt-in_binary64_2756
66×log-div_binary64_2893
62×associate-*r*_binary64_2746
54×distribute-lft-in_binary64_2755
40×cube-prod_binary64_2834
36×unpow3_binary64_2872 distribute-neg-frac_binary64_2770
33×times-frac_binary64_2812
32×sqr-pow_binary64_2778
25×cube-mult_binary64_2836
24×swap-sqr_binary64_2773
22×distribute-rgt-out_binary64_2759
21×pow-plus_binary64_2869
20×*-commutative_binary64_2737
16×log-pow_binary64_2895 sub-neg_binary64_2799
15×cube-unmult_binary64_2843 neg-mul-1_binary64_2802 neg-sub0_binary64_2801
12×distribute-lft-out_binary64_2757
10×+-commutative_binary64_2736
distribute-rgt-out--_binary64_2760
distribute-lft-neg-out_binary64_2765
exp-prod_binary64_2858
rem-sqrt-square_binary64_2819 *-rgt-identity_binary64_2796 pow-sqr_binary64_2779 distribute-neg-in_binary64_2767
distribute-lft-out--_binary64_2758
log-rec_binary64_2894
/-rgt-identity_binary64_2797
count-2_binary64_2754
unpow2_binary64_2871 unpow1/2_binary64_2870 prod-exp_binary64_2855 1-exp_binary64_2850 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 rem-square-sqrt_binary64_2818 *-lft-identity_binary64_2795 difference-of-squares_binary64_2775 distribute-rgt-neg-out_binary64_2766 associate-+l-_binary64_2741 associate-+r-_binary64_2740 associate-+l+_binary64_2739
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 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-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-neg_binary64_2833 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 sqr-abs_binary64_2821 sqr-neg_binary64_2820 div-sub_binary64_2811 unsub-neg_binary64_2800 mul-1-neg_binary64_2798 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 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 associate--r-_binary64_2745 associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742 associate-+r+_binary64_2738
Counts
88 → 57
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251204
12331165
29341153
346041153
449771153

prune61.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New57057
Fresh022
Picked011
Done000
Total57360
Error
0b
Counts
60 → 3
Compiler

Compiled 925 to 686 computations (25.8% saved)

localize47.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 x x) 1737369620307813/2251799813685248)
0.1b
(*.f64 (*.f64 x x) 3782789308857969/36028797018963968)
1.8b
(log.f64 (exp.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))))
29.3b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))

rewrite908.0ms (8.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
24×add-sqr-sqrt_binary64_2828
22×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
18×times-frac_binary64_2812
16×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 log-pow_binary64_2895
15×pow1_binary64_2867 exp-prod_binary64_2858
pow-prod-down_binary64_2877 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 associate-*r*_binary64_2746
add-log-exp_binary64_2845 associate-/r/_binary64_2752
flip3-+_binary64_2809 flip-+_binary64_2780 associate-/l*_binary64_2751 associate-/r*_binary64_2750 log-prod_binary64_2892
div-inv_binary64_2803 associate-/l/_binary64_2753 unswap-sqr_binary64_2774 associate-*l*_binary64_2747 *-commutative_binary64_2737
div-exp_binary64_2857 cbrt-undiv_binary64_2840 frac-2neg_binary64_2817 clear-num_binary64_2805 rem-log-exp_binary64_2847
Counts
4 → 96
Calls

4 calls:

40.0ms
(log.f64 (exp.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))))
40.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))
7.0ms
(*.f64 (*.f64 x x) 1737369620307813/2251799813685248)
7.0ms
(*.f64 (*.f64 x x) 3782789308857969/36028797018963968)
Compiler

Compiled 10654 to 8363 computations (21.5% saved)

series439.0ms (4.3%)

Error
0b
Counts
4 → 20
Calls

4 calls:

200.0ms
(log.f64 (exp.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))))
92.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)) (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))))
55.0ms
(*.f64 (*.f64 x x) 1737369620307813/2251799813685248)
54.0ms
(*.f64 (*.f64 x x) 3782789308857969/36028797018963968)
Compiler

Compiled 1742 to 1452 computations (16.6% saved)

simplify249.0ms (2.4%)

Algorithm
egg-herbie
Rules
631×associate-+l+_binary64_2739
447×associate-+r+_binary64_2738
180×associate-*l*_binary64_2747
148×associate--r+_binary64_2742
138×associate-*r*_binary64_2746
114×cancel-sign-sub-inv_binary64_2772
111×distribute-rgt-in_binary64_2756
103×exp-prod_binary64_2858 distribute-lft-in_binary64_2755
97×distribute-neg-in_binary64_2767
95×*-commutative_binary64_2737
84×associate--l+_binary64_2743
80×associate-/r*_binary64_2750
68×log-prod_binary64_2892 distribute-rgt-neg-in_binary64_2764 associate-*l/_binary64_2749
59×associate-*r/_binary64_2748
57×distribute-lft-neg-in_binary64_2763
53×+-commutative_binary64_2736
52×associate-/l*_binary64_2751
47×associate-/l/_binary64_2753
45×sqr-pow_binary64_2778 unswap-sqr_binary64_2774
44×sub-neg_binary64_2799 swap-sqr_binary64_2773
43×exp-sum_binary64_2852
30×neg-mul-1_binary64_2802 neg-sub0_binary64_2801
29×distribute-rgt-out_binary64_2759
25×cube-prod_binary64_2834 associate-+r-_binary64_2740
23×times-frac_binary64_2812
22×associate-+l-_binary64_2741
20×associate-/r/_binary64_2752
18×log-pow_binary64_2895 rem-log-exp_binary64_2847
17×unsub-neg_binary64_2800
15×unpow3_binary64_2872 distribute-lft-out_binary64_2757
14×*-rgt-identity_binary64_2796
cube-unmult_binary64_2843 *-lft-identity_binary64_2795 distribute-lft-neg-out_binary64_2765 distribute-rgt-out--_binary64_2760
pow-plus_binary64_2869
pow-sqr_binary64_2779
/-rgt-identity_binary64_2797
log-div_binary64_2893 cube-mult_binary64_2836 div-sub_binary64_2811 distribute-rgt1-in_binary64_2762 distribute-lft-out--_binary64_2758
unpow1/2_binary64_2870 distribute-rgt-neg-out_binary64_2766 count-2_binary64_2754 associate--l-_binary64_2744
unpow2_binary64_2871 unpow1_binary64_2864 1-exp_binary64_2850 exp-1-e_binary64_2849 rem-exp-log_binary64_2846 cube-div_binary64_2835 difference-of-squares_binary64_2775 distribute-neg-frac_binary64_2770
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 pow-base-0_binary64_2890 unpow1/3_binary64_2873 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 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 prod-exp_binary64_2855 exp-diff_binary64_2854 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 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 mul-1-neg_binary64_2798 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 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-lft1-in_binary64_2761 associate--r-_binary64_2745
Counts
116 → 65
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02308844
15188065
218318008
348738008
449578008

prune325.0ms (3.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New65065
Fresh011
Picked011
Done011
Total65368
Error
0b
Counts
68 → 3
Compiler

Compiled 5639 to 4419 computations (21.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4)))
0.1b
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))
0.2b
(/.f64 1/2 (*.f64 x x))
17.6b
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))) x)

rewrite182.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
28×*-un-lft-identity_binary64_2806
26×add-sqr-sqrt_binary64_2828
24×add-cube-cbrt_binary64_2841 times-frac_binary64_2812
16×add-exp-log_binary64_2844
13×add-cbrt-cube_binary64_2842
12×unpow-prod-down_binary64_2885
associate-/r*_binary64_2750
pow1_binary64_2867 add-log-exp_binary64_2845 associate-/l*_binary64_2751
div-exp_binary64_2857
associate-*l*_binary64_2747 sqr-pow_binary64_2778
associate-*l/_binary64_2749 associate-*r*_binary64_2746 cbrt-undiv_binary64_2840
prod-exp_binary64_2855 cbrt-unprod_binary64_2839 frac-add_binary64_2814 flip3-+_binary64_2809 flip-+_binary64_2780 distribute-lft-out_binary64_2757 frac-2neg_binary64_2817 clear-num_binary64_2805 div-inv_binary64_2803
pow-prod-down_binary64_2877 unswap-sqr_binary64_2774 *-commutative_binary64_2737 pow-to-exp_binary64_2875 pow-exp_binary64_2874 sum-log_binary64_2897 +-commutative_binary64_2736
Counts
4 → 101
Calls

4 calls:

20.0ms
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))) x)
17.0ms
(+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4)))
5.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))
5.0ms
(/.f64 1/2 (*.f64 x x))
Compiler

Compiled 2199 to 1481 computations (32.7% saved)

series338.0ms (3.3%)

Error
0b
Counts
4 → 18
Calls

4 calls:

145.0ms
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))) x)
105.0ms
(+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1660320414109913/6603827387272392 (pow.f64 x 4)))
43.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 4))
32.0ms
(/.f64 1/2 (*.f64 x x))
Compiler

Compiled 568 to 471 computations (17.1% saved)

simplify154.0ms (1.5%)

Algorithm
egg-herbie
Rules
396×associate-*l/_binary64_2749
379×associate-/r*_binary64_2750
365×associate-*r/_binary64_2748
348×times-frac_binary64_2812
244×associate-/l*_binary64_2751
192×distribute-rgt-in_binary64_2756
178×distribute-lft-in_binary64_2755
150×associate-/l/_binary64_2753
110×log-div_binary64_2893
106×cube-div_binary64_2835
101×log-prod_binary64_2892
97×associate-*l*_binary64_2747
89×cancel-sign-sub-inv_binary64_2772
88×cube-prod_binary64_2834
79×div-sub_binary64_2811 associate-*r*_binary64_2746
70×sub-neg_binary64_2799
65×unpow3_binary64_2872
60×associate-/r/_binary64_2752
59×distribute-rgt-neg-in_binary64_2764
58×*-rgt-identity_binary64_2796
52×*-lft-identity_binary64_2795 distribute-lft-neg-in_binary64_2763
49×cube-mult_binary64_2836 neg-mul-1_binary64_2802 neg-sub0_binary64_2801
48×*-commutative_binary64_2737
45×exp-prod_binary64_2858
43×sqr-pow_binary64_2778
42×unswap-sqr_binary64_2774
36×distribute-neg-frac_binary64_2770
26×distribute-rgt-out_binary64_2759
20×log-pow_binary64_2895
18×exp-sum_binary64_2852
15×pow-sqr_binary64_2779
13×pow-plus_binary64_2869 swap-sqr_binary64_2773 +-commutative_binary64_2736
11×rem-sqrt-square_binary64_2819 distribute-lft-out_binary64_2757 associate-+r-_binary64_2740
10×unsub-neg_binary64_2800 distribute-rgt-out--_binary64_2760
log-rec_binary64_2894 +-rgt-identity_binary64_2791 distribute-lft-neg-out_binary64_2765 associate-+l-_binary64_2741
unpow1/2_binary64_2870 sub0-neg_binary64_2793 associate--r+_binary64_2742
cube-unmult_binary64_2843 /-rgt-identity_binary64_2797
unpow2_binary64_2871 unpow1_binary64_2864 distribute-neg-in_binary64_2767 distribute-lft-out--_binary64_2758
distribute-rgt-neg-out_binary64_2766
prod-exp_binary64_2855 1-exp_binary64_2850 exp-1-e_binary64_2849 rem-square-sqrt_binary64_2818 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 difference-of-squares_binary64_2775 count-2_binary64_2754 associate--l+_binary64_2743 associate-+l+_binary64_2739
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 unpow1/3_binary64_2873 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 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-diff_binary64_2854 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 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 mul-1-neg_binary64_2798 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 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 associate--r-_binary64_2745 associate--l-_binary64_2744 associate-+r+_binary64_2738
Counts
119 → 69
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01761963
13521806
211231719
344751719
446761719
549781719
648881719

prune75.0ms (0.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New69069
Fresh000
Picked011
Done022
Total69372
Error
0b
Counts
72 → 3
Compiler

Compiled 1236 to 817 computations (33.9% saved)

regimes840.0ms (8.2%)

Accuracy

Total 0.0b remaining (98.8%)

Threshold costs 0.0b (98.8%)

Compiler

Compiled 15793 to 4338 computations (72.5% saved)

bsearch203.0ms (2%)

Steps
ItersRangePoint
10
4.201614199039387e-09
23817336.16383811
439.49453262676485
8
-7528.635414377498
-0.6659705285180639
-393.79218047678273
Compiler

Compiled 1 to 1 computations (0% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
18×*-commutative_binary64_2737
13×+-commutative_binary64_2736
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 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 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067304
1100304
298304

end0.0ms (0%)

sample2.9s (27.8%)

Algorithm
intervals
Results
967.0ms8000×body128valid
Compiler

Compiled 7317 to 2043 computations (72.1% saved)

Profiling

Loading profile data...