- part 1: https://godbolt.org/z/1P4e3h
- part 2: https://godbolt.org/z/Tr6KKf or https://godbolt.org/z/hezdoc
Full constexpr, result is in the generated assembly
- part 1: https://gcc.godbolt.org/z/oY6hYs
- part 2: https://gcc.godbolt.org/z/vo7E5n or https://gcc.godbolt.org/z/3Grofn (clang, c++17)
- part 1: https://gcc.godbolt.org/z/443EvG, https://godbolt.org/z/a5j3no (range-v3, coroutines)
- part 2: https://gcc.godbolt.org/z/EG86hT, https://godbolt.org/z/Knq7bb (range-v3, coroutines)
- part 1 & 2: https://gcc.godbolt.org/z/6jecrj
- part 1: https://godbolt.org/z/7b9oos
- part 2: https://godbolt.org/z/P3c94j
- part 1: https://godbolt.org/z/P7zMT1
- part 2: https://godbolt.org/z/x7c88E
- part 1: https://godbolt.org/z/W9b8sz
- part 2: https://godbolt.org/z/3n5dvP
- part 1: https://godbolt.org/z/K3s4qP
- part 2: https://godbolt.org/z/8T7W65
- part 1: https://godbolt.org/z/94q5cn
- part 2: https://godbolt.org/z/aPbTj9, https://godbolt.org/z/qMbzno (use a sum table)
- part 1: https://godbolt.org/z/5P3We4
- part 2: https://godbolt.org/z/5z1oTb, https://godbolt.org/z/hvejYd
- part 1: https://godbolt.org/z/sY18W6
- part 2: https://godbolt.org/z/9P1jfn
- part 1: https://godbolt.org/z/94K8n6
- part 2: https://godbolt.org/z/eYrnM1
- part 1: https://godbolt.org/z/rnMse9
- part 2: https://godbolt.org/z/excj9j
- part 1: https://godbolt.org/z/GM953q
- part 2: https://godbolt.org/z/qhr17o
- part 1: https://godbolt.org/z/n65b9f
- part 2: https://godbolt.org/z/9TW1re, https://godbolt.org/z/d7ch6q
- part 1: https://godbolt.org/z/xGMP1n
- part 2: https://godbolt.org/z/6c3ncG
- part 1: https://godbolt.org/z/v776YM
- part 2: https://godbolt.org/z/h8f4E4, https://godbolt.org/z/xKEs1a
- part 1: https://godbolt.org/z/Yfqc3c
- part 2: https://godbolt.org/z/4oedGv
- part 1: https://godbolt.org/z/axhEvb
- part 2: https://godbolt.org/z/o9azjx
- part 1: https://godbolt.org/z/nGx5s7