let add v1 v2 =
    try
      Location_Bytes.location_shift (project_ival v1) v2
    with Not_based_on_null  ->
      try
        Location_Bytes.location_shift (project_ival v2) v1
      with
          Not_based_on_null  ->
            join
              (topify_arith_origin v1)
              (topify_arith_origin v2)