A = Intersect(yAxis, xAxis)
B = Point(xAxis)
c = Circle(A, B)
z_2 = Point(c)
D = Point(xAxis)
d = Circle(A, D)
z_1 = Point(d)
a = Segment(A, z_2)
b = Segment(A, z_1)
e = Line(A, D)
e'_1 = Mirror(e, b)
f = Circle(A, 1.0)
F = Intersect(f, b)
g = Circle(A, z_1)
G, H = Intersect(g, e'_1)
h = Segment(F, H)
i = Line(z_1, h)
z_3 = Intersect(i, e'_1)
e' = Mirror(e, a)
j = Segment(A, z_3)
k = Circle(A, z_2)
C, E = Intersect(k, e')
p = Circle(A, 1.0)
I = Intersect(p, a)
l = Segment(I, E)
m = Line(z_2, l)
z_4 = Intersect(m, e')
n = Segment(A, z_4)
u = Vector(A, z_4)
J = Translate(z_3, u)
q = Segment(A, J)
A' = Mirror(A, A)
J' = Mirror(J, A)
q' = Segment(A', J')
r = AngularBisector(D, A', J')
s = Circle(A', 1.0)
K = Intersect(s, q')
L = Midpoint(K, J)
t = Semicircle(K, J)
a_1 = OrthogonalLine(A', q')
M = Intersect(t, a_1)
c_1 = Circle(A', M)
z_5, O = Intersect(c_1, r)
b_1 = Segment(A', z_5)
v = Vector(A', z_1)
w = Vector(A', z_2)
z = Vector(A', z_5)
N = Translate(z_1, w)
P = Translate(z_1, z)
P' = Translate(P, w)
Q = Translate(z_2, z)
d_1 = Segment(z_5, A')
e_1 = Segment(A', z_1)
f_1 = Segment(z_1, P)
g_1 = Segment(P, z_5)
h_1 = Segment(z_5, Q)
i_1 = Segment(Q, P')
j_1 = Segment(P', P)
k_1 = Segment(z_1, N)
l_1 = Segment(N, z_2)
m_1 = Segment(z_2, A')
n_1 = Segment(P', N)
p_1 = Segment(z_2, Q)
R = Midpoint(m_1)
S = Midpoint(e_1)
T = Midpoint(d_1)
q_1 = Segment(T, R)
r_1 = Segment(S, R)
s_1 = Segment(T, S)
t_1 = Segment(T, P')
a_2 = Segment(R, P')
b_2 = Segment(P', S)
U = Midpoint(S, z_1)
U' = Mirror(U, A')
V = Midpoint(R, z_2)
V' = Mirror(V, A')
N' = Mirror(N, A')
c_2 = Conic(N', V', U', S, R)
d_2 = Ray(N, A')
e_2 = Segment(U', A')
f_2 = Segment(A', V')
W, Z = Intersect(c_2, d_2)
A_1 = Midpoint(W, Z)
g_2 = Segment(z_2, z_1)
h_2 = Line(A_1, g_2)
B_1, C_1 = Intersect(c_2, h_2)
i_2 = Segment(C_1, B_1)
j_2 = Segment(W, N)