constr

A = Point(xAxis)
B = Point(xAxis)
C = (-2.995067593313524, 2.888093873068979)
AC = Segment(C, A)
AB = Segment(A, B)
BC = Segment(B, C)
p: (AB + BC + AC) / 2
P_m: A + (p - AC, 0)
pp = Segment(P_m, B)
P = Point(pp)
AP = Segment(A, P)
c_A = Circle(A, p - AP)
Q = Intersect(c_A, AC, 1)
PQ = Segment(Q, P)
ai = AngularBisector(B, A, C)
P' = Mirror(Q, ai)
Q' = Mirror(P, ai)
PQ' = Segment(Q', P')
k_{PQ}: x(P') ≤ x(B) ∧ y(Q') ≤ y(C)
c_Q = Circle(Q, p)
γ = Angle(A, C, B)
apq = Circle(Intersect[LineBisector[P, Q], Line[Q, Rotate[P, 90° - γ / 2, Q]]], Q)
M', M = Intersect(apq, c_Q)
MQ = Segment(Q, M)
MP = Segment(P, M)
med_{PM} = LineBisector(P, M)
N = Intersect(med_{PM}, MQ)
NP = Segment(N, P)
Q1 = Intersect(Circle[C, Distance[Q, N]], AC)
P1 = Intersect(Circle[C, Distance[P, N]], BC)
PQ_1 = Segment(Q1, P1)
P2 = Intersect(Circle[C, Distance[Q, N]], BC)
Q2 = Intersect(Circle[C, Distance[P, N]], AC)
PQ_2 = Segment(Q2, P2)
a = true
β = Angle(C, B, A)
apq' = Circle(Intersect[LineBisector[P, Q], Line[Q, Rotate[P, 90° - β / 2, Q]]], Q)
c = Circle(P, p)
M'_2, M_2 = Intersect(apq', c)
N2 = Intersect(Line[P, M_2], LineBisector[Q, M_2])
P3 = Intersect(Circle[B, Distance[Q, N2]], BC)
Q3 = Intersect(Circle[B, Distance[P, N2]], AB)
PQ_3 = Segment(P3, Q3)
Q4 = Intersect(Circle[B, Distance[Q, N2]], AB)
P4 = Intersect(Circle[B, Distance[P, N2]], BC)
PQ_4 = Segment(P4, Q4)