(TranslationUnit
    [(Subroutine
        dqawse
        [(f)
        (a)
        (b)
        (alfa)
        (beta)
        (integr)
        (epsabs)
        (epsrel)
        (limit)
        (result)
        (abserr)
        (neval)
        (ier)
        (alist)
        (blist)
        (rlist)
        (elist)
        (iord)
        (last)]
        []
        ()
        ()
        []
        []
        []
        [(Declaration
            (AttrType
                TypeDoublePrecision
                []
                ()
                ()
                None
            )
            []
            [(a
            []
            []
            ()
            ()
            None
            ())
            (abserr
            []
            []
            ()
            ()
            None
            ())
            (alfa
            []
            []
            ()
            ()
            None
            ())
            (alist
            []
            []
            ()
            ()
            None
            ())
            (area
            []
            []
            ()
            ()
            None
            ())
            (area1
            []
            []
            ()
            ()
            None
            ())
            (area12
            []
            []
            ()
            ()
            None
            ())
            (area2
            []
            []
            ()
            ()
            None
            ())
            (a1
            []
            []
            ()
            ()
            None
            ())
            (a2
            []
            []
            ()
            ()
            None
            ())
            (b
            []
            []
            ()
            ()
            None
            ())
            (beta
            []
            []
            ()
            ()
            None
            ())
            (blist
            []
            []
            ()
            ()
            None
            ())
            (b1
            []
            []
            ()
            ()
            None
            ())
            (b2
            []
            []
            ()
            ()
            None
            ())
            (centre
            []
            []
            ()
            ()
            None
            ())
            (dabs
            []
            []
            ()
            ()
            None
            ())
            (dmax1
            []
            []
            ()
            ()
            None
            ())
            (d1mach
            []
            []
            ()
            ()
            None
            ())
            (elist
            []
            []
            ()
            ()
            None
            ())
            (epmach
            []
            []
            ()
            ()
            None
            ())
            (epsabs
            []
            []
            ()
            ()
            None
            ())
            (epsrel
            []
            []
            ()
            ()
            None
            ())
            (errbnd
            []
            []
            ()
            ()
            None
            ())
            (errmax
            []
            []
            ()
            ()
            None
            ())
            (error1
            []
            []
            ()
            ()
            None
            ())
            (erro12
            []
            []
            ()
            ()
            None
            ())
            (error2
            []
            []
            ()
            ()
            None
            ())
            (errsum
            []
            []
            ()
            ()
            None
            ())
            (f
            []
            []
            ()
            ()
            None
            ())
            (resas1
            []
            []
            ()
            ()
            None
            ())
            (resas2
            []
            []
            ()
            ()
            None
            ())
            (result
            []
            []
            ()
            ()
            None
            ())
            (rg
            []
            []
            ()
            ()
            None
            ())
            (rh
            []
            []
            ()
            ()
            None
            ())
            (ri
            []
            []
            ()
            ()
            None
            ())
            (rj
            []
            []
            ()
            ()
            None
            ())
            (rlist
            []
            []
            ()
            ()
            None
            ())
            (uflow
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(ier
            []
            []
            ()
            ()
            None
            ())
            (integr
            []
            []
            ()
            ()
            None
            ())
            (iord
            []
            []
            ()
            ()
            None
            ())
            (iroff1
            []
            []
            ()
            ()
            None
            ())
            (iroff2
            []
            []
            ()
            ()
            None
            ())
            (k
            []
            []
            ()
            ()
            None
            ())
            (last
            []
            []
            ()
            ()
            None
            ())
            (limit
            []
            []
            ()
            ()
            None
            ())
            (maxerr
            []
            []
            ()
            ()
            None
            ())
            (nev
            []
            []
            ()
            ()
            None
            ())
            (neval
            []
            []
            ()
            ()
            None
            ())
            (nrmax
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrExternal
            )]
            [(f
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            ()
            [(AttrDimension
                []
            )]
            [(alist
            [(1
            limit
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (blist
            [(1
            limit
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (rlist
            [(1
            limit
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (elist
            [(1
            limit
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (iord
            [(1
            limit
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (ri
            [(1
            25
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (rj
            [(1
            25
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (rh
            [(1
            25
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (rg
            [(1
            25
            DimensionExpr)]
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(Assignment
            0
            epmach
            (FuncCallOrArray
                d1mach
                []
                [(()
                4
                ()
                0)]
                []
                []
                []
            )
            ()
        )
        (Assignment
            0
            uflow
            (FuncCallOrArray
                d1mach
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            ()
        )
        (Assignment
            0
            ier
            6
            ()
        )
        (Assignment
            0
            neval
            0
            ()
        )
        (Assignment
            0
            last
            0
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                rlist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            (Real "0.0d+00")
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                elist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            (Real "0.0d+00")
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                iord
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            0
            ()
        )
        (Assignment
            0
            result
            (Real "0.0d+00")
            ()
        )
        (Assignment
            0
            abserr
            (Real "0.0d+00")
            ()
        )
        (If
            0
            ()
            (BoolOp
                (BoolOp
                    (BoolOp
                        (BoolOp
                            (BoolOp
                                (BoolOp
                                    (<= b a)
                                    Or
                                    (BoolOp
                                        (== epsabs (Real "0.0d+00"))
                                        And
                                        (< epsrel (FuncCallOrArray
                                            dmax1
                                            []
                                            [(()
                                            (* (Real "0.5d+02") epmach)
                                            ()
                                            0)
                                            (()
                                            (Real "0.5d-28")
                                            ()
                                            0)]
                                            []
                                            []
                                            []
                                        ))
                                    )
                                )
                                Or
                                (<= alfa (u- (Real "0.1d+01")))
                            )
                            Or
                            (<= beta (u- (Real "0.1d+01")))
                        )
                        Or
                        (< integr 1)
                    )
                    Or
                    (> integr 4)
                )
                Or
                (< limit 2)
            )
            [(GoTo
                0
                ()
                999
                []
                ()
            )]
            []
            ()
            ()
            ()
        )
        (Assignment
            0
            ier
            0
            ()
        )
        (SubroutineCall
            0
            dqmomo
            []
            [(()
            alfa
            ()
            0)
            (()
            beta
            ()
            0)
            (()
            ri
            ()
            0)
            (()
            rj
            ()
            0)
            (()
            rg
            ()
            0)
            (()
            rh
            ()
            0)
            (()
            integr
            ()
            0)]
            []
            []
            ()
        )
        (Assignment
            0
            centre
            (* (Real "0.5d+00") (+ b a))
            ()
        )
        (SubroutineCall
            0
            dqc25s
            []
            [(()
            f
            ()
            0)
            (()
            a
            ()
            0)
            (()
            b
            ()
            0)
            (()
            a
            ()
            0)
            (()
            centre
            ()
            0)
            (()
            alfa
            ()
            0)
            (()
            beta
            ()
            0)
            (()
            ri
            ()
            0)
            (()
            rj
            ()
            0)
            (()
            rg
            ()
            0)
            (()
            rh
            ()
            0)
            (()
            area1
            ()
            0)
            (()
            error1
            ()
            0)
            (()
            resas1
            ()
            0)
            (()
            integr
            ()
            0)
            (()
            nev
            ()
            0)]
            []
            []
            ()
        )
        (Assignment
            0
            neval
            nev
            ()
        )
        (SubroutineCall
            0
            dqc25s
            []
            [(()
            f
            ()
            0)
            (()
            a
            ()
            0)
            (()
            b
            ()
            0)
            (()
            centre
            ()
            0)
            (()
            b
            ()
            0)
            (()
            alfa
            ()
            0)
            (()
            beta
            ()
            0)
            (()
            ri
            ()
            0)
            (()
            rj
            ()
            0)
            (()
            rg
            ()
            0)
            (()
            rh
            ()
            0)
            (()
            area2
            ()
            0)
            (()
            error2
            ()
            0)
            (()
            resas2
            ()
            0)
            (()
            integr
            ()
            0)
            (()
            nev
            ()
            0)]
            []
            []
            ()
        )
        (Assignment
            0
            last
            2
            ()
        )
        (Assignment
            0
            neval
            (+ neval nev)
            ()
        )
        (Assignment
            0
            result
            (+ area1 area2)
            ()
        )
        (Assignment
            0
            abserr
            (+ error1 error2)
            ()
        )
        (Assignment
            0
            errbnd
            (FuncCallOrArray
                dmax1
                []
                [(()
                epsabs
                ()
                0)
                (()
                (* epsrel (FuncCallOrArray
                    dabs
                    []
                    [(()
                    result
                    ()
                    0)]
                    []
                    []
                    []
                ))
                ()
                0)]
                []
                []
                []
            )
            ()
        )
        (If
            0
            ()
            (> error2 error1)
            [(GoTo
                0
                ()
                10
                []
                ()
            )]
            []
            ()
            ()
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                alist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            a
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                alist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            centre
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                blist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            centre
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                blist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            b
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                rlist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            area1
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                rlist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            area2
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                elist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            error1
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                elist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            error2
            ()
        )
        (GoTo
            0
            ()
            20
            []
            ()
        )
        (Assignment
            10
            (FuncCallOrArray
                alist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            centre
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                alist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            a
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                blist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            b
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                blist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            centre
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                rlist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            area2
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                rlist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            area1
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                elist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            error2
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                elist
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            error1
            ()
        )
        (Assignment
            20
            (FuncCallOrArray
                iord
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            1
            ()
        )
        (Assignment
            0
            (FuncCallOrArray
                iord
                []
                [(()
                2
                ()
                0)]
                []
                []
                []
            )
            2
            ()
        )
        (If
            0
            ()
            (== limit 2)
            [(Assignment
                0
                ier
                1
                ()
            )]
            []
            ()
            ()
            ()
        )
        (If
            0
            ()
            (BoolOp
                (<= abserr errbnd)
                Or
                (== ier 1)
            )
            [(GoTo
                0
                ()
                999
                []
                ()
            )]
            []
            ()
            ()
            ()
        )
        (Assignment
            0
            errmax
            (FuncCallOrArray
                elist
                []
                [(()
                1
                ()
                0)]
                []
                []
                []
            )
            ()
        )
        (Assignment
            0
            maxerr
            1
            ()
        )
        (Assignment
            0
            nrmax
            1
            ()
        )
        (Assignment
            0
            area
            result
            ()
        )
        (Assignment
            0
            errsum
            abserr
            ()
        )
        (Assignment
            0
            iroff1
            0
            ()
        )
        (Assignment
            0
            iroff2
            0
            ()
        )
        (DoLoop
            0
            ()
            60
            last
            3
            limit
            ()
            [(Assignment
                0
                a1
                (FuncCallOrArray
                    alist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                ()
            )
            (Assignment
                0
                b1
                (* (Real "0.5d+00") (+ (FuncCallOrArray
                    alist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                ) (FuncCallOrArray
                    blist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )))
                ()
            )
            (Assignment
                0
                a2
                b1
                ()
            )
            (Assignment
                0
                b2
                (FuncCallOrArray
                    blist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                ()
            )
            (SubroutineCall
                0
                dqc25s
                []
                [(()
                f
                ()
                0)
                (()
                a
                ()
                0)
                (()
                b
                ()
                0)
                (()
                a1
                ()
                0)
                (()
                b1
                ()
                0)
                (()
                alfa
                ()
                0)
                (()
                beta
                ()
                0)
                (()
                ri
                ()
                0)
                (()
                rj
                ()
                0)
                (()
                rg
                ()
                0)
                (()
                rh
                ()
                0)
                (()
                area1
                ()
                0)
                (()
                error1
                ()
                0)
                (()
                resas1
                ()
                0)
                (()
                integr
                ()
                0)
                (()
                nev
                ()
                0)]
                []
                []
                ()
            )
            (Assignment
                0
                neval
                (+ neval nev)
                ()
            )
            (SubroutineCall
                0
                dqc25s
                []
                [(()
                f
                ()
                0)
                (()
                a
                ()
                0)
                (()
                b
                ()
                0)
                (()
                a2
                ()
                0)
                (()
                b2
                ()
                0)
                (()
                alfa
                ()
                0)
                (()
                beta
                ()
                0)
                (()
                ri
                ()
                0)
                (()
                rj
                ()
                0)
                (()
                rg
                ()
                0)
                (()
                rh
                ()
                0)
                (()
                area2
                ()
                0)
                (()
                error2
                ()
                0)
                (()
                resas2
                ()
                0)
                (()
                integr
                ()
                0)
                (()
                nev
                ()
                0)]
                []
                []
                ()
            )
            (Assignment
                0
                neval
                (+ neval nev)
                ()
            )
            (Assignment
                0
                area12
                (+ area1 area2)
                ()
            )
            (Assignment
                0
                erro12
                (+ error1 error2)
                ()
            )
            (Assignment
                0
                errsum
                (- (+ errsum erro12) errmax)
                ()
            )
            (Assignment
                0
                area
                (- (+ area area12) (FuncCallOrArray
                    rlist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                ))
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (== a a1)
                    Or
                    (== b b2)
                )
                [(GoTo
                    0
                    ()
                    30
                    []
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (== resas1 error1)
                    Or
                    (== resas2 error2)
                )
                [(GoTo
                    0
                    ()
                    30
                    []
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (< (FuncCallOrArray
                        dabs
                        []
                        [(()
                        (- (FuncCallOrArray
                            rlist
                            []
                            [(()
                            maxerr
                            ()
                            0)]
                            []
                            []
                            []
                        ) area12)
                        ()
                        0)]
                        []
                        []
                        []
                    ) (* (Real "0.1d-04") (FuncCallOrArray
                        dabs
                        []
                        [(()
                        area12
                        ()
                        0)]
                        []
                        []
                        []
                    )))
                    And
                    (>= erro12 (* (Real "0.99d+00") errmax))
                )
                [(Assignment
                    0
                    iroff1
                    (+ iroff1 1)
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (> last 10)
                    And
                    (> erro12 errmax)
                )
                [(Assignment
                    0
                    iroff2
                    (+ iroff2 1)
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (Assignment
                30
                (FuncCallOrArray
                    rlist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                area1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    rlist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                area2
                ()
            )
            (Assignment
                0
                errbnd
                (FuncCallOrArray
                    dmax1
                    []
                    [(()
                    epsabs
                    ()
                    0)
                    (()
                    (* epsrel (FuncCallOrArray
                        dabs
                        []
                        [(()
                        area
                        ()
                        0)]
                        []
                        []
                        []
                    ))
                    ()
                    0)]
                    []
                    []
                    []
                )
                ()
            )
            (If
                0
                ()
                (<= errsum errbnd)
                [(GoTo
                    0
                    ()
                    35
                    []
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (== last limit)
                [(Assignment
                    0
                    ier
                    1
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (>= iroff1 6)
                    Or
                    (>= iroff2 20)
                )
                [(Assignment
                    0
                    ier
                    2
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                0
                ()
                (<= (FuncCallOrArray
                    dmax1
                    []
                    [(()
                    (FuncCallOrArray
                        dabs
                        []
                        [(()
                        a1
                        ()
                        0)]
                        []
                        []
                        []
                    )
                    ()
                    0)
                    (()
                    (FuncCallOrArray
                        dabs
                        []
                        [(()
                        b2
                        ()
                        0)]
                        []
                        []
                        []
                    )
                    ()
                    0)]
                    []
                    []
                    []
                ) (* (+ (Real "0.1d+01") (* (Real "0.1d+03") epmach)) (+ (FuncCallOrArray
                    dabs
                    []
                    [(()
                    a2
                    ()
                    0)]
                    []
                    []
                    []
                ) (* (Real "0.1d+04") uflow))))
                [(Assignment
                    0
                    ier
                    3
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (If
                35
                ()
                (> error2 error1)
                [(GoTo
                    0
                    ()
                    40
                    []
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    alist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                a2
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    blist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                b1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    blist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                b2
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    elist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                error1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    elist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                error2
                ()
            )
            (GoTo
                0
                ()
                50
                []
                ()
            )
            (Assignment
                40
                (FuncCallOrArray
                    alist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                a2
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    alist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                a1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    blist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                b1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    rlist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                area2
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    rlist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                area1
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    elist
                    []
                    [(()
                    maxerr
                    ()
                    0)]
                    []
                    []
                    []
                )
                error2
                ()
            )
            (Assignment
                0
                (FuncCallOrArray
                    elist
                    []
                    [(()
                    last
                    ()
                    0)]
                    []
                    []
                    []
                )
                error1
                ()
            )
            (SubroutineCall
                50
                dqpsrt
                []
                [(()
                limit
                ()
                0)
                (()
                last
                ()
                0)
                (()
                maxerr
                ()
                0)
                (()
                errmax
                ()
                0)
                (()
                elist
                ()
                0)
                (()
                iord
                ()
                0)
                (()
                nrmax
                ()
                0)]
                []
                []
                ()
            )
            (If
                0
                ()
                (BoolOp
                    (/= ier 0)
                    Or
                    (<= errsum errbnd)
                )
                [(GoTo
                    0
                    ()
                    70
                    []
                    ()
                )]
                []
                ()
                ()
                ()
            )
            (Continue
                60
                ()
            )]
            ()
            ()
        )
        (Assignment
            70
            result
            (Real "0.0d+00")
            ()
        )
        (DoLoop
            0
            ()
            80
            k
            1
            last
            ()
            [(Assignment
                0
                result
                (+ result (FuncCallOrArray
                    rlist
                    []
                    [(()
                    k
                    ()
                    0)]
                    []
                    []
                    []
                ))
                ()
            )
            (Continue
                80
                ()
            )]
            ()
            ()
        )
        (Assignment
            0
            abserr
            errsum
            ()
        )
        (Return
            999
            ()
            ()
        )]
        []
        []
    )]
)
