C, 34 bytes
Thanks to @Olivier Grégoire!
s;
#define f(x)(x/(s=sqrt(x))+s)/2
Works only with float inputs.
C, 41 39 37 bytes
s;
#define f(x).5/(s=sqrt(x))*(x+s*s)
C, 49 47 45 43 bytes
s;float f(x){return.5/(s=sqrt(x))*(x+s*s);}
Thanks to @JungHwan Min for saving two bytes!