export
function l $ifc1(l %v0, l %v1, w %c) {
@start
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifc2(l %v0, l %v1, w %p) {
@start
	%c =w cnew %p, 42
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifc3(l %v0, l %v1, w %p) {
@start
	%c =w cugtw %p, 42
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifclts(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w clts %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcles(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cles %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcgts(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cgts %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcges(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cges %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifceqs(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w ceqs %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcnes(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cnes %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcos(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cos %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

export
function l $ifcuos(s %s0, s %s1, l %v0, l %v1) {
@start
	%c =w cuos %s0, %s1
	jnz %c, @true, @false
@true
	%v =l copy %v1
	jmp @end
@false
	%v =l copy %v0
	jmp @end
@end
	ret %v
}

# >>> driver
# extern long ifc1(long, long, int);
# extern long ifc2(long, long, int);
# extern long ifc3(long, long, int);
# extern long ifclts(float, float, long, long);
# extern long ifcles(float, float, long, long);
# extern long ifcgts(float, float, long, long);
# extern long ifcges(float, float, long, long);
# extern long ifceqs(float, float, long, long);
# extern long ifcnes(float, float, long, long);
# extern long ifcos(float, float, long, long);
# extern long ifcuos(float, float, long, long);
# int main() {
# 	return
# 		ifc1(7, 5, 0) != 7
# 		|| ifc1(7, 5, 1) != 5
# 		|| ifc1(7, 5, 33) != 5
# 		|| ifc2(7, 5, 42) != 7
# 		|| ifc2(7, 5, 41) != 5
# 		|| ifc2(7, 5, 43) != 5
# 		|| ifc3(7, 5, 42) != 7
# 		|| ifc3(7, 5, 41) != 7
# 		|| ifc3(7, 5, 43) != 5
# 		|| ifclts(5.0f, 6.0f, 7, 5) != 5
# 		|| ifclts(5.0f, 5.0f, 7, 5) != 7
# 		|| ifclts(5.0f, 4.0f, 7, 5) != 7
# 		|| ifclts(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifclts(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifclts(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcles(5.0f, 6.0f, 7, 5) != 5
# 		|| ifcles(5.0f, 5.0f, 7, 5) != 5
# 		|| ifcles(5.0f, 4.0f, 7, 5) != 7
# 		|| ifcles(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcles(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifcles(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcgts(5.0f, 6.0f, 7, 5) != 7
# 		|| ifcgts(5.0f, 5.0f, 7, 5) != 7
# 		|| ifcgts(5.0f, 4.0f, 7, 5) != 5
# 		|| ifcgts(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcgts(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifcgts(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcges(5.0f, 6.0f, 7, 5) != 7
# 		|| ifcges(5.0f, 5.0f, 7, 5) != 5
# 		|| ifcges(5.0f, 4.0f, 7, 5) != 5
# 		|| ifcges(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcges(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifcges(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifceqs(5.0f, 6.0f, 7, 5) != 7
# 		|| ifceqs(5.0f, 5.0f, 7, 5) != 5
# 		|| ifceqs(5.0f, 4.0f, 7, 5) != 7
# 		|| ifceqs(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifceqs(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifceqs(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcnes(5.0f, 6.0f, 7, 5) != 5
# 		|| ifcnes(5.0f, 5.0f, 7, 5) != 7
# 		|| ifcnes(5.0f, 4.0f, 7, 5) != 5
# 		|| ifcnes(5.0f, 0.0f/0.0f, 7, 5) != 5
# 		|| ifcnes(0.0f/0.0f, 5.0f, 7, 5) != 5
# 		|| ifcnes(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 5
# 		|| ifcos(5.0f, 6.0f, 7, 5) != 5
# 		|| ifcos(5.0f, 5.0f, 7, 5) != 5
# 		|| ifcos(5.0f, 4.0f, 7, 5) != 5
# 		|| ifcos(5.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcos(0.0f/0.0f, 5.0f, 7, 5) != 7
# 		|| ifcos(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 7
# 		|| ifcuos(5.0f, 6.0f, 7, 5) != 7
# 		|| ifcuos(5.0f, 5.0f, 7, 5) != 7
# 		|| ifcuos(5.0f, 4.0f, 7, 5) != 7
# 		|| ifcuos(5.0f, 0.0f/0.0f, 7, 5) != 5
# 		|| ifcuos(0.0f/0.0f, 5.0f, 7, 5) != 5
# 		|| ifcuos(0.0f/0.0f, 0.0f/0.0f, 7, 5) != 5
# 		;
# }
# <<<
