\[\left(\left(2.328306437 \cdot 10^{-10} \leq ux \land ux \leq 1\right) \land \left(2.328306437 \cdot 10^{-10} \leq uy \land uy \leq 1\right)\right) \land \left(0 \leq maxCos \land maxCos \leq 1\right)\]
\[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}
\]
↓
\[\sin \left(\left(\sqrt{2} \cdot \pi\right) \cdot \left(uy \cdot \sqrt{2}\right)\right) \cdot \sqrt{\left(maxCos - 1\right) \cdot \left({\left(\frac{-1}{ux}\right)}^{-2} \cdot \left(1 + -1 \cdot maxCos\right)\right) + ux \cdot \left(1 + \left(-1 \cdot maxCos + -1 \cdot \left(maxCos - 1\right)\right)\right)}
\]
(FPCore (ux uy maxCos)
:precision binary64
(*
(sin (* (* uy 2.0) PI))
(sqrt
(- 1.0 (* (+ (- 1.0 ux) (* ux maxCos)) (+ (- 1.0 ux) (* ux maxCos)))))))
↓
(FPCore (ux uy maxCos)
:precision binary64
(*
(sin (* (* (sqrt 2.0) PI) (* uy (sqrt 2.0))))
(sqrt
(+
(* (- maxCos 1.0) (* (pow (/ -1.0 ux) -2.0) (+ 1.0 (* -1.0 maxCos))))
(* ux (+ 1.0 (+ (* -1.0 maxCos) (* -1.0 (- maxCos 1.0)))))))))double code(double ux, double uy, double maxCos) {
return sin(((uy * 2.0) * ((double) M_PI))) * sqrt((1.0 - (((1.0 - ux) + (ux * maxCos)) * ((1.0 - ux) + (ux * maxCos)))));
}
↓
double code(double ux, double uy, double maxCos) {
return sin(((sqrt(2.0) * ((double) M_PI)) * (uy * sqrt(2.0)))) * sqrt((((maxCos - 1.0) * (pow((-1.0 / ux), -2.0) * (1.0 + (-1.0 * maxCos)))) + (ux * (1.0 + ((-1.0 * maxCos) + (-1.0 * (maxCos - 1.0)))))));
}
public static double code(double ux, double uy, double maxCos) {
return Math.sin(((uy * 2.0) * Math.PI)) * Math.sqrt((1.0 - (((1.0 - ux) + (ux * maxCos)) * ((1.0 - ux) + (ux * maxCos)))));
}
↓
public static double code(double ux, double uy, double maxCos) {
return Math.sin(((Math.sqrt(2.0) * Math.PI) * (uy * Math.sqrt(2.0)))) * Math.sqrt((((maxCos - 1.0) * (Math.pow((-1.0 / ux), -2.0) * (1.0 + (-1.0 * maxCos)))) + (ux * (1.0 + ((-1.0 * maxCos) + (-1.0 * (maxCos - 1.0)))))));
}
def code(ux, uy, maxCos):
return math.sin(((uy * 2.0) * math.pi)) * math.sqrt((1.0 - (((1.0 - ux) + (ux * maxCos)) * ((1.0 - ux) + (ux * maxCos)))))
↓
def code(ux, uy, maxCos):
return math.sin(((math.sqrt(2.0) * math.pi) * (uy * math.sqrt(2.0)))) * math.sqrt((((maxCos - 1.0) * (math.pow((-1.0 / ux), -2.0) * (1.0 + (-1.0 * maxCos)))) + (ux * (1.0 + ((-1.0 * maxCos) + (-1.0 * (maxCos - 1.0)))))))
function code(ux, uy, maxCos)
return Float64(sin(Float64(Float64(uy * 2.0) * pi)) * sqrt(Float64(1.0 - Float64(Float64(Float64(1.0 - ux) + Float64(ux * maxCos)) * Float64(Float64(1.0 - ux) + Float64(ux * maxCos))))))
end
↓
function code(ux, uy, maxCos)
return Float64(sin(Float64(Float64(sqrt(2.0) * pi) * Float64(uy * sqrt(2.0)))) * sqrt(Float64(Float64(Float64(maxCos - 1.0) * Float64((Float64(-1.0 / ux) ^ -2.0) * Float64(1.0 + Float64(-1.0 * maxCos)))) + Float64(ux * Float64(1.0 + Float64(Float64(-1.0 * maxCos) + Float64(-1.0 * Float64(maxCos - 1.0))))))))
end
function tmp = code(ux, uy, maxCos)
tmp = sin(((uy * 2.0) * pi)) * sqrt((1.0 - (((1.0 - ux) + (ux * maxCos)) * ((1.0 - ux) + (ux * maxCos)))));
end
↓
function tmp = code(ux, uy, maxCos)
tmp = sin(((sqrt(2.0) * pi) * (uy * sqrt(2.0)))) * sqrt((((maxCos - 1.0) * (((-1.0 / ux) ^ -2.0) * (1.0 + (-1.0 * maxCos)))) + (ux * (1.0 + ((-1.0 * maxCos) + (-1.0 * (maxCos - 1.0)))))));
end
code[ux_, uy_, maxCos_] := N[(N[Sin[N[(N[(uy * 2.0), $MachinePrecision] * Pi), $MachinePrecision]], $MachinePrecision] * N[Sqrt[N[(1.0 - N[(N[(N[(1.0 - ux), $MachinePrecision] + N[(ux * maxCos), $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 - ux), $MachinePrecision] + N[(ux * maxCos), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[ux_, uy_, maxCos_] := N[(N[Sin[N[(N[(N[Sqrt[2.0], $MachinePrecision] * Pi), $MachinePrecision] * N[(uy * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[Sqrt[N[(N[(N[(maxCos - 1.0), $MachinePrecision] * N[(N[Power[N[(-1.0 / ux), $MachinePrecision], -2.0], $MachinePrecision] * N[(1.0 + N[(-1.0 * maxCos), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(ux * N[(1.0 + N[(N[(-1.0 * maxCos), $MachinePrecision] + N[(-1.0 * N[(maxCos - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}
↓
\sin \left(\left(\sqrt{2} \cdot \pi\right) \cdot \left(uy \cdot \sqrt{2}\right)\right) \cdot \sqrt{\left(maxCos - 1\right) \cdot \left({\left(\frac{-1}{ux}\right)}^{-2} \cdot \left(1 + -1 \cdot maxCos\right)\right) + ux \cdot \left(1 + \left(-1 \cdot maxCos + -1 \cdot \left(maxCos - 1\right)\right)\right)}