C = Point(xAxis)
D = Point(xAxis)
A = Rotate(D, 90°, Midpoint[C, D])
D' = Mirror(D, A)
C' = Mirror(C, A)
f = Segment(D, C')
g = Segment(C', D')
h = Segment(D', C)
i = Segment(A, C)
j = Segment(A, D)
k = Segment(A, C')
l = Segment(A, D')
E_{1} = Midpoint(C, D)
F = Midpoint(C, D')
l1 = Sequence(Rotate[D, (k * 9°), E_{1}], k, 0, 9)
l2 = Sequence(Rotate[A, (k * 9°), F], k, 0, 10)
poly2 = Polygon(Append[Join[{l1, l2}], C])
e = CircleArc(F, A, D')
p = CircleArc(E_{1}, D, A)
B = PointIn(poly2)
E = Rotate(B, 90°, A)
poly1, a, b, c, d, e_1 = Polygon(A, B, C, D, E)
B' = Mirror(B, A)
E' = Mirror(E, A)
m = Segment(A, E')
n = Segment(E', D')
q = Segment(A, B')
r = Segment(B', C')