a

a

a

b

b

b

c

c

c

d

d

d

(a + b)

c
+
d

( a + b) ( c+ d)

ad

ac

bc

bd

( a + b) ( c + d)           =         ac + ad  + bc + bd

A = (-3.1999999999999993, 5.38)
b = Ray(A, A - (0.0, 1.0))
G = Point(b)
a = Line(A, xAxis)
B = Point(a)
c = Line(B, yAxis)
C = Point(a)
d = Line(C, c)
D = Point(Segment[A, G])
e = Line(D, a)
E = Intersect(c, e)
F = Intersect(d, e)
E1 = Midpoint(F, C)
i1 = Line(E1, a)
f = Line(G, e)
I = Intersect(f, d)
K = Midpoint(I, C)
J = Midpoint(G, A)
j = Line(J, K)
k = Segment(G, A)
c1 = Circle(K, 3.0 * k / 15.0)
L, M = Intersect(c1, j)
l = Line(M, d)
Z = Mirror(K, M)
u = Vector(D, Z)
E' = Translate(E, u)
f1 = Circle(E', 1.3 * k / 5.0)
B1, C1 = Intersect(f1, j)
g1 = Line(C1, l)
G1 = Intersect(i1, g1)
e1 = Line(Z, l)
F1 = Intersect(e1, i1)
H = Intersect(f, c)
poly1, d_1, e_1, b_1, a_1 = Polygon(D, E, B, A)
poly2, d_2, g, h, e_2 = Polygon(D, G, H, E)
poly3, h_1, i, f_1, e_3 = Polygon(H, I, F, E)
poly4, e_4, b_2, c_1, f_2 = Polygon(E, B, C, F)
p = Circle(G, k / 15.0)
q = Circle(A, k / 15.0)
r = Circle(D, k / 15.0)
s = Circle(B, k / 15.0)
t = Circle(C, k / 15.0)
d1 = Circle(M, k / 15.0)
N, O = Intersect(d1, l)
P = Midpoint(N, M)
Q = Midpoint(M, O)
m = Line(P, j)
n = Line(Q, j)
R = Intersect(m, n)
S, T = Intersect(d1, n)
U, V = Intersect(d1, m)
a1 = Segment(U, V)
b1 = Segment(S, T)
W = Mirror(J, J)
D' = Translate(D, u)
G' = Translate(G, u)
H' = Translate(H, u)
poly2', d', g', h', e' = Polygon(D', G', H', E')
A1 = Intersect(e, e1)
v = Vector(D, F1)
D'_1 = Translate(D, v)
E'_1 = Translate(E, v)
B' = Translate(B, v)
A' = Translate(A, v)
poly1', d'_1, e'_1, b', a' = Polygon(D'_1, E'_1, B', A')
w = Vector(E, C1)
H'_1 = Translate(H, w)
I' = Translate(I, w)
F' = Translate(F, w)
E'_2 = Translate(E, w)
poly3', h'_1, i', f', e'_2 = Polygon(H'_1, I', F', E'_2)
D1 = Intersect(g1, e)
z = Vector(E, G1)
E'_3 = Translate(E, z)
B'_1 = Translate(B, z)
C' = Translate(C, z)
F'_1 = Translate(F, z)
poly4', e'_3, b'_1, c', f'_1 = Polygon(E'_3, B'_1, C', F'_1)
h1 = Circle(F1, k / 15.0)
k1 = Circle(E'_1, k / 15.0)
p1 = Circle(Z, k / 15.0)
q1 = Circle(E', k / 15.0)
r1 = Circle(C1, k / 15.0)
s1 = Circle(F', k / 15.0)
t1 = Circle(G1, k / 15.0)
c2 = Circle(F'_1, k / 15.0)
d2 = Circle(H', k / 15.0)
e2 = Circle(H'_1, k / 15.0)
f2 = Circle(B', k / 15.0)
g2 = Circle(B'_1, k / 15.0)
j1 = Line(E', e1)
l1 = Line(F', l)
m1 = Line(B', a)
n1 = Line(H', f)
H1, I1 = Intersect(p, f)
J1, K1 = Intersect(r, e)
L1, M1 = Intersect(q, a)
N1, O1 = Intersect(q, b)
P1, Q1 = Intersect(s, c)
R1, S1 = Intersect(t, d)
T1 = Midpoint(H1, J1)
U1 = Midpoint(J1, L1)
V1 = Midpoint(O1, Q1)
W1 = Midpoint(Q1, S1)
Z1, A2 = Intersect(h1, e1)
B2, C2 = Intersect(k1, j1)
D2, E2 = Intersect(f2, m1)
F2, G2 = Intersect(g2, m1)
H2, I2 = Intersect(t1, i1)
J2, K2 = Intersect(c2, l1)
L2, M2 = Intersect(s1, l1)
N2, O2 = Intersect(r1, g1)
P2, Q2 = Intersect(t1, g1)
R2, S2 = Intersect(e2, n1)
T2, U2 = Intersect(d2, n1)
V2, W2 = Intersect(p1, e1)
Z2, A3 = Intersect(q1, j1)
B3, C3 = Intersect(q1, j)
D3, E3 = Intersect(r1, j)
u1 = Vector(T1, H1)
v1 = Vector(T1, J1)
w1 = Vector(U1, J1)
z1 = Vector(U1, L1)
u2 = Vector(V1, Q1)
v2 = Vector(V1, O1)
w2 = Vector(W1, S1)
z2 = Vector(W1, Q1)
F3 = Midpoint(U2, C3)
G3 = Midpoint(R2, D3)
H3 = Midpoint(B2, Z1)
I3 = Midpoint(W2, A3)
J3 = Midpoint(O2, M2)
K3 = Midpoint(P2, J2)
L3 = Midpoint(H2, F2)
M3, N3 = Intersect(k1, i1)
O3 = Midpoint(N3, E2)
a2 = Vector(F3, U2)
b2 = Vector(G3, R2)
h2 = Vector(F3, C3)
i2 = Vector(G3, D3)
j2 = Vector(J3, M2)
k2 = Vector(J3, O2)
l2 = Vector(K3, J2)
m2 = Vector(K3, P2)
n2 = Vector(H3, B2)
p2 = Vector(H3, Z1)
q2 = Vector(O3, N3)
r2 = Vector(O3, E2)
s2 = Vector(L3, H2)
t2 = Vector(L3, F2)
u3 = Vector(I3, A3)
v3 = Vector(I3, W2)
c3 = Circle(I, k / 15.0)
P3 = Center(c3)
Q3 = Center(p)
R3, S3 = Intersect(p, b)
U3, V3 = Intersect(c3, f)
W3, Z3 = Intersect(c3, d)
A4, B4 = Intersect(t, a)
C4 = Midpoint(R3, W3)
D4 = Midpoint(V3, B4)
w3 = Vector(C4, W3)
z3 = Vector(C4, R3)
a3 = Vector(D4, V3)
b3 = Vector(D4, B4)
E4 = Midpoint(I, A)
F4 = Midpoint(H', Z)
G4 = Midpoint(B2, A')
H4 = Midpoint(L3, O3)
I4 = Midpoint(I3, H3)
J4 = Midpoint(F3, G3)
K4 = Midpoint(J3, K3)
L4 = Midpoint(F'_1, B'_1)
M4 = Midpoint(I', C1)