Well, this
int seed;
for(seed = 1; seed < 10; seed++) {
srand(seed);
printf("%4d %16d\n", seed, rand());
}
prints
1 16807
2 33614
3 50421
4 67228
5 84035
6 100842
7 117649
8 134456
9 151263
which makes me think that rand() = seed * 16807
Wikipedia article Linear congruential generator confirms that CarbonLib indeed uses Xn+1 = Xn * 16807 to generate random numbers.