float method3(float a) { return 1.0; }

struct myContext {
    float method1() { return method2(); }
    float method2() { return method3(1.0); }
    float method3(float a) { return method4(a, a); }
    float method4(float a, float b) { return a + b + f; }
    float f;
};

float4 main() : SV_TARGET0
{
    myContext context;
    context.f = 3.0;
    return (float4)context.method1();
}
