Average Error: 0.0 → 0.0
Time: 13.5s
Precision: 64
Internal Precision: 128
\[-\log \left(\frac{1}{x} - 1\right)\]
\[-\log \left(\left(e^{\log \left(\sqrt{\frac{1}{x}}\right)} - 1\right) \cdot \left(\sqrt{\frac{1}{x}} + 1\right)\right)\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[-\log \left(\frac{1}{x} - 1\right)\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.0

    \[\leadsto -\log \left(\color{blue}{\sqrt{\frac{1}{x}} \cdot \sqrt{\frac{1}{x}}} - 1\right)\]
  4. Applied difference-of-sqr-10.0

    \[\leadsto -\log \color{blue}{\left(\left(\sqrt{\frac{1}{x}} + 1\right) \cdot \left(\sqrt{\frac{1}{x}} - 1\right)\right)}\]
  5. Using strategy rm
  6. Applied add-exp-log0.0

    \[\leadsto -\log \left(\left(\sqrt{\frac{1}{x}} + 1\right) \cdot \left(\color{blue}{e^{\log \left(\sqrt{\frac{1}{x}}\right)}} - 1\right)\right)\]
  7. Final simplification0.0

    \[\leadsto -\log \left(\left(e^{\log \left(\sqrt{\frac{1}{x}}\right)} - 1\right) \cdot \left(\sqrt{\frac{1}{x}} + 1\right)\right)\]

Reproduce

herbie shell --seed 2019007 
(FPCore (x)
  :name "neg log"
  (- (log (- (/ 1 x) 1))))

Details

Time bar (total: 13.2s)Debug log

sample246.0ms

Algorithm
intervals

simplify21.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

20.0ms
(- (log (- (/ 1 x) 1)))

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize125.0ms

Local error

Found 2 expressions with local error:

0.0b
(- (/ 1 x) 1)
0.0b
(log (- (/ 1 x) 1))

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
2 → 27
Calls

2 calls. Slowest were:

12.0ms
(- (/ 1 x) 1)
5.0ms
(log (- (/ 1 x) 1))

series65.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

35.0ms
(log (- (/ 1 x) 1))
30.0ms
(- (/ 1 x) 1)

simplify480.0ms

Counts
14 → 33
Calls

14 calls. Slowest were:

108.0ms
(- (log -1) (+ (/ 1 x) (* 1/2 (/ 1 (pow x 2)))))
102.0ms
(- (log -1) (+ (/ 1 x) (* 1/2 (/ 1 (pow x 2)))))
90.0ms
(- (+ x (+ (* 1/2 (pow x 2)) (log x))))

prune283.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize32.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (+ (sqrt (/ 1 x)) 1) (- (sqrt (/ 1 x)) 1))
0.1b
(sqrt (/ 1 x))
0.1b
(sqrt (/ 1 x))
0.0b
(- (sqrt (/ 1 x)) 1)

rewrite41.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

29.0ms
(* (+ (sqrt (/ 1 x)) 1) (- (sqrt (/ 1 x)) 1))
9.0ms
(- (sqrt (/ 1 x)) 1)
1.0ms
(sqrt (/ 1 x))

series86.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

43.0ms
(* (+ (sqrt (/ 1 x)) 1) (- (sqrt (/ 1 x)) 1))
19.0ms
(- (sqrt (/ 1 x)) 1)
13.0ms
(sqrt (/ 1 x))
10.0ms
(sqrt (/ 1 x))

simplify3.7s

Counts
52 → 84
Calls

52 calls. Slowest were:

498.0ms
(* (- (* (sqrt (/ 1 x)) (sqrt (/ 1 x))) (* 1 1)) (- (sqrt (/ 1 x)) 1))
398.0ms
(* (- (sqrt (/ 1 x)) 1) (+ (sqrt (/ 1 x)) 1))
369.0ms
(* (- (* (sqrt (/ 1 x)) (sqrt (/ 1 x))) (* 1 1)) (- (pow (sqrt (/ 1 x)) 3) (pow 1 3)))

prune766.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0b

localize17.0ms

Local error

Found 4 expressions with local error:

4.8b
(exp (log (sqrt (/ 1 x))))
0.5b
(* (+ (sqrt (/ 1 x)) 1) (- (exp (log (sqrt (/ 1 x)))) 1))
0.1b
(sqrt (/ 1 x))
0.1b
(sqrt (/ 1 x))

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

24.0ms
(* (+ (sqrt (/ 1 x)) 1) (- (exp (log (sqrt (/ 1 x)))) 1))
2.0ms
(exp (log (sqrt (/ 1 x))))
0.0ms
(sqrt (/ 1 x))

series64.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

34.0ms
(* (+ (sqrt (/ 1 x)) 1) (- (exp (log (sqrt (/ 1 x)))) 1))
10.0ms
(sqrt (/ 1 x))
10.0ms
(exp (log (sqrt (/ 1 x))))
9.0ms
(sqrt (/ 1 x))

simplify3.2s

Counts
65 → 93
Calls

65 calls. Slowest were:

389.0ms
(* (+ (* (sqrt (/ 1 x)) (sqrt (/ 1 x))) (- (* 1 1) (* (sqrt (/ 1 x)) 1))) (+ (* (exp (log (sqrt (/ 1 x)))) (exp (log (sqrt (/ 1 x))))) (+ (* 1 1) (* (exp (log (sqrt (/ 1 x)))) 1))))
365.0ms
(* (- (* (sqrt (/ 1 x)) (sqrt (/ 1 x))) (* 1 1)) (- (exp (log (sqrt (/ 1 x)))) 1))
333.0ms
(* (+ (pow (sqrt (/ 1 x)) 3) (pow 1 3)) (- (exp (log (sqrt (/ 1 x)))) 1))

prune965.0ms

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 0b

end0.0ms

sample3.1s

Algorithm
intervals