O = Intersect(xAxis, yAxis)
A = Point(xAxis)
B = Mirror(A, O)
c = Circle(O, A)
ab: y = 0
M = Point(c)
ay = OrthogonalLine(A, ab)
by = OrthogonalLine(B, ab)
R = Intersect(ay, Line[O, M])
OR = Segment(O, R)
t = OrthogonalLine(M, OR)
I = Intersect(ab, t)
U = Intersect(ay, t)
V = Intersect(by, t)
my = OrthogonalLine(M, ab)
am = Line(A, M)
bm = Line(B, M)
Q = Intersect(ay, bm)
P = Intersect(by, am)
pq = Line(Q, P)
N = Intersect(my, pq)
H = Intersect(ab, my)
AB = Segment(A, B)
Y: O + (0, AB)
Y' = Mirror(Y, O)
F = Rotate(B, 60°, A)
F' = Mirror(F, O)
d = Ellipse(F, F', A)
f = Segment(F, A)
g = Segment(F, B)
e = Circle(O, Y)