
typedef struct {complex a,b,c,d;} matrix;
typedef struct {complex c; double r;} circle;
typedef struct {double x, y, z;} vector;

complex det();
matrix conjmat(), inverse(), product(), circle_to_matrix(), 
	line_to_matrix(),make_sl2();
circle matrix_to_circle(), matrix_to_line(), image_circle();
vector complex_to_s2(), vadd(), vsub(), circle_to_s2(), line_to_s2();
double meetx(), meety(), vabs();

/* Recognizing great circles */
#define VEPS 0.0000000001
