diff --git a/src/lib_protocol_environment/sigs/v1/pervasives.mli b/src/lib_protocol_environment/sigs/v1/pervasives.mli
index 6e39888d4..b4b269651 100644
--- a/src/lib_protocol_environment/sigs/v1/pervasives.mli
+++ b/src/lib_protocol_environment/sigs/v1/pervasives.mli
@@ -18,7 +18,8 @@
    * Import version 4.06.1
    * Remove [channel], [exit], ...
    * Remove polymorphic comparisons
-   * Remove non IEEE754-standardized functions on floats
+   * Remove floating-point arithmetic
+   * Remove string conversion functions for float
    * Remove deprecated functions
 
 *)
@@ -257,148 +258,6 @@ external ( asr ) : int -> int -> int = "%asrint"
     Right-associative operator at precedence level 8/11. *)
 
 
-(** {1 Floating-point arithmetic}
-
-    OCaml's floating-point numbers follow the
-    IEEE 754 standard, using double precision (64 bits) numbers.
-    Floating-point operations never raise an exception on overflow,
-    underflow, division by zero, etc.  Instead, special IEEE numbers
-    are returned as appropriate, such as [infinity] for [1.0 /. 0.0],
-    [neg_infinity] for [-1.0 /. 0.0], and [nan] ('not a number')
-    for [0.0 /. 0.0].  These special numbers then propagate through
-    floating-point computations as expected: for instance,
-    [1.0 /. infinity] is [0.0], and any arithmetic operation with [nan]
-    as argument returns [nan] as result.
-*)
-
-external ( ~-. ) : float -> float = "%negfloat"
-(** Unary negation. You can also write [-. e] instead of [~-. e].
-    Unary operator at precedence level 9/11 for [-. e]
-    and 11/11 for [~-. e]. *)
-
-external ( ~+. ) : float -> float = "%identity"
-(** Unary addition. You can also write [+. e] instead of [~+. e].
-    Unary operator at precedence level 9/11 for [+. e]
-    and 11/11 for [~+. e].
-    @since 3.12.0
-*)
-
-external ( +. ) : float -> float -> float = "%addfloat"
-(** Floating-point addition.
-    Left-associative operator at precedence level 6/11. *)
-
-external ( -. ) : float -> float -> float = "%subfloat"
-(** Floating-point subtraction.
-    Left-associative operator at precedence level 6/11. *)
-
-external ( *. ) : float -> float -> float = "%mulfloat"
-(** Floating-point multiplication.
-    Left-associative operator at precedence level 7/11. *)
-
-external ( /. ) : float -> float -> float = "%divfloat"
-(** Floating-point division.
-    Left-associative operator at precedence level 7/11. *)
-
-external ceil : float -> float = "caml_ceil_float" "ceil"
-[@@unboxed] [@@noalloc]
-(** Round above to an integer value.
-    [ceil f] returns the least integer value greater than or equal to [f].
-    The result is returned as a float. *)
-
-external floor : float -> float = "caml_floor_float" "floor"
-[@@unboxed] [@@noalloc]
-(** Round below to an integer value.
-    [floor f] returns the greatest integer value less than or
-    equal to [f].
-    The result is returned as a float. *)
-
-external abs_float : float -> float = "%absfloat"
-(** [abs_float f] returns the absolute value of [f]. *)
-
-external copysign : float -> float -> float
-  = "caml_copysign_float" "caml_copysign"
-[@@unboxed] [@@noalloc]
-(** [copysign x y] returns a float whose absolute value is that of [x]
-    and whose sign is that of [y].  If [x] is [nan], returns [nan].
-    If [y] is [nan], returns either [x] or [-. x], but it is not
-    specified which.
-    @since 4.00.0  *)
-
-external mod_float : float -> float -> float = "caml_fmod_float" "fmod"
-[@@unboxed] [@@noalloc]
-(** [mod_float a b] returns the remainder of [a] with respect to
-    [b].  The returned value is [a -. n *. b], where [n]
-    is the quotient [a /. b] rounded towards zero to an integer. *)
-
-external frexp : float -> float * int = "caml_frexp_float"
-(** [frexp f] returns the pair of the significant
-    and the exponent of [f].  When [f] is zero, the
-    significant [x] and the exponent [n] of [f] are equal to
-    zero.  When [f] is non-zero, they are defined by
-    [f = x *. 2 ** n] and [0.5 <= x < 1.0]. *)
-
-
-external ldexp : (float [@unboxed]) -> (int [@untagged]) -> (float [@unboxed]) =
-  "caml_ldexp_float" "caml_ldexp_float_unboxed" [@@noalloc]
-(** [ldexp x n] returns [x *. 2 ** n]. *)
-
-external modf : float -> float * float = "caml_modf_float"
-(** [modf f] returns the pair of the fractional and integral
-    part of [f]. *)
-
-external float : int -> float = "%floatofint"
-(** Same as {!Pervasives.float_of_int}. *)
-
-external float_of_int : int -> float = "%floatofint"
-(** Convert an integer to floating-point. *)
-
-external truncate : float -> int = "%intoffloat"
-(** Same as {!Pervasives.int_of_float}. *)
-
-external int_of_float : float -> int = "%intoffloat"
-(** Truncate the given floating-point number to an integer.
-    The result is unspecified if the argument is [nan] or falls outside the
-    range of representable integers. *)
-
-val infinity : float
-(** Positive infinity. *)
-
-val neg_infinity : float
-(** Negative infinity. *)
-
-val nan : float
-(** A special floating-point value denoting the result of an
-    undefined operation such as [0.0 /. 0.0].  Stands for
-    'not a number'.  Any floating-point operation with [nan] as
-    argument returns [nan] as result.  As for floating-point comparisons,
-    [=], [<], [<=], [>] and [>=] return [false] and [<>] returns [true]
-    if one or both of their arguments is [nan]. *)
-
-val max_float : float
-(** The largest positive finite value of type [float]. *)
-
-val min_float : float
-(** The smallest positive, non-zero, non-denormalized value of type [float]. *)
-
-val epsilon_float : float
-(** The difference between [1.0] and the smallest exactly representable
-    floating-point number greater than [1.0]. *)
-
-type fpclass =
-    FP_normal           (** Normal number, none of the below *)
-  | FP_subnormal        (** Number very close to 0.0, has reduced precision *)
-  | FP_zero             (** Number is 0.0 or -0.0 *)
-  | FP_infinite         (** Number is positive or negative infinity *)
-  | FP_nan              (** Not a number: result of an undefined operation *)
-(** The five classes of floating-point numbers, as determined by
-    the {!Pervasives.classify_float} function. *)
-
-external classify_float : (float [@unboxed]) -> fpclass =
-  "caml_classify_float" "caml_classify_float_unboxed" [@@noalloc]
-(** Return the class of the given floating-point number:
-    normal, subnormal, zero, infinite, or not a number. *)
-
-
 (** {1 String operations}
 
     More string operations are provided in module {!String}.
@@ -480,31 +339,6 @@ val int_of_string_opt: string -> int option
     @since 4.05
 *)
 
-val string_of_float : float -> string
-(** Return the string representation of a floating-point number. *)
-
-external float_of_string : string -> float = "caml_float_of_string"
-(** Convert the given string to a float.  The string is read in decimal
-    (by default) or in hexadecimal (marked by [0x] or [0X]).
-    The format of decimal floating-point numbers is
-    [ [-] dd.ddd (e|E) [+|-] dd ], where [d] stands for a decimal digit.
-    The format of hexadecimal floating-point numbers is
-    [ [-] 0(x|X) hh.hhh (p|P) [+|-] dd ], where [h] stands for an
-    hexadecimal digit and [d] for a decimal digit.
-    In both cases, at least one of the integer and fractional parts must be
-    given; the exponent part is optional.
-    The [_] (underscore) character can appear anywhere in the string
-    and is ignored.
-    Depending on the execution platforms, other representations of
-    floating-point numbers can be accepted, but should not be relied upon.
-    Raise [Failure "float_of_string"] if the given string is not a valid
-    representation of a float. *)
-
-val float_of_string_opt: string -> float option
-(** Same as [float_of_string], but returns [None] instead of raising.
-    @since 4.05
-*)
-
 (** {1 Pair operations} *)
 
 external fst : 'a * 'b -> 'a = "%field0"