1: #
2: # Copyright (c) 1980 Regents of the University of California.
3: # All rights reserved. The Berkeley software License Agreement
4: # specifies the terms and conditions for redistribution.
5: #
6: # @(#)sinh.s 5.1 (Berkeley) 5/8/85
7: #
8: #
9: # double _sinh(arg)
10: # double _cosh(arg)
11: # double arg
12: # method: compute from exp except for sinh where -.5<arg<.5
13: # then a polynimial approx. is uded
14: # JF Jarvis, August 12,1978
15: .globl _sinh
16: .globl _cosh
17: .globl _exp
18: .text
19: .align 1
20: _sinh:
21: .word 0x0c0
22: bispsw $0xe0
23: movd 4(ap),r6
24: cmpd r6,$0d0.5e+0
25: jgeq expfrm
26: cmpd r6,$0d-0.5e+0
27: jleq expfrm
28: muld3 r6,r6,r0 # Hart&Cheney SINH 1985
29: polyd r0,$5,pcoef
30: muld2 r6,r0
31: ret
32: expfrm:
33: movd r6,-(sp) # sinh(x)=(exp(x)-exp(-x))/2
34: calls $2,_exp
35: divd3 r0,$0d1.0e+0,r2
36: subd2 r2,r0
37: muld2 $0d0.5e+0,r0
38: ret
39: .align 1
40: _cosh:
41: .word 0x0
42: bispsw $0xe0
43: movd 4(ap),-(sp)
44: calls $2,_exp
45: divd3 r0,$0d1.0e+0,r2
46: addd2 r2,r0
47: muld2 $0d0.5e+0,r0
48: ret
49: .data
50: .align 2
51: pcoef:
52: .double 0d0.251726188251e-7
53: .double 0d0.275569807356154e-5
54: .double 0d0.1984127027907999e-3
55: .double 0d0.833333333307759961e-2
56: .double 0d0.16666666666667212324e+0
57: .double 0d0.99999999999999998116e+0
Defined functions
_cosh
declared in line
16; defined in line
40; used 15 times
_sinh
declared in line
15; defined in line
20; used 15 times
Defined variables
pcoef
defined in line
51; used 1 times