xref: /csrg-svn/old/libm/liboldnm/sin.s (revision 20008)
1*20008Sdist#
2*20008Sdist# Copyright (c) 1980 Regents of the University of California.
3*20008Sdist# All rights reserved.  The Berkeley software License Agreement
4*20008Sdist# specifies the terms and conditions for redistribution.
5*20008Sdist#
6*20008Sdist#	@(#)sin.s	5.1 (Berkeley) 05/08/85
7*20008Sdist#
8*20008Sdist#
919998Sdist# double float sin(),cos()
1019998Sdist#coefficients are from Hart & Cheney  SIN3370 (18.80D)
1119998Sdist.text
1219998Sdist.align 1
1319998Sdist.globl _sin
1419998Sdist.globl _cos
1519998Sdist_sin:
1619998Sdist	.word 0x03c0
1719998Sdist	bispsw	$0xe0
1819998Sdist	clrl	r9
1919998Sdist	movd	4(ap),r0
2019998Sdist	jgeq	range
2119998Sdist	movl	$2,r9
2219998Sdist	jbr	negarg
2319998Sdist
2419998Sdist.align 1
2519998Sdist_cos:
2619998Sdist	.word	0x0fc0
2719998Sdist	bispsw	$0xe0
2819998Sdist	movl	$1,r9
2919998Sdist	movd	4(ap),r0
3019998Sdist	jgeq	range
3119998Sdistnegarg:
3219998Sdist	mnegd	r0,r0
3319998Sdist
3419998Sdistrange:
3519998Sdist	emodd	twoopi,twoopix,r0,r8,r6
3619998Sdist	addl2	r9,r8
3719998Sdist	bicb2	$~03,r8
3819998Sdist	caseb	r8,$0,$3
3919998Sdistbse:	.word	qda-bse,qdb-bse,qdc-bse,qdd-bse
4019998Sdistqdb:	subd3	r6,$0d1.0e+0,r6
4119998Sdist	jbr	qda
4219998Sdistqdc:	mnegd	r6,r6
4319998Sdist	jbr	qda
4419998Sdistqdd:	subd2	$0d1.0e+0,r6
4519998Sdistqda:
4619998Sdist	muld3	r6,r6,r8
4719998Sdist	polyd	r8,$4,pcoef
4819998Sdist	muld2	r0,r6
4919998Sdist	polyd	r8,$4,qcoef
5019998Sdist	divd3	r0,r6,r0
5119998Sdist	ret
5219998Sdist.data
5319998Sdist.align 2
5419998Sdisttwoopi:.double	0d6.36619772367581340000e-01
5519998Sdistqcoef:.double	0d1.00000000000000000000e+00
5619998Sdist .double	0d1.32653490878613630000e+02
5719998Sdist .double	0d9.46309610153820810000e+03
5819998Sdist .double	0d4.08179225234329970000e+05
5919998Sdist .double	0d8.64455865292253430000e+06
6019998Sdistpcoef:.double	0d1.45968840666576870000e+02
6119998Sdist .double	0d-1.38472724998245280000e+04
6219998Sdist .double	0d4.40103053537526640000e+05
6319998Sdist .double	0d-4.94290810090284410000e+06
6419998Sdist .double	0d1.35788409787737560000e+07
6519998Sdisttwoopix: .byte 0x29
66