// Code generated by conditionalCmpConstGen.go; DO NOT EDIT.

package test

import "testing"

type IntegerConstraint interface {
	int | uint | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64
}

type TestCase[T IntegerConstraint] struct {
	cmp1, cmp2                      func(a, b T) bool
	combine                         func(x, y bool) bool
	targetFunc                      func(a, b, c, d T) bool
	cmp1Expr, cmp2Expr, logicalExpr string // String representations for debugging
}

type BoundaryValues[T IntegerConstraint] struct {
	base     T
	variants [3]T
}

func generateTestCases[T IntegerConstraint]() []TestCase[T] {
	return []TestCase[T]{
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a == b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a == b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a == b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a == b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a == b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a == b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a == b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a == b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a == b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a == b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a == b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a == b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a == b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a == b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a == b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a == b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a == b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a == b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a == b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a == b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a == b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a == b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a == b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a == b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a == b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a == b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a == b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a == b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a == b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a == b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a == b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a == b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a == b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a == b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a == b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a == b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a == b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a == b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a == b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a == b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a == b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a == b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a == b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a == b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a == b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a == b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a == b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a == b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a == b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a == b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a == b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a == b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a <= b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a <= b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a <= b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a <= b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a <= b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a <= b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a <= b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a <= b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a <= b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a <= b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a <= b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a <= b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a <= b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a <= b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a <= b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a <= b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a <= b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a <= b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a <= b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a <= b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a <= b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a <= b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a <= b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a <= b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a <= b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a <= b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a <= b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a <= b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a <= b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a <= b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a <= b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a <= b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a <= b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a <= b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a <= b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a <= b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a <= b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a <= b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a <= b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a <= b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a <= b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a <= b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a <= b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a <= b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a <= b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a <= b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a <= b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a <= b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a <= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a <= b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a <= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a <= b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a < b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a < b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a < b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a < b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a < b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a < b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a < b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a < b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a < b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a < b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a < b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a < b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a < b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a < b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a < b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a < b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a < b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a < b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a < b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a < b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a < b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a < b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a < b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a < b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a < b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a < b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a < b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a < b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a < b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a < b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a < b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a < b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a < b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a < b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a < b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a < b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a < b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a < b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a < b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a < b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a < b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a < b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a < b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a < b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a < b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a < b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a < b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a < b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a < b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a < b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a < b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a < b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a != b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a != b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a != b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a != b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a != b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a != b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a != b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a != b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a != b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a != b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a != b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a != b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a != b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a != b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a != b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a != b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a != b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a != b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a != b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a != b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a != b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a != b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a != b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a != b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a != b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a != b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a != b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a != b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a != b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a != b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a != b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a != b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a != b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a != b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a != b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a != b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a != b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a != b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a != b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a != b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a != b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a != b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a != b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a != b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a != b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a != b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a != b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a != b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a != b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a != b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a != b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a != b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a >= b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a >= b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a >= b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a >= b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a >= b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a >= b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a >= b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a >= b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a >= b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a >= b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a >= b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a >= b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a >= b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a >= b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a >= b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a >= b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a >= b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a >= b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a >= b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a >= b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a >= b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a >= b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a >= b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a >= b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a >= b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a >= b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a >= b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a >= b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a >= b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a >= b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a >= b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a >= b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a >= b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a >= b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a >= b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a >= b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a >= b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a >= b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a >= b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a >= b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a >= b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a >= b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a >= b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a >= b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a >= b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a >= b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a >= b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a >= b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a >= b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a >= b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a >= b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a >= b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a > b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a > b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a > b) && (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a > b) && !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a > b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "(a > b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a > b) || (c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a == b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c == d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c == d",
			logicalExpr: "!(a > b) || !(c == d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a > b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a > b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a > b) && (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a > b) && !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a > b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "(a > b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a > b) || (c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a <= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c <= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c <= d",
			logicalExpr: "!(a > b) || !(c <= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a > b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a > b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a > b) && (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a > b) && !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a > b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "(a > b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a > b) || (c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a < b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c < d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c < d",
			logicalExpr: "!(a > b) || !(c < d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a > b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a > b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a > b) && (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a > b) && !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a > b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "(a > b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a > b) || (c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a != b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c != d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c != d",
			logicalExpr: "!(a > b) || !(c != d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a > b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a > b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a > b) && (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a > b) && !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a > b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "(a > b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a > b) || (c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a >= b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c >= d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c >= d",
			logicalExpr: "!(a > b) || !(c >= d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a > b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a > b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a > b) && (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) && !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) && !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a > b) && !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a > b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return (x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if (a > b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "(a > b) || !(c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || (y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || (c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a > b) || (c > d)",
		},
		{
			cmp1:    func(a, b T) bool { return a > b },
			cmp2:    func(a, b T) bool { return a > b },
			combine: func(x, y bool) bool { return !(x) || !(y) },
			targetFunc: func(a, b, c, d T) bool {
				if !(a > b) || !(c > d) {
					return true
				}
				return false
			},
			cmp1Expr:    "a > b",
			cmp2Expr:    "c > d",
			logicalExpr: "!(a > b) || !(c > d)",
		},
	}
}

func TestInt8ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[int8]()
	base := int8(1 << 6)
	values := [3]int8{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestUint8ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[uint8]()
	base := uint8(1 << 6)
	values := [3]uint8{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestInt16ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[int16]()
	base := int16(1 << 14)
	values := [3]int16{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestUint16ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[uint16]()
	base := uint16(1 << 14)
	values := [3]uint16{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestInt32ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[int32]()
	base := int32(1 << 30)
	values := [3]int32{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestUint32ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[uint32]()
	base := uint32(1 << 30)
	values := [3]uint32{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestIntConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[int]()
	base := int(1 << 30)
	values := [3]int{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestUintConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[uint]()
	base := uint(1 << 30)
	values := [3]uint{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestInt64ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[int64]()
	base := int64(1 << 62)
	values := [3]int64{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}

func TestUint64ConditionalCmpConst(t *testing.T) {
	testCases := generateTestCases[uint64]()
	base := uint64(1 << 62)
	values := [3]uint64{base - 1, base, base + 1}

	for _, tc := range testCases {
		a, c := base, base
		for _, b := range values {
			for _, d := range values {
				expected := tc.combine(tc.cmp1(a, b), tc.cmp2(c, d))
				actual := tc.targetFunc(a, b, c, d)
				if actual != expected {
					t.Errorf("conditional comparison failed:\n"+
						"  type: %T\n"+
						"  condition: %s\n"+
						"  values: a=%v, b=%v, c=%v, d=%v\n"+
						"  cmp1(a,b)=%v (%s)\n"+
						"  cmp2(c,d)=%v (%s)\n"+
						"  expected: combine(%v, %v)=%v\n"+
						"  actual: %v\n"+
						"  logical expression: %s",
						a,
						tc.logicalExpr,
						a, b, c, d,
						tc.cmp1(a, b), tc.cmp1Expr,
						tc.cmp2(c, d), tc.cmp2Expr,
						tc.cmp1(a, b), tc.cmp2(c, d), expected,
						actual,
						tc.logicalExpr)
				}
			}
		}
	}
}
