A_1 = (-3.1858, 2.1604)
B_1 = (17.0938, 2.1362)
a = Line(A_1, B_1)
O = Point(a)
b = OrthogonalLine(O, a)
A = Point(a)
B' = Point(a)
c = Circle(O, A)
B = Intersect(c, b, 2.0)
d = Circle(O, B')
A' = Intersect(d, b, 2.0)
e = Segment(B', A')
f = Segment(B, A)
g = Segment(A', O)
h = Segment(B, O)
i = Segment(B, B')
j = Segment(A', A)
C = Midpoint(B', O)
D = Midpoint(O, A)
E = Midpoint(A, A')
F = Midpoint(B, B')
k = Segment(O, F)
l = Segment(B, C)
m = Segment(A', D)
n = Segment(E, O)
G' = Intersect(k, l)
G = Intersect(m, n)
p = Segment(G', G)