.data A: .float 1. constPi: .float 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679 const0: .double 0. const1: .double 1. const6: .double 6. #2 * 3 const20: .double 20. #4 * 5 const42: .double 42. #6 * 7 const72: .double 72. #8 * 9 const110: .double 110. #10*11 const156: .double 156. #12*13 const210: .double 210. #14*15 const272: .double 272. #16*17 const342: .double 342. #18*19 const420: .double 420. #20*21 .text main: l.s $f12, constPi jal sinus l.s $f2, const0 add.s $f12, $f0, $f2 li $v0, 2 syscall li $v0, 10 syscall #calc the sin(f12) by using the first 21 terms of the taylorseries (using horner) sinus: cvt.d.s $f12, $f12 #casten auf double mul.d $f2, $f12, $f12 #berechne x^2 l.d $f4, const1 #lade konstante = 1 l.d $f6, const420 div.d $f8, $f2, $f6 #innerste klammer(1-x^2/420) sub.d $f0, $f4, $f8 l.d $f6, const342 div.d $f8, $f2, $f6 #berechne x^2/342 mul.d $f0, $f0, $f8 #x^2/342*(1-x^2/420) sub.d $f0, $f4, $f0 #1-x^2/342*(1-x^2/420) l.d $f6, const272 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/272*(1-x^2/342*(1-x^2/420)) l.d $f6, const210 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420))) l.d $f6, const156 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420)))) l.d $f6, const110 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420))))) l.d $f6, const72 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/72*(1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420)))))) l.d $f6, const42 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/42*(1-x^2/72*(1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420))))))) l.d $f6, const20 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/20*(1-x^2/42*(1-x^2/72*(1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420)))))))) l.d $f6, const6 div.d $f8, $f2, $f6 mul.d $f0, $f0, $f8 sub.d $f0, $f4, $f0 #1-x^2/6*(1-x^2/20*(1-x^2/42*(1-x^2/72*(1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420))))))))) mul.d $f0, $f12, $f0 #x*(1-x^2/6*(1-x^2/20*(1-x^2/42*(1-x^2/72*(1-x^2/110*(1-x^2/156*(1-x^2/210*(1-x^2/272*(1-x^2/342*(1-x^2/420)))))))))) cvt.s.d $f0, $f0 #casten auf single jr $ra