Details

Time bar (total: 27.5s)

analyze2.8s (10.3%)

Algorithm
search
egg-herbie
Rules
362×cancel-sign-sub-inv_binary64_3795
284×unsub-neg_binary64_3823
282×distribute-rgt-neg-in_binary64_3787
250×distribute-rgt-in_binary64_3779
237×sub-neg_binary64_3822
209×distribute-lft-in_binary64_3778
192×neg-mul-1_binary64_3825
188×distribute-lft-neg-in_binary64_3786
170×associate-*r*_binary64_3769
169×neg-sub0_binary64_3824
149×distribute-rgt-neg-out_binary64_3789
146×distribute-lft-neg-out_binary64_3788
134×associate--r+_binary64_3765
124×*-commutative_binary64_3760
109×associate-*l*_binary64_3770
94×+-commutative_binary64_3759
74×associate-+l-_binary64_3764
73×mul0-rgt_binary64_3812 mul0-lft_binary64_3811
68×distribute-neg-in_binary64_3790
67×remove-double-neg_binary64_3817
58×sub0-neg_binary64_3816
33×--rgt-identity_binary64_3815
28×*-lft-identity_binary64_3818
22×+-lft-identity_binary64_3813 cancel-sign-sub_binary64_3794
20×sin-neg_binary64_3959 associate--r-_binary64_3768
19×associate-+l+_binary64_3762
18×associate-+r+_binary64_3761
13×associate-+r-_binary64_3763
12×associate--l+_binary64_3766
11×cos-neg_binary64_3960
10×+-rgt-identity_binary64_3814 distribute-rgt-out--_binary64_3783
*-rgt-identity_binary64_3819
distribute-neg-out_binary64_3791 associate--l-_binary64_3767
1-exp_binary64_3873
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 log-prod_binary64_3915 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow3_binary64_3895 unpow2_binary64_3894 unpow1/2_binary64_3893 pow-plus_binary64_3892 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow1_binary64_3887 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 exp-prod_binary64_3881 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-diff_binary64_3877 exp-neg_binary64_3876 exp-sum_binary64_3875 e-exp-1_binary64_3874 exp-1-e_binary64_3872 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-unmult_binary64_3866 cube-mult_binary64_3859 cube-div_binary64_3858 cube-prod_binary64_3857 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-sqrt-square_binary64_3842 rem-square-sqrt_binary64_3841 times-frac_binary64_3835 div-sub_binary64_3834 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 pow-sqr_binary64_3802 sqr-pow_binary64_3801 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 difference-of-squares_binary64_3798 unswap-sqr_binary64_3797 swap-sqr_binary64_3796 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 distribute-rgt-out_binary64_3782 distribute-lft-out--_binary64_3781 distribute-lft-out_binary64_3780 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/l*_binary64_3774 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071273
1151273
2316273
3606273
4711273
51003273
61138273
71521273
81681273
91761273
101811273
111816273
121816273
132112273
141872273
151872273
161872273
171713273
044
144
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
7.8%92%0.2%9
7.8%92%0.2%10
10.1%89.7%0.2%11
10.1%89.7%0.2%12
13.9%85.9%0.2%13
13.9%85.9%0.2%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample214.0ms (0.8%)

Algorithm
intervals
Results
148.0ms158×body1024valid
24.0ms43×body512valid
15.0msbody2048valid
6.0ms35×body128valid
5.0ms13×body256valid
Compiler

Compiled 49 to 39 computations (20.4% saved)

simplify24.0ms (0.1%)

Algorithm
egg-herbie
Rules
83×cancel-sign-sub-inv_binary64_3795
59×distribute-rgt-neg-in_binary64_3787
56×sub-neg_binary64_3822
47×distribute-rgt-in_binary64_3779
42×unsub-neg_binary64_3823
41×neg-mul-1_binary64_3825
35×neg-sub0_binary64_3824
34×distribute-lft-neg-in_binary64_3786 distribute-lft-in_binary64_3778
28×distribute-lft-neg-out_binary64_3788 associate--r+_binary64_3765
25×associate-*r*_binary64_3769
23×*-commutative_binary64_3760
21×+-commutative_binary64_3759
18×+-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 distribute-neg-in_binary64_3790 distribute-rgt-neg-out_binary64_3789
16×associate-+l-_binary64_3764
14×sub0-neg_binary64_3816
13×associate-*l*_binary64_3770
12×remove-double-neg_binary64_3817
10×*-lft-identity_binary64_3818
--rgt-identity_binary64_3815 associate--r-_binary64_3768
associate-+l+_binary64_3762
*-rgt-identity_binary64_3819
sin-neg_binary64_3959
cos-neg_binary64_3960 +-rgt-identity_binary64_3814 associate--l+_binary64_3766 associate-+r-_binary64_3763 associate-+r+_binary64_3761
1-exp_binary64_3873 cancel-sign-sub_binary64_3794
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 log-prod_binary64_3915 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow3_binary64_3895 unpow2_binary64_3894 unpow1/2_binary64_3893 pow-plus_binary64_3892 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow1_binary64_3887 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 exp-prod_binary64_3881 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-diff_binary64_3877 exp-neg_binary64_3876 exp-sum_binary64_3875 e-exp-1_binary64_3874 exp-1-e_binary64_3872 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-unmult_binary64_3866 cube-mult_binary64_3859 cube-div_binary64_3858 cube-prod_binary64_3857 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-sqrt-square_binary64_3842 rem-square-sqrt_binary64_3841 times-frac_binary64_3835 div-sub_binary64_3834 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 pow-sqr_binary64_3802 sqr-pow_binary64_3801 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 difference-of-squares_binary64_3798 unswap-sqr_binary64_3797 swap-sqr_binary64_3796 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 distribute-rgt-out--_binary64_3783 distribute-rgt-out_binary64_3782 distribute-lft-out--_binary64_3781 distribute-lft-out_binary64_3780 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/l*_binary64_3774 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771 associate--l-_binary64_3767
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01839
13139
25939
310539
412939
519639
624839
730939
842039
943039
1043639
1138539

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 48 to 34 computations (29.2% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
3.0b
(sin.f64 (-.f64 lambda1 lambda2))
3.1b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite138.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
6.4b
Rules
11×add-sqr-sqrt_binary64_3851 pow1_binary64_3890 add-exp-log_binary64_3867 add-cbrt-cube_binary64_3865
add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
cancel-sign-sub-inv_binary64_3795 associate-*r*_binary64_3769
cos-sum_binary64_3963 add-log-exp_binary64_3868 sin-sum_binary64_3962 pow-prod-down_binary64_3900 prod-exp_binary64_3878 cbrt-unprod_binary64_3862 associate-*l*_binary64_3770
cos-diff_binary64_3966
sub-neg_binary64_3822 sin-cos-mult_binary64_3985 *-commutative_binary64_3760
sin-diff_binary64_3965 distribute-rgt-in_binary64_3779 distribute-lft-in_binary64_3778 associate-*l/_binary64_3772 unswap-sqr_binary64_3797
Counts
4 → 64
Calls

4 calls:

7.0ms
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
7.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 2066 to 344 computations (83.3% saved)

series1.0s (3.8%)

Error
8.9b
Counts
4 → 56
Calls

4 calls:

526.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
287.0ms
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
79.0ms
(sin.f64 (-.f64 lambda1 lambda2))
61.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4116 to 1932 computations (53.1% saved)

simplify129.0ms (0.5%)

Algorithm
egg-herbie
Rules
585×distribute-rgt-neg-in_binary64_3787
537×distribute-lft-neg-in_binary64_3786
535×cancel-sign-sub-inv_binary64_3795
528×sub-neg_binary64_3822
364×neg-mul-1_binary64_3825
335×neg-sub0_binary64_3824
322×associate-*l*_binary64_3770
318×associate-*r*_binary64_3769
197×*-commutative_binary64_3760
140×unsub-neg_binary64_3823
121×+-commutative_binary64_3759
88×sqr-pow_binary64_3801
75×associate--l+_binary64_3766 associate-+l-_binary64_3764
68×associate-+r-_binary64_3763
62×distribute-lft-neg-out_binary64_3788
61×associate-+l+_binary64_3762
59×distribute-rgt-neg-out_binary64_3789
48×associate-+r+_binary64_3761
47×unswap-sqr_binary64_3797
44×associate--r+_binary64_3765
41×distribute-rgt-out--_binary64_3783
39×+-rgt-identity_binary64_3814
37×cube-prod_binary64_3857
36×cancel-sign-sub_binary64_3794
34×sub0-neg_binary64_3816
33×exp-prod_binary64_3881 distribute-rgt-out_binary64_3782
29×log-prod_binary64_3915
27×swap-sqr_binary64_3796
25×*-rgt-identity_binary64_3819
23×*-lft-identity_binary64_3818
22×remove-double-neg_binary64_3817
20×distribute-neg-in_binary64_3790 distribute-rgt-in_binary64_3779
16×pow-sqr_binary64_3802
15×cube-unmult_binary64_3866
14×distribute-neg-out_binary64_3791
13×unpow3_binary64_3895
11×rem-sqrt-square_binary64_3842
unpow1/2_binary64_3893
distribute-rgt1-in_binary64_3785 distribute-lft-out--_binary64_3781 associate--l-_binary64_3767
sin-neg_binary64_3959 cube-mult_binary64_3859 difference-of-squares_binary64_3798 distribute-lft-out_binary64_3780 distribute-lft-in_binary64_3778
cos-neg_binary64_3960
pow-plus_binary64_3892 mul0-rgt_binary64_3812 mul0-lft_binary64_3811
unpow2_binary64_3894 unpow1_binary64_3887
exp-sum_binary64_3875
1-exp_binary64_3873 exp-1-e_binary64_3872 cube-neg_binary64_3856 rem-3cbrt-lft_binary64_3854 sqr-neg_binary64_3843 rem-square-sqrt_binary64_3841 --rgt-identity_binary64_3815 associate-/l*_binary64_3774 associate--r-_binary64_3768
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 pow-base-0_binary64_3913 unpow1/3_binary64_3896 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-diff_binary64_3877 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-div_binary64_3858 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 times-frac_binary64_3835 div-sub_binary64_3834 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 +-lft-identity_binary64_3813 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-lft1-in_binary64_3784 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771
Counts
120 → 70
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02422334
16302091
218841986
333711986
446591980
550771980

prune141.0ms (0.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New581270
Fresh000
Picked101
Done000
Total591271
Error
6.4b
Counts
71 → 12
Compiler

Compiled 2555 to 639 computations (75% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
3.1b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite143.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
14×add-sqr-sqrt_binary64_3851
13×pow1_binary64_3890 add-exp-log_binary64_3867 add-cbrt-cube_binary64_3865
10×add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
associate-*r*_binary64_3769
associate-*l*_binary64_3770
pow-prod-down_binary64_3900 prod-exp_binary64_3878 cbrt-unprod_binary64_3862
cos-sum_binary64_3963 add-log-exp_binary64_3868
cos-diff_binary64_3966 cancel-sign-sub-inv_binary64_3795 *-commutative_binary64_3760
sin-cos-mult_binary64_3985 unswap-sqr_binary64_3797
sub-neg_binary64_3822 distribute-rgt-in_binary64_3779 distribute-lft-in_binary64_3778 associate-*l/_binary64_3772
Counts
4 → 70
Calls

4 calls:

7.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
5.0ms
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 2672 to 418 computations (84.4% saved)

series1.1s (3.9%)

Error
6.1b
Counts
4 → 47
Calls

4 calls:

603.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
157.0ms
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
137.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
86.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4413 to 2164 computations (51% saved)

simplify118.0ms (0.4%)

Algorithm
egg-herbie
Rules
514×distribute-rgt-neg-in_binary64_3787
432×distribute-lft-neg-in_binary64_3786
414×neg-mul-1_binary64_3825
401×neg-sub0_binary64_3824
353×cancel-sign-sub-inv_binary64_3795
338×associate-*r*_binary64_3769
324×associate-*l*_binary64_3770
217×sub-neg_binary64_3822
181×*-commutative_binary64_3760
164×distribute-lft-neg-out_binary64_3788
126×distribute-rgt-in_binary64_3779
120×distribute-rgt-neg-out_binary64_3789
117×unsub-neg_binary64_3823
112×distribute-rgt-out--_binary64_3783
93×sqr-pow_binary64_3801
83×distribute-rgt-out_binary64_3782
64×+-commutative_binary64_3759
52×cancel-sign-sub_binary64_3794
51×distribute-neg-out_binary64_3791
47×exp-prod_binary64_3881
46×distribute-lft-out_binary64_3780
44×cube-prod_binary64_3857
43×log-prod_binary64_3915
39×unswap-sqr_binary64_3797
36×*-rgt-identity_binary64_3819
32×*-lft-identity_binary64_3818 swap-sqr_binary64_3796 associate-+l-_binary64_3764
30×associate-+r-_binary64_3763
27×distribute-lft-out--_binary64_3781 associate-+l+_binary64_3762
26×+-rgt-identity_binary64_3814
23×associate--l+_binary64_3766
22×associate-+r+_binary64_3761
21×remove-double-neg_binary64_3817
19×sub0-neg_binary64_3816
17×pow-sqr_binary64_3802
14×cube-unmult_binary64_3866 rem-sqrt-square_binary64_3842 associate--r+_binary64_3765
11×unpow3_binary64_3895
10×unpow1/2_binary64_3893
distribute-rgt1-in_binary64_3785
exp-sum_binary64_3875
cos-neg_binary64_3960 sin-neg_binary64_3959 cube-mult_binary64_3859 cube-neg_binary64_3856 distribute-neg-in_binary64_3790
sqr-neg_binary64_3843 distribute-lft-in_binary64_3778
unpow2_binary64_3894 pow-plus_binary64_3892 unpow1_binary64_3887 div-sub_binary64_3834 difference-of-squares_binary64_3798
exp-diff_binary64_3877 exp-neg_binary64_3876 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 distribute-lft1-in_binary64_3784 associate--l-_binary64_3767
1-exp_binary64_3873 exp-1-e_binary64_3872 rem-3cbrt-lft_binary64_3854 rem-square-sqrt_binary64_3841 distribute-frac-neg_binary64_3792 associate-/l*_binary64_3774
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 pow-base-0_binary64_3913 unpow1/3_binary64_3896 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-div_binary64_3858 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 times-frac_binary64_3835 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 --rgt-identity_binary64_3815 +-lft-identity_binary64_3813 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 distribute-neg-frac_binary64_3793 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771 associate--r-_binary64_3768
Counts
117 → 78
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02171992
15481775
217011692
328541662
446511662
550401662

prune146.0ms (0.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New75378
Fresh5611
Picked101
Done000
Total81990
Error
0.1b
Counts
90 → 9
Compiler

Compiled 3084 to 559 computations (81.9% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))

rewrite198.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×add-sqr-sqrt_binary64_3851
15×pow1_binary64_3890 add-exp-log_binary64_3867 add-cbrt-cube_binary64_3865
12×associate-*r*_binary64_3769
11×add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
10×associate-*l*_binary64_3770
pow-prod-down_binary64_3900 prod-exp_binary64_3878 cbrt-unprod_binary64_3862
sin-cos-mult_binary64_3985
add-log-exp_binary64_3868 *-commutative_binary64_3760
sin-mult_binary64_3984 frac-times_binary64_3839 associate-*r/_binary64_3771 unswap-sqr_binary64_3797
cos-mult_binary64_3983 frac-add_binary64_3837 flip3-+_binary64_3832 flip-+_binary64_3803
distribute-rgt-in_binary64_3779 distribute-lft-in_binary64_3778 associate-*l/_binary64_3772
Counts
4 → 83
Calls

4 calls:

11.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
5.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
5.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
5.0ms
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 3906 to 530 computations (86.4% saved)

series1.6s (5.7%)

Error
0.1b
Counts
4 → 48
Calls

4 calls:

1.0s
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
164.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
162.0ms
(*.f64 (cos.f64 lambda1) (sin.f64 lambda2))
147.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5586 to 2473 computations (55.7% saved)

simplify131.0ms (0.5%)

Algorithm
egg-herbie
Rules
817×cancel-sign-sub-inv_binary64_3795
600×associate-*r*_binary64_3769
571×associate-*l*_binary64_3770
405×distribute-rgt-neg-in_binary64_3787
275×*-commutative_binary64_3760
154×exp-prod_binary64_3881
125×sub-neg_binary64_3822
96×distribute-rgt-in_binary64_3779
91×distribute-lft-in_binary64_3778
81×+-commutative_binary64_3759
73×neg-mul-1_binary64_3825 neg-sub0_binary64_3824
67×sqr-pow_binary64_3801
46×*-lft-identity_binary64_3818
44×log-prod_binary64_3915
43×associate--l+_binary64_3766
42×*-rgt-identity_binary64_3819
36×distribute-lft-neg-in_binary64_3786
35×cube-prod_binary64_3857
32×associate-+l+_binary64_3762
30×distribute-neg-in_binary64_3790 associate--r+_binary64_3765
28×distribute-lft-neg-out_binary64_3788
26×swap-sqr_binary64_3796
22×associate-+r+_binary64_3761
21×unsub-neg_binary64_3823 unswap-sqr_binary64_3797
17×distribute-rgt-out_binary64_3782
13×unpow3_binary64_3895
unpow1/2_binary64_3893 distribute-rgt-neg-out_binary64_3789
exp-sum_binary64_3875 cube-unmult_binary64_3866 cube-mult_binary64_3859
distribute-rgt-out--_binary64_3783 distribute-lft-out_binary64_3780
pow-sqr_binary64_3802
unpow2_binary64_3894 unpow1_binary64_3887 difference-of-squares_binary64_3798
pow-plus_binary64_3892 associate-+r-_binary64_3763
1-exp_binary64_3873 exp-1-e_binary64_3872 associate--l-_binary64_3767 associate-+l-_binary64_3764
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 pow-base-0_binary64_3913 unpow1/3_binary64_3896 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-diff_binary64_3877 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-div_binary64_3858 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-sqrt-square_binary64_3842 rem-square-sqrt_binary64_3841 times-frac_binary64_3835 div-sub_binary64_3834 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 remove-double-neg_binary64_3817 sub0-neg_binary64_3816 --rgt-identity_binary64_3815 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 cancel-sign-sub_binary64_3794 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 distribute-lft-out--_binary64_3781 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/l*_binary64_3774 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771 associate--r-_binary64_3768
Counts
131 → 94
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02953185
18612782
232612782
349242782
449842782

prune213.0ms (0.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New87794
Fresh448
Picked101
Done000
Total9211103
Error
0.1b
Counts
103 → 11
Compiler

Compiled 4747 to 825 computations (82.6% saved)

localize38.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))
0.2b
(/.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))) (-.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
0.3b
(*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))
0.3b
(*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))

rewrite482.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
87×pow1_binary64_3890
54×associate-*r/_binary64_3771
42×add-exp-log_binary64_3867 add-cbrt-cube_binary64_3865 cos-mult_binary64_3983 sin-mult_binary64_3984
37×pow-prod-down_binary64_3900
22×prod-exp_binary64_3878 cbrt-unprod_binary64_3862 associate-*l/_binary64_3772
19×frac-sub_binary64_3838
18×frac-times_binary64_3839
16×associate-/l/_binary64_3776
11×sub-div_binary64_3836
pow-prod-up_binary64_3899 pow-sqr_binary64_3802
add-cube-cbrt_binary64_3864 add-sqr-sqrt_binary64_3851 *-un-lft-identity_binary64_3829
associate-*r*_binary64_3769
pow-plus_binary64_3892 add-log-exp_binary64_3868 associate-/r/_binary64_3775
associate-*l*_binary64_3770 *-commutative_binary64_3760 div-exp_binary64_3880 cbrt-undiv_binary64_3863 times-frac_binary64_3835 flip3--_binary64_3833 flip--_binary64_3804 associate-/r*_binary64_3773
pow2_binary64_3910 swap-sqr_binary64_3796 sub-neg_binary64_3822 distribute-rgt-in_binary64_3779 cancel-sign-sub-inv_binary64_3795 distribute-lft-in_binary64_3778
frac-2neg_binary64_3840 clear-num_binary64_3828 div-inv_binary64_3826 associate-/l*_binary64_3774 difference-of-squares_binary64_3798
Counts
4 → 156
Calls

4 calls:

30.0ms
(/.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))) (-.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
21.0ms
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))
10.0ms
(*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))
9.0ms
(*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))
Compiler

Compiled 11897 to 1282 computations (89.2% saved)

series5.1s (18.4%)

Error
0.1b
Counts
4 → 57
Calls

4 calls:

2.7s
(/.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))) (-.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
1.7s
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))
270.0ms
(*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))
235.0ms
(*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))
Compiler

Compiled 10581 to 4874 computations (53.9% saved)

simplify257.0ms (0.9%)

Algorithm
egg-herbie
Rules
441×*-commutative_binary64_3760
269×associate-/l*_binary64_3774
243×div-sub_binary64_3834
146×cancel-sign-sub-inv_binary64_3795
133×+-commutative_binary64_3759
121×associate-*r*_binary64_3769
102×associate-*l/_binary64_3772
101×sub-neg_binary64_3822
93×log-div_binary64_3916
91×times-frac_binary64_3835
90×associate-/r*_binary64_3773
89×distribute-rgt-in_binary64_3779
88×distribute-lft-in_binary64_3778
87×associate-*r/_binary64_3771
82×associate--l+_binary64_3766
78×distribute-rgt-neg-in_binary64_3787
73×associate-+l+_binary64_3762
72×associate-*l*_binary64_3770
66×distribute-lft-neg-in_binary64_3786 associate--r+_binary64_3765
55×exp-prod_binary64_3881
53×associate-+r+_binary64_3761
50×log-prod_binary64_3915
47×neg-mul-1_binary64_3825 neg-sub0_binary64_3824
45×cube-prod_binary64_3857
44×swap-sqr_binary64_3796
39×cube-div_binary64_3858 sqr-pow_binary64_3801 associate-/l/_binary64_3776
38×associate-/r/_binary64_3775
32×distribute-neg-in_binary64_3790
27×unswap-sqr_binary64_3797
19×distribute-rgt-out_binary64_3782
18×unpow3_binary64_3895
14×distribute-lft-neg-out_binary64_3788
12×log-pow_binary64_3918
10×cube-mult_binary64_3859
log-rec_binary64_3917 difference-of-squares_binary64_3798
distribute-rgt-out--_binary64_3783
unpow2_binary64_3894 unpow1/2_binary64_3893 unpow1_binary64_3887 cube-unmult_binary64_3866
pow-plus_binary64_3892 exp-sum_binary64_3875
distribute-neg-frac_binary64_3793 count-2_binary64_3777 associate--r-_binary64_3768
exp-diff_binary64_3877 distribute-rgt-neg-out_binary64_3789 associate-+r-_binary64_3763
cos-sin-sum_binary64_3923 rem-sqrt-square_binary64_3842 /-rgt-identity_binary64_3820 *-rgt-identity_binary64_3819 pow-sqr_binary64_3802
1-exp_binary64_3873 exp-1-e_binary64_3872 *-inverses_binary64_3809 distribute-rgt1-in_binary64_3785
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 log-E_binary64_3919 pow-base-0_binary64_3913 unpow1/3_binary64_3896 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-square-sqrt_binary64_3841 unsub-neg_binary64_3823 mul-1-neg_binary64_3821 *-lft-identity_binary64_3818 remove-double-neg_binary64_3817 sub0-neg_binary64_3816 --rgt-identity_binary64_3815 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 cancel-sign-sub_binary64_3794 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-lft1-in_binary64_3784 distribute-lft-out--_binary64_3781 distribute-lft-out_binary64_3780 associate--l-_binary64_3767 associate-+l-_binary64_3764
Counts
213 → 196
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04589161
113188170
241688170
349678170
449668170

prune488.0ms (1.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1951196
Fresh1910
Picked101
Done000
Total19710207
Error
0.1b
Counts
207 → 10
Compiler

Compiled 13550 to 2851 computations (79% saved)

regimes2.4s (8.7%)

Accuracy

Total 0.1b remaining (70.7%)

Threshold costs 0.1b (70.7%)

Compiler

Compiled 31478 to 19516 computations (38% saved)

bsearch0.0ms (0%)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
24×*-commutative_binary64_3760
17×+-commutative_binary64_3759
16×sub-neg_binary64_3822
14×neg-mul-1_binary64_3825 neg-sub0_binary64_3824 distribute-rgt-neg-in_binary64_3787
13×distribute-lft-neg-in_binary64_3786
unsub-neg_binary64_3823 cancel-sign-sub-inv_binary64_3795 distribute-neg-in_binary64_3790
distribute-lft-neg-out_binary64_3788
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_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 unpow1_binary64_3887 e-exp-1_binary64_3874 1-exp_binary64_3873 exp-1-e_binary64_3872 exp-0_binary64_3871 sqr-abs_binary64_3844 sqr-neg_binary64_3843 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 *-rgt-identity_binary64_3819 *-lft-identity_binary64_3818 remove-double-neg_binary64_3817 sub0-neg_binary64_3816 --rgt-identity_binary64_3815 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 cancel-sign-sub_binary64_3794 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-rgt-neg-out_binary64_3789
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02773
14573
26273
38873
411573
514073
615273
715873
816073
916073

end0.0ms (0%)

sample10.6s (38.4%)

Algorithm
intervals
Results
5.0s5334×body1024valid
777.0ms1317×body512valid
355.0ms182×body2048valid
149.0ms779×body128valid
141.0ms388×body256valid
Compiler

Compiled 5147 to 3186 computations (38.1% saved)

Profiling

Loading profile data...