COMPILATION LISTING OF fort_hfp_builtins_ (>spec>hard>41-3>fort_hfp_builtins_.fortran) Compiled by: Multics New Fortran Compiler, Release 11.0 Compiled on: 01/10/85 1314.0 mst Thu Options: ansi77 hexadecimal_floating_point round full_optimize auto_zero map Function abs_ 1 c ****************************************** 2 c * * 3 c * Copyright, (C) Honeywell Limited, 1984 * 4 c * * 5 c ****************************************** 6 7 %global ansi77, hfp 8 real function abs_(arg) 9 real arg 10 abs_ = abs(arg) 11 end Function abs_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 10 abs_ entry point 00000074 constant real on line 8 abs_ 00000100 automatic real ref 8 10 arg parameter position 1 real ref 8 9 10 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 8 000070 10 000111 11 000115 Function acos_ 12 real function acos_(arg) 13 real arg 14 acos_ = acos(arg) 15 end Function acos_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES acos builtin ref 14 acos_ entry point 00000123 constant real on line 12 acos_ 00000102 automatic real ref 12 14 arg parameter position 1 real ref 12 13 14 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000117 14 000140 15 000145 Function aimag_ 16 real function aimag_(arg) 17 complex arg 18 aimag_ = aimag(arg) 19 end Function aimag_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 18 aimag_ entry point 00000154 constant real on line 16 aimag_ 00000104 automatic real ref 16 18 arg parameter position 1 complex ref 16 17 18 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000150 18 000171 19 000174 Function aint_ 20 real function aint_(arg) 21 real arg 22 aint_ = aint(arg) 23 end Function aint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aint builtin ref 22 aint_ entry point 00000202 constant real on line 20 aint_ 00000106 automatic real ref 20 22 arg parameter position 1 real ref 20 21 22 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 000176 22 000217 23 000222 Function amod_ 24 real function amod_(arg1, arg2) 25 real arg1, arg2 26 amod_ = amod(arg1, arg2) 27 end Function amod_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES amod builtin ref 26 amod_ entry point 00000230 constant real on line 24 amod_ 00000110 automatic real ref 24 26 arg1 parameter position 1 real ref 24 25 26 arg2 parameter position 2 real ref 24 25 26 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000224 26 000245 27 000251 Function anint_ 28 real function anint_(arg) 29 real arg 30 anint_ = anint(arg) 31 end Function anint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES anint builtin ref 30 anint_ entry point 00000257 constant real on line 28 anint_ 00000112 automatic real ref 28 30 arg parameter position 1 real ref 28 29 30 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000253 30 000274 31 000277 Function asin_ 32 real function asin_(arg) 33 real arg 34 asin_ = asin(arg) 35 end Function asin_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 32 33 34 asin builtin ref 34 asin_ entry point 00000305 constant real on line 32 asin_ 00000114 automatic real ref 32 34 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 32 000301 34 000322 35 000327 Function atan2_ 36 real function atan2_(arg1, arg2) 37 real arg1, arg2 38 atan2_ = atan2(arg1, arg2) 39 end Function atan2_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 real ref 36 37 38 arg2 parameter position 2 real ref 36 37 38 atan2 builtin ref 38 atan2_ 00000116 automatic real ref 36 38 atan2_ entry point 00000336 constant real on line 36 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 36 000332 38 000353 39 000361 Function atan_ 40 real function atan_(arg) 41 real arg 42 atan_ = atan(arg) 43 end Function atan_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 40 41 42 atan builtin ref 42 atan_ entry point 00000370 constant real on line 40 atan_ 00000120 automatic real ref 40 42 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 40 000364 42 000405 43 000412 Function cabs_ 44 real function cabs_(arg) 45 complex arg 46 real major, minor, temp 47 real max_real, max_real_by_root_2, max_real_by_16 48 data max_real/o376777777777/, max_real_by_root_2/o376552023631/, 49 & max_real_by_16/o375777777777/ 50 major = abs(real(arg)) 51 minor = abs(aimag(arg)) 52 if (major.lt.minor) then 53 temp = major 54 major = minor 55 minor = temp 56 endif 57 if (major.eq.0.0) then 58 cabs_ = 0.0 59 else if (major.le.max_real_by_root_2) then 60 temp = minor/major 61 cabs_ = major*sqrt(temp*temp + 1.0) 62 else 63 temp = minor/major 64 temp = 0.0625*major*sqrt(temp*temp + 1.0) 65 cabs_ = 16.0*temp 66 if (temp.gt.max_real_by_16) cabs_ = max_real 67 endif 68 end Function cabs_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 50 51 aimag builtin ref 51 arg parameter position 1 complex ref 44 45 50 51 cabs_ entry point 00000421 constant real on line 44 cabs_ 00000122 automatic real ref 44 58 61 65 66 major 00000123 automatic real ref 46 50 52 53 54 57 59 60 61 63 64 max_real named constant real initialized ref 47 48 66 max_real_by_16 named constant real initialized ref 47 48 66 max_real_by_root_2 named constant real initialized ref 47 48 59 minor 00000124 automatic real ref 46 51 52 54 55 60 63 real builtin ref 50 sqrt builtin ref 61 64 temp 00000125 automatic real ref 46 53 55 60 61 61 63 64 64 64 65 66 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 44 000415 50 000436 51 000443 52 000447 53 000452 54 000454 55 000456 56 000460 57 000460 58 000462 59 000465 60 000467 61 000471 62 000500 63 000501 64 000503 65 000517 66 000522 67 000527 68 000527 Function ccos_ 69 complex function ccos_(arg) 70 complex arg 71 real x, y 72 x = real(arg) 73 y = aimag(arg) 74 ccos_ = cmplx(cos(x)*cosh_(y), -sin(x)*sinh_(y)) 75 end Function ccos_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 73 arg parameter position 1 complex ref 69 70 72 73 ccos_ entry point 00000537 constant complex on line 69 ccos_ 00000126 automatic complex ref 69 74 cmplx builtin ref 74 cos builtin ref 74 cosh_ internal function constant real ref 74 real builtin ref 72 sin builtin ref 74 sinh_ internal function constant real ref 74 x 00000130 automatic real ref 71 72 74 74 y 00000131 automatic real ref 71 73 74 74 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 69 000533 72 000554 73 000557 74 000561 75 000612 Function cexp_ 76 complex function cexp_(arg) 77 complex arg 78 real x, y 79 x = real(arg) 80 y = aimag(arg) 81 cexp_ = exp(x)*cmplx(cos(y), sin(y)) 82 end Function cexp_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 80 arg parameter position 1 complex ref 76 77 79 80 cexp_ entry point 00000622 constant complex on line 76 cexp_ 00000132 automatic complex ref 76 81 cmplx builtin ref 81 cos builtin ref 81 exp builtin ref 81 real builtin ref 79 sin builtin ref 81 x 00000134 automatic real ref 78 79 81 y 00000135 automatic real ref 78 80 81 81 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 76 000616 79 000637 80 000642 81 000644 82 000674 Function clog_ 83 complex function clog_(arg) 84 complex arg 85 real r, x, y 86 r = cabs_(arg) 87 x = real(arg) 88 y = aimag(arg) 89 clog_ = cmplx(log(r), atan2(y, x)) 90 end Function clog_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 88 arg parameter position 1 complex ref 83 84 86 87 88 atan2 builtin ref 89 cabs_ internal function constant on line 44 real ref 86 clog_ 00000136 automatic complex ref 83 89 clog_ entry point 00000704 constant complex on line 83 cmplx builtin ref 89 log builtin ref 89 r 00000140 automatic real ref 85 86 89 real builtin ref 87 x 00000141 automatic real ref 85 87 89 y 00000142 automatic real ref 85 88 89 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 83 000700 86 000721 87 000731 88 000735 89 000737 90 000756 Function conjg_ 91 complex function conjg_(arg) 92 complex arg 93 conjg_ = conjg(arg) 94 end Function conjg_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 complex ref 91 92 93 conjg builtin ref 93 conjg_ entry point 00000766 constant complex on line 91 conjg_ 00000144 automatic complex ref 91 93 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 91 000762 93 001003 94 001013 Function cos_ 95 real function cos_(arg) 96 real arg 97 cos_ = cos(arg) 98 end Function cos_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 95 96 97 cos builtin ref 97 cos_ entry point 00001022 constant real on line 95 cos_ 00000146 automatic real ref 95 97 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 95 001016 97 001037 98 001044 Function cosh_ 99 real function cosh_(arg) 100 real arg 101 real f, max_real, x 102 data max_real/o376777777777/ 103 external signal (descriptors) 104 x = abs(arg) 105 if (x .gt. 352.8119) then 106 call signal ("error", "-info_string", " sinh(x) or cosh(x), |x| > 352.8119, not allowed. Type ""start"" to set result to + or - .83798798+153") 107 cosh_ = max_real 108 else if (x .gt. 9.704) then 109 f = exp(0.5*x) 110 cosh_ = 0.5*f*f 111 else 112 f = exp(x) 113 cosh_ = 0.5*(f + 1/f) 114 endif 115 end Function cosh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 104 arg parameter position 1 real ref 99 100 104 cosh_ entry point 00001053 constant real on line 99 cosh_ 00000150 automatic real ref 99 107 110 113 exp builtin ref 109 112 f 00000151 automatic real ref 101 109 110 110 112 113 113 max_real named constant real initialized ref 101 102 107 signal external subroutine 00000010 constant with descriptors ref 103 106 x 00000152 automatic real ref 101 104 105 108 109 112 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 99 001047 104 001070 105 001074 106 001077 107 001120 108 001123 109 001125 110 001132 111 001135 112 001136 113 001142 114 001146 115 001146 Function csin_ 116 complex function csin_(arg) 117 complex arg 118 real x, y 119 x = real(arg) 120 y = aimag(arg) 121 csin_ = cmplx(sin(x)*cosh_(y), cos(x)*sinh_(y)) 122 end Function csin_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 120 arg parameter position 1 complex ref 116 117 119 120 cmplx builtin ref 121 cos builtin ref 121 cosh_ internal function constant on line 99 real ref 121 csin_ entry point 00001155 constant complex on line 116 csin_ 00000154 automatic complex ref 116 121 real builtin ref 119 sin builtin ref 121 sinh_ internal function constant real ref 121 x 00000156 automatic real ref 118 119 121 121 y 00000157 automatic real ref 118 120 121 121 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 116 001151 119 001172 120 001175 121 001177 122 001227 Function csqrt_ 123 complex function csqrt_(arg) 124 complex arg 125 real factor, scaled_r, scaled_x, scaled_y 126 if (abs(real(arg)).ge.1 .or. abs(aimag(arg)).ge.1) then 127 factor = 4 128 scaled_x = 0.03125*real(arg) 129 scaled_y = 0.03125*aimag(arg) 130 else 131 factor = 0.25 132 scaled_x = 8*real(arg) 133 scaled_y = 8*aimag(arg) 134 endif 135 scaled_r = cabs_(cmplx(scaled_x, scaled_y)) 136 csqrt_ = cmplx(factor*sqrt(scaled_r + scaled_x), 137 & sign(factor*sqrt(scaled_r - scaled_x), scaled_y)) 138 end Function csqrt_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 126 126 aimag builtin ref 126 129 133 arg parameter position 1 complex ref 123 124 126 126 128 129 132 133 cabs_ internal function constant on line 44 real ref 135 cmplx builtin ref 135 136 csqrt_ entry point 00001237 constant complex on line 123 csqrt_ 00000160 automatic complex ref 123 136 factor 00000162 automatic real ref 125 127 131 136 136 real builtin ref 126 128 132 scaled_r 00000163 automatic real ref 125 135 136 136 scaled_x 00000164 automatic real ref 125 128 132 135 136 136 scaled_y 00000165 automatic real ref 125 129 133 135 136 sign builtin ref 136 sqrt builtin ref 136 136 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 123 001233 126 001254 127 001273 128 001275 129 001300 130 001303 131 001304 132 001306 133 001311 134 001314 135 001314 136 001321 138 001345 Function cxp2_ 139 complex function cxp2_(arg1, arg2) 140 complex arg1, arg2 141 double precision f, x1, x2, x3, x4, y1, y2, y3, y4 142 143 c Set (x1, y1) = arg1 and (x2, y2) = arg2. 144 x1 = real(arg1) 145 y1 = aimag(arg1) 146 x2 = real(arg2) 147 y2 = aimag(arg2) 148 149 c Set (x3, y3) = log(arg1). 150 x3 = 0.5*dlog(x1*x1 + y1*y1) 151 y3 = datan2(y1, x1) 152 153 c Set (x4, y4) = log(arg1)*arg2. 154 x4 = x3*x2 - y3*y2 155 y4 = x3*y2 + y3*x2 156 157 c Set cxp2_ = exp(log(arg1)*arg2). 158 f = exp(x4) 159 cxp2_ = cmplx(f*dcos(y4), f*dsin(y4)) 160 end Function cxp2_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES aimag builtin ref 145 147 arg1 parameter position 1 complex ref 139 140 144 145 arg2 parameter position 2 complex ref 139 140 146 147 cmplx builtin ref 159 cxp2_ 00000166 automatic complex ref 139 159 cxp2_ entry point 00001355 constant complex on line 139 datan2 builtin ref 151 dcos builtin ref 159 dlog builtin ref 150 dsin builtin ref 159 exp builtin ref 158 f 00000170 automatic double precision ref 141 158 159 159 real builtin ref 144 146 x1 00000172 automatic double precision ref 141 144 150 150 151 x2 00000174 automatic double precision ref 141 146 154 155 x3 00000176 automatic double precision ref 141 150 154 155 x4 00000200 automatic double precision ref 141 154 158 y1 00000202 automatic double precision ref 141 145 150 150 151 y2 00000204 automatic double precision ref 141 147 154 155 y3 00000206 automatic double precision ref 141 151 154 155 y4 00000210 automatic double precision ref 141 155 159 159 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 139 001351 144 001372 145 001375 146 001377 147 001402 150 001404 151 001417 154 001425 155 001435 158 001444 159 001451 160 001473 Function dabs_ 161 double precision function dabs_(arg) 162 double precision arg 163 dabs_ = dabs(arg) 164 end Function dabs_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 161 162 163 dabs builtin ref 163 dabs_ entry point 00001503 constant double precision on line 161 dabs_ 00000212 automatic double precision ref 161 163 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 161 001477 163 001520 164 001524 Function dacos_ 165 double precision function dacos_(arg) 166 double precision arg 167 dacos_ = dacos(arg) 168 end Function dacos_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 165 166 167 dacos builtin ref 167 dacos_ entry point 00001532 constant double precision on line 165 dacos_ 00000214 automatic double precision ref 165 167 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 165 001526 167 001547 168 001554 Function dasin_ 169 double precision function dasin_(arg) 170 double precision arg 171 dasin_ = dasin(arg) 172 end Function dasin_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 169 170 171 dasin builtin ref 171 dasin_ entry point 00001563 constant double precision on line 169 dasin_ 00000216 automatic double precision ref 169 171 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 169 001557 171 001600 172 001605 Function datan2_ 173 double precision function datan2_(arg1, arg2) 174 double precision arg1, arg2 175 datan2_ = datan2(arg1, arg2) 176 end Function datan2_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 double precision ref 173 174 175 arg2 parameter position 2 double precision ref 173 174 175 datan2 builtin ref 175 datan2_ 00000220 automatic double precision ref 173 175 datan2_ entry point 00001614 constant double precision on line 173 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 173 001610 175 001631 176 001637 Function datan_ 177 double precision function datan_(arg) 178 double precision arg 179 datan_ = datan(arg) 180 end Function datan_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 177 178 179 datan builtin ref 179 datan_ entry point 00001646 constant double precision on line 177 datan_ 00000222 automatic double precision ref 177 179 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 177 001642 179 001663 180 001670 Function dcos_ 181 double precision function dcos_(arg) 182 double precision arg 183 dcos_ = dcos(arg) 184 end Function dcos_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 181 182 183 dcos builtin ref 183 dcos_ entry point 00001677 constant double precision on line 181 dcos_ 00000224 automatic double precision ref 181 183 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 181 001673 183 001714 184 001721 Function dcosh_ 185 double precision function dcosh_(arg) 186 double precision arg 187 double precision f, max_double, x 188 data max_double/o376777777777777777777777/ 189 external signal (descriptors) 190 x = dabs(arg) 191 if (x .gt. 352.8119149050121623d0) then 192 call signal ("error", "-info_string", " sinh(x) or cosh(x), |x| > 352.8119, not allowed. Type ""start"" to set result to + or - .83798798+153") 193 dcosh_ = max_double 194 else if (x .gt. 22.18) then 195 f = dexp(0.5*x) 196 dcosh_ = 0.5*f*f 197 else 198 f = dexp(x) 199 dcosh_ = 0.5*(f + 1/f) 200 endif 201 end Function dcosh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 185 186 190 dabs builtin ref 190 dcosh_ entry point 00001730 constant double precision on line 185 dcosh_ 00000226 automatic double precision ref 185 193 196 199 dexp builtin ref 195 198 f 00000230 automatic double precision ref 187 195 196 196 198 199 199 max_double named constant double precision initialized ref 187 188 193 signal external subroutine 00000010 constant with descriptors ref 189 192 x 00000232 automatic double precision ref 187 190 191 194 195 198 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 185 001724 190 001745 191 001751 192 001754 193 001775 194 002000 195 002002 196 002007 197 002012 198 002013 199 002017 200 002023 201 002023 Function ddim_ 202 double precision function ddim_(arg1, arg2) 203 double precision arg1, arg2 204 ddim_ = ddim(arg1, arg2) 205 end Function ddim_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 double precision ref 202 203 204 arg2 parameter position 2 double precision ref 202 203 204 ddim builtin ref 204 ddim_ 00000234 automatic double precision ref 202 204 ddim_ entry point 00002032 constant double precision on line 202 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 202 002026 204 002047 205 002056 Function dexp_ 206 double precision function dexp_(arg) 207 double precision arg 208 dexp_ = exp(arg) 209 end Function dexp_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 206 207 208 dexp_ entry point 00002064 constant double precision on line 206 dexp_ 00000236 automatic double precision ref 206 208 exp builtin ref 208 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 206 002060 208 002101 209 002106 Function dim_ 210 real function dim_(arg1, arg2) 211 real arg1, arg2 212 dim_ = dim(arg1, arg2) 213 end Function dim_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 real ref 210 211 212 arg2 parameter position 2 real ref 210 211 212 dim builtin ref 212 dim_ 00000240 automatic real ref 210 212 dim_ entry point 00002115 constant real on line 210 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 210 002111 212 002132 213 002141 Function dint_ 214 double precision function dint_(arg) 215 double precision arg 216 dint_ = dint(arg) 217 end Function dint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 214 215 216 dint builtin ref 216 dint_ entry point 00002147 constant double precision on line 214 dint_ 00000242 automatic double precision ref 214 216 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 214 002143 216 002164 217 002167 Function dlog10_ 218 double precision function dlog10_(arg) 219 double precision arg 220 dlog10_ = dlog10(arg) 221 end Function dlog10_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 218 219 220 dlog10 builtin ref 220 dlog10_ entry point 00002175 constant double precision on line 218 dlog10_ 00000244 automatic double precision ref 218 220 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 218 002171 220 002212 221 002217 Function dlog_ 222 double precision function dlog_(arg) 223 double precision arg 224 dlog_ = dlog(arg) 225 end Function dlog_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 222 223 224 dlog builtin ref 224 dlog_ entry point 00002226 constant double precision on line 222 dlog_ 00000246 automatic double precision ref 222 224 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 222 002222 224 002243 225 002250 Function dmod_ 226 double precision function dmod_(arg1, arg2) 227 double precision arg1, arg2 228 dmod_ = dmod(arg1, arg2) 229 end Function dmod_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 double precision ref 226 227 228 arg2 parameter position 2 double precision ref 226 227 228 dmod builtin ref 228 dmod_ 00000250 automatic double precision ref 226 228 dmod_ entry point 00002257 constant double precision on line 226 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 226 002253 228 002274 229 002300 Function dnint_ 230 double precision function dnint_(arg) 231 double precision arg 232 dnint_ = dnint(arg) 233 end Function dnint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 230 231 232 dnint builtin ref 232 dnint_ entry point 00002306 constant double precision on line 230 dnint_ 00000252 automatic double precision ref 230 232 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 230 002302 232 002323 233 002326 Function dprod_ 234 double precision function dprod_(arg1, arg2) 235 real arg1, arg2 236 dprod_ = dprod(arg1, arg2) 237 end Function dprod_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 real ref 234 235 236 arg2 parameter position 2 real ref 234 235 236 dprod builtin ref 236 dprod_ 00000254 automatic double precision ref 234 236 dprod_ entry point 00002334 constant double precision on line 234 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 234 002330 236 002351 237 002354 Function dsign_ 238 double precision function dsign_(arg1, arg2) 239 double precision arg1, arg2 240 dsign_ = dsign(arg1, arg2) 241 end Function dsign_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 double precision ref 238 239 240 arg2 parameter position 2 double precision ref 238 239 240 dsign builtin ref 240 dsign_ 00000256 automatic double precision ref 238 240 dsign_ entry point 00002362 constant double precision on line 238 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 238 002356 240 002377 241 002403 Function dsin_ 242 double precision function dsin_(arg) 243 double precision arg 244 dsin_ = dsin(arg) 245 end Function dsin_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 242 243 244 dsin builtin ref 244 dsin_ entry point 00002411 constant double precision on line 242 dsin_ 00000260 automatic double precision ref 242 244 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 242 002405 244 002426 245 002433 Function dsinh_ 246 double precision function dsinh_(arg) 247 double precision arg 248 double precision f, max_double, x, xx 249 data max_double/o376777777777777777777777/ 250 external signal (descriptors) 251 x = dabs(arg) 252 if (x .gt. 352.8119149050121623d0) then 253 call signal ("error", "-info_string", " sinh(x) or cosh(x), |x| > 352.8119, not allowed. Type ""start"" to set result to + or - .83798798+153") 254 dsinh_ = max_double 255 else if (x .gt. 22.18) then 256 f = dexp(0.5*x) 257 dsinh_ = 0.5*f*f 258 else if (x .gt. 0.332) then 259 f = dexp(x) 260 dsinh_ = 0.5*(f - 1/f) 261 else if (x .gt. 8.06e-10) then 262 xx = x*x 263 dsinh_ = x*(1 + xx*(1.666666666666666667d-1 264 & + xx*(8.333333333333333333d-3 265 & + xx*(1.984126984126984127d-4 266 & + xx*(2.755731922398589065d-6 267 & + xx*(2.505210838544171878d-8 268 & + xx*(1.60590438368216146d-10))))))) 269 else 270 dsinh_ = x 271 endif 272 if (arg .lt. 0) dsinh_ = -dsinh_ 273 end Function dsinh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 246 247 251 272 dabs builtin ref 251 dexp builtin ref 256 259 dsinh_ entry point 00002442 constant double precision on line 246 dsinh_ 00000262 automatic double precision ref 246 254 257 260 263 270 272 272 f 00000264 automatic double precision ref 248 256 257 257 259 260 260 max_double named constant double precision initialized ref 248 249 254 signal external subroutine 00000010 constant with descriptors ref 250 253 x 00000266 automatic double precision ref 248 251 252 255 256 258 259 261 262 262 263 270 xx 00000270 automatic double precision ref 248 262 263 263 263 263 263 263 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 246 002436 251 002457 252 002463 253 002466 254 002507 255 002512 256 002514 257 002521 258 002525 259 002527 260 002533 261 002541 262 002543 263 002545 269 002563 270 002564 271 002565 272 002565 273 002573 Function dsqrt_ 274 double precision function dsqrt_(arg) 275 double precision arg 276 dsqrt_ = dsqrt(arg) 277 end Function dsqrt_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 274 275 276 dsqrt builtin ref 276 dsqrt_ entry point 00002602 constant double precision on line 274 dsqrt_ 00000272 automatic double precision ref 274 276 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 274 002576 276 002617 277 002624 Function dtan_ 278 double precision function dtan_(arg) 279 double precision arg 280 dtan_ = dtan(arg) 281 end Function dtan_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 278 279 280 dtan builtin ref 280 dtan_ entry point 00002633 constant double precision on line 278 dtan_ 00000274 automatic double precision ref 278 280 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 278 002627 280 002650 281 002655 Function dtanh_ 282 double precision function dtanh_(arg) 283 double precision arg 284 double precision dcosh_, dsinh_ 285 if (abs(arg) .gt. 22.18) then 286 dtanh_ = dsign(1d0, arg) 287 else 288 dtanh_ = dsinh_(arg)/dcosh_(arg) 289 endif 290 end Function dtanh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 285 arg parameter position 1 double precision ref 282 283 285 286 288 288 dcosh_ internal function constant on line 185 double precision ref 284 288 dsign builtin ref 286 dsinh_ internal function constant on line 246 double precision ref 284 288 dtanh_ 00000276 automatic double precision ref 282 286 288 dtanh_ entry point 00002664 constant double precision on line 282 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 282 002660 285 002701 286 002707 287 002713 288 002714 289 002740 290 002740 Function exp_ 291 real function exp_(arg) 292 real arg 293 exp_ = exp(arg) 294 end Function exp_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 291 292 293 exp builtin ref 293 exp_ entry point 00002747 constant real on line 291 exp_ 00000300 automatic real ref 291 293 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 291 002743 293 002764 294 002771 Function idnint_ 295 integer function idnint_(arg) 296 double precision arg 297 idnint_ = idnint(arg) 298 end Function idnint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 double precision ref 295 296 297 idnint builtin ref 297 idnint_ entry point 00003000 constant integer on line 295 idnint_ 00000302 automatic integer ref 295 297 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 295 002774 297 003015 298 003020 Function alog10_ 299 real function alog10_(arg) 300 real arg 301 alog10_ = log10(arg) 302 end Function alog10_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES alog10_ entry point 00003026 constant real on line 299 alog10_ 00000304 automatic real ref 299 301 arg parameter position 1 real ref 299 300 301 log10 builtin ref 301 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 299 003022 301 003043 302 003050 Function alog_ 303 real function alog_(arg) 304 real arg 305 alog_ = log(arg) 306 end Function alog_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES alog_ entry point 00003057 constant real on line 303 alog_ 00000306 automatic real ref 303 305 arg parameter position 1 real ref 303 304 305 log builtin ref 305 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 303 003053 305 003074 306 003101 Function nint_ 307 integer function nint_(arg) 308 real arg 309 nint_ = nint(arg) 310 end Function nint_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 307 308 309 nint builtin ref 309 nint_ entry point 00003110 constant integer on line 307 nint_ 00000310 automatic integer ref 307 309 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 307 003104 309 003125 310 003130 Function sign_ 311 real function sign_(arg1, arg2) 312 real arg1, arg2 313 sign_ = sign(arg1, arg2) 314 end Function sign_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg1 parameter position 1 real ref 311 312 313 arg2 parameter position 2 real ref 311 312 313 sign builtin ref 313 sign_ 00000312 automatic real ref 311 313 sign_ entry point 00003136 constant real on line 311 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 311 003132 313 003153 314 003157 Function sin_ 315 real function sin_(arg) 316 real arg 317 sin_ = sin(arg) 318 end Function sin_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 315 316 317 sin builtin ref 317 sin_ entry point 00003165 constant real on line 315 sin_ 00000314 automatic real ref 315 317 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 315 003161 317 003202 318 003207 Function sinh_ 319 real function sinh_(arg) 320 real arg 321 real f, max_real, x 322 double precision xx 323 data max_real/o376777777777/ 324 external signal (descriptors) 325 x = abs(arg) 326 if (x .gt. 352.8119) then 327 call signal ("error", "-info_string", " sinh(x) or cosh(x), |x| > 352.8119, not allowed. Type ""start"" to set result to + or - .83798798+153") 328 sinh_ = max_real 329 else if (x .gt. 9.704) then 330 f = exp(0.5*x) 331 sinh_ = 0.5*f*f 332 else if (x .gt. 0.419) then 333 f = exp(x) 334 sinh_ = 0.5*(f - 1/f) 335 else if (x .gt. 2.11e-4) then 336 xx = dprod(x, x) 337 sinh_ = x*(1 + xx*(1.666666666666666667d-1 338 & + xx*(8.333333333333333333d-3 339 & + xx*(1.984126984126984127d-4)))) 340 else 341 sinh_ = x 342 endif 343 if (arg .lt. 0) sinh_ = -sinh_ 344 end Function sinh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 325 arg parameter position 1 real ref 319 320 325 343 dprod builtin ref 336 exp builtin ref 330 333 f 00000321 automatic real ref 321 330 331 331 333 334 334 max_real named constant real initialized ref 321 323 328 signal external subroutine 00000010 constant with descriptors ref 324 327 sinh_ 00000320 automatic real ref 319 328 331 334 337 341 343 343 sinh_ entry point 00003216 constant real on line 319 x 00000322 automatic real ref 321 325 326 329 330 332 333 335 336 336 337 341 xx 00000316 automatic double precision ref 322 336 337 337 337 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 319 003212 325 003233 326 003237 327 003242 328 003263 329 003266 330 003270 331 003275 332 003301 333 003303 334 003307 335 003315 336 003317 337 003321 340 003331 341 003332 342 003333 343 003333 344 003341 Function sqrt_ 345 real function sqrt_(arg) 346 real arg 347 sqrt_ = sqrt(arg) 348 end Function sqrt_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 345 346 347 sqrt builtin ref 347 sqrt_ entry point 00003350 constant real on line 345 sqrt_ 00000324 automatic real ref 345 347 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 345 003344 347 003365 348 003372 Function tan_ 349 real function tan_(arg) 350 real arg 351 tan_ = tan(arg) 352 end Function tan_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES arg parameter position 1 real ref 349 350 351 tan builtin ref 351 tan_ entry point 00003401 constant real on line 349 tan_ 00000326 automatic real ref 349 351 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 349 003375 351 003416 352 003423 Function tanh_ 353 real function tanh_(arg) 354 real arg 355 if (abs(arg) .gt. 9.704) then 356 tanh_ = sign(1e0, arg) 357 else 358 tanh_ = sinh_(arg)/cosh_(arg) 359 endif 360 end Function tanh_ NAMES USED IN THIS PROGRAM UNIT NAME TYPE OF NAME LOC STORAGE ATTRIBUTES AND REFERENCES abs builtin ref 355 arg parameter position 1 real ref 353 354 355 356 358 358 cosh_ internal function constant on line 99 real ref 358 sign builtin ref 356 sinh_ internal function constant on line 319 real ref 358 tanh_ 00000330 automatic real ref 353 356 358 tanh_ entry point 00003432 constant real on line 353 LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 353 003426 355 003447 356 003455 357 003461 358 003462 359 003506 360 003506 OBJECT SEGMENT SUMMARY STORAGE REQUIREMENTS FOR THIS PROGRAM Object Text Link Symbol Defs Static Start 0 0 3614 4262 3626 3624 Length 4702 3614 12 404 433 0 Stack frame is 1856 (decimal) words. ENTRY POINT LOC ATTRIBUTES abs_ 000074 on line 8 acos_ 000123 on line 12 aimag_ 000154 on line 16 aint_ 000202 on line 20 alog10_ 003026 on line 299 alog_ 003057 on line 303 amod_ 000230 on line 24 anint_ 000257 on line 28 asin_ 000305 on line 32 atan2_ 000336 on line 36 atan_ 000370 on line 40 cabs_ 000421 on line 44 ref in clog_ 86 ref in csqrt_ 135 ccos_ 000537 on line 69 cexp_ 000622 on line 76 clog_ 000704 on line 83 conjg_ 000766 on line 91 cos_ 001022 on line 95 cosh_ 001053 on line 99 ref in ccos_ 74 ref in csin_ 121 ref in tanh_ 358 csin_ 001155 on line 116 csqrt_ 001237 on line 123 cxp2_ 001355 on line 139 dabs_ 001503 on line 161 dacos_ 001532 on line 165 dasin_ 001563 on line 169 datan2_ 001614 on line 173 datan_ 001646 on line 177 dcos_ 001677 on line 181 dcosh_ 001730 on line 185 ref in dtanh_ 284 288 ddim_ 002032 on line 202 dexp_ 002064 on line 206 dim_ 002115 on line 210 dint_ 002147 on line 214 dlog10_ 002175 on line 218 dlog_ 002226 on line 222 dmod_ 002257 on line 226 dnint_ 002306 on line 230 dprod_ 002334 on line 234 dsign_ 002362 on line 238 dsin_ 002411 on line 242 dsinh_ 002442 on line 246 ref in dtanh_ 284 288 dsqrt_ 002602 on line 274 dtan_ 002633 on line 278 dtanh_ 002664 on line 282 exp_ 002747 on line 291 idnint_ 003000 on line 295 nint_ 003110 on line 307 sign_ 003136 on line 311 sin_ 003165 on line 315 sinh_ 003216 on line 319 ref in ccos_ 74 ref in csin_ 121 ref in tanh_ 358 sqrt_ 003350 on line 345 tan_ 003401 on line 349 tanh_ 003432 on line 353 EXTERNAL REFERENCE LOC ATTRIBUTES signal 000010 in cosh_ ref 103 106 in dcosh_ ref 189 192 in dsinh_ ref 250 253 in sinh_ ref 324 327 NO COMMON BLOCKS SOURCE FILES USED IN THIS COMPILATION LINE NUMBER DATE MODIFIED PATHNAME 0 01/10/85 1306.2 >spec>hard>41-3>fort_hfp_builtins_.fortran ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved