Average Error: 0.4 → 0.5
Time: 21.4s
Precision: 64
Internal Precision: 128
\[\log \left(1 + e^{x}\right) - x \cdot y\]
\[\log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(x \cdot y + \left(\left(\log \left(\sqrt{{\left(e^{x + x}\right)}^{3} - {\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)}^{3}}\right) - \log \left(\sqrt{\left(\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) \cdot e^{x + x} + \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)\right) + e^{x + x} \cdot e^{x + x}}\right)\right) + \log \left(\sqrt{\left(e^{x} \cdot e^{x} - e^{x}\right) + 1}\right)\right)\right)\]

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.4
Target0.0
Herbie0.5
\[\begin{array}{l} \mathbf{if}\;x \le 0:\\ \;\;\;\;\log \left(1 + e^{x}\right) - x \cdot y\\ \mathbf{else}:\\ \;\;\;\;\log \left(1 + e^{-x}\right) - \left(-x\right) \cdot \left(1 - y\right)\\ \end{array}\]

Derivation

  1. Initial program 0.4

    \[\log \left(1 + e^{x}\right) - x \cdot y\]
  2. Using strategy rm
  3. Applied flip3-+0.4

    \[\leadsto \log \color{blue}{\left(\frac{{1}^{3} + {\left(e^{x}\right)}^{3}}{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)} - x \cdot y\]
  4. Applied log-div0.4

    \[\leadsto \color{blue}{\left(\log \left({1}^{3} + {\left(e^{x}\right)}^{3}\right) - \log \left(1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)\right)\right)} - x \cdot y\]
  5. Applied associate--l-0.4

    \[\leadsto \color{blue}{\log \left({1}^{3} + {\left(e^{x}\right)}^{3}\right) - \left(\log \left(1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)\right) + x \cdot y\right)}\]
  6. Simplified0.4

    \[\leadsto \color{blue}{\log \left({\left(e^{x}\right)}^{3} + 1\right)} - \left(\log \left(1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)\right) + x \cdot y\right)\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.4

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\log \color{blue}{\left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)} \cdot \sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)} + x \cdot y\right)\]
  9. Applied log-prod0.4

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\color{blue}{\left(\log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right) + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right)} + x \cdot y\right)\]
  10. Simplified0.4

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\color{blue}{\log \left(\sqrt{e^{x + x} - \left(e^{x} + -1\right)}\right)} + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  11. Using strategy rm
  12. Applied add-sqr-sqrt0.4

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\log \left(\sqrt{e^{x + x} - \left(\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}} + -1\right)}\right) + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  13. Applied difference-of-sqr--10.4

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\log \left(\sqrt{e^{x + x} - \color{blue}{\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)}}\right) + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  14. Using strategy rm
  15. Applied flip3--0.5

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\log \left(\sqrt{\color{blue}{\frac{{\left(e^{x + x}\right)}^{3} - {\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)}^{3}}{e^{x + x} \cdot e^{x + x} + \left(\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) + e^{x + x} \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)\right)}}}\right) + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  16. Applied sqrt-div0.5

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\log \color{blue}{\left(\frac{\sqrt{{\left(e^{x + x}\right)}^{3} - {\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)}^{3}}}{\sqrt{e^{x + x} \cdot e^{x + x} + \left(\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) + e^{x + x} \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)\right)}}\right)} + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  17. Applied log-div0.5

    \[\leadsto \log \left({\left(e^{x}\right)}^{3} + 1\right) - \left(\left(\color{blue}{\left(\log \left(\sqrt{{\left(e^{x + x}\right)}^{3} - {\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)}^{3}}\right) - \log \left(\sqrt{e^{x + x} \cdot e^{x + x} + \left(\left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right) + e^{x + x} \cdot \left(\left(\sqrt{e^{x}} + 1\right) \cdot \left(\sqrt{e^{x}} - 1\right)\right)\right)}\right)\right)} + \log \left(\sqrt{1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)}\right)\right) + x \cdot y\right)\]
  18. Final simplification0.5

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

Reproduce

herbie shell --seed 2019022 
(FPCore (x y)
  :name "Logistic regression 2"

  :herbie-target
  (if (<= x 0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))

  (- (log (+ 1 (exp x))) (* x y)))

Details

Time bar (total: 19.9s)Debug log

sample127.0ms

Algorithm
intervals
Results
64.0ms82×body10240exit
22.0ms259×body80valid
19.0msbody1280valid
5.0ms10×body640valid
2.0msbody320valid
1.0msbody160valid

simplify11.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
11.0ms
(- (log (+ 1 (exp x))) (* x y))

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.5b

localize25.0ms

Local error

Found 3 expressions with local error:

0.5b
(log (+ 1 (exp x)))
0.0b
(+ 1 (exp x))
0.0b
(- (log (+ 1 (exp x))) (* x y))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
log-prod
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
add-exp-log
log-div
pow1
flip-+
associate--l+
add-cbrt-cube
flip3-+
associate--l-
flip--
log-pow
rem-log-exp
diff-log
flip3--
sub-neg
+-commutative
Counts
3 → 41
Calls
3 calls:
Slowest
8.0ms
(- (log (+ 1 (exp x))) (* x y))
2.0ms
(log (+ 1 (exp x)))
1.0ms
(+ 1 (exp x))

series116.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
65.0ms
(log (+ 1 (exp x)))
41.0ms
(- (log (+ 1 (exp x))) (* x y))
11.0ms
(+ 1 (exp x))

simplify156.0ms

Counts
21 → 50
Calls
21 calls:
Slowest
34.0ms
(+ (log 2) (+ (* 1/2 x) (* 1/8 (pow x 2))))
25.0ms
(+ (log 2) (+ (* 1/2 x) (* 1/8 (pow x 2))))
22.0ms
(+ x (+ (* 1/2 (pow x 2)) 2))
15.0ms
(log (+ (pow 1 3) (pow (exp x) 3)))
9.0ms
(- (log (+ (exp x) 1)) (* x y))

prune406.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.5b

localize30.0ms

Local error

Found 4 expressions with local error:

3.6b
(log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x)))))
3.5b
(- (* (exp x) (exp x)) (* 1 (exp x)))
0.6b
(log (+ (pow (exp x) 3) 1))
0.0b
(- (log (+ (pow (exp x) 3) 1)) (+ (log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))) (* x y)))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity
10×log-prod
add-sqr-sqrt
add-log-exp
log-div
add-cube-cbrt
pow1
add-exp-log
flip-+
add-cbrt-cube
flip3-+
log-pow
associate--l+
diff-log
associate--r-
distribute-lft-out--
flip--
associate-+l-
rem-log-exp
flip3--
sub-neg
associate--l-
difference-of-squares
associate--r+
distribute-lft-out
distribute-rgt-out--
sum-log
Counts
4 → 66
Calls
4 calls:
Slowest
20.0ms
(- (log (+ (pow (exp x) 3) 1)) (+ (log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))) (* x y)))
7.0ms
(log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x)))))
5.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))
3.0ms
(log (+ (pow (exp x) 3) 1))

series310.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
109.0ms
(- (log (+ (pow (exp x) 3) 1)) (+ (log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))) (* x y)))
104.0ms
(log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x)))))
66.0ms
(log (+ (pow (exp x) 3) 1))
30.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))

simplify2.8s

Counts
42 → 78
Calls
42 calls:
Slowest
273.0ms
(log (- (* (* 1 1) (* 1 1)) (* (- (* (exp x) (exp x)) (* 1 (exp x))) (- (* (exp x) (exp x)) (* 1 (exp x))))))
227.0ms
(/ (+ (pow (exp x) 3) 1) (* (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x)))) (exp (* x y))))
208.0ms
(- (log (+ (* (* 1 1) (* 1 1)) (- (* (- (* (exp x) (exp x)) (* 1 (exp x))) (- (* (exp x) (exp x)) (* 1 (exp x)))) (* (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))) (* x y))
193.0ms
(/ (+ (pow (exp x) 3) 1) (exp (+ (log (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))) (* x y))))
174.0ms
(log (+ (pow (* 1 1) 3) (pow (- (* (exp x) (exp x)) (* 1 (exp x))) 3)))

prune999.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.5b

localize33.0ms

Local error

Found 4 expressions with local error:

3.6b
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
3.5b
(- (* (exp x) (exp x)) (* 1 (exp x)))
3.4b
(log (sqrt (- (exp (+ x x)) (+ (exp x) -1))))
3.1b
(+ (exp x) -1)

rewrite29.0ms

Algorithm
rewrite-expression-head
Rules
16×log-prod
12×add-sqr-sqrt
11×*-un-lft-identity
10×sqrt-prod
add-cube-cbrt
add-log-exp
add-exp-log
pow1
log-pow
sqrt-div
add-cbrt-cube
log-div
difference-of-squares
flip--
flip-+
rem-log-exp
pow1/2
flip3--
flip3-+
distribute-lft-out--
distribute-lft-out
exp-sum
diff-log
distribute-rgt-out--
sub-neg
difference-of-sqr--1
+-commutative
Counts
4 → 64
Calls
4 calls:
Slowest
9.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))
8.0ms
(log (sqrt (- (exp (+ x x)) (+ (exp x) -1))))
6.0ms
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
4.0ms
(+ (exp x) -1)

series329.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
147.0ms
(log (sqrt (- (exp (+ x x)) (+ (exp x) -1))))
135.0ms
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
31.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))
17.0ms
(+ (exp x) -1)

simplify2.5s

Counts
38 → 76
Calls
38 calls:
Slowest
583.0ms
(log (sqrt (- (pow (exp (+ x x)) 3) (pow (+ (exp x) -1) 3))))
319.0ms
(log (sqrt (- (* (* 1 1) (* 1 1)) (* (- (* (exp x) (exp x)) (* 1 (exp x))) (- (* (exp x) (exp x)) (* 1 (exp x)))))))
221.0ms
(log (sqrt (+ (pow (* 1 1) 3) (pow (- (* (exp x) (exp x)) (* 1 (exp x))) 3))))
173.0ms
(log (sqrt (- (* (exp (+ x x)) (exp (+ x x))) (* (+ (exp x) -1) (+ (exp x) -1)))))
116.0ms
(- (+ (* 1/2 x) (* 1/2 (pow x 2))) (* 5/24 (pow x 4)))

prune1.7s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.4b

localize37.0ms

Local error

Found 4 expressions with local error:

3.6b
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
3.5b
(- (* (exp x) (exp x)) (* 1 (exp x)))
3.4b
(log (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)))))
3.1b
(- (sqrt (exp x)) 1)

rewrite42.0ms

Algorithm
rewrite-expression-head
Rules
13×log-prod
10×add-sqr-sqrt
*-un-lft-identity
sqrt-prod
add-cube-cbrt
add-log-exp
add-exp-log
pow1
log-pow
sqrt-div
add-cbrt-cube
log-div
flip--
flip3--
rem-log-exp
difference-of-sqr-1
pow1/2
sub-neg
distribute-lft-out
flip-+
diff-log
distribute-rgt-out--
flip3-+
Counts
4 → 63
Calls
4 calls:
Slowest
13.0ms
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
10.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))
9.0ms
(- (sqrt (exp x)) 1)
9.0ms
(log (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)))))

series344.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
154.0ms
(log (sqrt (+ (* 1 1) (- (* (exp x) (exp x)) (* 1 (exp x))))))
133.0ms
(log (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)))))
28.0ms
(- (sqrt (exp x)) 1)
28.0ms
(- (* (exp x) (exp x)) (* 1 (exp x)))

simplify3.8s

Counts
36 → 75
Calls
36 calls:
Slowest
591.0ms
(log (sqrt (- (pow (exp (+ x x)) 3) (pow (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)) 3))))
330.0ms
(log (sqrt (- (* (exp (+ x x)) (exp (+ x x))) (* (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1))))))
302.0ms
(log (* (cbrt (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1))))) (cbrt (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1)))))))
298.0ms
(log (sqrt (sqrt (- (exp (+ x x)) (* (+ (sqrt (exp x)) 1) (- (sqrt (exp x)) 1))))))
295.0ms
(log (sqrt (- (* (* 1 1) (* 1 1)) (* (- (* (exp x) (exp x)) (* 1 (exp x))) (- (* (exp x) (exp x)) (* 1 (exp x)))))))

prune1.6s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.4b

regimes136.0ms

Accuracy

0% (0.3b remaining)

Error of 0.5b against oracle of 0.2b and baseline of 0.5b

bsearch9.0ms

end0.0ms

sample4.2s

Algorithm
intervals
Results
2.8s2449×body10240exit
908.0ms8415×body80valid
147.0ms277×body640valid
109.0ms114×body1280valid
63.0ms187×body320valid
61.0ms113×body160valid