Details

Time bar (total: 2.5s)

analyze6.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
12.5%25%62.5%4
18.7%12.5%68.8%5
21.9%6.2%71.9%6
23.4%3.1%73.5%7
24.2%1.6%74.2%8
24.6%0.8%74.6%9
24.8%0.4%74.8%10
24.9%0.2%74.9%11
24.9%0.1%75%12
25%0%75%13
25%0%75%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample22.0ms (0.9%)

Algorithm
intervals
Results
13.0ms256×body128valid
Compiler

Compiled 27 to 22 computations (18.5% saved)

simplify649.0ms (25.7%)

Algorithm
egg-herbie
Rules
804×exp-prod_binary64_2858
474×unsub-neg_binary64_2800
472×associate-/l*_binary64_2751
309×exp-sum_binary64_2852 distribute-rgt-in_binary64_2756
274×swap-sqr_binary64_2773
178×exp-diff_binary64_2854
176×distribute-rgt-neg-in_binary64_2764
160×neg-mul-1_binary64_2802
153×neg-sub0_binary64_2801
127×associate-+l-_binary64_2741
115×distribute-lft-in_binary64_2755
109×associate-*r*_binary64_2746
105×associate-+l+_binary64_2739 *-commutative_binary64_2737
100×associate--r+_binary64_2742
99×distribute-rgt1-in_binary64_2762
98×distribute-rgt-out_binary64_2759
95×associate-+r+_binary64_2738
93×sub-neg_binary64_2799 associate-+r-_binary64_2740
91×pow-plus_binary64_2869
79×associate-*l*_binary64_2747
74×associate--l+_binary64_2743
72×cancel-sign-sub-inv_binary64_2772
70×distribute-lft-neg-in_binary64_2763 distribute-rgt-out--_binary64_2760
65×sqr-neg_binary64_2820 associate--r-_binary64_2745
56×distribute-rgt-neg-out_binary64_2766
54×associate--l-_binary64_2744
50×distribute-lft-neg-out_binary64_2765
49×exp-neg_binary64_2853
46×distribute-neg-in_binary64_2767 distribute-lft-out_binary64_2757
41×distribute-lft-out--_binary64_2758
33×+-commutative_binary64_2736
20×distribute-neg-out_binary64_2768
17×div-sub_binary64_2811 associate-/r*_binary64_2750
13×sqr-pow_binary64_2778
12×exp-lft-sqr_binary64_2861
11×cube-prod_binary64_2834
10×distribute-lft1-in_binary64_2761
pow-base-1_binary64_2866
cube-div_binary64_2835 +-inverses_binary64_2785 count-2_binary64_2754
cube-unmult_binary64_2843 *-rgt-identity_binary64_2796 sub0-neg_binary64_2793 distribute-frac-neg_binary64_2769
+-rgt-identity_binary64_2791 pow-sqr_binary64_2779
--rgt-identity_binary64_2792 +-lft-identity_binary64_2790 mul0-lft_binary64_2788
cube-neg_binary64_2833 /-rgt-identity_binary64_2797 remove-double-neg_binary64_2794 difference-of-squares_binary64_2775
div-exp_binary64_2857 times-frac_binary64_2812 *-lft-identity_binary64_2795 mul0-rgt_binary64_2789 div0_binary64_2787 unswap-sqr_binary64_2774 associate-/r/_binary64_2752
exp-sqrt_binary64_2859 1-exp_binary64_2850 exp-1-e_binary64_2849 mul-1-neg_binary64_2798 difference-of-sqr-1_binary64_2776
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 exp-to-pow_binary64_2868 unpow0_binary64_2865 unpow1_binary64_2864 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-cbrt_binary64_2860 rec-exp_binary64_2856 prod-exp_binary64_2855 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-mult_binary64_2836 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 difference-of-sqr--1_binary64_2777 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 associate-/l/_binary64_2753 associate-*l/_binary64_2749 associate-*r/_binary64_2748
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11820
22420
33220
45020
57520
617620
787720
8310420

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 13 to 10 computations (23.1% saved)

localize10.0ms (0.4%)

Local error

Found 3 expressions with local error:

0.0b
(sqrt.f64 (-.f64 1 (*.f64 x x)))
0.0b
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
0.0b
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))

rewrite163.0ms (6.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
45×*-un-lft-identity_binary64_2806
37×times-frac_binary64_2812
34×add-sqr-sqrt_binary64_2828
28×sqrt-prod_binary64_2822
25×add-cube-cbrt_binary64_2841
10×difference-of-squares_binary64_2775
distribute-lft-out_binary64_2757 associate-/l*_binary64_2751
div-inv_binary64_2803
add-log-exp_binary64_2845 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
pow1_binary64_2867 sqrt-div_binary64_2823
distribute-rgt-out_binary64_2759 associate-/r*_binary64_2750
flip3--_binary64_2810 associate-/l/_binary64_2753 flip--_binary64_2781
sum-log_binary64_2897 frac-add_binary64_2814 flip3-+_binary64_2809 flip-+_binary64_2780 distribute-rgt1-in_binary64_2762 +-commutative_binary64_2736 div-exp_binary64_2857 cbrt-undiv_binary64_2840 frac-2neg_binary64_2817 clear-num_binary64_2805 pow1/2_binary64_2886 sqrt-pow1_binary64_2824 rem-sqrt-square_binary64_2819
Counts
3 → 90
Calls

3 calls:

24.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
7.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
3.0ms
(sqrt.f64 (-.f64 1 (*.f64 x x)))
Compiler

Compiled 2001 to 1256 computations (37.2% saved)

series169.0ms (6.7%)

Error
0b
Counts
3 → 18
Calls

3 calls:

58.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
54.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
40.0ms
(sqrt.f64 (-.f64 1 (*.f64 x x)))
Compiler

Compiled 552 to 471 computations (14.7% saved)

simplify569.0ms (22.6%)

Algorithm
egg-herbie
Rules
293×times-frac_binary64_2812
289×distribute-rgt-out_binary64_2759
248×distribute-rgt-neg-in_binary64_2764
209×sub-neg_binary64_2799
205×distribute-lft-neg-in_binary64_2763
179×unswap-sqr_binary64_2774
170×associate-*r*_binary64_2746
169×cancel-sign-sub-inv_binary64_2772
166×associate-*l*_binary64_2747
153×distribute-rgt-out--_binary64_2760
144×associate-/l*_binary64_2751
126×associate-/r*_binary64_2750
120×div-sub_binary64_2811
117×associate-*l/_binary64_2749
100×sqr-pow_binary64_2778 distribute-neg-frac_binary64_2770
96×associate-*r/_binary64_2748
94×associate-/r/_binary64_2752
83×*-commutative_binary64_2737
82×distribute-rgt-in_binary64_2756
79×associate-/l/_binary64_2753
65×pow-sqr_binary64_2779
62×unsub-neg_binary64_2800 distribute-lft-neg-out_binary64_2765
59×neg-sub0_binary64_2801
56×+-commutative_binary64_2736
55×neg-mul-1_binary64_2802
53×distribute-lft-in_binary64_2755
47×cube-prod_binary64_2834
43×log-prod_binary64_2892
40×distribute-rgt-neg-out_binary64_2766 associate--r+_binary64_2742 associate-+l+_binary64_2739
38×distribute-rgt1-in_binary64_2762
37×exp-prod_binary64_2858 associate-+l-_binary64_2741
36×cube-div_binary64_2835
35×distribute-neg-in_binary64_2767
33×pow-plus_binary64_2869 swap-sqr_binary64_2773
32×log-div_binary64_2893
25×/-rgt-identity_binary64_2797 distribute-neg-out_binary64_2768
24×*-rgt-identity_binary64_2796
23×*-lft-identity_binary64_2795 sub0-neg_binary64_2793
22×associate-+r-_binary64_2740
21×associate--l+_binary64_2743
20×difference-of-squares_binary64_2775
17×prod-exp_binary64_2855
16×div-exp_binary64_2857
15×log-pow_binary64_2895 associate-+r+_binary64_2738
12×+-rgt-identity_binary64_2791
11×cube-unmult_binary64_2843 cancel-sign-sub_binary64_2771
unpow3_binary64_2872
exp-sqrt_binary64_2859 associate--l-_binary64_2744
rem-sqrt-square_binary64_2819 remove-double-div_binary64_2782 difference-of-sqr-1_binary64_2776
log-rec_binary64_2894 pow-base-1_binary64_2866 cube-mult_binary64_2836 distribute-lft1-in_binary64_2761
mul0-lft_binary64_2788
exp-lft-sqr_binary64_2861 rec-exp_binary64_2856 mul0-rgt_binary64_2789 distribute-frac-neg_binary64_2769
mul-1-neg_binary64_2798 *-inverses_binary64_2786 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757
exp-sum_binary64_2852 associate--r-_binary64_2745
unpow2_binary64_2871 unpow1_binary64_2864 exp-diff_binary64_2854 1-exp_binary64_2850 exp-1-e_binary64_2849 rem-log-exp_binary64_2847 rem-square-sqrt_binary64_2818 div0_binary64_2787 +-inverses_binary64_2785 difference-of-sqr--1_binary64_2777 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 unpow1/3_binary64_2873 unpow1/2_binary64_2870 exp-to-pow_binary64_2868 unpow0_binary64_2865 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-cbrt_binary64_2860 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 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 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783
Counts
108 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01802021
13801958
210251952
328671952

prune138.0ms (5.5%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New99099
Fresh000
Picked011
Done000
Total991100
Error
0b
Counts
100 → 1
Compiler

Compiled 2311 to 1565 computations (32.3% saved)

regimes47.0ms (1.9%)

Accuracy

Total 0.0b remaining (1.1%)

Threshold costs 0.0b (1.1%)

Compiler

Compiled 187 to 157 computations (16% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_2736
sub-neg_binary64_2799
neg-mul-1_binary64_2802 neg-sub0_binary64_2801 *-commutative_binary64_2737
1-exp_binary64_2850 cancel-sign-sub-inv_binary64_2772 distribute-lft-neg-out_binary64_2765 distribute-rgt-neg-in_binary64_2764
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 unsub-neg_binary64_2800 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-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-in_binary64_2763
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11820
22420
32820
43020
Proof
(log f64 (+ f64 (/ f64 1 h0) (/ f64 (sqrt f64 (- f64 1 (* f64 h0 h0))) h0)))

end0.0ms (0%)

sample741.0ms (29.4%)

Algorithm
intervals
Results
441.0ms8000×body128valid
0.0msbody128nan
Compiler

Compiled 72 to 61 computations (15.3% saved)

Profiling

Loading profile data...