/* { dg-do compile } */ struct { int x; int y; } do_plasma_rect; int do_plasma_context_0, do_plasma_x2, do_plasma_y2, do_plasma_plasma_depth, do_plasma_xm, do_plasma_ym; void gegl_buffer_set(); void do_plasma(int x1, int y1) { if (__builtin_expect(({ int _g_boolean_var_; if (do_plasma_context_0) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 0)) { do_plasma_rect.x = x1; do_plasma_rect.y = y1; gegl_buffer_set(); } do_plasma_xm = (x1 + do_plasma_x2) / 2; do_plasma_ym = (y1 + do_plasma_y2) / 2; if (do_plasma_plasma_depth) { do_plasma_rect.x = do_plasma_xm; do_plasma_rect.y = do_plasma_ym; return; } do_plasma(do_plasma_xm, do_plasma_ym); }