A = (-4, 4)
B = (-3, 4)
b = Segment(A, B)
C = (-4, 6)
D = (-1, 6)
h = Segment(C, D)
E = (-4, 5)
F = (-2.34, 5)
b' = Segment(E, F)
G = (-1, -2)
H = Point(Circle[G, Segment[A, B]])
a = Segment(G, H)
I = Point(Circle[G, Segment[E, F]])
c = Segment(G, I)
d = OrthogonalLine(G, a)
e = Circle(G, Segment[C, D])
K, L = Intersect(e, d)
f = OrthogonalLine(I, c)
g = OrthogonalLine(L, d)
M = Intersect(f, g)
i = Segment(L, M)
j = Segment(M, I)
k = Segment(I, G)
l = Segment(G, L)
m = Segment(H, L)
n = Line(I, m)
N = Intersect(d, n)
p = Segment(N, G)
q = Line(N, a)
r = Line(H, d)
O = Intersect(r, q)
poli1, n_1, o, h_1, g_1 = Polygon(N, O, H, G)