[libclc] libclc: erfc: fix fp32 implementation (PR #132390)
Fraser Cormack via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 24 07:58:55 PDT 2025
================
@@ -131,7 +131,8 @@ _CLC_OVERLOAD _CLC_DEF float erfc(float x) {
float ret = 0.0f;
float z = as_float(ix & 0xfffff000);
- float r = exp(mad(-z, z, -0.5625f)) * exp(mad(z - absx, z + absx, q));
+ float r = exp(-z * z) * exp(mad(z - absx, z + absx, q));
+ r *= 0x1.23ba94p-1; // exp(-0.5625)
----------------
frasercrmck wrote:
```suggestion
r *= 0x1.23ba94p-1f; // exp(-0.5625)
```
https://github.com/llvm/llvm-project/pull/132390
More information about the cfe-commits
mailing list