Are you sure it is supposed to be sign function ?
According to this https://projects.coin-or.org/ADOL-C/browser/stable/2.1/ADOL-C/doc/adolc-manual.pdf?format=raw in section 1.8, condassign(a,b,c,d) is equal to
a = (b > 0) ? c : d
So the function posted is actually giving Heaviside function and not the sign function. It implements this function