L = (4.04, -2.74)
M = (5.02, -2.66)
poly2 = F(L, M)
A = (7.94, -0.44)
B = (6.12, -4.02)
poly2' = Mirror(poly2, A)

Tool: F
Input: A, B
Output: poly1

a = Line(A, B)
b = OrthogonalLine(A, a)
c = OrthogonalLine(B, a)
d = Circle(A, B)
C = Intersect(d, b, 2)
A' = Mirror(A, C)
C' = Mirror(C, A')
A'' = Mirror(A', C')
C'' = Mirror(C', A'')
A''' = Mirror(A'', C'')
e = OrthogonalLine(A''', b)
f = OrthogonalLine(C'', b)
g = OrthogonalLine(A'', b)
h = OrthogonalLine(C', b)
D = Intersect(c, e)
E = Mirror(A''', D)
D' = Mirror(D, E)
i = OrthogonalLine(E, e)
j = OrthogonalLine(D', e)
F = Intersect(f, j)
G = Intersect(c, f)
H = Intersect(c, g)
I = Intersect(g, i)
J = Intersect(h, i)
K = Intersect(c, h)
poly1, a_1, a''', d', f_1, g_1, h_1, i_1, j_1, k, b_1 = Polygon(A, A''', D', F, G, H, I, J, K, B)