float radialDistance = length(float2(input.PositionWorld.x, input.PositionWorld.z)/2500);
clip(radialDistance > 1 ? -1 : 1);
This is actually an efficient solution to the problem without changing much in code
not sure about efficiency, but I guess, if you omit the conditional in the clip it may run faster, as willmotil pointed out:
clip(radialDistance *-1.0 + 1)
especially on phones, every bit of optimisation is helpful (pretty sure clipping does not use a full conditional but just checks the sign bit … I wonder if the compilers are doing such optimizations automatically …