Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/93542.93558acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Optimizing programs over the constructive reals

Published: 01 June 1990 Publication History

Abstract

The constructive reals provide programmers with a useful mechanism for prototyping numerical programs, and for experimenting with numerical algorithms. Unfortunately, the performance of current implementations is inadequate for some potential applications. In particular, these implementations tend to be space inefficient, in that they essentially require a complete computation history to be maintained.
Some numerical analysts (cf. [3]) propose that the programmer instead be provided with variable precision interval arithmetic, and then be required to write code to restart a computation when the intervals become too inaccurate. Though this model is no doubt appropriate at times, it is not an adequate replacement for exact arithmetic. The correct transformation from a program operating on the constructive reals to a reasonable program using iterated interval arithmetic can be nontrivial and error prone. Here we present a technique based on program slicing to both automate this process and reduce the amount of reexecution. Thus the programmer is still free to use the simpler abstraction of exact real arithmetic, but we can provide a more efficient interval arithmetic based implementation. Some preliminary empirical results are presented.

References

[1]
Oliver Aberth. A precise numerical analysis program. Communications of the A CM, 17(9):509-513, September 1974.
[2]
Oliver Aberth. Precise scientific computation with a microprocessor. IEEE Transactions on Computers, C-33(8):685-690, August 1984.
[3]
Oliver Aberth. Precise Numerical Analysis. Win. C. Brown Publishers, Dubuque, Iowa, 1988.
[4]
GStz Alefeld and J iirgen Herzberger. Introduction to Interval Computations. Academic Press, 111 Fifth Avenue, New York, New York 10003, 1983.
[5]
Errett Bishop. Foundations of Constructive Analysis. McGraw-Hill, New York, 1967.
[6]
Hans-J. Boehm. Constructive real interpretation of numerical programs. SIGPLAN Notices, 22(7):214-221, July 1987.
[7]
Hans-J. Boehm, Robert Cartwright, Mark Riggle, and Michael J. O'Donnell. Exact real arithmetic: A case study in higher order programming. In Proceedings of the lg86 Lisp and Funclional Programming Conference, pages 162-173, 1986.
[8]
Alan Carle, Keith D. Cooper, Robert T. Hood, Ken Kennedy, Linda Torczon, and Scott K. Warren. Formalization in programming environments. IEEE Computer, 20(11):55-65, November 1987.
[9]
J.W. Demmel and Fritz Kriickeberg. An interval algorithm for solving of linear equations to prespecified accuracy. Computing, 34'117-129, 1985.
[10]
J. Ferrante, Karl J. Ottenstein, and Joe D. Warren. The program dependence graph and its use in optimization. A CM Transactions on Programming Languages and Systems, pages 319-349, July 1987.
[11]
Susan Horwitz, Jan Prins, and Thomas Reps. Integrating non-interfereing versions of programs. A CM Transactions on Programming Languages and Systems, 11(3):345-387, July 1989.
[12]
Hartley Rogers Jr. Theory of Recursive Functions and Effective Computability. McGraw- Hill, 1967.
[13]
K. Kennedy and J. R. Allen. Automatic translation of fortran programs to vector form. A CM Transactions on Programming Languages and Systems, pages 491-542, October 1987.
[14]
Fritz Kriickeberg. Arbitrary accuracy with variable precision arithmetic. In Interval Mathematics 1985: Proceedings of the International Symposium, pages 95-101, September 1985.
[15]
R.E. Moore. Methods and applications of interval analysis. In William F. Ames, editor, SIAM Studies in Applied Mathematics. SIAM, 1979.
[16]
Jerry Schwartz. Implementing infinite precision arithmetic. In 9th Symposium on Computer Arithmetic, Santa Monica, CA, 1989.
[17]
Jean Vuillemin. Exact real computer arithmetic with continued fractions. Research Report 760, INRIA, 1987.
[18]
Jean Vuillemin. Exact real computer arithmetic with continued fractions. In A CM Conference on Lisp and Functional Programming, pages 14-27. ACM, July 1988.
[19]
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352- 357, July 1984.
[20]
E. Wiedmer. Computing with infinite objects. Theoretical Computer Science, (10)'133- 155, 1980.

Cited By

View all
  • (2021)Parallel shadow execution to accelerate the debugging of numerical errorsProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468585(615-626)Online publication date: 20-Aug-2021
  • (2020)Towards an API for the real numbersProceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3385412.3386037(562-576)Online publication date: 11-Jun-2020
  • (2020)Towards Numerical AssistantsSoftware Verification10.1007/978-3-030-63618-0_13(213-220)Online publication date: 6-Dec-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
June 1990
351 pages
ISBN:0897913647
DOI:10.1145/93542
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1990

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)95
  • Downloads (Last 6 weeks)23
Reflects downloads up to 04 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Parallel shadow execution to accelerate the debugging of numerical errorsProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468585(615-626)Online publication date: 20-Aug-2021
  • (2020)Towards an API for the real numbersProceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3385412.3386037(562-576)Online publication date: 11-Jun-2020
  • (2020)Towards Numerical AssistantsSoftware Verification10.1007/978-3-030-63618-0_13(213-220)Online publication date: 6-Dec-2020
  • (2018)Partial control-flow linearizationACM SIGPLAN Notices10.1145/3296979.319241353:4(543-556)Online publication date: 11-Jun-2018
  • (2018)Finding root causes of floating point errorACM SIGPLAN Notices10.1145/3296979.319241153:4(256-269)Online publication date: 11-Jun-2018
  • (2018)Accelerating search-based program synthesis using learned probabilistic modelsACM SIGPLAN Notices10.1145/3296979.319241053:4(436-449)Online publication date: 11-Jun-2018
  • (2018)Calling-to-reference context translation via constraint-guided CFL-reachabilityACM SIGPLAN Notices10.1145/3296979.319237853:4(196-210)Online publication date: 11-Jun-2018
  • (2018)Crellvm: verified credible compilation for LLVMACM SIGPLAN Notices10.1145/3296979.319237753:4(631-645)Online publication date: 11-Jun-2018
  • (2018)Finding root causes of floating point errorProceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3192366.3192411(256-269)Online publication date: 11-Jun-2018
  • (2017)Speeding up Exact Real Arithmetic on Fast Binary Cauchy Sequences by Using Memoization Based on Quantized PrecisionJournal of Information Processing10.2197/ipsjjip.25.49425(494-504)Online publication date: 2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media