(FPCore (re im) :precision binary64 (* 0.5 (sqrt (* 2.0 (- (sqrt (+ (* re re) (* im im))) re)))))
double code(double re, double im) {
return 0.5 * sqrt((2.0 * (sqrt(((re * re) + (im * im))) - re)));
}
real(8) function code(re, im)
real(8), intent (in) :: re
real(8), intent (in) :: im
code = 0.5d0 * sqrt((2.0d0 * (sqrt(((re * re) + (im * im))) - re)))
end function
public static double code(double re, double im) {
return 0.5 * Math.sqrt((2.0 * (Math.sqrt(((re * re) + (im * im))) - re)));
}
def code(re, im): return 0.5 * math.sqrt((2.0 * (math.sqrt(((re * re) + (im * im))) - re)))
function code(re, im) return Float64(0.5 * sqrt(Float64(2.0 * Float64(sqrt(Float64(Float64(re * re) + Float64(im * im))) - re)))) end
function tmp = code(re, im) tmp = 0.5 * sqrt((2.0 * (sqrt(((re * re) + (im * im))) - re))); end
code[re_, im_] := N[(0.5 * N[Sqrt[N[(2.0 * N[(N[Sqrt[N[(N[(re * re), $MachinePrecision] + N[(im * im), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - re), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}
Please include this information when filing a bug report:
herbie shell --seed 2022203
(FPCore (re im)
:name "math.sqrt on complex, imaginary part, im greater than 0 branch"
:precision binary64
:pre (> im 0.0)
(* 0.5 (sqrt (* 2.0 (- (sqrt (+ (* re re) (* im im))) re)))))
| hash-ref: no value found for key key: '~ | L | C | |
|---|---|---|---|
| get-parametric-operator | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/syntax.rkt | 218 | 0 |
| f336 | .../match/compiler.rkt | 548 | 40 |
| expand-parametric | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/sugar.rkt | 62 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/rules.rkt | 176 | 8 |
| generate-rules-for | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/rules.rkt | 161 | 0 |
| generate-missing-rules | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/rules.rkt | 187 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/enumo-rat/src/syntax/rules.rkt | 29 | 26 |
| get-swaps | /data/pavpan/nightlies/herbie/enumo-rat/src/symmetry.rkt | 6 | 0 |
| connected-components | /data/pavpan/nightlies/herbie/enumo-rat/src/symmetry.rkt | 17 | 0 |
| run-improve! | /data/pavpan/nightlies/herbie/enumo-rat/src/mainloop.rkt | 296 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/enumo-rat/src/sandbox.rkt | 55 | 6 |
| (unnamed) | /usr/share/racket/pkgs/profile-lib/main.rkt | 40 | 10 |
| profile-thunk | /usr/share/racket/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /usr/share/racket/collects/racket/engine.rkt | 42 | 24 |