clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/main.cpp -o src/main.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/magics.cpp -o src/chess/magics.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/move_gen.cpp -o src/chess/move_gen.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/board_state.cpp -o src/chess/board_state.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/board.cpp -o src/chess/board.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/castle_rights.cpp -o src/chess/castle_rights.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/move.cpp -o src/chess/move.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/game_tree.cpp -o src/search/game_tree.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/time_manager.cpp -o src/search/time_manager.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/searcher.cpp -o src/search/searcher.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/thread.cpp -o src/search/thread.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/tree_half.cpp -o src/search/tree_half.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/node.cpp -o src/search/node.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/format/monty_format.cpp -o src/data_gen/format/monty_format.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/openings.cpp -o src/data_gen/openings.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/game_runner.cpp -o src/data_gen/game_runner.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/tests/bench.cpp -o src/tests/bench.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/tests/perft.cpp -o src/tests/perft.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/uci/options.cpp -o src/uci/options.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/uci/uci.cpp -o src/uci/uci.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/value_network.cpp -o src/eval/value_network.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/networks.cpp -o src/eval/networks.o
clang++ -std=c++20 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/policy_network.cpp -o src/eval/policy_network.o
src/search/tree_half.cpp:25:41: error: use of overloaded operator '!=' is ambiguous (with operand types 'u8' (aka 'unsigned char') and 'search::TreeHalf::Index')
        if (node.first_child_idx.half() != our_half_) {
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~
src/search/tree_half.hpp:27:38: note: candidate function (with reversed parameter order)
        [[nodiscard]] constexpr bool operator==(const Index &other) const noexcept {
                                     ^
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, int)
        if (node.first_child_idx.half() != our_half_) {
                                        ^
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, float)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long double)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, __float128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, __int128)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned int)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned long long)
src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned __int128)
1 error generated.
make: *** [Makefile:47: src/search/tree_half.o] Error 1
make: *** Waiting for unfinished jobs....