-- functionextraction_extract_return_complex_nonnested_8_2 --
package extract

import "fmt"

func _() (int, string, error) {
	x := 1
	y := "hello"
	//@mark(exSt10, "z")
	return fn0(y, x) //@mark(exEn10, "nil")
	//@extractfunc(exSt10, exEn10)
}

func fn0(y string, x int) (int, string, error) {
	z := "bye"
	if y == z {
		return x, y, fmt.Errorf("same")
	} else {
		z = "hi"
		return x, z, nil
	}
	return x, z, nil
}

