A = (-0.54, -4.6)
B = (13.847226131471224, -4.592265044230113)
a = Segment(A, B)
C = Point(a)
k, k_a, k_b, M, M_a, M_b = arbelos2(A, B, C)
f = Circle(A, B)
b = OrthogonalLine(C, a)
S = Intersect(f, b, 2)
D = Intersect(k, b, 1)
g = Segment(S, A)
h = OrthogonalLine(S, g)
i_1 = Ray(A, B)
C' = Intersect(h, i_1)
k'_b = Semicircle(B, C')
k' = OrthogonalLine(B, a)
k'_a = OrthogonalLine(C', i_1)
F = Midpoint(B, C')
j = OrthogonalLine(F, i_1)
G = Intersect(k'_b, j, 1)
p = Circle(G, F)
H = Intersect(p, j, 2)
i' = Circle(H, G)
I = Intersect(i', k', 1)
J = Intersect(i', k'_a, 1)
m = Segment(G, A)
r = Segment(I, A)
s = Segment(J, A)
I' = Intersect(k, r, 1)
J' = Intersect(k_a, s, 1)
G' = Intersect(k_b, m, 2)
i = Circle(J', G', I')

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)