\[\left(\left(\left(-65504 \leq ax \land ax \leq 65504\right) \land \left(-65504 \leq ay \land ay \leq 65504\right)\right) \land \left(-65504 \leq az \land az \leq 65504\right)\right) \land \left(-1 \leq s \land s \leq 1\right)\]
\[ \begin{array}{c}[ax, ay, az] = \mathsf{sort}([ax, ay, az])\\ \end{array} \]
\[\frac{\left(\left(ax + ay\right) + az\right) + s \cdot \sqrt{\left(\left(ax + ay\right) + az\right) \cdot \left(\left(ax + ay\right) + az\right) - 3 \cdot \left(\left(\left(ax \cdot ax + ay \cdot ay\right) + az \cdot az\right) - 1\right)}}{3}
\]
↓
\[\frac{ax + \mathsf{fma}\left(s, \sqrt{az \cdot az + -3 \cdot \left(ax \cdot ax + \left(az \cdot az + -1\right)\right)}, az + ay\right)}{3}
\]
(FPCore (ax ay az s)
:precision binary64
(/
(+
(+ (+ ax ay) az)
(*
s
(sqrt
(-
(* (+ (+ ax ay) az) (+ (+ ax ay) az))
(* 3.0 (- (+ (+ (* ax ax) (* ay ay)) (* az az)) 1.0))))))
3.0))
↓
(FPCore (ax ay az s)
:precision binary64
(/
(+
ax
(fma
s
(sqrt (+ (* az az) (* -3.0 (+ (* ax ax) (+ (* az az) -1.0)))))
(+ az ay)))
3.0))
double code(double ax, double ay, double az, double s) {
return (((ax + ay) + az) + (s * sqrt(((((ax + ay) + az) * ((ax + ay) + az)) - (3.0 * ((((ax * ax) + (ay * ay)) + (az * az)) - 1.0)))))) / 3.0;
}
↓
double code(double ax, double ay, double az, double s) {
return (ax + fma(s, sqrt(((az * az) + (-3.0 * ((ax * ax) + ((az * az) + -1.0))))), (az + ay))) / 3.0;
}
function code(ax, ay, az, s)
return Float64(Float64(Float64(Float64(ax + ay) + az) + Float64(s * sqrt(Float64(Float64(Float64(Float64(ax + ay) + az) * Float64(Float64(ax + ay) + az)) - Float64(3.0 * Float64(Float64(Float64(Float64(ax * ax) + Float64(ay * ay)) + Float64(az * az)) - 1.0)))))) / 3.0)
end
↓
function code(ax, ay, az, s)
return Float64(Float64(ax + fma(s, sqrt(Float64(Float64(az * az) + Float64(-3.0 * Float64(Float64(ax * ax) + Float64(Float64(az * az) + -1.0))))), Float64(az + ay))) / 3.0)
end
code[ax_, ay_, az_, s_] := N[(N[(N[(N[(ax + ay), $MachinePrecision] + az), $MachinePrecision] + N[(s * N[Sqrt[N[(N[(N[(N[(ax + ay), $MachinePrecision] + az), $MachinePrecision] * N[(N[(ax + ay), $MachinePrecision] + az), $MachinePrecision]), $MachinePrecision] - N[(3.0 * N[(N[(N[(N[(ax * ax), $MachinePrecision] + N[(ay * ay), $MachinePrecision]), $MachinePrecision] + N[(az * az), $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]
↓
code[ax_, ay_, az_, s_] := N[(N[(ax + N[(s * N[Sqrt[N[(N[(az * az), $MachinePrecision] + N[(-3.0 * N[(N[(ax * ax), $MachinePrecision] + N[(N[(az * az), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] + N[(az + ay), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 3.0), $MachinePrecision]
\frac{\left(\left(ax + ay\right) + az\right) + s \cdot \sqrt{\left(\left(ax + ay\right) + az\right) \cdot \left(\left(ax + ay\right) + az\right) - 3 \cdot \left(\left(\left(ax \cdot ax + ay \cdot ay\right) + az \cdot az\right) - 1\right)}}{3}
↓
\frac{ax + \mathsf{fma}\left(s, \sqrt{az \cdot az + -3 \cdot \left(ax \cdot ax + \left(az \cdot az + -1\right)\right)}, az + ay\right)}{3}