### Description

A query like `any where true | head 2147483648` fails with `class java.lang.Long cannot be cast to class java.lang.Integer (java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap')`.

While one like `any where true | head 2147483640 + 8` fails with `"type": "arithmetic_exception", "reason": "integer overflow"`.
x-pack/plugin/eql/src/test/java/org/elasticsearch/xpack/eql/planner/QueryTranslatorFailTests.java
assertEquals(
            "1:15: second argument of [between(process_name, 1, 2)] must be [string], found value [1] type [integer]",
            error("process where between(process_name, 1, 2)")
        );
        assertEquals(
            "1:15: third argument of [between(process_name, \"s\", 2)] must be [string], found value [2] type [integer]",
            error("process where between(process_name, \"s\", 2)")
        );
        assertEquals(
            "1:15: fourth argument of [between(process_name, \"s\", \"e\", 1)] must be [boolean], found value [1] type [integer]",
            error("process where between(process_name, \"s\", \"e\", 1)")
        );
        assertEquals(
            "1:15: fourth argument of [between(process_name, \"s\", \"e\", \"true\")] must be [boolean], "
                + "found value [\"true\"] type [keyword]",
            error("process where between(process_name, \"s\", \"e\", \"true\")")
        );
    }
    public void testCIDRMatchAgainstField() {
        VerificationException e = expectThrows(
            VerificationException.class,
            () -> plan("process where cidrMatch(source_address, hostname)")
        );
        String msg = e.getMessage();
        assertEquals(
            "Found 1 problem\n"
                + "line 1:15: second argument of [cidrMatch(source_address, hostname)] must be a constant, received [hostname]",
            msg
        );
    }