func (ins *Divide) Execute(_ *int, vm *VM) error {
	divide, err := number.Divide(
		number.NewNumber(vm.Get(ins.Left).Value),
		number.NewNumber(vm.Get(ins.Right).Value),
	)
	if err != nil {
		vm.Set(ins.Result, asttest.NewLiteralNumber("0"))
		return err
	}
	vm.Set(ins.Result, asttest.NewLiteralNumber(divide.String()))
	return nil
}
Execute implements the Instruction interface for the VM.
package vm
import (
	"fmt"
	"github.com/elliotchance/ok/ast/asttest"
	"github.com/elliotchance/ok/number"
)
type Divide struct {
	Left, Right, Result Register
}