ASSEMBLY LISTING OF SEGMENT >spec>install>1110>logarithm_.alm ASSEMBLED ON: 11/11/89 0943.7 mst Sat OPTIONS USED: -target l68 list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1002.3 mst Fri 1 " ****************************************** 2 " * * 3 " * Copyright, (C) Honeywell Limited, 1985 * 4 " * * 5 " ****************************************** 000000 6 name logarithm_ 7 " Modification history: 8 " Written by H. Hoover, M. Mabey, and B. Wong, April 1985, 9 " based on GCOS routine '7naf'. 10 " 11 " Function: Calculates the logarithm functions log_base_e(x), log_base_2(x), 12 " and log_base_10(x) to single precision accuracy in either BFP or 13 " HFP mode. 14 " 15 " Entry: through the appropriately named entry point with: 16 " EAQ = the argument x. 17 " PR2 = the address of a 14 word, even-word aligned scratch area. 18 " PR3 = the return address. 19 " 20 " Exit: EAQ = the desired logarithm 21 " 22 " Uses: X0, X1, X3 23 " X0 = saves a return address from call_math_error_ 24 " or saves a return address from log2 25 " X1 = saves a return address from part_log2_of_ratio 26 " X3 = address of second argument for part_log2_of_ratio 27 000000 28 segref math_constants_,hfp_log_10_of_2,hfp_log_e_of_2,log_10_of_2,log_e_of_2,max_value 29 000000 30 equ xe,0 000002 31 equ xm,2 000004 32 equ bias,4 000006 33 equ shift,6 000010 34 equ x_plus_y,8 000012 35 equ z,10 000014 36 equ zz,12 37 000013 38 segdef log_base_10_,hfp_log_base_10_ 000017 39 segdef log_base_2_,hfp_log_base_2_ 000022 40 segdef log_base_e_,hfp_log_base_e_ 41 42 000000 43 log_base_10_: 000000 0a 000040 7000 00 44 tsx0 log2 " calculate log2 (x) 000001 4a 4 00010 4631 20 45 dfmp log_10_of_2 " EAQ := log_10_of_2 * log2 (x) 000002 aa 000000 4710 00 46 frd 0 000003 aa 3 00000 7101 00 47 tra pr3|0 " return to caller 48 000004 49 log_base_2_: 000004 0a 000040 7000 00 50 tsx0 log2 " calculate log2 (x) 000005 aa 000000 4710 00 51 frd 0 000006 aa 3 00000 7101 00 52 tra pr3|0 " return to caller 53 000007 54 log_base_e_: 000007 0a 000040 7000 00 55 tsx0 log2 " calculate log2 (x) 000010 4a 4 00012 4631 20 56 dfmp log_e_of_2 " EAQ := log_e_of_2 * log2 (x) 000011 aa 000000 4710 00 57 frd 0 000012 aa 3 00000 7101 00 58 tra pr3|0 " return to caller 59 000013 60 hfp_log_base_10_: 000013 0a 000113 7000 00 61 tsx0 hfp_log2 " calculate log2 (x) 000014 4a 4 00014 4631 20 62 dfmp hfp_log_10_of_2 " EAQ := hfp_log_10_of_2 * log2 (x) 000015 aa 000000 4710 00 63 frd 0 000016 aa 3 00000 7101 00 64 tra pr3|0 " return to caller 65 000017 66 hfp_log_base_2_: 000017 0a 000113 7000 00 67 tsx0 hfp_log2 " calculate log2 (x) 000020 aa 000000 4710 00 68 frd 0 000021 aa 3 00000 7101 00 69 tra pr3|0 " return to caller 70 000022 71 hfp_log_base_e_: 000022 0a 000113 7000 00 72 tsx0 hfp_log2 " calculate log2 (x) 000023 4a 4 00016 4631 20 73 dfmp hfp_log_e_of_2 " EAQ := hfp_log_e_of_2 * log2 (x) 000024 aa 000000 4710 00 74 frd 0 000025 aa 3 00000 7101 00 75 tra pr3|0 " return to caller 76 000026 77 log_of_negative: 000026 aa 000012 2360 07 78 ldq 10,dl 000027 4a 4 00020 7001 20 79 tsx0 |[call_math_error_] 000030 4a 4 00022 4311 20 80 fld max_value 000031 aa 000000 5130 00 81 fneg 0 000032 aa 3 00000 7101 00 82 tra pr3|0 83 000033 84 log_of_zero: 000033 aa 000011 2360 07 85 ldq 9,dl 000034 4a 4 00020 7001 20 86 tsx0 |[call_math_error_] 000035 4a 4 00022 4311 20 87 fld max_value 000036 aa 000000 5130 00 88 fneg 0 000037 aa 3 00000 7101 00 89 tra pr3|0 90 000040 91 log2: 000040 aa 400000 4750 03 92 fad =0.0,du " normalize input and set indicators 000041 0a 000026 6040 00 93 tmi log_of_negative 000042 0a 000033 6000 00 94 tze log_of_zero 95 000043 0a 000232 5150 00 96 fcmp square_root_two " check for x in the range [.707,1.414] 000044 aa 000006 6050 04 97 tpl 6,ic 000045 0a 000226 5150 00 98 fcmp square_root_half 000046 aa 000004 6040 04 99 tmi 4,ic " if square_root_half >= x & x <= square_root_two 000047 0a 000202 6230 00 100 eax3 one " X3 := addr (1.0) 000050 aa 000000 6210 10 101 eax1 0,x0 " copy return address 000051 0a 000067 7100 00 102 tra part_log2_of_ratio " result = part_log2_of_ratio (x, 1) 103 " else 000052 aa 2 00000 4561 00 104 ste pr2|xe " store addr (x) -> expon in xe 000053 aa 000000 4110 03 105 lde =0,du " addr (xm) -> expon = 0 000054 aa 2 00002 4551 00 106 fst pr2|xm 000055 aa 2 00000 2351 00 107 lda pr2|xe " A := 8/xe,10/0,18/garbage 000056 aa 000066 7330 00 108 lrs 72-18 " AQ := 62/xe,10/0 000057 aa 172000 4110 03 109 lde =61b25,du " EAQ := unnormalized float(xe) 000060 aa 000400 5750 03 110 fsb =0.5,du " EAQ := float(xe) - 0.5 000061 aa 2 00004 4551 00 111 fst pr2|bias 000062 aa 2 00002 4311 00 112 fld pr2|xm 000063 0a 000226 6230 00 113 eax3 square_root_half " X3 := addr (square_root_half) 000064 0a 000067 7010 00 114 tsx1 part_log2_of_ratio " EAQ := part_log2_of_ratio (x, square_root_half) 000065 aa 2 00004 4751 00 115 fad pr2|bias " EAQ := part_log2_of_ratio (x, square_root_half) + bias (= log2(x)) 000066 aa 000000 7100 10 116 tra 0,x0 " return result 117 118 119 " part_log2_of_ratio (x, y) calculates log2(x/y), where x/y is in the 120 " range [0.5*2**0.5, 2**0.5], given x in the EAQ and the address of y in X3. 121 000067 122 part_log2_of_ratio: 123 000067 aa 000000 4770 13 124 dfad 0,x3 " EAQ := x + y 000070 aa 2 00010 4571 00 125 dfst pr2|x_plus_y 000071 aa 000000 5770 13 126 dfsb 0,x3 " EAQ := x 000072 aa 000000 5770 13 127 dfsb 0,x3 " EAQ := x - y 000073 aa 2 00010 5671 00 128 dfdv pr2|x_plus_y " calculate z = (x - y) / (x + y) 000074 0a 000176 4250 00 129 fcmg eps 000075 aa 000003 6054 04 130 tpnz 3,ic " if abs(z) < 4.1968417d-11 000076 0a 000206 4630 00 131 dfmp p0 " EAQ := z * p0 000077 aa 000000 7100 11 132 tra 0,x1 " return to caller 000100 aa 2 00012 4571 00 133 dfst pr2|z 000101 aa 2 00012 4611 00 134 fmp pr2|z " calculate zz = z*z 000102 aa 2 00014 4551 00 135 fst pr2|zz " calculate p(zz) 000103 0a 000222 4610 00 136 fmp p3 000104 0a 000216 4770 00 137 dfad p2 000105 aa 2 00014 4611 00 138 fmp pr2|zz 000106 0a 000212 4770 00 139 dfad p1 000107 aa 2 00014 4611 00 140 fmp pr2|zz 000110 0a 000206 4770 00 141 dfad p0 000111 aa 2 00012 4631 00 142 dfmp pr2|z " calculate z*p(zz) 143 000112 aa 000000 7100 11 144 tra 0,x1 " return to caller 145 146 000113 147 hfp_log2: 000113 aa 400000 4750 03 148 fad =0.0,du " normalize input and set indicators 000114 0a 000026 6040 00 149 tmi log_of_negative 000115 0a 000033 6000 00 150 tze log_of_zero 151 000116 0a 000234 5150 00 152 fcmp hfp_square_root_two " check for x in the range [.707,1.414] 000117 aa 000006 6050 04 153 tpl 6,ic 000120 0a 000230 5150 00 154 fcmp hfp_square_root_half 000121 aa 000004 6040 04 155 tmi 4,ic " if square_root_half >= x & x <= square_root_two 000122 0a 000204 6230 00 156 eax3 hfp_one " X3 := addr (1.0) 000123 aa 000000 6210 10 157 eax1 0,x0 " copy return address 000124 0a 000152 7100 00 158 tra hfp_part_log2_of_ratio 159 " result = hfp_part_log2_of_ratio (x, 1) 160 " else 000125 aa 2 00000 4561 00 161 ste pr2|xe " store addr (x) -> expon in xe 000126 aa 000000 4110 03 162 lde =0,du " addr (xm) -> expon = 0 163 " EAQ := xm 000127 aa 2 00006 4501 00 164 stz pr2|shift " shift := 0 165 166 even 000130 167 do_while: " do while (xm < 0.5) 000130 aa 000400 5150 03 168 fcmp =0.5,du 000131 0a 000135 6050 00 169 tpl end_do_while 000132 aa 000001 7370 00 170 lls 1 " xm = 2*xm 000133 aa 2 00006 0541 00 171 aos pr2|shift " shift := shift + 1 000134 0a 000130 7100 00 172 tra do_while " end do_while 000135 173 end_do_while: 174 000135 aa 2 00002 4551 00 175 fst pr2|xm 000136 aa 2 00000 2351 00 176 lda pr2|xe " A := 8/xe,10/0,18/garbage 000137 aa 000032 7330 00 177 lrs 36-10 " AQ := 36/4*xe,8/0,28/garbage 000140 aa 2 00006 1751 00 178 sba pr2|shift " AQ := 36/4*xe-shift,8/0,28/garbage 000141 aa 000035 7330 00 179 lrs 29 " AQ := 65/4*xe-shift,7/0 000142 aa 040000 4110 03 180 lde =16b25,du " EAQ := unnormalized float(4*xe-shift) 000143 aa 000400 5750 03 181 fsb =0.5,du " EAQ := float(4*xe-shift)-0.5 000144 aa 2 00004 4551 00 182 fst pr2|bias 000145 aa 2 00002 4311 00 183 fld pr2|xm 000146 0a 000230 6230 00 184 eax3 hfp_square_root_half 185 " X3 := addr (square_root_half) 000147 0a 000152 7010 00 186 tsx1 hfp_part_log2_of_ratio 187 " EAQ := hfp_part_log2_of_ratio (x, square_root_half) 000150 aa 2 00004 4751 00 188 fad pr2|bias " EAQ := hfp_part_log2_of_ratio (x, square_root_half) + bias 000151 aa 000000 7100 10 189 tra 0,x0 " return result 190 191 192 " hfp_part_log2_of_ratio (x, y) calculates log2(x/y), where x/y is in the 193 " range [0.5*2**0.5, 2**0.5], given x in the EAQ and the address of y in X3. 194 000152 195 hfp_part_log2_of_ratio: 196 000152 aa 000000 4770 13 197 dfad 0,x3 " EAQ := x + y 000153 aa 2 00010 4571 00 198 dfst pr2|x_plus_y 000154 aa 000000 5770 13 199 dfsb 0,x3 " EAQ := x 000155 aa 000000 5770 13 200 dfsb 0,x3 " EAQ := x - y 000156 aa 2 00010 5671 00 201 dfdv pr2|x_plus_y " calculate z = (x - y) / (x + y) 000157 0a 000200 4250 00 202 fcmg hfp_eps 000160 aa 000003 6054 04 203 tpnz 3,ic " if abs(z) < 4.1968417d-11 000161 0a 000210 4630 00 204 dfmp hfp_p0 " EAQ := z * p0 000162 aa 000000 7100 11 205 tra 0,x1 " return to caller 000163 aa 2 00012 4571 00 206 dfst pr2|z 000164 aa 2 00012 4611 00 207 fmp pr2|z " calculate zz = z*z 000165 aa 2 00014 4551 00 208 fst pr2|zz " calculate p(zz) 000166 0a 000224 4610 00 209 fmp hfp_p3 000167 0a 000220 4770 00 210 dfad hfp_p2 000170 aa 2 00014 4611 00 211 fmp pr2|zz 000171 0a 000214 4770 00 212 dfad hfp_p1 000172 aa 2 00014 4611 00 213 fmp pr2|zz 000173 0a 000210 4770 00 214 dfad hfp_p0 000174 aa 2 00012 4631 00 215 dfmp pr2|z " calculate z*p(zz) 216 000175 aa 000000 7100 11 217 tra 0,x1 " return to caller 218 219 even 000176 aa 674561 120744 220 eps: dec 4.1968417d-11 000177 aa 744762 611261 000200 aa 760134 224171 221 hfp_eps: oct 760134224171,000000000000 000201 aa 000000 000000 000202 aa 002400 000000 222 one: dec 1.0d0 000203 aa 000000 000000 000204 aa 002040 000000 223 hfp_one: oct 002040000000,000000000000 000205 aa 000000 000000 000206 aa 004561 250730 224 p0: dec .288539007275213810d01 000207 aa 772543 241373 000210 aa 002134 252166 225 hfp_p0: oct 002134252166,176530650277 000211 aa 176530 650277 000212 aa 000754 342230 226 p1: dec .961800759210250522d00 000213 aa 541156 441462 000214 aa 000754 342230 227 hfp_p1: oct 000754342230,541156441462 000215 aa 541156 441462 000216 aa 000447 154133 228 p2: dec .576584541348266310d00 000217 aa 107411 741772 000220 aa 000447 154133 229 hfp_p2: oct 000447154133,107411741772 000221 aa 107411 741772 000222 aa 776674 533133 230 p3: dec .434255940790007142d0 000223 aa 371132 642555 000224 aa 000336 255455 231 hfp_p3: oct 000336255455,574455321266 000225 aa 574455 321266 000226 232 square_root_half: 000226 aa 000552 023631 233 dec 7.071067811865475244008d-01 000227 aa 477473 631102 000230 234 hfp_square_root_half: 000230 aa 000552 023631 235 oct 000552023631,477473631102 000231 aa 477473 631102 000232 236 square_root_two: 000232 aa 002552 023631 237 dec 1.414213562373095048801d+00 000233 aa 477473 631102 000234 238 hfp_square_root_two: 000234 aa 002055 202363 239 oct 002055202363,147747363110 000235 aa 147747 363110 240 241 end NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000236 5a 000003 000000 000237 5a 000071 600000 000240 aa 000000 000000 000241 55 000011 000002 000242 5a 000002 400003 000243 55 000006 000011 000244 aa 012 154 157 147 000245 aa 141 162 151 164 000246 aa 150 155 137 000 000247 55 000020 000003 000250 0a 000022 400000 000251 55 000014 000003 000252 aa 017 150 146 160 hfp_log_base_e_ 000253 aa 137 154 157 147 000254 aa 137 142 141 163 000255 aa 145 137 145 137 000256 55 000026 000011 000257 0a 000007 400000 000260 55 000023 000003 000261 aa 013 154 157 147 log_base_e_ 000262 aa 137 142 141 163 000263 aa 145 137 145 137 000264 55 000035 000020 000265 0a 000017 400000 000266 55 000031 000003 000267 aa 017 150 146 160 hfp_log_base_2_ 000270 aa 137 154 157 147 000271 aa 137 142 141 163 000272 aa 145 137 062 137 000273 55 000043 000026 000274 0a 000004 400000 000275 55 000040 000003 000276 aa 013 154 157 147 log_base_2_ 000277 aa 137 142 141 163 000300 aa 145 137 062 137 000301 55 000053 000035 000302 0a 000013 400000 000303 55 000046 000003 000304 aa 020 150 146 160 hfp_log_base_10_ 000305 aa 137 154 157 147 000306 aa 137 142 141 163 000307 aa 145 137 061 060 000310 aa 137 000 000 000 000311 55 000062 000043 000312 0a 000000 400000 000313 55 000056 000003 000314 aa 014 154 157 147 log_base_10_ 000315 aa 137 142 141 163 000316 aa 145 137 061 060 000317 aa 137 000 000 000 000320 55 000002 000053 000321 6a 000000 400002 000322 55 000065 000003 000323 aa 014 163 171 155 symbol_table 000324 aa 142 157 154 137 000325 aa 164 141 142 154 000326 aa 145 000 000 000 DEFINITIONS HASH TABLE 000327 aa 000000 000015 000330 aa 000000 000000 000331 5a 000011 000000 000332 5a 000020 000000 000333 5a 000026 000000 000334 5a 000035 000000 000335 aa 000000 000000 000336 5a 000062 000000 000337 aa 000000 000000 000340 aa 000000 000000 000341 5a 000043 000000 000342 5a 000053 000000 000343 aa 000000 000000 000344 aa 000000 000000 EXTERNAL NAMES 000345 aa 020 143 141 154 call_math_error_ 000346 aa 154 137 155 141 000347 aa 164 150 137 145 000350 aa 162 162 157 162 000351 aa 137 000 000 000 000352 aa 011 155 141 170 max_value 000353 aa 137 166 141 154 000354 aa 165 145 000 000 000355 aa 012 154 157 147 log_e_of_2 000356 aa 137 145 137 157 000357 aa 146 137 062 000 000360 aa 013 154 157 147 log_10_of_2 000361 aa 137 061 060 137 000362 aa 157 146 137 062 000363 aa 016 150 146 160 hfp_log_e_of_2 000364 aa 137 154 157 147 000365 aa 137 145 137 157 000366 aa 146 137 062 000 000367 aa 017 150 146 160 hfp_log_10_of_2 000370 aa 137 154 157 147 000371 aa 137 061 060 137 000372 aa 157 146 137 062 000373 aa 017 155 141 164 math_constants_ 000374 aa 150 137 143 157 000375 aa 156 163 164 141 000376 aa 156 164 163 137 NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000377 aa 000004 000000 000400 55 000107 000107 000401 aa 000004 000000 000402 55 000135 000114 000403 aa 000004 000000 000404 55 000135 000117 000405 aa 000004 000000 000406 55 000135 000122 000407 aa 000004 000000 000410 55 000135 000125 000411 aa 000004 000000 000412 55 000135 000131 000413 aa 000001 000000 000414 aa 000000 000000 INTERNAL EXPRESSION WORDS 000415 5a 000143 000000 000416 5a 000141 000000 000417 5a 000151 000000 000420 5a 000153 000000 000421 5a 000145 000000 000422 5a 000147 000000 000423 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000236 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000024 000007 a2 000000 000000 000010 9a 777770 0000 46 math_constants_|log_10_of_2 000011 5a 000164 0000 00 000012 9a 777766 0000 46 math_constants_|log_e_of_2 000013 5a 000163 0000 00 000014 9a 777764 0000 46 math_constants_|hfp_log_10_of_2 000015 5a 000162 0000 00 000016 9a 777762 0000 46 math_constants_|hfp_log_e_of_2 000017 5a 000161 0000 00 000020 9a 777760 0000 46 call_math_error_|call_math_error_ 000021 5a 000160 0000 00 000022 9a 777756 0000 46 math_constants_|max_value 000023 5a 000157 0000 00 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 117547 000007 aa 252725 350131 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000156 000020 aa 000000 000103 000021 aa 000130 000123 000022 aa 000150 000103 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 110151 162156 000035 aa 145151 163145 000036 aa 156056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 055164 141162 000045 aa 147145 164040 000046 aa 154066 070040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040154 151163 000057 aa 164040 163171 000060 aa 155142 157154 000061 aa 163040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000001 000066 aa 000072 000041 000067 aa 175453 020011 000070 aa 000000 117547 000071 aa 176665 400000 000072 aa 076163 160145 >spec>install>1110>logarithm_.alm 000073 aa 143076 151156 000074 aa 163164 141154 000075 aa 154076 061061 000076 aa 061060 076154 000077 aa 157147 141162 000100 aa 151164 150155 000101 aa 137056 141154 000102 aa 155040 040040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 4 bias logarithm_: 32, 111, 115, 182, 188. call_math_error_ logarithm_: 79, 86. 130 do_while logarithm_: 167, 172. 135 end_do_while logarithm_: 169, 173. 176 eps logarithm_: 129, 220. 200 hfp_eps logarithm_: 202, 221. 113 hfp_log2 logarithm_: 61, 67, 72, 147. hfp_log_10_of_2 logarithm_: 28, 62. 13 hfp_log_base_10_ logarithm_: 38, 60. 17 hfp_log_base_2_ logarithm_: 39, 66. 22 hfp_log_base_e_ logarithm_: 40, 71. hfp_log_e_of_2 logarithm_: 28, 73. 204 hfp_one logarithm_: 156, 223. 210 hfp_p0 logarithm_: 204, 214, 225. 214 hfp_p1 logarithm_: 212, 227. 220 hfp_p2 logarithm_: 210, 229. 224 hfp_p3 logarithm_: 209, 231. 152 hfp_part_log2_of_ratio logarithm_: 158, 186, 195. 230 hfp_square_root_half logarithm_: 154, 184, 234. 234 hfp_square_root_two logarithm_: 152, 238. 40 log2 logarithm_: 44, 50, 55, 91. log_10_of_2 logarithm_: 28, 45. 0 log_base_10_ logarithm_: 38, 43. 4 log_base_2_ logarithm_: 39, 49. 7 log_base_e_ logarithm_: 40, 54. log_e_of_2 logarithm_: 28, 56. 26 log_of_negative logarithm_: 77, 93, 149. 33 log_of_zero logarithm_: 84, 94, 150. math_constants_ logarithm_: 28. max_value logarithm_: 28, 80, 87. 202 one logarithm_: 100, 222. 206 p0 logarithm_: 131, 141, 224. 212 p1 logarithm_: 139, 226. 216 p2 logarithm_: 137, 228. 222 p3 logarithm_: 136, 230. 67 part_log2_of_ratio logarithm_: 102, 114, 122. 6 shift logarithm_: 33, 164, 171, 178. 226 square_root_half logarithm_: 98, 113, 232. 232 square_root_two logarithm_: 96, 236. 0 xe logarithm_: 30, 104, 107, 161, 176. 2 xm logarithm_: 31, 106, 112, 175, 183. 10 x_plus_y logarithm_: 34, 125, 128, 198, 201. 12 z logarithm_: 35, 133, 134, 142, 206, 207, 215. 14 zz logarithm_: 36, 135, 138, 140, 208, 211, 213. NO FATAL ERRORS ----------------------------------------------------------- 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