Il triangolo UAU' è rettangolo in A se e solo se 
A è simmetrico di U rispetto a OM,
ossia se e solo se A appartiene alla 
circonferenza C(O,U).
Infatti (puoi muovere il punto A):
OM // U'A , OM' // UA , M=medio(A,U) , M'=medio(A,U')
UAU' retto <=> OM ⊥ OM' // UA <=> OM ⊥ UA
Quindi, se UAU' è retto:
A+1 ⊥ A-1 (come vettori partenti da O)
ossia:  (x+1)(x-1) + y·y = 0 
ossia:  y² = (x+1)(1-x)  ( y è media geometrica tra U'x e xU )

M=(A+1)/2

M'=(A-1)/2

A+2

x

y

-A

A+1

A-1

x+2

A = (-0.6536714439769667, 0.7638831396966441)
U = (1, 0)
U' = (-1, 0)
a = Segment(U', A)
b = Segment(A, U)
O = (0, 0)
c = Line(O, b)
d = Line(O, a)
M = Intersect(d, b)
M' = Intersect(c, a)
B = Translate(U, Vector[U', A])
e = Segment(A, B)
f = Segment(U, B)
g = Segment(U', B)
h = Circle(O, U)
i = Line(A, yAxis)
C = Intersect(i, xAxis)
D: (0, y(A))
E: -A
j = Segment(U', E)
k = Segment(E, U)
F: A + (1, 0)
G: A - (1, 0)
H: (x(A) + 2, 0)
l = Segment(B, H)
m = Segment(A, C)