A = (-1.54, 3.78)
B = (3.66, 3.82)
f = Segment(A, B)
C = Midpoint(f)
g = OrthogonalLine(B, f)
c = Circle(B, C)
D = Intersect(c, g, 1)
h = OrthogonalLine(D, g)
i = OrthogonalLine(A, f)
E = Intersect(h, i)
j = Segment(B, D)
k = Segment(A, E)
l = Segment(E, D)
d = Circle(C, B)
m = Segment(C, D)
e = Circle(D, (m * (sqrt(2) - 1) / (sqrt(2) + 1)))
F = Intersect(e, m, 1)
G = Intersect(d, m, 1)
p = Circle(F, G)