; LLVM IR from maliput/maliput :: src/maliput/utility (generate_obj)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.maliput::api::TypeSpecificIdentifier.73" = type { %"class.std::__cxx11::basic_string" }
%"struct.std::pair.25" = type { %"class.maliput::utility::mesh::GeoMesh", %"struct.maliput::utility::Material" }
%"class.maliput::utility::mesh::GeoMesh" = type { %"class.maliput::utility::mesh::UniqueIndexer", %"class.maliput::utility::mesh::UniqueIndexer.37", %"class.std::vector.58" }
%"class.maliput::utility::mesh::UniqueIndexer" = type { %"class.std::unordered_map", %"class.std::vector.32" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.maliput::utility::mesh::UniqueIndexer.37" = type { %"class.std::unordered_map.38", %"class.std::vector.53" }
%"class.std::unordered_map.38" = type { %"class.std::_Hashtable.39" }
%"class.std::_Hashtable.39" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::vector.53" = type { %"struct.std::_Vector_base.54" }
%"struct.std::_Vector_base.54" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.58" = type { %"struct.std::_Vector_base.59" }
%"struct.std::_Vector_base.59" = type { %"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl" }
%"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl" = type { %"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl_data" }
%"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.maliput::utility::Material" = type { %"class.std::__cxx11::basic_string", %"class.maliput::math::Vector3", %"class.maliput::math::Vector3", %"class.maliput::math::Vector3", double, double }
%"class.maliput::math::Vector3" = type { %"class.maliput::math::VectorBase" }
%"class.maliput::math::VectorBase" = type { %"struct.std::array" }
%"struct.std::array" = type { [3 x double] }
%"class.std::map.76" = type { %"class.std::_Rb_tree.77" }
%"class.std::_Rb_tree.77" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.maliput::api::TypeSpecificIdentifier.83" = type { %"class.std::__cxx11::basic_string" }
%"class.std::vector.84" = type { %"struct.std::_Vector_base.85" }
%"struct.std::_Vector_base.85" = type { %"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl" }
%"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl" = type { %"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl_data" }
%"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%"struct.maliput::utility::ObjFeatures" = type { double, double, i8, i8, i8, i8, i8, i8, double, double, double, double, double, double, double, %"class.maliput::api::InertialPosition", %"class.std::vector.63" }
%"class.maliput::api::InertialPosition" = type { %"class.maliput::math::Vector3" }
%"class.std::vector.63" = type { %"struct.std::_Vector_base.64" }
%"struct.std::_Vector_base.64" = type { %"struct.std::_Vector_base<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>, std::allocator<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>>>::_Vector_impl" }
%"struct.std::_Vector_base<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>, std::allocator<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>>>::_Vector_impl" = type { %"struct.std::_Vector_base<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>, std::allocator<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>, std::allocator<maliput::api::TypeSpecificIdentifier<maliput::api::Segment>>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZN7maliput7utility12_GLOBAL__N_113kBlandAsphaltB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_19kLaneHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_112kMarkerPaintB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_112kHBoundsHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_116kBranchPointGlowB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_119kGrayedBlandAsphaltB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_115kGrayedLaneHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_118kGrayedMarkerPaintB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_19kSidewalkB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@__func__._ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE = external hidden unnamed_addr constant [12 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [14 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) #2

; Function Attrs: noreturn
declare void @_ZN7maliput6common8internal5ThrowEPKcS3_S3_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #4 align 2

declare noundef ptr @_ZN7maliput3logEv() #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api12RoadGeometry13num_junctionsEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api12RoadGeometry8junctionEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api8Junction12num_segmentsEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api8Junction7segmentEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7maliput7utility12_GLOBAL__N_125IsSegmentRenderedNormallyERKNS_3api22TypeSpecificIdentifierINS2_7SegmentEEERKSt6vectorIS5_SaIS5_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind noalias writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7maliput7utility12_GLOBAL__N_113RenderSegmentEPKNS_3api7SegmentERKNS0_11ObjFeaturesEPNS0_4mesh7GeoMeshESB_SB_SB_SB_(ptr noundef, ptr noundef nonnull align 8 dereferenceable(128), ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 8 dereferenceable(304)) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api12RoadGeometry17num_branch_pointsEv(ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api12RoadGeometry12branch_pointEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind noalias writable sret(%"struct.std::pair.25") align 8, ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(120)) #2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE(ptr dead_on_unwind noalias writable sret(%"class.std::map.76") align 8 %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(128) %2) #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.maliput::api::TypeSpecificIdentifier.83", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %11 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %12 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %13 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %14 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %15 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %16 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %17 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %18 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca %"class.maliput::api::TypeSpecificIdentifier.73", align 8
  %25 = alloca %"class.maliput::api::TypeSpecificIdentifier.73", align 8
  %26 = alloca %"class.std::vector.84", align 8
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca i1, align 1
  %30 = alloca %"struct.std::pair.25", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator.0", align 1
  %33 = alloca %"struct.std::pair.25", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator.0", align 1
  %36 = alloca %"struct.std::pair.25", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator.0", align 1
  %39 = alloca %"struct.std::pair.25", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator.0", align 1
  %42 = alloca %"struct.std::pair.25", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.0", align 1
  %45 = alloca %"struct.std::pair.25", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator.0", align 1
  %48 = alloca %"struct.std::pair.25", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.0", align 1
  %51 = alloca %"struct.std::pair.25", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator.0", align 1
  %54 = alloca %"struct.std::pair.25", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator.0", align 1
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  br label %57

57:                                               ; preds = %3
  %58 = load ptr, ptr %5, align 8, !tbaa !5
  %59 = icmp ne ptr %58, null
  br i1 %59, label %61, label %60

60:                                               ; preds = %57
  call void @_ZN7maliput6common8internal5ThrowEPKcS3_S3_i(ptr noundef @.str.65, ptr noundef @__func__._ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE, ptr noundef @.str.63, i32 noundef 984) #6
  unreachable

61:                                               ; preds = %57
  br label %62

62:                                               ; preds = %61
  %63 = call noundef ptr @_ZN7maliput3logEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #7
  %64 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZNK7maliput3api12RoadGeometry2idEv(ptr dead_on_unwind writable sret(%"class.maliput::api::TypeSpecificIdentifier.83") align 8 %7, ptr noundef nonnull align 8 dereferenceable(8) %64)
  %65 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %66 unwind label %83

66:                                               ; preds = %62
  invoke void @_ZN7maliput6common6Logger5traceIJA37_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA4_cEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12) %63, ptr noundef nonnull align 1 dereferenceable(37) @.str.78, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 1 dereferenceable(4) @.str.79)
          to label %67 unwind label %83

67:                                               ; preds = %66
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 184, ptr %10) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10)
  call void @llvm.lifetime.start.p0(i64 184, ptr %11) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11)
          to label %68 unwind label %87

68:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 184, ptr %12) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12)
          to label %69 unwind label %91

69:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 184, ptr %13) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13)
          to label %70 unwind label %95

70:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 184, ptr %14) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %14)
          to label %71 unwind label %99

71:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 184, ptr %15) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %15)
          to label %72 unwind label %103

72:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 184, ptr %16) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %16)
          to label %73 unwind label %107

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 184, ptr %17) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %17)
          to label %74 unwind label %111

74:                                               ; preds = %73
  call void @llvm.lifetime.start.p0(i64 184, ptr %18) #7
  invoke void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %18)
          to label %75 unwind label %115

75:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 0, ptr %19, align 4, !tbaa !9
  br label %76

76:                                               ; preds = %212, %75
  %77 = load i32, ptr %19, align 4, !tbaa !9
  %78 = load ptr, ptr %5, align 8, !tbaa !5
  %79 = invoke noundef i32 @_ZNK7maliput3api12RoadGeometry13num_junctionsEv(ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %80 unwind label %119

80:                                               ; preds = %76
  %81 = icmp slt i32 %77, %79
  br i1 %81, label %123, label %82

82:                                               ; preds = %80
  store i32 4, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %217

83:                                               ; preds = %66, %62
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  store ptr %85, ptr %8, align 8
  %86 = extractvalue { ptr, i32 } %84, 1
  store i32 %86, ptr %9, align 4
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #7
  br label %475

87:                                               ; preds = %67
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %8, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %9, align 4
  br label %474

91:                                               ; preds = %68
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %8, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %9, align 4
  br label %473

95:                                               ; preds = %69
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %8, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %9, align 4
  br label %472

99:                                               ; preds = %70
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %8, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %9, align 4
  br label %471

103:                                              ; preds = %71
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %8, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %9, align 4
  br label %470

107:                                              ; preds = %72
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %8, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %9, align 4
  br label %469

111:                                              ; preds = %73
  %112 = landingpad { ptr, i32 }
          cleanup
  %113 = extractvalue { ptr, i32 } %112, 0
  store ptr %113, ptr %8, align 8
  %114 = extractvalue { ptr, i32 } %112, 1
  store i32 %114, ptr %9, align 4
  br label %468

115:                                              ; preds = %74
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %8, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %9, align 4
  br label %467

119:                                              ; preds = %76
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %8, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %9, align 4
  br label %216

123:                                              ; preds = %80
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %124 = load ptr, ptr %5, align 8, !tbaa !5
  %125 = load i32, ptr %19, align 4, !tbaa !9
  %126 = invoke noundef ptr @_ZNK7maliput3api12RoadGeometry8junctionEi(ptr noundef nonnull align 8 dereferenceable(8) %124, i32 noundef %125)
          to label %127 unwind label %131

127:                                              ; preds = %123
  store ptr %126, ptr %21, align 8, !tbaa !5
  %128 = load ptr, ptr %21, align 8, !tbaa !5
  %129 = icmp ne ptr %128, null
  br i1 %129, label %135, label %130

130:                                              ; preds = %127
  store i32 6, ptr %20, align 4
  br label %209

131:                                              ; preds = %123
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %8, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %9, align 4
  br label %215

135:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 0, ptr %22, align 4, !tbaa !9
  br label %136

136:                                              ; preds = %203, %135
  %137 = load i32, ptr %22, align 4, !tbaa !9
  %138 = load ptr, ptr %21, align 8, !tbaa !5
  %139 = invoke noundef i32 @_ZNK7maliput3api8Junction12num_segmentsEv(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %140 unwind label %143

140:                                              ; preds = %136
  %141 = icmp slt i32 %137, %139
  br i1 %141, label %147, label %142

142:                                              ; preds = %140
  store i32 7, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %208

143:                                              ; preds = %136
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %8, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %9, align 4
  br label %207

147:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %148 = load ptr, ptr %21, align 8, !tbaa !5
  %149 = load i32, ptr %22, align 4, !tbaa !9
  %150 = invoke noundef ptr @_ZNK7maliput3api8Junction7segmentEi(ptr noundef nonnull align 8 dereferenceable(8) %148, i32 noundef %149)
          to label %151 unwind label %155

151:                                              ; preds = %147
  store ptr %150, ptr %23, align 8, !tbaa !5
  %152 = load ptr, ptr %23, align 8, !tbaa !5
  %153 = icmp ne ptr %152, null
  br i1 %153, label %159, label %154

154:                                              ; preds = %151
  store i32 9, ptr %20, align 4
  br label %200

155:                                              ; preds = %195, %173, %159, %147
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %8, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %9, align 4
  br label %206

159:                                              ; preds = %151
  %160 = invoke noundef ptr @_ZN7maliput3logEv()
          to label %161 unwind label %155

161:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #7
  %162 = load ptr, ptr %23, align 8, !tbaa !5
  invoke void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8 %24, ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %163 unwind label %177

163:                                              ; preds = %161
  %164 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_7SegmentEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %165 unwind label %181

165:                                              ; preds = %163
  invoke void @_ZN7maliput6common6Logger5traceIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12) %160, ptr noundef nonnull align 1 dereferenceable(22) @.str.80, ptr noundef nonnull align 8 dereferenceable(32) %164)
          to label %166 unwind label %181

166:                                              ; preds = %165
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #7
  %167 = load ptr, ptr %23, align 8, !tbaa !5
  invoke void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %167)
          to label %168 unwind label %186

168:                                              ; preds = %166
  %169 = load ptr, ptr %6, align 8, !tbaa !5
  %170 = getelementptr inbounds %"struct.maliput::utility::ObjFeatures", ptr %169, i32 0, i32 16
  %171 = invoke noundef zeroext i1 @_ZN7maliput7utility12_GLOBAL__N_125IsSegmentRenderedNormallyERKNS_3api22TypeSpecificIdentifierINS2_7SegmentEEERKSt6vectorIS5_SaIS5_EE(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(24) %170)
          to label %172 unwind label %190

172:                                              ; preds = %168
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br i1 %171, label %173, label %195

173:                                              ; preds = %172
  %174 = load ptr, ptr %23, align 8, !tbaa !5
  %175 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN7maliput7utility12_GLOBAL__N_113RenderSegmentEPKNS_3api7SegmentERKNS0_11ObjFeaturesEPNS0_4mesh7GeoMeshESB_SB_SB_SB_(ptr noundef %174, ptr noundef nonnull align 8 dereferenceable(128) %175, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %18)
          to label %176 unwind label %155

176:                                              ; preds = %173
  br label %199

177:                                              ; preds = %161
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %8, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %9, align 4
  br label %185

181:                                              ; preds = %165, %163
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %8, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %9, align 4
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %185

185:                                              ; preds = %181, %177
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  br label %206

186:                                              ; preds = %166
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %8, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %9, align 4
  br label %194

190:                                              ; preds = %168
  %191 = landingpad { ptr, i32 }
          cleanup
  %192 = extractvalue { ptr, i32 } %191, 0
  store ptr %192, ptr %8, align 8
  %193 = extractvalue { ptr, i32 } %191, 1
  store i32 %193, ptr %9, align 4
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %194

194:                                              ; preds = %190, %186
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %206

195:                                              ; preds = %172
  %196 = load ptr, ptr %23, align 8, !tbaa !5
  %197 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN7maliput7utility12_GLOBAL__N_113RenderSegmentEPKNS_3api7SegmentERKNS0_11ObjFeaturesEPNS0_4mesh7GeoMeshESB_SB_SB_SB_(ptr noundef %196, ptr noundef nonnull align 8 dereferenceable(128) %197, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %13, ptr noundef %18)
          to label %198 unwind label %155

198:                                              ; preds = %195
  br label %199

199:                                              ; preds = %198, %176
  store i32 0, ptr %20, align 4
  br label %200

200:                                              ; preds = %199, %154
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  %201 = load i32, ptr %20, align 4
  switch i32 %201, label %480 [
    i32 0, label %202
    i32 9, label %203
  ]

202:                                              ; preds = %200
  br label %203

203:                                              ; preds = %202, %200
  %204 = load i32, ptr %22, align 4, !tbaa !9
  %205 = add nsw i32 %204, 1
  store i32 %205, ptr %22, align 4, !tbaa !9
  br label %136, !llvm.loop !11

206:                                              ; preds = %194, %185, %155
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br label %207

207:                                              ; preds = %206, %143
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %215

208:                                              ; preds = %142
  store i32 0, ptr %20, align 4
  br label %209

209:                                              ; preds = %208, %130
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  %210 = load i32, ptr %20, align 4
  switch i32 %210, label %480 [
    i32 0, label %211
    i32 6, label %212
  ]

211:                                              ; preds = %209
  br label %212

212:                                              ; preds = %211, %209
  %213 = load i32, ptr %19, align 4, !tbaa !9
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr %19, align 4, !tbaa !9
  br label %76, !llvm.loop !13

215:                                              ; preds = %207, %131
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %216

216:                                              ; preds = %215, %119
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %466

217:                                              ; preds = %82
  %218 = load ptr, ptr %6, align 8, !tbaa !5
  %219 = getelementptr inbounds %"struct.maliput::utility::ObjFeatures", ptr %218, i32 0, i32 5
  %220 = load i8, ptr %219, align 1, !tbaa !14, !range !26, !noundef !27
  %221 = trunc i8 %220 to i1
  br i1 %221, label %222, label %263

222:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #7
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !9
  br label %223

223:                                              ; preds = %258, %222
  %224 = load i32, ptr %27, align 4, !tbaa !9
  %225 = load ptr, ptr %5, align 8, !tbaa !5
  %226 = invoke noundef i32 @_ZNK7maliput3api12RoadGeometry17num_branch_pointsEv(ptr noundef nonnull align 8 dereferenceable(8) %225)
          to label %227 unwind label %230

227:                                              ; preds = %223
  %228 = icmp slt i32 %224, %226
  br i1 %228, label %234, label %229

229:                                              ; preds = %227
  store i32 10, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %262

230:                                              ; preds = %223
  %231 = landingpad { ptr, i32 }
          cleanup
  %232 = extractvalue { ptr, i32 } %231, 0
  store ptr %232, ptr %8, align 8
  %233 = extractvalue { ptr, i32 } %231, 1
  store i32 %233, ptr %9, align 4
  br label %261

234:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %235 = load ptr, ptr %5, align 8, !tbaa !5
  %236 = load i32, ptr %27, align 4, !tbaa !9
  %237 = invoke noundef ptr @_ZNK7maliput3api12RoadGeometry12branch_pointEi(ptr noundef nonnull align 8 dereferenceable(8) %235, i32 noundef %236)
          to label %238 unwind label %242

238:                                              ; preds = %234
  store ptr %237, ptr %28, align 8, !tbaa !5
  %239 = load ptr, ptr %28, align 8, !tbaa !5
  %240 = icmp ne ptr %239, null
  br i1 %240, label %246, label %241

241:                                              ; preds = %238
  store i32 12, ptr %20, align 4
  br label %255

242:                                              ; preds = %246, %234
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %8, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %261

246:                                              ; preds = %238
  %247 = load ptr, ptr %28, align 8, !tbaa !5
  %248 = load ptr, ptr %6, align 8, !tbaa !5
  %249 = getelementptr inbounds %"struct.maliput::utility::ObjFeatures", ptr %248, i32 0, i32 13
  %250 = load double, ptr %249, align 8, !tbaa !28
  %251 = load ptr, ptr %6, align 8, !tbaa !5
  %252 = getelementptr inbounds %"struct.maliput::utility::ObjFeatures", ptr %251, i32 0, i32 14
  %253 = load double, ptr %252, align 8, !tbaa !29
  invoke void @_ZN7maliput7utility12_GLOBAL__N_117RenderBranchPointEPKNS_3api11BranchPointEddPNS0_4mesh7GeoMeshEPSt6vectorINS2_16InertialPositionESaISA_EE(ptr noundef %247, double noundef %250, double noundef %253, ptr noundef %14, ptr noundef %26)
          to label %254 unwind label %242

254:                                              ; preds = %246
  store i32 0, ptr %20, align 4
  br label %255

255:                                              ; preds = %254, %241
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  %256 = load i32, ptr %20, align 4
  switch i32 %256, label %480 [
    i32 0, label %257
    i32 12, label %258
  ]

257:                                              ; preds = %255
  br label %258

258:                                              ; preds = %257, %255
  %259 = load i32, ptr %27, align 4, !tbaa !9
  %260 = add nsw i32 %259, 1
  store i32 %260, ptr %27, align 4, !tbaa !9
  br label %223, !llvm.loop !30

261:                                              ; preds = %242, %230
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  br label %466

262:                                              ; preds = %229
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  br label %263

263:                                              ; preds = %262, %217
  store i1 false, ptr %29, align 1
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %30) #7
  %264 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_113kBlandAsphaltB5cxx11E)
          to label %265 unwind label %337

265:                                              ; preds = %263
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %30, ptr noundef nonnull align 8 dereferenceable(184) %10, ptr noundef nonnull align 8 dereferenceable(120) %264)
          to label %266 unwind label %337

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.74, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %267 unwind label %341

267:                                              ; preds = %266
  %268 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %269 unwind label %345

269:                                              ; preds = %267
  %270 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %268, ptr noundef nonnull align 8 dereferenceable(304) %30)
          to label %271 unwind label %345

271:                                              ; preds = %269
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %30) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %33) #7
  %272 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_19kLaneHazeB5cxx11E)
          to label %273 unwind label %351

273:                                              ; preds = %271
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %33, ptr noundef nonnull align 8 dereferenceable(184) %11, ptr noundef nonnull align 8 dereferenceable(120) %272)
          to label %274 unwind label %351

274:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.81, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %275 unwind label %355

275:                                              ; preds = %274
  %276 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %277 unwind label %359

277:                                              ; preds = %275
  %278 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %276, ptr noundef nonnull align 8 dereferenceable(304) %33)
          to label %279 unwind label %359

279:                                              ; preds = %277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %33) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %36) #7
  %280 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_112kMarkerPaintB5cxx11E)
          to label %281 unwind label %365

281:                                              ; preds = %279
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %36, ptr noundef nonnull align 8 dereferenceable(184) %12, ptr noundef nonnull align 8 dereferenceable(120) %280)
          to label %282 unwind label %365

282:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %283 unwind label %369

283:                                              ; preds = %282
  %284 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %285 unwind label %373

285:                                              ; preds = %283
  %286 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %284, ptr noundef nonnull align 8 dereferenceable(304) %36)
          to label %287 unwind label %373

287:                                              ; preds = %285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %36) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %39) #7
  %288 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_112kHBoundsHazeB5cxx11E)
          to label %289 unwind label %379

289:                                              ; preds = %287
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %39, ptr noundef nonnull align 8 dereferenceable(184) %13, ptr noundef nonnull align 8 dereferenceable(120) %288)
          to label %290 unwind label %379

290:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %291 unwind label %383

291:                                              ; preds = %290
  %292 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %293 unwind label %387

293:                                              ; preds = %291
  %294 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %292, ptr noundef nonnull align 8 dereferenceable(304) %39)
          to label %295 unwind label %387

295:                                              ; preds = %293
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %39) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %42) #7
  %296 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_116kBranchPointGlowB5cxx11E)
          to label %297 unwind label %393

297:                                              ; preds = %295
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %42, ptr noundef nonnull align 8 dereferenceable(184) %14, ptr noundef nonnull align 8 dereferenceable(120) %296)
          to label %298 unwind label %393

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.83, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %299 unwind label %397

299:                                              ; preds = %298
  %300 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %301 unwind label %401

301:                                              ; preds = %299
  %302 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %300, ptr noundef nonnull align 8 dereferenceable(304) %42)
          to label %303 unwind label %401

303:                                              ; preds = %301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %42) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %45) #7
  %304 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_119kGrayedBlandAsphaltB5cxx11E)
          to label %305 unwind label %407

305:                                              ; preds = %303
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %45, ptr noundef nonnull align 8 dereferenceable(184) %15, ptr noundef nonnull align 8 dereferenceable(120) %304)
          to label %306 unwind label %407

306:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.75, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %307 unwind label %411

307:                                              ; preds = %306
  %308 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %309 unwind label %415

309:                                              ; preds = %307
  %310 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %308, ptr noundef nonnull align 8 dereferenceable(304) %45)
          to label %311 unwind label %415

311:                                              ; preds = %309
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %45) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %48) #7
  %312 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_115kGrayedLaneHazeB5cxx11E)
          to label %313 unwind label %421

313:                                              ; preds = %311
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %48, ptr noundef nonnull align 8 dereferenceable(184) %16, ptr noundef nonnull align 8 dereferenceable(120) %312)
          to label %314 unwind label %421

314:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.84, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %315 unwind label %425

315:                                              ; preds = %314
  %316 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %317 unwind label %429

317:                                              ; preds = %315
  %318 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %316, ptr noundef nonnull align 8 dereferenceable(304) %48)
          to label %319 unwind label %429

319:                                              ; preds = %317
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %48) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %51) #7
  %320 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_118kGrayedMarkerPaintB5cxx11E)
          to label %321 unwind label %435

321:                                              ; preds = %319
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %51, ptr noundef nonnull align 8 dereferenceable(184) %17, ptr noundef nonnull align 8 dereferenceable(120) %320)
          to label %322 unwind label %435

322:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %323 unwind label %439

323:                                              ; preds = %322
  %324 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %325 unwind label %443

325:                                              ; preds = %323
  %326 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %324, ptr noundef nonnull align 8 dereferenceable(304) %51)
          to label %327 unwind label %443

327:                                              ; preds = %325
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %51) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr %54) #7
  %328 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_19kSidewalkB5cxx11E)
          to label %329 unwind label %449

329:                                              ; preds = %327
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind writable sret(%"struct.std::pair.25") align 8 %54, ptr noundef nonnull align 8 dereferenceable(184) %18, ptr noundef nonnull align 8 dereferenceable(120) %328)
          to label %330 unwind label %449

330:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.34, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %331 unwind label %453

331:                                              ; preds = %330
  %332 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %333 unwind label %457

333:                                              ; preds = %331
  %334 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %332, ptr noundef nonnull align 8 dereferenceable(304) %54)
          to label %335 unwind label %457

335:                                              ; preds = %333
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %54) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr %54) #7
  store i1 true, ptr %29, align 1
  store i32 1, ptr %20, align 4
  %336 = load i1, ptr %29, align 1
  br i1 %336, label %464, label %463

337:                                              ; preds = %265, %263
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %8, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %9, align 4
  br label %350

341:                                              ; preds = %266
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %8, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %9, align 4
  br label %349

345:                                              ; preds = %269, %267
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %8, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %349

349:                                              ; preds = %345, %341
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %30) #7
  br label %350

350:                                              ; preds = %349, %337
  call void @llvm.lifetime.end.p0(i64 304, ptr %30) #7
  br label %465

351:                                              ; preds = %273, %271
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %8, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %9, align 4
  br label %364

355:                                              ; preds = %274
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %8, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %9, align 4
  br label %363

359:                                              ; preds = %277, %275
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %8, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %363

363:                                              ; preds = %359, %355
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %33) #7
  br label %364

364:                                              ; preds = %363, %351
  call void @llvm.lifetime.end.p0(i64 304, ptr %33) #7
  br label %465

365:                                              ; preds = %281, %279
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %8, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %9, align 4
  br label %378

369:                                              ; preds = %282
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %8, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %9, align 4
  br label %377

373:                                              ; preds = %285, %283
  %374 = landingpad { ptr, i32 }
          cleanup
  %375 = extractvalue { ptr, i32 } %374, 0
  store ptr %375, ptr %8, align 8
  %376 = extractvalue { ptr, i32 } %374, 1
  store i32 %376, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %377

377:                                              ; preds = %373, %369
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %36) #7
  br label %378

378:                                              ; preds = %377, %365
  call void @llvm.lifetime.end.p0(i64 304, ptr %36) #7
  br label %465

379:                                              ; preds = %289, %287
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %8, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %9, align 4
  br label %392

383:                                              ; preds = %290
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %8, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %9, align 4
  br label %391

387:                                              ; preds = %293, %291
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %8, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  br label %391

391:                                              ; preds = %387, %383
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %39) #7
  br label %392

392:                                              ; preds = %391, %379
  call void @llvm.lifetime.end.p0(i64 304, ptr %39) #7
  br label %465

393:                                              ; preds = %297, %295
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %8, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %9, align 4
  br label %406

397:                                              ; preds = %298
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %8, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %9, align 4
  br label %405

401:                                              ; preds = %301, %299
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %8, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %405

405:                                              ; preds = %401, %397
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %42) #7
  br label %406

406:                                              ; preds = %405, %393
  call void @llvm.lifetime.end.p0(i64 304, ptr %42) #7
  br label %465

407:                                              ; preds = %305, %303
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %8, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %9, align 4
  br label %420

411:                                              ; preds = %306
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %8, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %9, align 4
  br label %419

415:                                              ; preds = %309, %307
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %8, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %419

419:                                              ; preds = %415, %411
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %45) #7
  br label %420

420:                                              ; preds = %419, %407
  call void @llvm.lifetime.end.p0(i64 304, ptr %45) #7
  br label %465

421:                                              ; preds = %313, %311
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %8, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %9, align 4
  br label %434

425:                                              ; preds = %314
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %8, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %9, align 4
  br label %433

429:                                              ; preds = %317, %315
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %8, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %433

433:                                              ; preds = %429, %425
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %48) #7
  br label %434

434:                                              ; preds = %433, %421
  call void @llvm.lifetime.end.p0(i64 304, ptr %48) #7
  br label %465

435:                                              ; preds = %321, %319
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %8, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %9, align 4
  br label %448

439:                                              ; preds = %322
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %8, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %9, align 4
  br label %447

443:                                              ; preds = %325, %323
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %8, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %447

447:                                              ; preds = %443, %439
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %51) #7
  br label %448

448:                                              ; preds = %447, %435
  call void @llvm.lifetime.end.p0(i64 304, ptr %51) #7
  br label %465

449:                                              ; preds = %329, %327
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %8, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %9, align 4
  br label %462

453:                                              ; preds = %330
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %8, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %9, align 4
  br label %461

457:                                              ; preds = %333, %331
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %8, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %461

461:                                              ; preds = %457, %453
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %54) #7
  br label %462

462:                                              ; preds = %461, %449
  call void @llvm.lifetime.end.p0(i64 304, ptr %54) #7
  br label %465

463:                                              ; preds = %335
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) #7
  br label %464

464:                                              ; preds = %463, %335
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %18) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %18) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %17) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %17) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %16) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %16) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %15) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %15) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %14) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %14) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %13) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %12) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %11) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %10) #7
  ret void

465:                                              ; preds = %462, %448, %434, %420, %406, %392, %378, %364, %350
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) #7
  br label %466

466:                                              ; preds = %465, %261, %216
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %18) #7
  br label %467

467:                                              ; preds = %466, %115
  call void @llvm.lifetime.end.p0(i64 184, ptr %18) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %17) #7
  br label %468

468:                                              ; preds = %467, %111
  call void @llvm.lifetime.end.p0(i64 184, ptr %17) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %16) #7
  br label %469

469:                                              ; preds = %468, %107
  call void @llvm.lifetime.end.p0(i64 184, ptr %16) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %15) #7
  br label %470

470:                                              ; preds = %469, %103
  call void @llvm.lifetime.end.p0(i64 184, ptr %15) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %14) #7
  br label %471

471:                                              ; preds = %470, %99
  call void @llvm.lifetime.end.p0(i64 184, ptr %14) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13) #7
  br label %472

472:                                              ; preds = %471, %95
  call void @llvm.lifetime.end.p0(i64 184, ptr %13) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12) #7
  br label %473

473:                                              ; preds = %472, %91
  call void @llvm.lifetime.end.p0(i64 184, ptr %12) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11) #7
  br label %474

474:                                              ; preds = %473, %87
  call void @llvm.lifetime.end.p0(i64 184, ptr %11) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr %10) #7
  br label %475

475:                                              ; preds = %474, %83
  %476 = load ptr, ptr %8, align 8
  %477 = load i32, ptr %9, align 4
  %478 = insertvalue { ptr, i32 } poison, ptr %476, 0
  %479 = insertvalue { ptr, i32 } %478, i32 %477, 1
  resume { ptr, i32 } %479

480:                                              ; preds = %255, %209, %200
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7maliput6common6Logger5traceIJA37_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA4_cEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(37), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(4)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7maliput3api12RoadGeometry2idEv(ptr dead_on_unwind noalias writable sret(%"class.maliput::api::TypeSpecificIdentifier.83") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7maliput6common6Logger5traceIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(22), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_7SegmentEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7maliput7utility12_GLOBAL__N_117RenderBranchPointEPKNS_3api11BranchPointEddPNS0_4mesh7GeoMeshEPSt6vectorINS2_16InertialPositionESaISA_EE(ptr noundef, double noundef, double noundef, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { noreturn }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = !{!15, !17, i64 19}
!15 = !{!"_ZTSN7maliput7utility11ObjFeaturesE", !16, i64 0, !16, i64 8, !17, i64 16, !17, i64 17, !17, i64 18, !17, i64 19, !17, i64 20, !17, i64 21, !16, i64 24, !16, i64 32, !16, i64 40, !16, i64 48, !16, i64 56, !16, i64 64, !16, i64 72, !18, i64 80, !22, i64 104}
!16 = !{!"double", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTSN7maliput3api16InertialPositionE", !19, i64 0}
!19 = !{!"_ZTSN7maliput4math7Vector3E", !20, i64 0}
!20 = !{!"_ZTSN7maliput4math10VectorBaseILm3ENS0_7Vector3EEE", !21, i64 0}
!21 = !{!"_ZTSSt5arrayIdLm3EE", !7, i64 0}
!22 = !{!"_ZTSSt6vectorIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{i8 0, i8 2}
!27 = !{}
!28 = !{!15, !16, i64 64}
!29 = !{!15, !16, i64 72}
!30 = distinct !{!30, !12}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.maliput::api::TypeSpecificIdentifier.73" = type { %"class.std::__cxx11::basic_string" }
%"struct.std::pair.25" = type { %"class.maliput::utility::mesh::GeoMesh", %"struct.maliput::utility::Material" }
%"class.maliput::utility::mesh::GeoMesh" = type { %"class.maliput::utility::mesh::UniqueIndexer", %"class.maliput::utility::mesh::UniqueIndexer.37", %"class.std::vector.58" }
%"class.maliput::utility::mesh::UniqueIndexer" = type { %"class.std::unordered_map", %"class.std::vector.32" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoVertex *, std::allocator<const maliput::utility::mesh::GeoVertex *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.maliput::utility::mesh::UniqueIndexer.37" = type { %"class.std::unordered_map.38", %"class.std::vector.53" }
%"class.std::unordered_map.38" = type { %"class.std::_Hashtable.39" }
%"class.std::_Hashtable.39" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::vector.53" = type { %"struct.std::_Vector_base.54" }
%"struct.std::_Vector_base.54" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const maliput::utility::mesh::GeoNormal *, std::allocator<const maliput::utility::mesh::GeoNormal *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.58" = type { %"struct.std::_Vector_base.59" }
%"struct.std::_Vector_base.59" = type { %"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl" }
%"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl" = type { %"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl_data" }
%"struct.std::_Vector_base<maliput::utility::mesh::IndexFace, std::allocator<maliput::utility::mesh::IndexFace>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.maliput::utility::Material" = type { %"class.std::__cxx11::basic_string", %"class.maliput::math::Vector3", %"class.maliput::math::Vector3", %"class.maliput::math::Vector3", double, double }
%"class.maliput::math::Vector3" = type { %"class.maliput::math::VectorBase" }
%"class.maliput::math::VectorBase" = type { %"struct.std::array" }
%"struct.std::array" = type { [3 x double] }
%"class.std::map.76" = type { %"class.std::_Rb_tree.77" }
%"class.std::_Rb_tree.77" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::pair<maliput::utility::mesh::GeoMesh, maliput::utility::Material>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.maliput::api::TypeSpecificIdentifier.83" = type { %"class.std::__cxx11::basic_string" }
%"class.std::vector.84" = type { %"struct.std::_Vector_base.85" }
%"struct.std::_Vector_base.85" = type { %"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl" }
%"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl" = type { %"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl_data" }
%"struct.std::_Vector_base<maliput::api::InertialPosition, std::allocator<maliput::api::InertialPosition>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }

@_ZN7maliput7utility12_GLOBAL__N_113kBlandAsphaltB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_19kLaneHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_112kMarkerPaintB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_112kHBoundsHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_116kBranchPointGlowB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_119kGrayedBlandAsphaltB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_115kGrayedLaneHazeB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_118kGrayedMarkerPaintB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZN7maliput7utility12_GLOBAL__N_19kSidewalkB5cxx11E = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@__func__._ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE = external hidden unnamed_addr constant [12 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [14 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

; Function Attrs: noreturn
declare void @_ZN7maliput6common8internal5ThrowEPKcS3_S3_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #4 align 2

declare noundef ptr @_ZN7maliput3logEv() local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api12RoadGeometry13num_junctionsEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api12RoadGeometry8junctionEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api8Junction12num_segmentsEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api8Junction7segmentEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZN7maliput7utility12_GLOBAL__N_125IsSegmentRenderedNormallyERKNS_3api22TypeSpecificIdentifierINS2_7SegmentEEERKSt6vectorIS5_SaIS5_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind noalias writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7maliput7utility12_GLOBAL__N_113RenderSegmentEPKNS_3api7SegmentERKNS0_11ObjFeaturesEPNS0_4mesh7GeoMeshESB_SB_SB_SB_(ptr noundef, ptr noundef nonnull align 8 dereferenceable(128), ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK7maliput3api12RoadGeometry17num_branch_pointsEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7maliput3api12RoadGeometry12branch_pointEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind noalias writable sret(%"struct.std::pair.25") align 8, ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(120)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE(ptr dead_on_unwind noalias writable sret(%"class.std::map.76") align 8 %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(128) %2) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.maliput::api::TypeSpecificIdentifier.83", align 8
  %5 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %6 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %7 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %8 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %9 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %10 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %11 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %12 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %13 = alloca %"class.maliput::utility::mesh::GeoMesh", align 8
  %14 = alloca %"class.maliput::api::TypeSpecificIdentifier.73", align 8
  %15 = alloca %"class.maliput::api::TypeSpecificIdentifier.73", align 8
  %16 = alloca %"class.std::vector.84", align 8
  %17 = alloca %"struct.std::pair.25", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.0", align 1
  %20 = alloca %"struct.std::pair.25", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator.0", align 1
  %23 = alloca %"struct.std::pair.25", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.0", align 1
  %26 = alloca %"struct.std::pair.25", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.0", align 1
  %29 = alloca %"struct.std::pair.25", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.0", align 1
  %32 = alloca %"struct.std::pair.25", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator.0", align 1
  %35 = alloca %"struct.std::pair.25", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.0", align 1
  %38 = alloca %"struct.std::pair.25", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator.0", align 1
  %41 = alloca %"struct.std::pair.25", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator.0", align 1
  %.not = icmp eq ptr %1, null
  br i1 %.not, label %44, label %45

44:                                               ; preds = %3
  tail call void @_ZN7maliput6common8internal5ThrowEPKcS3_S3_i(ptr noundef nonnull @.str.65, ptr noundef nonnull @__func__._ZN7maliput7utility11BuildMeshesB5cxx11EPKNS_3api12RoadGeometryERKNS0_11ObjFeaturesE, ptr noundef nonnull @.str.63, i32 noundef 984) #6
  unreachable

45:                                               ; preds = %3
  %46 = tail call noundef ptr @_ZN7maliput3logEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @_ZNK7maliput3api12RoadGeometry2idEv(ptr dead_on_unwind nonnull writable sret(%"class.maliput::api::TypeSpecificIdentifier.83") align 8 %4, ptr noundef nonnull align 8 dereferenceable(8) %1)
  %47 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
  invoke void @_ZN7maliput6common6Logger5traceIJA37_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA4_cEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12) %46, ptr noundef nonnull align 1 dereferenceable(37) @.str.78, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 1 dereferenceable(4) @.str.79)
          to label %48 unwind label %58

48:                                               ; preds = %45
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %5) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %5)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %6) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %6)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %7) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %7)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %8) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %8)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %9) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %9)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %10) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %11) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %12) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12)
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %13) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13)
  %49 = getelementptr inbounds i8, ptr %2, i64 104
  br label %50

50:                                               ; preds = %.loopexit, %48
  %.063 = phi i32 [ 0, %48 ], [ %97, %.loopexit ]
  %51 = invoke noundef i32 @_ZNK7maliput3api12RoadGeometry13num_junctionsEv(ptr noundef nonnull align 8 dereferenceable(8) %1)
          to label %52 unwind label %60

52:                                               ; preds = %50
  %53 = icmp slt i32 %.063, %51
  br i1 %53, label %62, label %54

54:                                               ; preds = %52
  %55 = getelementptr inbounds i8, ptr %2, i64 19
  %56 = load i8, ptr %55, align 1, !tbaa !5, !range !20, !noundef !21
  %57 = trunc nuw i8 %56 to i1
  br i1 %57, label %98, label %119

58:                                               ; preds = %45
  %59 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br label %266

60:                                               ; preds = %50
  %61 = landingpad { ptr, i32 }
          cleanup
  br label %265

62:                                               ; preds = %52
  %63 = invoke noundef ptr @_ZNK7maliput3api12RoadGeometry8junctionEi(ptr noundef nonnull align 8 dereferenceable(8) %1, i32 noundef %.063)
          to label %64 unwind label %65

64:                                               ; preds = %62
  %.not98 = icmp eq ptr %63, null
  br i1 %.not98, label %.loopexit, label %.preheader

65:                                               ; preds = %62
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %265

.preheader:                                       ; preds = %64, %95
  %.062 = phi i32 [ %96, %95 ], [ 0, %64 ]
  %67 = invoke noundef i32 @_ZNK7maliput3api8Junction12num_segmentsEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %68 unwind label %70

68:                                               ; preds = %.preheader
  %69 = icmp slt i32 %.062, %67
  br i1 %69, label %72, label %.loopexit

70:                                               ; preds = %.preheader
  %71 = landingpad { ptr, i32 }
          cleanup
  br label %265

72:                                               ; preds = %68
  %73 = invoke noundef ptr @_ZNK7maliput3api8Junction7segmentEi(ptr noundef nonnull align 8 dereferenceable(8) %63, i32 noundef %.062)
          to label %74 unwind label %75

74:                                               ; preds = %72
  %.not99 = icmp eq ptr %73, null
  br i1 %.not99, label %95, label %77

75:                                               ; preds = %.invoke, %77, %72
  %76 = landingpad { ptr, i32 }
          cleanup
  br label %265

77:                                               ; preds = %74
  %78 = invoke noundef ptr @_ZN7maliput3logEv()
          to label %79 unwind label %75

79:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind nonnull writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %80 unwind label %85

80:                                               ; preds = %79
  %81 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_7SegmentEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32) %14)
  invoke void @_ZN7maliput6common6Logger5traceIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12) %78, ptr noundef nonnull align 1 dereferenceable(22) @.str.80, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %82 unwind label %87

82:                                               ; preds = %80
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  invoke void @_ZNK7maliput3api7Segment2idEv(ptr dead_on_unwind nonnull writable sret(%"class.maliput::api::TypeSpecificIdentifier.73") align 8 %15, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %83 unwind label %90

83:                                               ; preds = %82
  %84 = invoke noundef zeroext i1 @_ZN7maliput7utility12_GLOBAL__N_125IsSegmentRenderedNormallyERKNS_3api22TypeSpecificIdentifierINS2_7SegmentEEERKSt6vectorIS5_SaIS5_EE(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %.invoke unwind label %92

.invoke:                                          ; preds = %83
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %. = select i1 %84, ptr %5, ptr %10
  %.111 = select i1 %84, ptr %6, ptr %11
  %.112 = select i1 %84, ptr %7, ptr %12
  invoke void @_ZN7maliput7utility12_GLOBAL__N_113RenderSegmentEPKNS_3api7SegmentERKNS0_11ObjFeaturesEPNS0_4mesh7GeoMeshESB_SB_SB_SB_(ptr noundef nonnull %73, ptr noundef nonnull align 8 dereferenceable(128) %2, ptr noundef nonnull %., ptr noundef nonnull %.111, ptr noundef nonnull %.112, ptr noundef nonnull %8, ptr noundef nonnull %13)
          to label %95 unwind label %75

85:                                               ; preds = %79
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %89

87:                                               ; preds = %80
  %88 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %89

89:                                               ; preds = %87, %85
  %.pn100 = phi { ptr, i32 } [ %88, %87 ], [ %86, %85 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %265

90:                                               ; preds = %82
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %94

92:                                               ; preds = %83
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7maliput3api22TypeSpecificIdentifierINS0_7SegmentEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %94

94:                                               ; preds = %92, %90
  %.pn102 = phi { ptr, i32 } [ %93, %92 ], [ %91, %90 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %265

95:                                               ; preds = %.invoke, %74
  %96 = add nuw nsw i32 %.062, 1
  br label %.preheader, !llvm.loop !22

.loopexit:                                        ; preds = %68, %64
  %97 = add nuw nsw i32 %.063, 1
  br label %50, !llvm.loop !24

98:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #7
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  %99 = getelementptr inbounds i8, ptr %2, i64 64
  %100 = getelementptr inbounds i8, ptr %2, i64 72
  br label %101

101:                                              ; preds = %116, %98
  %.033 = phi i32 [ 0, %98 ], [ %117, %116 ]
  %102 = invoke noundef i32 @_ZNK7maliput3api12RoadGeometry17num_branch_pointsEv(ptr noundef nonnull align 8 dereferenceable(8) %1)
          to label %103 unwind label %106

103:                                              ; preds = %101
  %104 = icmp slt i32 %.033, %102
  br i1 %104, label %108, label %105

105:                                              ; preds = %103
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %119

106:                                              ; preds = %101
  %107 = landingpad { ptr, i32 }
          cleanup
  br label %118

108:                                              ; preds = %103
  %109 = invoke noundef ptr @_ZNK7maliput3api12RoadGeometry12branch_pointEi(ptr noundef nonnull align 8 dereferenceable(8) %1, i32 noundef %.033)
          to label %110 unwind label %111

110:                                              ; preds = %108
  %.not95 = icmp eq ptr %109, null
  br i1 %.not95, label %116, label %113

111:                                              ; preds = %113, %108
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %118

113:                                              ; preds = %110
  %114 = load double, ptr %99, align 8, !tbaa !25
  %115 = load double, ptr %100, align 8, !tbaa !26
  invoke void @_ZN7maliput7utility12_GLOBAL__N_117RenderBranchPointEPKNS_3api11BranchPointEddPNS0_4mesh7GeoMeshEPSt6vectorINS2_16InertialPositionESaISA_EE(ptr noundef nonnull %109, double noundef %114, double noundef %115, ptr noundef nonnull %9, ptr noundef nonnull %16)
          to label %116 unwind label %111

116:                                              ; preds = %113, %110
  %117 = add nuw nsw i32 %.033, 1
  br label %101, !llvm.loop !27

118:                                              ; preds = %111, %106
  %.pn96 = phi { ptr, i32 } [ %112, %111 ], [ %107, %106 ]
  call void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #7
  br label %265

119:                                              ; preds = %105, %54
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %17) #7
  %120 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_113kBlandAsphaltB5cxx11E)
          to label %121 unwind label %192

121:                                              ; preds = %119
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %17, ptr noundef nonnull align 8 dereferenceable(184) %5, ptr noundef nonnull align 8 dereferenceable(120) %120)
          to label %122 unwind label %192

122:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.74, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %123 unwind label %194

123:                                              ; preds = %122
  %124 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %125 unwind label %196

125:                                              ; preds = %123
  %126 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %124, ptr noundef nonnull align 8 dereferenceable(304) %17)
          to label %127 unwind label %196

127:                                              ; preds = %125
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %17) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %20) #7
  %128 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_19kLaneHazeB5cxx11E)
          to label %129 unwind label %200

129:                                              ; preds = %127
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %20, ptr noundef nonnull align 8 dereferenceable(184) %6, ptr noundef nonnull align 8 dereferenceable(120) %128)
          to label %130 unwind label %200

130:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.81, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %131 unwind label %202

131:                                              ; preds = %130
  %132 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %133 unwind label %204

133:                                              ; preds = %131
  %134 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %132, ptr noundef nonnull align 8 dereferenceable(304) %20)
          to label %135 unwind label %204

135:                                              ; preds = %133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %20) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %23) #7
  %136 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_112kMarkerPaintB5cxx11E)
          to label %137 unwind label %208

137:                                              ; preds = %135
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %23, ptr noundef nonnull align 8 dereferenceable(184) %7, ptr noundef nonnull align 8 dereferenceable(120) %136)
          to label %138 unwind label %208

138:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %139 unwind label %210

139:                                              ; preds = %138
  %140 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %141 unwind label %212

141:                                              ; preds = %139
  %142 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %140, ptr noundef nonnull align 8 dereferenceable(304) %23)
          to label %143 unwind label %212

143:                                              ; preds = %141
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %23) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %26) #7
  %144 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_112kHBoundsHazeB5cxx11E)
          to label %145 unwind label %216

145:                                              ; preds = %143
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %26, ptr noundef nonnull align 8 dereferenceable(184) %8, ptr noundef nonnull align 8 dereferenceable(120) %144)
          to label %146 unwind label %216

146:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %147 unwind label %218

147:                                              ; preds = %146
  %148 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %149 unwind label %220

149:                                              ; preds = %147
  %150 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %148, ptr noundef nonnull align 8 dereferenceable(304) %26)
          to label %151 unwind label %220

151:                                              ; preds = %149
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %26) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %29) #7
  %152 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_116kBranchPointGlowB5cxx11E)
          to label %153 unwind label %224

153:                                              ; preds = %151
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %29, ptr noundef nonnull align 8 dereferenceable(184) %9, ptr noundef nonnull align 8 dereferenceable(120) %152)
          to label %154 unwind label %224

154:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.83, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %155 unwind label %226

155:                                              ; preds = %154
  %156 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %157 unwind label %228

157:                                              ; preds = %155
  %158 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %156, ptr noundef nonnull align 8 dereferenceable(304) %29)
          to label %159 unwind label %228

159:                                              ; preds = %157
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %29) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %32) #7
  %160 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_119kGrayedBlandAsphaltB5cxx11E)
          to label %161 unwind label %232

161:                                              ; preds = %159
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %32, ptr noundef nonnull align 8 dereferenceable(184) %10, ptr noundef nonnull align 8 dereferenceable(120) %160)
          to label %162 unwind label %232

162:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.75, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %163 unwind label %234

163:                                              ; preds = %162
  %164 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %165 unwind label %236

165:                                              ; preds = %163
  %166 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %164, ptr noundef nonnull align 8 dereferenceable(304) %32)
          to label %167 unwind label %236

167:                                              ; preds = %165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %32) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %35) #7
  %168 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_115kGrayedLaneHazeB5cxx11E)
          to label %169 unwind label %240

169:                                              ; preds = %167
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %35, ptr noundef nonnull align 8 dereferenceable(184) %11, ptr noundef nonnull align 8 dereferenceable(120) %168)
          to label %170 unwind label %240

170:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.84, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %171 unwind label %242

171:                                              ; preds = %170
  %172 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %173 unwind label %244

173:                                              ; preds = %171
  %174 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %172, ptr noundef nonnull align 8 dereferenceable(304) %35)
          to label %175 unwind label %244

175:                                              ; preds = %173
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %35) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %38) #7
  %176 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_118kGrayedMarkerPaintB5cxx11E)
          to label %177 unwind label %248

177:                                              ; preds = %175
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %38, ptr noundef nonnull align 8 dereferenceable(184) %12, ptr noundef nonnull align 8 dereferenceable(120) %176)
          to label %178 unwind label %248

178:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %179 unwind label %250

179:                                              ; preds = %178
  %180 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %181 unwind label %252

181:                                              ; preds = %179
  %182 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %180, ptr noundef nonnull align 8 dereferenceable(304) %38)
          to label %183 unwind label %252

183:                                              ; preds = %181
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %38) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 304, ptr nonnull %41) #7
  %184 = invoke noundef nonnull align 8 dereferenceable(120) ptr @_ZN7maliput7utility17GetMaterialByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) @_ZN7maliput7utility12_GLOBAL__N_19kSidewalkB5cxx11E)
          to label %185 unwind label %256

185:                                              ; preds = %183
  invoke void @_ZSt9make_pairIN7maliput7utility4mesh7GeoMeshERKNS1_8MaterialEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.25") align 8 %41, ptr noundef nonnull align 8 dereferenceable(184) %13, ptr noundef nonnull align 8 dereferenceable(120) %184)
          to label %186 unwind label %256

186:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.34, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %187 unwind label %258

187:                                              ; preds = %186
  %188 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %189 unwind label %260

189:                                              ; preds = %187
  %190 = invoke noundef nonnull align 8 dereferenceable(304) ptr @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEEaSEOS5_(ptr noundef nonnull align 8 dereferenceable(304) %188, ptr noundef nonnull align 8 dereferenceable(304) %41)
          to label %191 unwind label %260

191:                                              ; preds = %189
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %41) #7
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %41) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %13) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %12) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %11) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %10) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %9) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %9) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %8) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %8) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %7) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %7) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %6) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %6) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %5) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5) #7
  ret void

192:                                              ; preds = %121, %119
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %199

194:                                              ; preds = %122
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %198

196:                                              ; preds = %125, %123
  %197 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %198

198:                                              ; preds = %196, %194
  %.pn = phi { ptr, i32 } [ %197, %196 ], [ %195, %194 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %17) #7
  br label %199

199:                                              ; preds = %198, %192
  %.pn.pn = phi { ptr, i32 } [ %.pn, %198 ], [ %193, %192 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %17) #7
  br label %264

200:                                              ; preds = %129, %127
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %207

202:                                              ; preds = %130
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %206

204:                                              ; preds = %133, %131
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %206

206:                                              ; preds = %204, %202
  %.pn70 = phi { ptr, i32 } [ %205, %204 ], [ %203, %202 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %20) #7
  br label %207

207:                                              ; preds = %206, %200
  %.pn70.pn = phi { ptr, i32 } [ %.pn70, %206 ], [ %201, %200 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %20) #7
  br label %264

208:                                              ; preds = %137, %135
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %215

210:                                              ; preds = %138
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %214

212:                                              ; preds = %141, %139
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %214

214:                                              ; preds = %212, %210
  %.pn73 = phi { ptr, i32 } [ %213, %212 ], [ %211, %210 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %23) #7
  br label %215

215:                                              ; preds = %214, %208
  %.pn73.pn = phi { ptr, i32 } [ %.pn73, %214 ], [ %209, %208 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %23) #7
  br label %264

216:                                              ; preds = %145, %143
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %223

218:                                              ; preds = %146
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %222

220:                                              ; preds = %149, %147
  %221 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %222

222:                                              ; preds = %220, %218
  %.pn76 = phi { ptr, i32 } [ %221, %220 ], [ %219, %218 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %26) #7
  br label %223

223:                                              ; preds = %222, %216
  %.pn76.pn = phi { ptr, i32 } [ %.pn76, %222 ], [ %217, %216 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %26) #7
  br label %264

224:                                              ; preds = %153, %151
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %231

226:                                              ; preds = %154
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %230

228:                                              ; preds = %157, %155
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %230

230:                                              ; preds = %228, %226
  %.pn79 = phi { ptr, i32 } [ %229, %228 ], [ %227, %226 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %29) #7
  br label %231

231:                                              ; preds = %230, %224
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %230 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %29) #7
  br label %264

232:                                              ; preds = %161, %159
  %233 = landingpad { ptr, i32 }
          cleanup
  br label %239

234:                                              ; preds = %162
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %238

236:                                              ; preds = %165, %163
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %238

238:                                              ; preds = %236, %234
  %.pn82 = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %32) #7
  br label %239

239:                                              ; preds = %238, %232
  %.pn82.pn = phi { ptr, i32 } [ %.pn82, %238 ], [ %233, %232 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %32) #7
  br label %264

240:                                              ; preds = %169, %167
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %247

242:                                              ; preds = %170
  %243 = landingpad { ptr, i32 }
          cleanup
  br label %246

244:                                              ; preds = %173, %171
  %245 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %246

246:                                              ; preds = %244, %242
  %.pn85 = phi { ptr, i32 } [ %245, %244 ], [ %243, %242 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %35) #7
  br label %247

247:                                              ; preds = %246, %240
  %.pn85.pn = phi { ptr, i32 } [ %.pn85, %246 ], [ %241, %240 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %35) #7
  br label %264

248:                                              ; preds = %177, %175
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %255

250:                                              ; preds = %178
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %254

252:                                              ; preds = %181, %179
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %254

254:                                              ; preds = %252, %250
  %.pn88 = phi { ptr, i32 } [ %253, %252 ], [ %251, %250 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %38) #7
  br label %255

255:                                              ; preds = %254, %248
  %.pn88.pn = phi { ptr, i32 } [ %.pn88, %254 ], [ %249, %248 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %38) #7
  br label %264

256:                                              ; preds = %185, %183
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %263

258:                                              ; preds = %186
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %262

260:                                              ; preds = %189, %187
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %262

262:                                              ; preds = %260, %258
  %.pn91 = phi { ptr, i32 } [ %261, %260 ], [ %259, %258 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @_ZNSt4pairIN7maliput7utility4mesh7GeoMeshENS1_8MaterialEED2Ev(ptr noundef nonnull align 8 dereferenceable(304) %41) #7
  br label %263

263:                                              ; preds = %262, %256
  %.pn91.pn = phi { ptr, i32 } [ %.pn91, %262 ], [ %257, %256 ]
  call void @llvm.lifetime.end.p0(i64 304, ptr nonnull %41) #7
  br label %264

264:                                              ; preds = %263, %255, %247, %239, %231, %223, %215, %207, %199
  %.pn91.pn.pn = phi { ptr, i32 } [ %.pn91.pn, %263 ], [ %.pn88.pn, %255 ], [ %.pn85.pn, %247 ], [ %.pn82.pn, %239 ], [ %.pn79.pn, %231 ], [ %.pn76.pn, %223 ], [ %.pn73.pn, %215 ], [ %.pn70.pn, %207 ], [ %.pn.pn, %199 ]
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) #7
  br label %265

265:                                              ; preds = %60, %70, %94, %89, %75, %65, %264, %118
  %.pn104.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn96, %118 ], [ %.pn91.pn.pn, %264 ], [ %61, %60 ], [ %66, %65 ], [ %71, %70 ], [ %76, %75 ], [ %.pn102, %94 ], [ %.pn100, %89 ]
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %13) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %13) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %12) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %12) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %11) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %11) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %10) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %10) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %9) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %9) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %8) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %8) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %7) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %7) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %6) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %6) #7
  call void @_ZN7maliput7utility4mesh7GeoMeshD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %5) #7
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %5) #7
  br label %266

266:                                              ; preds = %265, %58
  %.pn104.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn104.pn.pn.pn.pn, %265 ], [ %59, %58 ]
  resume { ptr, i32 } %.pn104.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7maliput6common6Logger5traceIJA37_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA4_cEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(37), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(4)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7maliput3api12RoadGeometry2idEv(ptr dead_on_unwind noalias writable sret(%"class.maliput::api::TypeSpecificIdentifier.83") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7maliput3api22TypeSpecificIdentifierINS0_12RoadGeometryEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7maliput6common6Logger5traceIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvDpRKT_(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 1 dereferenceable(22), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7maliput3api22TypeSpecificIdentifierINS0_7SegmentEE6stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7maliput7utility12_GLOBAL__N_117RenderBranchPointEPKNS_3api11BranchPointEddPNS0_4mesh7GeoMeshEPSt6vectorINS2_16InertialPositionESaISA_EE(ptr noundef, double noundef, double noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIN7maliput3api16InertialPositionESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIN7maliput7utility4mesh7GeoMeshENS8_8MaterialEESt4lessIS5_ESaIS6_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { noreturn }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !10, i64 19}
!6 = !{!"_ZTSN7maliput7utility11ObjFeaturesE", !7, i64 0, !7, i64 8, !10, i64 16, !10, i64 17, !10, i64 18, !10, i64 19, !10, i64 20, !10, i64 21, !7, i64 24, !7, i64 32, !7, i64 40, !7, i64 48, !7, i64 56, !7, i64 64, !7, i64 72, !11, i64 80, !15, i64 104}
!7 = !{!"double", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"bool", !8, i64 0}
!11 = !{!"_ZTSN7maliput3api16InertialPositionE", !12, i64 0}
!12 = !{!"_ZTSN7maliput4math7Vector3E", !13, i64 0}
!13 = !{!"_ZTSN7maliput4math10VectorBaseILm3ENS0_7Vector3EEE", !14, i64 0}
!14 = !{!"_ZTSSt5arrayIdLm3EE", !8, i64 0}
!15 = !{!"_ZTSSt6vectorIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIN7maliput3api22TypeSpecificIdentifierINS1_7SegmentEEESaIS4_EE17_Vector_impl_dataE", !19, i64 0, !19, i64 8, !19, i64 16}
!19 = !{!"any pointer", !8, i64 0}
!20 = !{i8 0, i8 2}
!21 = !{}
!22 = distinct !{!22, !23}
!23 = !{!"llvm.loop.mustprogress"}
!24 = distinct !{!24, !23}
!25 = !{!6, !7, i64 64}
!26 = !{!6, !7, i64 72}
!27 = distinct !{!27, !23}


; Effective O3 passes: GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass