diff --git a/bench/kernel_tosplit/basicmath/ChangeLog.txt b/bench/kernel_tosplit/basicmath/ChangeLog.txt
deleted file mode 100644
index 65728aacb9dd4bae83bbace07cd0951fc3a1fc34..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/ChangeLog.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Original provenience: MiBench benchmark suite,
-                      http://wwweb.eecs.umich.edu/mibench
-
-2016-02-09:
-- Added TACLeBench header
-- Renamed benchmark from 'basicmath_small' to 'basicmath'
-- Fixed a typo in code comments: 'soem' -> 'some'
-- Removed unused variable 'n' from the main funcion
-- Added variable 'double Y' to the main function and accumulated the results of
-  'deg2rad(X)' and 'rad2deg(X)' in this variable so that the compiler warning
-  'statement with no effect' is fixed.
-- Removed conditionally compiled main (test) function from isqrt.c
-- Removed conditionally compiled main (test) function from cubic.c
-- Removed commented-out code
-- Removed unused function, variable, macro and type declarations, structs and
-  unions
-- Removed seemingly unnecessary empty lines
-- Renamed memcpy.t to basicmath_libc.c
-- Removed unused files:
-  rad2deg.c
-  sniptype.h
-  sniptype.h
-- Created basicmath_libc.h and put declaration of basicmath_memcpy() in it
-- Reorganized snipmath.h so that the following are in the given order just
-after the header
-  - includes
-  - declarations of functions
-- Reorganized sniptype.h so that the following are in the given order just
-after the header
-  - macro definitions
-  - type definitions
-- Removed duplicated copyright information from wcclibm.c
-- Removed __STDC__ checks from wcclibm.c and used only ANSI style function
-  arguments
-- Removed 'last modified' comments from files
-- Removed mention 'use __kernel_rem_pio2f()' from comments of function 
-  __ieee754_rem_pio2f() since it doesn't really use it.
-- Removed math functions specialization macros from wcclibm.h and updated call
-  sites with explicit nameks of the functions.
-- Removed '#define double float' from wcclibm.h and replaced all 'double's
-with 'float's in the benchmark
-- Added a new main function that calls the old main function
-- Annotated basicmath_main() as the entry point of the analysis
-- Applied code formatting according to the following rules
-  - Lines shall not be wider than 80 characters; whenever possible, appropriate
-    line breaks shall be inserted to keep lines below 80 characters
-  - Indentation is done using whitespaces only, no tabs. Code is indented by
-    two whitespaces
-  - Two empty lines are put between any two functions
-  - In non-empty lists or index expressions, opening '(' and '[' are followed by
-    one whitespace, closing ')' and ']' are preceded by one whitespace
-  - In comma- or colon-separated argument lists, one whitespace is put after
-    each comma/colon
-  - Names of functions and global variables all start with a benchmark-specific 
-  prefix (here: statemate_) followed by lowercase letter
-  - For pointer types, one whitespace is put before the '*'
-  - Operators within expressions shall be preceded and followed by one
-    whitespace
-  - Code of then- and else-parts of if-then-else statements shall be put in
-    separate lines, not in the same lines as the if-condition or the keyword
-    "else"
-  - Opening braces '{' denoting the beginning of code for some if-else or loop
-    body shall be put at the end of the same line where the keywords "if",
-    "else", "for", "while" etc. occur
-
-2017-06-27
-- Introduce basicmath_init and basicmath_return functions.
-- Add prefix basicmath_ to global variables.
-- Introduce dummy initialization in ieee754_rem_pio2f to please linter.
-
-2017-07-10
-- Fix possible stack buffer overflow caused by sizeof of incorrect type.
diff --git a/bench/kernel_tosplit/basicmath/basicmath.c b/bench/kernel_tosplit/basicmath/basicmath.c
deleted file mode 100644
index 252e7d103075be7a5da3c4d92d9a635bbfe689fb..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/basicmath.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-
-  This program is part of the TACLeBench benchmark suite.
-  Version V 1.x
-
-  Name: basicmath
-
-  Author: unknown
-
-  Function: basicmath performs simple mathematical calculations that often
-            don't have dedicated hardware support in embedded processors.
-
-  Source: MiBench
-          http://wwweb.eecs.umich.edu/mibench
-
-  Original name: basicmath_small
-
-  Changes: no major functional changes
-
-  License: this code is FREE with no restrictions
-
-*/
-
-
-/*
-  Include section
-*/
-
-#include "wcclibm.h"
-#include "snipmath.h"
-
-
-/*
-  Main functions
-*/
-
-void _Pragma ( "entrypoint" ) basicmath_main( void )
-{
-  float a1 = 1.0f, b1 = -10.5f, c1 = 32.0f, d1 = -30.0f;
-  float a2 = 1.0f, b2 = -4.5f, c2 = 17.0f, d2 = -30.0f;
-  float a3 = 1.0f, b3 = -3.5f, c3 = 22.0f, d3 = -31.0f;
-  float a4 = 1.0f, b4 = -13.7f, c4 = 1.0f, d4 = -35.0f;
-  float x[3];
-  float X, Y = 0;
-  int solutions;
-  int i;
-  unsigned long l = 0x3fed0169L;
-  struct int_sqrt q;
-
-  /* solve some cubic functions */
-  /* should get 3 solutions: 2, 6 & 2.5   */
-  basicmath_solveCubic( a1, b1, c1, d1, &solutions, x );
-
-  basicmath_solveCubic( a2, b2, c2, d2, &solutions, x );
-
-  basicmath_solveCubic( a3, b3, c3, d3, &solutions, x );
-
-  basicmath_solveCubic( a4, b4, c4, d4, &solutions, x );
-
-  /* Now solve some random equations */
-  _Pragma( "loopbound min 5 max 5" )
-  for ( a1 = 1; a1 < 10; a1 += 2 ) {
-    _Pragma( "loopbound min 5 max 5" )
-    for ( b1 = 10; b1 > 0; b1 -= 2 ) {
-      _Pragma( "loopbound min 7 max 7" )
-      for ( c1 = 5; c1 < 15; c1 += 1.5f ) {
-        _Pragma( "loopbound min 5 max 5" )
-        for ( d1 = -1; d1 > -11; d1 -= 2 )
-          basicmath_solveCubic( a1, b1, c1, d1, &solutions, x );
-      }
-    }
-  }
-
-  /* perform some integer square roots */
-  _Pragma( "loopbound min 1000 max 1000" )
-  for ( i = 1; i < 1001; i += 1 ) {
-    basicmath_usqrt( i, &q );
-    // remainder differs on some machines
-  }
-
-  basicmath_usqrt( l, &q );
-
-  /* convert some rads to degrees */
-  _Pragma( "loopbound min 361 max 361" )
-  for ( X = 0.0f; X <= 360.0f; X += 1.0f )
-    Y += deg2rad( X );
-
-  _Pragma( "loopbound min 360 max 360" )
-  for ( X = 0.0f; X <= ( 2 * PI + 1e-6f ); X += ( PI / 180 ) )
-    Y += rad2deg( X );
-}
-
-void basicmath_init( void )
-{
-  // no initialization needed
-}
-
-int basicmath_return( void )
-{
-  // dummy return value
-  return 0;
-}
-
-int main( void )
-{
-  basicmath_main();
-
-  return basicmath_return();
-}
diff --git a/bench/kernel_tosplit/basicmath/basicmath_libc.c b/bench/kernel_tosplit/basicmath/basicmath_libc.c
deleted file mode 100644
index 9b8167ee92049ce33793125ed30d7e841a4c7986..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/basicmath_libc.c
+++ /dev/null
@@ -1,12 +0,0 @@
-void basicmath_memcpy( void *a, const void *b, int c )
-{
-  char *dest = ( char * ) a;
-  char *source = ( char * ) b;
-  int copied;
-  _Pragma( "loopbound min 4 max 4" )
-  for ( copied = 0; copied < c; copied++ ) {
-    *dest = *source;
-    dest++;
-    source++;
-  }
-}
diff --git a/bench/kernel_tosplit/basicmath/basicmath_libc.h b/bench/kernel_tosplit/basicmath/basicmath_libc.h
deleted file mode 100644
index ece9a6c4f54e3a8e13f17efdc6528c193b3bf15f..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/basicmath_libc.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __BASICMATH_LIBC_H_
-#define __BASICMATH_LIBC_H_
-
-void basicmath_memcpy( void *a, const void *b, int c );
-
-#endif // __BASICMATH_LIBC_H_
diff --git a/bench/kernel_tosplit/basicmath/cubic.c b/bench/kernel_tosplit/basicmath/cubic.c
deleted file mode 100644
index 0b6246dbfb0074f1ada81d05f48c3e8c622ce9ef..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/cubic.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* +++Date last modified: 05-Jul-1997 */
-
-/*
-**  CUBIC.C - Solve a cubic polynomial
-**  public domain by Ross Cottrell
-*/
-
-#include "snipmath.h"
-
-void basicmath_solveCubic( float a, float b, float c, float d,
-                           int *solutions, float *x )
-{
-  float a1 = b / a, a2 = c / a, a3 = d / a;
-  float Q = ( a1 * a1 - 3.0f * a2 ) / 9.0f;
-  float R = ( 2.0f * a1 * a1 * a1 - 9.0f * a1 * a2 + 27.0f * a3 ) / 54.0f;
-  float R2_Q3 = R * R - Q * Q * Q;
-  float theta;
-
-  if ( R2_Q3 <= 0 ) {
-    *solutions = 3;
-    theta = basicmath___ieee754_acosf( R / basicmath___ieee754_sqrtf( Q * Q * Q ) );
-    x[0] = -2.0f * basicmath___ieee754_sqrtf( Q ) * basicmath___cosf(
-             theta / 3.0f ) - a1 / 3.0f;
-    x[1] = -2.0f * basicmath___ieee754_sqrtf( Q ) * basicmath___cosf( (
-             theta + 2.0f * PI ) / 3.0f ) - a1 / 3.0f;
-    x[2] = -2.0f * basicmath___ieee754_sqrtf( Q ) * basicmath___cosf( (
-             theta + 4.0f * PI ) / 3.0f ) - a1 / 3.0f;
-  } else {
-    *solutions = 1;
-    x[0] = basicmath___ieee754_powf( basicmath___ieee754_sqrtf( R2_Q3 ) +
-                                     basicmath___fabsf( R ), 1 / 3.0f );
-    x[0] += Q / x[0];
-    x[0] *= ( R < 0.0f ) ? 1 : -1;
-    x[0] -= a1 / 3.0f;
-  }
-}
diff --git a/bench/kernel_tosplit/basicmath/isqrt.c b/bench/kernel_tosplit/basicmath/isqrt.c
deleted file mode 100644
index cbb91baa83aaeee6df359eb7bf9b8daaf52dfc1c..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/isqrt.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* +++Date last modified: 05-Jul-1997 */
-
-#include "basicmath_libc.h"
-#include "snipmath.h"
-
-#define BITSPERLONG 32
-#define TOP2BITS(x) ((x & (3L << (BITSPERLONG-2))) >> (BITSPERLONG-2))
-
-/* usqrt:
-    ENTRY x: unsigned long
-    EXIT  returns floor(sqrt(x) * pow(2, BITSPERLONG/2))
-
-    Since the square root never uses more than half the bits
-    of the input, we use the other half of the bits to contain
-    extra bits of precision after the binary point.
-
-    EXAMPLE
-        suppose BITSPERLONG = 32
-        then    usqrt(144) = 786432 = 12 * 65536
-                usqrt(32) = 370727 = 5.66 * 65536
-
-    NOTES
-        (1) change BITSPERLONG to BITSPERLONG/2 if you do not want
-            the answer scaled.  Indeed, if you want n bits of
-            precision after the binary point, use BITSPERLONG/2+n.
-            The code assumes that BITSPERLONG is even.
-        (2) This is really better off being written in assembly.
-            The line marked below is really a "arithmetic shift left"
-            on the double-long value with r in the upper half
-            and x in the lower half.  This operation is typically
-            expressible in only one or two assembly instructions.
-        (3) Unrolling this loop is probably not a bad idea.
-
-    ALGORITHM
-        The calculations are the base-two analogue of the square
-        root algorithm we all learned in grammar school.  Since we're
-        in base 2, there is only one nontrivial trial multiplier.
-
-        Notice that absolutely no multiplications or divisions are performed.
-        This means it'll be fast on a wide range of processors.
-*/
-
-void basicmath_usqrt( unsigned long x, struct int_sqrt *q )
-{
-  unsigned long a = 0L;                   /* accumulator      */
-  unsigned long r = 0L;                   /* remainder        */
-  unsigned long e = 0L;                   /* trial product    */
-
-  int i;
-
-  _Pragma( "loopbound min 32 max 32" )
-  for ( i = 0; i < BITSPERLONG; i++ ) { /* NOTE 1 */
-    r = ( r << 2 ) + TOP2BITS( x );
-    x <<= 2;                            /* NOTE 2 */
-    a <<= 1;
-    e = ( a << 1 ) + 1;
-    if ( r >= e ) {
-      r -= e;
-      a++;
-    }
-  }
-  basicmath_memcpy( q, &a, sizeof( *q ) );
-}
diff --git a/bench/kernel_tosplit/basicmath/math_private.h b/bench/kernel_tosplit/basicmath/math_private.h
deleted file mode 100644
index d6221012d56aebd533f1b81cbed7b078b8c99d02..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/math_private.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-   ====================================================
-   Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-   Developed at SunPro, a Sun Microsystems, Inc. business.
-   Permission to use, copy, modify, and distribute this
-   software is freely granted, provided that this notice
-   is preserved.
-   ====================================================
-*/
-
-/*
-   from: @(#)fdlibm.h 5.1 93/09/24
-*/
-
-#ifndef _MATH_PRIVATE_H_
-#define _MATH_PRIVATE_H_
-
-#include "wcclibm.h"
-
-/* A union which permits us to convert between a float and a 32 bit int. */
-
-typedef union {
-  float value;
-  u_int32_t word;
-} ieee_float_shape_type;
-
-/* Get a 32 bit int from a float. */
-
-#define GET_FLOAT_WORD(i,d)   \
-{                             \
-  ieee_float_shape_type gf_u; \
-  gf_u.value = (d);           \
-  (i) = gf_u.word;            \
-}
-
-/* Set a float from a 32 bit int. */
-
-#define SET_FLOAT_WORD(d,i)   \
-{                             \
-  ieee_float_shape_type sf_u; \
-  sf_u.word = (i);            \
-  (d) = sf_u.value;           \
-}
-
-#endif /* _MATH_PRIVATE_H_ */
diff --git a/bench/kernel_tosplit/basicmath/pi.h b/bench/kernel_tosplit/basicmath/pi.h
deleted file mode 100644
index 2dc3a9111c55656651a6b9d6f96740ef0b2a8dc2..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/pi.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef PI__H
-#define PI__H
-
-#ifndef PI
-#define PI 3.14f
-// #define PI         (4*atan(1))
-#endif
-
-#define deg2rad(d) ((d)*PI/180)
-#define rad2deg(r) ((r)*180/PI)
-
-#endif /* PI__H */
diff --git a/bench/kernel_tosplit/basicmath/snipmath.h b/bench/kernel_tosplit/basicmath/snipmath.h
deleted file mode 100644
index 89eed27203ca0441e6e4da027fbe50ca1bed7398..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/snipmath.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-**  SNIPMATH.H - Header file for SNIPPETS math functions and macros
-*/
-
-#ifndef SNIPMATH__H
-#define SNIPMATH__H
-
-#include "wcclibm.h"
-#include "pi.h"
-
-/*
-**  Callable library functions begin here
-*/
-
-/* Cubic.C */
-void    basicmath_solveCubic( float a, float b, float c,
-                              float d, int *solutions,
-                              float *x );
-
-/*
-**  File: ISQRT.C
-*/
-
-struct int_sqrt {
-  unsigned short sqrt,
-           frac;
-};
-
-void basicmath_usqrt( unsigned long x, struct int_sqrt *q );
-
-#endif /* SNIPMATH__H */
diff --git a/bench/kernel_tosplit/basicmath/wcclibm.c b/bench/kernel_tosplit/basicmath/wcclibm.c
deleted file mode 100644
index 14154f306110581350ac5395fd315af68c0c4194..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/wcclibm.c
+++ /dev/null
@@ -1,718 +0,0 @@
-/*
-   ====================================================
-   Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-   Developed at SunPro, a Sun Microsystems, Inc. business.
-   Permission to use, copy, modify, and distribute this
-   software is freely granted, provided that this notice
-   is preserved.
-   ====================================================
-*/
-
-
-#include "wcclibm.h"
-#include "math_private.h"
-
-
-/* e_acosf.c -- float version of e_acos.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-static const float basicmath_pi =  3.1415925026e+00f,      /* 0x40490fda */
-                   basicmath_pio2_hi =  1.5707962513e+00f, /* 0x3fc90fda */
-                   basicmath_pio2_lo =  7.5497894159e-08f, /* 0x33a22168 */
-                   basicmath_pS0 =  1.6666667163e-01f,     /* 0x3e2aaaab */
-                   basicmath_pS1 = -3.2556581497e-01f,     /* 0xbea6b090 */
-                   basicmath_pS2 =  2.0121252537e-01f,     /* 0x3e4e0aa8 */
-                   basicmath_pS3 = -4.0055535734e-02f,     /* 0xbd241146 */
-                   basicmath_pS4 =  7.9153501429e-04f,     /* 0x3a4f7f04 */
-                   basicmath_pS5 =  3.4793309169e-05f,     /* 0x3811ef08 */
-                   basicmath_qS1 = -2.4033949375e+00f,     /* 0xc019d139 */
-                   basicmath_qS2 =  2.0209457874e+00f,     /* 0x4001572d */
-                   basicmath_qS3 = -6.8828397989e-01f,     /* 0xbf303361 */
-                   basicmath_qS4 =  7.7038154006e-02f;     /* 0x3d9dc62e */
-
-float basicmath___ieee754_acosf( float x )
-{
-  float z, p, q, r, w, s, c, df;
-  int32_t hx, ix;
-  GET_FLOAT_WORD( hx, x );
-  ix = hx & 0x7fffffff;
-  if ( ix == 0x3f800000 ) { /* |x|==1 */
-    if ( hx > 0 ) return 0.0f; /* acos(1) = 0  */
-    else return basicmath_pi + ( float )2.0f * basicmath_pio2_lo; /* acos(-1)= pi */
-  } else
-    if ( ix > 0x3f800000 ) { /* |x| >= 1 */
-      return ( x - x ) / ( x - x ); /* acos(|x|>1) is NaN */
-    }
-  if ( ix < 0x3f000000 ) { /* |x| < 0.5 */
-    if ( ix <= 0x23000000 ) return basicmath_pio2_hi + basicmath_pio2_lo; /*if|x|<2**-57*/
-    z = x * x;
-    p = z * ( basicmath_pS0 + z * ( basicmath_pS1 + z * ( basicmath_pS2 + z * ( basicmath_pS3 + z *
-                                      ( basicmath_pS4 + z * basicmath_pS5 ) ) ) ) );
-    q = basicmath_one + z * ( basicmath_qS1 + z * ( basicmath_qS2 + z * ( basicmath_qS3 + z * basicmath_qS4 ) ) );
-    r = p / q;
-    return basicmath_pio2_hi - ( x - ( basicmath_pio2_lo - x * r ) );
-  } else
-    if ( hx < 0 ) { /* x < -0.5 */
-      z = ( basicmath_one + x ) * ( float )0.5f;
-      p = z * ( basicmath_pS0 + z * ( basicmath_pS1 + z * ( basicmath_pS2 + z * ( basicmath_pS3 + z *
-                                        ( basicmath_pS4 + z * basicmath_pS5 ) ) ) ) );
-      q = basicmath_one + z * ( basicmath_qS1 + z * ( basicmath_qS2 + z * ( basicmath_qS3 + z * basicmath_qS4 ) ) );
-      s = basicmath___ieee754_sqrtf( z );
-      r = p / q;
-      w = r * s - basicmath_pio2_lo;
-      return basicmath_pi - ( float )2.0f * ( s + w );
-    } else {      /* x > 0.5 */
-      int32_t idf;
-      z = ( basicmath_one - x ) * ( float )0.5f;
-      s = basicmath___ieee754_sqrtf( z );
-      df = s;
-      GET_FLOAT_WORD( idf, df );
-      SET_FLOAT_WORD( df, idf & 0xfffff000 );
-      c  = ( z - df * df ) / ( s + df );
-      p = z * ( basicmath_pS0 + z * ( basicmath_pS1 + z * ( basicmath_pS2 + z * ( basicmath_pS3 + z *
-                                        ( basicmath_pS4 + z * basicmath_pS5 ) ) ) ) );
-      q = basicmath_one + z * ( basicmath_qS1 + z * ( basicmath_qS2 + z * ( basicmath_qS3 + z * basicmath_qS4 ) ) );
-      r = p / q;
-      w = r * s + c;
-      return ( float )2.0f * ( df + w );
-    }
-}
-
-
-/* e_powf.c -- float version of e_pow.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-static const float basicmath_bp[] = {1.0f, 1.5f,},
-                   basicmath_dp_h[] = { 0.0f, 5.84960938e-01f,}, /* 0x3f15c000 */
-                   basicmath_dp_l[] = { 0.0f, 1.56322085e-06f,}, /* 0x35d1cfdc */
-                   /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
-                   basicmath_L1      =  6.0000002384e-01f, /* 0x3f19999a */
-                   basicmath_L2      =  4.2857143283e-01f, /* 0x3edb6db7 */
-                   basicmath_L3      =  3.3333334327e-01f, /* 0x3eaaaaab */
-                   basicmath_L4      =  2.7272811532e-01f, /* 0x3e8ba305 */
-                   basicmath_L5      =  2.3066075146e-01f, /* 0x3e6c3255 */
-                   basicmath_L6      =  2.0697501302e-01f, /* 0x3e53f142 */
-                   basicmath_P1      =  1.6666667163e-01f, /* 0x3e2aaaab */
-                   basicmath_P2      = -2.7777778450e-03f, /* 0xbb360b61 */
-                   basicmath_P3      =  6.6137559770e-05f, /* 0x388ab355 */
-                   basicmath_P4      = -1.6533901999e-06f, /* 0xb5ddea0e */
-                   basicmath_P5      =  4.1381369442e-08f, /* 0x3331bb4c */
-                   basicmath_lg2     =  6.9314718246e-01f, /* 0x3f317218 */
-                   basicmath_lg2_h   =  6.93145752e-01f,   /* 0x3f317200 */
-                   basicmath_lg2_l   =  1.42860654e-06f,   /* 0x35bfbe8c */
-                   basicmath_ovt     =  4.2995665694e-08f, /* -(128-log2(ovfl+.5ulp)) */
-                   basicmath_cp      =  9.6179670095e-01f, /* 0x3f76384f =2/(3ln2) */
-                   basicmath_cp_h    =  9.6179199219e-01f, /* 0x3f763800 =head of cp */
-                   basicmath_cp_l    =  4.7017383622e-06f, /* 0x369dc3a0 =tail of cp_h */
-                   basicmath_ivln2   =  1.4426950216e+00f, /* 0x3fb8aa3b =1/ln2 */
-                   basicmath_ivln2_h =  1.4426879883e+00f, /* 0x3fb8aa00 =16b 1/ln2*/
-                   basicmath_ivln2_l =  7.0526075433e-06f; /* 0x36eca570 =1/ln2 tail*/
-
-float basicmath___ieee754_powf( float x, float y )
-{
-  float z, ax, z_h, z_l, p_h, p_l;
-  float y1, t1, t2, r, s, t, u, v, w;
-  int32_t i, j, k, yisint, n;
-  int32_t hx, hy, ix, iy, is;
-
-  GET_FLOAT_WORD( hx, x );
-  GET_FLOAT_WORD( hy, y );
-  ix = hx & 0x7fffffff;
-  iy = hy & 0x7fffffff;
-
-  /* y==zero: x**0 = 1 */
-  if ( iy == 0 ) return basicmath_one;
-
-  /* x==+-1 */
-  if ( x == 1.0f ) return basicmath_one;
-  if ( x == -1.0f && basicmath___isinff( y ) ) return basicmath_one;
-
-  /* +-NaN return x+y */
-  if ( ix > 0x7f800000 ||
-       iy > 0x7f800000 )
-    return x + y;
-
-  /* determine if y is an odd int when x < 0
-     yisint = 0 ... y is not an integer
-     yisint = 1 ... y is an odd int
-     yisint = 2 ... y is an even int
-  */
-  yisint  = 0;
-  if ( hx < 0 ) {
-    if ( iy >= 0x4b800000 ) yisint = 2; /* even integer y */
-    else
-      if ( iy >= 0x3f800000 ) {
-        k = ( iy >> 23 ) - 0x7f; /* exponent */
-        j = iy >> ( 23 - k );
-        if ( ( j << ( 23 - k ) ) == iy ) yisint = 2 - ( j & 1 );
-      }
-  }
-
-  /* special value of y */
-  if ( iy == 0x7f800000 ) { /* y is +-inf */
-    if ( ix == 0x3f800000 )
-      return  y - y;  /* inf**+-1 is NaN */
-    else
-      if ( ix > 0x3f800000 ) /* (|x|>1)**+-inf = inf,0 */
-        return ( hy >= 0 ) ? y : basicmath_zero;
-      else      /* (|x|<1)**-,+inf = inf,0 */
-        return ( hy < 0 ) ? -y : basicmath_zero;
-  }
-  if ( iy == 0x3f800000 ) { /* y is  +-1 */
-    if ( hy < 0 ) return basicmath_one / x;
-    else return x;
-  }
-  if ( hy == 0x40000000 ) return x * x; /* y is  2 */
-  if ( hy == 0x3f000000 ) { /* y is  0.5 */
-    if ( hx >= 0 ) /* x >= +0 */
-      return basicmath___ieee754_sqrtf( x );
-  }
-
-  ax   = basicmath___fabsf( x );
-  /* special value of x */
-  if ( ix == 0x7f800000 || ix == 0 || ix == 0x3f800000 ) {
-    z = ax;     /*x is +-0,+-inf,+-1*/
-    if ( hy < 0 ) z = basicmath_one / z; /* z = (1/|x|) */
-    if ( hx < 0 ) {
-      if ( ( ( ix - 0x3f800000 ) | yisint ) == 0 ) {
-        z = ( z - z ) / ( z - z ); /* (-1)**non-int is NaN */
-      } else
-        if ( yisint == 1 )
-          z = -z;   /* (x<0)**odd = -(|x|**odd) */
-    }
-    return z;
-  }
-
-  /* (x<0)**(non-int) is NaN */
-  if ( ( ( ( ( u_int32_t )hx >> 31 ) - 1 ) | yisint ) == 0 ) return ( x - x ) /
-        ( x - x );
-
-  /* |y| is huge */
-  if ( iy > 0x4d000000 ) { /* if |y| > 2**27 */
-    /* over/underflow if x is not close to one */
-    if ( ix < 0x3f7ffff8 ) return ( hy < 0 ) ? basicmath_huge * basicmath_huge : basicmath_tiny * basicmath_tiny;
-    if ( ix > 0x3f800007 ) return ( hy > 0 ) ? basicmath_huge * basicmath_huge : basicmath_tiny * basicmath_tiny;
-    /* now |1-x| is tiny <= 2**-20, suffice to compute
-       log(x) by x-x^2/2+x^3/3-x^4/4 */
-    t = x - 1;  /* t has 20 trailing zeros */
-    w = ( t * t ) * ( ( float )0.5f - t * ( ( float )0.333333333333f - t *
-                                            ( float )0.25f ) );
-    u = basicmath_ivln2_h * t; /* ivln2_h has 16 sig. bits */
-    v = t * basicmath_ivln2_l - w * basicmath_ivln2;
-    t1 = u + v;
-    GET_FLOAT_WORD( is, t1 );
-    SET_FLOAT_WORD( t1, is & 0xfffff000 );
-    t2 = v - ( t1 - u );
-  } else {
-    float s2, s_h, s_l, t_h, t_l;
-    n = 0;
-    /* take care subnormal number */
-    if ( ix < 0x00800000 ) {
-      ax *= basicmath_two24;
-      n -= 24;
-      GET_FLOAT_WORD( ix, ax );
-    }
-    n  += ( ( ix ) >> 23 ) - 0x7f;
-    j  = ix & 0x007fffff;
-    /* determine interval */
-    ix = j | 0x3f800000;  /* normalize ix */
-    if ( j <= 0x1cc471 ) k = 0; /* |x|<sqrt(3/2) */
-    else
-      if ( j < 0x5db3d7 ) k = 1; /* |x|<sqrt(3)   */
-      else {
-        k = 0;
-        n += 1;
-        ix -= 0x00800000;
-      }
-    SET_FLOAT_WORD( ax, ix );
-
-    /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
-    u = ax - basicmath_bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
-    v = basicmath_one / ( ax + basicmath_bp[k] );
-    s = u * v;
-    s_h = s;
-    GET_FLOAT_WORD( is, s_h );
-    SET_FLOAT_WORD( s_h, is & 0xfffff000 );
-    /* t_h=ax+bp[k] High */
-    SET_FLOAT_WORD( t_h, ( ( ix >> 1 ) | 0x20000000 ) + 0x0040000 + ( k << 21 ) );
-    t_l = ax - ( t_h - basicmath_bp[k] );
-    s_l = v * ( ( u - s_h * t_h ) - s_h * t_l );
-    /* compute log(ax) */
-    s2 = s * s;
-    r = s2 * s2 * ( basicmath_L1 + s2 * ( basicmath_L2 + s2 * ( basicmath_L3 + s2 * ( basicmath_L4 + s2 *
-                                            ( basicmath_L5 + s2 * basicmath_L6 ) ) ) ) );
-    r += s_l * ( s_h + s );
-    s2  = s_h * s_h;
-    t_h = ( float )3.0f + s2 + r;
-    GET_FLOAT_WORD( is, t_h );
-    SET_FLOAT_WORD( t_h, is & 0xfffff000 );
-    t_l = r - ( ( t_h - ( float )3.0f ) - s2 );
-    /* u+v = s*(1+...) */
-    u = s_h * t_h;
-    v = s_l * t_h + t_l * s;
-    /* 2/(3log2)*(s+...) */
-    p_h = u + v;
-    GET_FLOAT_WORD( is, p_h );
-    SET_FLOAT_WORD( p_h, is & 0xfffff000 );
-    p_l = v - ( p_h - u );
-    z_h = basicmath_cp_h * p_h; /* cp_h+cp_l = 2/(3*log2) */
-    z_l = basicmath_cp_l * p_h + p_l * basicmath_cp + basicmath_dp_l[k];
-    /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
-    t = ( float )n;
-    t1 = ( ( ( z_h + z_l ) + basicmath_dp_h[k] ) + t );
-    GET_FLOAT_WORD( is, t1 );
-    SET_FLOAT_WORD( t1, is & 0xfffff000 );
-    t2 = z_l - ( ( ( t1 - t ) - basicmath_dp_h[k] ) - z_h );
-  }
-
-  s = basicmath_one; /* s (sign of result -ve**odd) = -1 else = 1 */
-  if ( ( ( ( ( u_int32_t )hx >> 31 ) - 1 ) | ( yisint - 1 ) ) == 0 )
-    s = -basicmath_one; /* (-ve)**(odd int) */
-
-  /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
-  GET_FLOAT_WORD( is, y );
-  SET_FLOAT_WORD( y1, is & 0xfffff000 );
-  p_l = ( y - y1 ) * t1 + y * t2;
-  p_h = y1 * t1;
-  z = p_l + p_h;
-  GET_FLOAT_WORD( j, z );
-  if ( j > 0x43000000 )   /* if z > 128 */
-    return s * basicmath_huge * basicmath_huge;   /* overflow */
-  else
-    if ( j == 0x43000000 ) { /* if z == 128 */
-      if ( p_l + basicmath_ovt > z - p_h ) return s * basicmath_huge * basicmath_huge; /* overflow */
-    } else
-      if ( ( j & 0x7fffffff ) > 0x43160000 ) /* z <= -150 */
-        return s * basicmath_tiny * basicmath_tiny;   /* underflow */
-      else
-        if ( ( u_int32_t ) j == 0xc3160000 ) { /* z == -150 */
-          if ( p_l <= z - p_h ) return s * basicmath_tiny * basicmath_tiny; /* underflow */
-        }
-  /*
-     compute 2**(p_h+p_l)
-  */
-  i = j & 0x7fffffff;
-  k = ( i >> 23 ) - 0x7f;
-  n = 0;
-  if ( i > 0x3f000000 ) { /* if |z| > 0.5, set n = [z+0.5] */
-    n = j + ( 0x00800000 >> ( k + 1 ) );
-    k = ( ( n & 0x7fffffff ) >> 23 ) - 0x7f; /* new k for n */
-    SET_FLOAT_WORD( t, n & ~( 0x007fffff >> k ) );
-    n = ( ( n & 0x007fffff ) | 0x00800000 ) >> ( 23 - k );
-    if ( j < 0 ) n = -n;
-    p_h -= t;
-  }
-  t = p_l + p_h;
-  GET_FLOAT_WORD( is, t );
-  SET_FLOAT_WORD( t, is & 0xfffff000 );
-  u = t * basicmath_lg2_h;
-  v = ( p_l - ( t - p_h ) ) * basicmath_lg2 + t * basicmath_lg2_l;
-  z = u + v;
-  w = v - ( z - u );
-  t  = z * z;
-  t1  = z - t * ( basicmath_P1 + t * ( basicmath_P2 + t * ( basicmath_P3 + t * ( basicmath_P4 + t * basicmath_P5 ) ) ) );
-  r  = ( z * t1 ) / ( t1 - basicmath_two ) - ( w + z * w );
-  z  = basicmath_one - ( r - z );
-  GET_FLOAT_WORD( j, z );
-  j += ( n << 23 );
-  if ( ( j >> 23 ) <= 0 ) z = basicmath___scalbnf( z, n ); /* subnormal output */
-  else SET_FLOAT_WORD( z, j );
-  return s * z;
-}
-
-
-/* e_rem_pio2f.c -- float version of e_rem_pio2.c
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-/* basicmath___ieee754_rem_pio2f(x,y)
-
-   return the remainder of x rem pi/2 in y[0]+y[1]
-*/
-
-/* This array is like the one in e_rem_pio2.c, but the numbers are
-   single precision and the last 8 bits are forced to 0.  */
-static const int32_t basicmath_npio2_hw[] = {
-  0x3fc90f00, 0x40490f00, 0x4096cb00, 0x40c90f00, 0x40fb5300, 0x4116cb00,
-  0x412fed00, 0x41490f00, 0x41623100, 0x417b5300, 0x418a3a00, 0x4196cb00,
-  0x41a35c00, 0x41afed00, 0x41bc7e00, 0x41c90f00, 0x41d5a000, 0x41e23100,
-  0x41eec200, 0x41fb5300, 0x4203f200, 0x420a3a00, 0x42108300, 0x4216cb00,
-  0x421d1400, 0x42235c00, 0x4229a500, 0x422fed00, 0x42363600, 0x423c7e00,
-  0x4242c700, 0x42490f00
-};
-
-/*
-   invpio2:  24 bits of 2/pi
-   pio2_1:   first  17 bit of pi/2
-   pio2_1t:  pi/2 - pio2_1
-   pio2_2:   second 17 bit of pi/2
-   pio2_2t:  pi/2 - (pio2_1+pio2_2)
-   pio2_3:   third  17 bit of pi/2
-   pio2_3t:  pi/2 - (pio2_1+pio2_2+pio2_3)
-*/
-
-static const float basicmath_invpio2 =  6.3661980629e-01f, /* 0x3f22f984 */
-                   basicmath_pio2_1  =  1.5707855225e+00f, /* 0x3fc90f80 */
-                   basicmath_pio2_1t =  1.0804334124e-05f, /* 0x37354443 */
-                   basicmath_pio2_2  =  1.0804273188e-05f, /* 0x37354400 */
-                   basicmath_pio2_2t =  6.0770999344e-11f, /* 0x2e85a308 */
-                   basicmath_pio2_3  =  6.0770943833e-11f, /* 0x2e85a300 */
-                   basicmath_pio2_3t =  6.1232342629e-17f; /* 0x248d3132 */
-
-int32_t basicmath___ieee754_rem_pio2f( float x, float *y )
-{
-  float z, w, t, r, fn;
-  int32_t i, j, n, ix, hx;
-
-  GET_FLOAT_WORD( hx, x );
-  ix = hx & 0x7fffffff;
-  if ( ix <= 0x3f490fd8 ) { /* |x| ~<= pi/4 , no need for reduction */
-    y[0] = x;
-    y[1] = 0;
-    return 0;
-  }
-  if ( ix < 0x4016cbe4 ) { /* |x| < 3pi/4, special case with n=+-1 */
-    if ( hx > 0 ) {
-      z = x - basicmath_pio2_1;
-      if ( ( ix & 0xfffffff0 ) != 0x3fc90fd0 ) { /* 24+24 bit pi OK */
-        y[0] = z - basicmath_pio2_1t;
-        y[1] = ( z - y[0] ) - basicmath_pio2_1t;
-      } else {    /* near pi/2, use 24+24+24 bit pi */
-        z -= basicmath_pio2_2;
-        y[0] = z - basicmath_pio2_2t;
-        y[1] = ( z - y[0] ) - basicmath_pio2_2t;
-      }
-      return 1;
-    } else {  /* negative x */
-      z = x + basicmath_pio2_1;
-      if ( ( ix & 0xfffffff0 ) != 0x3fc90fd0 ) { /* 24+24 bit pi OK */
-        y[0] = z + basicmath_pio2_1t;
-        y[1] = ( z - y[0] ) + basicmath_pio2_1t;
-      } else {    /* near pi/2, use 24+24+24 bit pi */
-        z += basicmath_pio2_2;
-        y[0] = z + basicmath_pio2_2t;
-        y[1] = ( z - y[0] ) + basicmath_pio2_2t;
-      }
-      return -1;
-    }
-  }
-  if ( ix <= 0x43490f80 ) { /* |x| ~<= 2^7*(pi/2), medium size */
-    t  = basicmath___fabsf( x );
-    n  = ( int32_t ) ( t * basicmath_invpio2 + basicmath_half );
-    fn = ( float )n;
-    r  = t - fn * basicmath_pio2_1;
-    w  = fn * basicmath_pio2_1t; /* 1st round good to 40 bit */
-    if ( n < 32 && ( int32_t )( ix & 0xffffff00 ) != basicmath_npio2_hw[n - 1] ) {
-      y[0] = r - w; /* quick check no cancellation */
-    } else {
-      u_int32_t high;
-      j  = ix >> 23;
-      y[0] = r - w;
-      GET_FLOAT_WORD( high, y[0] );
-      i = j - ( ( high >> 23 ) & 0xff );
-      if ( i > 8 ) { /* 2nd iteration needed, good to 57 */
-        t  = r;
-        w  = fn * basicmath_pio2_2;
-        r  = t - w;
-        w  = fn * basicmath_pio2_2t - ( ( t - r ) - w );
-        y[0] = r - w;
-        GET_FLOAT_WORD( high, y[0] );
-        i = j - ( ( high >> 23 ) & 0xff );
-        if ( i > 25 )  { /* 3rd iteration need, 74 bits acc */
-          t  = r; /* will cover all possible cases */
-          w  = fn * basicmath_pio2_3;
-          r  = t - w;
-          w  = fn * basicmath_pio2_3t - ( ( t - r ) - w );
-          y[0] = r - w;
-        }
-      }
-    }
-    y[1] = ( r - y[0] ) - w;
-    if ( hx < 0 )  {
-      y[0] = -y[0];
-      y[1] = -y[1];
-      return -n;
-    } else   return n;
-  }
-  /*
-     all other (large) arguments
-  */
-  if ( ix >= 0x7f800000 ) { /* x is inf or NaN */
-    y[0] = y[1] = x - x;
-    return 0;
-  }
-
-  // This will never happen in basicmath_small, because
-  // up to this point we have already returned a value
-  // for each of the possible inputs
-  y[0] = y[1] = x - x; /* dummy initialization */
-  return 0;
-}
-
-
-/* e_sqrtf.c -- float version of e_sqrt.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-float basicmath___ieee754_sqrtf( float x )
-{
-  float z;
-  int32_t sign = ( int )0x80000000;
-  int32_t ix, s, q, m, t, i;
-  u_int32_t r;
-
-  GET_FLOAT_WORD( ix, x );
-
-  /* take care of Inf and NaN */
-  if ( ( ix & 0x7f800000 ) == 0x7f800000 ) {
-    return x * x + x;   /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
-             sqrt(-inf)=sNaN */
-  }
-  /* take care of zero */
-  if ( ix <= 0 ) {
-    if ( ( ix & ( ~sign ) ) == 0 ) return x; /* sqrt(+-0) = +-0 */
-    else
-      if ( ix < 0 )
-        return ( x - x ) / ( x - x ); /* sqrt(-ve) = sNaN */
-  }
-  /* normalize x */
-  m = ( ix >> 23 );
-  if ( m == 0 ) {   /* subnormal x */
-    _Pragma( "loopbound min 0 max 0" )
-    for ( i = 0; ( ix & 0x00800000 ) == 0; i++ )
-      ix <<= 1;
-    m -= i - 1;
-  }
-  m -= 127; /* unbias exponent */
-  ix = ( ix & 0x007fffff ) | 0x00800000;
-  if ( m & 1 ) /* odd m, double x to make it even */
-    ix += ix;
-  m >>= 1;  /* m = [m/2] */
-
-  /* generate sqrt(x) bit by bit */
-  ix += ix;
-  q = s = 0;    /* q = sqrt(x) */
-  r = 0x01000000;   /* r = moving bit from right to left */
-
-  _Pragma( "loopbound min 25 max 25" )
-  while ( r != 0 ) {
-    t = s + r;
-    if ( t <= ix ) {
-      s    = t + r;
-      ix  -= t;
-      q   += r;
-    }
-    ix += ix;
-    r >>= 1;
-  }
-
-  /* use floating add to find out rounding direction */
-  if ( ix != 0 ) {
-    z = basicmath_one - basicmath_tiny; /* trigger inexact flag */
-    if ( z >= basicmath_one ) {
-      z = basicmath_one + basicmath_tiny;
-      if ( z > basicmath_one )
-        q += 2;
-      else
-        q += ( q & 1 );
-    }
-  }
-  ix = ( q >> 1 ) + 0x3f000000;
-  ix += ( m << 23 );
-  SET_FLOAT_WORD( z, ix );
-  return z;
-}
-
-
-/* k_cosf.c -- float version of k_cos.c
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-static const float basicmath_C1  =  4.1666667908e-02f, /* 0x3d2aaaab */
-                   basicmath_C2  = -1.3888889225e-03f, /* 0xbab60b61 */
-                   basicmath_C3  =  2.4801587642e-05f, /* 0x37d00d01 */
-                   basicmath_C4  = -2.7557314297e-07f, /* 0xb493f27c */
-                   basicmath_C5  =  2.0875723372e-09f, /* 0x310f74f6 */
-                   basicmath_C6  = -1.1359647598e-11f; /* 0xad47d74e */
-
-float basicmath___kernel_cosf( float x, float y )
-{
-  float a, hz, z, r, qx;
-  int32_t ix;
-  GET_FLOAT_WORD( ix, x );
-  ix &= 0x7fffffff;     /* ix = |x|'s high word*/
-  if ( ix < 0x32000000 ) { /* if x < 2**27 */
-    if ( ( ( int )x ) == 0 ) return basicmath_one; /* generate inexact */
-  }
-  z  = x * x;
-  r  = z * ( basicmath_C1 + z * ( basicmath_C2 + z * ( basicmath_C3 + z * ( basicmath_C4 + z * ( basicmath_C5 + z * basicmath_C6 ) ) ) ) );
-  if ( ix < 0x3e99999a )    /* if |x| < 0.3 */
-    return basicmath_one - ( ( float )0.5f * z - ( z * r - x * y ) );
-  else {
-    if ( ix > 0x3f480000 )  /* x > 0.78125 */
-      qx = ( float )0.28125f;
-    else {
-      SET_FLOAT_WORD( qx, ix - 0x01000000 ); /* x/4 */
-    }
-    hz = ( float )0.5f * z - qx;
-    a  = basicmath_one - qx;
-    return a - ( hz - ( z * r - x * y ) );
-  }
-}
-
-
-/* k_sinf.c -- float version of k_sin.c
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-static const float basicmath_S1 = -1.6666667163e-01f, /* 0xbe2aaaab */
-                   basicmath_S2 =  8.3333337680e-03f, /* 0x3c088889 */
-                   basicmath_S3 = -1.9841270114e-04f, /* 0xb9500d01 */
-                   basicmath_S4 =  2.7557314297e-06f, /* 0x3638ef1b */
-                   basicmath_S5 = -2.5050759689e-08f, /* 0xb2d72f34 */
-                   basicmath_S6 =  1.5896910177e-10f; /* 0x2f2ec9d3 */
-
-float basicmath___kernel_sinf( float x, float y, int iy )
-{
-  float z, r, v;
-  int32_t ix;
-  GET_FLOAT_WORD( ix, x );
-  ix &= 0x7fffffff;     /* high word of x */
-  if ( ix < 0x32000000 ) { /* |x| < 2**-27 */
-    if ( ( int )x == 0 ) return x; /* generate inexact */
-  }
-  z =  x * x;
-  v =  z * x;
-  r =  basicmath_S2 + z * ( basicmath_S3 + z * ( basicmath_S4 + z * ( basicmath_S5 + z * basicmath_S6 ) ) );
-  if ( iy == 0 ) return x + v * ( basicmath_S1 + z * r );
-  else      return x - ( ( z * ( basicmath_half * y - v * r ) - y ) - v * basicmath_S1 );
-}
-
-
-/* s_copysignf.c -- float version of s_copysign.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-/*
-   copysignf(float x, float y)
-   copysignf(x,y) returns a value with the magnitude of x and
-   with the sign bit of y.
-*/
-
-
-float basicmath___copysignf( float x, float y )
-{
-  u_int32_t ix, iy;
-  GET_FLOAT_WORD( ix, x );
-  GET_FLOAT_WORD( iy, y );
-  SET_FLOAT_WORD( x, ( ix & 0x7fffffff ) | ( iy & 0x80000000 ) );
-  return x;
-}
-
-
-/* s_cosf.c -- float version of s_cos.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-float basicmath___cosf( float x )
-{
-  float y[2], z = 0.0f;
-  int32_t n, ix;
-
-  GET_FLOAT_WORD( ix, x );
-
-  /* |x| ~< pi/4 */
-  ix &= 0x7fffffff;
-  if ( ix <= 0x3f490fd8 ) return basicmath___kernel_cosf( x, z );
-
-  /* cos(Inf or NaN) is NaN */
-  else
-    if ( ix >= 0x7f800000 ) return x - x;
-
-    /* argument reduction needed */
-    else {
-      n = basicmath___ieee754_rem_pio2f( x, y );
-      switch ( n & 3 ) {
-        case 0:
-          return  basicmath___kernel_cosf( y[0], y[1] );
-        case 1:
-          return -basicmath___kernel_sinf( y[0], y[1], 1 );
-        case 2:
-          return -basicmath___kernel_cosf( y[0], y[1] );
-        default:
-          return  basicmath___kernel_sinf( y[0], y[1], 1 );
-      }
-    }
-}
-
-
-/* s_fabsf.c -- float version of s_fabs.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-/*
-   fabsf(x) returns the absolute value of x.
-*/
-
-float basicmath___fabsf( float x )
-{
-  u_int32_t ix;
-  GET_FLOAT_WORD( ix, x );
-  SET_FLOAT_WORD( x, ix & 0x7fffffff );
-  return x;
-}
-
-
-/*
-   isinff(x) returns 1 if x is inf, -1 if x is -inf, else 0;
-   no branching!
-*/
-
-int basicmath___isinff ( float x )
-{
-  int32_t ix, t;
-  GET_FLOAT_WORD( ix, x );
-  t = ix & 0x7fffffff;
-  t ^= 0x7f800000;
-  t |= -t;
-  return ~( t >> 31 ) & ( ix >> 30 );
-}
-
-
-/* s_scalbnf.c -- float version of s_scalbn.c.
-   Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
-*/
-
-static const float basicmath_two25 =  3.355443200e+07f,  /* 0x4c000000 */
-                  basicmath_twom25 =  2.9802322388e-08f; /* 0x33000000 */
-
-float basicmath___scalbnf ( float x, int n )
-{
-  int32_t k, ix;
-  GET_FLOAT_WORD( ix, x );
-  k = ( ix & 0x7f800000 ) >> 23; /* extract exponent */
-  if ( k == 0 ) {   /* 0 or subnormal x */
-    if ( ( ix & 0x7fffffff ) == 0 ) return x; /* +-0 */
-    x *= basicmath_two25;
-    GET_FLOAT_WORD( ix, x );
-    k = ( ( ix & 0x7f800000 ) >> 23 ) - 25;
-  }
-  if ( k == 0xff ) return x + x; /* NaN or Inf */
-  k = k + n;
-  if ( n > 50000 || k >  0xfe )
-    return basicmath_huge * basicmath___copysignf( basicmath_huge, x ); /* overflow  */
-  if ( n < -50000 )
-    return basicmath_tiny * basicmath___copysignf( basicmath_tiny, x ); /*underflow*/
-  if ( k > 0 ) {    /* normal result */
-    SET_FLOAT_WORD( x, ( ix & 0x807fffff ) | ( k << 23 ) );
-    return x;
-  }
-  if ( k <= -25 )
-    return basicmath_tiny * basicmath___copysignf( basicmath_tiny, x ); /*underflow*/
-  k += 25;        /* subnormal result */
-  SET_FLOAT_WORD( x, ( ix & 0x807fffff ) | ( k << 23 ) );
-  return x * basicmath_twom25;
-}
diff --git a/bench/kernel_tosplit/basicmath/wcclibm.h b/bench/kernel_tosplit/basicmath/wcclibm.h
deleted file mode 100644
index f37ff09f68d0f12bae97625792f380ced346d326..0000000000000000000000000000000000000000
--- a/bench/kernel_tosplit/basicmath/wcclibm.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _WCCLIBM
-#define _WCCLIBM
-
-#define int32_t      int
-#define u_int32_t    unsigned int
-
-// Often used variables/consts
-static const float basicmath_one    =  1.0f,
-                   basicmath_tiny   =  1.0e-30f,
-                   basicmath_half   =  5.0000000000e-01, /* 0x3f000000 */
-                   basicmath_huge   =  1.0e30,
-                   basicmath_two    =  2.0,
-                   basicmath_two24  =  16777216.0,       /* 0x4b800000 */
-                   basicmath_zero   =  0.0;
-
-float   basicmath___copysignf(float x, float y);
-float   basicmath___cosf(float x);
-float   basicmath___fabsf(float x);
-float   basicmath___ieee754_acosf(float x);
-float   basicmath___ieee754_powf(float x, float y);
-int32_t basicmath___ieee754_rem_pio2f(float x, float *y);
-float   basicmath___ieee754_sqrtf(float x);
-int     basicmath___isinff (float x);
-float   basicmath___kernel_cosf(float x, float y);
-float   basicmath___kernel_sinf(float x, float y, int iy);
-float   basicmath___scalbnf (float x, int n);
-
-#endif // _WCCLIBM