O = Intersect(xAxis, yAxis)
B = Point(xAxis)
a = Line(O, B)
U = Point(a)
K_v = Semicircle(O, B)
K_L = Semicircle(O, U)
K_D = Semicircle(U, B)
D = Point(a)
K_i = Circle(O, D)
B' = Mirror(B, K_i)
U' = Mirror(U, K_i)
b = OrthogonalLine(B', a)
g = OrthogonalLine(U', a)
h = LineBisector(B', U')
k = Semicircle(B', U')
S'_D = Center(k)
F = Intersect(k, h, 1.0)
S'_1 = Mirror(S'_D, F)
F'_1 = Mirror(F, S'_1)
S'_2 = Mirror(S'_1, F'_1)
F'' = Mirror(F'_1, S'_2)
S'_3 = Mirror(S'_2, F'')
F'''_1 = Mirror(F'', S'_3)
G = Mirror(S'_3, F'''_1)
H = Mirror(F'''_1, G)
G' = Mirror(G, H)
H'_1 = Mirror(H, G')
G'' = Mirror(G', H'_1)
H'' = Mirror(H'_1, G'')
G''' = Mirror(G'', H'')
p = Circle(S'_1, F'_1)
q = Circle(S'_2, F'')
r = Circle(S'_3, F'''_1)
s = Circle(G, H)
t = Circle(G', H'_1)
c_1 = Circle(G'', H'')
H'''_1 = Mirror(H'', G''')
d_1 = Circle(G''', H'''_1)
I = Intersect(p, b, 1.0)
J = Intersect(q, b, 1.0)
K = Intersect(r, b, 1.0)
L = Intersect(s, b, 1.0)
M = Intersect(t, b, 1.0)
N = Intersect(c_1, b, 1.0)
O_1 = Intersect(d_1, b, 1.0)
F' = Mirror(F, K_i)
I' = Mirror(I, K_i)
P = Mirror(F'_1, K_i)
J' = Mirror(J, K_i)
F''' = Mirror(F'', K_i)
K' = Mirror(K, K_i)
Q = Mirror(F'''_1, K_i)
L' = Mirror(L, K_i)
H' = Mirror(H, K_i)
M' = Mirror(M, K_i)
R = Mirror(H'_1, K_i)
N' = Mirror(N, K_i)
H''' = Mirror(H'', K_i)
O' = Mirror(O_1, K_i)
S = Mirror(H'''_1, K_i)
e_1 = Circle(F', P, I')
f_1 = Circle(P, J', F''')
g_1 = Circle(F''', K', Q)
h_2 = Circle(Q, L', H')
k_1 = Circle(H', M', R)
p_1 = Circle(R, N', H''')
q_1 = Circle(H''', O', S)
S_1 = Center(e_1)
S_2 = Center(f_1)
S_3 = Center(g_1)
i = Segment(O, S'_1)
j = Segment(S'_1, S'_D)
l = Segment(S'_D, O)
m = OrthogonalLine(S_1, l)
n = OrthogonalLine(S_1, l)
A_1 = Intersect(n, l)
α = Angle(S_1, A_1, O)
h_1 = Segment(S_1, A_1)
b_1 = Segment(O, S'_D)
i_1 = Segment(S'_1, S'_D)
j_1, l_1 = Tangent(O, p)
T'_1 = Intersect(p, l_1, 1.0)
T_1 = Intersect(e_1, l_1)
r_1 = Segment(S_1, T_1)
R_i = Segment(S'_1, T'_1)
r_2 = Segment(T'_1, O)
β = Angle(O, T'_1, S'_1)
γ = Angle(r_2, r_1)
δ = Angle(S'_1, S'_D, O)
razdaljaA1T = Distance(T_1, S_1)
TekstA1T: "\overline{" + (Name[T_1]) + (Name[S_1]) + "} \, = \, " + razdaljaA1T
B_1 = Intersect(K_L, e_1)
R_1 = Segment(U', S'_D)
S_L = Center(K_L)
S_D = Center(K_D)
R_L = Segment(S_L, U)
R_D = Segment(S_D, D)
c = OrthogonalLine(F, j)
A = Intersect(g, c)
C = Midpoint(F, A)
E = Midpoint(C, A)
d = OrthogonalLine(E, c)
e = Circle(E, A)
T = Intersect(b, c)
V = Midpoint(T, F)
W = Midpoint(V, T)
f = Circle(W, T)
Z = Intersect(f, p)
C_1 = Intersect(e, p)
V' = Mirror(V, K_i)
Z' = Mirror(Z, K_i)
T' = Mirror(T, K_i)
D_1 = Mirror(C_1, K_i)
A' = Mirror(A, K_i)
C' = Mirror(C, K_i)
s_1 = Circle(A', D_1, C')
t_1 = Circle(Z', V', T')
a_1 = OrthogonalLine(F'_1, d)
E_1 = Intersect(a_1, g)
F_1 = Intersect(d, a_1)
c_2 = Circle(F_1, E_1)
m_1 = OrthogonalLine(W, c)
G_1 = Intersect(a_1, m_1)
H_1 = Intersect(b, a_1)
d_2 = Circle(G_1, H_1)
I_1 = Intersect(q, d_2, 1.0)
J_1 = Intersect(q, c_2, 1.0)
K_1 = Mirror(H_1, K_i)
L_1 = Mirror(I_1, K_i)
M_1 = Mirror(T'_1, K_i)
N_1 = Mirror(J_1, K_i)
P_1 = Mirror(E_1, K_i)
Q_1 = Intersect(p, c_2, 1.0)
U_1 = Mirror(Q_1, K_i)
f_2 = Circle(N_1, U_1, P_1)
n_1 = OrthogonalLine(F'', d)
V_1 = Intersect(d, n_1)
W_1 = Intersect(n_1, g)
Z_1 = Intersect(m_1, n_1)
A_2 = Intersect(b, n_1)
g_2 = Circle(V_1, W_1)
k_2 = Circle(Z_1, A_2)
B_2 = Intersect(r, k_2, 1.0)
C_2 = Intersect(q, k_2, 1.0)
D_2 = Intersect(r, g_2, 1.0)
E_2 = Intersect(q, g_2, 1.0)
F_2 = Mirror(A_2, K_i)
G_2 = Mirror(B_2, K_i)
H_2 = Mirror(C_2, K_i)
I_2 = Mirror(D_2, K_i)
J_2 = Mirror(W_1, K_i)
K_2 = Mirror(E_2, K_i)
p_2 = Circle(F_2, H_2, G_2)
q_2 = Circle(I_2, K_2, J_2)
L_2 = Intersect(p, d_2, 1.0)
M_2 = Intersect(q, d_2, 1.0)
N_2 = Intersect(d_2, b, 1.0)
O_2 = Mirror(N_2, K_i)
P_2 = Mirror(M_2, K_i)
Q_2 = Mirror(L_2, K_i)
e_2 = Circle(O_2, P_2, Q_2)
R_2, T_2 = Intersect(r, h)
a_2 = OrthogonalLine(R_2, d)
U_2 = Intersect(g, a_2)
V_2 = Intersect(b, a_2)
b_2 = OrthogonalLine(U_2, b)
W_2 = Intersect(d, a_2)
Z_2 = Intersect(m_1, a_2)
s_2 = Circle(W_2, U_2)
t_2 = Circle(Z_2, V_2)
A_3 = Intersect(s, t_2, 1.0)
B_3 = Intersect(r, t_2, 1.0)
C_3 = Intersect(s, s_2, 1.0)
D_3 = Intersect(r, s_2, 1.0)
E_3 = Mirror(B_3, K_i)
F_3 = Mirror(V_2, K_i)
G_3 = Mirror(A_3, K_i)
H_3 = Mirror(D_3, K_i)
I_3 = Mirror(C_3, K_i)
J_3 = Mirror(U_2, K_i)
c_3 = Circle(I_3, H_3, J_3)
d_3 = Circle(F_3, G_3, E_3)
K_3 = Intersect(s, t, 1.0)
i_2 = OrthogonalLine(K_3, d)
L_3 = Intersect(d, i_2)
M_3 = Intersect(g, i_2)
e_3 = Circle(L_3, M_3)
N_3 = Intersect(t, e_3, 1.0)
O_3 = Intersect(s, e_3, 1.0)
P_3 = Intersect(b, i_2)
Q_3 = Intersect(m_1, i_2)
f_3 = Circle(Q_3, P_3)
R_3 = Intersect(t, f_3, 1.0)
T_3 = Intersect(s, f_3, 1.0)
U_3 = Mirror(R_3, K_i)
V_3 = Mirror(P_3, K_i)
W_3 = Mirror(T_3, K_i)
Z_3 = Mirror(O_3, K_i)
A_4 = Mirror(N_3, K_i)
B_4 = Mirror(M_3, K_i)
g_3 = Circle(V_3, U_3, W_3)
h_3 = Circle(A_4, Z_3, B_4)
C_4, D_4 = Intersect(t, h)
j_2 = OrthogonalLine(C_4, d)
E_4 = Intersect(d, j_2)
F_4 = Intersect(g, j_2)
G_4 = Intersect(m_1, j_2)
H_4 = Intersect(b, j_2)
k_3 = Circle(E_4, F_4)
p_3 = Circle(G_4, H_4)
I_4 = Intersect(c_1, k_3, 1.0)
J_4 = Intersect(t, k_3, 1.0)
K_4 = Intersect(t, p_3, 1.0)
L_4 = Intersect(c_1, p_3, 1.0)
M_4 = Mirror(H_4, K_i)
N_4 = Mirror(L_4, K_i)
O_4 = Mirror(K_4, K_i)
P_4 = Mirror(J_4, K_i)
Q_4 = Mirror(F_4, K_i)
R_4 = Mirror(I_4, K_i)
q_3 = Circle(M_4, O_4, N_4)
r_3 = Circle(P_4, R_4, Q_4)
S_4, T_4 = Intersect(c_1, h)
l_2 = OrthogonalLine(S_4, d)
U_4 = Intersect(d, l_2)
V_4 = Intersect(g, l_2)
W_4 = Intersect(m_1, l_2)
Z_4 = Intersect(b, l_2)
s_3 = Circle(U_4, V_4)
t_3 = Circle(W_4, Z_4)
A_5 = Intersect(d_1, s_3)
B_5 = Intersect(d_1, t_3)
C_5 = Intersect(t_3, c_1)
D_5 = Intersect(c_1, s_3, 1.0)
E_5 = Mirror(Z_4, K_i)
F_5 = Mirror(C_5, K_i)
G_5 = Mirror(B_5, K_i)
H_5 = Mirror(A_5, K_i)
c_4 = Circle(F_5, E_5, G_5)
I_5 = Intersect(d_1, s_3, 1.0)
J_5 = Intersect(s_3, g, 1.0)
K_5 = Intersect(c_1, s_3, 1.0)
L_5 = Mirror(K_5, K_i)
M_5 = Mirror(I_5, K_i)
N_5 = Mirror(J_5, K_i)
d_4 = Circle(L_5, M_5, N_5)
m_2 = Ray(U', A)
O_5 = Intersect(f, b, 1.0)
n_2 = Ray(B', O_5)
a_3 = Segment(F, E)
b_3 = Segment(E, A)
i_3 = Segment(E, S'_D)
j_3 = Segment(F, S'_D)