Hi!
If I enable set_union_unbalanced benchmark, I get:
set_union_benchmark<std_set_union> 9301 ns 9238 ns 74616 set_union_benchmark<set_union_unbalanced> 9586 ns 9550 ns 76047
However, if it's disabled (commented out), I get:
set_union_benchmark<std_set_union> 3376 ns 3364 ns 207403
Results are consistent and depend a lot on partition_point_biased code.
Seems like a bug.
code: https://gist.github.com/DenisYaroshevskiy/604f1e331b384579b2a4fb5eac3ac8ef
System info:

clang --version
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin