# Why is \`muladd\` not consistent even though it has the effect?

**URL:** <https://discourse.julialang.org/t/why-is-muladd-not-consistent-even-though-it-has-the-effect/140455>\
**Category:** General Usage\
**Tags:** question\
**Created:** [November 1, 2026, 12:27am UTC](https://discourse.julialang.org/t/why-is-muladd-not-consistent-even-though-it-has-the-effect/140455 "2026-11-01T00:27:37Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![nhz2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nhz2/32/44428_2.png) [@nhz2](https://discourse.julialang.org/u/nhz2)\
**Post date:** [November 3, 2026, 2:33am UTC](https://discourse.julialang.org/t/why-is-muladd-not-consistent-even-though-it-has-the-effect/140455/10 "2026-11-03T02:33:22Z")

</div>

I’ve updated [PhiloxRNG to use explicit `fma`](https://github.com/medyan-dev/PhiloxRNG.jl/pull/10) instead of `muladd` or regular adds and multiplies. It turns out that in addition to fusing `muladd`, CUDA.jl will sometimes fuse regular adds and multiplies, and that was a big part of why the random numbers were occasionally different on different platforms.

---

_[View the full topic](https://discourse.julialang.org/t/why-is-muladd-not-consistent-even-though-it-has-the-effect/140455)._
