PRECISE(ID:5824/pre002)Precision version of OmnitabRelated languages
References: Extract: FOREWORD The work which is reported here was started at the National Bureau of Standards and was completed at the University of Maryland after one of the authors (AEB) transferred to that Institution. The final version of PRECISE and of the Multiple Precision Package upon which it was built was prepared at the Computer Science Center of the University of Maryland and was supported in part by grant NsG-398 of the National Aeronautics and Space Administration. Extract: INTRODUCTION INTRODUCTION One of the more troublesome problems that confront the careful user of modern computers is the loss of significance resulting from round off and other computing pitfalls. In many calculations rounding errors are serious sources of annoyance -- in some they are downright fatal. While the recent trend to build computers with built-in hardware for double-precision operations is a decided help in this double-precision operations is a decided help in this guard. lie must be on guard for possible flaws in the ware, or in the algorithms and even, unhappily, for errors in important constants used by the compiler, or the errors in important constants used by the compiler .or the conversion routines. The problem has gotten worse recently as a consequence of the fact that many of the third generation computers have a shorter word length. As a result, programs which previously gave suitable answers in single precision now must be run in double precision. We are tempted to speculate that if the cloak of anonymity were removed from commercial software systems and each subroutine or program or compiler segment were to carry the by-line of its author or authors, then, perhaps, there the by-line of its author or authors, then, perhaps, there it may, there is a clear need for some yardsticks by which the accuracy of computer results can be judged. There is a need for a system which can deliver correct answers to a reasonably large number of significant digits even when handling exceedingly large or small numbers. The release to SHARE in 1963 of a multiple precision package (UOM MPP SHARE DIST. NO. 30Bl) by Alfred E. Beam was a considerable boon to professional programmers using IBM 7090-94 computers. In spite of the existence of the MPP package and doubtless other similar packages, the problem of the MPP in multiple precision involving the elementary trigonometric and transcendental functions is still by no means a trivial job. Nor is it easy even today to solve a large system of linear equations (in say 85 unknows and reta1n adequate accuracy. Last place "errors" are so much a part of even reliable mathematical tables as to cause L. J. Comrie, a well-known table maker, to write a short piece entitled "What is an Error" (MTAC*, V.2, 1943, pp 284-286) in which he explains that when the seventh, eight, and ninth places in an entry that when the seventh, eight, and ninth places in an entry in a mathematical tahlc are 4,9,9 or 5,0,0, it matters little to the man who wants only seven places exactly what the tenth or eleventh place is. Thus, Comrie continues "... on more than one occasion I have written to our beloved editor saying 'I have found ... errors of less than one unit in ... tables, but am not sending them to you, lest you should be tempted to publish them.'" Table makers are quite willing to accept these last-place or end figure "errors" because of the tedium of carrying out check calculations to three or more figures of beyond those that they normally carry. PRECISE carries out calculations to many figures as a matter of course. Thus, there is really no need to tolerate "end- figure" errors. Soon after it became clear that the philosophy behind the organization and implementation of the OMNITAB general-purpose computing program on the 7094 was sound enough to attract a wide audience of problem solvers, whom even FORTRAN had not reached, we turned our attention for a time to the design of a comparable system for more precise calculations than were then possible in single precision. This system drew heavily on the multiple precision package designed by one of the authors to spare professional programmers the tedium of writing painstaking instructions for the computer to handle double and triple precision and out-of-range arithmetic. This report describes how the MPP package has been further employed to provide nonprogrammers with a computer tool for very precise calculations without the need to resort to conventional, and in this instance, very tedious programming. The PRECISE program which is discussed here was designed to carry out arithmetic operations and function generation often to as many as 28 significant digits and at the very least to 21 figures. Except when instructed to increase the ranges, the program normally handles numbers x in the range 10exp(-76) to 10exp(76) and gives results to 28 significant figures. The program can also handle numbers outside of the above range. The greatest or smallest power of 10 can be as high as plus or minus one billion. In this extreme case the results are good only to 21 figures. PRECISE, like its predecessor, OMNITAB, is designed to provide a close parallel to the modus operandi in carrying out calculations with a desk calculator and a multi-columned (and multi-lined) worksheet. While the worksheet in OMNITAB for the 7094 was fixed at 101 rows by 46 columns, the 7500 cells (3 x 2500 computer words) set aside for the worksheet in PRbCISE can be dimensioned at the start of each problem at run time. |