cvs commit: src/lib/msun/src k_tanf.c

Bruce Evans bde at FreeBSD.org
Sun Nov 20 16:38:22 PST 2005


bde         2005-11-21 00:38:22 UTC

  FreeBSD src repository

  Modified files:
    lib/msun/src         k_tanf.c 
  Log:
  Use double precision to simplify and optimize a long division.
  
  On athlons, this gives a speedup of 10-20% for tanf() on uniformly
  distributed args in [-2Pi, 2Pi].  (It only directly applies for 43%
  of the args and gives a 16-20% speedup for these (more for AXP than
  A64) and this gives an overall speedup of 10-12% which is all that it
  should; however, it gives an overall speedup of 17-20% with gcc-3.3
  on AXP-A64 by mysteriously effected cases where it isn't executed.)
  
  I originally intended to use double precision for all internals of
  float trig functions and will probably still do this, but benchmarking
  showed that converting to double precision and back is a pessimization
  in cases where a simple float precision calculation works, so it may
  be optimal to switch precisions only when using extra precision is
  much simpler.
  
  Revision  Changes    Path
  1.14      +1 -15     src/lib/msun/src/k_tanf.c


More information about the cvs-all mailing list