Random position in rectangle, but not in a camera view

How can make a random coordinates generation, that are in rectangle AND not in a camera view?
alt text

So iteratively it would be easy, but to ensure constant runtime performance, how about something like this.

   var screenRect = new Rect(20,20,400,400);
   var cameraRect = new Rect(50,50,100,100);

   var x = UnityEngine.Random.Range(screenRect.xMin, screenRect.xMax - cameraRect.width);
   var y = UnityEngine.Random.Range(screenRect.yMin, screenRect.yMax - cameraRect.height);

   x = x > cameraRect.xMin ? x + cameraRect.width : x;
   y = y > cameraRect.yMin ? x + cameraRect.height : y;