Diagrams.Trail:splitAtParam from diagrams-lib-1.3.0.3, C

Time bar (total: 4.1s)

start0.0ms (0%)

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

analyze44.0ms (1.1%)

Memory
-16.8MiB live, 26.9MiB allocated; 11ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample1.0s (24.6%)

Memory
38.5MiB live, 1 215.2MiB allocated; 205ms collecting garbage
Samples
675.0ms8 255×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 259.0ms
ival-sub: 161.0ms (62.3% of total)
ival-div: 81.0ms (31.3% of total)
ival-true: 6.0ms (2.3% of total)
exact: 6.0ms (2.3% of total)
ival-assert: 3.0ms (1.2% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

explain95.0ms (2.3%)

Memory
-40.5MiB live, 134.0MiB allocated; 80ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 #s(literal 1 binary64) y)
00-0-y
00-0-(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
00-0-#s(literal 1 binary64)
00-0-(-.f64 x y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
26.0ms512×0valid
Compiler

Compiled 43 to 22 computations (48.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-sub: 10.0ms (70.1% of total)
ival-div: 3.0ms (21% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess203.0ms (5%)

Memory
10.7MiB live, 244.5MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01643
13543
24843
37043
413740
547736
6395635
067
097
1147
2177
3277
4607
52497
620377
753107
084547
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Outputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify237.0ms (5.8%)

Memory
-11.8MiB live, 171.1MiB allocated; 39ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(-.f64 x y)
cost-diff0
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
0916
11416
21716
32716
46016
524916
6203716
7531016
0845416
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(-.f64 x y)
x
y
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
Outputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(-.f64 x y)
x
y
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)

localize15.0ms (0.4%)

Memory
31.8MiB live, 31.8MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 x y)
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy0.0078125
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Samples
11.0ms256×0valid
Compiler

Compiled 18 to 8 computations (55.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sub: 3.0ms (63.7% of total)
ival-div: 2.0ms (42.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
-34.3MiB live, 10.0MiB allocated; 8ms collecting garbage
Counts
3 → 29
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(-.f64 x y)
(-.f64 #s(literal 1 binary64) y)
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x
@-inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
y
@inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
x
@inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y))
0.0ms
x
@0
((/ (- x y) (- 1 y)) (- x y) (- 1 y))
0.0ms
y
@-inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y))

simplify203.0ms (5%)

Memory
21.3MiB live, 272.6MiB allocated; 60ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126478
1315439
2971400
33762396
08408386
Stop Event
iter limit
node limit
Counts
29 → 29
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) (neg.f64 y))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (- x y) (-.f64 x y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 x (-.f64 #s(literal 1 binary64) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) x)
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- x y) (-.f64 x y))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(literal 1 binary64))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (- 1 y) (-.f64 #s(literal 1 binary64) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (+.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) #s(literal 1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (+.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (-.f64 x #s(literal 1 binary64))) y)))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- x y) (*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) (neg.f64 y))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (- 1 y) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (+.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) #s(literal 1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) (+.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (-.f64 x #s(literal 1 binary64))) y)))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- x y) (*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
#s(approx (- 1 y) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) (neg.f64 y)))

rewrite72.0ms (1.8%)

Memory
8.4MiB live, 100.3MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
0913
14113
028613
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 27
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(-.f64 x y)
(-.f64 #s(literal 1 binary64) y)
Outputs
(*.f64 (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) (*.f64 y y))) (+.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (+.f64 (fma.f64 y y y) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) (/.f64 x (-.f64 #s(literal 1 binary64) y))) (*.f64 (/.f64 y (-.f64 #s(literal 1 binary64) y)) (/.f64 y (-.f64 #s(literal 1 binary64) y)))) (+.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) (/.f64 y (-.f64 #s(literal 1 binary64) y))))
(/.f64 (-.f64 (pow.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) #s(literal 3 binary64)) (pow.f64 (/.f64 y (-.f64 #s(literal 1 binary64) y)) #s(literal 3 binary64))) (fma.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) (/.f64 x (-.f64 #s(literal 1 binary64) y)) (fma.f64 (/.f64 y (-.f64 #s(literal 1 binary64) y)) (/.f64 y (-.f64 #s(literal 1 binary64) y)) (*.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) (/.f64 y (-.f64 #s(literal 1 binary64) y))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 x y))) (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) y))))
(/.f64 (-.f64 (*.f64 x (-.f64 #s(literal 1 binary64) y)) (*.f64 (-.f64 #s(literal 1 binary64) y) y)) (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) y)))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (*.f64 (+.f64 y x) (-.f64 #s(literal 1 binary64) y)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (*.f64 (fma.f64 y (+.f64 y x) (*.f64 x x)) (-.f64 #s(literal 1 binary64) y)))
(/.f64 (neg.f64 (-.f64 x y)) (neg.f64 (-.f64 #s(literal 1 binary64) y)))
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(neg.f64 (/.f64 (neg.f64 (-.f64 x y)) (-.f64 #s(literal 1 binary64) y)))
(neg.f64 (/.f64 (-.f64 x y) (neg.f64 (-.f64 #s(literal 1 binary64) y))))
(-.f64 (/.f64 x (-.f64 #s(literal 1 binary64) y)) (/.f64 y (-.f64 #s(literal 1 binary64) y)))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (+.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (+.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 y x)) (/.f64 (*.f64 y y) (+.f64 y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))))
(-.f64 x y)
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y))) (neg.f64 (+.f64 #s(literal 1 binary64) y)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 y y y) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y)) (+.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64))) (+.f64 (fma.f64 y y y) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) y)) (/.f64 (*.f64 y y) (+.f64 #s(literal 1 binary64) y)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 y y y) #s(literal 1 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (+.f64 (fma.f64 y y y) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) y)

eval8.0ms (0.2%)

Memory
-24.4MiB live, 20.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 778 to 169 computations (78.3% saved)

prune4.0ms (0.1%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New42749
Fresh000
Picked101
Done000
Total43750
Accuracy
100.0%
Counts
50 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.2%
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
49.0%
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
48.8%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
52.6%
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
51.7%
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
36.0%
#s(approx (/ (- x y) (- 1 y)) x)
38.9%
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Compiler

Compiled 158 to 120 computations (24.1% saved)

simplify169.0ms (4.2%)

Memory
-11.9MiB live, 175.6MiB allocated; 24ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
#s(approx (- x y) x)
cost-diff0
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
cost-diff0
(-.f64 x y)
cost-diff0
(fma.f64 y x (-.f64 x y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) x)
cost-diff0
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
cost-diff0
(-.f64 y #s(literal 1 binary64))
cost-diff0
(/.f64 y (-.f64 y #s(literal 1 binary64)))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01788
02488
13388
24788
37688
415688
549488
6457188
0841188
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 y (-.f64 y #s(literal 1 binary64)))
y
(-.f64 y #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- x y) (- 1 y)) x)
x
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
(fma.f64 y x (-.f64 x y))
y
x
(-.f64 x y)
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
#s(approx (- x y) x)
x
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
Outputs
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 y (-.f64 y #s(literal 1 binary64)))
y
(-.f64 y #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- x y) (- 1 y)) x)
x
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
(fma.f64 y x (-.f64 x y))
y
x
(-.f64 x y)
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
#s(approx (- x y) x)
x
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y

localize55.0ms (1.4%)

Memory
3.6MiB live, 103.1MiB allocated; 17ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy0.0078125
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
accuracy32.84139425571132
#s(approx (- x y) x)
accuracy0.0
(fma.f64 y x (-.f64 x y))
accuracy0.0
(-.f64 x y)
accuracy32.744085800783914
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
accuracy40.97296494303728
#s(approx (/ (- x y) (- 1 y)) x)
accuracy39.07376916033782
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
accuracy0.0
(-.f64 y #s(literal 1 binary64))
accuracy0.00390625
(/.f64 y (-.f64 y #s(literal 1 binary64)))
accuracy30.329702786414018
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
Samples
47.0ms256×0valid
Compiler

Compiled 70 to 12 computations (82.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 9.0ms (51.1% of total)
ival-sub: 4.0ms (22.7% of total)
ival-div: 3.0ms (17% of total)
ival-add: 1.0ms (5.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
17.5MiB live, 17.5MiB allocated; 0ms collecting garbage
Counts
11 → 55
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 y (-.f64 y #s(literal 1 binary64)))
(-.f64 y #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
(fma.f64 y x (-.f64 x y))
(-.f64 x y)
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
#s(approx (- x y) x)
(-.f64 #s(literal 1 binary64) y)
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (- y 1) #s(hole binary64 -1))
#s(approx (- y 1) #s(hole binary64 (- y 1)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (- y 1) #s(hole binary64 y))
#s(approx (- y 1) #s(hole binary64 (* y (- 1 (/ 1 y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (- y 1) #s(hole binary64 (* -1 (* y (- (/ 1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (- y 1) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
y
@-inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (- y 1) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
x
@-inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (- y 1) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
x
@inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (- y 1) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (/ (- x y) (- 1 y)) (- x y) (- 1 y))
1.0ms
x
@0
((/ (- x y) (- 1 y)) (/ y (- y 1)) (- y 1) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (/ (- x y) (- 1 y)) (- x y) (- 1 y))

simplify177.0ms (4.3%)

Memory
-18.0MiB live, 218.0MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0195826
1462780
21324738
34761734
08163711
Stop Event
iter limit
node limit
Counts
55 → 55
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (- y 1) #s(hole binary64 -1))
#s(approx (- y 1) #s(hole binary64 (- y 1)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (- y 1) #s(hole binary64 y))
#s(approx (- y 1) #s(hole binary64 (* y (- 1 (/ 1 y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (- y 1) #s(hole binary64 (* -1 (* y (- (/ 1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) (neg.f64 y))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) (neg.f64 y))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (- x y) (-.f64 x y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 x (-.f64 #s(literal 1 binary64) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (-.f64 y (/.f64 y x)) x x))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) x)
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) #s(literal 1 binary64))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (-.f64 y (/.f64 y x)) x x))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y) #s(literal 1 binary64)) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y) #s(literal 1 binary64)) y) #s(literal 1 binary64)) y))
#s(approx (- y 1) #s(hole binary64 -1))
#s(approx (- y 1) #s(literal -1 binary64))
#s(approx (- y 1) #s(hole binary64 (- y 1)))
#s(approx (- y 1) (-.f64 y #s(literal 1 binary64)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) x)
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- x y) (-.f64 x y))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(literal 1 binary64))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (- 1 y) (-.f64 #s(literal 1 binary64) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 #s(literal 1 binary64) x) y)) #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64)) x) y)) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(literal 1 binary64))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) (+.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) (+.f64 (/.f64 (+.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) y) #s(literal 1 binary64)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (/ y (- y 1)) (+.f64 (/.f64 (+.f64 (/.f64 (+.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) y) #s(literal 1 binary64)) y) #s(literal 1 binary64)))
#s(approx (- y 1) #s(hole binary64 y))
#s(approx (- y 1) y)
#s(approx (- y 1) #s(hole binary64 (* y (- 1 (/ 1 y)))))
#s(approx (- y 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) y))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (neg.f64 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (+.f64 (/.f64 x y) x) y (neg.f64 y)))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- x y) (*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) (neg.f64 y))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (- 1 y) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 #s(literal 1 binary64) x) y)) #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64)) x) y)) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (/ y (- y 1)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) y) #s(literal 1 binary64)) y)))
#s(approx (- y 1) #s(hole binary64 (* -1 (* y (- (/ 1 y) 1)))))
#s(approx (- y 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) (neg.f64 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (neg.f64 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (+.f64 (/.f64 x y) x) y (neg.f64 y)))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- x y) (*.f64 (-.f64 (/.f64 x y) #s(literal 1 binary64)) y))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
#s(approx (- 1 y) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y)) (neg.f64 y)))

rewrite41.0ms (1%)

Memory
14.4MiB live, 59.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01779
02479
18579
060579
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
11 → 59
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 y (-.f64 y #s(literal 1 binary64)))
(-.f64 y #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
(fma.f64 y x (-.f64 x y))
(-.f64 x y)
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
#s(approx (- x y) x)
(-.f64 #s(literal 1 binary64) y)
Outputs
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(*.f64 (/.f64 y (fma.f64 y y #s(literal -1 binary64))) (-.f64 y #s(literal -1 binary64)))
(*.f64 (/.f64 y (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 y y (-.f64 y #s(literal -1 binary64))))
(/.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 (-.f64 y #s(literal 1 binary64)))))
(/.f64 (neg.f64 y) (neg.f64 (-.f64 y #s(literal 1 binary64))))
(/.f64 y (-.f64 y #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 y) (-.f64 y #s(literal 1 binary64))))
(neg.f64 (/.f64 y (neg.f64 (-.f64 y #s(literal 1 binary64)))))
(/.f64 (neg.f64 (fma.f64 y y #s(literal -1 binary64))) (neg.f64 (-.f64 y #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 y y (-.f64 y #s(literal -1 binary64)))))
(/.f64 (fma.f64 y y #s(literal -1 binary64)) (-.f64 y #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 y y (-.f64 y #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y y (-.f64 y #s(literal -1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 y y (-.f64 y #s(literal -1 binary64)))))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 y #s(literal -1 binary64))))
(-.f64 y #s(literal 1 binary64))
(+.f64 y #s(literal -1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
(/.f64 (-.f64 (*.f64 (fma.f64 y x x) (fma.f64 y x x)) (*.f64 y y)) (fma.f64 (-.f64 y #s(literal -1 binary64)) x y))
(/.f64 (-.f64 (pow.f64 (-.f64 x y) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (-.f64 x y) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 (fma.f64 y x x) (fma.f64 y x x) (fma.f64 y y (*.f64 (fma.f64 y x x) y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (-.f64 x y) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) (-.f64 x y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 x y) (-.f64 (-.f64 x y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (-.f64 x y) #s(literal 2 binary64))) (-.f64 (*.f64 y x) (-.f64 x y)))
(/.f64 (+.f64 (pow.f64 (-.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (-.f64 x y) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (-.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (-.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (-.f64 x y) (-.f64 (-.f64 x y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 y x (-.f64 x y))
(fma.f64 x y (-.f64 x y))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (-.f64 x y))) (/.f64 (pow.f64 (-.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (-.f64 x y))))
(-.f64 (fma.f64 y x x) y)
(-.f64 (-.f64 x y) (*.f64 (neg.f64 y) x))
(-.f64 (-.f64 x y) (*.f64 (neg.f64 x) y))
(-.f64 x (-.f64 y (*.f64 y x)))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (-.f64 x y) (-.f64 (-.f64 x y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (-.f64 x y) #s(literal 3 binary64)) (fma.f64 (-.f64 x y) (-.f64 (-.f64 x y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) (-.f64 x y))
(+.f64 (-.f64 x y) (*.f64 y x))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (+.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (+.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 y x)) (/.f64 (*.f64 y y) (+.f64 y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))))
(-.f64 x y)
(*.f64 (/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) (*.f64 y y))) (-.f64 y #s(literal -1 binary64)))
(*.f64 (/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (+.f64 (fma.f64 y y y) #s(literal 1 binary64)))
(/.f64 (neg.f64 (neg.f64 #s(approx (- x y) x))) (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) y))))
(/.f64 (neg.f64 #s(approx (- x y) x)) (neg.f64 (-.f64 #s(literal 1 binary64) y)))
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
(neg.f64 (/.f64 (neg.f64 #s(approx (- x y) x)) (-.f64 #s(literal 1 binary64) y)))
(neg.f64 (/.f64 #s(approx (- x y) x) (neg.f64 (-.f64 #s(literal 1 binary64) y))))
#s(approx (- x y) x)
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y))) (neg.f64 (-.f64 y #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 y y y) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y)) (-.f64 y #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64))) (+.f64 (fma.f64 y y y) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 y #s(literal -1 binary64))) (/.f64 (*.f64 y y) (-.f64 y #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 y y y) #s(literal 1 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (+.f64 (fma.f64 y y y) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) y)

eval20.0ms (0.5%)

Memory
-34.8MiB live, 27.4MiB allocated; 10ms collecting garbage
Compiler

Compiled 1 957 to 355 computations (81.9% saved)

prune5.0ms (0.1%)

Memory
12.7MiB live, 12.6MiB allocated; 0ms collecting garbage
Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New94498
Fresh022
Picked055
Done000
Total9411105
Accuracy
100.0%
Counts
105 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.2%
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
49.0%
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
15.6%
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
48.8%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
35.6%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
52.6%
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
51.7%
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
15.7%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
16.2%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
36.0%
#s(approx (/ (- x y) (- 1 y)) x)
38.9%
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Compiler

Compiled 232 to 165 computations (28.9% saved)

simplify136.0ms (3.3%)

Memory
11.0MiB live, 150.6MiB allocated; 6ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (- 1 y) (neg.f64 y))
cost-diff0
#s(approx (- x y) x)
cost-diff0
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
cost-diff0
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
cost-diff0
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
cost-diff1
(-.f64 (neg.f64 y) #s(literal 1 binary64))
cost-diff0
#s(approx (- x y) x)
cost-diff0
(fma.f64 y x #s(approx (- x y) x))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (/ y (- y 1)) (neg.f64 y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (- 1 y) (neg.f64 y))
cost-diff0
(-.f64 x y)
cost-diff0
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
022154
030154
141154
249154
370154
4124154
5382150
63066150
77118150
08006150
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
(-.f64 x y)
x
y
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
(neg.f64 y)
y
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
(fma.f64 y x #s(approx (- x y) x))
y
x
#s(approx (- x y) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
(-.f64 (neg.f64 y) #s(literal 1 binary64))
(neg.f64 y)
y
#s(literal 1 binary64)
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- x y) x)
x
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
Outputs
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
(-.f64 x y)
x
y
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
(neg.f64 y)
y
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
(fma.f64 y x #s(approx (- x y) x))
y
x
#s(approx (- x y) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(-.f64 (neg.f64 y) #s(literal 1 binary64))
(-.f64 #s(literal -1 binary64) y)
(neg.f64 y)
y
#s(literal 1 binary64)
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- x y) x)
x
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y

localize82.0ms (2%)

Memory
-13.5MiB live, 83.3MiB allocated; 13ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 y)
accuracy0.0078125
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
accuracy30.512677200984804
#s(approx (- 1 y) (neg.f64 y))
accuracy32.84139425571132
#s(approx (- x y) x)
accuracy0.0
(neg.f64 y)
accuracy0.00390625
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
accuracy30.329702786414018
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
accuracy32.983202883202274
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
accuracy0.0
(fma.f64 y x #s(approx (- x y) x))
accuracy32.744085800783914
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
accuracy32.84139425571132
#s(approx (- x y) x)
accuracy0.0
(neg.f64 y)
accuracy30.329702786414018
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
accuracy32.53456432185454
#s(approx (/ y (- y 1)) (neg.f64 y))
accuracy0.0
(-.f64 x y)
accuracy0.0
(neg.f64 y)
accuracy0.0078125
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
accuracy30.512677200984804
#s(approx (- 1 y) (neg.f64 y))
Samples
71.0ms256×0valid
Compiler

Compiled 96 to 15 computations (84.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-sub: 35.0ms (73.4% of total)
ival-div: 7.0ms (14.7% of total)
ival-mult: 3.0ms (6.3% of total)
ival-add: 1.0ms (2.1% of total)
ival-neg: 1.0ms (2.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
9.6MiB live, 9.6MiB allocated; 0ms collecting garbage
Counts
14 → 59
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
(-.f64 x y)
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
(fma.f64 y x #s(approx (- x y) x))
#s(approx (- x y) x)
(-.f64 (neg.f64 y) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y) (neg y) (/ (- x y) (- 1 y)) (/ y (- y 1)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (/ (- x y) (- 1 y)))
1.0ms
y
@inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y) (neg y) (/ (- x y) (- 1 y)) (/ y (- y 1)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (/ (- x y) (- 1 y)))
1.0ms
y
@0
((/ (- x y) (- 1 y)) (- x y) (- 1 y) (neg y) (/ (- x y) (- 1 y)) (/ y (- y 1)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (/ (- x y) (- 1 y)))
1.0ms
x
@-inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y) (neg y) (/ (- x y) (- 1 y)) (/ y (- y 1)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (/ (- x y) (- 1 y)))
1.0ms
x
@inf
((/ (- x y) (- 1 y)) (- x y) (- 1 y) (neg y) (/ (- x y) (- 1 y)) (/ y (- y 1)) (/ (- x y) (- 1 y)) (+ (* y x) (- x y)) (- x y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (/ (- x y) (- 1 y)))

simplify224.0ms (5.5%)

Memory
6.0MiB live, 194.6MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0206838
1498789
21444740
36090740
09050711
Stop Event
iter limit
node limit
Counts
59 → 59
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- x y) #s(hole binary64 (* -1 y)))
#s(approx (- x y) (neg.f64 y))
#s(approx (- x y) #s(hole binary64 (- x y)))
#s(approx (- x y) (-.f64 x y))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 y)))
#s(approx (+ (* y x) (- x y)) (neg.f64 y))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (- (* x (+ 1 y)) y)))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 x (-.f64 #s(literal 1 binary64) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (- x y) #s(hole binary64 x))
#s(approx (- x y) x)
#s(approx (- x y) #s(hole binary64 (* x (+ 1 (* -1 (/ y x))))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* x (+ 1 (+ y (* -1 (/ y x)))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (-.f64 y (/.f64 y x)) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (/ (- x y) (- 1 y)) (*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 y x)) (-.f64 #s(literal 1 binary64) y)) x))
#s(approx (- x y) #s(hole binary64 (* -1 (* x (- (/ y x) 1)))))
#s(approx (- x y) (fma.f64 (/.f64 (neg.f64 y) x) x x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x x))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (/ y x)) 1)))))
#s(approx (+ (* y x) (- x y)) (fma.f64 (-.f64 y (/.f64 y x)) x x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 (-.f64 (fma.f64 y x (-.f64 x y)) #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x))
#s(approx (- x y) #s(hole binary64 (+ x (* -1 y))))
#s(approx (- x y) (-.f64 x y))
#s(approx (- 1 y) #s(hole binary64 1))
#s(approx (- 1 y) #s(literal 1 binary64))
#s(approx (- 1 y) #s(hole binary64 (+ 1 (* -1 y))))
#s(approx (- 1 y) (-.f64 #s(literal 1 binary64) y))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (neg y) (neg.f64 y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (fma.f64 (-.f64 #s(literal -1 binary64) y) y #s(literal -1 binary64)) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (fma.f64 (fma.f64 (-.f64 #s(literal -1 binary64) y) y #s(literal -1 binary64)) y #s(literal -1 binary64)) y))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 x))
#s(approx (+ (* y x) (- x y)) x)
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (+ x (* y (- x 1)))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- (neg y) 1) #s(literal -1 binary64))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (- (neg y) 1) (-.f64 #s(literal -1 binary64) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- (neg y) 1) y) (neg.f64 y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (* (- (neg y) 1) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (+.f64 (-.f64 #s(literal 1 binary64) x) y) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (/.f64 (-.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) x) #s(literal -1 binary64)) y) #s(literal -1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (pow.f64 y #s(literal 3 binary64))) (/.f64 (-.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) x) #s(literal -1 binary64)) y)) #s(literal -1 binary64)))
#s(approx (- x y) #s(hole binary64 (* y (- (/ x y) 1))))
#s(approx (- x y) (-.f64 x y))
#s(approx (- 1 y) #s(hole binary64 (* -1 y)))
#s(approx (- 1 y) (neg.f64 y))
#s(approx (- 1 y) #s(hole binary64 (* y (- (/ 1 y) 1))))
#s(approx (- 1 y) (-.f64 #s(literal 1 binary64) y))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(literal 1 binary64))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) (/.f64 (-.f64 y #s(literal -1 binary64)) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) (/.f64 (+.f64 (/.f64 (-.f64 y #s(literal -1 binary64)) y) y) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (/ y (- y 1)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) y) (*.f64 y y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- x 1))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (neg.f64 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* y (- (+ x (/ x y)) 1))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- (neg y) 1) (neg.f64 y))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (- (neg y) 1) (-.f64 #s(literal -1 binary64) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- (neg y) 1) y) (*.f64 (neg.f64 y) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (* (- (neg y) 1) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (+.f64 (-.f64 #s(literal 1 binary64) x) y) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (/.f64 (-.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) x) #s(literal -1 binary64)) y) #s(literal -1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 (-.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) y) x) #s(literal -1 binary64)) y)) #s(literal 1 binary64)) y)))
#s(approx (- x y) #s(hole binary64 (* -1 (* y (+ 1 (* -1 (/ x y)))))))
#s(approx (- x y) (-.f64 x y))
#s(approx (- 1 y) #s(hole binary64 (* -1 (* y (- 1 (/ 1 y))))))
#s(approx (- 1 y) (-.f64 #s(literal 1 binary64) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (/ y (- y 1)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) y) (*.f64 y y))))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (* -1 x))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (neg.f64 y)))
#s(approx (+ (* y x) (- x y)) #s(hole binary64 (* -1 (* y (+ 1 (+ (* -1 x) (* -1 (/ x y))))))))
#s(approx (+ (* y x) (- x y)) (fma.f64 y x (-.f64 x y)))

rewrite45.0ms (1.1%)

Memory
-0.3MiB live, 44.1MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022128
030128
1104128
0710128
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
14 → 63
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
(-.f64 x y)
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
(fma.f64 y x #s(approx (- x y) x))
#s(approx (- x y) x)
(-.f64 (neg.f64 y) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
Outputs
(/.f64 (-.f64 (*.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (/.f64 x #s(approx (- 1 y) (neg.f64 y)))) (*.f64 (/.f64 y #s(approx (- 1 y) (neg.f64 y))) (/.f64 y #s(approx (- 1 y) (neg.f64 y))))) (+.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (/.f64 y #s(approx (- 1 y) (neg.f64 y)))))
(/.f64 (-.f64 (pow.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) #s(literal 3 binary64)) (pow.f64 (/.f64 y #s(approx (- 1 y) (neg.f64 y))) #s(literal 3 binary64))) (fma.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (fma.f64 (/.f64 y #s(approx (- 1 y) (neg.f64 y))) (/.f64 y #s(approx (- 1 y) (neg.f64 y))) (*.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (/.f64 y #s(approx (- 1 y) (neg.f64 y)))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 x y))) (neg.f64 (neg.f64 #s(approx (- 1 y) (neg.f64 y)))))
(/.f64 (-.f64 (*.f64 x #s(approx (- 1 y) (neg.f64 y))) (*.f64 #s(approx (- 1 y) (neg.f64 y)) y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) #s(approx (- 1 y) (neg.f64 y))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (*.f64 (+.f64 y x) #s(approx (- 1 y) (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (*.f64 (fma.f64 y (+.f64 y x) (*.f64 x x)) #s(approx (- 1 y) (neg.f64 y))))
(/.f64 (neg.f64 (-.f64 x y)) (neg.f64 #s(approx (- 1 y) (neg.f64 y))))
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
(neg.f64 (/.f64 (neg.f64 (-.f64 x y)) #s(approx (- 1 y) (neg.f64 y))))
(neg.f64 (/.f64 (-.f64 x y) (neg.f64 #s(approx (- 1 y) (neg.f64 y)))))
(-.f64 (/.f64 x #s(approx (- 1 y) (neg.f64 y))) (/.f64 y #s(approx (- 1 y) (neg.f64 y))))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (+.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (+.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (+.f64 y x)) (/.f64 (*.f64 y y) (+.f64 y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (+.f64 y x) (*.f64 x x))))
(-.f64 x y)
#s(approx (- 1 y) (neg.f64 y))
(*.f64 (neg.f64 y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (neg.f64 y))
(neg.f64 y)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
(/.f64 (-.f64 (pow.f64 #s(approx (- x y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 #s(approx (- x y) x) (*.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (- x y) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) #s(approx (- x y) x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (- x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (- x y) x) (-.f64 #s(approx (- x y) x) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (- x y) x) #s(literal 2 binary64))) (-.f64 (*.f64 y x) #s(approx (- x y) x)))
(/.f64 (+.f64 (pow.f64 #s(approx (- x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (- x y) x) #s(approx (- x y) x) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) #s(approx (- x y) x)))))
(/.f64 (+.f64 (pow.f64 #s(approx (- x y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (- x y) x) (-.f64 #s(approx (- x y) x) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 y x #s(approx (- x y) x))
(fma.f64 x y #s(approx (- x y) x))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (- x y) x))) (/.f64 (pow.f64 #s(approx (- x y) x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (- x y) x))))
(-.f64 #s(approx (- x y) x) (*.f64 (neg.f64 y) x))
(-.f64 #s(approx (- x y) x) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 #s(approx (- x y) x) (-.f64 #s(approx (- x y) x) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (- x y) x) #s(literal 3 binary64)) (fma.f64 #s(approx (- x y) x) (-.f64 #s(approx (- x y) x) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) #s(approx (- x y) x))
(+.f64 #s(approx (- x y) x) (*.f64 y x))
#s(approx (- x y) x)
(/.f64 (neg.f64 (-.f64 (pow.f64 (neg.f64 y) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 y y (-.f64 #s(literal 1 binary64) y))))
(/.f64 (neg.f64 (fma.f64 y y #s(literal -1 binary64))) (neg.f64 (-.f64 #s(literal 1 binary64) y)))
(/.f64 (fma.f64 y y #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 (pow.f64 (neg.f64 y) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 y y (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (neg.f64 y) #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) (neg.f64 y) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 y y) (-.f64 #s(literal 1 binary64) y)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) y)))
(-.f64 (/.f64 (pow.f64 (neg.f64 y) #s(literal 3 binary64)) (fma.f64 y y (-.f64 #s(literal 1 binary64) y))) (/.f64 #s(literal 1 binary64) (fma.f64 y y (-.f64 #s(literal 1 binary64) y))))
(-.f64 (neg.f64 y) #s(literal 1 binary64))
(+.f64 (neg.f64 y) #s(literal -1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)
(*.f64 y (-.f64 (neg.f64 y) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 y y #s(literal -1 binary64)) y) (-.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 (-.f64 (pow.f64 (neg.f64 y) #s(literal 3 binary64)) #s(literal 1 binary64)) y) (fma.f64 y y (-.f64 #s(literal 1 binary64) y)))
(/.f64 (*.f64 y (fma.f64 y y #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 y (-.f64 (pow.f64 (neg.f64 y) #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 y y (-.f64 #s(literal 1 binary64) y)))
(/.f64 (neg.f64 (neg.f64 #s(approx (- x y) x))) (neg.f64 (neg.f64 #s(approx (- 1 y) (neg.f64 y)))))
(/.f64 (neg.f64 #s(approx (- x y) x)) (neg.f64 #s(approx (- 1 y) (neg.f64 y))))
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
(neg.f64 (/.f64 (neg.f64 #s(approx (- x y) x)) #s(approx (- 1 y) (neg.f64 y))))
(neg.f64 (/.f64 #s(approx (- x y) x) (neg.f64 #s(approx (- 1 y) (neg.f64 y)))))

eval22.0ms (0.5%)

Memory
-15.1MiB live, 28.2MiB allocated; 6ms collecting garbage
Compiler

Compiled 2 446 to 372 computations (84.8% saved)

prune5.0ms (0.1%)

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

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New1142116
Fresh011
Picked145
Done055
Total11512127
Accuracy
100.0%
Counts
127 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.2%
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
49.0%
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
15.6%
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
48.8%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
35.6%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
52.6%
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
51.7%
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
15.7%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
2.6%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
16.2%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
36.0%
#s(approx (/ (- x y) (- 1 y)) x)
38.9%
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Compiler

Compiled 165 to 117 computations (29.1% saved)

simplify154.0ms (3.8%)

Memory
0.6MiB live, 196.6MiB allocated; 20ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
cost-diff0
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
cost-diff0
(-.f64 #s(literal -1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
cost-diff0
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
cost-diff0
#s(approx (- (neg y) 1) (neg.f64 y))
cost-diff0
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
cost-diff0
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
cost-diff0
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024130
031130
141130
246130
366130
4145126
5688126
66120126
08020126
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
#s(approx (- (neg y) 1) (neg.f64 y))
(neg.f64 y)
y
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(-.f64 #s(literal -1 binary64) y)
#s(literal -1 binary64)
y
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
#s(literal 1 binary64)
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
x
y
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
#s(approx (- (neg y) 1) (neg.f64 y))
(neg.f64 y)
y
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(-.f64 #s(literal -1 binary64) y)
#s(literal -1 binary64)
y
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
#s(literal 1 binary64)
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
x
y

localize57.0ms (1.4%)

Memory
12.0MiB live, 114.8MiB allocated; 12ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 x #s(literal 1 binary64))
accuracy0.0
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
accuracy0.01171875
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
accuracy30.924400680684588
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
accuracy0.0
(-.f64 #s(literal -1 binary64) y)
accuracy0.00390625
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
accuracy30.329702786414018
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
accuracy32.983202883202274
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
accuracy0.00390625
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
accuracy30.329702786414018
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
accuracy30.625767968554115
#s(approx (- (neg y) 1) (neg.f64 y))
accuracy32.983202883202274
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
Samples
46.0ms256×0valid
Compiler

Compiled 74 to 19 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-sub: 19.0ms (57.5% of total)
ival-div: 9.0ms (27.2% of total)
ival-mult: 3.0ms (9.1% of total)
ival-neg: 1.0ms (3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.3%)

Memory
-25.4MiB live, 20.9MiB allocated; 6ms collecting garbage
Counts
12 → 62
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
#s(approx (- (neg y) 1) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(-.f64 #s(literal -1 binary64) y)
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ -1 y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (- (/ x y) (/ 1 y))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (/ x y))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* x (- (+ (/ 1 x) (/ 1 (* x y))) (/ 1 y)))))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ x y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (* x (- (/ 1 y) (/ 1 (* x y))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ 1 (/ 1 y)) x)) (/ 1 y))))))
#s(approx (/ (- x 1) y) #s(hole binary64 (* -1 (* x (- (/ 1 (* x y)) (/ 1 y))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- -1 y) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (- -1 y) #s(hole binary64 -1))
#s(approx (- -1 y) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- 1 x) y)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- (+ 1 y) x) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ (- x 1) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (- -1 y) #s(hole binary64 (* -1 y)))
#s(approx (- -1 y) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 1))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (- (+ 1 (/ 1 y)) (/ x y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
y
@0
((/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- -1 y) y) (- -1 y) (/ (- x y) (- 1 y)) (- 1 (/ (- x 1) y)) (/ (- x 1) y) (- x 1))
2.0ms
y
@inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- -1 y) y) (- -1 y) (/ (- x y) (- 1 y)) (- 1 (/ (- x 1) y)) (/ (- x 1) y) (- x 1))
1.0ms
x
@0
((/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- -1 y) y) (- -1 y) (/ (- x y) (- 1 y)) (- 1 (/ (- x 1) y)) (/ (- x 1) y) (- x 1))
1.0ms
x
@inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- -1 y) y) (- -1 y) (/ (- x y) (- 1 y)) (- 1 (/ (- x 1) y)) (/ (- x 1) y) (- x 1))
1.0ms
y
@-inf
((/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- (neg y) 1) y) (- (neg y) 1) (/ (- x y) (- 1 y)) (/ y (- y 1)) (* (- -1 y) y) (- -1 y) (/ (- x y) (- 1 y)) (- 1 (/ (- x 1) y)) (/ (- x 1) y) (- x 1))

simplify162.0ms (4%)

Memory
18.4MiB live, 252.4MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0197907
1440842
21237787
35492785
09282776
Stop Event
iter limit
node limit
Counts
62 → 62
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ -1 y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (- (/ x y) (/ 1 y))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (/ x y))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* x (- (+ (/ 1 x) (/ 1 (* x y))) (/ 1 y)))))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ x y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (* x (- (/ 1 y) (/ 1 (* x y))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ 1 (/ 1 y)) x)) (/ 1 y))))))
#s(approx (/ (- x 1) y) #s(hole binary64 (* -1 (* x (- (/ 1 (* x y)) (/ 1 y))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- -1 y) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (- -1 y) #s(hole binary64 -1))
#s(approx (- -1 y) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- 1 x) y)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- (+ 1 y) x) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ (- x 1) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (- -1 y) #s(hole binary64 (* -1 y)))
#s(approx (- -1 y) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 1))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (- (+ 1 (/ 1 y)) (/ x y))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (/ y (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (+.f64 #s(literal -1 binary64) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ (* -1 (/ y (- 1 y))) (/ x (- 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ -1 y)))
#s(approx (/ (- x 1) y) (/.f64 #s(literal -1 binary64) y))
#s(approx (/ (- x 1) y) #s(hole binary64 (- (/ x y) (/ 1 y))))
#s(approx (/ (- x 1) y) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(literal -1 binary64))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (- x 1) (-.f64 x #s(literal 1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (/ x (- 1 y))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 x (-.f64 #s(literal 1 binary64) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* x (+ (* -1 (/ y (* x (- 1 y)))) (/ 1 (- 1 y))))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (/ x y))))
#s(approx (- 1 (/ (- x 1) y)) (/.f64 (neg.f64 x) y))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* x (- (+ (/ 1 x) (/ 1 (* x y))) (/ 1 y)))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ x y)))
#s(approx (/ (- x 1) y) (/.f64 x y))
#s(approx (/ (- x 1) y) #s(hole binary64 (* x (- (/ 1 y) (/ 1 (* x y))))))
#s(approx (/ (- x 1) y) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 (/.f64 #s(literal 1 binary64) x) y)) x))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) x)
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (- x 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)) x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (* -1 (* x (- (/ y (* x (- 1 y))) (/ 1 (- 1 y)))))))
#s(approx (/ (- x y) (- 1 y)) (/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ 1 (/ 1 y)) x)) (/ 1 y))))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (* -1 (* x (- (/ 1 (* x y)) (/ 1 y))))))
#s(approx (/ (- x 1) y) (*.f64 (neg.f64 x) (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) x) y) (/.f64 #s(literal 1 binary64) y))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (- x 1) (*.f64 (+.f64 (/.f64 #s(literal -1 binary64) x) #s(literal 1 binary64)) x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 x))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* -1 (* y (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 x #s(literal 1 binary64)) y x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ x (* y (- (* y (- (* -1 (* y (+ 1 (* -1 x)))) (+ 1 (* -1 x)))) (+ 1 (* -1 x)))))))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 (-.f64 (fma.f64 (-.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x) #s(literal 1 binary64)) y x))
#s(approx (/ y (- y 1)) #s(hole binary64 (* -1 y)))
#s(approx (/ y (- y 1)) (neg.f64 y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* -1 y) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (fma.f64 (-.f64 #s(literal -1 binary64) y) y #s(literal -1 binary64)) y))
#s(approx (/ y (- y 1)) #s(hole binary64 (* y (- (* y (- (* y (- (* -1 y) 1)) 1)) 1))))
#s(approx (/ y (- y 1)) (*.f64 (fma.f64 (fma.f64 (-.f64 #s(literal -1 binary64) y) y #s(literal -1 binary64)) y #s(literal -1 binary64)) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- -1 y) y) (neg.f64 y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (* (- -1 y) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (- (neg y) 1) #s(hole binary64 -1))
#s(approx (- -1 y) #s(literal -1 binary64))
#s(approx (- (neg y) 1) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (- -1 y) (-.f64 #s(literal -1 binary64) y))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 y)))
#s(approx (* (- -1 y) y) (neg.f64 y))
#s(approx (* (- -1 y) y) #s(hole binary64 (* y (- (* -1 y) 1))))
#s(approx (* (- -1 y) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (- -1 y) #s(hole binary64 -1))
#s(approx (- -1 y) #s(literal -1 binary64))
#s(approx (- -1 y) #s(hole binary64 (- (* -1 y) 1)))
#s(approx (- -1 y) (-.f64 #s(literal -1 binary64) y))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- 1 x) y)))
#s(approx (- 1 (/ (- x 1) y)) (/.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (/ (- (+ 1 y) x) y)))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x 1) y) #s(hole binary64 (/ (- x 1) y)))
#s(approx (/ (- x 1) y) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 1))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (/ 1 y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 2))) (+ (/ 1 y) (/ 1 (pow y 2))))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (/.f64 (-.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)) x) y) #s(literal -1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (- (+ 1 (+ (* -1 (/ x y)) (+ (* -1 (/ x (pow y 3))) (+ (/ 1 y) (/ 1 (pow y 3)))))) (* -1 (/ (+ 1 (* -1 x)) (pow y 2))))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (pow.f64 y #s(literal 3 binary64))) (/.f64 (-.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)) x) y)) #s(literal -1 binary64)))
#s(approx (/ y (- y 1)) #s(hole binary64 1))
#s(approx (/ y (- y 1)) #s(literal 1 binary64))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (/ 1 y))))
#s(approx (/ y (- y 1)) (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (/ 1 (pow y 2))))))
#s(approx (/ y (- y 1)) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) y) #s(literal -1 binary64)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (+ (/ 1 y) (+ (/ 1 (pow y 2)) (/ 1 (pow y 3)))))))
#s(approx (/ y (- y 1)) (/.f64 (+.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) y) #s(literal -1 binary64)) y) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- -1 y) y) (*.f64 (neg.f64 y) y))
#s(approx (* (- (neg y) 1) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (* (- -1 y) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 y)))
#s(approx (- -1 y) (neg.f64 y))
#s(approx (- (neg y) 1) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (- -1 y) (-.f64 #s(literal -1 binary64) y))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (- -1 y) y) (*.f64 (neg.f64 y) y))
#s(approx (* (- -1 y) y) #s(hole binary64 (* -1 (* (pow y 2) (+ 1 (/ 1 y))))))
#s(approx (* (- -1 y) y) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
#s(approx (- -1 y) #s(hole binary64 (* -1 y)))
#s(approx (- -1 y) (neg.f64 y))
#s(approx (- -1 y) #s(hole binary64 (* -1 (* y (+ 1 (/ 1 y))))))
#s(approx (- -1 y) (-.f64 #s(literal -1 binary64) y))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 1))
#s(approx (- 1 (/ (- x 1) y)) #s(literal 1 binary64))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (- (+ 1 (/ 1 y)) (/ x y))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- 1 x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 (/.f64 (-.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)) x) y) #s(literal -1 binary64)))
#s(approx (/ (- x y) (- 1 y)) #s(hole binary64 (+ 1 (* -1 (/ (- (+ x (* -1 (/ (- (+ 1 (* -1 (/ (- x 1) y))) x) y))) 1) y)))))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (-.f64 x (/.f64 (-.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)) x) y)) #s(literal 1 binary64)) y)))
#s(approx (/ y (- y 1)) #s(hole binary64 (+ 1 (* -1 (/ (- (* -1 (/ (+ 1 (/ 1 y)) y)) 1) y)))))
#s(approx (/ y (- y 1)) (/.f64 (+.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) y) #s(literal -1 binary64)) y) y))
#s(approx (- 1 (/ (- x 1) y)) #s(hole binary64 (+ 1 (* -1 (/ (- x 1) y)))))
#s(approx (- 1 (/ (- x 1) y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))

rewrite41.0ms (1%)

Memory
-2.2MiB live, 53.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024122
031122
1117122
0884122
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
12 → 53
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
#s(approx (- (neg y) 1) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(-.f64 #s(literal -1 binary64) y)
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y))
(*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)
(*.f64 y #s(approx (- (neg y) 1) (neg.f64 y)))
#s(approx (- (neg y) 1) (neg.f64 y))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y))
(*.f64 (-.f64 #s(literal -1 binary64) y) y)
(*.f64 y (-.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y)) y) (-.f64 y #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal -1 binary64) (pow.f64 y #s(literal 3 binary64))) y) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 y (-.f64 #s(literal 1 binary64) (*.f64 y y))) (-.f64 y #s(literal 1 binary64)))
(/.f64 (*.f64 y (-.f64 #s(literal -1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y))) (neg.f64 (-.f64 y #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal -1 binary64) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y)) (-.f64 y #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal -1 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 y #s(literal 1 binary64))) (/.f64 (*.f64 y y) (-.f64 y #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal -1 binary64) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))))
(-.f64 #s(literal -1 binary64) y)
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 2 binary64)))) (neg.f64 (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 2 binary64))) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 3 binary64))) (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64))) (/.f64 (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 2 binary64)) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 3 binary64)) (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) (+.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64)) #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
(+.f64 (-.f64 #s(literal 1 binary64) (/.f64 x y)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(*.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (-.f64 x #s(literal 1 binary64)))) (neg.f64 y))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))) y)
(/.f64 (-.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))) (+.f64 (/.f64 x y) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 x y) #s(literal 3 binary64)) (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 x y) (/.f64 x y) (fma.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)) (*.f64 (/.f64 x y) (pow.f64 y #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 x #s(literal 1 binary64)))) (neg.f64 (neg.f64 y)))
(/.f64 (-.f64 (*.f64 y x) y) (*.f64 y y))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 (-.f64 x #s(literal -1 binary64)) y))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64))) y))
(/.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) (neg.f64 y))
(/.f64 (-.f64 x #s(literal 1 binary64)) y)
(neg.f64 (/.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) y))
(neg.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) (neg.f64 y)))
(-.f64 (/.f64 x y) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64)))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (-.f64 x #s(literal -1 binary64)))))
(-.f64 x #s(literal 1 binary64))
(+.f64 x #s(literal -1 binary64))

eval12.0ms (0.3%)

Memory
-23.7MiB live, 23.1MiB allocated; 4ms collecting garbage
Compiler

Compiled 2 035 to 372 computations (81.7% saved)

prune6.0ms (0.2%)

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

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New91192
Fresh000
Picked123
Done189
Total9311104
Accuracy
100.0%
Counts
104 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.0%
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
15.6%
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
48.8%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
35.6%
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
52.6%
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
52.2%
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
15.7%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
2.6%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
16.2%
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
36.0%
#s(approx (/ (- x y) (- 1 y)) x)
38.9%
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Compiler

Compiled 366 to 163 computations (55.5% saved)

regimes16.0ms (0.4%)

Memory
-13.8MiB live, 33.3MiB allocated; 2ms collecting garbage
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Outputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Calls

3 calls:

5.0ms
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
4.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
100.0%1(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
100.0%1x
100.0%1y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes13.0ms (0.3%)

Memory
31.3MiB live, 31.3MiB allocated; 0ms collecting garbage
Counts
14 → 3
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))
Calls

3 calls:

4.0ms
y
4.0ms
x
4.0ms
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Results
AccuracySegmentsBranch
98.5%4(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
77.9%3x
98.1%3y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes5.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB allocated; 0ms collecting garbage
Counts
13 → 3
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
#s(approx (/ (- x y) (- 1 y)) (/.f64 y (-.f64 y #s(literal 1 binary64))))
(/.f64 #s(approx (- x y) x) (-.f64 #s(literal 1 binary64) y))
(/.f64 (-.f64 x y) #s(approx (- 1 y) (neg.f64 y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))
Calls

1 calls:

4.0ms
y
Results
AccuracySegmentsBranch
98.1%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes8.0ms (0.2%)

Memory
-32.4MiB live, 15.0MiB allocated; 3ms collecting garbage
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 (neg.f64 y) #s(literal 1 binary64)) y)))
(/.f64 #s(approx (- x y) x) #s(approx (- 1 y) (neg.f64 y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y)))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Calls

2 calls:

5.0ms
y
3.0ms
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Results
AccuracySegmentsBranch
86.3%4(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
84.8%3y
Compiler

Compiled 8 to 8 computations (0% saved)

regimes7.0ms (0.2%)

Memory
20.0MiB live, 20.0MiB allocated; 0ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 #s(approx (- (neg y) 1) (neg.f64 y)) y)))
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (*.f64 (-.f64 #s(literal -1 binary64) y) y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x)))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Calls

3 calls:

2.0ms
y
2.0ms
x
2.0ms
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
Results
AccuracySegmentsBranch
51.2%3x
71.1%3(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
71.2%3y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes2.0ms (0%)

Memory
5.2MiB live, 5.2MiB allocated; 0ms collecting garbage
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(approx (/ y (- y 1)) (neg.f64 y)))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
#s(approx (/ (- x y) (- 1 y)) x)
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Calls

1 calls:

2.0ms
y
Results
AccuracySegmentsBranch
71.2%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes37.0ms (0.9%)

Memory
-21.1MiB live, 23.2MiB allocated; 4ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Outputs
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Calls

3 calls:

34.0ms
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
38.9%1x
38.9%1(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
38.9%1y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

bsearch62.0ms (1.5%)

Memory
12.0MiB live, 55.5MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
49.0ms
0.14850961804090737
170.10243099766834
11.0ms
-59122.059511220046
-0.012735712220029774
Samples
11.0ms272×0valid
Compiler

Compiled 521 to 394 computations (24.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sub: 3.0ms (60.2% of total)
ival-div: 2.0ms (40.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
4.4MiB live, 4.4MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.14850961804090737
170.10243099766834
1.0ms
-59122.059511220046
-0.012735712220029774
Compiler

Compiled 537 to 402 computations (25.1% saved)

bsearch7.0ms (0.2%)

Memory
21.9MiB live, 21.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.14850961804090737
170.10243099766834
5.0ms
-59122.059511220046
-0.012735712220029774
Samples
2.0ms64×0valid
Compiler

Compiled 401 to 334 computations (16.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-sub: 1.0ms (84.4% of total)
ival-div: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch49.0ms (1.2%)

Memory
1.7MiB live, 39.0MiB allocated; 18ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.14850961804090737
170.10243099766834
47.0ms
-59122.059511220046
-0.012735712220029774
Samples
5.0ms112×0valid
Compiler

Compiled 435 to 334 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-sub: 1.0ms (48.2% of total)
ival-div: 1.0ms (48.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch65.0ms (1.6%)

Memory
-27.4MiB live, 17.6MiB allocated; 14ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.14850961804090737
170.10243099766834
64.0ms
-7.732935523323285e+19
-9284413962572225000.0
Samples
4.0ms96×0valid
Compiler

Compiled 262 to 249 computations (5% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-sub: 1.0ms (54.6% of total)
ival-div: 1.0ms (54.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify37.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
044203
167203
288203
3119203
4181203
5494203
63821203
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 y #s(literal -7566047373982433/9007199254740992 binary64)) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))))
(if (<=.f64 y #s(literal -7566047373982433/9007199254740992 binary64)) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
(if (<=.f64 y #s(literal -5584463537939415/18014398509481984 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x))) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
(if (<=.f64 y #s(literal -9500000000000000000 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) x) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))
Outputs
(/.f64 (-.f64 x y) (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 y #s(literal -7566047373982433/9007199254740992 binary64)) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 x #s(literal 1 binary64)) y)))))
(if (<=.f64 y #s(literal -7566047373982433/9007199254740992 binary64)) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y)))))
(if (or (<=.f64 y #s(literal -7566047373982433/9007199254740992 binary64)) (not (<=.f64 y #s(literal 1 binary64)))) #s(approx (/ (- x y) (- 1 y)) (-.f64 #s(literal 1 binary64) (/.f64 #s(approx (- x 1) x) y))) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x (-.f64 x y))) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
(if (<=.f64 y #s(literal -5584463537939415/18014398509481984 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) (fma.f64 y x #s(approx (- x y) x))) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
(if (<=.f64 y #s(literal -9500000000000000000 binary64)) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64)) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (/ (- x y) (- 1 y)) x) #s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))))
#s(approx (/ (- x y) (- 1 y)) #s(literal 1 binary64))

derivations380.0ms (9.3%)

Memory
-52.1MiB live, 197.5MiB allocated; 65ms collecting garbage
Stop Event
fuel
Compiler

Compiled 227 to 46 computations (79.7% saved)

preprocess55.0ms (1.4%)

Memory
6.9MiB live, 53.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 468 to 104 computations (77.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...