A = (-0.54, -4.6)
B = (13.82, -4.66)
a = Segment(A, B)
C = Point(a)
k, k_a, k_b, M, M_a, M_b = arbelos2(A, B, C)
b = OrthogonalLine(C, a)
f = OrthogonalLine(M_b, a)
D = Intersect(k_b, f, 1)
g = Segment(D, M_a)
E = Intersect(b, g)
h = Circle(M_b, Segment[C, E])
F = Intersect(h, a, 1)
i = OrthogonalLine(F, a)
j = OrthogonalLine(D, f)
G = Intersect(i, j)
k_1 = Segment(G, M_a)
H = Intersect(b, k_1)
p = Circle(C, H)
I = Intersect(p, a, 1)
J = Intersect(p, a, 2)
q = Circle(M_b, I)
r = Circle(M_a, J)
M_i = Intersect(q, r, 2)
s = Circle(M_i, Segment[C, H])

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)

Tool: arbelos
input: two points   output:three semicircles with center for arbelos
Input: A, B
Output: a, C, c, d, e, D, F, E

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