O = Intersect(a, b)
P = (-1.28, 1.94)
Q = (2.82, 1.04)
c = Line(P, Q)
I = Intersect(a, c)
d = OrthogonalLine(P, a)
e = OrthogonalLine(Q, a)
U = Intersect(a, d)
V = Intersect(a, e)
H = Midpoint(U, V)
A_1 = Midpoint(O, I)
f = Circle(A_1, O)
g = OrthogonalLine(H, a)
M = Intersect(f, g, 2)
h = Line(I, M)
P' = Intersect(d, h)
Q' = Intersect(e, h)
k = Circle(O, P')
i = Segment(M, O)
A = Intersect(k, b, 1)
j = Line(A, Q')
J = Intersect(a, j)
l = Line(J, Q)
B = Intersect(l, b)
m = OrthogonalLine(B, b)
C, D = Intersect(k, m)
n = OrthogonalLine(C, a)
F = Intersect(a, n)
F' = Mirror(F, O)
p = Ellipse(F, F', B)