[Bug libc/15676] New: Benchtest inputs are not reprezentative.

neleai at seznam dot cz sourceware-bugzilla@sourceware.org
Tue Jun 25 05:28:00 GMT 2013


http://sourceware.org/bugzilla/show_bug.cgi?id=15676

            Bug ID: 15676
           Summary: Benchtest inputs are not reprezentative.
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: neleai at seznam dot cz
                CC: drepper.fsp at gmail dot com

Now benchtest inputs vary only five values. These inputs are 0.1 0.2 0.3 0.4
0.5. and five worstcase ones.

When we look to math function implementation we see that this is nearly not
enough to cover all paths, from  sysdeps/x86_64/fpu/s_sinf.S below there are
following cases and as there are no inputs for cases 3 and 5 there may be
regression that benchtests cannot catch.

 *  1) if |x| == 0: return x.
 *  2) if |x| <  2^-27: return x-x*DP_SMALL, raise underflow only when needed.
 *  3) if |x| <  2^-5 : return x+x^3*DP_SIN2_0+x^5*DP_SIN2_1.
 *  4) if |x| <   Pi/4: return x+x^3*(S0+x^2*(S1+x^2*(S2+x^2*(S3+x^2*S4)))).
 *  5) if |x| < 9*Pi/4:

A proper way is use randomized inputs to ensure we cover all cases now and
everytime when case analysis changes.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the Glibc-bugs mailing list