**Describe the bug**
```
SELECT pow('0.0000000257', NULL), pow(pow(NULL, NULL), NULL) - NULL, (val + NULL) = (rval * 0), * FROM (SELECT (val + 256) = (NULL * NULL), toLowCardinality(toNullable(dummy)) AS val FROM system.one) AS s1 ANY LEFT JOIN (SELECT toLowCardinality(dummy) AS rval FROM system.one) AS s2 ON (val + 0) = (rval * 255)
```

https://clickhouse-test-reports.s3.yandex.net/19868/c39ee3f58c85de0f2a7b609377e2f138305dc745/fuzzer_msan/server.log
{
                block.insert({result.columns[pos], col.type, col.name});
                ++pos;
            }
        }
        for (auto name_and_type = header.begin(); pos < num_columns; ++pos, ++name_and_type)
            block.insert({result.columns[pos], name_and_type->type, name_and_type->name});
        if (prewhere->alias_actions)
            prewhere->alias_actions->execute(block);
        /// 
        result.block_before_prewhere = block;
        prewhere->prewhere_actions->execute(block);
        prewhere_column_pos = block.getPositionByName(prewhere->prewhere_column_name);
        result.columns.clear();
        result.columns.reserve(block.columns());
        for (auto & col : block)
            result.columns.emplace_back(std::move(col.column));
        filter.swap(result.columns[prewhere_column_pos]);
    }
    if (result.getFilter())
    {
        /// 
        /// 
        throw Exception("MergeTreeRangeReader chain with several prewhere actions in not implemented.",
                        ErrorCodes::LOGICAL_ERROR);
    }
    result.setFilter(filter);
    /// 
    if (!last_reader_in_chain)
        result.optimize(merge_tree_reader->canReadIncompleteGranules());