Most basic test of inlining by reduction.

-- go.mod --
module testdata
go 1.12

-- a/a0.go --
package a

var _ = zero() //@ inline(re"zero", zero)

func zero() int { return 0 }

-- zero --
package a

var _ = 0 //@ inline(re"zero", zero)

func zero() int { return 0 }

-- a/a1.go --
package a

func _() {
	one := 1
	add(one, 2) //@ inline(re"add", add1)
}

func add(x, y int) int { return x + y }

-- add1 --
package a

func _() {
	one := 1
	_ = one + 2 //@ inline(re"add", add1)
}

func add(x, y int) int { return x + y }

-- a/a2.go --
package a

var _ = add(len(""), 2) //@ inline(re"add", add2)

-- add2 --
package a

var _ = len("") + 2 //@ inline(re"add", add2)

