It seems that Re
does not use the assumptions:
In[57]:= Assuming[{x \[Element] Reals}, Re[x]]
Out[57]= Re[x]
For you purpose you can use ComplexExpand
:
ComplexExpand[Re[x + I y - 1/(x + I y)]]
I am surprised by the output of the following:
Assuming[{x \[Element] Reals, y \[Element] Reals},
FullSimplify[ReIm[x + I y - 1/(x + I y)]]]
It may be a matter of LeafCount
.