val isqrt : num:'a -> 'a (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)

Full name: Script.isqrt

val num : 'a (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)

val two : 'd (requires member ( / ) and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_Zero and member ( / ) and comparison and member ( + ) and member get_One)

val reduce : ('a -> 'a) (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)

val n : 'a (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)

val impl : ('a -> 'a -> 'a) (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)

val n' : 'a (requires member ( + ) and member get_Zero and member ( / ) and member ( / ) and comparison and member ( / ) and member get_One and member ( + ) and member get_One and member ( + ) and member get_One)