A = (-0.1581814539423706, 2.385507946399898)
B = (-0.1581814539423706, 3.1197867604580285)
AB = Segment(A, B)
b = OrthogonalLine(B, AB)
C = Point(b)
c = OrthogonalLine(C, b)
d = OrthogonalLine(A, AB)
D = Intersect(c, d)
I = Midpoint(B, D)
BC = Segment(B, C)
AD = Segment(A, D)
CD = Segment(C, D)
E = Point(BC)
a = OrthogonalLine(E, BC)
e = Circle(E, C)
K = Intersect(e, a, 1)
u = Vector(E, K)
G = Translate(A, u)
f = OrthogonalLine(G, AB)
g = Segment(A, G)
F = Intersect(a, f)
h = Segment(E, F)
i = Segment(F, G)