``` sql
CREATE TABLE IF NOT EXISTS t0 (c0 Int32, c1  ALIAS c0) ENGINE = Memory() ;
INSERT INTO t0(c0) VALUES (-341725483);
INSERT INTO t0(c0) VALUES (-781504249), (-1079304144);
INSERT INTO t0(c0) VALUES (-1959608342), (1263536992), (1194580216);
INSERT INTO t0(c0) VALUES (-1639118561), (436683656), (275548633);
INSERT INTO t0(c0) VALUES (-871574473), (-397603882);
INSERT INTO t0(c0) VALUES (-1307576992), (-2034446574);
INSERT INTO t0(c0) VALUES (-1717404319), (-2004827833);
INSERT INTO t0(c0) VALUES (-1604878293), (172290479), (-1808153737);
INSERT INTO t0(c0) VALUES (-1808153737);
INSERT INTO t0(c0) VALUES (1196759186);
INSERT INTO t0(c0) VALUES (-1748576439);
INSERT INTO t0(c0) VALUES (2051389761), (1204228597);
INSERT INTO t0(c0) VALUES (1651756927), (681110175);
INSERT INTO t0(c0) VALUES (-1156920855);
INSERT INTO t0(c0) VALUES (-772388572), (-537624259), (-370697325);
INSERT INTO t0(c0) VALUES (2022909935);
INSERT INTO t0(c0) VALUES (713759928), (1172984613);
INSERT INTO t0(c0) VALUES (1739371629), (-111374952);
INSERT INTO t0(c0) VALUES (139603219), (-2131108571);
INSERT INTO t0(c0) VALUES (-1549239644), (784065114), (420077195);
INSERT INTO t0(c0) VALUES (-1843334206), (-6457985);
INSERT INTO t0(c0) VALUES (-638819909), (-1909459444), (-943510506);
INSERT INTO t0(c0) VALUES (1894781567), (-1985859792), (-476468556);
INSERT INTO t0(c0) VALUES (-618823782), (460423584);
INSERT INTO t0(c0) VALUES (-940596656);
INSERT INTO t0(c0) VALUES (-857101409), (-397603882);
INSERT INTO t0(c0) VALUES (-428805410), (2051389761);
INSERT INTO t0(c0) VALUES (297657448);
INSERT INTO t0(c0) VALUES (-163039758);
SELECT MIN(((t0.c0)<(t0.c1))) FROM t0 SETTINGS aggregate_functions_null_for_empty = 1 FORMAT TabSeparatedWithNamesAndTypes;
```

```
2021.05.11 14:34:57.075596 [ 200 ] {c0304913-59cb-4210-8f3e-7f22acec69c4} <Error> DynamicQueryHandler: Code: 44, e.displayText() = DB::Exception: Cannot convert column `less(c0, c1)` because it is non constant in source stream but must be constant in result, Stack trace (when copying this message, always include the lines below):

0. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/exception:133: std::exception::capture() @ 0x120b19c8 in /usr/bin/clickhouse
1. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/exception:111: std::exception::exception() @ 0x120b1995 in /usr/bin/clickhouse
2. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Exception.cpp:27: Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x214f78c3 in /usr/bin/clickhouse
3. ./obj-x86_64-linux-gnu/../src/Common/Exception.cpp:55: DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x12092150 in /usr/bin/clickhouse
4. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsDAG.cpp:819: DB::ActionsDAG::makeConvertingActions(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, DB::ActionsDAG::MatchColumnsMode, bool, bool, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*) @ 0x1c0d120a in /usr/bin/clickhouse
5. ./obj-x86_64-linux-gnu/../src/Processors/QueryPlan/ExpressionStep.cpp:66: DB::ExpressionStep::transformPipeline(DB::QueryPipeline&, DB::BuildQueryPipelineSettings const&) @ 0x1db7d464 in /usr/bin/clickhouse
6. ./obj-x86_64-linux-gnu/../src/Processors/QueryPlan/ITransformingStep.cpp:44: DB::ITransformingStep::updatePipeline(std::__1::vector<std::__1::unique_ptr<DB::QueryPipeline, std::__1::default_delete<DB::QueryPipeline> >, std::__1::allocator<std::__1::unique_ptr<DB::QueryPipeline, std::__1::default_delete<DB::QueryPipeline> > > >, DB::BuildQueryPipelineSettings const&) @ 0x1db8e23f in /usr/bin/clickhouse
7. ./obj-x86_64-linux-gnu/../src/Processors/QueryPlan/QueryPlan.cpp:168: DB::QueryPlan::buildQueryPipeline(DB::QueryPlanOptimizationSettings const&, DB::BuildQueryPipelineSettings const&) @ 0x1dbb50c6 in /usr/bin/clickhouse
8. ./obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectWithUnionQuery.cpp:313: DB::InterpreterSelectWithUnionQuery::execute() @ 0x1c9a36e5 in /usr/bin/clickhouse
9. ./obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:561: DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool, DB::ReadBuffer*) @ 0x1cc00559 in /usr/bin/clickhouse
10. ./obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:997: DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::__1::shared_ptr<DB::Context>, std::__1::function<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>) @ 0x1cc02a2b in /usr/bin/clickhouse
11. ./obj-x86_64-linux-gnu/../src/Server/HTTPHandler.cpp:772: DB::HTTPHandler::processQuery(std::__1::shared_ptr<DB::Context>, DB::HTTPServerRequest&, DB::HTMLForm&, DB::HTTPServerResponse&, DB::HTTPHandler::Output&, std::__1::optional<DB::CurrentThread::QueryScope>&) @ 0x1d655089 in /usr/bin/clickhouse
12. ./obj-x86_64-linux-gnu/../src/Server/HTTPHandler.cpp:911: DB::HTTPHandler::handleRequest(DB::HTTPServerRequest&, DB::HTTPServerResponse&) @ 0x1d656d1f in /usr/bin/clickhouse
13. ./obj-x86_64-linux-gnu/../src/Server/HTTP/HTTPServerConnection.cpp:48: DB::HTTPServerConnection::run() @ 0x1d6fffc2 in /usr/bin/clickhouse
14. ./obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43: Poco::Net::TCPServerConnection::start() @ 0x21428f5c in /usr/bin/clickhouse
15. ./obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115: Poco::Net::TCPServerDispatcher::run() @ 0x214297e4 in /usr/bin/clickhouse
16. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199: Poco::PooledThread::run() @ 0x21584ac3 in /usr/bin/clickhouse
17. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:56: Poco::(anonymous namespace)::RunnableHolder::run() @ 0x2158137d in /usr/bin/clickhouse
18. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345: Poco::ThreadImpl::runnableEntry(void*) @ 0x21580108 in /usr/bin/clickhouse
19. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
20. clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
 (version 21.6.1.6804)
```
Found by SQLancer https://clickhouse-test-reports.s3.yandex.net/20393/6aa7c0fafcca9c1493e6923ef68592ab68b286da/sqlancer_test.html#fail1
if (!allowDecimalComparison(left_type, right_type) && !date_and_datetime)
                throw Exception("No operation " + getName() + " between " + left_type->getName() + " and " + right_type->getName(),
                    ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT);
            return executeDecimal(col_with_type_and_name_left, col_with_type_and_name_right);
        }
        else if (left_type->equals(*right_type))
        {
            return executeGenericIdenticalTypes(col_left_untyped, col_right_untyped);
        }
        else
        {
            return executeGeneric(col_with_type_and_name_left, col_with_type_and_name_right);
        }
    }
#if USE_EMBEDDED_COMPILER
    bool isCompilableImpl(const DataTypes & types) const override
    {
        if (2 != types.size())
            return false;
        WhichDataType data_type_lhs(types[0]);
        WhichDataType data_type_rhs(types[1]);
        auto is_big_integer = [](WhichDataType type) { return type.isUInt64() || type.isInt64(); };
        if ((is_big_integer(data_type_lhs) && data_type_rhs.isFloat())
            || (is_big_integer(data_type_rhs) && data_type_lhs.isFloat())
            || (data_type_lhs.isDate() && data_type_rhs.isDateTime())
            || (data_type_rhs.isDate() && data_type_lhs.isDateTime()))
            return false; 
        return isCompilableType(types[0]) && isCompilableType(types[1]);
    }
    llvm::Value * compileImpl(llvm::IRBuilderBase & builder, const DataTypes & types, Values values) const override