Details

Time bar (total: 4.6s)

analyze759.0ms (16.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
3.1%96.8%0.1%6
15.6%81.2%3.2%7
23.4%72.6%4%8
32.4%56.2%11.4%9
36.3%51.7%12%10
40.7%42.9%16.4%11
42.6%40.3%17.1%12
44.5%35.7%19.8%13
45.5%34.4%20.1%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample364.0ms (8%)

Algorithm
intervals
Results
275.0ms63×body2048valid
46.0ms77×body1024valid
10.0ms36×body512valid
5.0ms62×body128valid
3.0msbody512invalid
3.0ms17×body256valid
3.0msbody1024invalid
2.0ms16×body128invalid
2.0msbody4096valid
1.0msbody2048invalid
1.0msbody256invalid
0.0msbody128nan
Compiler

Compiled 31 to 25 computations (19.4% saved)

simplify135.0ms (3%)

Algorithm
egg-herbie
Rules
570×associate-/r/_binary64_3775
510×associate-*l/_binary64_3772
493×associate-/r*_binary64_3773
443×associate-/l/_binary64_3776
243×associate-*l*_binary64_3770
236×associate-*r*_binary64_3769
175×cancel-sign-sub-inv_binary64_3795
139×associate-/l*_binary64_3774
131×distribute-rgt-in_binary64_3779
130×distribute-rgt-neg-in_binary64_3787
123×distribute-lft-in_binary64_3778
105×distribute-lft-neg-in_binary64_3786
88×*-commutative_binary64_3760
72×unswap-sqr_binary64_3797
62×times-frac_binary64_3835
55×div-sub_binary64_3834
53×distribute-lft-neg-out_binary64_3788
50×distribute-neg-frac_binary64_3793
47×associate-*r/_binary64_3771
46×distribute-rgt-out_binary64_3782
43×sub-neg_binary64_3822
42×distribute-rgt-neg-out_binary64_3789
38×unsub-neg_binary64_3823
35×neg-mul-1_binary64_3825 neg-sub0_binary64_3824
28×distribute-lft-out_binary64_3780
26×*-rgt-identity_binary64_3819
23×*-lft-identity_binary64_3818
18×sqr-pow_binary64_3801
17×distribute-neg-in_binary64_3790
14×distribute-frac-neg_binary64_3792 +-commutative_binary64_3759
12×mul-1-neg_binary64_3821 pow-sqr_binary64_3802
11×associate-+r+_binary64_3761
10×distribute-rgt-out--_binary64_3783
associate-+r-_binary64_3763
/-rgt-identity_binary64_3820 associate-+l-_binary64_3764
+-rgt-identity_binary64_3814 mul0-rgt_binary64_3812 difference-of-sqr-1_binary64_3799
cube-unmult_binary64_3866 sub0-neg_binary64_3816 div0_binary64_3810
+-lft-identity_binary64_3813 associate--r+_binary64_3765
pow-plus_binary64_3892 cube-prod_binary64_3857 mul0-lft_binary64_3811 difference-of-sqr--1_binary64_3800 distribute-lft-out--_binary64_3781 associate-+l+_binary64_3762
1-exp_binary64_3873 remove-double-neg_binary64_3817 --rgt-identity_binary64_3815 *-inverses_binary64_3809 count-2_binary64_3777
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 log-prod_binary64_3915 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow3_binary64_3895 unpow2_binary64_3894 unpow1/2_binary64_3893 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-mult_binary64_3859 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 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-squares_binary64_3798 swap-sqr_binary64_3796 cancel-sign-sub_binary64_3794 distribute-neg-out_binary64_3791 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 associate--r-_binary64_3768 associate--l-_binary64_3767 associate--l+_binary64_3766
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
12822
26722
317022
448122
5185822

prune12.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New325
Fresh011
Picked000
Done000
Total336
Error
45.4b
Counts
6 → 3
Compiler

Compiled 120 to 81 computations (32.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)))
1.0b
(-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1)
6.1b
(pow.f64 (+.f64 1 (/.f64 i n)) n)
10.2b
(/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))

rewrite1.1s (24.2%)

Algorithm
rewrite-expression-head
Error
45.4b
Rules
584×times-frac_binary64_3835
486×add-sqr-sqrt_binary64_3851
367×*-un-lft-identity_binary64_3829
225×add-cube-cbrt_binary64_3864
174×associate-*r*_binary64_3769
168×difference-of-squares_binary64_3798
88×unpow-prod-down_binary64_3908
85×sqr-pow_binary64_3801
84×difference-of-sqr-1_binary64_3799
29×div-inv_binary64_3826
28×distribute-lft-out--_binary64_3781
19×add-exp-log_binary64_3867
18×add-cbrt-cube_binary64_3865
13×associate-/l*_binary64_3774 associate-/r*_binary64_3773
pow1_binary64_3890
div-exp_binary64_3880 add-log-exp_binary64_3868 cbrt-undiv_binary64_3863
pow-unpow_binary64_3906 cancel-sign-sub-inv_binary64_3795 prod-exp_binary64_3878 cbrt-unprod_binary64_3862 unswap-sqr_binary64_3797 associate-*l*_binary64_3770
flip3--_binary64_3833 associate-/l/_binary64_3776 flip--_binary64_3804 associate-/r/_binary64_3775
frac-2neg_binary64_3840 div-sub_binary64_3834 clear-num_binary64_3828 distribute-lft-out_binary64_3780 pow-pow_binary64_3901 pow-to-exp_binary64_3898 pow-exp_binary64_3897 diff-log_binary64_3921 sub-neg_binary64_3822 pow-prod-down_binary64_3900 associate-*r/_binary64_3771 *-commutative_binary64_3760
Counts
4 → 451
Calls

4 calls:

56.0ms
(*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)))
19.0ms
(/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))
11.0ms
(-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1)
7.0ms
(pow.f64 (+.f64 1 (/.f64 i n)) n)
Compiler

Compiled 14661 to 7953 computations (45.8% saved)

series1.5s (33.3%)

Error
2.9b
Counts
4 → 56
Calls

4 calls:

532.0ms
(*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)))
467.0ms
(/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))
247.0ms
(-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1)
128.0ms
(pow.f64 (+.f64 1 (/.f64 i n)) n)
Compiler

Compiled 6708 to 4799 computations (28.5% saved)

simplify657.0ms (14.4%)

Algorithm
egg-herbie
Rules
524×associate-/r/_binary64_3775
324×times-frac_binary64_3835
309×*-commutative_binary64_3760
269×associate-/l/_binary64_3776
221×sub-neg_binary64_3822
210×associate-*r/_binary64_3771
190×+-commutative_binary64_3759
150×div-sub_binary64_3834
137×associate-+r+_binary64_3761
130×cancel-sign-sub-inv_binary64_3795
64×unswap-sqr_binary64_3797
60×associate-/l*_binary64_3774
55×sqr-pow_binary64_3801
45×associate-*r*_binary64_3769
44×neg-mul-1_binary64_3825 neg-sub0_binary64_3824 distribute-neg-in_binary64_3790
39×distribute-rgt-in_binary64_3779
37×distribute-lft-in_binary64_3778
32×distribute-rgt-out_binary64_3782
31×distribute-rgt-neg-in_binary64_3787
29×associate--l+_binary64_3766
23×pow-sqr_binary64_3802
21×distribute-lft-neg-in_binary64_3786
20×/-rgt-identity_binary64_3820
18×associate--r+_binary64_3765
15×associate-/r*_binary64_3773
12×distribute-lft-out_binary64_3780
11×exp-prod_binary64_3881
10×log-prod_binary64_3915 distribute-lft-neg-out_binary64_3788
associate-*l*_binary64_3770
log-div_binary64_3916 swap-sqr_binary64_3796 distribute-rgt-out--_binary64_3783
distribute-neg-frac_binary64_3793
unpow3_binary64_3895 cube-mult_binary64_3859 *-rgt-identity_binary64_3819
cube-unmult_binary64_3866 cube-prod_binary64_3857
unpow2_binary64_3894 pow-plus_binary64_3892 pow-base-1_binary64_3889 exp-diff_binary64_3877 mul-1-neg_binary64_3821 remove-double-div_binary64_3805 difference-of-sqr-1_binary64_3799 distribute-rgt1-in_binary64_3785 distribute-lft-out--_binary64_3781 associate-*l/_binary64_3772
exp-sum_binary64_3875
log-pow_binary64_3918 log-rec_binary64_3917 rem-sqrt-square_binary64_3842 *-lft-identity_binary64_3818 associate-+r-_binary64_3763
unpow1_binary64_3887 div-exp_binary64_3880 1-exp_binary64_3873 exp-1-e_binary64_3872 rem-3cbrt-lft_binary64_3854 rem-square-sqrt_binary64_3841 remove-double-neg_binary64_3817 *-inverses_binary64_3809 difference-of-squares_binary64_3798 distribute-neg-out_binary64_3791 distribute-rgt-neg-out_binary64_3789 distribute-lft1-in_binary64_3784 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 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 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow1/2_binary64_3893 exp-to-pow_binary64_3891 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 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-div_binary64_3858 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 unsub-neg_binary64_3823 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 difference-of-sqr--1_binary64_3800 cancel-sign-sub_binary64_3794 distribute-frac-neg_binary64_3792 count-2_binary64_3777 associate--l-_binary64_3767 associate-+l-_binary64_3764 associate-+l+_binary64_3762
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0100919287
1287918817

end0.0ms (0%)

Profiling

Loading profile data...