Average Error: 0.0 → 0.0
Time: 1.7m
Precision: 64
Internal Precision: 128
\[\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\]
\[\frac{1 + \log \left(e^{\frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\right)}{2 + \log \left(e^{\frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\right)}\]

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\]
  2. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \color{blue}{\log \left(e^{\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\right)}}\]
  4. Using strategy rm
  5. Applied add-log-exp0.0

    \[\leadsto \frac{1 + \color{blue}{\log \left(e^{\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\right)}}{2 + \log \left(e^{\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\right)}\]
  6. Final simplification0.0

    \[\leadsto \frac{1 + \log \left(e^{\frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\right)}{2 + \log \left(e^{\frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\right)}\]

Reproduce

herbie shell --seed 2019016 
(FPCore (t)
  :name "Kahan p13 Example 1"
  (/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))

Details

Time bar (total: 1.7m)Debug log

sample30.0ms

Algorithm
intervals
Results
256×(pre true 80)
256×(body real 80)

simplify517.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
517.0ms
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))

prune4.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize28.0ms

Local error

Found 4 expressions with local error:

0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
0.0b
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
0.0b
(/ (* 2 t) (+ 1 t))

rewrite53.0ms

Algorithm
rewrite-expression-head
Rules
32×add-exp-log
32×add-cbrt-cube
24×times-frac
22×add-cube-cbrt
22×*-un-lft-identity
22×add-sqr-sqrt
18×associate-*l*
18×associate-*r*
14×pow1
12×associate-/r/
10×div-exp
10×cbrt-undiv
cbrt-unprod
prod-exp
flip-+
flip3-+
div-inv
associate-/r*
add-log-exp
associate-/l*
associate-/l/
pow-prod-up
*-commutative
associate-*r/
associate-*l/
pow-prod-down
pow-plus
frac-2neg
clear-num
frac-times
pow2
Counts
4 → 134
Calls
4 calls:
Slowest
24.0ms
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
12.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
8.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
6.0ms
(/ (* 2 t) (+ 1 t))

series75.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
31.0ms
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
20.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
13.0ms
(/ (* 2 t) (+ 1 t))
12.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

simplify23.9s

Counts
120 → 146
Calls
120 calls:
Slowest
874.0ms
(* (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))))
794.0ms
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (cbrt (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))
734.0ms
(* (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))))
719.0ms
(+ (* 2 2) (- (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (* 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))
602.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

prune1.3s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0b

localize16.0ms

Local error

Found 4 expressions with local error:

1.6b
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
0.0b
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
28×add-exp-log
28×add-cbrt-cube
18×associate-*l*
18×associate-*r*
15×pow1
13×add-cube-cbrt
13×*-un-lft-identity
13×add-sqr-sqrt
12×times-frac
cbrt-unprod
associate-/r/
prod-exp
div-exp
cbrt-undiv
add-log-exp
div-inv
flip-+
flip3-+
log-pow
log-prod
pow-prod-up
*-commutative
associate-*r/
associate-*l/
pow-prod-down
exp-to-pow
pow-plus
exp-prod
frac-times
pow2
rem-exp-log
rem-log-exp
Counts
4 → 106
Calls
4 calls:
Slowest
15.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
8.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
6.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
5.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))

series75.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
32.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
18.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
13.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
12.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

simplify10.5s

Counts
87 → 118
Calls
87 calls:
Slowest
748.0ms
(* (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))))
710.0ms
(* (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))))
545.0ms
(log (sqrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))
531.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
523.0ms
(+ (log (/ (* 2 t) (+ 1 t))) (- (log (* 2 t)) (log (+ 1 t))))

prune1.2s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize8.0ms

Local error

Found 4 expressions with local error:

1.6b
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
1.6b
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
0.0b
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
0.0b
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
10×add-log-exp
add-cube-cbrt
log-pow
*-un-lft-identity
log-prod
pow1
add-sqr-sqrt
add-exp-log
exp-to-pow
add-cbrt-cube
exp-prod
rem-exp-log
rem-log-exp
Counts
4 → 48
Calls
4 calls:
Slowest
3.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
3.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
3.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
3.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))

series127.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
42.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
40.0ms
(exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
25.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))
18.0ms
(log (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))

simplify4.4s

Counts
30 → 60
Calls
30 calls:
Slowest
584.0ms
(log (* (cbrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))) (cbrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))))
563.0ms
(log (sqrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))
544.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
527.0ms
(log (* (cbrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))) (cbrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))))))
518.0ms
(log (sqrt (exp (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))

prune725.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize22.0ms

Local error

Found 4 expressions with local error:

0.1b
(* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
0.0b
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

rewrite74.0ms

Algorithm
rewrite-expression-head
Rules
170×add-exp-log
170×add-cbrt-cube
77×cbrt-unprod
77×prod-exp
76×pow1
52×div-exp
52×cbrt-undiv
28×associate-*l*
28×associate-*r*
26×pow-prod-up
21×pow-prod-down
20×frac-times
18×times-frac
16×add-cube-cbrt
16×*-un-lft-identity
16×add-sqr-sqrt
15×pow-plus
14×associate-*r/
14×associate-*l/
12×associate-/r/
12×pow2
div-inv
flip-+
flip3-+
add-log-exp
*-commutative
Counts
4 → 223
Calls
4 calls:
Slowest
30.0ms
(* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
14.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
13.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
9.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

series92.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
28.0ms
(* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
22.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
21.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
21.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))

simplify52.4s

Counts
228 → 235
Calls
228 calls:
Slowest
1.2s
(* (* (+ 1 t) (+ 1 t)) (* (+ 1 t) (+ 1 t)))
1.1s
(* (* (/ (* (* (* 2 t) (* 2 t)) (* 2 t)) (* (* (+ 1 t) (+ 1 t)) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t)))) (* (/ (* (* (* 2 t) (* 2 t)) (* 2 t)) (* (* (+ 1 t) (+ 1 t)) (+ 1 t))) (/ (* (* (* 2 t) (* 2 t)) (* 2 t)) (* (* (+ 1 t) (+ 1 t)) (+ 1 t)))))
906.0ms
(* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))
845.0ms
(* (* (* 2 t) (/ (* 2 t) (+ 1 t))) (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))
830.0ms
(* (* (/ (* (* (* 2 t) (* 2 t)) (* 2 t)) (* (* (+ 1 t) (+ 1 t)) (+ 1 t))) (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t)))) (* (* (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))) (/ (* 2 t) (+ 1 t))) (/ (* (* (* 2 t) (* 2 t)) (* 2 t)) (* (* (+ 1 t) (+ 1 t)) (+ 1 t)))))

prune2.2s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes98.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch3.0ms

end0.0ms

sample1.1s

Algorithm
intervals
Results
8000×(pre true 80)
8000×(body real 80)