Average Error: 0.0 → 0.0
Time: 37.8s
Precision: 64
Internal Precision: 128
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[c \cdot i + \left(\left(z \cdot t + x \cdot y\right) + a \cdot b\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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

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

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

Reproduce

herbie shell --seed 2019010 
(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: 36.8s)Debug log

sample72.0ms

Algorithm
intervals

simplify58.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
58.0ms
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize22.0ms

Local error

Found 3 expressions with local error:

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

rewrite62.0ms

Algorithm
rewrite-expression-head
Rules
19×add-log-exp
10×sum-log
flip-+
add-cube-cbrt
add-exp-log
add-cbrt-cube
flip3-+
*-un-lft-identity
+-commutative
pow1
add-sqr-sqrt
associate-+l+
Counts
3 → 38
Calls
3 calls:
Slowest
46.0ms
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
12.0ms
(+ (+ (* x y) (* z t)) (* a b))
3.0ms
(+ (* x y) (* z t))

series344.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
246.0ms
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
71.0ms
(+ (+ (* x y) (* z t)) (* a b))
27.0ms
(+ (* x y) (* z t))

simplify698.0ms

Counts
17 → 47
Calls
17 calls:
Slowest
198.0ms
(* (* (* (exp (* x y)) (exp (* z t))) (exp (* a b))) (exp (* c i)))
160.0ms
(* (* (exp (+ (* x y) (* z t))) (exp (* a b))) (exp (* c i)))
123.0ms
(* (exp (+ (+ (* x y) (* z t)) (* a b))) (exp (* c i)))
52.0ms
(* (exp (+ (* x y) (* z t))) (exp (* a b)))
47.0ms
(* (* (exp (* x y)) (exp (* z t))) (exp (* a b)))

prune625.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize12.0ms

Local error

Found 4 expressions with local error:

0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.5b
(* (cbrt (+ (+ (* x y) (* z t)) (* a b))) (cbrt (+ (+ (* x y) (* z t)) (* a b))))

rewrite64.0ms

Algorithm
rewrite-expression-head
Rules
18×cbrt-div
15×cbrt-prod
11×add-cube-cbrt
11×*-un-lft-identity
11×add-sqr-sqrt
flip-+
flip3-+
pow1
pow1/3
add-exp-log
associate-*l*
associate-*r*
add-log-exp
add-cbrt-cube
frac-times
pow-prod-up
associate-*r/
associate-*l/
pow-prod-down
cbrt-unprod
*-commutative
prod-exp
pow-plus
pow2
Counts
4 → 75
Calls
4 calls:
Slowest
47.0ms
(* (cbrt (+ (+ (* x y) (* z t)) (* a b))) (cbrt (+ (+ (* x y) (* z t)) (* a b))))
6.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
5.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
4.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))

series656.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
240.0ms
(* (cbrt (+ (+ (* x y) (* z t)) (* a b))) (cbrt (+ (+ (* x y) (* z t)) (* a b))))
153.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
136.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
127.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))

simplify5.8s

Counts
59 → 87
Calls
59 calls:
Slowest
332.0ms
(* (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)))
328.0ms
(* (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)))
317.0ms
(exp (* -1/3 (+ (log (/ 1 x)) (log (/ 1 y)))))
305.0ms
(exp (* -1/3 (+ (* 2 (log (/ -1 x))) (* 2 (log (/ -1 y))))))
284.0ms
(* (cbrt (+ (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (- (* (* a b) (* a b)) (* (+ (* x y) (* z t)) (* a b))))) (cbrt (- (+ (* x y) (* z t)) (* a b))))

prune1.6s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0.0b

localize20.0ms

Local error

Found 4 expressions with local error:

0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
0.8b
(cbrt (+ (+ (* x y) (* z t)) (* a b)))

rewrite19.0ms

Algorithm
rewrite-expression-head
Rules
12×cbrt-prod
add-cube-cbrt
*-un-lft-identity
cbrt-div
add-sqr-sqrt
add-log-exp
flip-+
add-exp-log
pow1/3
add-cbrt-cube
flip3-+
pow1
Counts
4 → 52
Calls
4 calls:
Slowest
5.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
4.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
4.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
4.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))

series678.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
178.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
175.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
168.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))
157.0ms
(cbrt (+ (+ (* x y) (* z t)) (* a b)))

simplify3.5s

Counts
32 → 64
Calls
32 calls:
Slowest
647.0ms
(exp (* -1/3 (+ (log (/ 1 x)) (log (/ 1 y)))))
347.0ms
(exp (* -1/3 (+ (log (/ 1 x)) (log (/ 1 y)))))
285.0ms
(exp (* -1/3 (+ (log (/ 1 x)) (log (/ 1 y)))))
281.0ms
(exp (* -1/3 (+ (log (/ 1 x)) (log (/ 1 y)))))
197.0ms
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))

prune1.4s

Pruning

5 alts after pruning (2 fresh and 3 done)

Merged error: 0.0b

localize55.0ms

Local error

Found 4 expressions with local error:

27.9b
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))
27.9b
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))
14.1b
(/ (* (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))) (* (cbrt (- (+ (* x y) (* z t)) (* a b))) (cbrt (- (+ (* x y) (* z t)) (* a b)))))
4.0b
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))

rewrite128.0ms

Algorithm
rewrite-expression-head
Rules
28×cbrt-div
16×add-exp-log
15×flip--
15×flip3--
associate-/l/
associate-/r/
add-cbrt-cube
frac-times
cbrt-prod
add-log-exp
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
cbrt-unprod
associate-*r/
prod-exp
associate-*l/
div-exp
cbrt-undiv
pow1
difference-of-squares
associate--l+
pow1/3
associate-/l*
div-inv
diff-log
times-frac
distribute-lft-in
frac-2neg
sub-neg
associate-/r*
clear-num
distribute-rgt-in
Counts
4 → 80
Calls
4 calls:
Slowest
77.0ms
(/ (* (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))) (* (cbrt (- (+ (* x y) (* z t)) (* a b))) (cbrt (- (+ (* x y) (* z t)) (* a b)))))
17.0ms
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))
16.0ms
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))
15.0ms
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))

series4.9s

Counts
4 → 12
Calls
4 calls:
Slowest
4.0s
(/ (* (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))) (* (cbrt (- (+ (* x y) (* z t)) (* a b))) (cbrt (- (+ (* x y) (* z t)) (* a b)))))
420.0ms
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))
248.0ms
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))
200.0ms
(cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))

simplify9.5s

Counts
57 → 92
Calls
57 calls:
Slowest
400.0ms
(- (+ (log (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))) (log (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))))) (+ (log (cbrt (- (+ (* x y) (* z t)) (* a b)))) (log (cbrt (- (+ (* x y) (* z t)) (* a b))))))
375.0ms
(- (+ (log (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))))) (log (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))))) (log (* (cbrt (- (+ (* x y) (* z t)) (* a b))) (cbrt (- (+ (* x y) (* z t)) (* a b))))))
372.0ms
(- (log (* (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))))) (+ (log (cbrt (- (+ (* x y) (* z t)) (* a b)))) (log (cbrt (- (+ (* x y) (* z t)) (* a b))))))
351.0ms
(/ (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (+ (* x y) (* z t)) (* a b))))
345.0ms
(- (log (* (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))))) (log (* (cbrt (- (+ (* x y) (* z t)) (* a b))) (cbrt (- (+ (* x y) (* z t)) (* a b))))))

prune2.3s

Pruning

5 alts after pruning (1 fresh and 4 done)

Merged error: 0.0b

regimes1.3s

Accuracy

0% (0.0b remaining)

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

bsearch4.0ms

end0.0ms

sample3.0s

Algorithm
intervals