\[\mathsf{copysign}\left(\log \left(\left|x\right| + \sqrt{x \cdot x + 1}\right), x\right) \]
(FPCore (x)
 :precision binary32
 (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1.0)))) x))
float code(float x) {
	return copysignf(logf((fabsf(x) + sqrtf(((x * x) + 1.0f)))), x);
}
function code(x)
	return copysign(log(Float32(abs(x) + sqrt(Float32(Float32(x * x) + Float32(1.0))))), x)
end
function tmp = code(x)
	tmp = sign(x) * abs(log((abs(x) + sqrt(((x * x) + single(1.0))))));
end
\mathsf{copysign}\left(\log \left(\left|x\right| + \sqrt{x \cdot x + 1}\right), x\right)

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2023010 
(FPCore (x)
  :name "Rust f32::asinh"
  :precision binary32

  :herbie-target
  (copysign (log1p (+ (fabs x) (/ (fabs x) (+ (hypot 1.0 (/ 1.0 (fabs x))) (/ 1.0 (fabs x)))))) x)

  (copysign (log (+ (fabs x) (sqrt (+ (* x x) 1.0)))) x))

Backtrace

map: contract violation expected: list? given: #<eof>LC
gen-map/usr/share/racket/collects/racket/private/map.rkt2572
run-egglog/home/nightlies/herbie/oflatt-egglog-ctx/src/egglog/run-egglog.rkt13320
run-simplify-input/home/nightlies/herbie/oflatt-egglog-ctx/src/core/simplify.rkt730
simplify-batch/home/nightlies/herbie/oflatt-egglog-ctx/src/core/simplify.rkt480
(unnamed)/usr/share/racket/collects/racket/contract/private/arrow-higher-order.rkt37933
get-swaps/home/nightlies/herbie/oflatt-egglog-ctx/src/symmetry.rkt60
connected-components/home/nightlies/herbie/oflatt-egglog-ctx/src/symmetry.rkt210
run-improve!/home/nightlies/herbie/oflatt-egglog-ctx/src/mainloop.rkt3200
(unnamed)/home/nightlies/herbie/oflatt-egglog-ctx/src/sandbox.rkt556
(unnamed)/usr/share/racket/pkgs/profile-lib/main.rkt4010
profile-thunk/usr/share/racket/pkgs/profile-lib/main.rkt90
(unnamed)/usr/share/racket/collects/racket/engine.rkt4224