{"ScriptPreparationCode":"function sqrt(x) {\r\n if (x \u003C 0.0)\r\n return NaN;\r\n if (x \u003C 1.0)\r\n return 1.0 / sqrt(1.0 / x);\r\n let xhi = x;\r\n let xlo = 0.0;\r\n let guess = x / 2.0;\r\n let next;\r\n while ((guess * guess) != x) {\r\n if ((guess * guess) \u003E x)\r\n xhi = guess;\r\n else xlo = guess;\r\n if ((next = (xhi \u002B xlo) / 2.0) == guess)\r\n break;\r\n guess = next;\r\n }\r\n return guess;\r\n}","TestCases":[{"Name":"Math.sqrt()","Code":"Math.sqrt(Math.random() * 1000000);","IsDeferred":false},{"Name":"Binary search sqrt","Code":"sqrt(Math.random() * 1000000);","IsDeferred":false}]}