If you have a 1,000 face value bond that is 20 years to maturity, with a 5% coupon rate for the first 10 years and a 6% coupon rate for the last 10 years and a yield to maturity of 6% with interest assumed to be paid semi-annually how do you get the correct value of the bond? Because the coupon is <= the YTM i would assume that this is a discount bond however on my calculator i keep getting a premium, but in excel i get a discount.

I set it up in 3 parts, the 1,000 / 1.03^40 since it's semi annual i doubled time period and halved the YTM

then I added two annuities being 25 ( 1- (1/1.03^20)) / .03

and 30 ( 1-(1/1.03^20))/.03

What am I doing wrong on my calculator?