Average Error: 0.3 → 0.0
Time: 5.4s
Precision: binary64
\[\log x - \log \log x\]
\[\log \left(\sqrt{x} \cdot \frac{\sqrt{x}}{\log x}\right)\]
\log x - \log \log x
\log \left(\sqrt{x} \cdot \frac{\sqrt{x}}{\log x}\right)
(FPCore (x) :precision binary64 (- (log x) (log (log x))))
(FPCore (x) :precision binary64 (log (* (sqrt x) (/ (sqrt x) (log x)))))
double code(double x) {
	return log(x) - log(log(x));
}
double code(double x) {
	return log(sqrt(x) * (sqrt(x) / log(x)));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\log x - \log \log x\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt_binary64_18050.3

    \[\leadsto \log \color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)} - \log \log x\]
  4. Applied log-prod_binary64_18690.3

    \[\leadsto \color{blue}{\left(\log \left(\sqrt{x}\right) + \log \left(\sqrt{x}\right)\right)} - \log \log x\]
  5. Applied associate--l+_binary64_17200.3

    \[\leadsto \color{blue}{\log \left(\sqrt{x}\right) + \left(\log \left(\sqrt{x}\right) - \log \log x\right)}\]
  6. Using strategy rm
  7. Applied diff-log_binary64_18750.2

    \[\leadsto \log \left(\sqrt{x}\right) + \color{blue}{\log \left(\frac{\sqrt{x}}{\log x}\right)}\]
  8. Applied sum-log_binary64_18740.0

    \[\leadsto \color{blue}{\log \left(\sqrt{x} \cdot \frac{\sqrt{x}}{\log x}\right)}\]
  9. Final simplification0.0

    \[\leadsto \log \left(\sqrt{x} \cdot \frac{\sqrt{x}}{\log x}\right)\]

Reproduce

herbie shell --seed 2021084 
(FPCore (x)
  :name "Jmat.Real.lambertw, estimator"
  :precision binary64
  (- (log x) (log (log x))))