
unsigned int m_e[2] = { 0X4005bf0a, 0X8b145769 };
unsigned int m_e_f = 0X402df854;
unsigned int m_log2e[2] = { 0X3ff71547, 0X652b82fe };
unsigned int m_log2e_f = 0X3fb8aa3b;
unsigned int m_log10e[2] = { 0X3fdbcb7b, 0X1526e50e };
unsigned int m_log10e_f = 0X3ede5bd9;
unsigned int m_ln2[2] = { 0X3fe62e42, 0Xfefa39ef };
unsigned int m_ln2_f = 0X3f317218;
unsigned int m_ln10[2] = { 0X40026bb1, 0Xbbb55516 };
unsigned int m_ln10_f = 0X40135d8e;
unsigned int m_pi[2] = { 0X400921fb, 0X54442d18 };
unsigned int m_pi_f = 0X40490fdb;
unsigned int m_pi_2[2] = { 0X3ff921fb, 0X54442d18 };
unsigned int m_pi_2_f = 0X3fc90fdb;
unsigned int m_pi_4[2] = { 0X3fe921fb, 0X54442d18 };
unsigned int m_pi_4_f = 0X3f490fdb;
unsigned int m_1_pi[2] = { 0X3fd45f30, 0X6dc9c883 };
unsigned int m_1_pi_f = 0X3ea2f983;
unsigned int m_2_pi[2] = { 0X3fe45f30, 0X6dc9c883 };
unsigned int m_2_pi_f = 0X3f22f983;
unsigned int m_2_sqrtpi[2] = { 0X3ff20dd7, 0X50429b6d };
unsigned int m_2_sqrtpi_f = 0X3f906ebb;
unsigned int m_sqrt2[2] = { 0X3ff6a09e, 0X667f3bcd };
unsigned int m_sqrt2_f = 0X3fb504f3;
unsigned int m_sqrt1_2[2] = { 0X3fe6a09e, 0X667f3bcd };
unsigned int m_sqrt1_2_f = 0X3f3504f3;
unsigned int m_tiny[2] = { 1048576, 0 };
unsigned int m_huge[2] = { 2146435071, ~0 };
unsigned int m_eps[2] = { 1017118720, 0 };
unsigned int m_sqrt_eps[2] = { 1044816030, 1719614413 };
unsigned int m_diver[2] = { 1018167296, 0 };
unsigned int m_tiny_f = 8388608;
unsigned int m_huge_f = 2139095039;
unsigned int m_eps_f = 864026624;
unsigned int m_sqrt_eps_f = 964689920;
unsigned int m_diver_f = 872415232;

/* inverse powers of two */
float twomm[32] =
{
  1./( 1 << 0 ),
  1./( 1 << 1 ),
  1./( 1 << 2 ),
  1./( 1 << 3 ),
  1./( 1 << 4 ),
  1./( 1 << 5 ),
  1./( 1 << 6 ),
  1./( 1 << 7 ),
  1./( 1 << 8 ),
  1./( 1 << 9 ),
  1./( 1 << 10 ),
  1./( 1 << 11 ),
  1./( 1 << 12 ),
  1./( 1 << 13 ),
  1./( 1 << 14 ),
  1./( 1 << 15 ),
  1./( 1 << 16 ),
  1./( 1 << 17 ),
  1./( 1 << 18 ),
  1./( 1 << 19 ),
  1./( 1 << 20 ),
  1./( 1 << 21 ),
  1./( 1 << 22 ),
  1./( 1 << 23 ),
  1./( 1 << 24 ),
  1./( 1 << 25 ),
  1./( 1 << 26 ),
  1./( 1 << 27 ),
  1./( 1 << 28 ),
  1./( 1 << 29 ),
  1./( 1 << 30 ),
  1./( 1 << 31 ) };

/* inverse powers of sqrt(2) */
float twomhalfm[64] =
{
  1.,
  0.70710678118654752,
  0.5,
  0.35355339059327376,
  0.25,
  0.17677669529663688,
  0.125,
  0.08838834764831844,
  0.0625,
  0.04419417382415922,
  0.03125,
  0.02209708691207961,
  0.015625,
  0.011048543456039805,
  0.0078125,
  0.005524271728019903,
  0.00390625,
  0.002762135864009951,
  0.001953125,
  0.001381067932004976,
  0.0009765625,
  0.0006905339660024878,
  0.00048828125,
  0.0003452669830012439,
  0.000244140625,
  0.000172633491500622,
  0.0001220703125,
  0.00008631674575031098,
  0.00006103515625,
  0.00004315837287515549,
  0.000030517578125,
  0.00002157918643757774,
  0.0000152587890625,
  0.00001078959321878887,
  7.62939453125e-6,
  5.394796609394436e-6,
  3.814697265625e-6,
  2.697398304697218e-6,
  1.9073486328125e-6,
  1.348699152348609e-6,
  9.5367431640625e-7,
  6.74349576174305e-7,
  4.76837158203125e-7,
  3.371747880871523e-7,
  2.384185791015625e-7,
  1.685873940435761e-7,
  1.1920928955078125e-7,
  8.42936970217881e-8,
  5.960464477539062e-8,
  4.214684851089403e-8,
  2.9802322387695312e-8,
  2.107342425544702e-8,
  1.4901161193847656e-8,
  1.053671212772351e-8,
  7.450580596923828e-9,
  5.268356063861754e-9,
  3.725290298461914e-9,
  2.634178031930877e-9,
  1.862645149230957e-9,
  1.317089015965438e-9,
  9.313225746154785e-10,
  6.58544507982719e-10,
  4.656612873077393e-10,
  3.292722539913596e-10
};

/* ordinary powers of 2 */
float twom[32] =
{
  1 << 0,
  1 << 1,
  1 << 2,
  1 << 3,
  1 << 4,
  1 << 5,
  1 << 6,
  1 << 7,
  1 << 8,
  1 << 9,
  1 << 10,
  1 << 11,
  1 << 12,
  1 << 13,
  1 << 14,
  1 << 15,
  1 << 16,
  1 << 17,
  1 << 18,
  1 << 19,
  1 << 20,
  1 << 21,
  1 << 22,
  1 << 23,
  1 << 24,
  1 << 25,
  1 << 26,
  1 << 27,
  1 << 28,
  1 << 29,
  1 << 30,
  1 << 31 };

/* ordinary powers of sqrt(2) */
float twohalfm[64] =
{
  1.,
  1.4142135623730950488,
  2.,
  2.8284271247461900976,
  4.,
  5.656854249492380195,
  8.,
  11.31370849898476039,
  16.,
  22.627416997969520781,
  32.,
  45.25483399593904156,
  64.,
  90.50966799187808312,
  128.,
  181.01933598375616625,
  256.,
  362.0386719675123325,
  512.,
  724.077343935024665,
  1024.,
  1448.15468787004933,
  2048.,
  2896.30937574009866,
  4096.,
  5792.61875148019732,
  8192.,
  11585.23750296039464,
  16384.,
  23170.47500592078928,
  32768.,
  46340.95001184157856,
  65536.,
  92681.9000236831571,
  131072.,
  185363.8000473663142,
  262144.,
  370727.6000947326285,
  524288.,
  741455.200189465257,
  1.048576e6,
  1.482910400378930514e6,
  2.097152e6,
  2.965820800757861028e6,
  4.194304e6,
  5.931641601515722056e6,
  8.388608e6,
  1.186328320303144411e7,
  1.6777216e7,
  2.372656640606288822e7,
  3.3554432e7,
  4.745313281212577644e7,
  6.7108864e7,
  9.49062656242515529e7,
  1.34217728e8,
  1.898125312485031058e8,
  2.68435456e8,
  3.796250624970062116e8,
  5.36870912e8,
  7.59250124994012423e8,
  1.073741824e9,
  1.518500249988024846e9,
  2.147483648e9,
  3.037000499976049692e9
};

/* integer powers of two */
extern int itwom[31] = {
    1 << 0,
    1 << 1,
    1 << 2,
    1 << 3,
    1 << 4,
    1 << 5,
    1 << 6,
    1 << 7,
    1 << 8,
    1 << 9,
    1 << 10,
    1 << 11,
    1 << 12,
    1 << 13,
    1 << 14,
    1 << 15,
    1 << 16,
    1 << 17,
    1 << 18,
    1 << 19,
    1 << 20,
    1 << 21,
    1 << 22,
    1 << 23,
    1 << 24,
    1 << 25,
    1 << 26,
    1 << 27,
    1 << 28,
    1 << 29,
    1 << 30,
};
