aboutsummaryrefslogtreecommitdiff
path: root/test-suite/output/FloatExtraction.out
blob: cfd66337523945212c6470301650781d80dfefeb (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
(** val infinity : Float64.t **)

let infinity =
  (Float64.of_float (infinity))

(** val neg_infinity : Float64.t **)

let neg_infinity =
  (Float64.of_float (neg_infinity))

(** val nan : Float64.t **)

let nan =
  (Float64.of_float (nan))

(** val one : Float64.t **)

let one =
  (Float64.of_float (0x1p+0))

(** val zero : Float64.t **)

let zero =
  (Float64.of_float (0x0p+0))

(** val two : Float64.t **)

let two =
  (Float64.of_float (0x1p+1))

(** val list_floats : Float64.t list **)

let list_floats =
  nan :: (infinity :: (neg_infinity :: (zero :: (one :: (two :: ((Float64.of_float (0x1p-1)) :: ((Float64.of_float (0x1.47ae147ae147bp-7)) :: ((Float64.of_float (-0x1p-1)) :: ((Float64.of_float (-0x1.47ae147ae147bp-7)) :: ((Float64.of_float (0x1.e42d130773b76p+1023)) :: ((Float64.of_float (-0x0.c396c98f8d899p-1022)) :: [])))))))))))


(** val sqrt : Float64.t -> Float64.t **)

let sqrt = Float64.sqrt

(** val opp : Float64.t -> Float64.t **)

let opp = Float64.opp

(** val mul : Float64.t -> Float64.t -> Float64.t **)

let mul = Float64.mul

(** val sub : Float64.t -> Float64.t -> Float64.t **)

let sub = Float64.sub

(** val div : Float64.t -> Float64.t -> Float64.t **)

let div = Float64.div

(** val discr : Float64.t -> Float64.t -> Float64.t -> Float64.t **)

let discr a b c =
  sub (mul b b) (mul (mul (Float64.of_float (0x1p+2)) a) c)

(** val x1 : Float64.t -> Float64.t -> Float64.t -> Float64.t **)

let x1 a b c =
  div (sub (opp b) (sqrt (discr a b c))) (mul (Float64.of_float (0x1p+1)) a)