; 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> >"), %"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(%"struct.std::vector<int,std::allocator<int> >"), 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(%"struct.std::vector<int,std::allocator<int> >") 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(%"struct.std::vector<int,std::allocator<int> >") 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(%"struct.std::vector<int,std::allocator<int> >") 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(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >") 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(%"struct.std::vector<int,std::allocator<int> >") 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(%"struct.std::vector<int,std::allocator<int> >") 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(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"), i32)

declare i32 @__gxx_personality_v0(...)
