A quarter-circle in the lower-left quadrant

Time bar (total: 1.5s)

start0.0ms (0%)

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

analyze90.0ms (5.9%)

Memory
17.5MiB live, 161.5MiB allocated; 32ms 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)

sample806.0ms (52.4%)

Memory
32.2MiB live, 1 199.9MiB allocated; 229ms collecting garbage
Samples
535.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 274.0ms
ival-pow2: 176.0ms (64.1% of total)
ival-sub: 41.0ms (14.9% of total)
ival-add: 39.0ms (14.2% of total)
ival-fmax: 9.0ms (3.3% of total)
exact: 5.0ms (1.8% of total)
ival-assert: 3.0ms (1.1% of total)
adjust: 2.0ms (0.7% of total)
Bogosity

explain129.0ms (8.4%)

Memory
-3.4MiB live, 201.3MiB allocated; 23ms 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
42.0ms512×0valid
Compiler

Compiled 101 to 34 computations (66.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-pow2: 11.0ms (48.7% of total)
ival-fmax: 6.0ms (26.5% of total)
ival-sub: 3.0ms (13.3% of total)
ival-add: 2.0ms (8.8% of total)
exact: 1.0ms (4.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess282.0ms (18.3%)

Memory
17.1MiB live, 161.9MiB allocated; 16ms 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
0896411
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 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

Memory
0.1MiB 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)

series8.0ms (0.5%)

Memory
-37.7MiB live, 7.7MiB allocated; 4ms 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
3.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))
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
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))

rewrite82.0ms (5.3%)

Memory
40.3MiB live, 85.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054312
061308
1240300
01950263
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
28 → 134
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 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y))
(/.f64 (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))) (-.f64 (*.f64 x x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))) (-.f64 (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 x x) #s(literal 3/2 binary64)) (pow.f64 (*.f64 x x) #s(literal 3/2 binary64)) (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)) #s(literal 3 binary64))) (fma.f64 (fabs.f64 (*.f64 x x)) (fabs.f64 (*.f64 x x)) (-.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64))) (*.f64 (*.f64 x x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)) #s(literal 3 binary64))) (fma.f64 (fabs.f64 (*.f64 y y)) (fabs.f64 (*.f64 y y)) (-.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64))) (*.f64 (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64))))))
(/.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal -1/4 binary64))) (neg.f64 (fma.f64 #s(literal 1 binary64) (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) #s(literal 1 binary64) #s(literal 1/4 binary64)))))
(/.f64 (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal -1/4 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) #s(literal 1 binary64) #s(literal 1/4 binary64))))
(fma.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) y) y (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) x) x (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (neg.f64 x) (neg.f64 x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (neg.f64 y) (neg.f64 y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (fabs.f64 x) (fabs.f64 x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (fabs.f64 y) (fabs.f64 y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 x x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1 binary64) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 y y) #s(literal 1 binary64) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 x (*.f64 x #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 x x (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(fma.f64 y (*.f64 y #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 y y (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(-.f64 (/.f64 (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 2 binary64)) (fma.f64 #s(literal 1 binary64) (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1 binary64) (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal 1/2 binary64)))))
(-.f64 (/.f64 (pow.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) #s(literal 1 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) (fma.f64 (*.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) #s(literal 1 binary64) #s(literal 1/4 binary64)))))
(-.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64))
(+.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)) (*.f64 y y))
(+.f64 (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 x x))
(+.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal -1/2 binary64))
(+.f64 (*.f64 x x) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
(+.f64 (*.f64 y y) (fma.f64 #s(literal 1 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (pow.f64 (*.f64 x x) #s(literal 2 binary64)))) (neg.f64 (*.f64 (+.f64 y x) (-.f64 y x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y y) #s(literal 2 binary64)))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 y y) y) y (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (pow.f64 (*.f64 x x) #s(literal 2 binary64))) (*.f64 (+.f64 y x) (-.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y y) #s(literal 2 binary64))) (*.f64 (+.f64 x y) (-.f64 x y)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 x x) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 y y) y) y (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (*.f64 x x) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x))))
(fma.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)) (*.f64 x x))
(fma.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)) (*.f64 y y))
(fma.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y) (*.f64 x x))
(fma.f64 (*.f64 #s(literal 1 binary64) y) y (*.f64 x x))
(fma.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) x) (*.f64 y y))
(fma.f64 (*.f64 #s(literal 1 binary64) x) x (*.f64 y y))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 y y))
(fma.f64 (neg.f64 y) (neg.f64 y) (*.f64 x x))
(fma.f64 (fabs.f64 x) (fabs.f64 x) (*.f64 y y))
(fma.f64 (fabs.f64 y) (fabs.f64 y) (*.f64 x x))
(fma.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)) (*.f64 x x))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 y y))
(fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y))
(fma.f64 #s(literal 1 binary64) (*.f64 y y) (*.f64 x x))
(fma.f64 (*.f64 x x) #s(literal 1 binary64) (*.f64 y y))
(fma.f64 (*.f64 y y) #s(literal 1 binary64) (*.f64 x x))
(fma.f64 x (*.f64 x #s(literal 1 binary64)) (*.f64 y y))
(fma.f64 x x (*.f64 y y))
(fma.f64 y (*.f64 y #s(literal 1 binary64)) (*.f64 x x))
(fma.f64 y y (*.f64 x x))
(-.f64 (/.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (+.f64 y x) (-.f64 y x))) (/.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (+.f64 y x) (-.f64 y x))))
(-.f64 (/.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (/.f64 (pow.f64 (*.f64 y y) #s(literal 2 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 (*.f64 y y) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y y) y) y (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))) (/.f64 (pow.f64 (*.f64 x x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y y) y) y (-.f64 (pow.f64 (*.f64 x x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))))
(+.f64 (/.f64 (pow.f64 (*.f64 x x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))) (/.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (pow.f64 (*.f64 y y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y y) x) x)))))
(+.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 (fma.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 (fma.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 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)) (fmax.f64 x y)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal -1/2 binary64)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (-.f64 (fma.f64 #s(literal 1 binary64) (*.f64 x x) (*.f64 y y)) #s(literal 1/2 binary64)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 y y))
#s(approx (+ (pow y 2) (pow x 2)) (fma.f64 #s(literal 1 binary64) (*.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 (fma.f64 (/.f64 y x) (/.f64 y x) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 x x) #s(literal -1 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 (fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (*.f64 x x) #s(literal 2 binary64))) (*.f64 (*.f64 x x) #s(literal 2 binary64))) (*.f64 x x)))
#s(approx (- (+ (pow y 2) (pow x 2)) 1/2) (fma.f64 #s(literal 1 binary64) (*.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 (fma.f64 (/.f64 x y) (/.f64 x y) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (*.f64 y y) #s(literal -1 binary64)) #s(literal 1/2 binary64)))) (*.f64 y y)))
#s(approx (+ (pow y 2) (pow x 2)) (*.f64 (/.f64 (fma.f64 (*.f64 x x) #s(literal 2 binary64) (*.f64 (*.f64 y y) #s(literal 2 binary64))) (*.f64 (*.f64 y y) #s(literal 2 binary64))) (*.f64 y y)))

eval36.0ms (2.3%)

Memory
-4.3MiB live, 50.3MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 811 to 524 computations (81.4% saved)

prune51.0ms (3.3%)

Memory
-19.6MiB live, 71.4MiB allocated; 9ms collecting garbage
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New1390139
Fresh000
Picked011
Done000
Total1391140
Accuracy
100.0%
Counts
140 → 1
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 26 to 20 computations (23.1% saved)

simplify38.0ms (2.5%)

Memory
-8.8MiB live, 36.6MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11413
22113
32813
46013
538013
6347813
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))
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 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) #s(literal 1/2 binary64))) (fmax.f64 x y))

derivations0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

preprocess16.0ms (1%)

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

Compiled 56 to 44 computations (21.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...