\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1
double code(double a, double b) {
	return ((double) (((double) (((double) pow(((double) (((double) (a * a)) + ((double) (b * b)))), 2.0)) + ((double) (4.0 * ((double) (((double) (((double) (a * a)) * ((double) (1.0 + a)))) + ((double) (((double) (b * b)) * ((double) (1.0 - ((double) (3.0 * a)))))))))))) - 1.0));
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2020128 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))

Backtrace

random-bits: contract violation expected: Positive-Integer given: 0LC
random-ranges/data/pavpan/nightlies/herbie/separate-biginterval/src/common.rkt1390
sample-multi-bounded/data/pavpan/nightlies/herbie/separate-biginterval/src/points.rkt140
(unnamed)/data/pavpan/nightlies/herbie/separate-biginterval/src/points.rkt1276
prepare-points-intervals/data/pavpan/nightlies/herbie/separate-biginterval/src/points.rkt1340
pred/data/pavpan/nightlies/herbie/separate-biginterval/src/core/regimes.rkt2004
for-loop/data/pavpan/nightlies/herbie/separate-biginterval/src/core/regimes.rkt2309
sindices->spoints/data/pavpan/nightlies/herbie/separate-biginterval/src/core/regimes.rkt1900
f37unknown
get-final-combination/data/pavpan/nightlies/herbie/separate-biginterval/src/mainloop.rkt3900
.../more-scheme.rkt:261:28unknown
run/opt/racket-7.5/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.5/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.5/collects/racket/private/more-scheme.rkt26128

Reproduce

herbie shell --seed 2020128 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))