Code optimization of multivariate polynomial schemes: A pragmatic approach

  • J. A. van Hulzen
System Oriented Applications
Part of the Lecture Notes in Computer Science book series (LNCS, volume 162)


Heuristic, structure preserving algorithms are presented, based on Breuer's grow factor algorithm, for finding common subexpressions in a set of multivariate polynomials with integer coefficients. It is shown how these polynomials can be decomposed into a set of linear expressions and a set of monomials, interrelated via hierarchical structure information, the "noise". Then algorithms are shortly discussed to find common subexpressions, by reducing the arithmetic complexity of both sets, when viewing them as blocks of straightline code, and for communicating subresults between both sets, called "noise conquering". Further extensions are shortly indicated.


Nonzero Element Automatic Differentiation Multivariate Polynomial Arithmetic Complexity Integer Coefficient 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Aho, A.V., Johnson, S.C., Ullmann, J.D.: Code generation for expressions with common subexpressions. J. ACM 24,1, 146–160 (1977).Google Scholar
  2. [2]
    Aho, A.V., Ullmann, J.D.: The theory of parsing, translating and compiling, Vol II: Compiling. Englewoods Cliffs, N.J.: Prentice Hall (1973).Google Scholar
  3. [3]
    Aho, A.V., Ullmann, J.D.: Principles of compiler design. Reading, Mass: Addison Wesley (1979).Google Scholar
  4. [4]
    Allen, F.E.: Annotated bibliography of selected papers on program optimization. Yorktown Heights, N.Y.: IBM Research Report RC 5889 (1976).Google Scholar
  5. [5]
    Breuer, M.A.: Generation of optimal code for expressions via factorization. C.ACM 12,6, 333–340 (1969).Google Scholar
  6. [6]
    Bruno, J., Sethi, R.: Code generation for a one-register machine. J.ACM 23,3, 502–510 (1976).Google Scholar
  7. [7]
    Buchberger,B. Loos,R.: Algebraic simplification. Computer Algebra (B.Buchberger, G.E.Collins, R.Loos, ed's), Computing Supplementum 4 (1982).Google Scholar
  8. [8]
    Cook,Jr.,G.O.: Development of a magnetohydrodynamic code for axisymmetric, high-βplasmas with complex magnetic fields. Lawrence Livermore Nat. Lab.Cal.: Ph.D. Thesis (December 1982).Google Scholar
  9. [9]
    Gonzales, T., Ja'Ja', J.: Evaluation of arithmetic expressions with algebraic identities. SIAM J. Comp. 11, 4, 633–662 (1982).Google Scholar
  10. [10]
    Hulshof,B.J.A., van Hulzen,J.A., Smith,J.: Code optimization facilities applied in the NETFORM context.Twente University of Technology,TW-memorandum 368 (1981).Google Scholar
  11. [11]
    Hulshof,B.J.A.: private communication.Google Scholar
  12. [12]
    Kedem, G.: Automatic differentiation of computer programs. ACM TOMS 6,2, 150–165 (1980).Google Scholar
  13. [13]
    Knuth, D.E.: The art of computer programming, Vol.2 (second edition). Reading, Mass.: Addison-Wesley Publ. Comp. (1980).Google Scholar
  14. [14]
    Morgenstern, J.: The linear complexity of computation. J.ACM 22,2, 184–194 (1975).Google Scholar
  15. [15]
    Pippenger, N.: On the evaluation of powers and monomials. SIAM J. Comp. 9,2, 230–250(1980).Google Scholar
  16. [16]
    Rall, L.B.: Automatic differentiation techniques and applications. Springer LNCS series nr 120. Berlin-Heidelberg-New-York: Springer Verlag (1981).Google Scholar
  17. [17]
    Smit, J.: A cancellation free algorithm, with factoring capabilities for the efficient solution of large, sparse sets of equations. Proceedings SYMSAC '81 (P.S. Wang, ed.), 146–154. New York: ACM (1981).Google Scholar
  18. [18]
    Smit, J., van Hulzen, J.A., Hulshof, B.J.A.: NETFORM and code optimizer manual SIGSAM Bulletin 15,4, 23–32. New York: ACM (1981).Google Scholar
  19. [19]
    Smit, J., van Hulzen, J.A.: Symbolic-numeric methods in microwave technology. Proceedings EUROCAM '82 (J. Calmet, ed.). Springer LNCS series nr. 144,281–238. Berlin-Heidelberg-New York: Springer Verlag (1982).Google Scholar
  20. [20]
    van Hulzen, J.A.: Breuer's grow factor algorithm in computer algebra. Proceedings SYMSAC '81 (P.S. Wang, ed.), 100–104. New York: ACM (1981).Google Scholar
  21. [21]
    van Hulzen, J.A., Hulshof, B.J.A.: An expression analysis package for REDUCE. SIGSAM Bulletin 16,4. New York: ACM (1982).Google Scholar
  22. [22]
    Yao, A.C.C.: On the evaluation of powers. SIAM J. Comp. 5,1, 100–103 (1976).Google Scholar

Copyright information

© Springer-Verlag 1983

Authors and Affiliations

  • J. A. van Hulzen
    • 1
  1. 1.Department of Computer ScienceTwente University of TechnologyEnschedethe Netherlands

Personalised recommendations