diff options
| author | Calder Coalson <caldercoalson@gmail.com> | 2025-02-19 12:08:31 -0800 |
|---|---|---|
| committer | Calder Coalson <caldercoalson@gmail.com> | 2025-04-04 16:13:57 -0700 |
| commit | 8ff70529f22158dab9a06c7b2e79e1d460d24c61 (patch) | |
| tree | e01396a6993f362e10701ee4237f4ce806408e74 /src/tools | |
| parent | 5cc60728e7ee10eb2ae5f61f7d412d9805b22f0c (diff) | |
| download | rust-8ff70529f22158dab9a06c7b2e79e1d460d24c61.tar.gz rust-8ff70529f22158dab9a06c7b2e79e1d460d24c61.zip | |
Expose algebraic floating point intrinsics
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/miri/src/intrinsics/mod.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/miri/src/intrinsics/mod.rs b/src/tools/miri/src/intrinsics/mod.rs index 85fb280a9a9..a3525dcc77a 100644 --- a/src/tools/miri/src/intrinsics/mod.rs +++ b/src/tools/miri/src/intrinsics/mod.rs @@ -411,9 +411,9 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> { }; let res = this.binary_op(op, &a, &b)?; // `binary_op` already called `generate_nan` if needed. - // Apply a relative error of 16ULP to simulate non-deterministic precision loss + // Apply a relative error of 4ULP to simulate non-deterministic precision loss // due to optimizations. - let res = apply_random_float_error_to_imm(this, res, 4 /* log2(16) */)?; + let res = apply_random_float_error_to_imm(this, res, 2 /* log2(4) */)?; this.write_immediate(*res, dest)?; } @@ -464,9 +464,9 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> { if !float_finite(&res)? { throw_ub_format!("`{intrinsic_name}` intrinsic produced non-finite value as result"); } - // Apply a relative error of 16ULP to simulate non-deterministic precision loss + // Apply a relative error of 4ULP to simulate non-deterministic precision loss // due to optimizations. - let res = apply_random_float_error_to_imm(this, res, 4 /* log2(16) */)?; + let res = apply_random_float_error_to_imm(this, res, 2 /* log2(4) */)?; this.write_immediate(*res, dest)?; } |
