Average Error: 0.0 → 0.0
Time: 1.2m
Precision: 64
Internal Precision: 128
\[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
\[\left(1 - v \cdot v\right) \cdot \left(\sqrt{1 - \log \left(e^{\left(v \cdot v\right) \cdot 3}\right)} \cdot \frac{\sqrt{2}}{4}\right)\]

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
  2. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \color{blue}{\log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}}\right) \cdot \left(1 - v \cdot v\right)\]
  4. Final simplification0.0

    \[\leadsto \left(1 - v \cdot v\right) \cdot \left(\sqrt{1 - \log \left(e^{\left(v \cdot v\right) \cdot 3}\right)} \cdot \frac{\sqrt{2}}{4}\right)\]

Reproduce

herbie shell --seed 2019016 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))

Details

Time bar (total: 1.2m)Debug log

sample109.0ms

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

simplify172.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
172.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v)))

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

0.2b
(* 3 (* v v))
0.0b
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
0.0b
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v)))
0.0b
(sqrt (- 1 (* 3 (* v v))))

rewrite31.0ms

Algorithm
rewrite-expression-head
Rules
18×sqrt-div
18×frac-times
15×flip--
15×flip3--
11×add-exp-log
11×add-cbrt-cube
11×pow1
10×associate-*r/
10×associate-*r*
10×add-sqr-sqrt
add-cube-cbrt
associate-*l/
*-un-lft-identity
sqrt-prod
associate-*l*
add-log-exp
log1p-expm1-u
cbrt-unprod
prod-exp
pow-prod-down
expm1-log1p-u
*-commutative
distribute-lft-in
sub-neg
distribute-rgt-in
div-inv
pow1/2
rem-sqrt-square
Counts
4 → 96
Calls
4 calls:
Slowest
20.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v)))
6.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
2.0ms
(sqrt (- 1 (* 3 (* v v))))
1.0ms
(* 3 (* v v))

series226.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
95.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v)))
77.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
34.0ms
(sqrt (- 1 (* 3 (* v v))))
20.0ms
(* 3 (* v v))

simplify14.4s

Counts
78 → 108
Calls
78 calls:
Slowest
1.1s
(* (* (* (/ (sqrt 2) 4) (/ (sqrt 2) 4)) (/ (sqrt 2) 4)) (* (* (sqrt (- 1 (* 3 (* v v)))) (sqrt (- 1 (* 3 (* v v))))) (sqrt (- 1 (* 3 (* v v))))))
684.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- (* 1 1) (* (* 3 (* v v)) (* 3 (* v v)))))) (- (pow 1 3) (pow (* v v) 3)))
548.0ms
(* (* 4 (sqrt (+ 1 (* 3 (* v v))))) (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))))
443.0ms
(* (sqrt (+ (* 1 1) (+ (* (* 3 (* v v)) (* 3 (* v v))) (* 1 (* 3 (* v v)))))) (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))))
387.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- (pow 1 3) (pow (* 3 (* v v)) 3)))) (- 1 (* v v)))

prune1.3s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize31.0ms

Local error

Found 4 expressions with local error:

2.1b
(log (exp (* 3 (* v v))))
0.2b
(* 3 (* v v))
0.0b
(* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v)))))))
0.0b
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v))))))) (- 1 (* v v)))

rewrite28.0ms

Algorithm
rewrite-expression-head
Rules
18×frac-times
16×sqrt-div
14×flip--
14×flip3--
12×pow1
11×add-exp-log
11×add-cbrt-cube
10×associate-*r/
10×associate-*r*
add-cube-cbrt
associate-*l/
*-un-lft-identity
add-sqr-sqrt
associate-*l*
add-log-exp
log1p-expm1-u
cbrt-unprod
prod-exp
pow-prod-down
expm1-log1p-u
sqrt-prod
*-commutative
log-prod
log-pow
distribute-lft-in
sub-neg
distribute-rgt-in
div-inv
rem-log-exp
exp-prod
Counts
4 → 95
Calls
4 calls:
Slowest
15.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v))))))) (- 1 (* v v)))
7.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v)))))))
4.0ms
(log (exp (* 3 (* v v))))
2.0ms
(* 3 (* v v))

series236.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
130.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v))))))) (- 1 (* v v)))
78.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (log (exp (* 3 (* v v)))))))
14.0ms
(log (exp (* 3 (* v v))))
14.0ms
(* 3 (* v v))

simplify14.4s

Counts
76 → 107
Calls
76 calls:
Slowest
1.2s
(* (* (* (/ (sqrt 2) 4) (/ (sqrt 2) 4)) (/ (sqrt 2) 4)) (* (* (sqrt (- 1 (log (exp (* 3 (* v v)))))) (sqrt (- 1 (log (exp (* 3 (* v v))))))) (sqrt (- 1 (log (exp (* 3 (* v v))))))))
523.0ms
(* (sqrt (+ 1 (log (exp (* 3 (* v v)))))) (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))))
518.0ms
(* (* (sqrt 2) (sqrt (- 1 (log (exp (* 3 (* v v))))))) (- 1 (* v v)))
509.0ms
(* (sqrt (+ (* 1 1) (+ (* (log (exp (* 3 (* v v)))) (log (exp (* 3 (* v v))))) (* 1 (log (exp (* 3 (* v v)))))))) (+ (* 1 1) (+ (* (* v v) (* v v)) (* 1 (* v v)))))
509.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- (pow 1 3) (pow (log (exp (* 3 (* v v)))) 3)))) (- (* 1 1) (* (* v v) (* v v))))

prune1.4s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize38.0ms

Local error

Found 4 expressions with local error:

1.0b
(/ 32 (sqrt 2))
1.0b
(/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1)))
0.0b
(cbrt (/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))))
0.0b
(/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))

rewrite30.0ms

Algorithm
rewrite-expression-head
Rules
360×times-frac
185×add-cube-cbrt
185×*-un-lft-identity
185×add-sqr-sqrt
101×cbrt-prod
99×sqrt-prod
60×div-inv
22×associate-/r*
11×add-exp-log
11×add-cbrt-cube
10×associate-/l*
add-log-exp
log1p-expm1-u
div-exp
cbrt-undiv
pow1
expm1-log1p-u
frac-2neg
clear-num
associate-/r/
associate-/l/
pow1/3
cbrt-div
Counts
4 → 296
Calls
4 calls:
Slowest
11.0ms
(/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1)))
6.0ms
(/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))
5.0ms
(cbrt (/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))))
1.0ms
(/ 32 (sqrt 2))

series423.0ms

Counts
4 → 10
Calls
4 calls:
Slowest
259.0ms
(cbrt (/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))))
113.0ms
(/ (sqrt (fma -3 (* v v) 1)) (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1)))
51.0ms
(/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))
0.0ms
(/ 32 (sqrt 2))

simplify29.8s

Counts
364 → 306
Calls
364 calls:
Slowest
491.0ms
(/ (sqrt 1) (/ (* (cbrt (/ 32 (sqrt 2))) (cbrt (/ 32 (sqrt 2)))) (* (cbrt (fma -3 (* v v) 1)) (cbrt (fma -3 (* v v) 1)))))
474.0ms
(/ (cbrt (sqrt (fma -3 (* v v) 1))) (cbrt (/ (/ 32 (sqrt 2)) (fma -3 (* v v) 1))))
433.0ms
(cbrt (/ (sqrt 1) (/ (* (cbrt (/ 32 (sqrt 2))) (cbrt (/ 32 (sqrt 2)))) (* (cbrt (fma -3 (* v v) 1)) (cbrt (fma -3 (* v v) 1))))))
430.0ms
(/ (* (* (/ 32 (sqrt 2)) (/ 32 (sqrt 2))) (/ 32 (sqrt 2))) (* (* (fma -3 (* v v) 1) (fma -3 (* v v) 1)) (fma -3 (* v v) 1)))
421.0ms
(- (+ (* 9/64 (/ (sqrt 2) (* v (sqrt -27)))) (* 729/256 (/ (sqrt 2) (* v (pow (sqrt -27) 3))))) (+ (* 27/64 (/ (* (sqrt 2) v) (sqrt -27))) (* 1/32 (* (sqrt 2) (* (pow v 3) (sqrt -27))))))

prune4.1s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes72.0ms

Accuracy

0% (0.0b remaining)

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

bsearch4.0ms

end0.0ms

sample3.5s

Algorithm
intervals
Results
16013×(pre true 80)
8012×(body nan 80)
8001×(body real 80)