Analyze #include statemets expansion

https://build-bench.com/b/BfU9OzjbRzjQX37rR7l6hclFi0I

#include <math.h>
#include <iostream>
#include <cstdint>
#include <vector>
#include <string_view>

End up in

/usr/local/include/c++/10.1.0/math.h
	/usr/local/include/c++/10.1.0/cmath
		/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++config.h
			/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/os_defines.h
				/usr/include/features.h
					/usr/include/x86_64-linux-gnu/sys/cdefs.h
						/usr/include/x86_64-linux-gnu/bits/wordsize.h
						/usr/include/x86_64-linux-gnu/bits/long-double.h
					/usr/include/x86_64-linux-gnu/gnu/stubs.h
						/usr/include/x86_64-linux-gnu/gnu/stubs-64.h
			/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/cpu_defines.h
			/usr/local/include/c++/10.1.0/pstl/pstl_config.h
		/usr/local/include/c++/10.1.0/bits/cpp_type_traits.h
		/usr/local/include/c++/10.1.0/ext/type_traits.h
		/usr/include/math.h
			/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
			/usr/include/x86_64-linux-gnu/bits/types.h
				/usr/include/x86_64-linux-gnu/bits/wordsize.h
				/usr/include/x86_64-linux-gnu/bits/timesize.h
				/usr/include/x86_64-linux-gnu/bits/typesizes.h
				/usr/include/x86_64-linux-gnu/bits/time64.h
			/usr/include/x86_64-linux-gnu/bits/math-vector.h
				/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
			/usr/include/x86_64-linux-gnu/bits/floatn.h
				/usr/include/x86_64-linux-gnu/bits/floatn-common.h
					/usr/include/x86_64-linux-gnu/bits/long-double.h
			/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
			/usr/include/x86_64-linux-gnu/bits/fp-logb.h
			/usr/include/x86_64-linux-gnu/bits/fp-fast.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h
			/usr/include/x86_64-linux-gnu/bits/iscanonical.h
		/usr/local/include/c++/10.1.0/bits/std_abs.h
			/usr/include/stdlib.h
				/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
				/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
				/usr/include/x86_64-linux-gnu/bits/waitflags.h
				/usr/include/x86_64-linux-gnu/bits/waitstatus.h
				/usr/include/x86_64-linux-gnu/bits/types/locale_t.h
					/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h
				/usr/include/x86_64-linux-gnu/sys/types.h
					/usr/include/x86_64-linux-gnu/bits/types/clock_t.h
					/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h
					/usr/include/x86_64-linux-gnu/bits/types/time_t.h
					/usr/include/x86_64-linux-gnu/bits/types/timer_t.h
					/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
					/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
					/usr/include/endian.h
						/usr/include/x86_64-linux-gnu/bits/endian.h
							/usr/include/x86_64-linux-gnu/bits/endianness.h
						/usr/include/x86_64-linux-gnu/bits/byteswap.h
						/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
					/usr/include/x86_64-linux-gnu/sys/select.h
						/usr/include/x86_64-linux-gnu/bits/select.h
							/usr/include/x86_64-linux-gnu/bits/wordsize.h
						/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h
							/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h
						/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
						/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
					/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
						/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
							/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
								/usr/include/x86_64-linux-gnu/bits/wordsize.h
							/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
							/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
				/usr/include/alloca.h
					/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
				/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
		/usr/local/include/c++/10.1.0/bits/specfun.h
			/usr/local/include/c++/10.1.0/bits/stl_algobase.h
				/usr/local/include/c++/10.1.0/bits/functexcept.h
					/usr/local/include/c++/10.1.0/bits/exception_defines.h
				/usr/local/include/c++/10.1.0/ext/numeric_traits.h
				/usr/local/include/c++/10.1.0/bits/stl_pair.h
					/usr/local/include/c++/10.1.0/bits/move.h
						/usr/local/include/c++/10.1.0/type_traits
					/usr/local/include/c++/10.1.0/compare
						/usr/local/include/c++/10.1.0/concepts
				/usr/local/include/c++/10.1.0/bits/stl_iterator_base_types.h
					/usr/local/include/c++/10.1.0/bits/iterator_concepts.h
						/usr/local/include/c++/10.1.0/bits/ptr_traits.h
						/usr/local/include/c++/10.1.0/bits/range_cmp.h
				/usr/local/include/c++/10.1.0/bits/stl_iterator_base_funcs.h
					/usr/local/include/c++/10.1.0/bits/concept_check.h
					/usr/local/include/c++/10.1.0/debug/assertions.h
				/usr/local/include/c++/10.1.0/bits/stl_iterator.h
					/usr/local/include/c++/10.1.0/new
						/usr/local/include/c++/10.1.0/exception
							/usr/local/include/c++/10.1.0/bits/exception.h
							/usr/local/include/c++/10.1.0/bits/exception_ptr.h
								/usr/local/include/c++/10.1.0/bits/cxxabi_init_exception.h
									/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
								/usr/local/include/c++/10.1.0/typeinfo
									/usr/local/include/c++/10.1.0/bits/hash_bytes.h
								/usr/local/include/c++/10.1.0/new
							/usr/local/include/c++/10.1.0/bits/nested_exception.h
				/usr/local/include/c++/10.1.0/debug/debug.h
				/usr/local/include/c++/10.1.0/bits/predefined_ops.h
			/usr/local/include/c++/10.1.0/limits
			/usr/local/include/c++/10.1.0/tr1/gamma.tcc
				/usr/local/include/c++/10.1.0/tr1/special_function_util.h
			/usr/local/include/c++/10.1.0/tr1/bessel_function.tcc
			/usr/local/include/c++/10.1.0/tr1/beta_function.tcc
			/usr/local/include/c++/10.1.0/tr1/ell_integral.tcc
			/usr/local/include/c++/10.1.0/tr1/exp_integral.tcc
			/usr/local/include/c++/10.1.0/tr1/hypergeometric.tcc
			/usr/local/include/c++/10.1.0/tr1/legendre_function.tcc
			/usr/local/include/c++/10.1.0/tr1/modified_bessel_func.tcc
			/usr/local/include/c++/10.1.0/tr1/poly_hermite.tcc
			/usr/local/include/c++/10.1.0/tr1/poly_laguerre.tcc
			/usr/local/include/c++/10.1.0/tr1/riemann_zeta.tcc
/usr/local/include/c++/10.1.0/iostream
	/usr/local/include/c++/10.1.0/ostream
		/usr/local/include/c++/10.1.0/ios
			/usr/local/include/c++/10.1.0/iosfwd
				/usr/local/include/c++/10.1.0/bits/stringfwd.h
					/usr/local/include/c++/10.1.0/bits/memoryfwd.h
				/usr/local/include/c++/10.1.0/bits/postypes.h
					/usr/local/include/c++/10.1.0/cwchar
						/usr/include/wchar.h
							/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
							/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
							/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h
							/usr/include/x86_64-linux-gnu/bits/wchar.h
							/usr/include/x86_64-linux-gnu/bits/types/wint_t.h
							/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h
								/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h
							/usr/include/x86_64-linux-gnu/bits/types/__FILE.h
							/usr/include/x86_64-linux-gnu/bits/types/FILE.h
			/usr/local/include/c++/10.1.0/bits/char_traits.h
				/usr/local/include/c++/10.1.0/cwchar
				/usr/local/include/c++/10.1.0/cstdint
					/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdint.h
						/usr/include/stdint.h
							/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
							/usr/include/x86_64-linux-gnu/bits/wordsize.h
							/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
			/usr/local/include/c++/10.1.0/bits/localefwd.h
				/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++locale.h
					/usr/local/include/c++/10.1.0/clocale
						/usr/include/locale.h
							/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
							/usr/include/x86_64-linux-gnu/bits/locale.h
				/usr/local/include/c++/10.1.0/cctype
					/usr/include/ctype.h
			/usr/local/include/c++/10.1.0/bits/ios_base.h
				/usr/local/include/c++/10.1.0/ext/atomicity.h
					/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/gthr.h
						/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/gthr-default.h
							/usr/include/pthread.h
								/usr/include/sched.h
									/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
									/usr/include/x86_64-linux-gnu/bits/sched.h
										/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h
									/usr/include/x86_64-linux-gnu/bits/cpu-set.h
								/usr/include/time.h
									/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
									/usr/include/x86_64-linux-gnu/bits/time.h
										/usr/include/x86_64-linux-gnu/bits/timex.h
									/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
									/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
								/usr/include/x86_64-linux-gnu/bits/setjmp.h
									/usr/include/x86_64-linux-gnu/bits/wordsize.h
								/usr/include/x86_64-linux-gnu/bits/wordsize.h
					/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/atomic_word.h
				/usr/local/include/c++/10.1.0/bits/locale_classes.h
					/usr/local/include/c++/10.1.0/string
						/usr/local/include/c++/10.1.0/bits/allocator.h
							/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++allocator.h
								/usr/local/include/c++/10.1.0/ext/new_allocator.h
						/usr/local/include/c++/10.1.0/bits/ostream_insert.h
							/usr/local/include/c++/10.1.0/bits/cxxabi_forced.h
						/usr/local/include/c++/10.1.0/bits/stl_function.h
							/usr/local/include/c++/10.1.0/backward/binders.h
						/usr/local/include/c++/10.1.0/bits/stl_algo.h
							/usr/local/include/c++/10.1.0/cstdlib
							/usr/local/include/c++/10.1.0/bits/algorithmfwd.h
								/usr/local/include/c++/10.1.0/initializer_list
							/usr/local/include/c++/10.1.0/bits/stl_heap.h
							/usr/local/include/c++/10.1.0/bits/stl_tempbuf.h
								/usr/local/include/c++/10.1.0/bits/stl_construct.h
							/usr/local/include/c++/10.1.0/bits/uniform_int_dist.h
						/usr/local/include/c++/10.1.0/bits/range_access.h
							/usr/local/include/c++/10.1.0/bits/int_limits.h
						/usr/local/include/c++/10.1.0/bits/basic_string.h
							/usr/local/include/c++/10.1.0/ext/alloc_traits.h
								/usr/local/include/c++/10.1.0/bits/alloc_traits.h
							/usr/local/include/c++/10.1.0/string_view
								/usr/local/include/c++/10.1.0/bits/functional_hash.h
								/usr/local/include/c++/10.1.0/bits/string_view.tcc
							/usr/local/include/c++/10.1.0/ext/string_conversions.h
								/usr/local/include/c++/10.1.0/cstdlib
								/usr/local/include/c++/10.1.0/cwchar
								/usr/local/include/c++/10.1.0/cstdio
									/usr/include/stdio.h
										/usr/include/x86_64-linux-gnu/bits/libc-header-start.h
										/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h
										/usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h
										/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h
										/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h
										/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h
										/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h
										/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
										/usr/include/x86_64-linux-gnu/bits/sys_errlist.h
								/usr/local/include/c++/10.1.0/cerrno
									/usr/include/errno.h
										/usr/include/x86_64-linux-gnu/bits/errno.h
											/usr/include/linux/errno.h
												/usr/include/x86_64-linux-gnu/asm/errno.h
													/usr/include/asm-generic/errno.h
														/usr/include/asm-generic/errno-base.h
										/usr/include/x86_64-linux-gnu/bits/types/error_t.h
							/usr/local/include/c++/10.1.0/bits/charconv.h
						/usr/local/include/c++/10.1.0/bits/basic_string.tcc
					/usr/local/include/c++/10.1.0/bits/locale_classes.tcc
				/usr/local/include/c++/10.1.0/system_error
					/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/error_constants.h
						/usr/local/include/c++/10.1.0/cerrno
					/usr/local/include/c++/10.1.0/stdexcept
			/usr/local/include/c++/10.1.0/streambuf
				/usr/local/include/c++/10.1.0/bits/streambuf.tcc
			/usr/local/include/c++/10.1.0/bits/basic_ios.h
				/usr/local/include/c++/10.1.0/bits/locale_facets.h
					/usr/local/include/c++/10.1.0/cwctype
						/usr/include/wctype.h
							/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
					/usr/local/include/c++/10.1.0/cctype
					/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_base.h
					/usr/local/include/c++/10.1.0/bits/streambuf_iterator.h
					/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_inline.h
					/usr/local/include/c++/10.1.0/bits/locale_facets.tcc
				/usr/local/include/c++/10.1.0/bits/basic_ios.tcc
		/usr/local/include/c++/10.1.0/bits/ostream.tcc
	/usr/local/include/c++/10.1.0/istream
		/usr/local/include/c++/10.1.0/bits/istream.tcc
/usr/local/include/c++/10.1.0/vector
	/usr/local/include/c++/10.1.0/bits/stl_uninitialized.h
	/usr/local/include/c++/10.1.0/bits/stl_vector.h
	/usr/local/include/c++/10.1.0/bits/stl_bvector.h
	/usr/local/include/c++/10.1.0/bits/vector.tcc
Multiple include guards may be useful for:
/usr/include/linux/errno.h
/usr/include/x86_64-linux-gnu/asm/errno.h
/usr/include/x86_64-linux-gnu/bits/byteswap.h
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h
/usr/include/x86_64-linux-gnu/bits/fp-fast.h
/usr/include/x86_64-linux-gnu/bits/fp-logb.h
/usr/include/x86_64-linux-gnu/bits/iscanonical.h
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h
/usr/include/x86_64-linux-gnu/bits/locale.h
/usr/include/x86_64-linux-gnu/bits/math-vector.h
/usr/include/x86_64-linux-gnu/bits/select.h
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h
/usr/include/x86_64-linux-gnu/bits/time64.h
/usr/include/x86_64-linux-gnu/bits/timesize.h
/usr/include/x86_64-linux-gnu/bits/typesizes.h
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h
/usr/include/x86_64-linux-gnu/bits/waitflags.h
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h
/usr/include/x86_64-linux-gnu/gnu/stubs.h
/usr/local/include/c++/10.1.0/clocale
/usr/local/include/c++/10.1.0/cmath
/usr/local/include/c++/10.1.0/cstdio
/usr/local/include/c++/10.1.0/cwctype
/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_base.h
/usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_inline.h