(TranslationUnit
    (SymbolTable
        1
        {
            array_reshape_14:
                (Program
                    (SymbolTable
                        2
                        {
                            i23:
                                (Variable
                                    2
                                    i23
                                    []
                                    Local
                                    (ArrayReshape
                                        (ArrayConstant
                                            24
                                            [-14, 3, 0, -2, 19, 1]
                                            (Array
                                                (Integer 4)
                                                [((IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 6 (Integer 4) Decimal))]
                                                FixedSizeArray
                                            )
                                            ColMajor
                                        )
                                        (ArrayPhysicalCast
                                            (ArrayConstant
                                                8
                                                [2, 3]
                                                (Array
                                                    (Integer 4)
                                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 2 (Integer 4) Decimal))]
                                                    FixedSizeArray
                                                )
                                                ColMajor
                                            )
                                            FixedSizeArray
                                            DescriptorArray
                                            (Array
                                                (Integer 4)
                                                [((IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 2 (Integer 4) Decimal))]
                                                DescriptorArray
                                            )
                                            ()
                                        )
                                        (Array
                                            (Integer 4)
                                            [((IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 2 (Integer 4) Decimal))
                                            ((IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 3 (Integer 4) Decimal))]
                                            FixedSizeArray
                                        )
                                        ()
                                    )
                                    ()
                                    Save
                                    (Array
                                        (Integer 4)
                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 2 (Integer 4) Decimal))
                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 3 (Integer 4) Decimal))]
                                        FixedSizeArray
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            test_1d_to_nd:
                                (Function
                                    (SymbolTable
                                        4
                                        {
                                            a:
                                                (Variable
                                                    4
                                                    a
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            b:
                                                (Variable
                                                    4
                                                    b
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 256 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            c:
                                                (Variable
                                                    4
                                                    c
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            d:
                                                (Variable
                                                    4
                                                    d
                                                    []
                                                    Unspecified
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [(()
                                                        ())]
                                                        DescriptorArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            eps:
                                                (Variable
                                                    4
                                                    eps
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Real 8)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            i:
                                                (Variable
                                                    4
                                                    i
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            j:
                                                (Variable
                                                    4
                                                    j
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            k:
                                                (Variable
                                                    4
                                                    k
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            l:
                                                (Variable
                                                    4
                                                    l
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            newshape:
                                                (Variable
                                                    4
                                                    newshape
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Integer 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 2 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            newshape1:
                                                (Variable
                                                    4
                                                    newshape1
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Integer 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 3 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    test_1d_to_nd
                                    (FunctionType
                                        [(Array
                                            (Real 8)
                                            [(()
                                            ())]
                                            DescriptorArray
                                        )]
                                        ()
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 4 d)]
                                    [(Assignment
                                        (Var 4 eps)
                                        (Cast
                                            (RealConstant
                                                0.000000
                                                (Real 4)
                                            )
                                            RealToReal
                                            (Real 8)
                                            (RealConstant
                                                0.000000
                                                (Real 8)
                                            )
                                        )
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 4 k)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 256 (Integer 4) Decimal)
                                        ())
                                        [(Assignment
                                            (Var 4 i)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 4 k)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 4 j)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 4 k)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Sub
                                                (IntegerBinOp
                                                    (Var 4 i)
                                                    Mul
                                                    (IntegerConstant 16 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (ArrayItem
                                                (Var 4 b)
                                                [(()
                                                (Var 4 k)
                                                ())]
                                                (Real 8)
                                                ColMajor
                                                ()
                                            )
                                            (Cast
                                                (RealBinOp
                                                    (Cast
                                                        (IntegerBinOp
                                                            (Var 4 i)
                                                            Add
                                                            (Var 4 j)
                                                            (Integer 4)
                                                            ()
                                                        )
                                                        IntegerToReal
                                                        (Real 4)
                                                        ()
                                                    )
                                                    Add
                                                    (RealConstant
                                                        0.500000
                                                        (Real 4)
                                                    )
                                                    (Real 4)
                                                    ()
                                                )
                                                RealToReal
                                                (Real 8)
                                                ()
                                            )
                                            ()
                                        )]
                                        []
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 4 newshape)
                                            [(()
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 4 newshape)
                                            [(()
                                            (IntegerConstant 2 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (Var 4 a)
                                        (ArrayReshape
                                            (Var 4 b)
                                            (ArrayPhysicalCast
                                                (Var 4 newshape)
                                                FixedSizeArray
                                                DescriptorArray
                                                (Array
                                                    (Integer 4)
                                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 2 (Integer 4) Decimal))]
                                                    DescriptorArray
                                                )
                                                ()
                                            )
                                            (Array
                                                (Real 8)
                                                [(()
                                                ())
                                                (()
                                                ())]
                                                FixedSizeArray
                                            )
                                            ()
                                        )
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 4 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ())
                                        [(DoLoop
                                            ()
                                            ((Var 4 j)
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 16 (Integer 4) Decimal)
                                            ())
                                            [(If
                                                (RealCompare
                                                    (IntrinsicElementalFunction
                                                        Abs
                                                        [(RealBinOp
                                                            (RealBinOp
                                                                (RealBinOp
                                                                    (ArrayItem
                                                                        (Var 4 a)
                                                                        [(()
                                                                        (Var 4 i)
                                                                        ())
                                                                        (()
                                                                        (Var 4 j)
                                                                        ())]
                                                                        (Real 8)
                                                                        ColMajor
                                                                        ()
                                                                    )
                                                                    Sub
                                                                    (Cast
                                                                        (IntegerBinOp
                                                                            (Var 4 i)
                                                                            Sub
                                                                            (IntegerConstant 1 (Integer 4) Decimal)
                                                                            (Integer 4)
                                                                            ()
                                                                        )
                                                                        IntegerToReal
                                                                        (Real 8)
                                                                        ()
                                                                    )
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                Sub
                                                                (Cast
                                                                    (IntegerBinOp
                                                                        (Var 4 j)
                                                                        Sub
                                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                                        (Integer 4)
                                                                        ()
                                                                    )
                                                                    IntegerToReal
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                (Real 8)
                                                                ()
                                                            )
                                                            Sub
                                                            (Cast
                                                                (RealConstant
                                                                    0.500000
                                                                    (Real 4)
                                                                )
                                                                RealToReal
                                                                (Real 8)
                                                                (RealConstant
                                                                    0.500000
                                                                    (Real 8)
                                                                )
                                                            )
                                                            (Real 8)
                                                            ()
                                                        )]
                                                        0
                                                        (Real 8)
                                                        ()
                                                    )
                                                    Gt
                                                    (Var 4 eps)
                                                    (Logical 4)
                                                    ()
                                                )
                                                [(ErrorStop
                                                    ()
                                                )]
                                                []
                                            )]
                                            []
                                        )]
                                        []
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 4 newshape1)
                                            [(()
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 4 newshape1)
                                            [(()
                                            (IntegerConstant 2 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 4 newshape1)
                                            [(()
                                            (IntegerConstant 3 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (Var 4 c)
                                        (ArrayReshape
                                            (Var 4 d)
                                            (ArrayPhysicalCast
                                                (Var 4 newshape1)
                                                FixedSizeArray
                                                DescriptorArray
                                                (Array
                                                    (Integer 4)
                                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 3 (Integer 4) Decimal))]
                                                    DescriptorArray
                                                )
                                                ()
                                            )
                                            (Array
                                                (Real 8)
                                                [(()
                                                ())
                                                (()
                                                ())
                                                (()
                                                ())]
                                                DescriptorArray
                                            )
                                            ()
                                        )
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 4 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ())
                                        [(DoLoop
                                            ()
                                            ((Var 4 j)
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 16 (Integer 4) Decimal)
                                            ())
                                            [(DoLoop
                                                ()
                                                ((Var 4 k)
                                                (IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                ())
                                                [(If
                                                    (RealCompare
                                                        (IntrinsicElementalFunction
                                                            Abs
                                                            [(RealBinOp
                                                                (RealBinOp
                                                                    (RealBinOp
                                                                        (RealBinOp
                                                                            (ArrayItem
                                                                                (Var 4 c)
                                                                                [(()
                                                                                (Var 4 i)
                                                                                ())
                                                                                (()
                                                                                (Var 4 j)
                                                                                ())
                                                                                (()
                                                                                (Var 4 k)
                                                                                ())]
                                                                                (Real 8)
                                                                                ColMajor
                                                                                ()
                                                                            )
                                                                            Sub
                                                                            (Cast
                                                                                (IntegerBinOp
                                                                                    (Var 4 i)
                                                                                    Sub
                                                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                                                    (Integer 4)
                                                                                    ()
                                                                                )
                                                                                IntegerToReal
                                                                                (Real 8)
                                                                                ()
                                                                            )
                                                                            (Real 8)
                                                                            ()
                                                                        )
                                                                        Sub
                                                                        (Cast
                                                                            (IntegerBinOp
                                                                                (Var 4 j)
                                                                                Sub
                                                                                (IntegerConstant 1 (Integer 4) Decimal)
                                                                                (Integer 4)
                                                                                ()
                                                                            )
                                                                            IntegerToReal
                                                                            (Real 8)
                                                                            ()
                                                                        )
                                                                        (Real 8)
                                                                        ()
                                                                    )
                                                                    Sub
                                                                    (Cast
                                                                        (IntegerBinOp
                                                                            (Var 4 k)
                                                                            Sub
                                                                            (IntegerConstant 1 (Integer 4) Decimal)
                                                                            (Integer 4)
                                                                            ()
                                                                        )
                                                                        IntegerToReal
                                                                        (Real 8)
                                                                        ()
                                                                    )
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                Sub
                                                                (Cast
                                                                    (RealConstant
                                                                        0.500000
                                                                        (Real 4)
                                                                    )
                                                                    RealToReal
                                                                    (Real 8)
                                                                    (RealConstant
                                                                        0.500000
                                                                        (Real 8)
                                                                    )
                                                                )
                                                                (Real 8)
                                                                ()
                                                            )]
                                                            0
                                                            (Real 8)
                                                            ()
                                                        )
                                                        Gt
                                                        (Var 4 eps)
                                                        (Logical 4)
                                                        ()
                                                    )
                                                    [(ErrorStop
                                                        ()
                                                    )]
                                                    []
                                                )]
                                                []
                                            )]
                                            []
                                        )]
                                        []
                                    )]
                                    ()
                                    Public
                                    .false.
                                    .false.
                                    ()
                                ),
                            test_nd_to_1d:
                                (Function
                                    (SymbolTable
                                        3
                                        {
                                            a:
                                                (Variable
                                                    3
                                                    a
                                                    []
                                                    In
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [(()
                                                        ())
                                                        (()
                                                        ())]
                                                        DescriptorArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            b:
                                                (Variable
                                                    3
                                                    b
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 256 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            c:
                                                (Variable
                                                    3
                                                    c
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            d:
                                                (Variable
                                                    3
                                                    d
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 4096 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            eps:
                                                (Variable
                                                    3
                                                    eps
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Real 8)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            i:
                                                (Variable
                                                    3
                                                    i
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            j:
                                                (Variable
                                                    3
                                                    j
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            k:
                                                (Variable
                                                    3
                                                    k
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            l:
                                                (Variable
                                                    3
                                                    l
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            newshape:
                                                (Variable
                                                    3
                                                    newshape
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Integer 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 1 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            newshape1:
                                                (Variable
                                                    3
                                                    newshape1
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Integer 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 1 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    test_nd_to_1d
                                    (FunctionType
                                        [(Array
                                            (Real 8)
                                            [(()
                                            ())
                                            (()
                                            ())]
                                            DescriptorArray
                                        )]
                                        ()
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 3 a)]
                                    [(Assignment
                                        (Var 3 eps)
                                        (Cast
                                            (RealConstant
                                                0.000000
                                                (Real 4)
                                            )
                                            RealToReal
                                            (Real 8)
                                            (RealConstant
                                                0.000000
                                                (Real 8)
                                            )
                                        )
                                        ()
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 3 newshape)
                                            [(()
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 256 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (Var 3 b)
                                        (ArrayReshape
                                            (Var 3 a)
                                            (ArrayPhysicalCast
                                                (Var 3 newshape)
                                                FixedSizeArray
                                                DescriptorArray
                                                (Array
                                                    (Integer 4)
                                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 1 (Integer 4) Decimal))]
                                                    DescriptorArray
                                                )
                                                ()
                                            )
                                            (Array
                                                (Real 8)
                                                [(()
                                                ())]
                                                DescriptorArray
                                            )
                                            ()
                                        )
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 3 k)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 256 (Integer 4) Decimal)
                                        ())
                                        [(Assignment
                                            (Var 3 i)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 3 k)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 3 j)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 3 k)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Sub
                                                (IntegerBinOp
                                                    (Var 3 i)
                                                    Mul
                                                    (IntegerConstant 16 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (If
                                            (RealCompare
                                                (IntrinsicElementalFunction
                                                    Abs
                                                    [(RealBinOp
                                                        (RealBinOp
                                                            (RealBinOp
                                                                (ArrayItem
                                                                    (Var 3 b)
                                                                    [(()
                                                                    (Var 3 k)
                                                                    ())]
                                                                    (Real 8)
                                                                    ColMajor
                                                                    ()
                                                                )
                                                                Sub
                                                                (Cast
                                                                    (Var 3 i)
                                                                    IntegerToReal
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                (Real 8)
                                                                ()
                                                            )
                                                            Sub
                                                            (Cast
                                                                (Var 3 j)
                                                                IntegerToReal
                                                                (Real 8)
                                                                ()
                                                            )
                                                            (Real 8)
                                                            ()
                                                        )
                                                        Sub
                                                        (Cast
                                                            (RealConstant
                                                                0.500000
                                                                (Real 4)
                                                            )
                                                            RealToReal
                                                            (Real 8)
                                                            (RealConstant
                                                                0.500000
                                                                (Real 8)
                                                            )
                                                        )
                                                        (Real 8)
                                                        ()
                                                    )]
                                                    0
                                                    (Real 8)
                                                    ()
                                                )
                                                Gt
                                                (Var 3 eps)
                                                (Logical 4)
                                                ()
                                            )
                                            [(ErrorStop
                                                ()
                                            )]
                                            []
                                        )]
                                        []
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 3 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ())
                                        [(DoLoop
                                            ()
                                            ((Var 3 j)
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 16 (Integer 4) Decimal)
                                            ())
                                            [(DoLoop
                                                ()
                                                ((Var 3 k)
                                                (IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                ())
                                                [(Assignment
                                                    (ArrayItem
                                                        (Var 3 c)
                                                        [(()
                                                        (Var 3 i)
                                                        ())
                                                        (()
                                                        (Var 3 j)
                                                        ())
                                                        (()
                                                        (Var 3 k)
                                                        ())]
                                                        (Real 8)
                                                        ColMajor
                                                        ()
                                                    )
                                                    (Cast
                                                        (RealBinOp
                                                            (Cast
                                                                (IntegerBinOp
                                                                    (IntegerBinOp
                                                                        (IntegerBinOp
                                                                            (Var 3 i)
                                                                            Sub
                                                                            (IntegerConstant 1 (Integer 4) Decimal)
                                                                            (Integer 4)
                                                                            ()
                                                                        )
                                                                        Add
                                                                        (IntegerBinOp
                                                                            (Var 3 j)
                                                                            Sub
                                                                            (IntegerConstant 1 (Integer 4) Decimal)
                                                                            (Integer 4)
                                                                            ()
                                                                        )
                                                                        (Integer 4)
                                                                        ()
                                                                    )
                                                                    Add
                                                                    (IntegerBinOp
                                                                        (Var 3 k)
                                                                        Sub
                                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                                        (Integer 4)
                                                                        ()
                                                                    )
                                                                    (Integer 4)
                                                                    ()
                                                                )
                                                                IntegerToReal
                                                                (Real 4)
                                                                ()
                                                            )
                                                            Add
                                                            (RealConstant
                                                                0.500000
                                                                (Real 4)
                                                            )
                                                            (Real 4)
                                                            ()
                                                        )
                                                        RealToReal
                                                        (Real 8)
                                                        ()
                                                    )
                                                    ()
                                                )]
                                                []
                                            )]
                                            []
                                        )]
                                        []
                                    )
                                    (Assignment
                                        (ArrayItem
                                            (Var 3 newshape1)
                                            [(()
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            ())]
                                            (Integer 4)
                                            ColMajor
                                            ()
                                        )
                                        (IntegerConstant 4096 (Integer 4) Decimal)
                                        ()
                                    )
                                    (Assignment
                                        (Var 3 d)
                                        (ArrayReshape
                                            (Var 3 c)
                                            (ArrayPhysicalCast
                                                (Var 3 newshape1)
                                                FixedSizeArray
                                                DescriptorArray
                                                (Array
                                                    (Integer 4)
                                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                                    (IntegerConstant 1 (Integer 4) Decimal))]
                                                    DescriptorArray
                                                )
                                                ()
                                            )
                                            (Array
                                                (Real 8)
                                                [(()
                                                ())]
                                                FixedSizeArray
                                            )
                                            ()
                                        )
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 3 l)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 4096 (Integer 4) Decimal)
                                        ())
                                        [(Assignment
                                            (Var 3 i)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 3 l)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 256 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 3 j)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (IntegerBinOp
                                                        (Var 3 l)
                                                        Sub
                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    Sub
                                                    (IntegerBinOp
                                                        (Var 3 i)
                                                        Mul
                                                        (IntegerConstant 256 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 3 k)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (IntegerBinOp
                                                        (Var 3 l)
                                                        Sub
                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    Sub
                                                    (IntegerBinOp
                                                        (Var 3 i)
                                                        Mul
                                                        (IntegerConstant 256 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    (Integer 4)
                                                    ()
                                                )
                                                Sub
                                                (IntegerBinOp
                                                    (Var 3 j)
                                                    Mul
                                                    (IntegerConstant 16 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (If
                                            (RealCompare
                                                (IntrinsicElementalFunction
                                                    Abs
                                                    [(RealBinOp
                                                        (RealBinOp
                                                            (RealBinOp
                                                                (RealBinOp
                                                                    (ArrayItem
                                                                        (Var 3 d)
                                                                        [(()
                                                                        (Var 3 l)
                                                                        ())]
                                                                        (Real 8)
                                                                        ColMajor
                                                                        ()
                                                                    )
                                                                    Sub
                                                                    (Cast
                                                                        (Var 3 i)
                                                                        IntegerToReal
                                                                        (Real 8)
                                                                        ()
                                                                    )
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                Sub
                                                                (Cast
                                                                    (Var 3 j)
                                                                    IntegerToReal
                                                                    (Real 8)
                                                                    ()
                                                                )
                                                                (Real 8)
                                                                ()
                                                            )
                                                            Sub
                                                            (Cast
                                                                (Var 3 k)
                                                                IntegerToReal
                                                                (Real 8)
                                                                ()
                                                            )
                                                            (Real 8)
                                                            ()
                                                        )
                                                        Sub
                                                        (Cast
                                                            (RealConstant
                                                                0.500000
                                                                (Real 4)
                                                            )
                                                            RealToReal
                                                            (Real 8)
                                                            (RealConstant
                                                                0.500000
                                                                (Real 8)
                                                            )
                                                        )
                                                        (Real 8)
                                                        ()
                                                    )]
                                                    0
                                                    (Real 8)
                                                    ()
                                                )
                                                Gt
                                                (Var 3 eps)
                                                (Logical 4)
                                                ()
                                            )
                                            [(ErrorStop
                                                ()
                                            )]
                                            []
                                        )]
                                        []
                                    )]
                                    ()
                                    Public
                                    .false.
                                    .false.
                                    ()
                                ),
                            test_reshape_with_argument:
                                (Function
                                    (SymbolTable
                                        5
                                        {
                                            a:
                                                (Variable
                                                    5
                                                    a
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))
                                                        ((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 16 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            d:
                                                (Variable
                                                    5
                                                    d
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 8)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (IntegerConstant 4096 (Integer 4) Decimal))]
                                                        FixedSizeArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            i:
                                                (Variable
                                                    5
                                                    i
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            j:
                                                (Variable
                                                    5
                                                    j
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            k:
                                                (Variable
                                                    5
                                                    k
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            l:
                                                (Variable
                                                    5
                                                    l
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    test_reshape_with_argument
                                    (FunctionType
                                        []
                                        ()
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    [test_nd_to_1d
                                    test_1d_to_nd]
                                    []
                                    [(DoLoop
                                        ()
                                        ((Var 5 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 16 (Integer 4) Decimal)
                                        ())
                                        [(DoLoop
                                            ()
                                            ((Var 5 j)
                                            (IntegerConstant 1 (Integer 4) Decimal)
                                            (IntegerConstant 16 (Integer 4) Decimal)
                                            ())
                                            [(Assignment
                                                (ArrayItem
                                                    (Var 5 a)
                                                    [(()
                                                    (Var 5 i)
                                                    ())
                                                    (()
                                                    (Var 5 j)
                                                    ())]
                                                    (Real 8)
                                                    ColMajor
                                                    ()
                                                )
                                                (Cast
                                                    (RealBinOp
                                                        (Cast
                                                            (IntegerBinOp
                                                                (IntegerBinOp
                                                                    (Var 5 i)
                                                                    Sub
                                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                                    (Integer 4)
                                                                    ()
                                                                )
                                                                Add
                                                                (IntegerBinOp
                                                                    (Var 5 j)
                                                                    Sub
                                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                                    (Integer 4)
                                                                    ()
                                                                )
                                                                (Integer 4)
                                                                ()
                                                            )
                                                            IntegerToReal
                                                            (Real 4)
                                                            ()
                                                        )
                                                        Add
                                                        (RealConstant
                                                            0.500000
                                                            (Real 4)
                                                        )
                                                        (Real 4)
                                                        ()
                                                    )
                                                    RealToReal
                                                    (Real 8)
                                                    ()
                                                )
                                                ()
                                            )]
                                            []
                                        )]
                                        []
                                    )
                                    (SubroutineCall
                                        2 test_nd_to_1d
                                        ()
                                        [((ArrayPhysicalCast
                                            (Var 5 a)
                                            FixedSizeArray
                                            DescriptorArray
                                            (Array
                                                (Real 8)
                                                [((IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 16 (Integer 4) Decimal))
                                                ((IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 16 (Integer 4) Decimal))]
                                                DescriptorArray
                                            )
                                            ()
                                        ))]
                                        ()
                                    )
                                    (DoLoop
                                        ()
                                        ((Var 5 l)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 4096 (Integer 4) Decimal)
                                        ())
                                        [(Assignment
                                            (Var 5 i)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (Var 5 l)
                                                    Sub
                                                    (IntegerConstant 1 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 256 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 5 j)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (IntegerBinOp
                                                        (Var 5 l)
                                                        Sub
                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    Sub
                                                    (IntegerBinOp
                                                        (Var 5 i)
                                                        Mul
                                                        (IntegerConstant 256 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    (Integer 4)
                                                    ()
                                                )
                                                Div
                                                (IntegerConstant 16 (Integer 4) Decimal)
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (Var 5 k)
                                            (IntegerBinOp
                                                (IntegerBinOp
                                                    (IntegerBinOp
                                                        (Var 5 l)
                                                        Sub
                                                        (IntegerConstant 1 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    Sub
                                                    (IntegerBinOp
                                                        (Var 5 i)
                                                        Mul
                                                        (IntegerConstant 256 (Integer 4) Decimal)
                                                        (Integer 4)
                                                        ()
                                                    )
                                                    (Integer 4)
                                                    ()
                                                )
                                                Sub
                                                (IntegerBinOp
                                                    (Var 5 j)
                                                    Mul
                                                    (IntegerConstant 16 (Integer 4) Decimal)
                                                    (Integer 4)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            )
                                            ()
                                        )
                                        (Assignment
                                            (ArrayItem
                                                (Var 5 d)
                                                [(()
                                                (Var 5 l)
                                                ())]
                                                (Real 8)
                                                ColMajor
                                                ()
                                            )
                                            (Cast
                                                (RealBinOp
                                                    (Cast
                                                        (IntegerBinOp
                                                            (IntegerBinOp
                                                                (Var 5 i)
                                                                Add
                                                                (Var 5 j)
                                                                (Integer 4)
                                                                ()
                                                            )
                                                            Add
                                                            (Var 5 k)
                                                            (Integer 4)
                                                            ()
                                                        )
                                                        IntegerToReal
                                                        (Real 4)
                                                        ()
                                                    )
                                                    Add
                                                    (RealConstant
                                                        0.500000
                                                        (Real 4)
                                                    )
                                                    (Real 4)
                                                    ()
                                                )
                                                RealToReal
                                                (Real 8)
                                                ()
                                            )
                                            ()
                                        )]
                                        []
                                    )
                                    (SubroutineCall
                                        2 test_1d_to_nd
                                        ()
                                        [((ArrayPhysicalCast
                                            (Var 5 d)
                                            FixedSizeArray
                                            DescriptorArray
                                            (Array
                                                (Real 8)
                                                [((IntegerConstant 1 (Integer 4) Decimal)
                                                (IntegerConstant 4096 (Integer 4) Decimal))]
                                                DescriptorArray
                                            )
                                            ()
                                        ))]
                                        ()
                                    )]
                                    ()
                                    Public
                                    .false.
                                    .false.
                                    ()
                                )
                        })
                    array_reshape_14
                    []
                    [(Print
                        (StringFormat
                            ()
                            [(Var 2 i23)]
                            FormatFortran
                            (String -1 0 () PointerString)
                            ()
                        )
                    )
                    (SubroutineCall
                        2 test_reshape_with_argument
                        ()
                        []
                        ()
                    )]
                )
        })
    []
)
