Expression, p6

Time bar (total: 3.7s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 41 to 33 computations (19.5% saved)

sample1.6s (42.2%)

Memory
-109.0MiB live, 642.5MiB allocated; 1.3s collecting garbage
Samples
624.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 149.0ms
ival-add!: 86.0ms (57.7% of total)
ival-mult!: 61.0ms (40.9% of total)
adjust: 2.0ms (1.3% of total)
Bogosity

preprocess17.0ms (0.5%)

Memory
29.5MiB live, 29.5MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053141
1187135
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.2%
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
Symmetry

(sort b c d)

Compiler

Compiled 18 to 18 computations (0% saved)

series112.0ms (3%)

Memory
-21.5MiB live, 77.8MiB allocated; 22ms collecting garbage
Counts
9 → 50
Calls
Call 1
Inputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(+.f64 a (+.f64 b (+.f64 c d)))
a
(+.f64 b (+.f64 c d))
b
(+.f64 c d)
c
d
#s(literal 2 binary64)
Outputs
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))))
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b (+.f64 c d))))
#s(approx a a)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 c d)))
#s(approx (+ b (+ c d)) (+.f64 c d))
#s(approx b b)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b))))))
#s(approx (+ b (+ c d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64)))))
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b d)))
#s(approx (+ b (+ c d)) (+.f64 b d))
#s(approx (+ c d) d)
#s(approx c c)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c))))))
#s(approx (+ b (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c)))))
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64)))))
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))))
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b c)))
#s(approx (+ b (+ c d)) (+.f64 b c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) d))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d))))))
#s(approx (+ b (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d)))))
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64)))))
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
1.0ms
d
0
1.0ms
b
inf
1.0ms
a
inf
1.0ms
c
-inf
1.0ms
a
-inf

rewrite186.0ms (5%)

Memory
-5.3MiB live, 87.7MiB allocated; 5ms collecting garbage
Counts
9 → 19
Calls
Call 1
Inputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(+.f64 a (+.f64 b (+.f64 c d)))
a
(+.f64 b (+.f64 c d))
b
(+.f64 c d)
c
d
#s(literal 2 binary64)
Outputs
(*.f64 (+.f64 (+.f64 a b) (+.f64 c d)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 a b) (+.f64 c d)))
(+.f64 (+.f64 a b) (+.f64 c d))
(+.f64 (+.f64 b (+.f64 c d)) a)
(+.f64 a (+.f64 b (+.f64 c d)))
(-.f64 a (neg.f64 (+.f64 b (+.f64 c d))))
a
(+.f64 b (+.f64 c d))
(+.f64 (+.f64 c d) b)
(+.f64 (+.f64 b c) d)
(-.f64 b (neg.f64 (+.f64 c d)))
b
(+.f64 c d)
(+.f64 d c)
(-.f64 c (neg.f64 d))
c
d
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))

eval12.0ms (0.3%)

Memory
12.8MiB live, 12.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 064 to 277 computations (74% saved)

prune11.0ms (0.3%)

Memory
13.5MiB live, 13.5MiB allocated; 0ms collecting garbage
Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New471461
Fresh000
Picked101
Done000
Total481462
Accuracy
98.4%
Counts
62 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.5%
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
11.3%
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
94.1%
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) #s(literal 2 binary64))
94.0%
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) #s(literal 2 binary64))
93.8%
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) #s(literal 2 binary64))
93.8%
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64))
96.0%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
94.4%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
94.6%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
95.3%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
94.1%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
93.8%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
11.2%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
6.6%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
Compiler

Compiled 560 to 428 computations (23.6% saved)

series288.0ms (7.7%)

Memory
-22.0MiB live, 313.2MiB allocated; 99ms collecting garbage
Counts
33 → 198
Calls
Call 1
Inputs
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(literal 2 binary64)
c
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))
(+.f64 a (+.f64 b d))
a
(+.f64 b d)
b
d
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
(*.f64 #s(literal 2 binary64) b)
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
(+.f64 a (+.f64 (+.f64 b c) d))
(+.f64 (+.f64 b c) d)
(+.f64 b c)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
(*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))
(+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))
(/.f64 (+.f64 a (+.f64 c d)) b)
(+.f64 a (+.f64 c d))
(+.f64 c d)
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64))
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
(*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))
#s(literal 1 binary64)
(+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))
(/.f64 b a)
(+.f64 (/.f64 c a) (/.f64 d a))
(/.f64 c a)
(/.f64 d a)
Outputs
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 b d)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d))))
#s(approx (+ a (+ b d)) (+.f64 b d))
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d)))
#s(approx a a)
#s(approx (+ a (+ (+ b c) d)) (+.f64 b (+.f64 c d)))
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b (+.f64 c d))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) a (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 c d) b))
#s(approx (/ (+ a (+ c d)) b) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b))))
#s(approx (+ a (+ c d)) (+.f64 c d))
#s(approx (+ a (+ c d)) (+.f64 a (+.f64 c d)))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (/.f64 (+.f64 b (+.f64 c d)) a))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (/.f64 (+.f64 a (+.f64 b (+.f64 c d))) a))
#s(approx (/ b a) (/.f64 b a))
#s(approx (+ (/ c a) (/ d a)) (/.f64 (+.f64 c d) a))
#s(approx (/ c a) (/.f64 c a))
#s(approx (/ d a) (/.f64 d a))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a))))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a)))))
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 a (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 a b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 a b))
#s(approx (/ (+ a (+ c d)) b) (*.f64 a (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b))))))
#s(approx (+ a (+ c d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) #s(literal 1 binary64))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))) a)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b d) a)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a)) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64)))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 b a) (fma.f64 #s(literal -1 binary64) (/.f64 c a) (*.f64 #s(literal -1 binary64) (/.f64 d a)))) #s(literal 1 binary64)))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d))) a))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d))) a)))
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d)) a)))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a d)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(approx (+ a (+ b d)) (+.f64 a d))
#s(approx (+ b d) d)
#s(approx b b)
#s(approx (* 2 b) (*.f64 #s(literal 2 binary64) b))
#s(approx (+ b c) c)
#s(approx (+ b c) (+.f64 b c))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) b))
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a (+.f64 c d)) b))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 b (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 c a) (/.f64 d a)))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 b (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))))
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b))))))
#s(approx (+ (+ b c) d) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))))
#s(approx (+ b c) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 c b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) #s(literal 2 binary64))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))) b))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 b (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b)))))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 b (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b))))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) b)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) b)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64)))))
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c b)) #s(literal 1 binary64)))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))) b)) #s(literal 1 binary64)))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))) b)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 c a) (/.f64 d a)) b)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) c (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a d) b))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 c (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (/.f64 d a)))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c))))))
#s(approx (+ (+ b c) d) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c)))))
#s(approx (+ b c) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 b c))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 c (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) c))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 c b))
#s(approx (/ (+ a (+ c d)) b) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 a (*.f64 b c)) (/.f64 d (*.f64 b c))))))
#s(approx (+ a (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c)))))
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))) c))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) c) (+.f64 (/.f64 b (*.f64 a c)) (/.f64 d (*.f64 a c)))))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 b (*.f64 a c)) (/.f64 d (*.f64 a c))))))
#s(approx (+ (/ c a) (/ d a)) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 d (*.f64 a c)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64)))))
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b c)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c)) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64)))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))) c)) #s(literal 1 binary64)))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))) c)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 b a) (/.f64 d a)) c)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d (*.f64 a c))) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a b)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b))))
#s(approx (+ a (+ b d)) (+.f64 a b))
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b c)))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) d (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a c) b))
#s(approx (+ a (+ c d)) (+.f64 a c))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 d (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a))))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (/.f64 c a)))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) d))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d))))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d)))))
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d)))))
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d))))))
#s(approx (+ (+ b c) d) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 d (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 d b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) d))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (/ (+ a (+ c d)) b) (/.f64 d b))
#s(approx (/ (+ a (+ c d)) b) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 a (*.f64 b d)) (/.f64 c (*.f64 b d))))))
#s(approx (+ a (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d)))))
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))) d))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) d) (+.f64 (/.f64 b (*.f64 a d)) (/.f64 c (*.f64 a d)))))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 b (*.f64 a d)) (/.f64 c (*.f64 a d))))))
#s(approx (+ (/ c a) (/ d a)) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 c (*.f64 a d)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))) d)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a b) d)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b)))) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d)) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64)))))
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))) d)) #s(literal 1 binary64)))))
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a))) d)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 b a) (/.f64 c a)) d)) (/.f64 #s(literal 1 binary64) a)))))
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c (*.f64 a d))) (/.f64 #s(literal 1 binary64) a)))))
Calls

12 calls:

TimeVariablePoint
8.0ms
b
inf
4.0ms
a
inf
4.0ms
a
-inf
3.0ms
b
-inf
3.0ms
b
0

rewrite194.0ms (5.2%)

Memory
29.9MiB live, 267.7MiB allocated; 41ms collecting garbage
Counts
33 → 119
Calls
Call 1
Inputs
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(literal 2 binary64)
c
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))
(+.f64 a (+.f64 b d))
a
(+.f64 b d)
b
d
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
(*.f64 #s(literal 2 binary64) b)
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
(+.f64 a (+.f64 (+.f64 b c) d))
(+.f64 (+.f64 b c) d)
(+.f64 b c)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
(*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))
(+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))
(/.f64 (+.f64 a (+.f64 c d)) b)
(+.f64 a (+.f64 c d))
(+.f64 c d)
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64))
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
(*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))
#s(literal 1 binary64)
(+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))
(/.f64 b a)
(+.f64 (/.f64 c a) (/.f64 d a))
(/.f64 c a)
(/.f64 d a)
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))) (+.f64 c c))
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
(-.f64 (+.f64 c c) (*.f64 #s(literal -2 binary64) (+.f64 a (+.f64 b d))))
(-.f64 (+.f64 c c) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
(fma.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64) (+.f64 c c))
(fma.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)) (+.f64 c c))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
c
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))
(*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64))
(+.f64 (+.f64 a (+.f64 b d)) (+.f64 a (+.f64 b d)))
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 (+.f64 b d) #s(literal 2 binary64)))
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) (+.f64 b d)))
(fma.f64 a #s(literal 2 binary64) (*.f64 (+.f64 b d) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d)))
(+.f64 a (+.f64 b d))
(+.f64 (+.f64 a b) d)
(+.f64 (+.f64 b d) a)
(-.f64 a (neg.f64 (+.f64 b d)))
a
(+.f64 b d)
(+.f64 d b)
(-.f64 b (neg.f64 d))
b
d
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
(*.f64 #s(literal 2 binary64) b)
(*.f64 b #s(literal 2 binary64))
(+.f64 b b)
(*.f64 (+.f64 (+.f64 a b) (+.f64 c d)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 a b) (+.f64 c d)))
(+.f64 (+.f64 a b) (+.f64 c d))
(+.f64 a (+.f64 (+.f64 b c) d))
(+.f64 (+.f64 (+.f64 b c) d) a)
(+.f64 (+.f64 a (+.f64 b c)) d)
(-.f64 a (neg.f64 (+.f64 (+.f64 b c) d)))
(+.f64 (+.f64 b c) d)
(+.f64 (+.f64 c d) b)
(+.f64 b (+.f64 c d))
(+.f64 d (+.f64 b c))
(-.f64 (+.f64 b c) (neg.f64 d))
(-.f64 b (neg.f64 (+.f64 c d)))
(+.f64 b c)
(+.f64 c b)
(-.f64 b (neg.f64 c))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64))))
(*.f64 b (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64)))
(*.f64 (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64)) b)
(+.f64 (+.f64 b b) (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b))
(+.f64 (+.f64 b b) (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))))
(fma.f64 #s(literal 2 binary64) b (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b))
(fma.f64 b #s(literal 2 binary64) (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b))
(fma.f64 #s(literal 2 binary64) b (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))))
(fma.f64 b #s(literal 2 binary64) (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) #s(literal 2 binary64))
(+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)))
(-.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))
(-.f64 #s(literal 2 binary64) (neg.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))))
(fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64))
(fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))
(*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))
(+.f64 (/.f64 (+.f64 a (+.f64 c d)) b) (/.f64 (+.f64 a (+.f64 c d)) b))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) b)
(fma.f64 (+.f64 a (+.f64 c d)) (/.f64 #s(literal 1 binary64) b) (/.f64 (+.f64 a (+.f64 c d)) b))
(*.f64 (+.f64 a (+.f64 c d)) (/.f64 #s(literal 1 binary64) b))
(+.f64 (/.f64 a b) (/.f64 (+.f64 c d) b))
(/.f64 (+.f64 a (+.f64 c d)) b)
(/.f64 (neg.f64 (+.f64 a (+.f64 c d))) (neg.f64 b))
(+.f64 a (+.f64 c d))
(+.f64 (+.f64 a c) d)
(+.f64 (+.f64 c d) a)
(-.f64 a (neg.f64 (+.f64 c d)))
(+.f64 c d)
(+.f64 d c)
(-.f64 c (neg.f64 d))
(*.f64 #s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)))) #s(literal 2 binary64))
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a))))
(*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)))
(*.f64 (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)) a)
(+.f64 (*.f64 #s(literal 1 binary64) a) (*.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) a))
(+.f64 (*.f64 a #s(literal 1 binary64)) (*.f64 a (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a))))
(fma.f64 #s(literal 1 binary64) a (*.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) a))
(fma.f64 a #s(literal 1 binary64) (*.f64 a (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a))))
(+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a))
(+.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)))
(-.f64 #s(literal 1 binary64) (neg.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a))))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a))
(+.f64 (+.f64 (/.f64 b a) (/.f64 c a)) (/.f64 d a))
(+.f64 (/.f64 (+.f64 c d) a) (/.f64 b a))
(-.f64 (/.f64 b a) (neg.f64 (/.f64 (+.f64 c d) a)))
(fma.f64 b (/.f64 #s(literal 1 binary64) a) (/.f64 (+.f64 c d) a))
(*.f64 b (/.f64 #s(literal 1 binary64) a))
(/.f64 b a)
(/.f64 (neg.f64 b) (neg.f64 a))
(+.f64 (/.f64 c a) (/.f64 d a))
(+.f64 (/.f64 d a) (/.f64 c a))
(-.f64 (/.f64 c a) (neg.f64 (/.f64 d a)))
(/.f64 (+.f64 c d) a)
(/.f64 (fma.f64 c a (*.f64 a d)) (*.f64 a a))
(/.f64 (fma.f64 c a (*.f64 d a)) (*.f64 a a))
(/.f64 (fma.f64 (/.f64 c a) a d) a)
(fma.f64 c (/.f64 #s(literal 1 binary64) a) (/.f64 d a))
(fma.f64 d (/.f64 #s(literal 1 binary64) a) (/.f64 c a))
(*.f64 c (/.f64 #s(literal 1 binary64) a))
(/.f64 c a)
(/.f64 (neg.f64 c) (neg.f64 a))
(*.f64 d (/.f64 #s(literal 1 binary64) a))
(/.f64 d a)
(/.f64 (neg.f64 d) (neg.f64 a))

eval39.0ms (1%)

Memory
-14.3MiB live, 80.9MiB allocated; 13ms collecting garbage
Compiler

Compiled 8 628 to 1 624 computations (81.2% saved)

prune13.0ms (0.3%)

Memory
-9.3MiB live, 37.9MiB allocated; 2ms collecting garbage
Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2936299
Fresh729
Picked415
Done000
Total3049313
Accuracy
100.0%
Counts
313 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.5%
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
11.3%
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
6.6%
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
96.0%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
11.3%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
94.4%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
11.2%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
11.2%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
100.0%
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))))
Compiler

Compiled 329 to 247 computations (24.9% saved)

series192.0ms (5.2%)

Memory
28.9MiB live, 262.1MiB allocated; 45ms collecting garbage
Counts
27 → 140
Calls
Call 1
Inputs
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))
(fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(literal 2 binary64)
b
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))
c
(*.f64 #s(literal 2 binary64) (+.f64 a d))
(+.f64 a d)
a
d
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
(+.f64 b b)
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
(+.f64 a (+.f64 #s(approx (+ b c) c) d))
(+.f64 #s(approx (+ b c) c) d)
#s(approx (+ b c) c)
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))
(+.f64 a #s(approx (+ b d) d))
#s(approx (+ b d) d)
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))
(+.f64 a (+.f64 c d))
(+.f64 c d)
Outputs
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))))
#s(approx (* 2 (+ a d)) (*.f64 #s(literal 2 binary64) d))
#s(approx (* 2 (+ a d)) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) d)))
#s(approx (+ a d) d)
#s(approx (+ a d) (+.f64 a d))
#s(approx a a)
#s(approx (+ a (+ (+ b c) d)) (+.f64 b (+.f64 c d)))
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b (+.f64 c d))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 b d)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d))))
#s(approx (+ a (+ b d)) (+.f64 b d))
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d)))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d)))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal 2 binary64) (+.f64 c d)))
#s(approx (* 2 (+ a (+ c d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 c d))))
#s(approx (+ a (+ c d)) (+.f64 c d))
#s(approx (+ a (+ c d)) (+.f64 a (+.f64 c d)))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a))))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 d a)))))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 d a))))))
#s(approx (* 2 (+ a d)) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 d a)))))
#s(approx (+ a d) (*.f64 a (+.f64 #s(literal 1 binary64) (/.f64 d a))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a)))))
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a))))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a)))))
#s(approx (+ a (+ c d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))) a)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))) a)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)) a)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 d a)) #s(literal 2 binary64)))))
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d a)) #s(literal 1 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b d) a)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64)))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))) a)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 c d) a)) #s(literal 2 binary64)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))
#s(approx b b)
#s(approx (+ b b) (*.f64 #s(literal 2 binary64) b))
#s(approx (+ b c) c)
#s(approx (+ b c) (+.f64 b c))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a d)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 b (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b))))))
#s(approx (+ (+ b c) d) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))))
#s(approx (+ b c) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 c b))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))))
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) b)) #s(literal 2 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64)))))
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c b)) #s(literal 1 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) b)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 c (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b c) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c))))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c))))))
#s(approx (+ (+ b c) d) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c)))))
#s(approx (+ b c) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 b c))))
#s(approx (+ a (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c)))))
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))) c)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) c)) #s(literal 2 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64)))))
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b c)) #s(literal 1 binary64)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) c))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) c)))
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b c)))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a b)))
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b))))
#s(approx (+ a (+ b d)) (+.f64 a b))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c)))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal 2 binary64) (+.f64 a c)))
#s(approx (* 2 (+ a (+ c d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c))))
#s(approx (+ a (+ c d)) (+.f64 a c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d))))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a d) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 c d)))))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a d) (*.f64 #s(literal 2 binary64) (/.f64 c d))))))
#s(approx (* 2 (+ a d)) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 a d)))))
#s(approx (+ a d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 a d))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d))))))
#s(approx (+ (+ b c) d) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d)))))
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d)))))
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d))))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d)))))
#s(approx (+ a (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d)))))
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))) d)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) c))) d)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) c)) d)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 a d)) #s(literal 2 binary64)))))
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 a d)) #s(literal 1 binary64)))))
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64)))))
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64)))))
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a b) d)) #s(literal 2 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64)))))
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))) d)) #s(literal 2 binary64)))))
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a c) d)) #s(literal 2 binary64)))))
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
10.0ms
d
-inf
1.0ms
a
-inf
1.0ms
c
inf
1.0ms
d
inf
1.0ms
a
inf

rewrite154.0ms (4.1%)

Memory
3.4MiB live, 149.3MiB allocated; 108ms collecting garbage
Counts
27 → 72
Calls
Call 1
Inputs
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))))
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))
(fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(literal 2 binary64)
b
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))
c
(*.f64 #s(literal 2 binary64) (+.f64 a d))
(+.f64 a d)
a
d
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
(+.f64 b b)
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
(+.f64 a (+.f64 #s(approx (+ b c) c) d))
(+.f64 #s(approx (+ b c) c) d)
#s(approx (+ b c) c)
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))
(+.f64 a #s(approx (+ b d) d))
#s(approx (+ b d) d)
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))
(+.f64 a (+.f64 c d))
(+.f64 c d)
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))
(+.f64 (fma.f64 b #s(literal 2 binary64) (+.f64 c c)) (*.f64 #s(literal 2 binary64) (+.f64 a d)))
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))) (+.f64 b b))
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))))
(-.f64 (+.f64 b b) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)))))
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))))
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))
(fma.f64 b #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
b
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)))
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a d)) (+.f64 c c))
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a d)))
(-.f64 (+.f64 c c) (*.f64 #s(literal -2 binary64) (+.f64 a d)))
(-.f64 (+.f64 c c) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a d))))
(fma.f64 (+.f64 a d) #s(literal 2 binary64) (+.f64 c c))
(fma.f64 #s(literal 2 binary64) (+.f64 a d) (+.f64 c c))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a d)))
c
(*.f64 #s(literal 2 binary64) (+.f64 a d))
(*.f64 (+.f64 a d) #s(literal 2 binary64))
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 d #s(literal 2 binary64)))
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) d))
(+.f64 (+.f64 a d) (+.f64 a d))
(fma.f64 a #s(literal 2 binary64) (*.f64 d #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) d))
(+.f64 a d)
(+.f64 d a)
(-.f64 a (neg.f64 d))
a
d
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
(*.f64 b #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) b)
(+.f64 b b)
(-.f64 b (neg.f64 b))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
(+.f64 a (+.f64 #s(approx (+ b c) c) d))
(+.f64 #s(approx (+ b c) c) d)
#s(approx (+ b c) c)
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))
(+.f64 a #s(approx (+ b d) d))
#s(approx (+ b d) d)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) (+.f64 b b))
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(-.f64 (+.f64 b b) (*.f64 #s(literal -2 binary64) (+.f64 a (+.f64 c d))))
(-.f64 (+.f64 b b) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
(fma.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64) (+.f64 b b))
(fma.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)) (+.f64 b b))
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(fma.f64 b #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))
(*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64))
(+.f64 (+.f64 a (+.f64 c d)) (+.f64 a (+.f64 c d)))
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 (+.f64 c d) #s(literal 2 binary64)))
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) (+.f64 c d)))
(fma.f64 a #s(literal 2 binary64) (*.f64 (+.f64 c d) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 c d)))
(+.f64 a (+.f64 c d))
(+.f64 (+.f64 a c) d)
(+.f64 (+.f64 c d) a)
(-.f64 a (neg.f64 (+.f64 c d)))
(+.f64 c d)
(+.f64 d c)
(-.f64 c (neg.f64 d))

eval183.0ms (4.9%)

Memory
2.3MiB live, 106.8MiB allocated; 104ms collecting garbage
Compiler

Compiled 5 838 to 1 046 computations (82.1% saved)

prune12.0ms (0.3%)

Memory
33.7MiB live, 33.7MiB allocated; 0ms collecting garbage
Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New1922194
Fresh033
Picked235
Done011
Total1949203
Accuracy
100.0%
Counts
203 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.5%
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
11.3%
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
6.6%
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
96.0%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
94.4%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
100.0%
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
11.3%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
11.2%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
11.2%
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
Compiler

Compiled 275 to 208 computations (24.4% saved)

series189.0ms (5.1%)

Memory
-27.3MiB live, 209.3MiB allocated; 66ms collecting garbage
Counts
28 → 110
Calls
Call 1
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))
#s(literal 2 binary64)
(+.f64 c (+.f64 a d))
c
(+.f64 a d)
a
d
(+.f64 b b)
b
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 #s(literal 2 binary64) c)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))
(*.f64 #s(literal 2 binary64) (/.f64 c b))
(/.f64 c b)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))
(+.f64 b (+.f64 a (+.f64 c d)))
(+.f64 a (+.f64 c d))
(+.f64 c d)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))
(+.f64 c (+.f64 a (+.f64 b d)))
(+.f64 a (+.f64 b d))
(+.f64 b d)
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d)))))
#s(approx (+ c (+ a d)) (+.f64 c d))
#s(approx (+ c (+ a d)) (+.f64 a (+.f64 c d)))
#s(approx (+ a d) d)
#s(approx (+ a d) (+.f64 a d))
#s(approx a a)
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) a (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))
#s(approx (+ b (+ a (+ c d))) (+.f64 b (+.f64 c d)))
#s(approx (+ b (+ a (+ c d))) (+.f64 a (+.f64 b (+.f64 c d))))
#s(approx (+ a (+ b d)) (+.f64 b d))
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d)))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) a))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a))))))
#s(approx (+ c (+ a d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))))
#s(approx (+ a d) (*.f64 a (+.f64 #s(literal 1 binary64) (/.f64 d a))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 a (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 a b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))))
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))) a)) #s(literal 2 binary64)))))
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64)))))
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d a)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
#s(approx (+ b b) (*.f64 #s(literal 2 binary64) b))
#s(approx b b)
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) b))
#s(approx (* 2 (/ c b)) (*.f64 #s(literal 2 binary64) (/.f64 c b)))
#s(approx (/ c b) (/.f64 c b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) #s(literal 2 binary64))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))
#s(approx (+ b (+ a (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b))))))
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))))
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64)))))
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))
#s(approx c c)
#s(approx (* 2 c) (*.f64 #s(literal 2 binary64) c))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) c (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 c (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b c) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c))))))
#s(approx (+ c (+ a d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 c (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) c))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c))))))
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))) c)) #s(literal 2 binary64)))))
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c)))))
#s(approx (+ c (+ a d)) (+.f64 a c))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) d (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))
#s(approx (+ b (+ a (+ c d))) (+.f64 a (+.f64 b c)))
#s(approx (+ a (+ b d)) (+.f64 a b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) d))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d))))))
#s(approx (+ c (+ a d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d)))))
#s(approx (+ a d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 a d))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 d (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 d b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) d))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d))))))
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d))))
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d)))))
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64)))))
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))) d)) #s(literal 2 binary64)))))
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64)))))
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 a d)) #s(literal 1 binary64)))))
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)) #s(literal 2 binary64)))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b)))) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64)))))
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64)))))
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64)))))
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
12.0ms
a
-inf
10.0ms
d
0
3.0ms
c
-inf
3.0ms
c
inf
3.0ms
b
-inf

rewrite157.0ms (4.2%)

Memory
39.9MiB live, 222.4MiB allocated; 33ms collecting garbage
Counts
28 → 80
Calls
Call 1
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))
#s(literal 2 binary64)
(+.f64 c (+.f64 a d))
c
(+.f64 a d)
a
d
(+.f64 b b)
b
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 #s(literal 2 binary64) c)
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))
(*.f64 #s(literal 2 binary64) (/.f64 c b))
(/.f64 c b)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))
(+.f64 b (+.f64 a (+.f64 c d)))
(+.f64 a (+.f64 c d))
(+.f64 c d)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))
(+.f64 c (+.f64 a (+.f64 b d)))
(+.f64 a (+.f64 b d))
(+.f64 b d)
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))
(+.f64 (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)) (+.f64 b b))
(+.f64 (fma.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64) b) b)
(+.f64 (+.f64 b b) (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)))
(-.f64 (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)) (neg.f64 (+.f64 b b)))
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))
(fma.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64) (+.f64 b b))
(fma.f64 #s(literal 2 binary64) b (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(+.f64 c (+.f64 a d))
(+.f64 (+.f64 c a) d)
(+.f64 (+.f64 a d) c)
(-.f64 c (neg.f64 (+.f64 a d)))
c
(+.f64 a d)
(+.f64 d a)
(-.f64 a (neg.f64 d))
a
d
(*.f64 #s(literal 2 binary64) b)
(+.f64 b b)
(-.f64 b (neg.f64 b))
b
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
(*.f64 #s(literal 2 binary64) c)
(*.f64 c #s(literal 2 binary64))
(+.f64 c c)
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))
(*.f64 #s(literal 2 binary64) (/.f64 c b))
(*.f64 (/.f64 c b) #s(literal 2 binary64))
(+.f64 (/.f64 c b) (/.f64 c b))
(/.f64 (+.f64 c c) b)
(fma.f64 c (/.f64 #s(literal 1 binary64) b) (/.f64 c b))
(*.f64 c (/.f64 #s(literal 1 binary64) b))
(/.f64 c b)
(/.f64 (neg.f64 c) (neg.f64 b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 b a) (+.f64 c d))))
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 b a) (+.f64 c d)))
(*.f64 (+.f64 (+.f64 b a) (+.f64 c d)) #s(literal 2 binary64))
(+.f64 (+.f64 (+.f64 b a) (+.f64 c d)) (+.f64 (+.f64 b a) (+.f64 c d)))
(+.f64 (*.f64 b #s(literal 2 binary64)) (*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64)))
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(fma.f64 b #s(literal 2 binary64) (*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))
(+.f64 (+.f64 b a) (+.f64 c d))
(+.f64 b (+.f64 a (+.f64 c d)))
(+.f64 (+.f64 a (+.f64 c d)) b)
(-.f64 b (neg.f64 (+.f64 a (+.f64 c d))))
(+.f64 a (+.f64 c d))
(+.f64 (+.f64 a c) d)
(+.f64 (+.f64 c d) a)
(-.f64 a (neg.f64 (+.f64 c d)))
(+.f64 c d)
(+.f64 d c)
(-.f64 c (neg.f64 d))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 c a) (+.f64 b d))))
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 c a) (+.f64 b d)))
(*.f64 (+.f64 (+.f64 c a) (+.f64 b d)) #s(literal 2 binary64))
(+.f64 (+.f64 (+.f64 c a) (+.f64 b d)) (+.f64 (+.f64 c a) (+.f64 b d)))
(+.f64 (+.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64)))
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
(fma.f64 #s(literal 2 binary64) c (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64)))
(fma.f64 c #s(literal 2 binary64) (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))
(+.f64 (+.f64 c a) (+.f64 b d))
(+.f64 c (+.f64 a (+.f64 b d)))
(+.f64 (+.f64 a (+.f64 b d)) c)
(-.f64 c (neg.f64 (+.f64 a (+.f64 b d))))
(+.f64 a (+.f64 b d))
(+.f64 (+.f64 a b) d)
(+.f64 (+.f64 b d) a)
(-.f64 a (neg.f64 (+.f64 b d)))
(+.f64 b d)
(+.f64 d b)
(-.f64 b (neg.f64 d))

eval23.0ms (0.6%)

Memory
-10.5MiB live, 34.6MiB allocated; 7ms collecting garbage
Compiler

Compiled 5 452 to 917 computations (83.2% saved)

prune10.0ms (0.3%)

Memory
16.3MiB live, 16.3MiB allocated; 0ms collecting garbage
Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New1803183
Fresh000
Picked325
Done044
Total1839192
Accuracy
100.0%
Counts
192 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.5%
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
11.3%
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
11.2%
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
6.6%
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
11.2%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
96.0%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
95.7%
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d))))
100.0%
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
11.3%
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
Compiler

Compiled 165 to 126 computations (23.6% saved)

regimes304.0ms (8.2%)

Memory
9.3MiB live, 295.6MiB allocated; 146ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
4 → 2
9 → 2
10 → 1
11 → 1
14 → 1
26 → 1
Calls
Call 1
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
Call 2
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
Call 3
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
Call 4
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
Call 5
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d))))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d))))
Call 6
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
Call 7
Inputs
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b))
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c))
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d))))
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64))
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))))
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)))))
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)))))
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64))
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) #s(literal 2 binary64))
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) #s(literal 2 binary64))
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) #s(literal 2 binary64))
Outputs
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))))
Calls

50 calls:

110.0ms
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
10.0ms
b
8.0ms
d
7.0ms
c
7.0ms
(+.f64 b (+.f64 c d))
Results
AccuracySegmentsBranch
6.6%1b
6.6%1a
6.6%1c
6.6%1d
6.6%1(+.f64 c d)
6.6%1(+.f64 b (+.f64 c d))
6.6%1(+.f64 a (+.f64 b (+.f64 c d)))
6.6%1(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
16.3%2(+.f64 a (+.f64 b (+.f64 c d)))
16.3%2(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
13.6%2(+.f64 c d)
14.2%2(+.f64 b (+.f64 c d))
11.3%1a
11.3%1b
11.3%1c
11.3%1d
16.4%2(+.f64 a (+.f64 b (+.f64 c d)))
16.4%2(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
94.4%1c
94.4%1b
94.4%1a
94.4%1(+.f64 b (+.f64 c d))
94.4%1d
94.4%1(+.f64 c d)
94.4%1(+.f64 a (+.f64 b (+.f64 c d)))
94.4%1(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
95.7%1b
95.7%1c
95.7%1a
95.7%1d
95.7%1(+.f64 c d)
95.7%1(+.f64 b (+.f64 c d))
95.7%1(+.f64 a (+.f64 b (+.f64 c d)))
95.7%1(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
96.0%1(+.f64 c d)
96.0%1(+.f64 b (+.f64 c d))
96.0%1(+.f64 a (+.f64 b (+.f64 c d)))
96.0%1(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
96.0%1a
96.0%1b
96.0%1c
96.0%1d
100.0%1(+.f64 c d)
100.0%1(+.f64 b (+.f64 c d))
100.0%1(+.f64 a (+.f64 b (+.f64 c d)))
100.0%1(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
100.0%1a
100.0%1b
100.0%1c
100.0%1d
Compiler

Compiled 710 to 423 computations (40.4% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01938547018038861
0.008905400967755384
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01938547018038861
0.008905400967755384
Compiler

Compiled 12 to 16 computations (-33.3% saved)

derivations1.0ms (0%)

Memory
2.7MiB live, 2.7MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 176 to 50 computations (71.6% saved)

preprocess51.0ms (1.4%)

Memory
1.6MiB live, 93.7MiB allocated; 8ms collecting garbage
Remove

(sort b c d)

Compiler

Compiled 548 to 311 computations (43.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...