pub const PURE_FUNCTIONS: &[&str] = &[
    "Array.isArray",
    "Error",
    "EvalError",
    "InternalError",
    "RangeError",
    "ReferenceError",
    "SyntaxError",
    "TypeError",
    "URIError",
    "isFinite",
    "isNaN",
    "parseFloat",
    "parseInt",
    "decodeURI",
    "decodeURIComponent",
    "encodeURI",
    "encodeURIComponent",
    "escape",
    "unescape",
    "Object",
    "Object.create",
    "Object.getNotifier",
    "Object.getOwn",
    "Object.getOwnPropertyDescriptor",
    "Object.getOwnPropertyNames",
    "Object.getOwnPropertySymbols",
    "Object.getPrototypeOf",
    "Object.is",
    "Object.isExtensible",
    "Object.isFrozen",
    "Object.isSealed",
    "Object.keys",
    "Function",
    "Boolean",
    "Number",
    "Number.isFinite",
    "Number.isInteger",
    "Number.isNaN",
    "Number.isSafeInteger",
    "Number.parseFloat",
    "Number.parseInt",
    "Symbol",
    "Symbol.for",
    "Symbol.keyFor",
    "Math.abs",
    "Math.acos",
    "Math.acosh",
    "Math.asin",
    "Math.asinh",
    "Math.atan",
    "Math.atan2",
    "Math.atanh",
    "Math.cbrt",
    "Math.ceil",
    "Math.clz32",
    "Math.cos",
    "Math.cosh",
    "Math.exp",
    "Math.expm1",
    "Math.floor",
    "Math.fround",
    "Math.hypot",
    "Math.imul",
    "Math.log",
    "Math.log10",
    "Math.log1p",
    "Math.log2",
    "Math.max",
    "Math.min",
    "Math.pow",
    "Math.random",
    "Math.round",
    "Math.sign",
    "Math.sin",
    "Math.sinh",
    "Math.sqrt",
    "Math.tan",
    "Math.tanh",
    "Math.trunc",
    "Date",
    "Date.UTC",
    "Date.now",
    "Date.parse",
    "String",
    "String.fromCharCode",
    "String.fromCodePoint",
    "String.raw",
    "RegExp",
    "Map",
    "Set",
    "WeakMap",
    "WeakSet",
    "ArrayBuffer",
    "ArrayBuffer.isView",
    "DataView",
    "JSON.parse",
    "JSON.stringify",
    "Promise",
    "Promise.all",
    "Promise.race",
    "Promise.reject",
    "Promise.resolve",
    "Intl.Collator",
    "Intl.Collator.supportedLocalesOf",
    "Intl.DateTimeFormat",
    "Intl.DateTimeFormat.supportedLocalesOf",
    "Intl.NumberFormat",
    "Intl.NumberFormat.supportedLocalesOf",
    "Array",
    "Int8Array",
    "Uint8Array",
    "Uint8ClampedArray",
    "Int16Array",
    "Uint16Array",
    "Int32Array",
    "Uint32Array",
    "Float32Array",
    "Float64Array",
    "Array.from",
    "Int8Array.from",
    "Uint8Array.from",
    "Uint8ClampedArray.from",
    "Int16Array.from",
    "Uint16Array.from",
    "Int32Array.from",
    "Uint32Array.from",
    "Float32Array.from",
    "Float64Array.from",
    "Array.of",
    "Int8Array.of",
    "Uint8Array.of",
    "Uint8ClampedArray.of",
    "Int16Array.of",
    "Uint16Array.of",
    "Int32Array.of",
    "Uint32Array.of",
    "Float32Array.of",
    "Float64Array.of",
    "SIMD.Int8x16",
    "SIMD.Int16x8",
    "SIMD.Int32x4",
    "SIMD.Float32x4",
    "SIMD.Float64x2",
    "SIMD.Int8x16.abs",
    "SIMD.Int8x16.add",
    "SIMD.Int8x16.and",
    "SIMD.Int8x16.bool",
    "SIMD.Int8x16.check",
    "SIMD.Int8x16.div",
    "SIMD.Int8x16.equal",
    "SIMD.Int8x16.extractLane",
    "SIMD.Int8x16.fromFloat32x4",
    "SIMD.Int8x16.fromFloat32x4Bits",
    "SIMD.Int8x16.fromFloat64x2",
    "SIMD.Int8x16.fromFloat64x2Bits",
    "SIMD.Int8x16.fromInt16x8Bits",
    "SIMD.Int8x16.fromInt32x4",
    "SIMD.Int8x16.fromInt32x4Bits",
    "SIMD.Int8x16.fromInt8x16Bits",
    "SIMD.Int8x16.greaterThan",
    "SIMD.Int8x16.greaterThanOrEqual",
    "SIMD.Int8x16.lessThan",
    "SIMD.Int8x16.lessThanOrEqual",
    "SIMD.Int8x16.load",
    "SIMD.Int8x16.max",
    "SIMD.Int8x16.maxNum",
    "SIMD.Int8x16.min",
    "SIMD.Int8x16.minNum",
    "SIMD.Int8x16.mul",
    "SIMD.Int8x16.neg",
    "SIMD.Int8x16.not",
    "SIMD.Int8x16.notEqual",
    "SIMD.Int8x16.or",
    "SIMD.Int8x16.reciprocalApproximation",
    "SIMD.Int8x16.reciprocalSqrtApproximation",
    "SIMD.Int8x16.replaceLane",
    "SIMD.Int8x16.select",
    "SIMD.Int8x16.selectBits",
    "SIMD.Int8x16.shiftLeftByScalar",
    "SIMD.Int8x16.shiftRightArithmeticByScalar",
    "SIMD.Int8x16.shiftRightLogicalByScalar",
    "SIMD.Int8x16.shuffle",
    "SIMD.Int8x16.splat",
    "SIMD.Int8x16.sqrt",
    "SIMD.Int8x16.store",
    "SIMD.Int8x16.sub",
    "SIMD.Int8x16.swizzle",
    "SIMD.Int8x16.xor",
    "SIMD.Int16x8.abs",
    "SIMD.Int16x8.add",
    "SIMD.Int16x8.and",
    "SIMD.Int16x8.bool",
    "SIMD.Int16x8.check",
    "SIMD.Int16x8.div",
    "SIMD.Int16x8.equal",
    "SIMD.Int16x8.extractLane",
    "SIMD.Int16x8.fromFloat32x4",
    "SIMD.Int16x8.fromFloat32x4Bits",
    "SIMD.Int16x8.fromFloat64x2",
    "SIMD.Int16x8.fromFloat64x2Bits",
    "SIMD.Int16x8.fromInt16x8Bits",
    "SIMD.Int16x8.fromInt32x4",
    "SIMD.Int16x8.fromInt32x4Bits",
    "SIMD.Int16x8.fromInt8x16Bits",
    "SIMD.Int16x8.greaterThan",
    "SIMD.Int16x8.greaterThanOrEqual",
    "SIMD.Int16x8.lessThan",
    "SIMD.Int16x8.lessThanOrEqual",
    "SIMD.Int16x8.load",
    "SIMD.Int16x8.max",
    "SIMD.Int16x8.maxNum",
    "SIMD.Int16x8.min",
    "SIMD.Int16x8.minNum",
    "SIMD.Int16x8.mul",
    "SIMD.Int16x8.neg",
    "SIMD.Int16x8.not",
    "SIMD.Int16x8.notEqual",
    "SIMD.Int16x8.or",
    "SIMD.Int16x8.reciprocalApproximation",
    "SIMD.Int16x8.reciprocalSqrtApproximation",
    "SIMD.Int16x8.replaceLane",
    "SIMD.Int16x8.select",
    "SIMD.Int16x8.selectBits",
    "SIMD.Int16x8.shiftLeftByScalar",
    "SIMD.Int16x8.shiftRightArithmeticByScalar",
    "SIMD.Int16x8.shiftRightLogicalByScalar",
    "SIMD.Int16x8.shuffle",
    "SIMD.Int16x8.splat",
    "SIMD.Int16x8.sqrt",
    "SIMD.Int16x8.store",
    "SIMD.Int16x8.sub",
    "SIMD.Int16x8.swizzle",
    "SIMD.Int16x8.xor",
    "SIMD.Int32x4.abs",
    "SIMD.Int32x4.add",
    "SIMD.Int32x4.and",
    "SIMD.Int32x4.bool",
    "SIMD.Int32x4.check",
    "SIMD.Int32x4.div",
    "SIMD.Int32x4.equal",
    "SIMD.Int32x4.extractLane",
    "SIMD.Int32x4.fromFloat32x4",
    "SIMD.Int32x4.fromFloat32x4Bits",
    "SIMD.Int32x4.fromFloat64x2",
    "SIMD.Int32x4.fromFloat64x2Bits",
    "SIMD.Int32x4.fromInt16x8Bits",
    "SIMD.Int32x4.fromInt32x4",
    "SIMD.Int32x4.fromInt32x4Bits",
    "SIMD.Int32x4.fromInt8x16Bits",
    "SIMD.Int32x4.greaterThan",
    "SIMD.Int32x4.greaterThanOrEqual",
    "SIMD.Int32x4.lessThan",
    "SIMD.Int32x4.lessThanOrEqual",
    "SIMD.Int32x4.load",
    "SIMD.Int32x4.max",
    "SIMD.Int32x4.maxNum",
    "SIMD.Int32x4.min",
    "SIMD.Int32x4.minNum",
    "SIMD.Int32x4.mul",
    "SIMD.Int32x4.neg",
    "SIMD.Int32x4.not",
    "SIMD.Int32x4.notEqual",
    "SIMD.Int32x4.or",
    "SIMD.Int32x4.reciprocalApproximation",
    "SIMD.Int32x4.reciprocalSqrtApproximation",
    "SIMD.Int32x4.replaceLane",
    "SIMD.Int32x4.select",
    "SIMD.Int32x4.selectBits",
    "SIMD.Int32x4.shiftLeftByScalar",
    "SIMD.Int32x4.shiftRightArithmeticByScalar",
    "SIMD.Int32x4.shiftRightLogicalByScalar",
    "SIMD.Int32x4.shuffle",
    "SIMD.Int32x4.splat",
    "SIMD.Int32x4.sqrt",
    "SIMD.Int32x4.store",
    "SIMD.Int32x4.sub",
    "SIMD.Int32x4.swizzle",
    "SIMD.Int32x4.xor",
    "SIMD.Float32x4.abs",
    "SIMD.Float32x4.add",
    "SIMD.Float32x4.and",
    "SIMD.Float32x4.bool",
    "SIMD.Float32x4.check",
    "SIMD.Float32x4.div",
    "SIMD.Float32x4.equal",
    "SIMD.Float32x4.extractLane",
    "SIMD.Float32x4.fromFloat32x4",
    "SIMD.Float32x4.fromFloat32x4Bits",
    "SIMD.Float32x4.fromFloat64x2",
    "SIMD.Float32x4.fromFloat64x2Bits",
    "SIMD.Float32x4.fromInt16x8Bits",
    "SIMD.Float32x4.fromInt32x4",
    "SIMD.Float32x4.fromInt32x4Bits",
    "SIMD.Float32x4.fromInt8x16Bits",
    "SIMD.Float32x4.greaterThan",
    "SIMD.Float32x4.greaterThanOrEqual",
    "SIMD.Float32x4.lessThan",
    "SIMD.Float32x4.lessThanOrEqual",
    "SIMD.Float32x4.load",
    "SIMD.Float32x4.max",
    "SIMD.Float32x4.maxNum",
    "SIMD.Float32x4.min",
    "SIMD.Float32x4.minNum",
    "SIMD.Float32x4.mul",
    "SIMD.Float32x4.neg",
    "SIMD.Float32x4.not",
    "SIMD.Float32x4.notEqual",
    "SIMD.Float32x4.or",
    "SIMD.Float32x4.reciprocalApproximation",
    "SIMD.Float32x4.reciprocalSqrtApproximation",
    "SIMD.Float32x4.replaceLane",
    "SIMD.Float32x4.select",
    "SIMD.Float32x4.selectBits",
    "SIMD.Float32x4.shiftLeftByScalar",
    "SIMD.Float32x4.shiftRightArithmeticByScalar",
    "SIMD.Float32x4.shiftRightLogicalByScalar",
    "SIMD.Float32x4.shuffle",
    "SIMD.Float32x4.splat",
    "SIMD.Float32x4.sqrt",
    "SIMD.Float32x4.store",
    "SIMD.Float32x4.sub",
    "SIMD.Float32x4.swizzle",
    "SIMD.Float32x4.xor",
    "SIMD.Float64x2.abs",
    "SIMD.Float64x2.add",
    "SIMD.Float64x2.and",
    "SIMD.Float64x2.bool",
    "SIMD.Float64x2.check",
    "SIMD.Float64x2.div",
    "SIMD.Float64x2.equal",
    "SIMD.Float64x2.extractLane",
    "SIMD.Float64x2.fromFloat32x4",
    "SIMD.Float64x2.fromFloat32x4Bits",
    "SIMD.Float64x2.fromFloat64x2",
    "SIMD.Float64x2.fromFloat64x2Bits",
    "SIMD.Float64x2.fromInt16x8Bits",
    "SIMD.Float64x2.fromInt32x4",
    "SIMD.Float64x2.fromInt32x4Bits",
    "SIMD.Float64x2.fromInt8x16Bits",
    "SIMD.Float64x2.greaterThan",
    "SIMD.Float64x2.greaterThanOrEqual",
    "SIMD.Float64x2.lessThan",
    "SIMD.Float64x2.lessThanOrEqual",
    "SIMD.Float64x2.load",
    "SIMD.Float64x2.max",
    "SIMD.Float64x2.maxNum",
    "SIMD.Float64x2.min",
    "SIMD.Float64x2.minNum",
    "SIMD.Float64x2.mul",
    "SIMD.Float64x2.neg",
    "SIMD.Float64x2.not",
    "SIMD.Float64x2.notEqual",
    "SIMD.Float64x2.or",
    "SIMD.Float64x2.reciprocalApproximation",
    "SIMD.Float64x2.reciprocalSqrtApproximation",
    "SIMD.Float64x2.replaceLane",
    "SIMD.Float64x2.select",
    "SIMD.Float64x2.selectBits",
    "SIMD.Float64x2.shiftLeftByScalar",
    "SIMD.Float64x2.shiftRightArithmeticByScalar",
    "SIMD.Float64x2.shiftRightLogicalByScalar",
    "SIMD.Float64x2.shuffle",
    "SIMD.Float64x2.splat",
    "SIMD.Float64x2.sqrt",
    "SIMD.Float64x2.store",
    "SIMD.Float64x2.sub",
    "SIMD.Float64x2.swizzle",
    "SIMD.Float64x2.xor",
];
