A = (2.048087070980441, -8.167925132242587)
B = (6.265993160290318, -8.22379143806126)
R = Segment(A, B)
C = (2.0201539180711037, -9.396983860253412)
D = (4.6738034444581125, -9.452850166072086)
r = Segment(C, D)
O = (7.243653512117111, -0.5142412350842663)
c = Circle(O, R)
O' = (14.981136868003441, -1.0170379874523312)
d = Circle(O', r)
xR: x(O)
yR: y(O)
xr: x(O')
yr: y(O')
e = Distance(r, R)
k: (R + r) / (R - r)
X0: (xR + xr) / 2.0 + k * (xr - xR) / 2.0
Y0: (yR + yr) / 2.0 + k * (yr - yR) / 2.0
P: (X0, Y0)
E = Midpoint(O', P)
F = Midpoint(O, P)
f = Circle(E, P)
G = Intersect(d, f, 1.0)
H = Intersect(d, f, 2.0)
g = Circle(F, P)
I = Intersect(c, g, 1.0)
J = Intersect(c, g, 2.0)
a = Line(I, G)
b = Line(J, H)
h = Segment(O, I)
i = Segment(O, J)
j = Segment(O', G)
l = Segment(O', H)
m = Segment(O, O')