Euler

sol

O = Point(xAxis)
f: y = (-x)
A = Point(f)
c = Circle(O, A)
eq1: x = 0
E = Mirror(A, eq1)
g = Segment(A, E)
O' = Mirror(O, g)
c' = Mirror(c, g)
B = Point(c')
C = Rotate(A, 90°, B)
D = Rotate(B, 90°, C)
F = Rotate(B, 90°, E)
G = Rotate(E, 90°, F)
h = Segment(A, B)
i = Segment(B, C)
j = Segment(D, C)
k = Segment(A, D)
l = Segment(B, E)
m = Segment(E, F)
n = Segment(F, G)
p = Segment(G, B)
B' = Mirror(B, g)
H = Midpoint(B', B)
q = Segment(B', B)
r = Segment(A, O)
s_{1} = Segment(E, O)
t = Segment(O', A)
a = Segment(O', E)
e = false
s = false
b = AngularBisector(E, B, A)
d = AngularBisector(B, A, E)
I = Intersect(d, b)
f_1 = OrthogonalLine(I, g)
J = Intersect(f_1, g)
c_1 = Circle(I, J)
M = Mirror(B, I)
g_1 = Ray(O, M)
T = Intersect(c, g_1, 1)
d_1 = Circle(M, T)
h_1 = Segment(T, O)
i_1 = OrthogonalLine(E, h)
j_1 = Line(A, B)
K = Intersect(i_1, j_1)
k_1 = OrthogonalLine(A, l)
l_1 = Line(E, B)
L = Intersect(k_1, l_1)
e_1 = Circle(H, L, K)
N = Midpoint(A, B)
P = Midpoint(B, E)