#!/bin/rc

awk -v 'discard='$1 '/ E /{ 
	if (start == 0) {
		start = $1
	}
	funcs[fi] = $4
	fi++
	ts[ti] = $1
	ti++
}

/ X /{
	fname = 0
	found = 0
	for (i = fi-1; i >= 0; i--) {
		if (funcs[i] == $4) {
			fname = $4
			xval = (($1 - ts[i])/2) + ts[i] - start
			xerr = ($1 - ts[i])/2
			funcs[i] = NOTAFUNCTION
			for (j = 0; j < fli; j++) {
				if (flist[j] == $4 && (2*xerr) >= discard) {
					found = 1
					print xval,j,xerr,xerr,fname
				}
			}
			if (found == 0 && (2*xerr) >= discard) {
				flist[fli] = $4
				print xval,fli,xerr,xerr,fname
				fli++
			}
		}
	}	
}

BEGIN {
	fi = 0;
	ti = 0;
	fli = 0;
	start = 0;
	for(i=0; i<16; i++)
		_unhex[sprintf("%x", i)] = _unhex[sprintf("%X", i)] = i
}

END {
}

function unhex(s,  i, v) {
	v = 0
	for (i=1; i<=length(s); i++)
		v = v*16 + _unhex[substr(s,i,1)]
	return v
}' 
