FastMath dist4

Time bar (total: 4.2s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 17 to 13 computations (23.5% saved)

sample1.4s (33.4%)

Memory
-25.6MiB live, 1 166.0MiB allocated; 889ms collecting garbage
Samples
815.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 274.0ms
ival-mult!: 209.0ms (76.3% of total)
ival-sub!: 33.0ms (12% of total)
ival-add!: 31.0ms (11.3% of total)
adjust: 1.0ms (0.4% of total)
Bogosity

preprocess79.0ms (1.9%)

Memory
-26.9MiB live, 64.1MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065203
1347167
21474136
34962135
47874135
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.5%
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Symmetry

(sort d2 d4)

Compiler

Compiled 22 to 22 computations (0% saved)

series17.0ms (0.4%)

Memory
-0.4MiB live, 45.4MiB allocated; 3ms collecting garbage
Counts
11 → 44
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
(*.f64 d4 d1)
d4
(*.f64 d1 d1)
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (* d1 d2) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d1 d3) #s(hole binary64 (* d1 d3)))
#s(approx (* d4 d1) #s(hole binary64 (* d1 d4)))
#s(approx (* d1 d1) #s(hole binary64 (pow d1 2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 (- (+ (* -1 d2) (* -1 d4)) (* -1 d3))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (- (* -1 d2) (* -1 d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d4) (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (* d1 d3) d2)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (* d1 d3)) d2)))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) d1))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (- (/ (* d1 d2) d3) d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)) (* -1 d1))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (* d1 d2) d3)) (* -1 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx d4 #s(hole binary64 d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (* d1 d3) d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (* d1 d3)) d4)))))))
Calls

12 calls:

TimeVariablePointExpression
2.0ms
d1
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
2.0ms
d1
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
2.0ms
d1
@0
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
1.0ms
d2
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
1.0ms
d2
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))

rewrite283.0ms (6.8%)

Memory
-7.9MiB live, 289.2MiB allocated; 86ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01801047
0187861
11277847
08260811
131967811
Stop Event
saturated
node-limit
iter-limit
Counts
55 → 141
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
(*.f64 d4 d1)
d4
(*.f64 d1 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (* d1 d2) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d1 d3) #s(hole binary64 (* d1 d3)))
#s(approx (* d4 d1) #s(hole binary64 (* d1 d4)))
#s(approx (* d1 d1) #s(hole binary64 (pow d1 2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 (- (+ (* -1 d2) (* -1 d4)) (* -1 d3))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (- (* -1 d2) (* -1 d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d4) (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (* d1 d3) d2)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (* d1 d3)) d2)))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) d1))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (- (/ (* d1 d2) d3) d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)) (* -1 d1))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (* d1 d2) d3)) (* -1 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx d4 #s(hole binary64 d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (* d1 d3) d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (* d1 d3)) d4)))))))
Outputs
(neg.f64 (+.f64 (-.f64 (*.f64 d3 d1) (*.f64 d1 (+.f64 d4 d2))) (*.f64 d1 d1)))
(neg.f64 (-.f64 (*.f64 d1 d1) (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1))))
(fma.f64 (-.f64 d2 d3) d1 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(fma.f64 d2 d1 (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d3) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(fma.f64 d1 (+.f64 d4 d2) (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(fma.f64 d1 d2 (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)))
(-.f64 (*.f64 (neg.f64 d1) d3) (-.f64 (*.f64 d1 d1) (*.f64 d1 (+.f64 d4 d2))))
(-.f64 (*.f64 d1 (+.f64 d4 d2)) (fma.f64 d3 d1 (*.f64 d1 d1)))
(-.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (neg.f64 (*.f64 (neg.f64 d1) d1)))
(-.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (neg.f64 (neg.f64 (*.f64 d1 d1))))
(-.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (neg.f64 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1))))
(-.f64 (*.f64 d2 d1) (neg.f64 (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))))
(+.f64 (*.f64 (neg.f64 d1) d3) (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (+.f64 d4 d2)) (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(+.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (*.f64 (neg.f64 d1) d1))
(+.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(+.f64 (*.f64 d2 d1) (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)))
(neg.f64 (-.f64 (neg.f64 (*.f64 d1 (+.f64 d4 d2))) (*.f64 (neg.f64 d1) d3)))
(neg.f64 (-.f64 (*.f64 (neg.f64 d4) d1) (*.f64 (-.f64 d2 d3) d1)))
(neg.f64 (-.f64 (neg.f64 (*.f64 d4 d1)) (*.f64 (-.f64 d2 d3) d1)))
(neg.f64 (-.f64 (neg.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d2 d1)))
(neg.f64 (fma.f64 d3 d1 (neg.f64 (*.f64 d1 (+.f64 d4 d2)))))
(neg.f64 (+.f64 (neg.f64 (*.f64 (-.f64 d2 d3) d1)) (*.f64 (neg.f64 d4) d1)))
(neg.f64 (+.f64 (neg.f64 (*.f64 (-.f64 d2 d3) d1)) (neg.f64 (*.f64 d4 d1))))
(neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 d1 (+.f64 d4 d2))))
(fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1))
(fma.f64 (neg.f64 d1) d3 (*.f64 d1 (+.f64 d4 d2)))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d1 (+.f64 d4 d2)))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d1 (+.f64 d4 d2)))
(fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1))
(fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d4 d1))
(fma.f64 d1 (+.f64 d4 d2) (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 d4 (*.f64 (-.f64 d2 d3) d1))
(fma.f64 d1 d2 (*.f64 d1 (-.f64 d4 d3)))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d1 (+.f64 d4 d2))))
(-.f64 (*.f64 d1 (+.f64 d4 d2)) (neg.f64 (*.f64 (neg.f64 d1) d3)))
(-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d3 d1))
(-.f64 (*.f64 d4 d1) (neg.f64 (*.f64 (-.f64 d2 d3) d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 (neg.f64 d4) d1))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (neg.f64 (*.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 d1 (-.f64 d4 d3))))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 d4 d1) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d4 d1))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (-.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (neg.f64 d1) d3)))
(neg.f64 (fma.f64 d3 d1 (*.f64 (neg.f64 d1) d2)))
(neg.f64 (fma.f64 d3 d1 (neg.f64 (*.f64 d2 d1))))
(neg.f64 (neg.f64 (*.f64 (-.f64 d2 d3) d1)))
(fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d2 d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 d2 (*.f64 (neg.f64 d1) d3))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d2 d1)))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 (neg.f64 d1) d3)))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(*.f64 d2 d1)
(*.f64 d1 d2)
d1
d2
(*.f64 d3 d1)
(*.f64 d1 d3)
d3
(*.f64 d4 d1)
(*.f64 d1 d4)
d4
(*.f64 (fabs.f64 (fabs.f64 d1)) (fabs.f64 (fabs.f64 d1)))
(*.f64 (neg.f64 (fabs.f64 d1)) (neg.f64 (fabs.f64 d1)))
(*.f64 (neg.f64 (neg.f64 d1)) (neg.f64 (neg.f64 d1)))
(*.f64 (fabs.f64 d1) (fabs.f64 d1))
(*.f64 #s(literal 1 binary64) (*.f64 d1 d1))
(*.f64 (*.f64 d1 d1) #s(literal 1 binary64))
(*.f64 (neg.f64 d1) (neg.f64 d1))
(*.f64 d1 d1)
(pow.f64 (fabs.f64 (fabs.f64 d1)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 d1)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 d1)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 d1) #s(literal 2 binary64))
(pow.f64 (neg.f64 d1) #s(literal 2 binary64))
(pow.f64 d1 #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))
(fabs.f64 (neg.f64 (*.f64 d1 d1)))
(fabs.f64 (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 (+.f64 (neg.f64 d1) d4) d2) d3) d1))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (-.f64 d2 d3) d1))
#s(approx (* d1 d2) (*.f64 d2 d1))
#s(approx d1 d1)
#s(approx (* d1 d3) (*.f64 d3 d1))
#s(approx (* d4 d1) (*.f64 d4 d1))
#s(approx (* d1 d1) (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (+.f64 d4 d2) d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (*.f64 d1 d1) (-.f64 (neg.f64 (/.f64 (+.f64 (+.f64 (neg.f64 d4) (neg.f64 d2)) d3) d1)) #s(literal 1 binary64))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d1) (+.f64 (+.f64 (neg.f64 d4) (neg.f64 d2)) d3)))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (neg.f64 d1) (-.f64 d3 d2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (*.f64 d1 d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (neg.f64 d1) d3))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (-.f64 d2 d3) d1))
#s(approx d2 d2)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)) d2)) d2))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 d1 (-.f64 d4 d3)) d2)) d2))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (-.f64 d1 (/.f64 (*.f64 d3 d1) d2)) d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d2) (-.f64 (neg.f64 d1) (/.f64 (-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1)) d2))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d2) (-.f64 (neg.f64 d1) (/.f64 (*.f64 d1 (-.f64 d4 d3)) d2))))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 d3 d2) (neg.f64 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)) (*.f64 d1 d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (+.f64 d4 d2)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (-.f64 d2 d3) d1))
#s(approx d3 d3)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (*.f64 d1 (+.f64 d4 d2)) d3) d1) (/.f64 (*.f64 d1 d1) d3)) d3))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (/.f64 (*.f64 d1 (+.f64 d4 d2)) d3) d1) d3))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (-.f64 (/.f64 (*.f64 d2 d1) d3) d1) d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)) d3)) d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d3) (-.f64 d1 (/.f64 (*.f64 d1 (+.f64 d4 d2)) d3))))
#s(approx (- (* d1 d2) (* d1 d3)) (*.f64 (neg.f64 d3) (-.f64 d1 (/.f64 (*.f64 d2 d1) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
#s(approx d4 d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)) d4)) d4))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 (-.f64 d2 d3) d1) d4)) d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d4) (-.f64 (neg.f64 d1) (/.f64 (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)) d4))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d4) (-.f64 (neg.f64 d1) (/.f64 (*.f64 (-.f64 d2 d3) d1) d4))))

eval11.0ms (0.3%)

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

Compiled 938 to 397 computations (57.7% saved)

prune6.0ms (0.1%)

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

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1236129
Fresh000
Picked101
Done000
Total1246130
Accuracy
100.0%
Counts
130 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.0%
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
87.5%
(-.f64 (fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d1))
64.5%
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
68.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
81.2%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
Compiler

Compiled 156 to 156 computations (0% saved)

series45.0ms (1.1%)

Memory
-16.8MiB live, 74.5MiB allocated; 9ms collecting garbage
Counts
23 → 118
Calls
Call 1
Inputs
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(neg.f64 d1)
d1
d3
(-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 d4 d2)
d4
d2
(*.f64 d1 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
(neg.f64 (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
(*.f64 (-.f64 (+.f64 d4 d2) d3) d1)
(-.f64 (+.f64 d4 d2) d3)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 d2 d3)
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 d4 d3)
Outputs
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d3))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 (+ d2 (+ d4 (+ (* -1 d1) (* -1 d3)))))))
#s(approx (neg d1) #s(hole binary64 (* -1 d1)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d1))))))
#s(approx (* d1 d1) #s(hole binary64 (pow d1 2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (neg (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* (pow d1 2) (- (+ (* -1 (/ d3 d1)) (+ (/ d2 d1) (/ d4 d1))) 1))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (+ d3 (* -1 (+ d2 d4))) d1)) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 (- (+ (* -1 d2) (* -1 d4)) (* -1 d3))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d4)) (pow d1 2))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (pow d1 2))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d1 d4)))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ d4 d2) #s(hole binary64 d4))
#s(approx (+ d4 d2) #s(hole binary64 (+ d2 d4)))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- d4 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- (+ d2 d4) d3)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (- d2 d3) #s(hole binary64 (- d2 d3)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d4) (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (* d1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d2 (- (+ d1 (+ (* -1 (/ (* d1 d3) d2)) (/ (* d1 d4) d2))) (/ (pow d1 2) d2)))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (pow d1 2) d2)))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d4) d2)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d3 d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (* d1 d3) d2)))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (+ (* -1 (* d1 d3)) (* d1 d4)) (pow d1 2)) d2)))))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (pow d1 2)) d2)))))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d4) d2)))))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d3) d2)) 1)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (* d1 d3)) d2)))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (* d1 (+ d2 d4)) (pow d1 2))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4))) (pow d1 2))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (+ d2 (+ d4 (* -1 d3)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d4))))
#s(approx (- d4 d3) #s(hole binary64 (+ d4 (* -1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)) (/ (pow d1 2) d3)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d3 (- (+ (/ d2 d3) (/ d4 d3)) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) d1))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d4) d3)))))
#s(approx (- d4 d3) #s(hole binary64 (* d3 (- (/ d4 d3) 1))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 (+ d2 d4)) (pow d1 2)) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (+ d2 d4)) d3)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (+ d2 d4) d3)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)) (* -1 d1))))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d4) d3)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d4 d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d3)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d4 (- (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))) (/ (pow d1 2) d4)))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (pow d1 2) d4)))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d4 (+ d1 (/ (* d1 d2) d4)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d3)) d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d3 d4)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (* d1 d3) d4)))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d4 (+ d1 (* -1 (/ (* d1 d3) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* d4 (+ 1 (* -1 (/ d3 d4))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2)) d4)))))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (pow d1 2)) d4)))))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 d2) d4)))))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d3)) d4)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d3) d4)) 1)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (* d1 d3)) d4)))))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (/ (* d1 d3) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d4 (- (/ d3 d4) 1)))))
Calls

12 calls:

TimeVariablePointExpression
12.0ms
d1
@0
((+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) (neg d1) d1 d3 (- (* d1 (+ d4 d2)) (* d1 d1)) (* d1 (+ d4 d2)) (+ d4 d2) d4 d2 (* d1 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 (- d4 d3)) (- d4 d3))
12.0ms
d3
@-inf
((+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) (neg d1) d1 d3 (- (* d1 (+ d4 d2)) (* d1 d1)) (* d1 (+ d4 d2)) (+ d4 d2) d4 d2 (* d1 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 (- d4 d3)) (- d4 d3))
4.0ms
d1
@-inf
((+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) (neg d1) d1 d3 (- (* d1 (+ d4 d2)) (* d1 d1)) (* d1 (+ d4 d2)) (+ d4 d2) d4 d2 (* d1 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 (- d4 d3)) (- d4 d3))
3.0ms
d1
@inf
((+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) (neg d1) d1 d3 (- (* d1 (+ d4 d2)) (* d1 d1)) (* d1 (+ d4 d2)) (+ d4 d2) d4 d2 (* d1 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 (- d4 d3)) (- d4 d3))
2.0ms
d2
@-inf
((+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) (neg d1) d1 d3 (- (* d1 (+ d4 d2)) (* d1 d1)) (* d1 (+ d4 d2)) (+ d4 d2) d4 d2 (* d1 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 (- d4 d3)) (- d4 d3))

rewrite305.0ms (7.3%)

Memory
-9.8MiB live, 316.3MiB allocated; 46ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04742644
05012194
133732152
0100052135
1354062135
Stop Event
saturated
node-limit
iter-limit
Counts
141 → 299
Calls
Call 1
Inputs
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(neg.f64 d1)
d1
d3
(-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 d4 d2)
d4
d2
(*.f64 d1 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
(neg.f64 (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
(*.f64 (-.f64 (+.f64 d4 d2) d3) d1)
(-.f64 (+.f64 d4 d2) d3)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 d2 d3)
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 d4 d3)
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d3))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 (+ d2 (+ d4 (+ (* -1 d1) (* -1 d3)))))))
#s(approx (neg d1) #s(hole binary64 (* -1 d1)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d1))))))
#s(approx (* d1 d1) #s(hole binary64 (pow d1 2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (neg (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* (pow d1 2) (- (+ (* -1 (/ d3 d1)) (+ (/ d2 d1) (/ d4 d1))) 1))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (+ d3 (* -1 (+ d2 d4))) d1)) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 (- (+ (* -1 d2) (* -1 d4)) (* -1 d3))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d4)) (pow d1 2))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (pow d1 2))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d1 d4)))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ d4 d2) #s(hole binary64 d4))
#s(approx (+ d4 d2) #s(hole binary64 (+ d2 d4)))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- d4 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- (+ d2 d4) d3)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (- d2 d3) #s(hole binary64 (- d2 d3)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d4) (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (* d1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d1 d2)))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d2 (- (+ d1 (+ (* -1 (/ (* d1 d3) d2)) (/ (* d1 d4) d2))) (/ (pow d1 2) d2)))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (pow d1 2) d2)))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d4) d2)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d3 d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (* d1 d3) d2)))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (+ (* -1 (* d1 d3)) (* d1 d4)) (pow d1 2)) d2)))))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (pow d1 2)) d2)))))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d4) d2)))))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d3) d2)) 1)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (* d1 d3)) d2)))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (* d1 (+ d2 d4)) (pow d1 2))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4))) (pow d1 2))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (+ d2 (+ d4 (* -1 d3)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d4))))
#s(approx (- d4 d3) #s(hole binary64 (+ d4 (* -1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)) (/ (pow d1 2) d3)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d3 (- (+ (/ d2 d3) (/ d4 d3)) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) d1))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d4) d3)))))
#s(approx (- d4 d3) #s(hole binary64 (* d3 (- (/ d4 d3) 1))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 (+ d2 d4)) (pow d1 2)) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (+ d2 d4)) d3)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (+ d2 d4) d3)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)) (* -1 d1))))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d4) d3)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d4 d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d3)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* d4 (- (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))) (/ (pow d1 2) d4)))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (pow d1 2) d4)))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* d4 (+ d1 (/ (* d1 d2) d4)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d3)) d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d3 d4)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (* d1 d3) d4)))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* d4 (+ d1 (* -1 (/ (* d1 d3) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* d4 (+ 1 (* -1 (/ d3 d4))))))
#s(approx (+ (* (neg d1) d3) (- (* d1 (+ d4 d2)) (* d1 d1))) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2)) d4)))))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (pow d1 2)) d4)))))))
#s(approx (* d1 (+ d4 d2)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 d2) d4)))))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d3)) d4)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d3) d4)) 1)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (* d1 d3)) d4)))))))
#s(approx (* d1 (- d4 d3)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (/ (* d1 d3) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d4 (- (/ d3 d4) 1)))))
Outputs
(neg.f64 (-.f64 (*.f64 d1 d1) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1)))
(neg.f64 (-.f64 (fma.f64 d3 d1 (*.f64 d1 d1)) (*.f64 (+.f64 d2 d4) d1)))
(fma.f64 (-.f64 d2 d3) d1 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(fma.f64 (-.f64 (+.f64 d2 d4) d3) d1 (*.f64 (neg.f64 d1) d1))
(fma.f64 (+.f64 d2 d4) d1 (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(fma.f64 (neg.f64 d1) d3 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 d2 d1 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)))
(fma.f64 d3 (neg.f64 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 d1 (-.f64 (+.f64 d2 d4) d1) (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 (-.f64 d2 d3) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 (+.f64 d2 d4) d3) (*.f64 (neg.f64 d1) d1))
(fma.f64 d1 (+.f64 d2 d4) (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(fma.f64 d1 d2 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (fma.f64 d3 d1 (*.f64 d1 d1)))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1))))
(-.f64 (*.f64 (-.f64 (+.f64 d2 d4) d3) d1) (*.f64 d1 d1))
(+.f64 (*.f64 (+.f64 d2 d4) d1) (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 (-.f64 (+.f64 d2 d4) d3) d1) (*.f64 (neg.f64 d1) d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(+.f64 (*.f64 d2 d1) (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)))
(*.f64 #s(literal -1 binary64) d1)
(*.f64 d1 #s(literal -1 binary64))
(neg.f64 d1)
d1
d3
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(neg.f64 (-.f64 (*.f64 d1 d1) (*.f64 (+.f64 d2 d4) d1)))
(fma.f64 (+.f64 d2 d4) d1 (*.f64 (neg.f64 d1) d1))
(fma.f64 d2 d1 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(fma.f64 d1 (+.f64 d2 d4) (*.f64 (neg.f64 d1) d1))
(fma.f64 d1 d2 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (*.f64 d1 d1))
(+.f64 (*.f64 (+.f64 d2 d4) d1) (*.f64 (neg.f64 d1) d1))
(+.f64 (*.f64 d2 d1) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
(*.f64 (+.f64 d2 d4) d1)
(*.f64 d1 (+.f64 d2 d4))
(fma.f64 d2 d1 (*.f64 d4 d1))
(fma.f64 d4 d1 (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 d4 d1))
(fma.f64 d1 d4 (*.f64 d2 d1))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d4))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 d4 d1)))
(+.f64 (*.f64 d4 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 d4 d1))
(-.f64 d2 (neg.f64 d4))
(-.f64 d4 (neg.f64 d2))
(+.f64 d2 d4)
(+.f64 d4 d2)
d4
d2
(*.f64 (fabs.f64 (fabs.f64 d1)) (fabs.f64 (fabs.f64 d1)))
(*.f64 (neg.f64 (fabs.f64 d1)) (neg.f64 (fabs.f64 d1)))
(*.f64 (neg.f64 (neg.f64 d1)) (neg.f64 (neg.f64 d1)))
(*.f64 (fabs.f64 d1) (fabs.f64 d1))
(*.f64 (neg.f64 d1) (neg.f64 d1))
(*.f64 d1 d1)
(pow.f64 (fabs.f64 (fabs.f64 d1)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 d1)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 d1)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 d1) #s(literal 2 binary64))
(pow.f64 (neg.f64 d1) #s(literal 2 binary64))
(pow.f64 d1 #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)))
(fabs.f64 (*.f64 (neg.f64 d1) d1))
(fabs.f64 (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d1) d1))
(*.f64 (*.f64 d1 d1) #s(literal -1 binary64))
(*.f64 (neg.f64 d1) d1)
(*.f64 #s(literal -1 binary64) (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(neg.f64 (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 (+.f64 d2 d4) d1)))
(fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1))
(fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1))
(fma.f64 (+.f64 d2 d4) d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 (neg.f64 d1) d3 (*.f64 (+.f64 d2 d4) d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 (+.f64 d2 d4) d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 (+.f64 d2 d4) d1))
(fma.f64 d2 d1 (*.f64 (-.f64 d4 d3) d1))
(fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1))
(fma.f64 d3 (neg.f64 d1) (*.f64 (+.f64 d2 d4) d1))
(fma.f64 d1 (-.f64 d4 d3) (*.f64 d2 d1))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d4 d1))
(fma.f64 d1 (+.f64 d2 d4) (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 d2 (*.f64 (-.f64 d4 d3) d1))
(fma.f64 d1 d4 (*.f64 (-.f64 d2 d3) d1))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (*.f64 d3 d1))
(-.f64 (*.f64 d4 d1) (*.f64 (neg.f64 d1) (-.f64 d2 d3)))
(-.f64 (*.f64 d4 d1) (neg.f64 (*.f64 (-.f64 d2 d3) d1)))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) (+.f64 d2 d4)))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 (+.f64 d2 d4) d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 (neg.f64 d4) d1))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (neg.f64 (*.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) (-.f64 d4 d3)))
(-.f64 (*.f64 d2 d1) (-.f64 (*.f64 d3 d1) (*.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 (-.f64 d4 d3) d1)))
(+.f64 (*.f64 (+.f64 d2 d4) d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 d4 d1) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (+.f64 d2 d4) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d2 d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d4 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(neg.f64 (-.f64 d3 (+.f64 d2 d4)))
(-.f64 (+.f64 d2 d4) d3)
(-.f64 d2 (neg.f64 (-.f64 d4 d3)))
(+.f64 (-.f64 d4 d3) d2)
(+.f64 (+.f64 d2 d4) (neg.f64 d3))
(+.f64 d2 (-.f64 d4 d3))
(+.f64 d4 (-.f64 d2 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(neg.f64 (-.f64 (*.f64 d1 d1) (*.f64 (-.f64 d2 d3) d1)))
(neg.f64 (-.f64 (fma.f64 d3 d1 (*.f64 d1 d1)) (*.f64 d2 d1)))
(fma.f64 (-.f64 d2 d3) d1 (*.f64 (neg.f64 d1) d1))
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 d2 d1 (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(fma.f64 d3 (neg.f64 d1) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 (neg.f64 d1) d1))
(fma.f64 d1 d2 (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1))
(-.f64 (*.f64 d2 d1) (fma.f64 d3 d1 (*.f64 d1 d1)))
(+.f64 (*.f64 (neg.f64 d1) d3) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 (neg.f64 d1) d1))
(+.f64 (*.f64 d2 d1) (neg.f64 (fma.f64 d3 d1 (*.f64 d1 d1))))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)))
(fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d2 d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 d3 (neg.f64 d1) (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 (neg.f64 d1) d3))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d2 d1)))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(neg.f64 (-.f64 d3 d2))
(fma.f64 #s(literal -1 binary64) d3 d2)
(fma.f64 d3 #s(literal -1 binary64) d2)
(-.f64 d2 (*.f64 #s(literal 1 binary64) d3))
(-.f64 d2 (neg.f64 (neg.f64 d3)))
(-.f64 d2 d3)
(+.f64 (neg.f64 d3) d2)
(+.f64 d2 (neg.f64 d3))
(neg.f64 (-.f64 (*.f64 d1 d1) #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d4 d3) d1))))
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d4 d3) d1)) (*.f64 d1 d1))
(+.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d4 d3) d1)) (*.f64 (neg.f64 d1) d1))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 (-.f64 d4 d3) d1)
(*.f64 d1 (-.f64 d4 d3))
(neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 d4 d1)))
(fma.f64 (neg.f64 d1) d3 (*.f64 d4 d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d4 d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d4 d1))
(fma.f64 d4 d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 d3 (neg.f64 d1) (*.f64 d4 d1))
(fma.f64 d1 d4 (*.f64 (neg.f64 d1) d3))
(-.f64 (*.f64 d4 d1) (*.f64 d3 d1))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) d4))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d4 d1)))
(+.f64 (*.f64 d4 d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d4 d1))
(neg.f64 (-.f64 d3 d4))
(fma.f64 #s(literal -1 binary64) d3 d4)
(fma.f64 d3 #s(literal -1 binary64) d4)
(-.f64 d4 (*.f64 #s(literal 1 binary64) d3))
(-.f64 d4 (neg.f64 (neg.f64 d3)))
(-.f64 d4 d3)
(+.f64 (neg.f64 d3) d4)
(+.f64 d4 (neg.f64 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 (+.f64 d2 d4) (+.f64 (neg.f64 d3) (neg.f64 d1))) d1))
#s(approx (neg d1) (neg.f64 d1))
#s(approx d1 d1)
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (+.f64 d2 d4) d1))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (+.f64 (+.f64 (neg.f64 d1) d4) d2) d1))
#s(approx (* d1 d1) (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 (+.f64 (neg.f64 d1) d4) d2) d3) d1))
#s(approx (neg (* d1 d1)) (*.f64 (neg.f64 d1) d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (+.f64 (neg.f64 d1) d2) d3) d1))
#s(approx (* d1 (- d4 d3)) (*.f64 (-.f64 d4 d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (/.f64 (-.f64 (+.f64 d2 d4) d3) d1) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (-.f64 (/.f64 (+.f64 d2 d4) d1) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (+.f64 d2 d4) d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (neg.f64 (/.f64 (+.f64 (neg.f64 (+.f64 d2 d4)) d3) d1)) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 (+.f64 d2 d4)) (neg.f64 d3)) d1)) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d1) (-.f64 (neg.f64 (+.f64 d2 d4)) (neg.f64 d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 (+.f64 d2 d4) d3) d1) (*.f64 d1 d1)))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
#s(approx (* d1 (+ d4 d2)) (*.f64 d4 d1))
#s(approx (* d1 (+ d4 d2)) (*.f64 (+.f64 d2 d4) d1))
#s(approx (+ d4 d2) d4)
#s(approx (+ d4 d2) (+.f64 d2 d4))
#s(approx d2 d2)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 (+.f64 d2 d4) d3) d1) (*.f64 d1 d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (- (+ d4 d2) d3) (-.f64 d4 d3))
#s(approx (- (+ d4 d2) d3) (-.f64 (+.f64 d2 d4) d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d1) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- d2 d3) (neg.f64 d3))
#s(approx (- d2 d3) (-.f64 d2 d3))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d4 d3) d1))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)) d2)) d2))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)) d2)) d2))
#s(approx (* d1 (+ d4 d2)) (*.f64 (fma.f64 d1 (/.f64 d4 d2) d1) d2))
#s(approx (+ d4 d2) (*.f64 (+.f64 (/.f64 d4 d2) #s(literal 1 binary64)) d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)) d2)) d2))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d4 d3) d2) d1) d2))
#s(approx (- (+ d4 d2) d3) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d4 d3) d2)) d2))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) d2))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d1 (/.f64 (*.f64 d3 d1) d2)) d2))
#s(approx (- d2 d3) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d3 d2)) d2))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d4 d3) d2) d1) d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (* d1 (+ d4 d2)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 d4 d1) d2)) (neg.f64 d1))))
#s(approx (+ d4 d2) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (neg.f64 d4) d2) #s(literal 1 binary64))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d4 d3) d1) d2)) (neg.f64 d1))))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d2) (-.f64 (neg.f64 (/.f64 (-.f64 d4 d3) d2)) #s(literal 1 binary64))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 d3 d2) (neg.f64 d1))))
#s(approx (- d2 d3) (*.f64 (neg.f64 d2) (-.f64 (/.f64 d3 d2) #s(literal 1 binary64))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d4 d3) d1) d2)) (neg.f64 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 (+.f64 d2 d4) d3) d1) (*.f64 d1 d1)))
#s(approx d3 d3)
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (- (+ d4 d2) d3) (-.f64 (+.f64 d2 d4) d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
#s(approx (- d2 d3) (-.f64 d2 d3))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (* d1 (- d4 d3)) (*.f64 (-.f64 d4 d3) d1))
#s(approx (- d4 d3) (-.f64 d4 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 (neg.f64 d1) (/.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) d3)) d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 (neg.f64 d1) (/.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) d3)) d3))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (/.f64 (*.f64 (+.f64 d2 d4) d1) d3) d1) d3))
#s(approx (- (+ d4 d2) d3) (*.f64 (-.f64 (/.f64 (+.f64 d2 d4) d3) #s(literal 1 binary64)) d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (+.f64 (neg.f64 d1) (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (fma.f64 d1 (/.f64 d2 d3) (neg.f64 d1)) d3))
#s(approx (- d2 d3) (*.f64 (-.f64 (/.f64 d2 d3) #s(literal 1 binary64)) d3))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (/.f64 (*.f64 (+.f64 d2 d4) d1) d3) d1) d3))
#s(approx (* d1 (- d4 d3)) (*.f64 (fma.f64 d1 (/.f64 d4 d3) (neg.f64 d1)) d3))
#s(approx (- d4 d3) (*.f64 (-.f64 (/.f64 d4 d3) #s(literal 1 binary64)) d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d3) (-.f64 (neg.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) d3)) (neg.f64 d1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (+.f64 d2 d4) d1) d3)) d1)))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 (+.f64 d2 d4) d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d1)))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 d2 d1) d3)) d1)))
#s(approx (- d2 d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 d2 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d3) (neg.f64 (-.f64 (/.f64 (*.f64 (+.f64 d2 d4) d1) d3) d1))))
#s(approx (* d1 (- d4 d3)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 d4 d1) d3)) d1)))
#s(approx (- d4 d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 d4 d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 (+.f64 d2 d4) d3) d1))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) d4)) d4))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d4)) d4))
#s(approx (* d1 (+ d4 d2)) (*.f64 (fma.f64 d1 (/.f64 d2 d4) d1) d4))
#s(approx (+ d4 d2) (*.f64 (+.f64 (/.f64 d2 d4) #s(literal 1 binary64)) d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) d4)) d4))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d3) d4) d1) d4))
#s(approx (- (+ d4 d2) d3) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d2 d3) d4)) d4))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d3) d4) d1) d4))
#s(approx (* d1 (- d4 d3)) (*.f64 (-.f64 d1 (/.f64 (*.f64 d3 d1) d4)) d4))
#s(approx (- d4 d3) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d3 d4)) d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) d4)) (neg.f64 d1))))
#s(approx (- (* d1 (+ d4 d2)) (* d1 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d4)) (neg.f64 d1))))
#s(approx (* d1 (+ d4 d2)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 d2 d1) d4)) (neg.f64 d1))))
#s(approx (+ d4 d2) (*.f64 (neg.f64 d4) (-.f64 (/.f64 (neg.f64 d2) d4) #s(literal 1 binary64))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) d4)) (neg.f64 d1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (*.f64 d1 (/.f64 (-.f64 d2 d3) d4))) (neg.f64 d1))))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d4) (-.f64 (neg.f64 (/.f64 (-.f64 d2 d3) d4)) #s(literal 1 binary64))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (*.f64 d1 (/.f64 (-.f64 d2 d3) d4))) (neg.f64 d1))))
#s(approx (* d1 (- d4 d3)) (*.f64 (neg.f64 d4) (fma.f64 d1 (/.f64 d3 d4) (neg.f64 d1))))
#s(approx (- d4 d3) (*.f64 (neg.f64 d4) (-.f64 (/.f64 d3 d4) #s(literal 1 binary64))))

eval98.0ms (2.4%)

Memory
28.1MiB live, 122.8MiB allocated; 42ms collecting garbage
Compiler

Compiled 2 235 to 1 014 computations (54.6% saved)

prune26.0ms (0.6%)

Memory
-23.3MiB live, 24.4MiB allocated; 6ms collecting garbage
Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3196325
Fresh101
Picked325
Done000
Total3238331
Accuracy
100.0%
Counts
331 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.0%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
81.2%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
53.6%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
32.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
77.1%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
76.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
56.5%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
Compiler

Compiled 215 to 213 computations (0.9% saved)

series20.0ms (0.5%)

Memory
38.8MiB live, 38.8MiB allocated; 0ms collecting garbage
Counts
20 → 102
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
(fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1))
(-.f64 d4 d3)
d4
d3
d1
(*.f64 d2 d1)
d2
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 d2 d3)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
(*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1)
(-.f64 #s(approx (+ d4 d2) d4) d3)
#s(approx (+ d4 d2) d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(-.f64 (-.f64 d2 d3) d1)
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d2 d1) #s(hole binary64 (* d1 d2)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d3)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d1)) d3)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 d1)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d1 (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 (- d4 d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (- d2 d3) d1)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- d4 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- (+ d2 d4) d3)))
#s(approx (+ d4 d2) #s(hole binary64 d4))
#s(approx (+ d4 d2) #s(hole binary64 (+ d2 d4)))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d1 (+ d1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 (+ d1 d3))) (* d1 d2))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (+ d1 d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 (+ d1 d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d3 d2)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ (+ d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d3) d2)) 1)))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (- (+ (/ d1 d2) (/ d3 d2)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- d4 d3) #s(hole binary64 (+ d4 (* -1 d3))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (+ d2 (+ d4 (* -1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d1 (- d2 d1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (- d2 d1)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d1)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3))))))
#s(approx (- d4 d3) #s(hole binary64 (* d3 (- (/ d4 d3) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d3 (- (+ (/ d2 d3) (/ d4 d3)) 1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (- d2 d1)) d3)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d3 (- (/ d2 d3) (+ 1 (/ d1 d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d4 d3)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (+ d2 d4)) d3)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (+ d2 d4) d3)))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (- d2 d1)) d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (- d2 d1) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d3)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d4)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d4 (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* d4 (+ 1 (* -1 (/ d3 d4))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d3)) d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d3 d4)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (+ (* -1 (* d1 d3)) (* d1 d2)) d4)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d4 (- (/ d3 d4) 1)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d3)) d4)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d3) d4)) 1)))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
Calls

12 calls:

TimeVariablePointExpression
3.0ms
d1
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (- d4 d3) d4 d3 d1 (* d2 d1) d2 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (+ d4 d2) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1))
2.0ms
d2
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (- d4 d3) d4 d3 d1 (* d2 d1) d2 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (+ d4 d2) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1))
2.0ms
d1
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (- d4 d3) d4 d3 d1 (* d2 d1) d2 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (+ d4 d2) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1))
1.0ms
d3
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (- d4 d3) d4 d3 d1 (* d2 d1) d2 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (+ d4 d2) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1))
1.0ms
d1
@0
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (- d4 d3) d4 d3 d1 (* d2 d1) d2 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* (- (+ d4 d2) d3) d1) (- (+ d4 d2) d3) (+ d4 d2) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1))

rewrite250.0ms (6%)

Memory
-24.8MiB live, 316.7MiB allocated; 64ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04122125
04251800
129201793
094331780
1333461780
Stop Event
saturated
node-limit
iter-limit
Counts
122 → 217
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
(fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1))
(-.f64 d4 d3)
d4
d3
d1
(*.f64 d2 d1)
d2
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 d2 d3)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
(*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1)
(-.f64 #s(approx (+ d4 d2) d4) d3)
#s(approx (+ d4 d2) d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(-.f64 (-.f64 d2 d3) d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d2 d1) #s(hole binary64 (* d1 d2)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d3)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d1)) d3)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 d1)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d1 (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 (- d4 d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (- d2 d3) d1)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- d4 d3)))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (- (+ d2 d4) d3)))
#s(approx (+ d4 d2) #s(hole binary64 d4))
#s(approx (+ d4 d2) #s(hole binary64 (+ d2 d4)))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d1 (+ d1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 (+ d1 d3))) (* d1 d2))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (+ d1 d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 (+ d1 d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d3 d2)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ (+ d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d3) d2)) 1)))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (- (+ (/ d1 d2) (/ d3 d2)) 1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- d4 d3) #s(hole binary64 (+ d4 (* -1 d3))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (+ d2 d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (+ d2 (+ d4 (* -1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d1 (- d2 d1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (- d2 d1)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d1)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3))))))
#s(approx (- d4 d3) #s(hole binary64 (* d3 (- (/ d4 d3) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (+ d2 d4)) d3)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d3 (- (+ (/ d2 d3) (/ d4 d3)) 1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (- d2 d1)) d3)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d3 (- (/ d2 d3) (+ 1 (/ d1 d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d4 d3)))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (+ d2 d4)) d3)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (+ d2 d4) d3)))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (- d2 d1)) d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (- d2 d1) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d3)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d4)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d4 (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))))))
#s(approx (- d4 d3) #s(hole binary64 (* d4 (+ 1 (* -1 (/ d3 d4))))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d3)) d4)))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d3 d4)))))
#s(approx (+ d4 d2) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (+ (* -1 (* d1 d3)) (* d1 d2)) d4)))))))
#s(approx (- d4 d3) #s(hole binary64 (* -1 (* d4 (- (/ d3 d4) 1)))))
#s(approx (* (- (+ d4 d2) d3) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d3)) d4)))))))
#s(approx (- (+ d4 d2) d3) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d3) d4)) 1)))))
#s(approx (+ d4 d2) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
(*.f64 (-.f64 (+.f64 d4 d2) d3) d1)
(*.f64 d1 (-.f64 (+.f64 d4 d2) d3))
(fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1))
(fma.f64 (neg.f64 d1) d3 (*.f64 (+.f64 d4 d2) d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 (+.f64 d4 d2) d1))
(fma.f64 (+.f64 d4 d2) d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1))
(fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 (+.f64 d4 d2) d1))
(fma.f64 d2 d1 (*.f64 (-.f64 d4 d3) d1))
(fma.f64 d1 (-.f64 d4 d3) (*.f64 d2 d1))
(fma.f64 d1 (+.f64 d4 d2) (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d4 d1))
(fma.f64 d1 d4 (*.f64 (-.f64 d2 d3) d1))
(fma.f64 d1 d2 (*.f64 (-.f64 d4 d3) d1))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) (+.f64 d4 d2)))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 (+.f64 d4 d2) d1)))
(-.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 (neg.f64 d2) d1))
(-.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (*.f64 d2 d1)))
(-.f64 (*.f64 d4 d1) (*.f64 (neg.f64 d1) (-.f64 d2 d3)))
(-.f64 (*.f64 d4 d1) (neg.f64 (*.f64 (-.f64 d2 d3) d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 (neg.f64 d4) d1))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (neg.f64 (*.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (-.f64 (*.f64 d3 d1) (*.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) (-.f64 d4 d3)))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 (-.f64 d4 d3) d1)))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (+.f64 d4 d2) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d2 d1))
(+.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 d4 d1) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d4 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(neg.f64 (-.f64 d3 d4))
(fma.f64 #s(literal -1 binary64) d3 d4)
(fma.f64 d3 #s(literal -1 binary64) d4)
(-.f64 d4 (*.f64 #s(literal 1 binary64) d3))
(-.f64 d4 (neg.f64 (neg.f64 d3)))
(-.f64 d4 d3)
(+.f64 (neg.f64 d3) d4)
(+.f64 d4 (neg.f64 d3))
d4
d3
d1
(*.f64 d2 d1)
(*.f64 d1 d2)
d2
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (-.f64 (*.f64 d3 d1) (*.f64 d2 d1)))
(fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (*.f64 d2 d1))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (neg.f64 d1) d3))
(fma.f64 d1 d2 (*.f64 (neg.f64 d1) d3))
(-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 (neg.f64 d1) d3) (neg.f64 (*.f64 d2 d1)))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(+.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d3))
(neg.f64 (-.f64 d3 d2))
(fma.f64 #s(literal -1 binary64) d3 d2)
(fma.f64 d3 #s(literal -1 binary64) d2)
(-.f64 d2 (*.f64 #s(literal 1 binary64) d3))
(-.f64 d2 (neg.f64 (neg.f64 d3)))
(-.f64 d2 d3)
(+.f64 (neg.f64 d3) d2)
(+.f64 d2 (neg.f64 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
(*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1)
(*.f64 d1 (-.f64 #s(approx (+ d4 d2) d4) d3))
(neg.f64 (-.f64 d3 #s(approx (+ d4 d2) d4)))
(-.f64 #s(approx (+ d4 d2) d4) d3)
(+.f64 #s(approx (+ d4 d2) d4) (neg.f64 d3))
#s(approx (+ d4 d2) d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
(*.f64 (-.f64 (-.f64 d2 d3) d1) d1)
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(neg.f64 (-.f64 (*.f64 d1 d1) (*.f64 (-.f64 d2 d3) d1)))
(neg.f64 (-.f64 (*.f64 (+.f64 d3 d1) d1) (*.f64 d2 d1)))
(fma.f64 (*.f64 (+.f64 d3 d1) d1) #s(literal -1 binary64) (*.f64 d2 d1))
(fma.f64 (neg.f64 d1) (+.f64 d3 d1) (*.f64 d2 d1))
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 d3 d1) d1) (*.f64 d2 d1))
(fma.f64 #s(literal -1 binary64) (*.f64 d3 d1) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 (-.f64 d2 d3) d1 (*.f64 (neg.f64 d1) d1))
(fma.f64 (-.f64 d2 d3) d1 (neg.f64 (*.f64 d1 d1)))
(fma.f64 (*.f64 d3 d1) #s(literal -1 binary64) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(fma.f64 d2 d1 (*.f64 (neg.f64 d1) (+.f64 d3 d1)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 (neg.f64 d1) d1))
(fma.f64 d1 (-.f64 d2 d3) (neg.f64 (*.f64 d1 d1)))
(fma.f64 d1 d2 (*.f64 (neg.f64 d1) (+.f64 d3 d1)))
(-.f64 (*.f64 (neg.f64 d1) (+.f64 d3 d1)) (*.f64 (neg.f64 d1) d2))
(-.f64 (*.f64 (neg.f64 d1) (+.f64 d3 d1)) (neg.f64 (*.f64 d2 d1)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1))
(-.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 d1) d1))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 d3 d1)) (*.f64 d2 d1))
(+.f64 (*.f64 (neg.f64 d1) d3) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 (neg.f64 d1) d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) (+.f64 d3 d1)))
(neg.f64 (-.f64 d3 (-.f64 d2 d1)))
(neg.f64 (-.f64 d1 (-.f64 d2 d3)))
(neg.f64 (-.f64 (+.f64 d3 d1) d2))
(-.f64 (-.f64 d2 d1) d3)
(-.f64 (-.f64 d2 d3) d1)
(-.f64 d2 (+.f64 d3 d1))
(+.f64 (-.f64 d2 d1) (neg.f64 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d1) d3))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (neg.f64 (+.f64 d3 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 (+.f64 (neg.f64 d1) d4) d2) d3) d1))
#s(approx d1 d1)
#s(approx (* d2 d1) (*.f64 d2 d1))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 d2 d3) d1))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d3))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (+.f64 d4 d2) d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (- (- d2 d3) d1) (neg.f64 d1))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) (/.f64 d3 d1)) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (neg.f64 (/.f64 (-.f64 (+.f64 (neg.f64 d4) (neg.f64 d2)) (neg.f64 d3)) d1)) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d1) (+.f64 (neg.f64 d2) (neg.f64 (-.f64 d4 d3)))))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d1) (+.f64 (neg.f64 (/.f64 (-.f64 d2 d3) d1)) #s(literal 1 binary64))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 (+.f64 d4 d2) d3) d1) (*.f64 d1 d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 d4 d3) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx d2 d2)
#s(approx (* d1 (- (- d2 d3) d1)) (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d1) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- d2 d3) (neg.f64 d3))
#s(approx (- (+ d4 d2) d3) (-.f64 d4 d3))
#s(approx (- (+ d4 d2) d3) (-.f64 (+.f64 d4 d2) d3))
#s(approx (+ d4 d2) d4)
#s(approx (+ d4 d2) (+.f64 d4 d2))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (neg.f64 d1) (+.f64 d3 d1)))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (- (- d2 d3) d1) (neg.f64 (+.f64 d3 d1)))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)) d2)) d2))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d4 d3) d2) d1) d2))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) d2))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d1 (/.f64 (*.f64 d3 d1) d2)) d2))
#s(approx (- d2 d3) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d3 d2)) d2))
#s(approx (- (+ d4 d2) d3) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d4 d3) d2)) d2))
#s(approx (+ d4 d2) (*.f64 (+.f64 (/.f64 d4 d2) #s(literal 1 binary64)) d2))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 d1 (*.f64 d1 (/.f64 (+.f64 d3 d1) d2))) d2))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (+.f64 d3 d1) d2)) d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)) d2)) (neg.f64 d1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d4 d3) d1) d2)) (neg.f64 d1))))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 d3 d2) (neg.f64 d1))))
#s(approx (- d2 d3) (*.f64 (neg.f64 d2) (-.f64 (/.f64 d3 d2) #s(literal 1 binary64))))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (neg.f64 (-.f64 d4 d3)) d2) #s(literal 1 binary64))))
#s(approx (+ d4 d2) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (neg.f64 d4) d2) #s(literal 1 binary64))))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 (+.f64 d3 d1) d2) (neg.f64 d1))))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (+.f64 d3 d1) d2) #s(literal 1 binary64))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 (+.f64 d4 d2) d3) d1) (*.f64 d1 d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- d4 d3) (-.f64 d4 d3))
#s(approx d3 d3)
#s(approx (* d1 (- (- d2 d3) d1)) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
#s(approx (- d2 d3) (-.f64 d2 d3))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ d4 d2) d3) (-.f64 (+.f64 d4 d2) d3))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (-.f64 d2 d1) d1))
#s(approx (* d1 (- (- d2 d3) d1)) (fma.f64 (-.f64 d2 d1) d1 (*.f64 (neg.f64 d1) d3)))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d1))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3) d1) (/.f64 (*.f64 d1 d1) d3)) d3))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (+.f64 d4 d2) d3) (neg.f64 d1)) d3))
#s(approx (- d4 d3) (*.f64 (-.f64 (/.f64 d4 d3) #s(literal 1 binary64)) d3))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (+.f64 (neg.f64 d1) (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (fma.f64 d1 (/.f64 d2 d3) (neg.f64 d1)) d3))
#s(approx (- d2 d3) (*.f64 (-.f64 (/.f64 d2 d3) #s(literal 1 binary64)) d3))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (+.f64 d4 d2) d3) (neg.f64 d1)) d3))
#s(approx (- (+ d4 d2) d3) (*.f64 (-.f64 (/.f64 (+.f64 d4 d2) d3) #s(literal 1 binary64)) d3))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d1) d3) (neg.f64 d1)) d3))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 (-.f64 (/.f64 d2 d3) #s(literal 1 binary64)) (/.f64 d1 d3)) d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d3) (-.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 d1 d1)) d3)) (neg.f64 d1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3)) d1)))
#s(approx (- d4 d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 d4 d3))))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d1)))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 d2 d1) d3)) d1)))
#s(approx (- d2 d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 d2 d3))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3)) d1)))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (+.f64 d4 d2) d3)) #s(literal 1 binary64))))
#s(approx (* d1 (- (- d2 d3) d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d1) d1) d3)) d1)))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 d2 d1) d3)) #s(literal 1 binary64))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 (-.f64 (-.f64 d2 d3) d1) d1) d4)) d4))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d3) d4) d1) d4))
#s(approx (- d4 d3) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d3 d4)) d4))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d3) d4) d1) d4))
#s(approx (- (+ d4 d2) d3) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d2 d3) d4)) d4))
#s(approx (+ d4 d2) (*.f64 (+.f64 (/.f64 d2 d4) #s(literal 1 binary64)) d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 (-.f64 d2 d3) d1) d1) d4)) (neg.f64 d1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d3) d1) d4)) (neg.f64 d1))))
#s(approx (- d4 d3) (*.f64 (neg.f64 d4) (-.f64 (/.f64 d3 d4) #s(literal 1 binary64))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d3) d1) d4)) (neg.f64 d1))))
#s(approx (- (+ d4 d2) d3) (*.f64 (neg.f64 d4) (-.f64 (neg.f64 (/.f64 (-.f64 d2 d3) d4)) #s(literal 1 binary64))))
#s(approx (+ d4 d2) (*.f64 (neg.f64 d4) (-.f64 (/.f64 (neg.f64 d2) d4) #s(literal 1 binary64))))

eval22.0ms (0.5%)

Memory
-21.2MiB live, 71.0MiB allocated; 5ms collecting garbage
Compiler

Compiled 1 505 to 760 computations (49.5% saved)

prune8.0ms (0.2%)

Memory
34.3MiB live, 34.2MiB allocated; 0ms collecting garbage
Pruning

13 alts after pruning (7 fresh and 6 done)

PrunedKeptTotal
New1996205
Fresh011
Picked145
Done022
Total20013213
Accuracy
100.0%
Counts
213 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.0%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
81.2%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
53.6%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
32.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
76.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
51.0%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
55.3%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
56.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))))
56.5%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
28.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
57.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
Compiler

Compiled 336 to 329 computations (2.1% saved)

series23.0ms (0.6%)

Memory
-31.8MiB live, 66.4MiB allocated; 6ms collecting garbage
Counts
23 → 109
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
d1
(-.f64 (+.f64 d2 d4) d1)
(+.f64 d2 d4)
d2
d4
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
(*.f64 d4 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1))
(*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)
#s(approx (- d2 d3) (neg.f64 d3))
(neg.f64 d3)
d3
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
(*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1)))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d1))
(-.f64 d2 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1))
(*.f64 (+.f64 d4 d2) d1)
(+.f64 d4 d2)
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d1))))))
#s(approx d1 #s(hole binary64 d1))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (+ d2 d4)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (+ d2 (+ d4 (* -1 d1)))))
#s(approx (* d4 d1) #s(hole binary64 (* d1 d4)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d3)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d1)) d3)))
#s(approx (- d2 d1) #s(hole binary64 d2))
#s(approx (- d2 d1) #s(hole binary64 (+ d2 (* -1 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 d1)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d1 (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d1 (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- d2 d1) #s(hole binary64 (* d1 (- (/ d2 d1) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (+ d2 d4) d1)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (- d2 d3) d1)))))))
#s(approx (- d2 d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ d2 d1)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 (- d4 d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (- d4 d1))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d1)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (- d4 d1)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (- (+ d2 d4) d1)))
#s(approx (+ d2 d4) #s(hole binary64 d4))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d1 (+ d1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 (+ d1 d3))) (* d1 d2))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (+ d1 d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 (+ d1 d3))))
#s(approx (- d2 d1) #s(hole binary64 (- d2 d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d1)) d2)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d1 d2)))))
#s(approx (+ d2 d4) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ (+ d1 d3) d2))))))
#s(approx (- d2 d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d1 d2))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d4) d2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d1)) d2)))))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d1) d2)) 1)))))
#s(approx (+ d2 d4) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (- (+ (/ d1 d2) (/ d3 d2)) 1)))))
#s(approx (- d2 d1) #s(hole binary64 (* -1 (* d2 (- (/ d1 d2) 1)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d4) d2)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d1 (- d2 d1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (- d2 d1)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d3)) d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (- d2 d1)) d3)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d3 (- (/ d2 d3) (+ 1 (/ d1 d3))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (- d2 d1)) d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (- d2 d1) d3)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d1)) d4)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d1 d4)))))
#s(approx (+ d2 d4) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d4 (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 d2) d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d1)) d4)))))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d1) d4)) 1)))))
#s(approx (+ d2 d4) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (+ (* -1 (* d1 d3)) (* d1 d2)) d4)))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 d2) d4)))))))
Calls

12 calls:

TimeVariablePointExpression
3.0ms
d4
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (+ d2 d4) d1)) d1 (- (+ d2 d4) d1) (+ d2 d4) d2 d4 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d4 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (neg d3) d3 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1) (- d2 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (* (+ d4 d2) d1) (+ d4 d2))
3.0ms
d1
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (+ d2 d4) d1)) d1 (- (+ d2 d4) d1) (+ d2 d4) d2 d4 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d4 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (neg d3) d3 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1) (- d2 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (* (+ d4 d2) d1) (+ d4 d2))
3.0ms
d1
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (+ d2 d4) d1)) d1 (- (+ d2 d4) d1) (+ d2 d4) d2 d4 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d4 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (neg d3) d3 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1) (- d2 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (* (+ d4 d2) d1) (+ d4 d2))
2.0ms
d2
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (+ d2 d4) d1)) d1 (- (+ d2 d4) d1) (+ d2 d4) d2 d4 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d4 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (neg d3) d3 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1) (- d2 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (* (+ d4 d2) d1) (+ d4 d2))
2.0ms
d1
@0
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (+ d2 d4) d1)) d1 (- (+ d2 d4) d1) (+ d2 d4) d2 d4 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d4 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (- (* (- d2 d3) d1) (* d1 d1)) (* (- d2 d3) d1) (- d2 d3) (neg d3) d3 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (* d1 (- (- d2 d3) d1)) (- (- d2 d3) d1) (- d2 d1) (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (* (- d4 d3) d1) (* d2 d1)) (* (+ d4 d2) d1) (+ d4 d2))

rewrite255.0ms (6.1%)

Memory
31.8MiB live, 346.6MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04342295
04451952
129391945
095641929
1348641929
Stop Event
saturated
node-limit
iter-limit
Counts
132 → 173
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
d1
(-.f64 (+.f64 d2 d4) d1)
(+.f64 d2 d4)
d2
d4
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
(*.f64 d4 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1))
(*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)
#s(approx (- d2 d3) (neg.f64 d3))
(neg.f64 d3)
d3
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
(*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1)))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d1))
(-.f64 d2 d1)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1))
(*.f64 (+.f64 d4 d2) d1)
(+.f64 d4 d2)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (+ d2 d4))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (+ d2 (+ d4 (* -1 d1))))))
#s(approx d1 #s(hole binary64 d1))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (+ d2 d4)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (+ d2 (+ d4 (* -1 d1)))))
#s(approx (* d4 d1) #s(hole binary64 (* d1 d4)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (* -1 d1)) d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 d3)))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d1)) d3)))
#s(approx (- d2 d1) #s(hole binary64 d2))
#s(approx (- d2 d1) #s(hole binary64 (+ d2 (* -1 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 d1)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d1 (- (+ (/ d2 d1) (/ d4 d1)) 1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d1 (- (/ d2 d1) (+ 1 (/ d3 d1))))))
#s(approx (- d2 d1) #s(hole binary64 (* d1 (- (/ d2 d1) 1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (+ d2 d4) d1)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ (- d2 d3) d1)))))))
#s(approx (- d2 d1) #s(hole binary64 (* -1 (* d1 (+ 1 (* -1 (/ d2 d1)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d1 (+ (* -1 d2) (* -1 (- d4 d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d1 (- d4 d1))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d1)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (- d4 d1)))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (- (+ d2 d4) d1)))
#s(approx (+ d2 d4) #s(hole binary64 d4))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* -1 (* d1 d3)) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (* d1 d2)) (pow d1 2))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 d3)))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d1 (+ d1 d3)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 (+ d1 d3))) (* d1 d2))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (+ d1 d3))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- d2 (+ d1 d3))))
#s(approx (- d2 d1) #s(hole binary64 (- d2 d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d1 (- d4 d3))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 (- d4 d3)))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d1)) d2)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d2 (- (+ 1 (/ d4 d2)) (/ d1 d2)))))
#s(approx (+ d2 d4) #s(hole binary64 (* d2 (+ 1 (/ d4 d2)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (* -1 (/ (* d1 d3) d2))) (/ (pow d1 2) d2)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d3 d2))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ (+ d1 d3) d2))))))
#s(approx (- d2 d1) #s(hole binary64 (* d2 (+ 1 (* -1 (/ d1 d2))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d2 (+ d1 (/ (* d1 (- d4 d3)) d2)))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* d2 (+ d1 (/ (* d1 d4) d2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d1)) d2)))))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ (- d4 d1) d2)) 1)))))
#s(approx (+ d2 d4) #s(hole binary64 (* -1 (* d2 (- (* -1 (/ d4 d2)) 1)))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* -1 (* d1 d3)) (pow d1 2)) d2)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d2 (- (/ d3 d2) 1)))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 (+ d1 d3)) d2))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d2 (- (+ (/ d1 d2) (/ d3 d2)) 1)))))
#s(approx (- d2 d1) #s(hole binary64 (* -1 (* d2 (- (/ d1 d2) 1)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 (- d4 d3)) d2)))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (* d1 d4) d2)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (pow d1 2))))
#s(approx (- d2 d3) #s(hole binary64 (+ d2 (* -1 d3))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d1 (- d2 d1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 (- d2 d1)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (- (+ d2 (* -1 d3)) d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (* -1 d1) (/ (* d1 d2) d3)) (/ (pow d1 2) d3)))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 d2) d3)))))
#s(approx (- d2 d3) #s(hole binary64 (* d3 (- (/ d2 d3) 1))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (/ (* d1 (- d2 d1)) d3)))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* d3 (- (/ d2 d3) (+ 1 (/ d1 d3))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d3 (+ (* -1 d1) (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (- (* d1 d2) (pow d1 2)) d3)))))))
#s(approx (* (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 d2) d3)))))))
#s(approx (- d2 d3) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ d2 d3)))))))
#s(approx (* d1 (- (- d2 d3) d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (* d1 (- d2 d1)) d3)))))))
#s(approx (- (- d2 d3) d1) #s(hole binary64 (* -1 (* d3 (+ 1 (* -1 (/ (- d2 d1) d3)))))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d3 (+ d1 (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (+ (* d1 d4) (* d1 (- d2 d1)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* d4 (+ d1 (/ (* d1 (- d2 d1)) d4)))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* d4 (- (+ 1 (/ d2 d4)) (/ d1 d4)))))
#s(approx (+ d2 d4) #s(hole binary64 (* d4 (+ 1 (/ d2 d4)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* d4 (+ d1 (+ (* -1 (/ (* d1 d3) d4)) (/ (* d1 d2) d4))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* d4 (+ d1 (/ (* d1 d2) d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (* d1 (- (+ d2 d4) d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 (- d2 d1)) d4)))))))
#s(approx (- (+ d2 d4) d1) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ (- d2 d1) d4)) 1)))))
#s(approx (+ d2 d4) #s(hole binary64 (* -1 (* d4 (- (* -1 (/ d2 d4)) 1)))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (+ (* -1 (* d1 d3)) (* d1 d2)) d4)))))))
#s(approx (* (+ d4 d2) d1) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (* d1 d2) d4)))))))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d1) d1))
(*.f64 (-.f64 (+.f64 d4 d2) d1) d1)
(*.f64 d1 (-.f64 (+.f64 d4 d2) d1))
(fma.f64 (-.f64 d4 d1) d1 (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 (-.f64 d4 d1) d1))
(fma.f64 d1 (-.f64 d4 d1) (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 (-.f64 d4 d1) d1))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) (-.f64 d4 d1)))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 (-.f64 d4 d1) d1)))
(+.f64 (*.f64 (-.f64 d4 d1) d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d1) d1))
d1
(neg.f64 (-.f64 d1 (+.f64 d4 d2)))
(-.f64 (+.f64 d4 d2) d1)
(-.f64 d2 (neg.f64 (-.f64 d4 d1)))
(+.f64 (-.f64 d4 d1) d2)
(+.f64 (+.f64 d4 d2) (neg.f64 d1))
(+.f64 d2 (-.f64 d4 d1))
(-.f64 d4 (neg.f64 d2))
(-.f64 d2 (neg.f64 d4))
(+.f64 d4 d2)
(+.f64 d2 d4)
d2
d4
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
(*.f64 d4 d1)
(*.f64 d1 d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1))
(*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)
(*.f64 d1 #s(approx (- d2 d3) (neg.f64 d3)))
#s(approx (- d2 d3) (neg.f64 d3))
(*.f64 #s(literal -1 binary64) d3)
(*.f64 d3 #s(literal -1 binary64))
(neg.f64 d3)
d3
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1)) d1))
(*.f64 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1)) d1)
(*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1)))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d1))
(neg.f64 (-.f64 d1 d2))
(fma.f64 #s(literal -1 binary64) d1 d2)
(fma.f64 d1 #s(literal -1 binary64) d2)
(-.f64 d2 (*.f64 #s(literal 1 binary64) d1))
(-.f64 d2 (neg.f64 (neg.f64 d1)))
(-.f64 d2 d1)
(+.f64 (neg.f64 d1) d2)
(+.f64 d2 (neg.f64 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1))
(*.f64 (+.f64 d4 d2) d1)
(*.f64 d1 (+.f64 d4 d2))
(fma.f64 d4 d1 (*.f64 d2 d1))
(fma.f64 d2 d1 (*.f64 d4 d1))
(fma.f64 d1 d4 (*.f64 d2 d1))
(fma.f64 d1 d2 (*.f64 d4 d1))
(-.f64 (*.f64 d2 d1) (*.f64 (neg.f64 d1) d4))
(-.f64 (*.f64 d2 d1) (neg.f64 (*.f64 d4 d1)))
(+.f64 (*.f64 d4 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 d4 d1))
(-.f64 d4 (neg.f64 d2))
(-.f64 d2 (neg.f64 d4))
(+.f64 d4 d2)
(+.f64 d2 d4)
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (+.f64 d4 d2) d1) d3) d1))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (+.f64 d4 d2) d1))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (-.f64 (+.f64 d4 d2) d1) d1))
#s(approx d1 d1)
#s(approx (- (+ d2 d4) d1) (+.f64 d4 d2))
#s(approx (- (+ d2 d4) d1) (-.f64 (+.f64 d4 d2) d1))
#s(approx (* d4 d1) (*.f64 d4 d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (- (- d2 d3) d1) (-.f64 d2 d3))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (- d2 d1) d2)
#s(approx (- d2 d1) (-.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (+.f64 d4 d2) d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (-.f64 (/.f64 (+.f64 d4 d2) d1) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (- (+ d2 d4) d1) (neg.f64 d1))
#s(approx (- (+ d2 d4) d1) (*.f64 (-.f64 (/.f64 (+.f64 d4 d2) d1) #s(literal 1 binary64)) d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) (/.f64 d3 d1)) (*.f64 d1 d1)))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) (/.f64 d3 d1)) d1))
#s(approx (- d2 d1) (*.f64 (-.f64 (/.f64 d2 d1) #s(literal 1 binary64)) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (neg.f64 (/.f64 (-.f64 (+.f64 (neg.f64 d4) (neg.f64 d2)) (neg.f64 d3)) d1)) #s(literal 1 binary64)) (*.f64 d1 d1)))
#s(approx (- (+ d2 d4) d1) (*.f64 (neg.f64 d1) (+.f64 (neg.f64 (/.f64 (+.f64 d4 d2) d1)) #s(literal 1 binary64))))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d1) (+.f64 (neg.f64 (/.f64 (-.f64 d2 d3) d1)) #s(literal 1 binary64))))
#s(approx (- d2 d1) (*.f64 (neg.f64 d1) (-.f64 #s(literal 1 binary64) (/.f64 d2 d1))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d1) (+.f64 (neg.f64 d2) (neg.f64 (-.f64 d4 d3)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 (+.f64 d3 d1) d1)))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (-.f64 d4 d1) d1))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (-.f64 (+.f64 d4 d2) d1) d1))
#s(approx (- (+ d2 d4) d1) (-.f64 d4 d1))
#s(approx (- (+ d2 d4) d1) (-.f64 (+.f64 d4 d2) d1))
#s(approx (+ d2 d4) d4)
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d1) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d2 d3) d1))
#s(approx (- d2 d3) (neg.f64 d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d1) (+.f64 d3 d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (- (- d2 d3) d1) (neg.f64 (+.f64 d3 d1)))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (- d2 d1) (-.f64 d2 d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 d4 d3) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (* (+ d4 d2) d1) (*.f64 (+.f64 d4 d2) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)) d2)) d2))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d4 d1) d2) d1) d2))
#s(approx (- (+ d2 d4) d1) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d4 d1) d2)) d2))
#s(approx (+ d2 d4) (*.f64 (+.f64 (/.f64 d4 d2) #s(literal 1 binary64)) d2))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) d2))
#s(approx (* (- d2 d3) d1) (*.f64 (-.f64 d1 (/.f64 (*.f64 d3 d1) d2)) d2))
#s(approx (- d2 d3) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d3 d2)) d2))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d1 (*.f64 d1 (/.f64 (+.f64 d3 d1) d2))) d2))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (+.f64 d3 d1) d2)) d2))
#s(approx (- d2 d1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 d1 d2)) d2))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d4 d3) d2) d1) d2))
#s(approx (* (+ d4 d2) d1) (*.f64 (fma.f64 d1 (/.f64 d4 d2) d1) d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d4 d1) (*.f64 (+.f64 d3 d1) d1)) d2)) (neg.f64 d1))))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d4 d1) d1) d2)) (neg.f64 d1))))
#s(approx (- (+ d2 d4) d1) (*.f64 (neg.f64 d2) (-.f64 (neg.f64 (/.f64 (-.f64 d4 d1) d2)) #s(literal 1 binary64))))
#s(approx (+ d2 d4) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (neg.f64 d4) d2) #s(literal 1 binary64))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (neg.f64 d1) d3) (*.f64 d1 d1)) d2)) (neg.f64 d1))))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 d3 d2) (neg.f64 d1))))
#s(approx (- d2 d3) (*.f64 (neg.f64 d2) (-.f64 (/.f64 d3 d2) #s(literal 1 binary64))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d2) (fma.f64 d1 (/.f64 (+.f64 d3 d1) d2) (neg.f64 d1))))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d2) (-.f64 (/.f64 (+.f64 d3 d1) d2) #s(literal 1 binary64))))
#s(approx (- d2 d1) (*.f64 (neg.f64 d2) (-.f64 (/.f64 d1 d2) #s(literal 1 binary64))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d4 d3) d1) d2)) (neg.f64 d1))))
#s(approx (* (+ d4 d2) d1) (*.f64 (neg.f64 d2) (+.f64 (neg.f64 (/.f64 (*.f64 d4 d1) d2)) (neg.f64 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 (+.f64 d3 d1) d1)))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)))
#s(approx (- d2 d3) (-.f64 d2 d3))
#s(approx d3 d3)
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d1) d1))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (-.f64 d2 d1) d1 (*.f64 (neg.f64 d1) d3)))
#s(approx (- (- d2 d3) d1) (-.f64 (-.f64 d2 d3) d1))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 (-.f64 d2 d3) d1 (*.f64 d4 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3) d1) (/.f64 (*.f64 d1 d1) d3)) d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (+.f64 (neg.f64 d1) (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d3))
#s(approx (* (- d2 d3) d1) (*.f64 (fma.f64 d1 (/.f64 d2 d3) (neg.f64 d1)) d3))
#s(approx (- d2 d3) (*.f64 (-.f64 (/.f64 d2 d3) #s(literal 1 binary64)) d3))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d1) d3) (neg.f64 d1)) d3))
#s(approx (- (- d2 d3) d1) (*.f64 (-.f64 (-.f64 (/.f64 d2 d3) #s(literal 1 binary64)) (/.f64 d1 d3)) d3))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3) (neg.f64 d1)) d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d3) (-.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (+.f64 d4 d2) d1) (*.f64 d1 d1)) d3)) (neg.f64 d1))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d1)) d3)) d1)))
#s(approx (* (- d2 d3) d1) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 d2 d1) d3)) d1)))
#s(approx (- d2 d3) (*.f64 (neg.f64 d3) (-.f64 #s(literal 1 binary64) (/.f64 d2 d3))))
#s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d1) d1) d3)) d1)))
#s(approx (- (- d2 d3) d1) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (-.f64 d2 d1) d3)) #s(literal 1 binary64))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d3) (+.f64 (neg.f64 (/.f64 (*.f64 (+.f64 d4 d2) d1) d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (-.f64 d2 d3) d1) d1))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (+.f64 d1 (/.f64 (*.f64 (-.f64 (-.f64 d2 d3) d1) d1) d4)) d4))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (fma.f64 d1 (/.f64 (-.f64 d2 d1) d4) d1) d4))
#s(approx (- (+ d2 d4) d1) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (-.f64 d2 d1) d4)) d4))
#s(approx (+ d2 d4) (*.f64 (+.f64 (/.f64 d2 d4) #s(literal 1 binary64)) d4))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 (/.f64 (*.f64 (-.f64 d2 d3) d1) d4) d1) d4))
#s(approx (* (+ d4 d2) d1) (*.f64 (fma.f64 d1 (/.f64 d2 d4) d1) d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 (-.f64 d2 d3) d1) d1) d4)) (neg.f64 d1))))
#s(approx (* d1 (- (+ d2 d4) d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d1) d1) d4)) (neg.f64 d1))))
#s(approx (- (+ d2 d4) d1) (*.f64 (neg.f64 d4) (-.f64 (neg.f64 (/.f64 (-.f64 d2 d1) d4)) #s(literal 1 binary64))))
#s(approx (+ d2 d4) (*.f64 (neg.f64 d4) (-.f64 (/.f64 (neg.f64 d2) d4) #s(literal 1 binary64))))
#s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 (-.f64 d2 d3) d1) d4)) (neg.f64 d1))))
#s(approx (* (+ d4 d2) d1) (*.f64 (neg.f64 d4) (+.f64 (neg.f64 (/.f64 (*.f64 d2 d1) d4)) (neg.f64 d1))))

eval35.0ms (0.8%)

Memory
-8.0MiB live, 48.6MiB allocated; 34ms collecting garbage
Compiler

Compiled 1 248 to 631 computations (49.4% saved)

prune9.0ms (0.2%)

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

13 alts after pruning (4 fresh and 9 done)

PrunedKeptTotal
New1402142
Fresh022
Picked145
Done156
Total14213155
Accuracy
100.0%
Counts
155 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.2%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
53.6%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
32.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
51.0%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
52.5%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
55.3%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
29.8%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
56.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))))
56.5%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
28.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
56.3%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
57.9%
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
Compiler

Compiled 379 to 306 computations (19.3% saved)

regimes37.0ms (0.9%)

Memory
-2.0MiB live, 90.6MiB allocated; 8ms collecting garbage
Counts
21 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(-.f64 (fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d1))
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Outputs
(fma.f64 (neg.f64 d1) d3 (-.f64 (*.f64 d1 (+.f64 d4 d2)) (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
Calls

5 calls:

9.0ms
d2
6.0ms
d1
6.0ms
d4
6.0ms
d3
5.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Results
AccuracySegmentsBranch
98.8%2(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
98.8%3d1
95.3%2d2
95.0%3d3
97.7%3d4
Compiler

Compiled 15 to 27 computations (-80% saved)

regimes9.0ms (0.2%)

Memory
-26.9MiB live, 18.7MiB allocated; 4ms collecting garbage
Counts
19 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(-.f64 (fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d1))
Outputs
(-.f64 (fma.f64 d4 d1 (*.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
Calls

1 calls:

8.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Results
AccuracySegmentsBranch
98.8%2(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 11 to 11 computations (0% saved)

regimes25.0ms (0.6%)

Memory
4.3MiB live, 53.1MiB allocated; 10ms collecting garbage
Counts
18 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (fma.f64 (neg.f64 d1) d3 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (fma.f64 (-.f64 d4 d3) d1 (*.f64 d2 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (-.f64 (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 d1)))
(-.f64 #s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 (+.f64 d4 d2) d3) d1))
Calls

3 calls:

14.0ms
d4
5.0ms
d1
5.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Results
AccuracySegmentsBranch
95.8%2d4
96.0%3d1
93.8%3(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 13 to 19 computations (-46.2% saved)

regimes16.0ms (0.4%)

Memory
-0.5MiB live, 43.1MiB allocated; 5ms collecting garbage
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
Calls

3 calls:

7.0ms
d1
4.0ms
d2
4.0ms
d4
Results
AccuracySegmentsBranch
81.4%2d1
87.5%2d2
94.3%2d4
Compiler

Compiled 3 to 12 computations (-300% saved)

regimes25.0ms (0.6%)

Memory
21.1MiB live, 62.0MiB allocated; 9ms collecting garbage
Counts
11 → 4
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (*.f64 (+.f64 d4 d2) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (+ (* (- d4 d3) d1) (* d2 d1)) (fma.f64 d4 d1 (*.f64 d2 d1))))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 (-.f64 #s(approx (+ d4 d2) d4) d3) d1))
Calls

5 calls:

9.0ms
d2
4.0ms
d1
4.0ms
d4
4.0ms
d3
3.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Results
AccuracySegmentsBranch
78.1%4d1
80.9%3d2
73.1%3(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
75.9%4d3
84.4%4d4
Compiler

Compiled 15 to 27 computations (-80% saved)

regimes6.0ms (0.1%)

Memory
17.6MiB live, 17.6MiB allocated; 0ms collecting garbage
Counts
7 → 5
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 (-.f64 #s(approx (+ d2 d4) d4) d1)))
Calls

2 calls:

3.0ms
d2
3.0ms
d4
Results
AccuracySegmentsBranch
75.4%2d2
82.8%5d4
Compiler

Compiled 2 to 8 computations (-300% saved)

regimes14.0ms (0.3%)

Memory
-28.1MiB live, 8.8MiB allocated; 14ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d1 #s(approx (- (- d2 d3) d1) (-.f64 d2 d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Calls

1 calls:

14.0ms
d4
Results
AccuracySegmentsBranch
78.0%3d4
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes7.0ms (0.2%)

Memory
23.9MiB live, 23.9MiB allocated; 0ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 (-.f64 d2 d3) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Calls

3 calls:

2.0ms
d2
2.0ms
d4
2.0ms
d1
Results
AccuracySegmentsBranch
71.0%3d1
65.8%3d2
73.4%2d4
Compiler

Compiled 3 to 12 computations (-300% saved)

regimes25.0ms (0.6%)

Memory
-18.4MiB live, 37.5MiB allocated; 24ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (neg.f64 (*.f64 d1 d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Calls

5 calls:

17.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
2.0ms
d2
2.0ms
d4
2.0ms
d1
2.0ms
d3
Results
AccuracySegmentsBranch
58.8%3d2
52.4%4d1
47.2%3(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
49.4%4d3
57.9%3d4
Compiler

Compiled 15 to 27 computations (-80% saved)

regimes2.0ms (0%)

Memory
8.1MiB live, 8.1MiB allocated; 0ms collecting garbage
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(approx (- (* (- d2 d3) d1) (* d1 d1)) (*.f64 #s(approx (- d2 d3) (neg.f64 d3)) d1)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Calls

1 calls:

2.0ms
d2
Results
AccuracySegmentsBranch
58.0%3d2
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes3.0ms (0.1%)

Memory
12.6MiB live, 12.6MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d4 d1))
Calls

2 calls:

1.0ms
d2
1.0ms
d4
Results
AccuracySegmentsBranch
54.5%2d4
54.6%2d2
Compiler

Compiled 2 to 8 computations (-300% saved)

regimes14.0ms (0.3%)

Memory
-16.1MiB live, 25.3MiB allocated; 11ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (*.f64 d2 d1))
Calls

5 calls:

10.0ms
d1
1.0ms
d3
1.0ms
d2
1.0ms
d4
1.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Results
AccuracySegmentsBranch
32.9%1(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
32.9%1d3
32.9%1d1
32.9%1d4
32.9%1d2
Compiler

Compiled 15 to 27 computations (-80% saved)

bsearch0.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 14 to 18 computations (-28.6% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 14 to 18 computations (-28.6% saved)

bsearch18.0ms (0.4%)

Memory
-7.2MiB live, 34.3MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
17.0ms
1.1885978779967992e+63
1.56034083194085e+64
Samples
13.0ms96×0valid
Compiler

Compiled 198 to 210 computations (-6.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult!: 10.0ms (91.4% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch11.0ms (0.3%)

Memory
26.8MiB live, 26.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
1.56034083194085e+64
1.7724805863378034e+66
Samples
5.0ms112×0valid
Compiler

Compiled 235 to 249 computations (-6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-mult!: 2.0ms (73.2% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch50.0ms (1.2%)

Memory
-31.8MiB live, 69.3MiB allocated; 25ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
1.56034083194085e+64
1.7724805863378034e+66
12.0ms
1.0984650475424238e-91
3.1897404896312363e-84
15.0ms
4.650474218700718e-236
2.863497762078258e-232
Samples
21.0ms336×0valid
Compiler

Compiled 861 to 892 computations (-3.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult!: 6.0ms (74.9% of total)
ival-sub!: 1.0ms (12.5% of total)
ival-add!: 1.0ms (12.5% of total)
adjust: 0.0ms (0% of total)

bsearch38.0ms (0.9%)

Memory
25.7MiB live, 72.8MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
1.84298632862179e+94
6.238948439491236e+95
8.0ms
1.5264048013742594e+32
7.975659734636363e+32
12.0ms
1.0181521751021108e-39
6.473426054934595e-33
1.0ms
4.650474218700718e-236
2.863497762078258e-232
Samples
22.0ms352×0valid
Compiler

Compiled 1 076 to 1 106 computations (-2.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult!: 6.0ms (71.6% of total)
ival-sub!: 1.0ms (11.9% of total)
ival-add!: 1.0ms (11.9% of total)
adjust: 0.0ms (0% of total)

bsearch7.0ms (0.2%)

Memory
16.5MiB live, 16.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
1.84298632862179e+94
6.238948439491236e+95
1.0ms
4.650474218700718e-236
2.863497762078258e-232
Samples
3.0ms64×0valid
Compiler

Compiled 530 to 545 computations (-2.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult!: 1.0ms (64.8% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.84298632862179e+94
6.238948439491236e+95
Compiler

Compiled 242 to 249 computations (-2.9% saved)

bsearch33.0ms (0.8%)

Memory
-40.4MiB live, 51.1MiB allocated; 13ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
-4.032288660884877e-269
-2.3595054740782175e-271
17.0ms
-138.554264145073
-0.0017197841399242862
Samples
12.0ms256×0valid
Compiler

Compiled 450 to 482 computations (-7.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult!: 5.0ms (81.6% of total)
ival-sub!: 1.0ms (16.3% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch23.0ms (0.5%)

Memory
43.8MiB live, 43.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
-7.505330645385123e-94
-1.5385072575835225e-95
11.0ms
-131772017790.12386
-474503301.24001193
Samples
12.0ms240×0valid
Compiler

Compiled 528 to 528 computations (0% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult!: 4.0ms (68.9% of total)
ival-sub!: 1.0ms (17.2% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch103.0ms (2.5%)

Memory
-52.1MiB live, 17.9MiB allocated; 38ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
102.0ms
-474503301.24001193
-212911551.93426877
Samples
4.0ms80×0valid
Compiler

Compiled 148 to 158 computations (-6.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult!: 1.0ms (52.1% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

derivations556.0ms (13.4%)

Memory
28.6MiB live, 713.9MiB allocated; 99ms collecting garbage
Stop Event
fuel
Compiler

Compiled 176 to 115 computations (34.7% saved)

preprocess260.0ms (6.2%)

Memory
-9.4MiB live, 298.6MiB allocated; 180ms collecting garbage
Compiler

Compiled 1 049 to 772 computations (26.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...