\[\left(\left(\left(2.328306437 \cdot 10^{-10} \leq u0 \land u0 \leq 1\right) \land \left(2.328306437 \cdot 10^{-10} \leq u1 \land u1 \leq 0.5\right)\right) \land \left(0.0001 \leq alphax \land alphax \leq 1\right)\right) \land \left(0.0001 \leq alphay \land alphay \leq 1\right)\]
\[\frac{1}{\sqrt{1 + \frac{\frac{1}{\frac{\cos \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right) \cdot \cos \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right)}{alphax \cdot alphax} + \frac{\sin \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right) \cdot \sin \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right)}{alphay \cdot alphay}} \cdot u0}{1 - u0}}}
\]
↓
\[\begin{array}{l}
t_0 := \tan^{-1} \left(\frac{-\frac{alphay}{alphax}}{\tan \left(\left(\pi + \pi\right) \cdot u1\right)}\right)\\
t_1 := 1 + \frac{\frac{u0}{1 - u0}}{{\left(\frac{\cos t_0}{alphax}\right)}^{2} + {\left(\frac{\sin t_0}{alphay}\right)}^{2}}\\
\mathbf{if}\;t_1 \ne 0:\\
\;\;\;\;{t_1}^{-0.5}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
(FPCore (u0 u1 alphax alphay)
:precision binary64
(/
1.0
(sqrt
(+
1.0
(/
(*
(/
1.0
(+
(/
(*
(cos
(atan (* (/ alphay alphax) (tan (+ (* (* 2.0 PI) u1) (* 0.5 PI))))))
(cos
(atan
(* (/ alphay alphax) (tan (+ (* (* 2.0 PI) u1) (* 0.5 PI)))))))
(* alphax alphax))
(/
(*
(sin
(atan (* (/ alphay alphax) (tan (+ (* (* 2.0 PI) u1) (* 0.5 PI))))))
(sin
(atan
(* (/ alphay alphax) (tan (+ (* (* 2.0 PI) u1) (* 0.5 PI)))))))
(* alphay alphay))))
u0)
(- 1.0 u0))))))↓
(FPCore (u0 u1 alphax alphay)
:precision binary64
(let* ((t_0 (atan (/ (- (/ alphay alphax)) (tan (* (+ PI PI) u1)))))
(t_1
(+
1.0
(/
(/ u0 (- 1.0 u0))
(+
(pow (/ (cos t_0) alphax) 2.0)
(pow (/ (sin t_0) alphay) 2.0))))))
(if (!= t_1 0.0) (pow t_1 -0.5) 1.0)))double code(double u0, double u1, double alphax, double alphay) {
return 1.0 / sqrt((1.0 + (((1.0 / (((cos(atan(((alphay / alphax) * tan((((2.0 * ((double) M_PI)) * u1) + (0.5 * ((double) M_PI))))))) * cos(atan(((alphay / alphax) * tan((((2.0 * ((double) M_PI)) * u1) + (0.5 * ((double) M_PI)))))))) / (alphax * alphax)) + ((sin(atan(((alphay / alphax) * tan((((2.0 * ((double) M_PI)) * u1) + (0.5 * ((double) M_PI))))))) * sin(atan(((alphay / alphax) * tan((((2.0 * ((double) M_PI)) * u1) + (0.5 * ((double) M_PI)))))))) / (alphay * alphay)))) * u0) / (1.0 - u0))));
}
↓
double code(double u0, double u1, double alphax, double alphay) {
double t_0 = atan((-(alphay / alphax) / tan(((((double) M_PI) + ((double) M_PI)) * u1))));
double t_1 = 1.0 + ((u0 / (1.0 - u0)) / (pow((cos(t_0) / alphax), 2.0) + pow((sin(t_0) / alphay), 2.0)));
double tmp;
if (t_1 != 0.0) {
tmp = pow(t_1, -0.5);
} else {
tmp = 1.0;
}
return tmp;
}
public static double code(double u0, double u1, double alphax, double alphay) {
return 1.0 / Math.sqrt((1.0 + (((1.0 / (((Math.cos(Math.atan(((alphay / alphax) * Math.tan((((2.0 * Math.PI) * u1) + (0.5 * Math.PI)))))) * Math.cos(Math.atan(((alphay / alphax) * Math.tan((((2.0 * Math.PI) * u1) + (0.5 * Math.PI))))))) / (alphax * alphax)) + ((Math.sin(Math.atan(((alphay / alphax) * Math.tan((((2.0 * Math.PI) * u1) + (0.5 * Math.PI)))))) * Math.sin(Math.atan(((alphay / alphax) * Math.tan((((2.0 * Math.PI) * u1) + (0.5 * Math.PI))))))) / (alphay * alphay)))) * u0) / (1.0 - u0))));
}
↓
public static double code(double u0, double u1, double alphax, double alphay) {
double t_0 = Math.atan((-(alphay / alphax) / Math.tan(((Math.PI + Math.PI) * u1))));
double t_1 = 1.0 + ((u0 / (1.0 - u0)) / (Math.pow((Math.cos(t_0) / alphax), 2.0) + Math.pow((Math.sin(t_0) / alphay), 2.0)));
double tmp;
if (t_1 != 0.0) {
tmp = Math.pow(t_1, -0.5);
} else {
tmp = 1.0;
}
return tmp;
}
def code(u0, u1, alphax, alphay):
return 1.0 / math.sqrt((1.0 + (((1.0 / (((math.cos(math.atan(((alphay / alphax) * math.tan((((2.0 * math.pi) * u1) + (0.5 * math.pi)))))) * math.cos(math.atan(((alphay / alphax) * math.tan((((2.0 * math.pi) * u1) + (0.5 * math.pi))))))) / (alphax * alphax)) + ((math.sin(math.atan(((alphay / alphax) * math.tan((((2.0 * math.pi) * u1) + (0.5 * math.pi)))))) * math.sin(math.atan(((alphay / alphax) * math.tan((((2.0 * math.pi) * u1) + (0.5 * math.pi))))))) / (alphay * alphay)))) * u0) / (1.0 - u0))))
↓
def code(u0, u1, alphax, alphay):
t_0 = math.atan((-(alphay / alphax) / math.tan(((math.pi + math.pi) * u1))))
t_1 = 1.0 + ((u0 / (1.0 - u0)) / (math.pow((math.cos(t_0) / alphax), 2.0) + math.pow((math.sin(t_0) / alphay), 2.0)))
tmp = 0
if t_1 != 0.0:
tmp = math.pow(t_1, -0.5)
else:
tmp = 1.0
return tmp
function code(u0, u1, alphax, alphay)
return Float64(1.0 / sqrt(Float64(1.0 + Float64(Float64(Float64(1.0 / Float64(Float64(Float64(cos(atan(Float64(Float64(alphay / alphax) * tan(Float64(Float64(Float64(2.0 * pi) * u1) + Float64(0.5 * pi)))))) * cos(atan(Float64(Float64(alphay / alphax) * tan(Float64(Float64(Float64(2.0 * pi) * u1) + Float64(0.5 * pi))))))) / Float64(alphax * alphax)) + Float64(Float64(sin(atan(Float64(Float64(alphay / alphax) * tan(Float64(Float64(Float64(2.0 * pi) * u1) + Float64(0.5 * pi)))))) * sin(atan(Float64(Float64(alphay / alphax) * tan(Float64(Float64(Float64(2.0 * pi) * u1) + Float64(0.5 * pi))))))) / Float64(alphay * alphay)))) * u0) / Float64(1.0 - u0)))))
end
↓
function code(u0, u1, alphax, alphay)
t_0 = atan(Float64(Float64(-Float64(alphay / alphax)) / tan(Float64(Float64(pi + pi) * u1))))
t_1 = Float64(1.0 + Float64(Float64(u0 / Float64(1.0 - u0)) / Float64((Float64(cos(t_0) / alphax) ^ 2.0) + (Float64(sin(t_0) / alphay) ^ 2.0))))
tmp = 0.0
if (t_1 != 0.0)
tmp = t_1 ^ -0.5;
else
tmp = 1.0;
end
return tmp
end
function tmp = code(u0, u1, alphax, alphay)
tmp = 1.0 / sqrt((1.0 + (((1.0 / (((cos(atan(((alphay / alphax) * tan((((2.0 * pi) * u1) + (0.5 * pi)))))) * cos(atan(((alphay / alphax) * tan((((2.0 * pi) * u1) + (0.5 * pi))))))) / (alphax * alphax)) + ((sin(atan(((alphay / alphax) * tan((((2.0 * pi) * u1) + (0.5 * pi)))))) * sin(atan(((alphay / alphax) * tan((((2.0 * pi) * u1) + (0.5 * pi))))))) / (alphay * alphay)))) * u0) / (1.0 - u0))));
end
↓
function tmp_2 = code(u0, u1, alphax, alphay)
t_0 = atan((-(alphay / alphax) / tan(((pi + pi) * u1))));
t_1 = 1.0 + ((u0 / (1.0 - u0)) / (((cos(t_0) / alphax) ^ 2.0) + ((sin(t_0) / alphay) ^ 2.0)));
tmp = 0.0;
if (t_1 ~= 0.0)
tmp = t_1 ^ -0.5;
else
tmp = 1.0;
end
tmp_2 = tmp;
end
code[u0_, u1_, alphax_, alphay_] := N[(1.0 / N[Sqrt[N[(1.0 + N[(N[(N[(1.0 / N[(N[(N[(N[Cos[N[ArcTan[N[(N[(alphay / alphax), $MachinePrecision] * N[Tan[N[(N[(N[(2.0 * Pi), $MachinePrecision] * u1), $MachinePrecision] + N[(0.5 * Pi), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision] * N[Cos[N[ArcTan[N[(N[(alphay / alphax), $MachinePrecision] * N[Tan[N[(N[(N[(2.0 * Pi), $MachinePrecision] * u1), $MachinePrecision] + N[(0.5 * Pi), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(alphax * alphax), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Sin[N[ArcTan[N[(N[(alphay / alphax), $MachinePrecision] * N[Tan[N[(N[(N[(2.0 * Pi), $MachinePrecision] * u1), $MachinePrecision] + N[(0.5 * Pi), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision] * N[Sin[N[ArcTan[N[(N[(alphay / alphax), $MachinePrecision] * N[Tan[N[(N[(N[(2.0 * Pi), $MachinePrecision] * u1), $MachinePrecision] + N[(0.5 * Pi), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(alphay * alphay), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * u0), $MachinePrecision] / N[(1.0 - u0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[u0_, u1_, alphax_, alphay_] := Block[{t$95$0 = N[ArcTan[N[((-N[(alphay / alphax), $MachinePrecision]) / N[Tan[N[(N[(Pi + Pi), $MachinePrecision] * u1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(1.0 + N[(N[(u0 / N[(1.0 - u0), $MachinePrecision]), $MachinePrecision] / N[(N[Power[N[(N[Cos[t$95$0], $MachinePrecision] / alphax), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(N[Sin[t$95$0], $MachinePrecision] / alphay), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Unequal[t$95$1, 0.0], N[Power[t$95$1, -0.5], $MachinePrecision], 1.0]]]
\frac{1}{\sqrt{1 + \frac{\frac{1}{\frac{\cos \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right) \cdot \cos \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right)}{alphax \cdot alphax} + \frac{\sin \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right) \cdot \sin \tan^{-1} \left(\frac{alphay}{alphax} \cdot \tan \left(\left(2 \cdot \pi\right) \cdot u1 + 0.5 \cdot \pi\right)\right)}{alphay \cdot alphay}} \cdot u0}{1 - u0}}}
↓
\begin{array}{l}
t_0 := \tan^{-1} \left(\frac{-\frac{alphay}{alphax}}{\tan \left(\left(\pi + \pi\right) \cdot u1\right)}\right)\\
t_1 := 1 + \frac{\frac{u0}{1 - u0}}{{\left(\frac{\cos t_0}{alphax}\right)}^{2} + {\left(\frac{\sin t_0}{alphay}\right)}^{2}}\\
\mathbf{if}\;t_1 \ne 0:\\
\;\;\;\;{t_1}^{-0.5}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}