Average Error: 0.0 → 0.0
Time: 32.5s
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 2019016 
(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: 31.8s)Debug log

sample140.0ms

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

simplify80.0ms

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

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize41.0ms

Local error

Found 3 expressions with local error:

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

rewrite89.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
59.0ms
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
24.0ms
(+ (+ (* x y) (* z t)) (* a b))
4.0ms
(+ (* x y) (* z t))

series364.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
254.0ms
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
70.0ms
(+ (+ (* x y) (* z t)) (* a b))
40.0ms
(+ (* x y) (* z t))

simplify654.0ms

Counts
17 → 47
Calls
17 calls:
Slowest
189.0ms
(* (exp (+ (+ (* x y) (* z t)) (* a b))) (exp (* c i)))
147.0ms
(* (* (* (exp (* x y)) (exp (* z t))) (exp (* a b))) (exp (* c i)))
137.0ms
(* (* (exp (+ (* x y) (* z t))) (exp (* a b))) (exp (* c i)))
49.0ms
(* (* (exp (* x y)) (exp (* z t))) (exp (* a b)))
33.0ms
(* (exp (+ (* x y) (* z t))) (exp (* a b)))

prune615.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite186.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
116.0ms
(* (cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))) (cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))))
31.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
19.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
19.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))

series610.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
192.0ms
(* (cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))) (cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))))
145.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
140.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
132.0ms
(cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))

simplify8.8s

Counts
59 → 87
Calls
59 calls:
Slowest
872.0ms
(cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3)))
812.0ms
(* (cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3))) (cbrt (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))))
778.0ms
(* (cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3))) (cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3))))
760.0ms
(cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3)))
634.0ms
(cbrt (+ (pow (+ (+ (* x y) (* z t)) (* a b)) 3) (pow (* c i) 3)))

prune1.4s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

30.2b
(/ (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))) (- (+ (* x y) (* z t)) (* a b)))
1.9b
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))
0.3b
(* (+ (* x y) (* z t)) (+ (* x y) (* z t)))
0.3b
(* (* a b) (* a b))

rewrite63.0ms

Algorithm
rewrite-expression-head
Rules
15×add-cube-cbrt
15×*-un-lft-identity
15×add-sqr-sqrt
14×pow1
12×times-frac
10×add-exp-log
10×add-cbrt-cube
add-log-exp
flip-+
flip3-+
difference-of-squares
associate-/l*
associate-*l*
associate-*r*
frac-times
flip--
flip3--
associate-/r*
associate-/l/
cbrt-unprod
pow-prod-up
*-commutative
associate-/r/
associate-*r/
associate--l+
prod-exp
associate-*l/
pow-prod-down
pow-plus
distribute-lft-in
distribute-rgt-in
pow2
div-inv
div-exp
div-sub
diff-log
frac-2neg
sub-neg
clear-num
cbrt-undiv
Counts
4 → 97
Calls
4 calls:
Slowest
25.0ms
(/ (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))) (- (+ (* x y) (* z t)) (* a b)))
15.0ms
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))
14.0ms
(* (+ (* x y) (* z t)) (+ (* x y) (* z t)))
6.0ms
(* (* a b) (* a b))

series617.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
382.0ms
(- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))
170.0ms
(/ (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))) (- (+ (* x y) (* z t)) (* a b)))
40.0ms
(* (+ (* x y) (* z t)) (+ (* x y) (* z t)))
25.0ms
(* (* a b) (* a b))

simplify12.3s

Counts
85 → 109
Calls
85 calls:
Slowest
683.0ms
(/ (cbrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (+ (* x y) (* z t)) (* a b))))
590.0ms
(* (* (* (* a b) (* a b)) (* a b)) (* (* (* a b) (* a b)) (* a b)))
432.0ms
(+ (* (* x y) (* x y)) (- (* (* z t) (* z t)) (* (* x y) (* z t))))
405.0ms
(/ (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b))) (sqrt (- (+ (* x y) (* z t)) (* a b))))
399.0ms
(/ (sqrt (- (* (+ (* x y) (* z t)) (+ (* x y) (* z t))) (* (* a b) (* a b)))) (cbrt (- (+ (* x y) (* z t)) (* a b))))

prune1.4s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0.0b

regimes1.1s

Accuracy

0% (0.0b remaining)

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

bsearch3.0ms

end0.0ms

sample3.3s

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