// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Runtime.CompilerServices;
using Xunit;

// Generated by Fuzzlyn v1.5 on 2023-05-07 18:03:16
// Run on X64 Windows
// Seed: 7683094625213390431
// Reduced from 235.6 KiB to 1.4 KiB in 00:02:04
// Debug: Prints 0 line(s)
// Release: Prints 1 line(s)

public interface I1
{
}

public interface I2
{
}

public struct S0 : I2
{
    public ushort F0;
    public short F1;
    public uint F2;
    public uint F3;
    public S0(ushort f0, short f1, uint f2, uint f3): this()
    {
        F0 = f0;
        F1 = f1;
        F2 = f2;
        F3 = f3;
    }
}

public class C0 : I1
{
    public short F0;
}

public class Runtime_85892
{
    public static I1[] s_17 = new I1[]{new C0()};
    public static long[] s_107;
    
    [Fact]
    public static int Test()
    {
        int  ret = 100;
        bool vr2 = default(bool);
        long vr3 = 1234;
        bool vr4 = !!M51();
        if (vr4)
        {
            try
            {
                System.Console.WriteLine(12);
            }
            finally
            {
                var vr5 = new S0(0, 0, 0, 0);
                M58(vr5, new S0(0, 0, 0, 0));
            }

            if (!vr4)
            {
                System.Console.WriteLine(34);
            }
        }

        if (vr4)
        {
            s_107 = s_107;
        }

        if (vr4)
        {
            var vr6 = new C0();
            System.Console.WriteLine(5678);
            ret = -1;
        }

        return ret;
    }

    static void M57(ref I1 arg2)
    {
    }

    static void M58(S0 argThis, I2 arg2)
    {
    }

    static bool M51()
    {
        bool var27 = default(bool);
        M57(ref s_17[0]);
        return var27;
    }
}
