O = (0.84, 3.84)
B = (-0.9280047916606683, 2.9463156314491137)
c = Circle(O, B)
C = Point(c)
f = Segment(B, C)
M = Midpoint(f)
O' = Mirror(O, f)
d = Circle(O', Distance[B, O] - (2 * Distance[O, M]^(2) / Distance[B, O]))
N = Intersect(d, f, 2)
c' = Mirror(c, f)
g = Line(O', N)
H = Intersect(c', g, 2)
h = OrthogonalLine(H, f)
A = Intersect(c, h, 2)
i = Segment(B, A)
j = Segment(A, C)
k = Line(A, M)
K = Intersect(c', k, 2)
l = Segment(K, H)
m = Segment(N, A)
n = Segment(A, K)
p = Segment(O, H)