Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
let epsilon = 1e-7
let pi = 3.141592654

let sin (x:float) = 
    let rec series sum f d v k2 =
        let next = f * d / float v
        if abs(next) < epsilon then
            sum + next
        else
            series (sum + next) (-f) (d * x * x) (v  * (k2 + 1) * (k2 + 2)) (k2 + 2)
    series 0.0 1.0 1.0 1 1

let rec sin' x =
    if abs(x) < epsilon then
        x
    else
        let s = sin' (x / 3.0)
        3.0 * s - 4.0 * s * s * s;;

val epsilon : float = 1e-07
val pi : float = 3.141592654
val sin : float -> float
val sin' : float -> float

> sin 1.0;;
val it : float = 0.8414709846
> sin' 1.0;;
val it : float = 0.8414709848