Lines Matching +full:left +full:- +full:shifted
2 * Double-precision vector exp(x) - 1 function.
4 * Copyright (c) 2022-2024, Arm Limited.
5 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
24 /* asuint64(oflow_bound) - asuint64(0x1p-51), shifted left by 1 for abs
27 /* asuint64(0x1p-51) << 1. */
31 underflow bound is greater than this, so it catches both cases - there is
40 return v_call_f64 (expm1, x, expm1_inline (v_zerofy_f64 (x, special), &d->d), in special_case()
44 /* Double-precision vector exp(x) - 1 function.
46 _ZGVnN2v_expm1(0x1.6329669eb8c87p-2) got 0x1.a8897eef87b34p-2
47 want 0x1.a8897eef87b32p-2. */
55 |x| < 2^-51, |x| > oflow_bound, Inf & NaN. Add ix to itself for in V_NAME_D1()
56 shift-left by 1, and compare with thresh which was left-shifted offline - in V_NAME_D1()
59 = vcgeq_u64 (vsubq_u64 (vaddq_u64 (ix, ix), d->tiny_bound), d->thresh); in V_NAME_D1()
62 uint64x2_t special = vcageq_f64 (x, d->oflow_bound); in V_NAME_D1()
68 /* expm1(x) ~= p * t + (t - 1). */ in V_NAME_D1()
69 return expm1_inline (x, &d->d); in V_NAME_D1()
72 TEST_SIG (V, D, 1, expm1, -9.9, 9.9)
75 TEST_SYM_INTERVAL (V_NAME_D1 (expm1), 0, 0x1p-51, 1000)
76 TEST_SYM_INTERVAL (V_NAME_D1 (expm1), 0x1p-51, 0x1.62b7d369a5aa9p+9, 100000)