A = Intersect(xAxis, yAxis)
c = Circle(A, 1)
B = (-2.5896823902299477, 1.589933355107107)
f = Line(B, xAxis)
M = Point(f)
N = Point(f)
M' = Point(f)
N' = Point(f)
M'' = Point(f)
PM: M
PM': M'
PN: N
PN': N'
PM'': M''
S = Point(c)
PS: S
g = Line(S, M)
h = Line(S, N)
i = Line(S, M')
j = Line(S, N')
k = Line(S, M'')
l = OrthogonalLine(A, g)
m_{1} = OrthogonalLine(A, h)
n_{1} = OrthogonalLine(A, i)
p = OrthogonalLine(A, k)
q = OrthogonalLine(A, j)
m = Mirror(S, l)
n = Mirror(S, m_{1})
m' = Mirror(S, n_{1})
m'' = Mirror(S, p)
n' = Mirror(S, q)
r = Line(m, n)
s = Line(n', m')
Q = Intersect(r, s)
t = Line(m', n)
a = Line(m, n')
J = Intersect(t, a)
b = Line(m, m')
d = Line(n, n')
I = Intersect(b, d)
e = Line(J, I)
u, v = Intersect(c, e)
f_1 = Line(S, u)
U = Intersect(f, f_1)
g_1 = Line(S, v)
V = Intersect(f, g_1)
h_1 = Line(m'', Q)
i_1 = OrthogonalLine(A, h_1)
n'' = Mirror(m'', i_1)
j_1 = Line(S, n'')
N'' = Intersect(f, j_1)
PU: U
PV: V
Pu: u
Pv: v
PN'': N''
PQ: Q