A = (-4, 5)
B = (0, 5)
a = Segment(A, B)
C = (-4, 4)
D = (-3, 4)
b = Segment(C, D)
E = (-2, -1)
F = (8, -1)
c = Line(E, F)
d = Circle(E, Segment[A, B])
G, H = Intersect(d, c)
I = Intersect(d, c, 2.0)
e = Circle(I, Segment[C, D])
J, K = Intersect(e, c)
L = Midpoint(E, K)
f = Semicircle(E, K)
g = OrthogonalLine(I, c)
M = Intersect(f, g)
h = Segment(E, M)
i = Segment(M, K)
j = Segment(E, I)
k = Segment(I, K)
l = Segment(M, I)