--- a/mlx/primitives.cpp +++ b/mlx/primitives.cpp @@ -2059,11 +2059,8 @@ const std::vector& primals, const std::vector& cotangents, const std::vector& argnums, - const std::vector& outputs) { - return {multiply( - cotangents[0], - add(outputs[0], array(1.0f, outputs[0].dtype()), stream()), - stream())}; + const std::vector&) { + return {multiply(cotangents[0], exp(primals[0], stream()), stream())}; } std::vector Expm1::jvp(