struct FILE {
struct HEADER {
char type[4];
int version;
ushort numRecords;
} header <bgcolor=cLtGray>;
struct RECORD {
int employeeId;
char name[40];
float salary;
if( file.header.version > 1 )
int numChildren;
if( file.header.version > 2 )
time_t birthDate;
} record[ file.header.numRecords ];
} file;
( From: https://www.sweetscape.com/010editor/templates.html )
For the first, maybe it's an approximate identity I'd never heard of?
For the second, it seems like it relies on X being small, but in this code... Y might be small enough for sin==identity approximation, but X isn't, is it?