Details

Time bar (total: 30.7s)

analyze3.9s (12.8%)

Algorithm
search
egg-herbie
Rules
966×distribute-rgt-in_binary64_2756
910×unsub-neg_binary64_2800
843×distribute-lft-in_binary64_2755
580×distribute-rgt-neg-out_binary64_2766
450×distribute-lft-neg-out_binary64_2765
437×neg-sub0_binary64_2801
376×neg-mul-1_binary64_2802
344×distribute-rgt-neg-in_binary64_2764
295×sub-neg_binary64_2799
276×*-commutative_binary64_2737
230×cancel-sign-sub-inv_binary64_2772
180×distribute-neg-out_binary64_2768
165×distribute-lft-neg-in_binary64_2763
160×associate-*l*_binary64_2747 associate-*r*_binary64_2746 associate--r+_binary64_2742
137×remove-double-neg_binary64_2794
130×distribute-neg-in_binary64_2767
113×+-commutative_binary64_2736
100×associate-+l-_binary64_2741
73×*-lft-identity_binary64_2795
67×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
60×+-lft-identity_binary64_2790
55×sub0-neg_binary64_2793
51×*-rgt-identity_binary64_2796
50×associate--r-_binary64_2745
30×distribute-lft-out_binary64_2757
25×--rgt-identity_binary64_2792
20×cancel-sign-sub_binary64_2771 associate--l+_binary64_2743
10×associate-+r-_binary64_2740 associate-+l+_binary64_2739 associate-+r+_binary64_2738
distribute-rgt-out--_binary64_2760
+-rgt-identity_binary64_2791
distribute-lft-out--_binary64_2758
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 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 sqr-pow_binary64_2778 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774 swap-sqr_binary64_2773 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft1-in_binary64_2761 distribute-rgt-out_binary64_2759 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748 associate--l-_binary64_2744
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131605
1263605
2417605
3512605
4598605
51028605
6994605
71659605
82449605
92458605
102534605
112537605
122537605
132903605
142948605
152948605
164374605
174909605
055
155
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
1.2%98.6%0.2%11
1.4%98.4%0.2%12
10.8%88.9%0.2%13
10.8%88.9%0.2%14
Compiler

Compiled 34 to 24 computations (29.4% saved)

sample234.0ms (0.8%)

Algorithm
intervals
Results
155.0ms127×body1024valid
33.0ms45×body512valid
13.0ms64×body128valid
9.0ms19×body256valid
2.0msbody2048valid
Compiler

Compiled 67 to 52 computations (22.4% saved)

simplify47.0ms (0.2%)

Algorithm
egg-herbie
Rules
103×unsub-neg_binary64_2800
90×associate-*l*_binary64_2747
88×distribute-rgt-in_binary64_2756
82×cancel-sign-sub-inv_binary64_2772
80×associate-*r*_binary64_2746
70×distribute-rgt-neg-in_binary64_2764
58×distribute-lft-neg-out_binary64_2765
57×distribute-lft-in_binary64_2755
56×distribute-rgt-neg-out_binary64_2766
49×sub-neg_binary64_2799
41×neg-sub0_binary64_2801
40×distribute-lft-neg-in_binary64_2763
34×neg-mul-1_binary64_2802
33×associate--r+_binary64_2742
28×*-commutative_binary64_2737
25×distribute-neg-in_binary64_2767
21×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
17×+-commutative_binary64_2736
14×associate-+l-_binary64_2741
13×*-lft-identity_binary64_2795
12×remove-double-neg_binary64_2794
sub0-neg_binary64_2793 +-lft-identity_binary64_2790
*-rgt-identity_binary64_2796
associate--l+_binary64_2743 associate-+l+_binary64_2739
mul-1-neg_binary64_2798
--rgt-identity_binary64_2792 associate--r-_binary64_2745 associate--l-_binary64_2744 associate-+r+_binary64_2738
+-rgt-identity_binary64_2791
1-exp_binary64_2850 cancel-sign-sub_binary64_2771 associate-+r-_binary64_2740
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 sqr-neg_binary64_2820 rem-sqrt-square_binary64_2819 rem-square-sqrt_binary64_2818 times-frac_binary64_2812 div-sub_binary64_2811 /-rgt-identity_binary64_2797 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 pow-sqr_binary64_2779 sqr-pow_binary64_2778 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774 swap-sqr_binary64_2773 distribute-neg-frac_binary64_2770 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-rgt-out_binary64_2759 distribute-lft-out--_binary64_2758 distribute-lft-out_binary64_2757 count-2_binary64_2754 associate-/l/_binary64_2753 associate-/r/_binary64_2752 associate-/l*_binary64_2751 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate-*r/_binary64_2748
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02355
13955
26155
37255
48355
510755
613455
716455
821755
921655
1024055
1127555
1231755
1343155
1448655
1553455
1656755
1752155
1852355
1952555
2052655
2146355

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 66 to 46 computations (30.3% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (sin.f64 theta) (sin.f64 delta))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
0.3b
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
0.5b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))

rewrite161.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
12×add-sqr-sqrt_binary64_2828
pow1_binary64_2867 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
add-log-exp_binary64_2845 associate-*l*_binary64_2747 associate-*r*_binary64_2746
sin-mult_binary64_2961 pow-prod-down_binary64_2877 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 unswap-sqr_binary64_2774 *-commutative_binary64_2737
diff-log_binary64_2898 flip3--_binary64_2810 sub-neg_binary64_2799 flip--_binary64_2781 cancel-sign-sub-inv_binary64_2772 asin-acos_binary64_2986
Counts
4 → 58
Calls

4 calls:

9.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
6.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
6.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
2.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Compiler

Compiled 2653 to 371 computations (86% saved)

series1.5s (4.9%)

Error
0.1b
Counts
4 → 39
Calls

4 calls:

639.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
548.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
155.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
113.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Compiler

Compiled 3878 to 1832 computations (52.8% saved)

simplify164.0ms (0.5%)

Algorithm
egg-herbie
Rules
560×unsub-neg_binary64_2800
445×distribute-rgt-in_binary64_2756
337×distribute-rgt-neg-in_binary64_2764
331×distribute-lft-in_binary64_2755
292×distribute-lft-neg-in_binary64_2763
267×cancel-sign-sub-inv_binary64_2772
247×*-commutative_binary64_2737
239×neg-mul-1_binary64_2802
218×neg-sub0_binary64_2801
186×sub-neg_binary64_2799
147×+-commutative_binary64_2736
130×sqr-pow_binary64_2778
128×times-frac_binary64_2812
109×associate-*l*_binary64_2747
98×associate-*r*_binary64_2746
81×associate-+l-_binary64_2741
78×associate--r+_binary64_2742
71×distribute-neg-in_binary64_2767
59×associate-+l+_binary64_2739
57×distribute-lft-neg-out_binary64_2765 associate-+r+_binary64_2738
49×exp-prod_binary64_2858
47×distribute-rgt-neg-out_binary64_2766
42×distribute-rgt-out_binary64_2759
38×associate-/l*_binary64_2751
34×exp-sum_binary64_2852
33×distribute-neg-out_binary64_2768
32×unswap-sqr_binary64_2774
30×associate-+r-_binary64_2740
29×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
28×sub0-neg_binary64_2793 pow-sqr_binary64_2779 associate-/r*_binary64_2750
27×cube-prod_binary64_2834
26×rem-sqrt-square_binary64_2819
21×swap-sqr_binary64_2773 associate--l+_binary64_2743
20×log-prod_binary64_2892 distribute-rgt-out--_binary64_2760
19×div-sub_binary64_2811 +-rgt-identity_binary64_2791
18×difference-of-squares_binary64_2775
17×*-lft-identity_binary64_2795 associate-/l/_binary64_2753
16×exp-diff_binary64_2854
15×cube-unmult_binary64_2843 *-rgt-identity_binary64_2796 associate-*r/_binary64_2748
11×unpow3_binary64_2872 unpow1/2_binary64_2870
10×associate--r-_binary64_2745
distribute-lft-out_binary64_2757
associate-*l/_binary64_2749
cube-mult_binary64_2836 remove-double-neg_binary64_2794
sqr-neg_binary64_2820 +-lft-identity_binary64_2790 associate-/r/_binary64_2752
cos-neg_binary64_2937 cube-neg_binary64_2833 --rgt-identity_binary64_2792 cancel-sign-sub_binary64_2771 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 distribute-lft-out--_binary64_2758 associate--l-_binary64_2744
distribute-lft1-in_binary64_2761
sin-neg_binary64_2936 unpow2_binary64_2871 pow-plus_binary64_2869 unpow1_binary64_2864 div-exp_binary64_2857 1-exp_binary64_2850 exp-1-e_binary64_2849 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 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 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 rec-exp_binary64_2856 prod-exp_binary64_2855 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-log-exp_binary64_2847 rem-exp-log_binary64_2846 cube-div_binary64_2835 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-square-sqrt_binary64_2818 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 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 distribute-neg-frac_binary64_2770
Counts
97 → 73
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01473100
13182935
28062872
314282872
425182872
542532872
649192872

prune168.0ms (0.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New631073
Fresh000
Picked101
Done000
Total641074
Error
0.0b
Counts
74 → 10
Compiler

Compiled 3434 to 593 computations (82.7% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))
0.3b
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
0.5b
(-.f64 (cos.f64 delta) (log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
2.1b
(log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))

rewrite158.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
13×add-sqr-sqrt_binary64_2828
12×*-un-lft-identity_binary64_2806
pow1_binary64_2867 add-cube-cbrt_binary64_2841
add-log-exp_binary64_2845 log-pow_binary64_2895
log-prod_binary64_2892 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 cancel-sign-sub-inv_binary64_2772
associate--r+_binary64_2742 associate-*l*_binary64_2747 associate-*r*_binary64_2746
exp-to-pow_binary64_2868 exp-prod_binary64_2858 distribute-lft-out--_binary64_2758
rem-log-exp_binary64_2847 diff-log_binary64_2898 flip3--_binary64_2810 sub-neg_binary64_2799 flip--_binary64_2781 difference-of-squares_binary64_2775 asin-acos_binary64_2986 sin-mult_binary64_2961 pow-prod-down_binary64_2877 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 unswap-sqr_binary64_2774 *-commutative_binary64_2737
Counts
4 → 64
Calls

4 calls:

10.0ms
(-.f64 (cos.f64 delta) (log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
6.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))
3.0ms
(log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))
1.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
Compiler

Compiled 3270 to 427 computations (86.9% saved)

series3.5s (11.4%)

Error
0.0b
Counts
4 → 41
Calls

4 calls:

1.4s
(-.f64 (cos.f64 delta) (log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
1.4s
(log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))
523.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))
113.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
Compiler

Compiled 4346 to 2057 computations (52.7% saved)

simplify234.0ms (0.8%)

Algorithm
egg-herbie
Rules
621×unsub-neg_binary64_2800
377×distribute-rgt-in_binary64_2756
329×distribute-lft-in_binary64_2755
313×associate-*l*_binary64_2747
286×sub-neg_binary64_2799
262×associate-*r*_binary64_2746
252×sqr-pow_binary64_2778
242×neg-mul-1_binary64_2802
221×neg-sub0_binary64_2801
210×cancel-sign-sub-inv_binary64_2772 distribute-rgt-neg-in_binary64_2764
195×distribute-lft-neg-in_binary64_2763
148×times-frac_binary64_2812
106×exp-prod_binary64_2858
93×log-pow_binary64_2895 log-prod_binary64_2892
84×distribute-lft-neg-out_binary64_2765
81×*-commutative_binary64_2737
77×exp-sum_binary64_2852
76×pow-sqr_binary64_2779
71×associate-+r+_binary64_2738
69×distribute-rgt-neg-out_binary64_2766
59×associate-+l+_binary64_2739
55×+-commutative_binary64_2736
51×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
46×cube-prod_binary64_2834
40×sub0-neg_binary64_2793 associate-+l-_binary64_2741
37×unswap-sqr_binary64_2774
34×rem-sqrt-square_binary64_2819 *-lft-identity_binary64_2795
33×*-rgt-identity_binary64_2796
30×+-rgt-identity_binary64_2791
29×distribute-rgt-out_binary64_2759 associate--r+_binary64_2742
28×exp-diff_binary64_2854
27×div-sub_binary64_2811
23×remove-double-neg_binary64_2794
20×cube-unmult_binary64_2843 distribute-lft-out_binary64_2757 associate-+r-_binary64_2740
19×unpow3_binary64_2872 associate--l+_binary64_2743
18×+-lft-identity_binary64_2790 swap-sqr_binary64_2773
16×exp-to-pow_binary64_2868
11×pow-plus_binary64_2869
cube-mult_binary64_2836 associate-/r*_binary64_2750
unpow1/2_binary64_2870 sqr-neg_binary64_2820 --rgt-identity_binary64_2792 difference-of-squares_binary64_2775
rem-log-exp_binary64_2847 mul-1-neg_binary64_2798 distribute-neg-in_binary64_2767
rem-exp-log_binary64_2846 distribute-lft-out--_binary64_2758 count-2_binary64_2754
distribute-rgt-out--_binary64_2760
exp-sqrt_binary64_2859
log-div_binary64_2893 div-exp_binary64_2857 cube-div_binary64_2835 distribute-rgt1-in_binary64_2762 associate-/l/_binary64_2753 associate-*r/_binary64_2748
cos-neg_binary64_2937 sin-neg_binary64_2936 unpow2_binary64_2871 rec-exp_binary64_2856 cube-neg_binary64_2833 associate-/l*_binary64_2751
log-E_binary64_2896 unpow1_binary64_2864 1-exp_binary64_2850 exp-1-e_binary64_2849 rem-3cbrt-lft_binary64_2831 rem-square-sqrt_binary64_2818 difference-of-sqr-1_binary64_2776 distribute-lft1-in_binary64_2761 associate-/r/_binary64_2752 associate--r-_binary64_2745 associate--l-_binary64_2744
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 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-rec_binary64_2894 pow-base-0_binary64_2890 unpow1/3_binary64_2873 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 prod-exp_binary64_2855 exp-neg_binary64_2853 e-exp-1_binary64_2851 exp-0_binary64_2848 rem-3cbrt-rft_binary64_2832 rem-cbrt-cube_binary64_2830 rem-cube-cbrt_binary64_2829 sqr-abs_binary64_2821 /-rgt-identity_binary64_2797 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 cancel-sign-sub_binary64_2771 distribute-neg-frac_binary64_2770 distribute-frac-neg_binary64_2769 distribute-neg-out_binary64_2768 associate-*l/_binary64_2749
Counts
105 → 70
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01314124
12493928
25653841
316363812
436583812
542023737
649853737
748553737

prune136.0ms (0.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New68270
Fresh369
Picked011
Done000
Total71980
Error
0.0b
Counts
80 → 9
Compiler

Compiled 3224 to 478 computations (85.2% saved)

localize46.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (cos.f64 delta) 3)
0.5b
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))) 3)
0.8b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))) 6)
4.0b
(cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))

rewrite303.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
10×add-cube-cbrt_binary64_2841 add-sqr-sqrt_binary64_2828 *-un-lft-identity_binary64_2806
pow1_binary64_2867 add-exp-log_binary64_2844 pow-unpow_binary64_2883
add-cbrt-cube_binary64_2842 unpow-prod-down_binary64_2885
pow-pow_binary64_2878
add-log-exp_binary64_2845 pow-exp_binary64_2874 cube-prod_binary64_2834
pow-to-exp_binary64_2875 sqr-pow_binary64_2778 rem-cube-cbrt_binary64_2829
pow1/3_binary64_2888 sin-mult_binary64_2961 cbrt-prod_binary64_2837 unpow3_binary64_2872 cube-mult_binary64_2836
cbrt-div_binary64_2838 pow-prod-down_binary64_2877 prod-exp_binary64_2855 cube-div_binary64_2835 cbrt-unprod_binary64_2839
Counts
4 → 75
Calls

4 calls:

6.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))) 3)
4.0ms
(cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))
4.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))) 6)
3.0ms
(pow.f64 (cos.f64 delta) 3)
Compiler

Compiled 7322 to 1090 computations (85.1% saved)

series4.9s (15.9%)

Error
0.0b
Counts
4 → 32
Calls

4 calls:

2.2s
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))) 6)
1.4s
(cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))
1.1s
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))) 3)
65.0ms
(pow.f64 (cos.f64 delta) 3)
Compiler

Compiled 8374 to 2771 computations (66.9% saved)

simplify155.0ms (0.5%)

Algorithm
egg-herbie
Rules
493×log-prod_binary64_2892
402×sqr-pow_binary64_2778
386×distribute-rgt-in_binary64_2756
327×exp-prod_binary64_2858
307×*-commutative_binary64_2737
281×cube-prod_binary64_2834
196×swap-sqr_binary64_2773
158×log-pow_binary64_2895
124×pow-sqr_binary64_2779
101×associate-*r*_binary64_2746
98×associate-*l*_binary64_2747
86×unpow3_binary64_2872
74×cube-mult_binary64_2836 distribute-lft-out_binary64_2757
73×distribute-rgt-neg-in_binary64_2764
71×distribute-lft-neg-in_binary64_2763
61×distribute-rgt-out_binary64_2759
41×distribute-lft-in_binary64_2755
39×cancel-sign-sub-inv_binary64_2772
38×pow-plus_binary64_2869
33×rem-sqrt-square_binary64_2819 unswap-sqr_binary64_2774
29×neg-mul-1_binary64_2802 neg-sub0_binary64_2801
24×sub-neg_binary64_2799
19×associate-+l+_binary64_2739 associate-+r+_binary64_2738
13×cube-unmult_binary64_2843
12×distribute-rgt-neg-out_binary64_2766 distribute-lft-neg-out_binary64_2765
11×exp-sum_binary64_2852 *-rgt-identity_binary64_2796
*-lft-identity_binary64_2795
count-2_binary64_2754 +-commutative_binary64_2736
unpow1/3_binary64_2873 unpow1/2_binary64_2870 unpow1_binary64_2864 prod-exp_binary64_2855 associate-/l/_binary64_2753 associate-*r/_binary64_2748
rem-cube-cbrt_binary64_2829 unsub-neg_binary64_2800 sub0-neg_binary64_2793 associate-+l-_binary64_2741
unpow2_binary64_2871 rem-cbrt-cube_binary64_2830 +-rgt-identity_binary64_2791 associate-+r-_binary64_2740
exp-to-pow_binary64_2868 rem-exp-log_binary64_2846 distribute-rgt-out--_binary64_2760 associate-/r/_binary64_2752 associate-/l*_binary64_2751
cos-neg_binary64_2937 1-exp_binary64_2850 rem-3cbrt-rft_binary64_2832 rem-3cbrt-lft_binary64_2831 sqr-neg_binary64_2820 rem-square-sqrt_binary64_2818 distribute-rgt1-in_binary64_2762 distribute-lft-out--_binary64_2758
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 sin-neg_binary64_2936 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-rec_binary64_2894 log-div_binary64_2893 pow-base-0_binary64_2890 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-1-e_binary64_2849 exp-0_binary64_2848 rem-log-exp_binary64_2847 cube-div_binary64_2835 cube-neg_binary64_2833 sqr-abs_binary64_2821 times-frac_binary64_2812 div-sub_binary64_2811 mul-1-neg_binary64_2798 /-rgt-identity_binary64_2797 remove-double-neg_binary64_2794 --rgt-identity_binary64_2792 +-lft-identity_binary64_2790 mul0-rgt_binary64_2789 mul0-lft_binary64_2788 div0_binary64_2787 *-inverses_binary64_2786 +-inverses_binary64_2785 lft-mult-inverse_binary64_2784 rgt-mult-inverse_binary64_2783 remove-double-div_binary64_2782 difference-of-sqr--1_binary64_2777 difference-of-sqr-1_binary64_2776 difference-of-squares_binary64_2775 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-lft1-in_binary64_2761 associate-/r*_binary64_2750 associate-*l/_binary64_2749 associate--r-_binary64_2745 associate--l-_binary64_2744 associate--l+_binary64_2743 associate--r+_binary64_2742
Counts
107 → 73
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01373312
12943158
29643034
323033026
448393026
549993026

prune246.0ms (0.8%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New73073
Fresh077
Picked011
Done011
Total73982
Error
0.0b
Counts
82 → 9
Compiler

Compiled 6895 to 1083 computations (84.3% saved)

localize37.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))
0.3b
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
0.5b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
3.2b
(log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))

rewrite176.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
15×log-prod_binary64_2892
14×add-sqr-sqrt_binary64_2828
12×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806 sin-sum_binary64_2939
pow1_binary64_2867
add-log-exp_binary64_2845 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 distribute-rgt-in_binary64_2756 associate--r+_binary64_2742 distribute-lft-in_binary64_2755
log-pow_binary64_2895
exp-prod_binary64_2858 associate-*l*_binary64_2747 associate-*r*_binary64_2746
asin-acos_binary64_2986
exp-diff_binary64_2854 log-div_binary64_2893 rem-log-exp_binary64_2847 diff-log_binary64_2898 flip3--_binary64_2810 sub-neg_binary64_2799 flip--_binary64_2781 cancel-sign-sub-inv_binary64_2772 sin-mult_binary64_2961 pow-prod-down_binary64_2877 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 unswap-sqr_binary64_2774 *-commutative_binary64_2737
Counts
4 → 67
Calls

4 calls:

8.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))
5.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
3.0ms
(log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))
1.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
Compiler

Compiled 4020 to 499 computations (87.6% saved)

series3.3s (10.6%)

Error
0.0b
Counts
4 → 40
Calls

4 calls:

1.2s
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))))))))))
1.1s
(*.f64 (sin.f64 phi1) (sin.f64 (log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))))
737.0ms
(log.f64 (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))))
117.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1)))))
Compiler

Compiled 4225 to 2008 computations (52.5% saved)

simplify259.0ms (0.8%)

Algorithm
egg-herbie
Rules
479×neg-mul-1_binary64_2802
461×neg-sub0_binary64_2801
419×unsub-neg_binary64_2800
410×distribute-rgt-neg-in_binary64_2764
403×cancel-sign-sub-inv_binary64_2772
308×associate-*l*_binary64_2747
253×associate-*r*_binary64_2746
232×distribute-rgt-in_binary64_2756
210×distribute-lft-neg-in_binary64_2763
192×distribute-lft-in_binary64_2755
182×distribute-lft-neg-out_binary64_2765
176×sub-neg_binary64_2799
160×distribute-rgt-neg-out_binary64_2766
120×*-commutative_binary64_2737
96×sqr-pow_binary64_2778
94×times-frac_binary64_2812
84×distribute-neg-in_binary64_2767
83×distribute-neg-out_binary64_2768
57×exp-prod_binary64_2858
54×unswap-sqr_binary64_2774
53×log-prod_binary64_2892 associate-+r+_binary64_2738
49×+-commutative_binary64_2736
47×associate-+l+_binary64_2739
44×*-rgt-identity_binary64_2796
42×*-lft-identity_binary64_2795
41×mul0-rgt_binary64_2789 mul0-lft_binary64_2788
36×exp-sum_binary64_2852
30×associate-+l-_binary64_2741
26×sub0-neg_binary64_2793
24×cube-prod_binary64_2834 distribute-rgt-out_binary64_2759
21×pow-sqr_binary64_2779
20×associate--r+_binary64_2742
19×log-pow_binary64_2895 rem-sqrt-square_binary64_2819 difference-of-squares_binary64_2775
18×exp-diff_binary64_2854 cube-unmult_binary64_2843
16×+-rgt-identity_binary64_2791 associate-+r-_binary64_2740
15×div-sub_binary64_2811
14×unpow3_binary64_2872 distribute-lft-out_binary64_2757
12×associate--l+_binary64_2743
11×distribute-rgt-out--_binary64_2760
10×swap-sqr_binary64_2773
unpow1/2_binary64_2870 remove-double-neg_binary64_2794
rem-log-exp_binary64_2847 +-lft-identity_binary64_2790
cube-neg_binary64_2833 sqr-neg_binary64_2820 --rgt-identity_binary64_2792 distribute-lft-out--_binary64_2758 associate-/r*_binary64_2750
pow-plus_binary64_2869 mul-1-neg_binary64_2798
exp-sqrt_binary64_2859 rem-exp-log_binary64_2846 cube-mult_binary64_2836 distribute-frac-neg_binary64_2769 distribute-rgt1-in_binary64_2762 count-2_binary64_2754 associate--r-_binary64_2745
cos-neg_binary64_2937 sin-neg_binary64_2936 exp-neg_binary64_2853 associate-/l/_binary64_2753 associate-/l*_binary64_2751 associate-*r/_binary64_2748
unpow2_binary64_2871 unpow1_binary64_2864 div-exp_binary64_2857 1-exp_binary64_2850 exp-1-e_binary64_2849 cancel-sign-sub_binary64_2771 distribute-lft1-in_binary64_2761 associate--l-_binary64_2744
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 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 hang-m-tan_binary64_2932 hang-p-tan_binary64_2931 hang-m0-tan_binary64_2930 hang-p0-tan_binary64_2929 hang-0m-tan_binary64_2928 hang-0p-tan_binary64_2927 tan-+PI/2_binary64_2926 tan-+PI_binary64_2925 tan-PI_binary64_2924 tan-PI/3_binary64_2923 tan-PI/4_binary64_2922 tan-PI/6_binary64_2921 cos-+PI/2_binary64_2920 cos-+PI_binary64_2919 cos-PI_binary64_2918 cos-PI/2_binary64_2917 cos-PI/3_binary64_2916 cos-PI/4_binary64_2915 cos-PI/6_binary64_2914 sin-+PI/2_binary64_2913 sin-+PI_binary64_2912 sin-PI_binary64_2911 sin-PI/2_binary64_2910 sin-PI/3_binary64_2909 sin-PI/4_binary64_2908 sin-PI/6_binary64_2907 sub-1-sin_binary64_2906 sub-1-cos_binary64_2905 -1-add-sin_binary64_2904 -1-add-cos_binary64_2903 1-sub-sin_binary64_2902 1-sub-cos_binary64_2901 cos-sin-sum_binary64_2900 log-E_binary64_2896 log-rec_binary64_2894 log-div_binary64_2893 pow-base-0_binary64_2890 unpow1/3_binary64_2873 exp-to-pow_binary64_2868 pow-base-1_binary64_2866 unpow0_binary64_2865 unpow-1_binary64_2863 exp-lft-cube_binary64_2862 exp-lft-sqr_binary64_2861 exp-cbrt_binary64_2860 rec-exp_binary64_2856 prod-exp_binary64_2855 e-exp-1_binary64_2851 exp-0_binary64_2848 cube-div_binary64_2835 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-square-sqrt_binary64_2818 /-rgt-identity_binary64_2797 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 distribute-neg-frac_binary64_2770 associate-/r/_binary64_2752 associate-*l/_binary64_2749
Counts
107 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01574917
13134544
27694486
316174486
429524486
541064486
649884486
748784486

prune131.0ms (0.4%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New80080
Fresh066
Picked011
Done022
Total80989
Error
0.0b
Counts
89 → 9
Compiler

Compiled 3816 to 409 computations (89.3% saved)

regimes1.6s (5.2%)

Accuracy

Total 0.1b remaining (69.7%)

Threshold costs 0.1b (69.7%)

Compiler

Compiled 22566 to 12047 computations (46.6% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2737
+-commutative_binary64_2736
sub-neg_binary64_2799
neg-mul-1_binary64_2802 neg-sub0_binary64_2801
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_3066 if-if-and_binary64_3065 if-if-or-not_binary64_3064 if-if-or_binary64_3063 if-not_binary64_3062 if-same_binary64_3061 if-false_binary64_3060 if-true_binary64_3059 tan-0_binary64_2935 cos-0_binary64_2934 sin-0_binary64_2933 unpow1_binary64_2864 e-exp-1_binary64_2851 1-exp_binary64_2850 exp-1-e_binary64_2849 exp-0_binary64_2848 sqr-abs_binary64_2821 sqr-neg_binary64_2820 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-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
02559
13559
24059
34259
44359
54359

end0.0ms (0%)

sample9.3s (30.3%)

Algorithm
intervals
Results
4.9s3930×body1024valid
1.0s1323×body512valid
495.0ms2208×body128valid
241.0ms527×body256valid
28.0ms12×body2048valid
Compiler

Compiled 3273 to 1755 computations (46.4% saved)

Profiling

Loading profile data...