; RUN: llc < %s -mtriple=x86_64-linux

target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
	%"struct.DataOutBase::GmvFlags" = type { i32 }
	%"struct.FE_DGPNonparametric<3>" = type { [1156 x i8], i32, %"struct.PolynomialSpace<1>" }
	%"struct.FiniteElementData<1>" = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
	%struct.Line = type { [2 x i32] }
	%"struct.PolynomialSpace<1>" = type { %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >", i32, %"struct.std::vector<int,std::allocator<int> >", %"struct.std::vector<int,std::allocator<int> >" }
	%"struct.Polynomials::Polynomial<double>" = type { %struct.Subscriptor, %"struct.std::vector<double,std::allocator<double> >" }
	%struct.Subscriptor = type { i32 (...)**, i32, %"struct.std::type_info"* }
	%"struct.TableBase<2,double>" = type { %struct.Subscriptor, double*, i32, %"struct.TableIndices<2>" }
	%"struct.TableIndices<2>" = type { %struct.Line }
	%"struct.std::_Bit_const_iterator" = type { %"struct.std::_Bit_iterator_base" }
	%"struct.std::_Bit_iterator_base" = type { i64*, i32 }
	%"struct.std::_Bvector_base<std::allocator<bool> >" = type { %"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" }
	%"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" = type { %"struct.std::_Bit_const_iterator", %"struct.std::_Bit_const_iterator", i64* }
	%"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" = type { %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >::_Vector_impl" }
	%"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >::_Vector_impl" = type { %"struct.Polynomials::Polynomial<double>"*, %"struct.Polynomials::Polynomial<double>"*, %"struct.Polynomials::Polynomial<double>"* }
	%"struct.std::_Vector_base<double,std::allocator<double> >" = type { %"struct.std::_Vector_base<double,std::allocator<double> >::_Vector_impl" }
	%"struct.std::_Vector_base<double,std::allocator<double> >::_Vector_impl" = type { double*, double*, double* }
	%"struct.std::_Vector_base<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" }
	%"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { i32*, i32*, i32* }
	%"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" = type { %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >::_Vector_impl" }
	%"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >::_Vector_impl" = type { %"struct.std::vector<bool,std::allocator<bool> >"*, %"struct.std::vector<bool,std::allocator<bool> >"*, %"struct.std::vector<bool,std::allocator<bool> >"* }
	%"struct.std::type_info" = type { i32 (...)**, i8* }
	%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" = type { %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" }
	%"struct.std::vector<bool,std::allocator<bool> >" = type { %"struct.std::_Bvector_base<std::allocator<bool> >" }
	%"struct.std::vector<double,std::allocator<double> >" = type { %"struct.std::_Vector_base<double,std::allocator<double> >" }
	%"struct.std::vector<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >" }
	%"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" = type { %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" }

declare void @_Unwind_Resume(i8*)

declare i8* @_Znwm(i64)

declare fastcc void @_ZNSt6vectorIjSaIjEEaSERKS1_(%"struct.std::vector<int,std::allocator<int> >"*, %"struct.std::vector<int,std::allocator<int> >"*)

declare fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* nocapture, i32, i32)

declare fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* nocapture, i64, i8* nocapture)

declare fastcc void @_ZNSt6vectorIS_IbSaIbEESaIS1_EEC2EmRKS1_RKS2_(%"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* nocapture, i64, %"struct.std::vector<bool,std::allocator<bool> >"* nocapture)

declare fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* nocapture)

declare fastcc void @_ZN24TensorProductPolynomialsILi3EEC2IN11Polynomials10PolynomialIdEEEERKSt6vectorIT_SaIS6_EE(%"struct.PolynomialSpace<1>"* nocapture, %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* nocapture)

declare fastcc void @_ZN7FE_PolyI24TensorProductPolynomialsILi3EELi3EEC2EjRKS1_RK17FiniteElementDataILi3EERKSt6vectorIbSaIbEERKS9_ISB_SaISB_EE(%"struct.FE_DGPNonparametric<3>"*, i32, %"struct.PolynomialSpace<1>"* nocapture, %"struct.FiniteElementData<1>"* nocapture, %"struct.std::vector<bool,std::allocator<bool> >"* nocapture, %"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* nocapture)

declare fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias nocapture sret, %"struct.std::vector<int,std::allocator<int> >"* nocapture)

declare fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias nocapture sret, i32)

define fastcc void @_ZN4FE_QILi3EEC1Ej(i32 %degree) personality i32 (...)* @__gxx_personality_v0 {
entry:
	invoke fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* undef, i64 1, i8* undef)
			to label %invcont.i unwind label %lpad.i

invcont.i:		; preds = %entry
	invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
			to label %invcont1.i unwind label %lpad120.i

invcont1.i:		; preds = %invcont.i
	invoke fastcc void @_ZNSt6vectorIS_IbSaIbEESaIS1_EEC2EmRKS1_RKS2_(%"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* undef, i64 undef, %"struct.std::vector<bool,std::allocator<bool> >"* undef)
			to label %invcont3.i unwind label %lpad124.i

invcont3.i:		; preds = %invcont1.i
	invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
			to label %invcont4.i unwind label %lpad128.i

invcont4.i:		; preds = %invcont3.i
	invoke fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* undef, i64 undef, i8* undef)
			to label %invcont6.i unwind label %lpad132.i

invcont6.i:		; preds = %invcont4.i
	invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
			to label %invcont7.i unwind label %lpad136.i

invcont7.i:		; preds = %invcont6.i
	invoke fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias sret undef, i32 %degree)
			to label %invcont9.i unwind label %lpad140.i

invcont9.i:		; preds = %invcont7.i
	invoke fastcc void @_ZN24TensorProductPolynomialsILi3EEC2IN11Polynomials10PolynomialIdEEEERKSt6vectorIT_SaIS6_EE(%"struct.PolynomialSpace<1>"* undef, %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
			to label %invcont10.i unwind label %lpad144.i

invcont10.i:		; preds = %invcont9.i
	invoke fastcc void @_ZN7FE_PolyI24TensorProductPolynomialsILi3EELi3EEC2EjRKS1_RK17FiniteElementDataILi3EERKSt6vectorIbSaIbEERKS9_ISB_SaISB_EE(%"struct.FE_DGPNonparametric<3>"* undef, i32 %degree, %"struct.PolynomialSpace<1>"* undef, %"struct.FiniteElementData<1>"* undef, %"struct.std::vector<bool,std::allocator<bool> >"* undef, %"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* undef)
			to label %bb14.i unwind label %lpad148.i

bb14.i:		; preds = %invcont10.i
	br i1 false, label %bb3.i164.i, label %bb.i.i.i.i160.i

bb.i.i.i.i160.i:		; preds = %bb14.i
	unreachable

bb3.i164.i:		; preds = %bb14.i
	br i1 undef, label %bb10.i168.i, label %bb.i.i.i20.i166.i

bb.i.i.i20.i166.i:		; preds = %bb3.i164.i
	unreachable

bb10.i168.i:		; preds = %bb3.i164.i
	invoke fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
			to label %bb21.i unwind label %lpad144.i

bb21.i:		; preds = %bb10.i168.i
	invoke fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
			to label %bb28.i unwind label %lpad140.i

bb28.i:		; preds = %bb21.i
	br i1 undef, label %bb35.i, label %bb.i.i.i175.i

bb.i.i.i175.i:		; preds = %bb28.i
	br label %bb35.i

bb35.i:		; preds = %bb.i.i.i175.i, %bb28.i
	br i1 undef, label %bb42.i, label %bb.i.i.i205.i

bb.i.i.i205.i:		; preds = %bb35.i
	unreachable

bb42.i:		; preds = %bb35.i
	br i1 undef, label %bb47.i, label %bb.i.i.i213.i

bb.i.i.i213.i:		; preds = %bb42.i
	unreachable

bb47.i:		; preds = %bb42.i
	br i1 undef, label %bb59.i, label %bb.i.i.i247.i

bb.i.i.i247.i:		; preds = %bb47.i
	unreachable

bb59.i:		; preds = %bb47.i
	br i1 undef, label %bb66.i, label %bb.i.i.i255.i

bb.i.i.i255.i:		; preds = %bb59.i
	unreachable

bb66.i:		; preds = %bb59.i
	br i1 undef, label %bb71.i, label %bb.i.i.i262.i

bb.i.i.i262.i:		; preds = %bb66.i
	br label %bb71.i

bb71.i:		; preds = %bb.i.i.i262.i, %bb66.i
	%tmp11.i.i29.i.i.i.i.i.i = invoke i8* @_Znwm(i64 12)
			to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i		; <i8*> [#uses=0]

lpad.i.i.i.i.i.i:		; preds = %bb71.i
        %exn.i.i.i.i.i.i = landingpad {i8*, i32}
                 cleanup
	unreachable

_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i:		; preds = %bb71.i
	br i1 undef, label %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i, label %bb.i.i.i.i94.i

bb.i.i.i.i94.i:		; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i
	unreachable

_ZNSt6vectorIjSaIjEED1Ev.exit.i.i:		; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i
	%tmp11.i.i29.i.i.i.i5.i.i = invoke i8* @_Znwm(i64 undef)
			to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i unwind label %lpad.i.i.i.i8.i.i		; <i8*> [#uses=0]

lpad.i.i.i.i8.i.i:		; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
        %exn.i.i.i.i8.i.i = landingpad {i8*, i32}
                 cleanup
	invoke void @_Unwind_Resume(i8* undef)
			to label %.noexc.i9.i.i unwind label %lpad.i19.i.i

.noexc.i9.i.i:		; preds = %lpad.i.i.i.i8.i.i
	unreachable

_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i:		; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
	br i1 undef, label %bb50.i.i.i, label %bb.i.i.i.i.i.i.i.i.i.i

bb.i.i.i.i.i.i.i.i.i.i:		; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i
	br i1 undef, label %bb50.i.i.i, label %bb.i.i.i.i.i.i.i.i.i.i

bb50.i.i.i:		; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i
	invoke fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
			to label %bb83.i unwind label %lpad188.i

lpad.i19.i.i:		; preds = %lpad.i.i.i.i8.i.i
        %exn.i19.i.i = landingpad {i8*, i32}
                 cleanup
	unreachable

bb83.i:		; preds = %bb50.i.i.i
	br i1 undef, label %invcont84.i, label %bb.i.i.i221.i

bb.i.i.i221.i:		; preds = %bb83.i
	unreachable

invcont84.i:		; preds = %bb83.i
	%tmp11.i.i29.i.i.i.i.i = invoke i8* @_Znwm(i64 undef)
			to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i unwind label %lpad.i.i.i.i315.i		; <i8*> [#uses=0]

lpad.i.i.i.i315.i:		; preds = %invcont84.i
        %exn.i.i.i.i315.i = landingpad {i8*, i32}
                 cleanup
	invoke void @_Unwind_Resume(i8* undef)
			to label %.noexc.i316.i unwind label %lpad.i352.i

.noexc.i316.i:		; preds = %lpad.i.i.i.i315.i
	unreachable

_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i:		; preds = %invcont84.i
	br i1 undef, label %bb50.i.i, label %bb.i.i.i.i.i.i.i.i320.i

bb.i.i.i.i.i.i.i.i320.i:		; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i
	br i1 undef, label %bb50.i.i, label %bb.i.i.i.i.i.i.i.i320.i

bb50.i.i:		; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i
	invoke fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
			to label %invcont86.i unwind label %lpad200.i

lpad.i352.i:		; preds = %lpad.i.i.i.i315.i
        %exn.i352.i = landingpad {i8*, i32}
                 cleanup
	unreachable

invcont86.i:		; preds = %bb50.i.i
	invoke fastcc void @_ZNSt6vectorIjSaIjEEaSERKS1_(%"struct.std::vector<int,std::allocator<int> >"* undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
			to label %.noexc380.i unwind label %lpad204.i

.noexc380.i:		; preds = %invcont86.i
	br i1 undef, label %bb100.i, label %bb.i.i.i198.i

bb.i.i.i198.i:		; preds = %.noexc380.i
	unreachable

bb100.i:		; preds = %.noexc380.i
	br i1 undef, label %invcont101.i, label %bb.i.i.i190.i

bb.i.i.i190.i:		; preds = %bb100.i
	unreachable

invcont101.i:		; preds = %bb100.i
	invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
			to label %_ZN10FullMatrixIdEC1Ejj.exit.i.i unwind label %lpad.i.i.i.i.i

lpad.i.i.i.i.i:		; preds = %invcont101.i
        %exn.i.i.i.i.i = landingpad {i8*, i32}
                 cleanup
	unreachable

_ZN10FullMatrixIdEC1Ejj.exit.i.i:		; preds = %invcont101.i
	invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
			to label %_ZN10FullMatrixIdEC1Ejj.exit28.i.i unwind label %lpad.i.i.i27.i.i

lpad.i.i.i27.i.i:		; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
        %exn.i.i.i27.i.i = landingpad {i8*, i32}
                 cleanup
	invoke void @_Unwind_Resume(i8* undef)
			to label %.noexc.i.i unwind label %lpad.i.i

.noexc.i.i:		; preds = %lpad.i.i.i27.i.i
	unreachable

_ZN10FullMatrixIdEC1Ejj.exit28.i.i:		; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
	br i1 undef, label %bb58.i.i, label %bb.i.i.i304.i.i

bb.i.i.i304.i.i:		; preds = %_ZN10FullMatrixIdEC1Ejj.exit28.i.i
	unreachable

bb58.i.i:		; preds = %_ZN10FullMatrixIdEC1Ejj.exit28.i.i
	br i1 false, label %bb.i191.i, label %bb.i.i.i297.i.i

bb.i.i.i297.i.i:		; preds = %bb58.i.i
	unreachable

lpad.i.i:		; preds = %lpad.i.i.i27.i.i
        %exn.i.i = landingpad {i8*, i32}
                 cleanup
	unreachable

bb.i191.i:		; preds = %.noexc232.i, %bb58.i.i
	invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
			to label %.noexc232.i unwind label %lpad196.i

.noexc232.i:		; preds = %bb.i191.i
	br i1 undef, label %bb29.loopexit.i.i, label %bb.i191.i

bb7.i215.i:		; preds = %bb9.i216.i
	br i1 undef, label %bb16.preheader.i.i, label %bb8.i.i

bb8.i.i:		; preds = %bb7.i215.i
	%tmp60.i.i = add i32 %0, 1		; <i32> [#uses=1]
	br label %bb9.i216.i

bb9.i216.i:		; preds = %bb29.loopexit.i.i, %bb8.i.i
	%0 = phi i32 [ 0, %bb29.loopexit.i.i ], [ %tmp60.i.i, %bb8.i.i ]		; <i32> [#uses=2]
	br i1 undef, label %bb7.i215.i, label %bb16.preheader.i.i

bb15.i.i:		; preds = %bb16.preheader.i.i, %bb15.i.i
	%j1.0212.i.i = phi i32 [ %1, %bb15.i.i ], [ 0, %bb16.preheader.i.i ]		; <i32> [#uses=2]
	%tmp6.i.i195.i.i = load i32, i32* undef, align 4		; <i32> [#uses=1]
	%tmp231.i.i = mul i32 %0, %tmp6.i.i195.i.i		; <i32> [#uses=1]
	%tmp13.i197.i.i = add i32 %j1.0212.i.i, %tmp231.i.i		; <i32> [#uses=0]
	%1 = add i32 %j1.0212.i.i, 1		; <i32> [#uses=1]
	br i1 undef, label %bb15.i.i, label %bb17.i.i

bb17.i.i:		; preds = %bb16.preheader.i.i, %bb15.i.i
	br label %bb16.preheader.i.i

bb16.preheader.i.i:		; preds = %bb17.i.i, %bb9.i216.i, %bb7.i215.i
	br i1 undef, label %bb17.i.i, label %bb15.i.i

bb29.loopexit.i.i:		; preds = %.noexc232.i
	br label %bb9.i216.i

lpad.i:		; preds = %entry
        %exn.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad120.i:		; preds = %invcont.i
        %exn120.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad124.i:		; preds = %invcont1.i
        %exn124.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad128.i:		; preds = %invcont3.i
        %exn128.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad132.i:		; preds = %invcont4.i
        %exn132.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad136.i:		; preds = %invcont6.i
        %exn136.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad140.i:		; preds = %bb21.i, %invcont7.i
        %exn140.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad144.i:		; preds = %bb10.i168.i, %invcont9.i
        %exn144.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad148.i:		; preds = %invcont10.i
        %exn148.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad188.i:		; preds = %bb50.i.i.i
        %exn188.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad196.i:		; preds = %bb.i191.i
        %exn196 = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad200.i:		; preds = %bb50.i.i
        %exn200.i = landingpad {i8*, i32}
                 cleanup
	unreachable

lpad204.i:		; preds = %invcont86.i
        %exn204.i = landingpad {i8*, i32}
                 cleanup
	unreachable
}

declare fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias nocapture sret, i32)

declare i32 @__gxx_personality_v0(...)
