Date: 23 Mai 2013

A = (-0.16, -5.7)
B = (18.76, -5.64)
a = Segment(A, B)
C = Point(a)
c, d, e, M, M_a, M_b = arbelos2(A, B, C)
b = OrthogonalLine(C, a)
f = OrthogonalLine(M_b, a)
D = Intersect(e, f, 1)
g = Segment(D, M_a)
E = Intersect(b, g)
h = Circle(C, E)
F, G = Intersect(h, a)
i = Line(F, b)
j = Line(G, b)
k = Circle(M_a, G)
p = Circle(M_b, F)
H = Intersect(k, i, 2)
I = Intersect(p, j, 2)
l = OrthogonalLine(H, b)
m = OrthogonalLine(I, b)
J = Intersect(b, l)
K = Intersect(b, m)
q = Circle(I, K)
r = Circle(H, J)

Tool: arbelos2
input:endpoints, then intermediate point  output: arbelos
Input: A, B, C
Output: e, c, d, D, E, F

a = Segment(A, B)
c = Semicircle(A, C)
d = Semicircle(C, B)
e = Semicircle(A, B)
D = Center(e)
E = Center(c)
F = Center(d)