Here's my 566. I think there's lots of room to improve so let's see if the collective can get it below 500 :-)

 Code:
; begin KiXgolfUDF
;
;!
Function CIF($a, $l)
Dim $b, $c, $d, $f, $i, $j, $k, $n, $t[$a^0], $;

	$l = split($l,@crlf)

	for $i = 0 to 79
		$f = $f + ' '
		$d = $d + '-'
	next

	for each $i in $l
		$k = split($i,'&')
		for $j = 1 to $a^0
			$c = len($k[$j-1])
			if $c>$t[$j]
				$t[$j]=$c
			endif
		next
	next

	for each $i in $l
		for $j = 1 to $a^0
			$k = substr($a,$j,1)

			$c = instr($i+'&','&')
			$n = left($i,$c-1)
			$i = substr($i,$c+1)

			$c = $t[$j]

			$ = $ + '| ' + iif($k='<',left($n + $f,$c),iif($k='>',right($f + $n,$c),left(left($f,($c-($n^))/2) + $n + $f,$c))) + ' '

		next
		$ = $ + '|' + @crlf
		if $b=0
			$b = '@' + left($d,($^)-4) + '@'
			$ =  $b  + @crlf + $ + '|'
			for $k = 1 to $a^0
				$ = $ + left($d,$t[$k]+2) + '+'
			next
			$ = left($,($^)-1) + '|' + @crlf
		endif
		$cif = $ + $b

EndFunction
;!
;!
; end KiXgolfUDF
_________________________
The Code is out there