use c++ instead of clang++ to make command line more like Xcode build
move unary operations out of binary_operation