```
SELECT bar((greatCircleAngle(65537, 2, number, number) - number) * 65535, 1048576, 1048577, nan)
FROM numbers(1025)

Query id: 1792a79a-e5ae-425d-aaeb-55fbff42ea0e

→ Progress: 1.02 thousand rows, 8.20 KB (10.09 thousand rows/s., 80.73 KB/s.)  99%
Received exception from server (version 20.13.1):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Too large size (9223372036854776864) passed to allocator. It indicates an error.: while executing 'FUNCTION bar(multiply(minus(greatCircleAngle(65537, 2, number, number), number), 65535) :: 0, 1048576 :: 4, 1048577 :: 5, nan :: 6) -> bar(multiply(minus(greatCircleAngle(65537, 2, number, number), number), 65535), 1048576, 1048577, nan) String : 3'.
```
if (executeNumber<UInt8>(src, *res_column, min, max, max_width)
            || executeNumber<UInt16>(src, *res_column, min, max, max_width)
            || executeNumber<UInt32>(src, *res_column, min, max, max_width)
            || executeNumber<UInt64>(src, *res_column, min, max, max_width)
            || executeNumber<Int8>(src, *res_column, min, max, max_width)
            || executeNumber<Int16>(src, *res_column, min, max, max_width)
            || executeNumber<Int32>(src, *res_column, min, max, max_width)
            || executeNumber<Int64>(src, *res_column, min, max, max_width)
            || executeNumber<Float32>(src, *res_column, min, max, max_width)
            || executeNumber<Float64>(src, *res_column, min, max, max_width))
        {
            return res_column;
        }
        else
            throw Exception(
                "Illegal column " + arguments[0].column->getName() + " of argument of function " + getName(),
                ErrorCodes::ILLEGAL_COLUMN);
    }
private:
    template <typename T>
    T extractConstant(const ColumnsWithTypeAndName & arguments, size_t argument_pos, const char * which_argument) const
    {
        const auto & column = *arguments[argument_pos].column;
        if (!isColumnConst(column))
            throw Exception(
                which_argument + String(" argument for function ") + getName() + " must be constant.", ErrorCodes::ILLEGAL_COLUMN);
        return applyVisitor(FieldVisitorConvertToNumber<T>(), column[0]);
    }
    template <typename T>
    static void fill(const PaddedPODArray<T> & src,