well it wouldnt matter if it was true false or infinite, coz (something)*0 = 0 no matter what.
i think i know what youre trying, i used the same technique for viscerator
ok so your original equation was
cmath v0 = (((~v4 < ~v3)*0+2)OR((~v5 < ~v3)*0+4))OR(((~v6 < ~v3)*0+3)OR((~v7 < ~v3)*0+4))
i believe you wanted to return a 2 if v4 < v3, return a 4 if v5 < v3, return a 3 if v6 < v3, and return a 4 if v7 < v3.
now keep in mind that if either v5 or v7 is less than v3 then v0 will equal 4, is that what you intended?
if so then use:
cmath v0 = 1*(2*(~v4 < ~v3)+3*(~v6 < ~v3)+4*((~v5 < ~v3)OR(~v7 < ~v3)))
now the 1 out the front turns the number into a positive, coz any true/false thingy returns 1 if true, and 0 if false so if v4 was less than v3 than the brackets equal 1 so multiplying that by 2 would give 2, so to make it positive again, you gotta multiply the result by 1.
if more than one bracket is TRUE then the v0 will equal the sum of all the TRUE brackets.
btw ive had a tutorial at http://www.geocities.com/vusak/BugHelp.zip for ages now, it goes into detail about how to use math and how to design a bug, it also has a fully commented example bug to checkout :) (john, you wanna host it in your tutorial section?)
Vusak
