A quarter-circle in the lower-left quadrant

Time bar (total: 2.1s)

start0.0ms (0%)

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

analyze83.0ms (4%)

Memory
41.3MiB live, 122.2MiB allocated; 15ms 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
0%0%99.9%0.1%0%0%0%3
12.5%12.5%87.4%0.1%0%0%0%4
31.3%31.2%68.7%0.1%0%0%0%5
31.3%31.2%68.7%0.1%0%0%0%6
37.5%37.5%62.4%0.1%0%0%0%7
51.6%51.5%48.4%0.1%0%0%0%8
67.2%67.1%32.8%0.1%0%0%0%9
74.6%74.5%25.4%0.1%0%0%0%10
83.2%83.1%16.8%0.1%0%0%0%11
87%86.9%13%0.1%0%0%0%12
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample935.0ms (45.5%)

Memory
24.8MiB live, 861.9MiB allocated; 784ms collecting garbage
Samples
410.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 213.0ms
ival-pow2: 137.0ms (64.2% of total)
ival-sub: 31.0ms (14.5% of total)
ival-add: 28.0ms (13.1% of total)
ival-fmax: 7.0ms (3.3% of total)
exact: 4.0ms (1.9% of total)
ival-assert: 3.0ms (1.4% of total)
adjust: 2.0ms (0.9% of total)
Bogosity

explain119.0ms (5.8%)

Memory
-11.1MiB live, 179.2MiB allocated; 21ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64))
00-0-(pow.f64 x #s(literal 2 binary64))
00-0-(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
00-0-y
00-0-#s(literal 2 binary64)
00-0-(+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
00-0-(pow.f64 y #s(literal 2 binary64))
00-0-(fmax.f64 x y)
00-0-#s(literal 1/2 binary64)
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
40.0ms512×0valid
Compiler

Compiled 101 to 34 computations (66.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-pow2: 10.0ms (47.7% of total)
ival-fmax: 5.0ms (23.9% of total)
ival-sub: 2.0ms (9.5% of total)
ival-add: 2.0ms (9.5% of total)
exact: 1.0ms (4.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess290.0ms (14.1%)

Memory
34.2MiB live, 170.9MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02888
14484
28884
316384
422284
536084
688384
7595384
01013
01613
12313
24513
310113
420113
533613
683313
7560313
0896413
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
Outputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
(fmax.f64 (-.f64 (*.f64 x x) (-.f64 #s(literal 1/2 binary64) (*.f64 y y))) (fmax.f64 x y))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 13 to 10 computations (23.1% saved)

series14.0ms (0.7%)

Memory
-50.2MiB live, 9.3MiB allocated; 15ms collecting garbage
Counts
10 → 18
Calls
Call 1
Inputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
(-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64))
(+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(pow.f64 y #s(literal 2 binary64))
y
#s(literal 2 binary64)
(pow.f64 x #s(literal 2 binary64))
x
#s(literal 1/2 binary64)
(fmax.f64 x y)
Outputs
#s(approx (fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) #s(hole binary64 (fmax (- (+ (pow x 2) (pow y 2)) 1/2) (fmax x y))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow y 2) 1/2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (+ (pow x 2) (pow y 2)) 1/2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow y 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (+ (pow x 2) (pow y 2))))
#s(approx (pow x 2) #s(hole binary64 (pow x 2)))
#s(approx x #s(hole binary64 x))
#s(approx (fmax x y) #s(hole binary64 (fmax x y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow x 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow x 2) (- (+ 1 (/ (pow y 2) (pow x 2))) (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow x 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow x 2) (+ 1 (/ (pow y 2) (pow x 2))))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow x 2) 1/2)))
#s(approx (pow y 2) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow y 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow y 2) (- (+ 1 (/ (pow x 2) (pow y 2))) (* 1/2 (/ 1 (pow y 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow y 2) (+ 1 (/ (pow x 2) (pow y 2))))))
Calls

6 calls:

TimeVariablePointExpression
9.0ms
y
@-inf
((fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (- (+ (pow y 2) (pow x 2)) 1/2) (+ (pow y 2) (pow x 2)) (pow y 2) y 2 (pow x 2) x 1/2 (fmax x y))
1.0ms
x
@inf
((fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (- (+ (pow y 2) (pow x 2)) 1/2) (+ (pow y 2) (pow x 2)) (pow y 2) y 2 (pow x 2) x 1/2 (fmax x y))
1.0ms
x
@-inf
((fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (- (+ (pow y 2) (pow x 2)) 1/2) (+ (pow y 2) (pow x 2)) (pow y 2) y 2 (pow x 2) x 1/2 (fmax x y))
1.0ms
y
@inf
((fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (- (+ (pow y 2) (pow x 2)) 1/2) (+ (pow y 2) (pow x 2)) (pow y 2) y 2 (pow x 2) x 1/2 (fmax x y))
1.0ms
x
@0
((fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (- (+ (pow y 2) (pow x 2)) 1/2) (+ (pow y 2) (pow x 2)) (pow y 2) y 2 (pow x 2) x 1/2 (fmax x y))

rewrite85.0ms (4.2%)

Memory
45.2MiB live, 91.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054312
061308
1240300
01950292
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
28 → 94
Calls
Call 1
Inputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
(-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64))
(+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
(pow.f64 y #s(literal 2 binary64))
y
#s(literal 2 binary64)
(pow.f64 x #s(literal 2 binary64))
x
#s(literal 1/2 binary64)
(fmax.f64 x y)
#s(approx (fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) #s(hole binary64 (fmax (- (+ (pow x 2) (pow y 2)) 1/2) (fmax x y))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow y 2) 1/2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (+ (pow x 2) (pow y 2)) 1/2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow y 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (+ (pow x 2) (pow y 2))))
#s(approx (pow x 2) #s(hole binary64 (pow x 2)))
#s(approx x #s(hole binary64 x))
#s(approx (fmax x y) #s(hole binary64 (fmax x y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow x 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow x 2) (- (+ 1 (/ (pow y 2) (pow x 2))) (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow x 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow x 2) (+ 1 (/ (pow y 2) (pow x 2))))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow x 2) 1/2)))
#s(approx (pow y 2) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow y 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow y 2) (- (+ 1 (/ (pow x 2) (pow y 2))) (* 1/2 (/ 1 (pow y 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow y 2) (+ 1 (/ (pow x 2) (pow y 2))))))
Outputs
(fmax.f64 (+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y)) (fmax.f64 x y))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (-.f64 (*.f64 y y) #s(literal 1/2 binary64)) (-.f64 (*.f64 y y) #s(literal 1/2 binary64)))) (-.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (-.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (-.f64 (*.f64 y y) (-.f64 (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (-.f64 (*.f64 y y) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 (-.f64 (*.f64 y y) #s(literal 1/2 binary64)) (-.f64 (*.f64 y y) #s(literal 1/2 binary64))) (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (+.f64 (pow.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (-.f64 (*.f64 x x) #s(literal 1/2 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 x x) #s(literal 1/2 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64)))) (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64)))) (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64))))
(-.f64 (ratio-square-sum.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) (ratio-square-sum.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 x x) (*.f64 y y))))
(-.f64 (/.f64 (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64)))) (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal -1/2 binary64)))) (pow.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)))))
(-.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64))
(+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y))
(+.f64 (-.f64 (*.f64 y y) #s(literal 1/2 binary64)) (*.f64 x x))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) #s(literal -1/2 binary64))
(+.f64 (*.f64 x x) (-.f64 (*.f64 y y) #s(literal 1/2 binary64)))
(+.f64 (*.f64 y y) (-.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64)))) (neg.f64 (*.f64 (+.f64 y x) (-.f64 y x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 4 binary64)))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 y #s(literal 4 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64))) (*.f64 (+.f64 y x) (-.f64 y x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 4 binary64))) (*.f64 (+.f64 x y) (-.f64 x y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 y #s(literal 4 binary64))))
(/.f64 (+.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 x #s(literal 4 binary64))))
(-.f64 (ratio-square-sum.f64 (*.f64 y y) (*.f64 (neg.f64 x) x)) (/.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (+.f64 y x) (-.f64 y x))))
(-.f64 (ratio-square-sum.f64 (*.f64 x x) (*.f64 (neg.f64 y) y)) (/.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 y) y))
(-.f64 (*.f64 y y) (*.f64 (neg.f64 x) x))
(+.f64 (/.f64 (pow.f64 y #s(literal 6 binary64)) (+.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 y #s(literal 4 binary64)))) (/.f64 (pow.f64 x #s(literal 6 binary64)) (+.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 y #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (+.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 y #s(literal 6 binary64)) (+.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y))
(*.f64 (*.f64 #s(literal 1 binary64) y) y)
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 y (*.f64 y #s(literal 1 binary64)))
(*.f64 y y)
(pow.f64 (exp.f64 (log.f64 y)) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 y y) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 2 binary64))
(exp.f64 (+.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 y) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
y
#s(literal 2 binary64)
(*.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x))
(*.f64 (*.f64 #s(literal 1 binary64) x) x)
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x (*.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 x x) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 2 binary64))
(exp.f64 (+.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 x) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))
x
#s(literal 1/2 binary64)
(fmax.f64 x y)
#s(approx (fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (fmax.f64 (+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y)) (fmax.f64 x y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (-.f64 (*.f64 y y) #s(literal 1/2 binary64)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))
#s(approx (+ (pow y 2) (pow x 2)) (+.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (pow x 2) (*.f64 x x))
#s(approx x x)
#s(approx (fmax x y) (fmax.f64 x y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 (-.f64 (-.f64 (ratio-of-squares.f64 y x) #s(literal -1 binary64)) (*.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1/2 binary64))) (*.f64 x x)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 (*.f64 (-.f64 (ratio-of-squares.f64 y x) #s(literal -1 binary64)) x) x))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (-.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (pow y 2) (*.f64 y y))
#s(approx y y)
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 (-.f64 (-.f64 (ratio-of-squares.f64 x y) #s(literal -1 binary64)) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64))) (*.f64 y y)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 (*.f64 (-.f64 (ratio-of-squares.f64 x y) #s(literal -1 binary64)) y) y))

eval102.0ms (5%)

Memory
5.1MiB live, 144.5MiB allocated; 20ms collecting garbage
Samples
45.0ms1 038×0valid
21.0ms498×0invalid
Compiler

Compiled 1 927 to 416 computations (78.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 18.0ms (54.1% of total)
ival-div: 9.0ms (27% of total)
ival-add: 5.0ms (15% of total)
ival-true: 1.0ms (3% of total)
ival-assert: 1.0ms (3% of total)
adjust: 0.0ms (0% of total)

prune7.0ms (0.3%)

Memory
-36.9MiB live, 8.5MiB allocated; 7ms collecting garbage
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New95499
Fresh000
Picked101
Done000
Total964100
Accuracy
100.0%
Counts
100 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.1%
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
70.2%
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))
56.0%
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
62.4%
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
Compiler

Compiled 68 to 48 computations (29.4% saved)

series6.0ms (0.3%)

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

6 calls:

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

rewrite82.0ms (4%)

Memory
3.7MiB live, 94.7MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063424
074420
1281412
02485404
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
34 → 114
Calls
Call 1
Inputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x))
(*.f64 x x)
x
(fmax.f64 x y)
y
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y))
(*.f64 y y)
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x))
#s(literal 1/2 binary64)
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))
#s(approx (fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) #s(hole binary64 (fmax (- (+ (pow x 2) (pow y 2)) 1/2) (fmax x y))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow y 2) 1/2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (+ (pow x 2) (pow y 2)) 1/2)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx x #s(hole binary64 x))
#s(approx (fmax x y) #s(hole binary64 (fmax x y)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow y 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (+ (pow x 2) (pow y 2))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow x 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow x 2) (- (+ 1 (/ (pow y 2) (pow x 2))) (* 1/2 (/ 1 (pow x 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (pow x 2)))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow x 2) (+ 1 (/ (pow y 2) (pow x 2))))))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (- (pow x 2) 1/2)))
#s(approx y #s(hole binary64 y))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (pow y 2)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) #s(hole binary64 (* (pow y 2) (- (+ 1 (/ (pow x 2) (pow y 2))) (* 1/2 (/ 1 (pow y 2)))))))
#s(approx (+ (pow y 2) (pow x 2)) #s(hole binary64 (* (pow y 2) (+ 1 (/ (pow x 2) (pow y 2))))))
Outputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 x)) (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 x)) (*.f64 #s(literal 1 binary64) (fabs.f64 x)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x))
(*.f64 (*.f64 #s(literal 1 binary64) x) x)
(*.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 x) #s(literal 1 binary64)) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1 binary64)))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x (*.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 x x) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(fabs.f64 (*.f64 x x))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 x) #s(literal 2 binary64))))
(exp.f64 (+.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 0 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))
x
(fmax.f64 x y)
y
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y))
(*.f64 (*.f64 (neg.f64 y) #s(literal 1 binary64)) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 y) #s(literal 1 binary64)) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (*.f64 #s(literal 1 binary64) (fabs.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y))
(*.f64 (*.f64 #s(literal 1 binary64) y) y)
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 y (*.f64 y #s(literal 1 binary64)))
(*.f64 y y)
(pow.f64 (exp.f64 (log.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 y y) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (+.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 y) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64)))
(/.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64))))
(-.f64 (ratio-square-sum.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (ratio-square-sum.f64 #s(literal 1/2 binary64) #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 3 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 2 binary64)))))
(-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64))
(+.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal -1/2 binary64))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x))
#s(literal 1/2 binary64)
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64)))
(/.f64 (-.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64))))
(-.f64 (ratio-square-sum.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (ratio-square-sum.f64 #s(literal 1/2 binary64) #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 3 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))) (pow.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 2 binary64)))))
(-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64))
(+.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal -1/2 binary64))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))
#s(approx (fmax (- (+ (pow y 2) (pow x 2)) 1/2) (fmax x y)) (fmax.f64 (+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y)) (fmax.f64 x y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (-.f64 (*.f64 y y) #s(literal 1/2 binary64)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (+.f64 (-.f64 (*.f64 x x) #s(literal 1/2 binary64)) (*.f64 y y)))
#s(approx (* x x) (*.f64 x x))
#s(approx x x)
#s(approx (fmax x y) (fmax.f64 x y))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))
#s(approx (+ (pow y 2) (pow x 2)) (+.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 (-.f64 (-.f64 (ratio-of-squares.f64 y x) #s(literal -1 binary64)) (*.f64 (pow.f64 x #s(literal -2 binary64)) #s(literal 1/2 binary64))) (*.f64 x x)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 (*.f64 (-.f64 (ratio-of-squares.f64 y x) #s(literal -1 binary64)) x) x))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (-.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx y y)
#s(approx (* y y) (*.f64 y y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 (-.f64 (-.f64 (ratio-of-squares.f64 x y) #s(literal -1 binary64)) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64))) (*.f64 y y)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 (*.f64 (-.f64 (ratio-of-squares.f64 x y) #s(literal -1 binary64)) y) y))

eval112.0ms (5.5%)

Memory
25.1MiB live, 165.6MiB allocated; 20ms collecting garbage
Samples
55.0ms1 260×0valid
13.0ms276×0invalid
Compiler

Compiled 4 575 to 625 computations (86.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-mult: 16.0ms (51.7% of total)
ival-div: 9.0ms (29.1% of total)
ival-add: 5.0ms (16.2% of total)
ival-true: 1.0ms (3.2% of total)
ival-assert: 1.0ms (3.2% of total)
adjust: 0.0ms (0% of total)

prune12.0ms (0.6%)

Memory
-24.9MiB live, 20.6MiB allocated; 8ms collecting garbage
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2150215
Fresh000
Picked044
Done000
Total2154219
Accuracy
100.0%
Counts
219 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.1%
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
70.2%
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))
56.0%
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
62.4%
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
Compiler

Compiled 149 to 76 computations (49% saved)

regimes7.0ms (0.3%)

Memory
20.2MiB live, 20.2MiB allocated; 0ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
Outputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
Calls

3 calls:

2.0ms
x
2.0ms
y
2.0ms
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
Results
AccuracySegmentsBranch
100.0%1(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
100.0%1x
100.0%1y
Compiler

Compiled 15 to 14 computations (6.7% saved)

regimes6.0ms (0.3%)

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

3 calls:

2.0ms
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
70.2%1(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
92.7%3x
92.6%3y
Compiler

Compiled 15 to 14 computations (6.7% saved)

regimes10.0ms (0.5%)

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

2 calls:

8.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
92.6%3y
84.5%3x
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes2.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
Outputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))
Calls

1 calls:

1.0ms
y
Results
AccuracySegmentsBranch
84.8%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes3.0ms (0.2%)

Memory
8.7MiB live, 8.7MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
Outputs
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
Calls

3 calls:

1.0ms
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
1.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
62.4%1(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
62.4%1x
62.4%1y
Compiler

Compiled 15 to 14 computations (6.7% saved)

bsearch34.0ms (1.6%)

Memory
-0.0MiB live, 44.3MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
0.9884092832343053
13.061969538268011
15.0ms
-78.83801740925328
-0.0005274867734602239
Samples
21.0ms240×0valid
Compiler

Compiled 526 to 404 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-pow2: 11.0ms (68.8% of total)
ival-fmax: 2.0ms (12.5% of total)
ival-sub: 1.0ms (6.3% of total)
ival-add: 1.0ms (6.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)

bsearch33.0ms (1.6%)

Memory
-0.9MiB live, 43.9MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.3652033241339363e+82
3.257475961081539e+83
13.0ms
-1.5404870724922042e+99
-2.1100824272941008e+96
Samples
15.0ms240×0valid
Compiler

Compiled 526 to 404 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-pow2: 4.0ms (43.1% of total)
ival-fmax: 2.0ms (21.5% of total)
ival-sub: 1.0ms (10.8% of total)
ival-add: 1.0ms (10.8% 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.1%)

Memory
3.1MiB live, 3.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.3652033241339363e+82
3.257475961081539e+83
1.0ms
-1.5404870724922042e+99
-2.1100824272941008e+96
Compiler

Compiled 526 to 404 computations (23.2% saved)

simplify46.0ms (2.2%)

Memory
8.0MiB live, 52.3MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040159
158159
284159
3142159
4254159
5629159
63694159
Stop Event
node limit
Calls
Call 1
Inputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
(if (<=.f64 x #s(literal -35/2 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (if (<=.f64 x #s(literal 7/2 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))))
(if (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (if (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))))
(if (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (if (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))
Outputs
(fmax.f64 (-.f64 (+.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/2 binary64)) (fmax.f64 x y))
(if (<=.f64 x #s(literal -35/2 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (if (<=.f64 x #s(literal 7/2 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y))))
(if (or (<=.f64 x #s(literal -35/2 binary64)) (not (<=.f64 x #s(literal 7/2 binary64)))) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y)))
(if (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (if (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))))
(if (or (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (not (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)))) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (fmax.f64 (-.f64 #s(approx (+ (pow y 2) (pow x 2)) (*.f64 x x)) #s(literal 1/2 binary64)) (fmax.f64 x y)))
(if (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (if (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y))))
(if (or (<=.f64 y #s(literal -11500000000000000276981272229422809411276365960301270638740107957998022648630601816663666798362624 binary64)) (not (<=.f64 y #s(literal 21500000000000000729743126133629623003727956579192396148502156031275438040395284480 binary64)))) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 y y)) (fmax.f64 x y)) (fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y)))
(fmax.f64 #s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (*.f64 x x)) (fmax.f64 x y))

derivations18.0ms (0.9%)

Memory
24.3MiB live, 24.3MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 159 to 43 computations (73% saved)

preprocess47.0ms (2.3%)

Memory
1.5MiB live, 58.9MiB allocated; 29ms collecting garbage
Compiler

Compiled 344 to 106 computations (69.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...