NMSE Section 6.1 mentioned, B

Time bar (total: 1.8s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze91.0ms (5%)

Memory
-4.1MiB live, 157.3MiB allocated
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
0%0%99.9%0.1%0%0%0%4
12.5%12.5%87.4%0.1%0%0%0%5
25%25%74.9%0.1%0%0%0%6
46.9%46.8%53.1%0.1%0%0%0%7
56.3%56.2%43.7%0.1%0%0%0%8
71.1%71%28.9%0.1%0%0%0%9
76.6%76.5%23.4%0.1%0%0%0%10
85%84.9%15%0.1%0%0%0%11
87.9%87.8%12.1%0.1%0%0%0%12
Compiler

Compiled 23 to 17 computations (26.1% saved)

sample1.1s (59.1%)

Memory
-10.1MiB live, 1 622.9MiB allocated
Samples
770.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 574.0ms
ival-div: 227.0ms (39.6% of total)
ival-mult: 219.0ms (38.2% of total)
ival-sub: 74.0ms (12.9% of total)
ival-pi: 36.0ms (6.3% of total)
exact: 9.0ms (1.6% of total)
ival-true: 6.0ms (1% of total)
ival-assert: 3.0ms (0.5% of total)
Bogosity

explain174.0ms (9.4%)

Memory
-2.7MiB live, 314.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
230-0-(-.f64 (*.f64 b b) (*.f64 a a))
200-1(7.69593605472294e+157 -5.880651881318399e-288)(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
40-0-(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
00-0-(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
00-0-(*.f64 a a)
00-0-a
00-0-(/.f64 (PI.f64) #s(literal 2 binary64))
00-0-#s(literal 1 binary64)
00-0-(*.f64 b b)
00-0-#s(literal 2 binary64)
00-0-(/.f64 #s(literal 1 binary64) b)
00-0-(/.f64 #s(literal 1 binary64) a)
00-0-b
00-0-(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
00-0-(PI.f64)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 b b) (*.f64 a a))nan-rescue230
(*.f64 b b)overflow72
(*.f64 a a)overflow71
*.f64(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))n*u190
/.f64(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))n/o40
(*.f64 b b)overflow72
(*.f64 a a)overflow71
(-.f64 (*.f64 b b) (*.f64 a a))overflow120
Confusion
Predicted +Predicted -
+438
-3202
Precision
0.9347826086956522
Recall
0.8431372549019608
Confusion?
Predicted +Predicted MaybePredicted -
+4308
-30202
Precision?
0.9347826086956522
Recall?
0.8431372549019608
Freqs
test
numberfreq
0210
146
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
55.0ms512×0valid
Compiler

Compiled 256 to 64 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-div: 14.0ms (42.4% of total)
ival-mult: 12.0ms (36.3% of total)
ival-sub: 5.0ms (15.1% of total)
ival-pi: 2.0ms (6.1% of total)
exact: 1.0ms (3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Outputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
cost-diff0
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
(/.f64 #s(literal 1 binary64) b)
Outputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
(/.f64 #s(literal 1 binary64) b)

localize38.0ms (2.1%)

Memory
23.9MiB live, 62.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.21484375
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy4.526423654418768
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
Samples
28.0ms256×0valid
Compiler

Compiled 156 to 32 computations (79.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 8.0ms (43.6% of total)
ival-div: 7.0ms (38.1% of total)
ival-sub: 2.0ms (10.9% of total)
ival-pi: 1.0ms (5.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series16.0ms (0.9%)

Memory
-35.0MiB live, 17.9MiB allocated
Counts
6 → 52
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
(-.f64 (*.f64 b b) (*.f64 a a))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (pow b 2) (pow a 2))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Calls

6 calls:

TimeVariablePointExpression
8.0ms
a
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
2.0ms
a
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
2.0ms
b
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
2.0ms
b
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
1.0ms
a
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))

simplify1.0ms (0.1%)

Memory
1.9MiB live, 1.9MiB allocated
Algorithm
egg-herbie
Counts
52 → 6
Calls
Call 1
Inputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (pow b 2) (pow a 2))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/.f64 (PI.f64) #s(literal 2 binary64))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(PI.f64)
(* 1/2 (/ (PI) (pow b 2)))
(-.f64 (*.f64 b b) (*.f64 a a))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))

rewrite0.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
(-.f64 (*.f64 b b) (*.f64 a a))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
Outputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
(-.f64 (*.f64 b b) (*.f64 a a))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))

eval1.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Compiler

Compiled 312 to 36 computations (88.5% saved)

prune4.0ms (0.2%)

Memory
7.9MiB live, 7.9MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7512
Fresh000
Picked011
Done000
Total7613
Accuracy
83.2%
Counts
13 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
49.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
2.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
Compiler

Compiled 307 to 219 computations (28.7% saved)

simplify1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 b b)
cost-diff0
(-.f64 (*.f64 b b) (*.f64 a a))
cost-diff0
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
cost-diff0
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
cost-diff0
(PI.f64)
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
cost-diff0
(-.f64 (*.f64 b b) (*.f64 a a))
cost-diff0
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
cost-diff0
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
cost-diff0
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
(/.f64 #s(literal 1 binary64) b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) b)
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
(/.f64 #s(literal 1 binary64) b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) b)

localize51.0ms (2.8%)

Memory
-6.3MiB live, 109.3MiB allocated
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.015625
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
accuracy4.526423654418768
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy62.28096160994612
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy0.21484375
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy36.06129793944241
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
accuracy0.0
(/.f64 (PI.f64) #s(literal 2 binary64))
accuracy0.0
(PI.f64)
accuracy61.98833042021648
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
accuracy0.0
(PI.f64)
accuracy61.98943244710376
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy4.526423654418768
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy25.24028553852117
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
Samples
35.0ms256×0valid
Compiler

Compiled 552 to 51 computations (90.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-div: 7.0ms (39.6% of total)
ival-mult: 6.0ms (33.9% of total)
ival-pi: 3.0ms (17% of total)
ival-sub: 2.0ms (11.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.4%)

Memory
15.8MiB live, 15.8MiB allocated
Counts
14 → 57
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(*.f64 b b)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(/ 1 a)
(/ (+ 1 (* -1 (/ a b))) a)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ -1 b)
(- (/ 1 a) (/ 1 b))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(/ (- (/ b a) 1) b)
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
a
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ (PI) 2) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* b b) (- (/ 1 a) (/ 1 b)))
1.0ms
b
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ (PI) 2) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* b b) (- (/ 1 a) (/ 1 b)))
1.0ms
b
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ (PI) 2) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* b b) (- (/ 1 a) (/ 1 b)))
1.0ms
b
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ (PI) 2) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* b b) (- (/ 1 a) (/ 1 b)))
1.0ms
a
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ (PI) 2) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* b b) (- (/ 1 a) (/ 1 b)))

simplify1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
egg-herbie
Counts
57 → 14
Calls
Call 1
Inputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(/ 1 a)
(/ (+ 1 (* -1 (/ a b))) a)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ -1 b)
(- (/ 1 a) (/ 1 b))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(/ (- (/ b a) 1) b)
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(-.f64 (*.f64 b b) (*.f64 a a))
(* 1/2 (/ (PI) (pow b 2)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(PI.f64)
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(/ 1 (pow b 2))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(pow b 2)
(*.f64 b b)
(+ (* -1 (pow a 2)) (pow b 2))
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))

rewrite1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Counts
14 → 14
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(*.f64 b b)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(*.f64 b b)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))

eval9.0ms (0.5%)

Memory
-31.8MiB live, 10.0MiB allocated
Compiler

Compiled 1 689 to 82 computations (95.1% saved)

prune10.0ms (0.5%)

Memory
21.1MiB live, 21.1MiB allocated
Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New36945
Fresh000
Picked055
Done011
Total361551
Accuracy
91.9%
Counts
51 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.5%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
49.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.1%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
40.2%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
2.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.5%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
32.2%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
Compiler

Compiled 806 to 501 computations (37.8% saved)

simplify2.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 b b)
cost-diff0
(-.f64 (*.f64 b b) (*.f64 a a))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
cost-diff0
#s(approx (- (* b b) (* a a)) (*.f64 b b))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
cost-diff0
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
cost-diff0
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
a
(/.f64 #s(literal 1 binary64) b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
a
(/.f64 #s(literal 1 binary64) b)
b
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
a
(/.f64 #s(literal 1 binary64) b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
a
(/.f64 #s(literal 1 binary64) b)
b

localize61.0ms (3.3%)

Memory
-7.0MiB live, 106.0MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.21484375
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
accuracy36.06129793944241
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
accuracy62.376992639350036
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy0.21484375
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
accuracy30.00495789448952
#s(approx (- (* b b) (* a a)) (*.f64 b b))
accuracy36.06129793944241
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy25.24028553852117
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
accuracy36.06129793944241
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
accuracy62.28096160994612
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy0.0
(*.f64 b b)
accuracy0.0
(*.f64 a a)
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy62.62667948811674
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
accuracy4.526423654418768
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy25.24028553852117
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
accuracy30.00495789448952
#s(approx (- (* b b) (* a a)) (*.f64 b b))
Samples
37.0ms256×0valid
Compiler

Compiled 834 to 57 computations (93.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-div: 7.0ms (42.4% of total)
ival-mult: 6.0ms (36.4% of total)
ival-sub: 2.0ms (12.1% of total)
ival-pi: 1.0ms (6.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.4%)

Memory
14.4MiB live, 14.4MiB allocated
Counts
20 → 53
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
(*.f64 a a)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(pow a 2)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* b b) (* a a) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
1.0ms
b
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* b b) (* a a) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
1.0ms
a
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* b b) (* a a) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
1.0ms
b
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* b b) (* a a) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))
1.0ms
a
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* b b) (* a a) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (PI) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (/ 1 (- (* b b) (* a a))))

simplify1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
53 → 20
Calls
Call 1
Inputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(pow a 2)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(* 1/2 (/ (PI) (pow b 2)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(-.f64 (*.f64 b b) (*.f64 a a))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(*.f64 b b)
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(*.f64 a a)
(/ 1 (pow b 2))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(/.f64 (PI.f64) #s(literal 2 binary64))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(PI.f64)
(pow b 2)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(+ (* -1 (pow a 2)) (pow b 2))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(pow a 2)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(* 1/2 (/ (PI) (* (pow a 2) b)))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(* -1/2 (/ (PI) (pow a 2)))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))

rewrite1.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Counts
20 → 20
Calls
Call 1
Inputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
(*.f64 a a)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
(*.f64 a a)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))

eval9.0ms (0.5%)

Memory
-31.8MiB live, 11.6MiB allocated
Compiler

Compiled 2 640 to 95 computations (96.4% saved)

prune13.0ms (0.7%)

Memory
26.1MiB live, 26.1MiB allocated
Pruning

21 alts after pruning (10 fresh and 11 done)

PrunedKeptTotal
New48856
Fresh224
Picked055
Done066
Total502171
Accuracy
92.0%
Counts
71 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
49.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
40.2%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
2.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.5%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
32.2%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
2.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))))))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
32.2%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
2.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
3.5%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
3.9%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
Compiler

Compiled 1 299 to 685 computations (47.3% saved)

simplify1.0ms (0.1%)

Memory
3.4MiB live, 3.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(PI.f64)
cost-diff0
(/.f64 (PI.f64) #s(literal 2 binary64))
cost-diff0
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
cost-diff0
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
cost-diff0
(PI.f64)
cost-diff0
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
cost-diff0
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
cost-diff0
(*.f64 b b)
cost-diff0
#s(approx (- (* b b) (* a a)) (*.f64 b b))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
cost-diff0
(*.f64 b b)
cost-diff0
#s(approx (- (* b b) (* a a)) (*.f64 b b))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
cost-diff0
(*.f64 b b)
cost-diff0
(-.f64 (*.f64 b b) (*.f64 a a))
cost-diff0
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
cost-diff0
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(PI.f64)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
a
(/.f64 #s(literal 1 binary64) b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(literal 1 binary64)
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(literal 1 binary64)
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(*.f64 b b)
b
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(PI.f64)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(/.f64 #s(literal 1 binary64) a)
#s(literal 1 binary64)
a
(/.f64 #s(literal 1 binary64) b)
b
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a

localize52.0ms (2.8%)

Memory
-5.8MiB live, 109.4MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy25.24028553852117
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
accuracy25.24028553852117
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
accuracy36.06129793944241
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
accuracy62.28096160994612
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy0.0
(PI.f64)
accuracy0.015625
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
accuracy4.526423654418768
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
accuracy61.88548606084817
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
accuracy0.0
(*.f64 b b)
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
accuracy30.00495789448952
#s(approx (- (* b b) (* a a)) (*.f64 b b))
accuracy36.054183090351835
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
accuracy0.0
(*.f64 b b)
accuracy30.00495789448952
#s(approx (- (* b b) (* a a)) (*.f64 b b))
accuracy62.62667948811674
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
accuracy0.0
(*.f64 a a)
accuracy0.4937840931968249
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
accuracy5.398404473283294
(-.f64 (*.f64 b b) (*.f64 a a))
accuracy36.054183090351835
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
Samples
32.0ms256×0valid
Compiler

Compiled 766 to 56 computations (92.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-div: 7.0ms (41% of total)
ival-mult: 6.0ms (35.1% of total)
ival-sub: 2.0ms (11.7% of total)
ival-pi: 1.0ms (5.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.5%)

Memory
-30.9MiB live, 11.5MiB allocated
Counts
19 → 58
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(PI.f64)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(*.f64 a a)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 a)
(/ (+ 1 (* -1 (/ a b))) a)
(pow a 2)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 b)
(- (/ 1 a) (/ 1 b))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(/ (- (/ b a) 1) b)
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* b b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI) (- (/ 1 a) (/ 1 b)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (* a a) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (/ 1 (- (* b b) (* a a))))
1.0ms
b
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* b b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI) (- (/ 1 a) (/ 1 b)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (* a a) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (/ 1 (- (* b b) (* a a))))
1.0ms
a
@-inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* b b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI) (- (/ 1 a) (/ 1 b)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (* a a) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (/ 1 (- (* b b) (* a a))))
1.0ms
a
@0
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* b b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI) (- (/ 1 a) (/ 1 b)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (* a a) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (/ 1 (- (* b b) (* a a))))
1.0ms
b
@inf
((* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (- (* b b) (* a a)) (* b b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (- (* b b) (* a a)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/ 1 (- (* b b) (* a a))) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI) (- (/ 1 a) (/ 1 b)) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ (PI) 2) (* a a) (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/ 1 (- (* b b) (* a a))) (/ 1 (- (* b b) (* a a))))

simplify1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
58 → 19
Calls
Call 1
Inputs
(* 1/2 (/ (PI) (* a (pow b 2))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(/ 1 (pow b 2))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* 1/2 (/ (PI) (pow b 2)))
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(/ 1 a)
(/ (+ 1 (* -1 (/ a b))) a)
(pow a 2)
(* 1/2 (/ (PI) (* (pow a 2) b)))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2))))) (pow a 2))
(/ (+ (* -1/2 (/ (PI) a)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 3))) (+ (* 1/2 (/ (PI) b)) (* 1/2 (/ (* b (PI)) (pow a 2)))))) (pow a 2))
(/ -1 (pow a 2))
(/ (- (* -1 (/ (pow b 2) (pow a 2))) 1) (pow a 2))
(/ (- (* -1 (/ (pow b 4) (pow a 4))) (+ 1 (/ (pow b 2) (pow a 2)))) (pow a 2))
(/ (- (* -1 (/ (pow b 6) (pow a 6))) (+ 1 (+ (/ (pow b 2) (pow a 2)) (/ (pow b 4) (pow a 4))))) (pow a 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(* -1/2 (/ (PI) (pow a 2)))
(/ (+ (* -1/2 (PI)) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2)))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))))) (pow a 2))
(/ (+ (* -1/2 (PI)) (+ (* -1/2 (/ (* (pow b 2) (PI)) (pow a 2))) (+ (* -1/2 (/ (* (pow b 4) (PI)) (pow a 4))) (* -1/2 (/ (* (pow b 6) (PI)) (pow a 6)))))) (pow a 2))
(/ -1 b)
(- (/ 1 a) (/ 1 b))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* b (PI)) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow b 2) (PI)) a)) (* 1/2 (* b (PI)))) a)) (* 1/2 (PI))) a)) (* 1/2 (/ (PI) b))) (pow a 2))
(/ (+ (* -1/2 (/ (* b (PI)) (pow a 3))) (* 1/2 (/ (PI) (pow a 2)))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* 1/2 (/ (* b (PI)) (pow a 4)))))) b)
(/ (+ (* 1/2 (/ (PI) (pow a 2))) (* b (+ (* -1/2 (/ (PI) (pow a 3))) (* b (+ (* -1/2 (/ (* b (PI)) (pow a 5))) (* 1/2 (/ (PI) (pow a 4)))))))) b)
(- (* -1 (/ (pow b 2) (pow a 4))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 6))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (* (pow b 2) (- (* (pow b 2) (- (* -1 (/ (pow b 2) (pow a 8))) (/ 1 (pow a 6)))) (/ 1 (pow a 4)))) (/ 1 (pow a 2)))
(- (pow b 2) (pow a 2))
(+ (* -1/2 (/ (PI) (pow a 2))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 4))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 6))))))
(+ (* -1/2 (/ (PI) (pow a 2))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 4))) (* (pow b 2) (+ (* -1/2 (/ (PI) (pow a 6))) (* -1/2 (/ (* (pow b 2) (PI)) (pow a 8))))))))
(/ (- (/ b a) 1) b)
(/ (+ (* -1/2 (/ (PI) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2))))) (pow b 2))
(/ (+ (* -1/2 (/ (PI) b)) (+ (* -1/2 (/ (* (pow a 2) (PI)) (pow b 3))) (+ (* 1/2 (/ (PI) a)) (* 1/2 (/ (* a (PI)) (pow b 2)))))) (pow b 2))
(/ (+ 1 (/ (pow a 2) (pow b 2))) (pow b 2))
(/ (- (+ 1 (/ (pow a 4) (pow b 4))) (* -1 (/ (pow a 2) (pow b 2)))) (pow b 2))
(/ (- (+ 1 (/ (pow a 6) (pow b 6))) (+ (* -1 (/ (pow a 2) (pow b 2))) (* -1 (/ (pow a 4) (pow b 4))))) (pow b 2))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(/ (+ (* 1/2 (PI)) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2)))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))))) (pow b 2))
(/ (+ (* 1/2 (PI)) (+ (* 1/2 (/ (* (pow a 2) (PI)) (pow b 2))) (+ (* 1/2 (/ (* (pow a 4) (PI)) (pow b 4))) (* 1/2 (/ (* (pow a 6) (PI)) (pow b 6)))))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1/2 (/ (* a (PI)) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
(/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (* (pow a 2) (PI)) b)) (* 1/2 (* a (PI)))) b)) (* 1/2 (PI))) b)) (* 1/2 (/ (PI) a))) (pow b 2))
Outputs
(* 1/2 (/ (PI) (* a (pow b 2))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/ (+ (* -1/2 (/ (* a (PI)) (pow b 3))) (* 1/2 (/ (PI) (pow b 2)))) a)
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* 1/2 (/ (* a (PI)) (pow b 4)))))) a)
(-.f64 (*.f64 b b) (*.f64 a a))
(/ (+ (* 1/2 (/ (PI) (pow b 2))) (* a (+ (* -1/2 (/ (PI) (pow b 3))) (* a (+ (* -1/2 (/ (* a (PI)) (pow b 5))) (* 1/2 (/ (PI) (pow b 4)))))))) a)
(*.f64 b b)
(/ 1 (pow b 2))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(+ (/ 1 (pow b 2)) (/ (pow a 2) (pow b 4)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
(+ (* (pow a 2) (+ (/ 1 (pow b 4)) (/ (pow a 2) (pow b 6)))) (/ 1 (pow b 2)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(+ (* (pow a 2) (+ (* (pow a 2) (+ (/ 1 (pow b 6)) (/ (pow a 2) (pow b 8)))) (/ 1 (pow b 4)))) (/ 1 (pow b 2)))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(pow b 2)
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(+ (* -1 (pow a 2)) (pow b 2))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(* 1/2 (/ (PI) (pow b 2)))
(PI.f64)
(+ (* 1/2 (/ (PI) (pow b 2))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 4))))
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 6))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(+ (* 1/2 (/ (PI) (pow b 2))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 4))) (* (pow a 2) (+ (* 1/2 (/ (PI) (pow b 6))) (* 1/2 (/ (* (pow a 2) (PI)) (pow b 8))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/ 1 a)
(/.f64 (PI.f64) #s(literal 2 binary64))
(/ (+ 1 (* -1 (/ a b))) a)
(*.f64 a a)
(pow a 2)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
(* 1/2 (/ (PI) (* (pow a 2) b)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
(/ (+ (* -1/2 (/ (PI) a)) (* 1/2 (/ (PI) b))) (pow a 2))
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))

rewrite1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Counts
19 → 19
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(PI.f64)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(*.f64 a a)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))
(-.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
#s(approx (- (* b b) (* a a)) (*.f64 b b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64))
(PI.f64)
(-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (PI.f64) #s(literal 2 binary64))
(*.f64 a a)
#s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))

eval5.0ms (0.3%)

Memory
9.1MiB live, 9.1MiB allocated
Compiler

Compiled 2 462 to 90 computations (96.3% saved)

prune19.0ms (1%)

Memory
-9.0MiB live, 29.7MiB allocated
Pruning

26 alts after pruning (11 fresh and 15 done)

PrunedKeptTotal
New41748
Fresh145
Picked055
Done11011
Total432669
Accuracy
92.0%
Counts
69 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
49.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
40.2%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
2.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.8%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.5%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.1%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
4.0%
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
24.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
32.2%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
2.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))))))
36.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
32.2%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
2.0%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
2.7%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))))))))
3.1%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
3.5%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
3.9%
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
Compiler

Compiled 2 446 to 683 computations (72.1% saved)

regimes27.0ms (1.5%)

Memory
1.4MiB live, 39.8MiB allocated
Counts
30 → 2
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))))))))
Outputs
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

3 calls:

9.0ms
a
8.0ms
b
8.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
82.1%2a
89.5%3b
89.5%2(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes25.0ms (1.4%)

Memory
-1.7MiB live, 37.1MiB allocated
Counts
28 → 2
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

3 calls:

8.0ms
a
8.0ms
b
7.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
51.4%2a
58.8%3b
58.8%2(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes36.0ms (2%)

Memory
-21.7MiB live, 45.2MiB allocated
Counts
25 → 2
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Calls

3 calls:

21.0ms
a
7.0ms
b
6.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
44.1%2a
50.3%3b
50.2%2(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes14.0ms (0.7%)

Memory
22.8MiB live, 22.8MiB allocated
Counts
22 → 3
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

2 calls:

6.0ms
b
6.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
48.6%3b
49.3%3(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes6.0ms (0.3%)

Memory
10.8MiB live, 10.8MiB allocated
Counts
17 → 3
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (*.f64 a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) #s(approx (* a a) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a)))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

1 calls:

5.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
49.3%3(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes8.0ms (0.4%)

Memory
-28.5MiB live, 9.7MiB allocated
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b)))))
Calls

1 calls:

7.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
47.5%2(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes5.0ms (0.3%)

Memory
9.8MiB live, 9.8MiB allocated
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

1 calls:

4.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
47.5%2(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes10.0ms (0.6%)

Memory
19.4MiB live, 19.4MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) (*.f64 b b))))
Calls

3 calls:

3.0ms
a
3.0ms
b
3.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Results
AccuracySegmentsBranch
32.2%1a
32.2%1b
32.2%1(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes9.0ms (0.5%)

Memory
-22.7MiB live, 16.4MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 #s(literal 1 binary64) #s(approx (- (* b b) (* a a)) #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)))))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (/.f64 (PI.f64) #s(literal 2 binary64)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (-.f64 (*.f64 b b) (*.f64 a a)))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(approx (/ 1 (- (* b b) (* a a))) (PI.f64))))
Outputs
(*.f64 #s(approx (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (PI.f64)) #s(approx (- (/ 1 a) (/ 1 b)) (*.f64 a a)))
Calls

3 calls:

3.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.0ms
b
3.0ms
a
Results
AccuracySegmentsBranch
4.0%1b
4.0%1a
4.0%1(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes5.0ms (0.3%)

Memory
11.4MiB live, 11.4MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) #s(approx (- (* b b) (* a a)) (*.f64 b b)))
Calls

3 calls:

1.0ms
b
1.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
1.0ms
a
Results
AccuracySegmentsBranch
3.9%1(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
3.9%1b
3.9%1a
Compiler

Compiled 23 to 19 computations (17.4% saved)

regimes4.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
Outputs
#s(approx (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (PI.f64))
Calls

3 calls:

1.0ms
(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
1.0ms
b
1.0ms
a
Results
AccuracySegmentsBranch
3.1%1b
3.1%1a
3.1%1(*.f64 (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 #s(literal 1 binary64) b)))
Compiler

Compiled 23 to 19 computations (17.4% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.113672410658006e-284
1.8828516923262436e-268
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
3.696002056460355e-104
1.4727195090473807e-84
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch2.0ms (0.1%)

Memory
-37.4MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
3.696002056460355e-104
1.4727195090473807e-84
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.8207953544580195e-260
7.20190700638336e-251
Compiler

Compiled 24 to 20 computations (16.7% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.8207953544580195e-260
7.20190700638336e-251
Compiler

Compiled 24 to 20 computations (16.7% saved)

simplify4.0ms (0.2%)

Memory
12.4MiB live, 12.4MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...