Here's a very surprising bug, which I'm experiencing in R version 4.0.1 on linux.
value = (18-1.8)/18*100
value
#> [1] 90
base::cut(value, right = FALSE, breaks = c(-Inf, 0, 50, 75, 90, 100, Inf))
#> [1] [75,90)
#> Levels: [-Inf,0) [0,50) [50,75) [75,90) [90,100) [100, Inf)
Is this bug documented ? Or am I getting this wrong and this is somehow expected behavior ?