about summary refs log tree commit diff
path: root/src/tools
diff options
context:
space:
mode:
authorCalder Coalson <caldercoalson@gmail.com>2025-02-19 12:08:31 -0800
committerCalder Coalson <caldercoalson@gmail.com>2025-04-04 16:13:57 -0700
commit8ff70529f22158dab9a06c7b2e79e1d460d24c61 (patch)
treee01396a6993f362e10701ee4237f4ce806408e74 /src/tools
parent5cc60728e7ee10eb2ae5f61f7d412d9805b22f0c (diff)
downloadrust-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.rs8
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)?;
             }