{"ScriptPreparationCode":"var nativearrow = (x, y, z) =\u003E x*x \u002B y*y \u002B z*z;\r\nvar nativefunc = new Function(\u0027x\u0027, \u0027y\u0027, \u0027z\u0027, \u0027return x*x \u002B y*y \u002B z*z\u0027)\r\nvar mathexpr = math.parse(\u0027x^2 \u002B y^2 \u002B z^2\u0027)\r\nvar mathcomp = mathexpr.compile()\r\nvar funcexpr = (x, y, z) =\u003E mathexpr.evaluate({x, y, z})\r\nvar funccomp = (x, y, z) =\u003E mathcomp.evaluate({x, y, z})\r\nvar N = 20","TestCases":[{"Name":"Native Arrow","Code":"const out = []\r\nfor (let x = 0; x \u003C N; x \u002B= 1) {\r\n for (let y = 0; y \u003C N; y \u002B= 1) {\r\n for (let z = 0; z \u003C N; z \u002B= 1) {\r\n out.push(nativearrow(x, y, z))\r\n }\r\n }\r\n}","IsDeferred":false},{"Name":"Native Function","Code":"const out = []\r\nfor (let x = 0; x \u003C N; x \u002B= 1) {\r\n for (let y = 0; y \u003C N; y \u002B= 1) {\r\n for (let z = 0; z \u003C N; z \u002B= 1) {\r\n out.push(nativefunc(x, y, z))\r\n }\r\n }\r\n}","IsDeferred":false},{"Name":"Native inline","Code":"const out = []\r\nfor (let x = 0; x \u003C N; x \u002B= 1) {\r\n for (let y = 0; y \u003C N; y \u002B= 1) {\r\n for (let z = 0; z \u003C N; z \u002B= 1) {\r\n out.push(x*x \u002B y*y \u002B z*z)\r\n }\r\n }\r\n}","IsDeferred":false},{"Name":"Mathjs evaluate","Code":"const out = []\r\nfor (let x = 0; x \u003C N; x \u002B= 1) {\r\n for (let y = 0; y \u003C N; y \u002B= 1) {\r\n for (let z = 0; z \u003C N; z \u002B= 1) {\r\n out.push(funcexpr(x, y, z))\r\n }\r\n }\r\n}","IsDeferred":false},{"Name":"Mathjs compile","Code":"const out = []\r\nfor (let x = 0; x \u003C N; x \u002B= 1) {\r\n for (let y = 0; y \u003C N; y \u002B= 1) {\r\n for (let z = 0; z \u003C N; z \u002B= 1) {\r\n out.push(funccomp(x, y, z))\r\n }\r\n }\r\n}","IsDeferred":false}]}