compiler | gcc-15 | clang-20
before | 0:00.23s - 76088K | 0:00.37s - 116984K
after | 0:00.22s - 75348K | 0:00.35s - 114952K
```cpp
template<class> using pred = mp_false;
template<class I, class L = mp_iota<I>> using test
= mp_replace_if<L, pred, I>;
using r1 = mp_transform<test, mp_iota_c<120>>;
```
compiler | gcc-15 | clang-20
before | 0:00.30s - 90020K | 0:00.48s - 129272K
after | 0:00.29s - 89428K | 0:00.46s - 126580K
```cpp
template<class I, class L = mp_iota<I>> using test
= mp_replace<L, I, I>;
using r1 = mp_transform<test, mp_iota_c<120>>;
```
compiler | gcc-15 | clang-20
before | 0:00.32s - 91276K | 0:00.69s - 156512K
after | 0:00.31s - 90684K | 0:00.67s - 157560K
```cpp
template<class> using pred = mp_true;
template<class I, class L = mp_iota<I>> using test
= mp_remove<L, I>;
using r1 = mp_transform<test, mp_iota_c<120>>;
```
compiler | gcc-15 | clang-20
before | 0:00.21s - 65820K | 0:00.51s - 138048K
after | 0:00.21s - 65428K | 0:00.49s - 138540K
```cpp
template<class> using pred = mp_false;
template<class I, class L = mp_iota<I>> using test
= mp_copy_if<L, pred>;
using r1 = mp_transform<test, mp_iota_c<120>>;
```
compiler | gcc-15 | clang-20
before | 0:00.21s - 67308K | 0:00.51s - 137744K
after | 0:00.21s - 66956K | 0:00.49s - 138492K
```cpp
template<class> using pred = mp_true;
template<class I, class L = mp_iota<I>> using test
= mp_remove_if<L, pred>;
using r1 = mp_transform<test, mp_iota_c<120>>;
```
Use the `__integer_pack` builtin
compiler | gcc-15
before | 0:00.14s - 47284K
after | 0:00.07s - 37572K
```cpp
template<class I> using test
= make_integer_sequence<int, I::value>;
using r1 = mp_transform<test, mp_iota_c<200>>;
```