Average Error: 0.0 → 0.0
Time: 31.4s
Precision: 64
Internal Precision: 128
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[(b \cdot a + \left(z \cdot t\right))_* + (i \cdot c + \left(y \cdot x\right))_*\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Derivation

  1. Initial program 0.0

    \[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
  2. Initial simplification0.0

    \[\leadsto (b \cdot a + \left(z \cdot t\right))_* + (i \cdot c + \left(x \cdot y\right))_*\]
  3. Final simplification0.0

    \[\leadsto (b \cdot a + \left(z \cdot t\right))_* + (i \cdot c + \left(y \cdot x\right))_*\]

Reproduce

herbie shell --seed 2018360 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))

Details

Time bar (total: 26.4s)Debug log

start115.0ms

Algorithm
intervals

setup105.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize32.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (fma b a (* z t)) (fma i c (* x y)))
0.0b
(fma i c (* x y))
0.0b
(fma b a (* z t))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
3 → 39
Calls

3 calls. Slowest were:

3.0ms
(+ (fma b a (* z t)) (fma i c (* x y)))
0.0ms
(fma i c (* x y))
0.0ms
(fma b a (* z t))

series329.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

239.0ms
(+ (fma b a (* z t)) (fma i c (* x y)))
46.0ms
(fma b a (* z t))
44.0ms
(fma i c (* x y))

simplify673.0ms

Counts
15 → 48
Calls

15 calls. Slowest were:

523.0ms
(* (exp (fma b a (* z t))) (exp (fma i c (* x y))))
39.0ms
(+ (fma b a (* z t)) (fma i c (* x y)))
27.0ms
(+ (* i c) (+ (* t z) (* x y)))

prune864.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

0.5b
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
0.5b
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
0.5b
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
0.5b
(* (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))) (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 88
Calls

4 calls. Slowest were:

21.0ms
(* (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))) (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))))
4.0ms
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
4.0ms
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))

series682.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

209.0ms
(* (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))) (cbrt (+ (fma b a (* z t)) (fma i c (* x y)))))
170.0ms
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
162.0ms
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))
141.0ms
(cbrt (+ (fma b a (* z t)) (fma i c (* x y))))

simplify9.5s

Counts
64 → 100
Calls

64 calls. Slowest were:

607.0ms
(* (+ (fma b a (* z t)) (fma i c (* x y))) (+ (fma b a (* z t)) (fma i c (* x y))))
540.0ms
(* (+ (fma b a (* z t)) (fma i c (* x y))) (+ (fma b a (* z t)) (fma i c (* x y))))
451.0ms
(* (cbrt (- (fma b a (* z t)) (fma i c (* x y)))) (cbrt (+ (* (fma b a (* z t)) (fma b a (* z t))) (- (* (fma i c (* x y)) (fma i c (* x y))) (* (fma b a (* z t)) (fma i c (* x y)))))))

prune1.9s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0.0b

localize23.0ms

Local error

Found 2 expressions with local error:

0.0b
(fma x y (fma i c (* t z)))
0.0b
(fma i c (* t z))

rewrite1.0ms

Algorithm
rewrite-expression-head
Counts
2 → 20
Calls

2 calls. Slowest were:

0.0ms
(fma x y (fma i c (* t z)))
0.0ms
(fma i c (* t z))

series93.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

66.0ms
(fma x y (fma i c (* t z)))
27.0ms
(fma i c (* t z))

simplify52.0ms

Counts
6 → 26
Calls

6 calls. Slowest were:

16.0ms
(+ (* i c) (+ (* t z) (* x y)))
16.0ms
(+ (* i c) (+ (* t z) (* x y)))
9.0ms
(+ (* t z) (* i c))

prune441.0ms

Pruning

5 alts after pruning (2 fresh and 3 done)

Merged error: 0.0b

localize18.0ms

Local error

Found 4 expressions with local error:

32.8b
(cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t))))
0.3b
(* (fma b a (* z t)) (fma b a (* z t)))
0.2b
(* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))
0.0b
(+ (cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))) (fma i c (* x y)))

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 84
Calls

4 calls. Slowest were:

12.0ms
(+ (cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))) (fma i c (* x y)))
10.0ms
(* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))
9.0ms
(cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t))))

series494.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

268.0ms
(+ (cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))) (fma i c (* x y)))
142.0ms
(* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))
51.0ms
(* (fma b a (* z t)) (fma b a (* z t)))
33.0ms
(cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t))))

simplify8.2s

Counts
54 → 96
Calls

54 calls. Slowest were:

1.1s
(* (* (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t))) (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))) (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t))))
870.0ms
(* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))
797.0ms
(+ (cbrt (* (* (fma b a (* z t)) (fma b a (* z t))) (fma b a (* z t)))) (fma i c (* x y)))

prune1.7s

Pruning

5 alts after pruning (1 fresh and 4 done)

Merged error: 0.0b

regimes1.0s

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms