\[0.0 \le u1 \le 1.0 \land 0.0 \le u2 \le 1.0\]
\[\left(\frac{1.0}{6.0} \cdot {\left(-2.0 \cdot \log u1\right)}^{0.5}\right) \cdot \cos \left(\left(2.0 \cdot \pi\right) \cdot u2\right) + 0.5\]
\left(\frac{1.0}{6.0} \cdot {\left(-2.0 \cdot \log u1\right)}^{0.5}\right) \cdot \cos \left(\left(2.0 \cdot \pi\right) \cdot u2\right) + 0.5
double f(double u1, double u2) {
        double r476846 = 1.0;
        double r476847 = 6.0;
        double r476848 = r476846 / r476847;
        double r476849 = -2.0;
        double r476850 = u1;
        double r476851 = log(r476850);
        double r476852 = r476849 * r476851;
        double r476853 = 0.5;
        double r476854 = pow(r476852, r476853);
        double r476855 = r476848 * r476854;
        double r476856 = 2.0;
        double r476857 = atan2(1.0, 0.0);
        double r476858 = r476856 * r476857;
        double r476859 = u2;
        double r476860 = r476858 * r476859;
        double r476861 = cos(r476860);
        double r476862 = r476855 * r476861;
        double r476863 = r476862 + r476853;
        return r476863;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019165 
(FPCore (u1 u2)
  :name "normal distribution"
  :pre (and (<= 0.0 u1 1.0) (<= 0.0 u2 1.0))
  (+ (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) 0.5))

Backtrace

->bf: contract violation expected: value? given: 'PI in: the 1st argument of (-> value? bigvalue?) contract from: (function ->bf) blaming: /data/pavpan/nightlies/herbie/optional-posits/src/float.rkt (assuming the contract is correct) at: /data/pavpan/nightlies/herbie/optional-posits/src/float.rkt:163.18LC
raise-blame-error16/opt/racket-7.0/collects/racket/contract/private/blame.rkt3470
(unnamed)/opt/racket-7.0/collects/racket/contract/private/arrow-higher-order.rkt35733
(unnamed)/data/pavpan/nightlies/herbie/optional-posits/src/core/localize.rkt2213
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
loop/opt/racket-7.0/collects/racket/private/map.rkt4019
parse-loop15/opt/racket-7.0/collects/racket/match/compiler.rkt41815
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
loop/opt/racket-7.0/collects/racket/private/map.rkt4019
parse-loop15/opt/racket-7.0/collects/racket/match/compiler.rkt41815
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
map/opt/racket-7.0/collects/racket/private/map.rkt3513
f9/opt/racket-7.0/collects/racket/match/compiler.rkt50740
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
loop/opt/racket-7.0/collects/racket/private/map.rkt4019
parse-loop15/opt/racket-7.0/collects/racket/match/compiler.rkt41815
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
loop/opt/racket-7.0/collects/racket/private/map.rkt4019
parse-loop15/opt/racket-7.0/collects/racket/match/compiler.rkt41815
hash-ref!/opt/racket-7.0/collects/racket/private/more-scheme.rkt3762
localize-error/data/pavpan/nightlies/herbie/optional-posits/src/core/localize.rkt520
localize!/data/pavpan/nightlies/herbie/optional-posits/src/mainloop.rkt1160
run-iter!/data/pavpan/nightlies/herbie/optional-posits/src/mainloop.rkt3170
for-loop/data/pavpan/nightlies/herbie/optional-posits/src/mainloop.rkt3514
run-improve40/data/pavpan/nightlies/herbie/optional-posits/src/mainloop.rkt3360
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.0/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.0/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128