///|
fn k_expo2f(x : Float) -> Float {
let k = 235
let k_ln2 = Float::reinterpret_from_int(0x4322e3bc)
// note that k is odd and scale*scale overflows */
let scale = Float::reinterpret_from_int((0x7f + k / 2) << 23)
// exp(x - k ln2) * 2**(k-1) */
expf(x - k_ln2) * scale * scale
}